From 547a73224b8d696719da5c660db0689f328c06e8 Mon Sep 17 00:00:00 2001 From: Andrew Jarrett Date: Wed, 30 Jul 2025 13:59:40 -0500 Subject: [PATCH 1/3] init(effect): initializes `@traversable/effect` --- README.md | 2 + bin/bump.ts | 4 +- config/__generated__/package-list.ts | 1 + packages/effect/README.md | 40 ++++++++++++++ packages/effect/package.json | 53 +++++++++++++++++++ .../effect/src/__generated__/__manifest__.ts | 40 ++++++++++++++ packages/effect/src/exports.ts | 1 + packages/effect/src/index.ts | 1 + packages/effect/src/version.ts | 3 ++ packages/effect/test/version.test.ts | 10 ++++ packages/effect/tsconfig.build.json | 11 ++++ packages/effect/tsconfig.json | 8 +++ packages/effect/tsconfig.src.json | 11 ++++ packages/effect/tsconfig.test.json | 11 ++++ packages/effect/vite.config.ts | 6 +++ pnpm-lock.yaml | 10 ++++ tsconfig.base.json | 18 +++++-- tsconfig.build.json | 1 + tsconfig.json | 1 + 19 files changed, 226 insertions(+), 6 deletions(-) create mode 100644 packages/effect/README.md create mode 100644 packages/effect/package.json create mode 100644 packages/effect/src/__generated__/__manifest__.ts create mode 100644 packages/effect/src/exports.ts create mode 100644 packages/effect/src/index.ts create mode 100644 packages/effect/src/version.ts create mode 100644 packages/effect/test/version.test.ts create mode 100644 packages/effect/tsconfig.build.json create mode 100644 packages/effect/tsconfig.json create mode 100644 packages/effect/tsconfig.src.json create mode 100644 packages/effect/tsconfig.test.json create mode 100644 packages/effect/vite.config.ts diff --git a/README.md b/README.md index 2c60d2b0..a8f67c32 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ We do however have schemas, and schemas are basically ASTs.
  • @traversable/arktype@0.0.3
  • @traversable/arktype-test@0.0.3
  • @traversable/arktype-types@0.0.3
  • +
  • @traversable/effect@0.0.0
  • @traversable/json-schema@0.0.4
  • @traversable/json-schema-test@0.0.4
  • @traversable/json-schema-types@0.0.4
  • @@ -84,6 +85,7 @@ flowchart TD typebox(typebox) zod(zod) arktype-test(arktype-test) -.-> registry(registry) + effect(effect) -.-> registry(registry) json(json) -.-> registry(registry) schema(schema) -.-> registry(registry) typebox-test(typebox-test) -.-> registry(registry) diff --git a/bin/bump.ts b/bin/bump.ts index 592e5505..36961c97 100755 --- a/bin/bump.ts +++ b/bin/bump.ts @@ -22,8 +22,8 @@ function copyPackageVersionToRootReadme() { const INTEGRATIONS = INTEGRATIONS_VERSIONS() const LIBS = LIB_VERSIONS() const newReadme = fs.readFileSync(PATH.readme).toString('utf8').replaceAll( - REG_EXP.PackageNameWithSemver, (x1, x2) => { - const [, pkgNameWithVersion] = x1.split('/') + REG_EXP.PackageNameWithSemver, (x) => { + const [, pkgNameWithVersion] = x.split('/') const [pkgName] = pkgNameWithVersion.split('@') const [, integrationVersion] = INTEGRATIONS.find(([libName]) => libName === pkgName) || [] const [, libVersion] = LIBS.find(([libName]) => libName === pkgName) || [] diff --git a/config/__generated__/package-list.ts b/config/__generated__/package-list.ts index e032d176..3ef4e107 100644 --- a/config/__generated__/package-list.ts +++ b/config/__generated__/package-list.ts @@ -2,6 +2,7 @@ export const PACKAGES = [ "packages/arktype", "packages/arktype-test", "packages/arktype-types", + "packages/effect", "packages/json", "packages/json-schema", "packages/json-schema-test", diff --git a/packages/effect/README.md b/packages/effect/README.md new file mode 100644 index 00000000..0824cc8d --- /dev/null +++ b/packages/effect/README.md @@ -0,0 +1,40 @@ +
    +

    แฏ“๐˜๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—ฏ๐—น๐—ฒ/๐—ฒ๐—ณ๐—ณ๐—ฒ๐—ฐ๐˜

    +
    + +

    + TODO: write me +

    + +
    + NPM Version +   + TypeScript +   + Static Badge +   + npm +   +
    + +
    + + Static Badge +   + Static Badge +   + Static Badge +   +
    + +
    + Demo (StackBlitz) +   โ€ข   + TypeScript Playground +   โ€ข   + npm +
    +
    +
    +
    diff --git a/packages/effect/package.json b/packages/effect/package.json new file mode 100644 index 00000000..ea1b3755 --- /dev/null +++ b/packages/effect/package.json @@ -0,0 +1,53 @@ +{ + "name": "@traversable/effect", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { + "include": [ + "**/*.ts" + ] + }, + "generateIndex": { + "include": [ + "**/*.ts" + ] + } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { + "@traversable/registry": "workspace:^" + }, + "devDependencies": { + "@traversable/registry": "workspace:^", + "effect": "^3.10.14" + } +} diff --git a/packages/effect/src/__generated__/__manifest__.ts b/packages/effect/src/__generated__/__manifest__.ts new file mode 100644 index 00000000..d6fdd7a4 --- /dev/null +++ b/packages/effect/src/__generated__/__manifest__.ts @@ -0,0 +1,40 @@ +export default { + "name": "@traversable/effect", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { "include": ["**/*.ts"] }, + "generateIndex": { "include": ["**/*.ts"] } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { "@traversable/registry": "workspace:^" }, + "devDependencies": { "@traversable/registry": "workspace:^" } +} as const \ No newline at end of file diff --git a/packages/effect/src/exports.ts b/packages/effect/src/exports.ts new file mode 100644 index 00000000..04783bce --- /dev/null +++ b/packages/effect/src/exports.ts @@ -0,0 +1 @@ +export * from './version.js' \ No newline at end of file diff --git a/packages/effect/src/index.ts b/packages/effect/src/index.ts new file mode 100644 index 00000000..9fd152fb --- /dev/null +++ b/packages/effect/src/index.ts @@ -0,0 +1 @@ +export * from './exports.js' \ No newline at end of file diff --git a/packages/effect/src/version.ts b/packages/effect/src/version.ts new file mode 100644 index 00000000..660ff1ca --- /dev/null +++ b/packages/effect/src/version.ts @@ -0,0 +1,3 @@ +import pkg from './__generated__/__manifest__.js' +export const VERSION = `${pkg.name}@${pkg.version}` as const +export type VERSION = typeof VERSION diff --git a/packages/effect/test/version.test.ts b/packages/effect/test/version.test.ts new file mode 100644 index 00000000..108ec621 --- /dev/null +++ b/packages/effect/test/version.test.ts @@ -0,0 +1,10 @@ +import * as vi from 'vitest' +import pkg from '../package.json' with { type: 'json' } +import { VERSION } from '@traversable/effect' + +vi.describe('ใ€–โ›ณ๏ธใ€—โ€นโ€นโ€น โฒ@traversable/effectโณ', () => { + vi.it('ใ€–โ›ณ๏ธใ€—โ€บ โฒVERSIONโณ', () => { + const expected = `${pkg.name}@${pkg.version}` + vi.assert.equal(VERSION, expected) + }) +}) diff --git a/packages/effect/tsconfig.build.json b/packages/effect/tsconfig.build.json new file mode 100644 index 00000000..aacae424 --- /dev/null +++ b/packages/effect/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.src.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", + "types": ["node"], + "declarationDir": "build/dts", + "outDir": "build/esm", + "stripInternal": true + }, + "references": [{ "path": "../registry" }] +} diff --git a/packages/effect/tsconfig.json b/packages/effect/tsconfig.json new file mode 100644 index 00000000..2c291d21 --- /dev/null +++ b/packages/effect/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "include": [], + "references": [ + { "path": "tsconfig.src.json" }, + { "path": "tsconfig.test.json" } + ] +} diff --git a/packages/effect/tsconfig.src.json b/packages/effect/tsconfig.src.json new file mode 100644 index 00000000..f70f4837 --- /dev/null +++ b/packages/effect/tsconfig.src.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", + "rootDir": "src", + "types": ["node"], + "outDir": "build/src" + }, + "references": [{ "path": "../registry" }], + "include": ["src"] +} diff --git a/packages/effect/tsconfig.test.json b/packages/effect/tsconfig.test.json new file mode 100644 index 00000000..b298267e --- /dev/null +++ b/packages/effect/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", + "rootDir": "test", + "types": ["node"], + "noEmit": true + }, + "references": [{ "path": "tsconfig.src.json" }, { "path": "../registry" }], + "include": ["test"] +} diff --git a/packages/effect/vite.config.ts b/packages/effect/vite.config.ts new file mode 100644 index 00000000..64dba4ad --- /dev/null +++ b/packages/effect/vite.config.ts @@ -0,0 +1,6 @@ +import { defineConfig, mergeConfig } from 'vitest/config' +import sharedConfig from '../../vite.config.js' + +const localConfig = defineConfig({}) + +export default mergeConfig(sharedConfig, localConfig) \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd8894f0..2e340c9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -294,6 +294,16 @@ importers: version: 2.1.20 publishDirectory: dist + packages/effect: + devDependencies: + '@traversable/registry': + specifier: workspace:^ + version: link:../registry/dist + effect: + specifier: ^3.10.14 + version: 3.16.12 + publishDirectory: dist + packages/json: dependencies: fast-check: diff --git a/tsconfig.base.json b/tsconfig.base.json index 08edf1fa..15c9500c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -34,6 +34,8 @@ "@traversable/arktype-types": ["packages/arktype-types/src/index.js"], "@traversable/arktype-types/*": ["packages/arktype-types/*.js"], "@traversable/arktype/*": ["packages/arktype/*.js"], + "@traversable/effect": ["packages/effect/src/index.js"], + "@traversable/effect/*": ["packages/effect/*.js"], "@traversable/json": ["packages/json/src/index.js"], "@traversable/json-schema": ["packages/json-schema/src/index.js"], "@traversable/json-schema-test": [ @@ -53,8 +55,12 @@ "@traversable/schema-codec/*": ["packages/schema-codec/src/*.js"], "@traversable/schema-compiler": ["packages/schema-compiler/src/index.js"], "@traversable/schema-compiler/*": ["packages/schema-compiler/*.js"], - "@traversable/schema-deep-equal": ["packages/schema-deep-equal/src/index.js"], - "@traversable/schema-deep-equal/*": ["packages/schema-deep-equal/src/*.js"], + "@traversable/schema-deep-equal": [ + "packages/schema-deep-equal/src/index.js" + ], + "@traversable/schema-deep-equal/*": [ + "packages/schema-deep-equal/src/*.js" + ], "@traversable/schema-errors": ["packages/schema-errors/src/index.js"], "@traversable/schema-errors/*": ["packages/schema-errors/*.js"], "@traversable/schema-seed": ["packages/schema-seed/src/index.js"], @@ -69,8 +75,12 @@ "packages/schema-to-string/src/index.js" ], "@traversable/schema-to-string/*": ["packages/schema-to-string/src/*.js"], - "@traversable/schema-to-validator": ["packages/schema-to-validator/src/index.js"], - "@traversable/schema-to-validator/*": ["packages/schema-to-validator/src/*.js"], + "@traversable/schema-to-validator": [ + "packages/schema-to-validator/src/index.js" + ], + "@traversable/schema-to-validator/*": [ + "packages/schema-to-validator/src/*.js" + ], "@traversable/schema-valibot-adapter": [ "packages/schema-valibot-adapter/src/index.js" ], diff --git a/tsconfig.build.json b/tsconfig.build.json index e37798c1..35e7e011 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -5,6 +5,7 @@ { "path": "packages/arktype-test/tsconfig.build.json" }, { "path": "packages/arktype-types/tsconfig.build.json" }, { "path": "packages/arktype/tsconfig.build.json" }, + { "path": "packages/effect/tsconfig.build.json" }, { "path": "packages/json-schema-test/tsconfig.build.json" }, { "path": "packages/json-schema-types/tsconfig.build.json" }, { "path": "packages/json-schema/tsconfig.build.json" }, diff --git a/tsconfig.json b/tsconfig.json index fca3b8c4..eeb3fa16 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ { "path": "packages/arktype" }, { "path": "packages/arktype-test" }, { "path": "packages/arktype-types" }, + { "path": "packages/effect" }, { "path": "packages/json" }, { "path": "packages/json-schema" }, { "path": "packages/json-schema-test" }, From 84bac69dcd38f6d253d67087c77533781870ebc6 Mon Sep 17 00:00:00 2001 From: Andrew Jarrett Date: Wed, 30 Jul 2025 14:06:30 -0500 Subject: [PATCH 2/3] init(effect-types): initializes `@traversable/effect-types` package --- README.md | 2 + config/__generated__/package-list.ts | 1 + packages/effect-types/README.md | 40 +++++++++++++++++++ packages/effect-types/package.json | 40 +++++++++++++++++++ .../src/__generated__/__manifest__.ts | 40 +++++++++++++++++++ packages/effect-types/src/exports.ts | 1 + packages/effect-types/src/index.ts | 1 + packages/effect-types/src/version.ts | 3 ++ packages/effect-types/test/version.test.ts | 10 +++++ packages/effect-types/tsconfig.build.json | 11 +++++ packages/effect-types/tsconfig.json | 8 ++++ packages/effect-types/tsconfig.src.json | 11 +++++ packages/effect-types/tsconfig.test.json | 11 +++++ packages/effect-types/vite.config.ts | 6 +++ .../effect/src/__generated__/__manifest__.ts | 17 ++++++-- pnpm-lock.yaml | 7 ++++ tsconfig.base.json | 2 + tsconfig.build.json | 1 + tsconfig.json | 1 + 19 files changed, 209 insertions(+), 4 deletions(-) create mode 100644 packages/effect-types/README.md create mode 100644 packages/effect-types/package.json create mode 100644 packages/effect-types/src/__generated__/__manifest__.ts create mode 100644 packages/effect-types/src/exports.ts create mode 100644 packages/effect-types/src/index.ts create mode 100644 packages/effect-types/src/version.ts create mode 100644 packages/effect-types/test/version.test.ts create mode 100644 packages/effect-types/tsconfig.build.json create mode 100644 packages/effect-types/tsconfig.json create mode 100644 packages/effect-types/tsconfig.src.json create mode 100644 packages/effect-types/tsconfig.test.json create mode 100644 packages/effect-types/vite.config.ts diff --git a/README.md b/README.md index a8f67c32..49b5c3f5 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ We do however have schemas, and schemas are basically ASTs.
  • @traversable/arktype-test@0.0.3
  • @traversable/arktype-types@0.0.3
  • @traversable/effect@0.0.0
  • +
  • @traversable/effect-types@0.0.0
  • @traversable/json-schema@0.0.4
  • @traversable/json-schema-test@0.0.4
  • @traversable/json-schema-types@0.0.4
  • @@ -86,6 +87,7 @@ flowchart TD zod(zod) arktype-test(arktype-test) -.-> registry(registry) effect(effect) -.-> registry(registry) + effect-types(effect-types) -.-> registry(registry) json(json) -.-> registry(registry) schema(schema) -.-> registry(registry) typebox-test(typebox-test) -.-> registry(registry) diff --git a/config/__generated__/package-list.ts b/config/__generated__/package-list.ts index 3ef4e107..8a132085 100644 --- a/config/__generated__/package-list.ts +++ b/config/__generated__/package-list.ts @@ -3,6 +3,7 @@ export const PACKAGES = [ "packages/arktype-test", "packages/arktype-types", "packages/effect", + "packages/effect-types", "packages/json", "packages/json-schema", "packages/json-schema-test", diff --git a/packages/effect-types/README.md b/packages/effect-types/README.md new file mode 100644 index 00000000..ba23cf98 --- /dev/null +++ b/packages/effect-types/README.md @@ -0,0 +1,40 @@ +
    +

    แฏ“๐˜๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—ฏ๐—น๐—ฒ/๐—ฒ๐—ณ๐—ณ๐—ฒ๐—ฐ๐˜-๐˜๐˜†๐—ฝ๐—ฒ๐˜€

    +
    + +

    + TODO: write me +

    + +
    + NPM Version +   + TypeScript +   + Static Badge +   + npm +   +
    + +
    + + Static Badge +   + Static Badge +   + Static Badge +   +
    + +
    + Demo (StackBlitz) +   โ€ข   + TypeScript Playground +   โ€ข   + npm +
    +
    +
    +
    diff --git a/packages/effect-types/package.json b/packages/effect-types/package.json new file mode 100644 index 00000000..4ed7541d --- /dev/null +++ b/packages/effect-types/package.json @@ -0,0 +1,40 @@ +{ + "name": "@traversable/effect-types", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect-types" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { "include": ["**/*.ts"] }, + "generateIndex": { "include": ["**/*.ts"] } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { "@traversable/registry": "workspace:^" }, + "devDependencies": { "@traversable/registry": "workspace:^" } +} diff --git a/packages/effect-types/src/__generated__/__manifest__.ts b/packages/effect-types/src/__generated__/__manifest__.ts new file mode 100644 index 00000000..cbdaefd6 --- /dev/null +++ b/packages/effect-types/src/__generated__/__manifest__.ts @@ -0,0 +1,40 @@ +export default { + "name": "@traversable/effect-types", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect-types" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { "include": ["**/*.ts"] }, + "generateIndex": { "include": ["**/*.ts"] } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { "@traversable/registry": "workspace:^" }, + "devDependencies": { "@traversable/registry": "workspace:^" } +} as const \ No newline at end of file diff --git a/packages/effect-types/src/exports.ts b/packages/effect-types/src/exports.ts new file mode 100644 index 00000000..04783bce --- /dev/null +++ b/packages/effect-types/src/exports.ts @@ -0,0 +1 @@ +export * from './version.js' \ No newline at end of file diff --git a/packages/effect-types/src/index.ts b/packages/effect-types/src/index.ts new file mode 100644 index 00000000..9fd152fb --- /dev/null +++ b/packages/effect-types/src/index.ts @@ -0,0 +1 @@ +export * from './exports.js' \ No newline at end of file diff --git a/packages/effect-types/src/version.ts b/packages/effect-types/src/version.ts new file mode 100644 index 00000000..660ff1ca --- /dev/null +++ b/packages/effect-types/src/version.ts @@ -0,0 +1,3 @@ +import pkg from './__generated__/__manifest__.js' +export const VERSION = `${pkg.name}@${pkg.version}` as const +export type VERSION = typeof VERSION diff --git a/packages/effect-types/test/version.test.ts b/packages/effect-types/test/version.test.ts new file mode 100644 index 00000000..18a2b597 --- /dev/null +++ b/packages/effect-types/test/version.test.ts @@ -0,0 +1,10 @@ +import * as vi from 'vitest' +import pkg from '../package.json' with { type: 'json' } +import { VERSION } from '@traversable/effect-types' + +vi.describe('ใ€–โ›ณ๏ธใ€—โ€นโ€นโ€น โฒ@traversable/effect-typesโณ', () => { + vi.it('ใ€–โ›ณ๏ธใ€—โ€บ โฒVERSIONโณ', () => { + const expected = `${pkg.name}@${pkg.version}` + vi.assert.equal(VERSION, expected) + }) +}) diff --git a/packages/effect-types/tsconfig.build.json b/packages/effect-types/tsconfig.build.json new file mode 100644 index 00000000..aacae424 --- /dev/null +++ b/packages/effect-types/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.src.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", + "types": ["node"], + "declarationDir": "build/dts", + "outDir": "build/esm", + "stripInternal": true + }, + "references": [{ "path": "../registry" }] +} diff --git a/packages/effect-types/tsconfig.json b/packages/effect-types/tsconfig.json new file mode 100644 index 00000000..2c291d21 --- /dev/null +++ b/packages/effect-types/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "include": [], + "references": [ + { "path": "tsconfig.src.json" }, + { "path": "tsconfig.test.json" } + ] +} diff --git a/packages/effect-types/tsconfig.src.json b/packages/effect-types/tsconfig.src.json new file mode 100644 index 00000000..f70f4837 --- /dev/null +++ b/packages/effect-types/tsconfig.src.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", + "rootDir": "src", + "types": ["node"], + "outDir": "build/src" + }, + "references": [{ "path": "../registry" }], + "include": ["src"] +} diff --git a/packages/effect-types/tsconfig.test.json b/packages/effect-types/tsconfig.test.json new file mode 100644 index 00000000..b298267e --- /dev/null +++ b/packages/effect-types/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", + "rootDir": "test", + "types": ["node"], + "noEmit": true + }, + "references": [{ "path": "tsconfig.src.json" }, { "path": "../registry" }], + "include": ["test"] +} diff --git a/packages/effect-types/vite.config.ts b/packages/effect-types/vite.config.ts new file mode 100644 index 00000000..64dba4ad --- /dev/null +++ b/packages/effect-types/vite.config.ts @@ -0,0 +1,6 @@ +import { defineConfig, mergeConfig } from 'vitest/config' +import sharedConfig from '../../vite.config.js' + +const localConfig = defineConfig({}) + +export default mergeConfig(sharedConfig, localConfig) \ No newline at end of file diff --git a/packages/effect/src/__generated__/__manifest__.ts b/packages/effect/src/__generated__/__manifest__.ts index d6fdd7a4..086fd80e 100644 --- a/packages/effect/src/__generated__/__manifest__.ts +++ b/packages/effect/src/__generated__/__manifest__.ts @@ -15,8 +15,12 @@ export default { "email": "ahrjarrett@gmail.com" }, "@traversable": { - "generateExports": { "include": ["**/*.ts"] }, - "generateIndex": { "include": ["**/*.ts"] } + "generateExports": { + "include": ["**/*.ts"] + }, + "generateIndex": { + "include": ["**/*.ts"] + } }, "publishConfig": { "access": "public", @@ -35,6 +39,11 @@ export default { "clean:deps": "rm -rf node_modules", "test": "vitest" }, - "peerDependencies": { "@traversable/registry": "workspace:^" }, - "devDependencies": { "@traversable/registry": "workspace:^" } + "peerDependencies": { + "@traversable/registry": "workspace:^" + }, + "devDependencies": { + "@traversable/registry": "workspace:^", + "effect": "^3.10.14" + } } as const \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e340c9a..acc199b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -304,6 +304,13 @@ importers: version: 3.16.12 publishDirectory: dist + packages/effect-types: + devDependencies: + '@traversable/registry': + specifier: workspace:^ + version: link:../registry/dist + publishDirectory: dist + packages/json: dependencies: fast-check: diff --git a/tsconfig.base.json b/tsconfig.base.json index 15c9500c..b6043175 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -35,6 +35,8 @@ "@traversable/arktype-types/*": ["packages/arktype-types/*.js"], "@traversable/arktype/*": ["packages/arktype/*.js"], "@traversable/effect": ["packages/effect/src/index.js"], + "@traversable/effect-types": ["packages/effect-types/src/index.js"], + "@traversable/effect-types/*": ["packages/effect-types/*.js"], "@traversable/effect/*": ["packages/effect/*.js"], "@traversable/json": ["packages/json/src/index.js"], "@traversable/json-schema": ["packages/json-schema/src/index.js"], diff --git a/tsconfig.build.json b/tsconfig.build.json index 35e7e011..c70d9a52 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -5,6 +5,7 @@ { "path": "packages/arktype-test/tsconfig.build.json" }, { "path": "packages/arktype-types/tsconfig.build.json" }, { "path": "packages/arktype/tsconfig.build.json" }, + { "path": "packages/effect-types/tsconfig.build.json" }, { "path": "packages/effect/tsconfig.build.json" }, { "path": "packages/json-schema-test/tsconfig.build.json" }, { "path": "packages/json-schema-types/tsconfig.build.json" }, diff --git a/tsconfig.json b/tsconfig.json index eeb3fa16..382e77de 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ { "path": "packages/arktype-test" }, { "path": "packages/arktype-types" }, { "path": "packages/effect" }, + { "path": "packages/effect-types" }, { "path": "packages/json" }, { "path": "packages/json-schema" }, { "path": "packages/json-schema-test" }, From 72c444d59584132200afbbbf88f499f1f9a66064 Mon Sep 17 00:00:00 2001 From: Andrew Jarrett Date: Wed, 30 Jul 2025 14:09:32 -0500 Subject: [PATCH 3/3] init(effect-test): initializes `@traversable/effect-test` package --- README.md | 2 + config/__generated__/package-list.ts | 1 + packages/effect-test/README.md | 40 +++++++++++++++++++ packages/effect-test/package.json | 40 +++++++++++++++++++ .../src/__generated__/__manifest__.ts | 40 +++++++++++++++++++ packages/effect-test/src/exports.ts | 1 + packages/effect-test/src/index.ts | 1 + packages/effect-test/src/version.ts | 3 ++ packages/effect-test/test/version.test.ts | 10 +++++ packages/effect-test/tsconfig.build.json | 11 +++++ packages/effect-test/tsconfig.json | 8 ++++ packages/effect-test/tsconfig.src.json | 11 +++++ packages/effect-test/tsconfig.test.json | 11 +++++ packages/effect-test/vite.config.ts | 6 +++ pnpm-lock.yaml | 7 ++++ tsconfig.base.json | 2 + tsconfig.build.json | 1 + tsconfig.json | 1 + 18 files changed, 196 insertions(+) create mode 100644 packages/effect-test/README.md create mode 100644 packages/effect-test/package.json create mode 100644 packages/effect-test/src/__generated__/__manifest__.ts create mode 100644 packages/effect-test/src/exports.ts create mode 100644 packages/effect-test/src/index.ts create mode 100644 packages/effect-test/src/version.ts create mode 100644 packages/effect-test/test/version.test.ts create mode 100644 packages/effect-test/tsconfig.build.json create mode 100644 packages/effect-test/tsconfig.json create mode 100644 packages/effect-test/tsconfig.src.json create mode 100644 packages/effect-test/tsconfig.test.json create mode 100644 packages/effect-test/vite.config.ts diff --git a/README.md b/README.md index 49b5c3f5..70201e2a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ We do however have schemas, and schemas are basically ASTs.
  • @traversable/arktype-test@0.0.3
  • @traversable/arktype-types@0.0.3
  • @traversable/effect@0.0.0
  • +
  • @traversable/effect-test@0.0.0
  • @traversable/effect-types@0.0.0
  • @traversable/json-schema@0.0.4
  • @traversable/json-schema-test@0.0.4
  • @@ -87,6 +88,7 @@ flowchart TD zod(zod) arktype-test(arktype-test) -.-> registry(registry) effect(effect) -.-> registry(registry) + effect-test(effect-test) -.-> registry(registry) effect-types(effect-types) -.-> registry(registry) json(json) -.-> registry(registry) schema(schema) -.-> registry(registry) diff --git a/config/__generated__/package-list.ts b/config/__generated__/package-list.ts index 8a132085..ed30451f 100644 --- a/config/__generated__/package-list.ts +++ b/config/__generated__/package-list.ts @@ -3,6 +3,7 @@ export const PACKAGES = [ "packages/arktype-test", "packages/arktype-types", "packages/effect", + "packages/effect-test", "packages/effect-types", "packages/json", "packages/json-schema", diff --git a/packages/effect-test/README.md b/packages/effect-test/README.md new file mode 100644 index 00000000..a081eee9 --- /dev/null +++ b/packages/effect-test/README.md @@ -0,0 +1,40 @@ +
    +

    แฏ“๐˜๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—ฏ๐—น๐—ฒ/๐—ฒ๐—ณ๐—ณ๐—ฒ๐—ฐ๐˜-๐˜๐—ฒ๐˜€๐˜

    +
    + +

    + TODO: write me +

    + +
    + NPM Version +   + TypeScript +   + Static Badge +   + npm +   +
    + +
    + + Static Badge +   + Static Badge +   + Static Badge +   +
    + +
    + Demo (StackBlitz) +   โ€ข   + TypeScript Playground +   โ€ข   + npm +
    +
    +
    +
    diff --git a/packages/effect-test/package.json b/packages/effect-test/package.json new file mode 100644 index 00000000..070bcf7a --- /dev/null +++ b/packages/effect-test/package.json @@ -0,0 +1,40 @@ +{ + "name": "@traversable/effect-test", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect-test" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { "include": ["**/*.ts"] }, + "generateIndex": { "include": ["**/*.ts"] } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { "@traversable/registry": "workspace:^" }, + "devDependencies": { "@traversable/registry": "workspace:^" } +} diff --git a/packages/effect-test/src/__generated__/__manifest__.ts b/packages/effect-test/src/__generated__/__manifest__.ts new file mode 100644 index 00000000..ee719f5a --- /dev/null +++ b/packages/effect-test/src/__generated__/__manifest__.ts @@ -0,0 +1,40 @@ +export default { + "name": "@traversable/effect-test", + "type": "module", + "version": "0.0.0", + "private": false, + "description": "", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/traversable/schema.git", + "directory": "packages/effect-test" + }, + "bugs": { + "url": "https://github.com/traversable/schema/issues", + "email": "ahrjarrett@gmail.com" + }, + "@traversable": { + "generateExports": { "include": ["**/*.ts"] }, + "generateIndex": { "include": ["**/*.ts"] } + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "bench": "echo NOTHING TO BENCH", + "build": "pnpm build:esm && pnpm build:cjs && pnpm build:annotate", + "build:annotate": "babel build --plugins annotate-pure-calls --out-dir build --source-maps", + "build:esm": "tsc -b tsconfig.build.json", + "build:cjs": "babel build/esm --plugins @babel/transform-export-namespace-from --plugins @babel/transform-modules-commonjs --out-dir build/cjs --source-maps", + "check": "tsc -b tsconfig.json", + "clean": "pnpm run \"/^clean:.*/\"", + "clean:build": "rm -rf .tsbuildinfo dist build", + "clean:deps": "rm -rf node_modules", + "test": "vitest" + }, + "peerDependencies": { "@traversable/registry": "workspace:^" }, + "devDependencies": { "@traversable/registry": "workspace:^" } +} as const \ No newline at end of file diff --git a/packages/effect-test/src/exports.ts b/packages/effect-test/src/exports.ts new file mode 100644 index 00000000..04783bce --- /dev/null +++ b/packages/effect-test/src/exports.ts @@ -0,0 +1 @@ +export * from './version.js' \ No newline at end of file diff --git a/packages/effect-test/src/index.ts b/packages/effect-test/src/index.ts new file mode 100644 index 00000000..9fd152fb --- /dev/null +++ b/packages/effect-test/src/index.ts @@ -0,0 +1 @@ +export * from './exports.js' \ No newline at end of file diff --git a/packages/effect-test/src/version.ts b/packages/effect-test/src/version.ts new file mode 100644 index 00000000..660ff1ca --- /dev/null +++ b/packages/effect-test/src/version.ts @@ -0,0 +1,3 @@ +import pkg from './__generated__/__manifest__.js' +export const VERSION = `${pkg.name}@${pkg.version}` as const +export type VERSION = typeof VERSION diff --git a/packages/effect-test/test/version.test.ts b/packages/effect-test/test/version.test.ts new file mode 100644 index 00000000..e4a6ea97 --- /dev/null +++ b/packages/effect-test/test/version.test.ts @@ -0,0 +1,10 @@ +import * as vi from 'vitest' +import pkg from '../package.json' with { type: 'json' } +import { VERSION } from '@traversable/effect-test' + +vi.describe('ใ€–โ›ณ๏ธใ€—โ€นโ€นโ€น โฒ@traversable/effect-testโณ', () => { + vi.it('ใ€–โ›ณ๏ธใ€—โ€บ โฒVERSIONโณ', () => { + const expected = `${pkg.name}@${pkg.version}` + vi.assert.equal(VERSION, expected) + }) +}) diff --git a/packages/effect-test/tsconfig.build.json b/packages/effect-test/tsconfig.build.json new file mode 100644 index 00000000..aacae424 --- /dev/null +++ b/packages/effect-test/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.src.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", + "types": ["node"], + "declarationDir": "build/dts", + "outDir": "build/esm", + "stripInternal": true + }, + "references": [{ "path": "../registry" }] +} diff --git a/packages/effect-test/tsconfig.json b/packages/effect-test/tsconfig.json new file mode 100644 index 00000000..2c291d21 --- /dev/null +++ b/packages/effect-test/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "include": [], + "references": [ + { "path": "tsconfig.src.json" }, + { "path": "tsconfig.test.json" } + ] +} diff --git a/packages/effect-test/tsconfig.src.json b/packages/effect-test/tsconfig.src.json new file mode 100644 index 00000000..f70f4837 --- /dev/null +++ b/packages/effect-test/tsconfig.src.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", + "rootDir": "src", + "types": ["node"], + "outDir": "build/src" + }, + "references": [{ "path": "../registry" }], + "include": ["src"] +} diff --git a/packages/effect-test/tsconfig.test.json b/packages/effect-test/tsconfig.test.json new file mode 100644 index 00000000..b298267e --- /dev/null +++ b/packages/effect-test/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", + "rootDir": "test", + "types": ["node"], + "noEmit": true + }, + "references": [{ "path": "tsconfig.src.json" }, { "path": "../registry" }], + "include": ["test"] +} diff --git a/packages/effect-test/vite.config.ts b/packages/effect-test/vite.config.ts new file mode 100644 index 00000000..64dba4ad --- /dev/null +++ b/packages/effect-test/vite.config.ts @@ -0,0 +1,6 @@ +import { defineConfig, mergeConfig } from 'vitest/config' +import sharedConfig from '../../vite.config.js' + +const localConfig = defineConfig({}) + +export default mergeConfig(sharedConfig, localConfig) \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acc199b7..d6df27de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -304,6 +304,13 @@ importers: version: 3.16.12 publishDirectory: dist + packages/effect-test: + devDependencies: + '@traversable/registry': + specifier: workspace:^ + version: link:../registry/dist + publishDirectory: dist + packages/effect-types: devDependencies: '@traversable/registry': diff --git a/tsconfig.base.json b/tsconfig.base.json index b6043175..a5865408 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -35,6 +35,8 @@ "@traversable/arktype-types/*": ["packages/arktype-types/*.js"], "@traversable/arktype/*": ["packages/arktype/*.js"], "@traversable/effect": ["packages/effect/src/index.js"], + "@traversable/effect-test": ["packages/effect-test/src/index.js"], + "@traversable/effect-test/*": ["packages/effect-test/*.js"], "@traversable/effect-types": ["packages/effect-types/src/index.js"], "@traversable/effect-types/*": ["packages/effect-types/*.js"], "@traversable/effect/*": ["packages/effect/*.js"], diff --git a/tsconfig.build.json b/tsconfig.build.json index c70d9a52..f6f770e4 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -5,6 +5,7 @@ { "path": "packages/arktype-test/tsconfig.build.json" }, { "path": "packages/arktype-types/tsconfig.build.json" }, { "path": "packages/arktype/tsconfig.build.json" }, + { "path": "packages/effect-test/tsconfig.build.json" }, { "path": "packages/effect-types/tsconfig.build.json" }, { "path": "packages/effect/tsconfig.build.json" }, { "path": "packages/json-schema-test/tsconfig.build.json" }, diff --git a/tsconfig.json b/tsconfig.json index 382e77de..de1facbf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ { "path": "packages/arktype-test" }, { "path": "packages/arktype-types" }, { "path": "packages/effect" }, + { "path": "packages/effect-test" }, { "path": "packages/effect-types" }, { "path": "packages/json" }, { "path": "packages/json-schema" },