@ykdz/template 0.0.35 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application.d.ts +131 -14
- package/dist/application.js +307 -206
- package/dist/command-result.d.ts +9 -0
- package/dist/command-result.js +231 -0
- package/dist/main.d.ts +4 -1
- package/dist/main.js +321 -49
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +159 -45
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +2816 -535
- package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.d.ts +39 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.js +178 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +2 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.d.ts +31 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +44 -47
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.js +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.d.ts +10 -7
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.js +11 -7
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +6 -4
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +8 -7
- package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.js +1 -1
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.d.ts +31 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.js +111 -64
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +31 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +37 -29
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +48 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +203 -155
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +26 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +21 -9
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +22 -2
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +48 -38
- package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/bin/semver.js +0 -0
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/README.md +1 -1
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.cjs +427 -504
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.cts +427 -32
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.mts +427 -32
- package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.cjs +2 -0
- package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.mjs +2 -0
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.mjs +418 -504
- package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/package.json +7 -2
- package/node_modules/@ykdz/template-builtin-presets/package.json +30 -16
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment-diagnostics.yml +5 -5
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment.yml +4 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-diagnostics.yml +4 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.yml +3 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.pnpmfile.mjs +19 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/AGENTS.md.template +11 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +1 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +1 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +5 -5
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-toolchain-versions.ts +556 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +4 -6
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.packing-hook.json +7 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/turbo.json +19 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +4 -6
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/tsconfig.config.json +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/CHANGELOG.md.template +17 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/RELEASING.md +17 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/artifact.ts +1271 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/changelog.ts +283 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/check-artifact.ts +99 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/check-readiness.ts +66 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/cli-command-identity.ts +4 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/handoff.ts +450 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/publish.ts +483 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/readiness.ts +1146 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.ts +819 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.yml +119 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/root-tsconfig.json +8 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/tsconfig.json +4 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/turbo.json +6 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/README.md +48 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/CHANGELOG.md.template +17 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/LICENSE-APACHE-2.0.txt +202 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/LICENSE-MIT.txt +21 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/assets/README.md.template +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/bridge.ts +3336 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication-setup/setup.sh +221 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/cli-command-identity.ts +133 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/cli.ts +4 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/src/main.ts +5 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/integration/command.test.ts +14 -13
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/test/unit/cli-command-identity.test.ts +76 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.build.json +2 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.build.json +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/scripts/reset.ts +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/db.ts +3 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/readiness.ts +6 -5
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/storage.ts +93 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.build.json +8 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +3 -7
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/turbo.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/drizzle.config.ts +5 -5
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.build.json +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/.env.example +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile +25 -17
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile.dockerignore +4 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/playwright.config.ts +5 -25
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/check-standalone-deployment.ts +17 -15
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/test/playwright-teardown.ts +6 -7
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +1 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +0 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +2 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +0 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/turbo.json +0 -8
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/vite.config.ts +3 -39
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +7 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/playwright.config.ts +34 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/{web → root}/test/e2e/app.spec.ts +3 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/test/e2e/fixtures.ts +15 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/tsconfig.json +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/src/api.ts +1 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/turbo.json +0 -4
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/vite.config.ts +2 -0
- package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.d.ts +2 -2
- package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.js +10 -5
- package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +16 -54
- package/node_modules/@ykdz/template-core/dist/module-graph.js +140 -105
- package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +47 -11
- package/node_modules/@ykdz/template-core/dist/package-contribution.js +92 -0
- package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +21 -16
- package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +82 -13
- package/node_modules/@ykdz/template-core/dist/preset-definition.js +16 -1
- package/node_modules/@ykdz/template-core/dist/project-blueprint.d.ts +56 -0
- package/node_modules/@ykdz/template-core/dist/project-blueprint.js +271 -0
- package/node_modules/@ykdz/template-core/dist/project-github.d.ts +6 -4
- package/node_modules/@ykdz/template-core/dist/project-github.js +4 -4
- package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +4 -4
- package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +14 -8
- package/node_modules/@ykdz/template-core/dist/project-projection.d.ts +29 -1
- package/node_modules/@ykdz/template-core/dist/project-projection.js +501 -29
- package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.d.ts +10 -0
- package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.js +9 -0
- package/node_modules/@ykdz/template-core/dist/renderer.d.ts +0 -2
- package/node_modules/@ykdz/template-core/dist/renderer.js +17 -38
- package/node_modules/@ykdz/template-core/dist/template-boundary-check.d.ts +2 -2
- package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +21 -9
- package/node_modules/@ykdz/template-core/node_modules/valibot/LICENSE.md +9 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/README.md +94 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.cjs +7897 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.cts +16579 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.mts +16579 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.cjs +2 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.mjs +2 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.mjs +7577 -0
- package/node_modules/@ykdz/template-core/node_modules/valibot/package.json +84 -0
- package/node_modules/@ykdz/template-core/package.json +0 -2
- package/node_modules/hosted-git-info/LICENSE +13 -0
- package/node_modules/hosted-git-info/README.md +138 -0
- package/node_modules/hosted-git-info/lib/from-url.js +122 -0
- package/node_modules/hosted-git-info/lib/hosts.js +229 -0
- package/node_modules/hosted-git-info/lib/index.js +227 -0
- package/node_modules/hosted-git-info/lib/parse-url.js +79 -0
- package/node_modules/hosted-git-info/package.json +57 -0
- package/node_modules/jsonc-parser/CHANGELOG.md +76 -0
- package/node_modules/jsonc-parser/LICENSE.md +21 -0
- package/node_modules/jsonc-parser/README.md +364 -0
- package/node_modules/jsonc-parser/SECURITY.md +41 -0
- package/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
- package/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
- package/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
- package/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
- package/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
- package/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
- package/node_modules/jsonc-parser/lib/esm/main.js +178 -0
- package/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
- package/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
- package/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
- package/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
- package/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
- package/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
- package/node_modules/jsonc-parser/lib/umd/main.js +194 -0
- package/node_modules/jsonc-parser/package.json +37 -0
- package/node_modules/lru-cache/LICENSE.md +55 -0
- package/node_modules/lru-cache/README.md +469 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
- package/node_modules/lru-cache/package.json +180 -0
- package/node_modules/npm-package-arg/LICENSE +15 -0
- package/node_modules/npm-package-arg/README.md +104 -0
- package/node_modules/npm-package-arg/lib/npa.js +479 -0
- package/node_modules/npm-package-arg/node_modules/semver/LICENSE +15 -0
- package/node_modules/npm-package-arg/node_modules/semver/README.md +680 -0
- package/node_modules/npm-package-arg/node_modules/semver/bin/semver.js +195 -0
- package/node_modules/npm-package-arg/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/npm-package-arg/node_modules/semver/classes/index.js +7 -0
- package/node_modules/npm-package-arg/node_modules/semver/classes/range.js +577 -0
- package/node_modules/npm-package-arg/node_modules/semver/classes/semver.js +350 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/major.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/truncate.js +48 -0
- package/node_modules/npm-package-arg/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/npm-package-arg/node_modules/semver/index.js +93 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/npm-package-arg/node_modules/semver/internal/re.js +223 -0
- package/node_modules/npm-package-arg/node_modules/semver/package.json +78 -0
- package/node_modules/npm-package-arg/node_modules/semver/preload.js +4 -0
- package/node_modules/npm-package-arg/node_modules/semver/range.bnf +17 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/npm-package-arg/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/npm-package-arg/package.json +60 -0
- package/node_modules/picomatch/LICENSE +21 -0
- package/node_modules/picomatch/README.md +743 -0
- package/node_modules/picomatch/index.js +17 -0
- package/node_modules/picomatch/lib/constants.js +184 -0
- package/node_modules/picomatch/lib/parse.js +1425 -0
- package/node_modules/picomatch/lib/picomatch.js +361 -0
- package/node_modules/picomatch/lib/scan.js +403 -0
- package/node_modules/picomatch/lib/utils.js +72 -0
- package/node_modules/picomatch/package.json +83 -0
- package/node_modules/picomatch/posix.js +3 -0
- package/node_modules/proc-log/LICENSE +15 -0
- package/node_modules/proc-log/README.md +226 -0
- package/node_modules/proc-log/lib/index.js +158 -0
- package/node_modules/proc-log/package.json +46 -0
- package/node_modules/smol-toml/LICENSE +24 -0
- package/node_modules/smol-toml/README.md +605 -0
- package/node_modules/smol-toml/dist/date.d.ts +41 -0
- package/node_modules/smol-toml/dist/date.js +156 -0
- package/node_modules/smol-toml/dist/error.d.ts +37 -0
- package/node_modules/smol-toml/dist/error.js +67 -0
- package/node_modules/smol-toml/dist/extract.js +289 -0
- package/node_modules/smol-toml/dist/index.cjs +770 -0
- package/node_modules/smol-toml/dist/index.d.ts +44 -0
- package/node_modules/smol-toml/dist/index.js +34 -0
- package/node_modules/smol-toml/dist/parse.d.ts +73 -0
- package/node_modules/smol-toml/dist/parse.js +164 -0
- package/node_modules/smol-toml/dist/primitive.js +151 -0
- package/node_modules/smol-toml/dist/stringify.d.ts +32 -0
- package/node_modules/smol-toml/dist/stringify.js +219 -0
- package/node_modules/smol-toml/dist/struct.js +156 -0
- package/node_modules/smol-toml/dist/util.d.ts +43 -0
- package/node_modules/smol-toml/dist/util.js +57 -0
- package/node_modules/smol-toml/package.json +68 -0
- package/node_modules/typescript/bin/tsc +0 -0
- package/node_modules/typescript/bin/tsserver +0 -0
- package/node_modules/unbash/LICENSE +15 -0
- package/node_modules/unbash/README.md +289 -0
- package/node_modules/unbash/dist/ansi-c.d.ts +5 -0
- package/node_modules/unbash/dist/ansi-c.js +130 -0
- package/node_modules/unbash/dist/arithmetic.d.ts +11 -0
- package/node_modules/unbash/dist/arithmetic.js +530 -0
- package/node_modules/unbash/dist/assignment.d.ts +15 -0
- package/node_modules/unbash/dist/assignment.js +118 -0
- package/node_modules/unbash/dist/chars.d.ts +41 -0
- package/node_modules/unbash/dist/chars.js +41 -0
- package/node_modules/unbash/dist/command.d.ts +14 -0
- package/node_modules/unbash/dist/command.js +41 -0
- package/node_modules/unbash/dist/heredoc.d.ts +18 -0
- package/node_modules/unbash/dist/heredoc.js +25 -0
- package/node_modules/unbash/dist/internal-types.d.ts +87 -0
- package/node_modules/unbash/dist/internal-types.js +1 -0
- package/node_modules/unbash/dist/lexer.d.ts +202 -0
- package/node_modules/unbash/dist/lexer.js +3930 -0
- package/node_modules/unbash/dist/parser.d.ts +4 -0
- package/node_modules/unbash/dist/parser.js +1295 -0
- package/node_modules/unbash/dist/parts.d.ts +17 -0
- package/node_modules/unbash/dist/parts.js +82 -0
- package/node_modules/unbash/dist/printer.d.ts +2 -0
- package/node_modules/unbash/dist/printer.js +536 -0
- package/node_modules/unbash/dist/types.d.ts +494 -0
- package/node_modules/unbash/dist/types.js +1 -0
- package/node_modules/unbash/dist/word.d.ts +22 -0
- package/node_modules/unbash/dist/word.js +102 -0
- package/node_modules/unbash/package.json +80 -0
- package/node_modules/validate-npm-package-name/LICENSE +6 -0
- package/node_modules/validate-npm-package-name/README.md +120 -0
- package/node_modules/validate-npm-package-name/lib/builtin-modules.json +1 -0
- package/node_modules/validate-npm-package-name/lib/index.js +114 -0
- package/node_modules/validate-npm-package-name/package.json +59 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +224 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +120 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +350 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +980 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/package.json +23 -21
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +0 -12
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +0 -69
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/test/global-setup.ts +0 -21
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/vitest.config.ts +0 -7
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts +0 -90
- package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.d.ts +0 -33
- package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.js +0 -182
- package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +0 -45
- package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +0 -27
- package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +0 -35
- package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +0 -189
- package/node_modules/valibot/dist/index.min.cjs +0 -2
- package/node_modules/valibot/dist/index.min.mjs +0 -2
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/LICENSE +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/README.md +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/comparator.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/index.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/range.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/semver.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/clean.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/cmp.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/coerce.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-build.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-loose.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/diff.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/eq.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gt.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gte.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/inc.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lt.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lte.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/major.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/minor.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/neq.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/parse.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/patch.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/prerelease.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rcompare.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rsort.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/satisfies.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/sort.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/truncate.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/valid.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/index.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/constants.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/debug.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/identifiers.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/lrucache.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/parse-options.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/re.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/package.json +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/preload.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/range.bnf +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/gtr.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/intersects.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/ltr.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/max-satisfying.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-satisfying.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-version.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/outside.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/simplify.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/subset.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/to-comparators.js +0 -0
- /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/valid.js +0 -0
- /package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/LICENSE.md +0 -0
- /package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/{types.d.ts → types.ts} +0 -0
|
@@ -6,6 +6,98 @@ const operationPath = (operation) => {
|
|
|
6
6
|
return operation.path;
|
|
7
7
|
return "";
|
|
8
8
|
};
|
|
9
|
+
const reservedSystemToolNames = new Set([
|
|
10
|
+
"aux",
|
|
11
|
+
"bash",
|
|
12
|
+
"bun",
|
|
13
|
+
"cmd",
|
|
14
|
+
"com1",
|
|
15
|
+
"com2",
|
|
16
|
+
"com3",
|
|
17
|
+
"com4",
|
|
18
|
+
"com5",
|
|
19
|
+
"com6",
|
|
20
|
+
"com7",
|
|
21
|
+
"com8",
|
|
22
|
+
"com9",
|
|
23
|
+
"con",
|
|
24
|
+
"corepack",
|
|
25
|
+
"deno",
|
|
26
|
+
"git",
|
|
27
|
+
"lpt1",
|
|
28
|
+
"lpt2",
|
|
29
|
+
"lpt3",
|
|
30
|
+
"lpt4",
|
|
31
|
+
"lpt5",
|
|
32
|
+
"lpt6",
|
|
33
|
+
"lpt7",
|
|
34
|
+
"lpt8",
|
|
35
|
+
"lpt9",
|
|
36
|
+
"node",
|
|
37
|
+
"nul",
|
|
38
|
+
"npm",
|
|
39
|
+
"npx",
|
|
40
|
+
"pnpm",
|
|
41
|
+
"powershell",
|
|
42
|
+
"prn",
|
|
43
|
+
"pwsh",
|
|
44
|
+
"sh",
|
|
45
|
+
"yarn",
|
|
46
|
+
"zsh",
|
|
47
|
+
]);
|
|
48
|
+
/** Validates the portable executable name promised by a CLI Package Boundary. */
|
|
49
|
+
export function validateCliCommandName(commandName, occupiedCommandNames = []) {
|
|
50
|
+
if (/[/\\]/u.test(commandName)) {
|
|
51
|
+
throw new Error(`CLI command name must not be a path; received ${JSON.stringify(commandName)}`);
|
|
52
|
+
}
|
|
53
|
+
if (/\p{White_Space}/u.test(commandName)) {
|
|
54
|
+
throw new Error(`CLI command name must not contain whitespace; received ${JSON.stringify(commandName)}`);
|
|
55
|
+
}
|
|
56
|
+
if (/\p{Control}/u.test(commandName)) {
|
|
57
|
+
throw new Error(`CLI command name must not contain a control character; received ${JSON.stringify(commandName)}`);
|
|
58
|
+
}
|
|
59
|
+
if (commandName.startsWith("-")) {
|
|
60
|
+
throw new Error(`CLI command name must not have a leading hyphen; received ${JSON.stringify(commandName)}`);
|
|
61
|
+
}
|
|
62
|
+
if (!/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u.test(commandName)) {
|
|
63
|
+
throw new Error(`CLI command name must use lowercase ASCII letters, digits, and single hyphens; received ${JSON.stringify(commandName)}`);
|
|
64
|
+
}
|
|
65
|
+
if (reservedSystemToolNames.has(commandName)) {
|
|
66
|
+
throw new Error(`CLI command name is a reserved system tool; received ${JSON.stringify(commandName)}`);
|
|
67
|
+
}
|
|
68
|
+
if (occupiedCommandNames.includes(commandName)) {
|
|
69
|
+
throw new Error(`CLI command name is already used by another workspace package; received ${JSON.stringify(commandName)}`);
|
|
70
|
+
}
|
|
71
|
+
return commandName;
|
|
72
|
+
}
|
|
73
|
+
function manifestBinEntries(contribution) {
|
|
74
|
+
const bin = contribution.manifest.bin;
|
|
75
|
+
if (typeof bin !== "object" || bin === null || Array.isArray(bin)) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
return Object.entries(bin);
|
|
79
|
+
}
|
|
80
|
+
/** Validates command portability and uniqueness across one complete plan. */
|
|
81
|
+
export function assertPackageContributionCommandNames(contributions) {
|
|
82
|
+
const commandOwner = new Map();
|
|
83
|
+
for (const contribution of contributions) {
|
|
84
|
+
const entries = manifestBinEntries(contribution);
|
|
85
|
+
for (const [commandName] of entries) {
|
|
86
|
+
const existingOwner = commandOwner.get(commandName);
|
|
87
|
+
try {
|
|
88
|
+
validateCliCommandName(commandName, [...commandOwner.keys()]);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
if (existingOwner !== undefined) {
|
|
92
|
+
throw new Error(`CLI command name ${JSON.stringify(commandName)} from ${contribution.definition.name} is already used by ${existingOwner}`, { cause: error });
|
|
93
|
+
}
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
commandOwner.set(commandName, contribution.definition.name);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return contributions;
|
|
100
|
+
}
|
|
9
101
|
export function assertPackageContribution(contribution, provenance = {}) {
|
|
10
102
|
if (contribution.definition.name !== contribution.manifest.name) {
|
|
11
103
|
throw new Error("Package Contribution manifest name must match its Package Definition");
|
|
@@ -5,7 +5,7 @@ nodeLinker: isolated
|
|
|
5
5
|
|
|
6
6
|
autoInstallPeers: false
|
|
7
7
|
|
|
8
|
-
injectWorkspacePackages:
|
|
8
|
+
injectWorkspacePackages: false
|
|
9
9
|
|
|
10
10
|
dedupeInjectedDeps: false
|
|
11
11
|
|
|
@@ -21,9 +21,9 @@ overrides:
|
|
|
21
21
|
"vue>typescript": "-"
|
|
22
22
|
|
|
23
23
|
catalog:
|
|
24
|
-
"@devcontainers/cli": 0.
|
|
24
|
+
"@devcontainers/cli": 0.89.0
|
|
25
25
|
"@hono/node-server": ^2.0.12
|
|
26
|
-
"@playwright/test": ^1.
|
|
26
|
+
"@playwright/test": ^1.62.1
|
|
27
27
|
"@tailwindcss/vite": ^4.3.3
|
|
28
28
|
"@types/node": ^24.13.3
|
|
29
29
|
"@types/web-bluetooth": ^0.0.21
|
|
@@ -32,30 +32,35 @@ catalog:
|
|
|
32
32
|
"@vue/devtools-api": ^8.1.5
|
|
33
33
|
"@vue/tsconfig": ^0.9.1
|
|
34
34
|
commander: ^15.0.0
|
|
35
|
-
drizzle-kit: 1.0.0-rc.
|
|
36
|
-
drizzle-orm: 1.0.0-rc.
|
|
37
|
-
execa: ^10.0.
|
|
38
|
-
hono: ^4.
|
|
35
|
+
drizzle-kit: 1.0.0-rc.5-ab785fc
|
|
36
|
+
drizzle-orm: 1.0.0-rc.5-ab785fc
|
|
37
|
+
execa: ^10.0.1
|
|
38
|
+
hono: ^4.13.3
|
|
39
39
|
node-diff3: ^3.2.1
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
npm: 12.2.0
|
|
41
|
+
oxfmt: ^0.71.0
|
|
42
|
+
oxlint: ^1.77.0
|
|
42
43
|
oxlint-tsgolint: ^7.0.2001
|
|
43
44
|
semver: ^7.8.5
|
|
44
45
|
"@types/semver": ^7.7.1
|
|
46
|
+
smol-toml: ^1.8.0
|
|
47
|
+
spdx-expression-parse: ^5.0.0
|
|
48
|
+
"@types/spdx-expression-parse": ^4.0.0
|
|
45
49
|
pinia: ^4.0.2
|
|
46
|
-
srvx: ^0.
|
|
47
|
-
tailwindcss: ^4.3.
|
|
50
|
+
srvx: ^1.0.0
|
|
51
|
+
tailwindcss: ^4.3.3
|
|
52
|
+
tar: ^7.5.22
|
|
48
53
|
telefunc: ^0.2.22
|
|
49
|
-
turbo: 2.
|
|
54
|
+
turbo: 2.11.7
|
|
50
55
|
typescript: npm:@typescript/typescript6@^6.0.2
|
|
51
56
|
typescript-7: npm:typescript@^7.0.2
|
|
52
57
|
valibot: ^1.4.2
|
|
53
|
-
vite: ^8.
|
|
58
|
+
vite: ^8.2.0
|
|
54
59
|
vike: ^0.4.260
|
|
55
60
|
vike-vue: ^0.9.12
|
|
56
|
-
vitest: ^
|
|
57
|
-
vue: ^3.5.
|
|
58
|
-
vue-tsc: ^3.3.
|
|
61
|
+
vitest: ^5.0.0
|
|
62
|
+
vue: ^3.5.40
|
|
63
|
+
vue-tsc: ^3.3.9
|
|
59
64
|
yaml: ^2.9.0
|
|
60
65
|
|
|
61
66
|
catalogs:
|
|
@@ -1,18 +1,76 @@
|
|
|
1
1
|
import type { PackageContribution } from "./package-contribution.ts";
|
|
2
|
-
import type {
|
|
2
|
+
import type { PackageDefinition, PackageRole, ProjectBlueprintDraft } from "./project-blueprint.ts";
|
|
3
3
|
import type { TemplateSourceHandle } from "./renderer.ts";
|
|
4
4
|
/** Stable, preset-agnostic input supplied after toolchain resolution. */
|
|
5
5
|
export type GenerationContext = {
|
|
6
6
|
readonly targetDir: string;
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
7
|
+
readonly repositoryName: string;
|
|
8
|
+
readonly defaultPackageScope: string;
|
|
9
|
+
readonly foundationPackages: {
|
|
10
|
+
readonly typescriptConfiguration: {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
9
14
|
readonly toolchain: {
|
|
10
15
|
readonly nodeLtsMajor: string;
|
|
11
16
|
readonly packageManagerPin: string;
|
|
17
|
+
/**
|
|
18
|
+
* 只有确实已知的精确三段 Node 版本才写入:初始化取自 CLI 发版快照,加包取自目标根现行精确声明。
|
|
19
|
+
* 纯大版本根保持缺省,不从 nodeLtsMajor 伪造 patch;该字段也不是任何版本回退的来源。
|
|
20
|
+
*/
|
|
21
|
+
readonly nodeVersion?: string;
|
|
22
|
+
/**
|
|
23
|
+
* 只有确实已知的 Rust channel 才写入:初始化取自 CLI 发版快照的精确版本,已有 Rust 能力的
|
|
24
|
+
* 目标仓库在加包时取自其根 rust-toolchain.toml 的现行声明。该字段同样不是版本回退的来源,
|
|
25
|
+
* 也不进入 Environment Needs 或 Generation Record。
|
|
26
|
+
*/
|
|
27
|
+
readonly rustVersion?: string;
|
|
12
28
|
};
|
|
13
29
|
};
|
|
14
|
-
/**
|
|
15
|
-
export type
|
|
30
|
+
/** An in-memory plan tagged with the stable adapter that can replay it. */
|
|
31
|
+
export type PlannedPackageContribution = PackageContribution & {
|
|
32
|
+
readonly planningIdentity: string;
|
|
33
|
+
};
|
|
34
|
+
/** Narrow access to initial sibling packages, keyed by stable adapter identity. */
|
|
35
|
+
export type InitialPackageDefinitionLookup = {
|
|
36
|
+
require(identity: string): PackageDefinition;
|
|
37
|
+
};
|
|
38
|
+
export type PackageContributionReplayAdapter = {
|
|
39
|
+
readonly identity: string;
|
|
40
|
+
identify(contribution: PackageContribution): PlannedPackageContribution;
|
|
41
|
+
replay(options: {
|
|
42
|
+
readonly context: GenerationContext;
|
|
43
|
+
readonly planningContribution: "foundationPlan" | "planInitialization" | "planPackageAddition";
|
|
44
|
+
readonly packageDefinition: PackageDefinition;
|
|
45
|
+
readonly packageLeafName: string;
|
|
46
|
+
readonly initialPackages: InitialPackageDefinitionLookup;
|
|
47
|
+
}): PackageContribution;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Declares one stable replay semantic. Persisted provenance selection and
|
|
51
|
+
* diagnostics stay with the Foundation instead of leaking into Presets.
|
|
52
|
+
*/
|
|
53
|
+
export declare function definePackageContributionReplayAdapter(options: {
|
|
54
|
+
readonly identity: string;
|
|
55
|
+
readonly replay: PackageContributionReplayAdapter["replay"];
|
|
56
|
+
}): PackageContributionReplayAdapter;
|
|
57
|
+
export type ResolvedPrimaryPackageIdentity = {
|
|
58
|
+
readonly leafName: string;
|
|
59
|
+
readonly definition: PackageDefinition;
|
|
60
|
+
};
|
|
61
|
+
/** Optional behavior owned only by Presets with a configurable initial package. */
|
|
62
|
+
export type InitialPrimaryPackageCapability = {
|
|
63
|
+
readonly defaultLeafName: string;
|
|
64
|
+
readonly role: PackageRole;
|
|
65
|
+
defaultPackagePath(options: {
|
|
66
|
+
readonly packageLeafName: string;
|
|
67
|
+
}): string;
|
|
68
|
+
planInitialContribution(options: {
|
|
69
|
+
readonly context: GenerationContext;
|
|
70
|
+
readonly resolvedPackageIdentity: ResolvedPrimaryPackageIdentity;
|
|
71
|
+
}): PlannedPackageContribution;
|
|
72
|
+
};
|
|
73
|
+
type BuiltInPresetDefinitionBase = {
|
|
16
74
|
readonly metadata: {
|
|
17
75
|
readonly name: string;
|
|
18
76
|
readonly title: string;
|
|
@@ -22,13 +80,8 @@ export type BuiltInPresetDefinition = {
|
|
|
22
80
|
readonly source: TemplateSourceHandle;
|
|
23
81
|
/** The owned planner source inspected by the Template Boundary Check. */
|
|
24
82
|
readonly plannerSourceFile: string;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Multi-package Definitions expose their complete owned topology directly,
|
|
29
|
-
* while single-package Definitions keep the compact tracer interface.
|
|
30
|
-
*/
|
|
31
|
-
planInitializationContributions?(context: GenerationContext): readonly PackageContribution[];
|
|
83
|
+
/** Stable semantics used to replay persisted Package Definitions. */
|
|
84
|
+
readonly packageContributionReplayAdapters: readonly PackageContributionReplayAdapter[];
|
|
32
85
|
/** Package layout is Preset-owned even when callers omit --path. */
|
|
33
86
|
defaultPackagePath?(options: {
|
|
34
87
|
readonly context: GenerationContext;
|
|
@@ -38,5 +91,21 @@ export type BuiltInPresetDefinition = {
|
|
|
38
91
|
readonly context: GenerationContext;
|
|
39
92
|
readonly packageLeafName: string;
|
|
40
93
|
readonly packagePath: string;
|
|
41
|
-
}):
|
|
94
|
+
}): PlannedPackageContribution;
|
|
95
|
+
};
|
|
96
|
+
type ConfigurablePrimaryPackagePresetDefinition = BuiltInPresetDefinitionBase & {
|
|
97
|
+
readonly initialPrimaryPackage: InitialPrimaryPackageCapability;
|
|
98
|
+
readonly blueprint?: never;
|
|
99
|
+
readonly planInitialization?: never;
|
|
100
|
+
readonly planInitializationContributions?: never;
|
|
42
101
|
};
|
|
102
|
+
type FixedTopologyPresetDefinition = BuiltInPresetDefinitionBase & {
|
|
103
|
+
readonly initialPrimaryPackage?: never;
|
|
104
|
+
blueprint(context: GenerationContext): ProjectBlueprintDraft;
|
|
105
|
+
planInitialization(context: GenerationContext): PlannedPackageContribution;
|
|
106
|
+
/** Multi-package Definitions expose their complete owned topology directly. */
|
|
107
|
+
planInitializationContributions?(context: GenerationContext): readonly PlannedPackageContribution[];
|
|
108
|
+
};
|
|
109
|
+
/** A side-effect-free Built-in Preset planner. */
|
|
110
|
+
export type BuiltInPresetDefinition = ConfigurablePrimaryPackagePresetDefinition | FixedTopologyPresetDefinition;
|
|
111
|
+
export {};
|
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Declares one stable replay semantic. Persisted provenance selection and
|
|
3
|
+
* diagnostics stay with the Foundation instead of leaking into Presets.
|
|
4
|
+
*/
|
|
5
|
+
export function definePackageContributionReplayAdapter(options) {
|
|
6
|
+
if (options.identity.length === 0) {
|
|
7
|
+
throw new Error("Package Contribution replay adapter identity is required");
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
identity: options.identity,
|
|
11
|
+
identify(contribution) {
|
|
12
|
+
return { ...contribution, planningIdentity: options.identity };
|
|
13
|
+
},
|
|
14
|
+
replay: options.replay,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The durable, preset-agnostic topology used by local template follow-up
|
|
3
|
+
* operations. Preset provenance deliberately belongs in Generation Record.
|
|
4
|
+
*/
|
|
5
|
+
declare const packageRoles: readonly ["cli-tool", "runtime-service", "shared-library", "native-package"];
|
|
6
|
+
export type PackageRole = (typeof packageRoles)[number];
|
|
7
|
+
export type PackageDefinition = {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly path: string;
|
|
10
|
+
readonly role: PackageRole;
|
|
11
|
+
};
|
|
12
|
+
/** Opaque durable identity assigned once when a Package Definition is created. */
|
|
13
|
+
export type PackageDefinitionId = `package-${string}`;
|
|
14
|
+
export type PersistedPackageDefinition = PackageDefinition & {
|
|
15
|
+
readonly packageDefinitionId: PackageDefinitionId;
|
|
16
|
+
};
|
|
17
|
+
export type PackageLinkIntent = {
|
|
18
|
+
readonly consumerPackagePath: string;
|
|
19
|
+
readonly providerPackagePath: string;
|
|
20
|
+
};
|
|
21
|
+
export type ProjectBlueprint = {
|
|
22
|
+
readonly schemaVersion: 3;
|
|
23
|
+
readonly packages: readonly PersistedPackageDefinition[];
|
|
24
|
+
readonly packageLinkIntents?: readonly PackageLinkIntent[];
|
|
25
|
+
};
|
|
26
|
+
/** Preset-owned topology before Foundation assigns durable package identities. */
|
|
27
|
+
export type ProjectBlueprintDraft = {
|
|
28
|
+
readonly schemaVersion: 3;
|
|
29
|
+
readonly packages: readonly PackageDefinition[];
|
|
30
|
+
readonly packageLinkIntents?: readonly PackageLinkIntent[];
|
|
31
|
+
};
|
|
32
|
+
export type BlueprintValidationIssue = {
|
|
33
|
+
readonly path: string;
|
|
34
|
+
readonly message: string;
|
|
35
|
+
};
|
|
36
|
+
export type BlueprintValidationResult = {
|
|
37
|
+
readonly ok: true;
|
|
38
|
+
readonly value: ProjectBlueprint;
|
|
39
|
+
} | {
|
|
40
|
+
readonly ok: false;
|
|
41
|
+
readonly issues: readonly BlueprintValidationIssue[];
|
|
42
|
+
};
|
|
43
|
+
/** Canonical npm package-name predicate shared by Blueprint and input preparation. */
|
|
44
|
+
export declare function isValidNewNpmPackageName(value: string): boolean;
|
|
45
|
+
export type NewPackagePathValidation = {
|
|
46
|
+
readonly hasValidShape: boolean;
|
|
47
|
+
readonly reservedWorkspaceCollection?: string;
|
|
48
|
+
};
|
|
49
|
+
/** Canonical Package Path facts shared by Blueprint and input preparation. */
|
|
50
|
+
export declare function validateNewPackagePath(value: string): NewPackagePathValidation;
|
|
51
|
+
/** Validates persisted metadata before it is used to plan or render changes. */
|
|
52
|
+
export declare function validateProjectBlueprint(value: unknown): BlueprintValidationResult;
|
|
53
|
+
/** Validates preset-owned topology before any persisted identity is assigned. */
|
|
54
|
+
export declare function assertProjectBlueprintDraft(value: ProjectBlueprintDraft): ProjectBlueprintDraft;
|
|
55
|
+
export declare function assertProjectBlueprint(value: unknown): ProjectBlueprint;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { isBuiltin } from "node:module";
|
|
2
|
+
import * as v from "valibot";
|
|
3
|
+
/**
|
|
4
|
+
* The durable, preset-agnostic topology used by local template follow-up
|
|
5
|
+
* operations. Preset provenance deliberately belongs in Generation Record.
|
|
6
|
+
*/
|
|
7
|
+
const packageRoles = [
|
|
8
|
+
"cli-tool",
|
|
9
|
+
"runtime-service",
|
|
10
|
+
"shared-library",
|
|
11
|
+
"native-package",
|
|
12
|
+
];
|
|
13
|
+
const packagePath = /^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/;
|
|
14
|
+
const reservedWorkspaceCollections = new Set([
|
|
15
|
+
".git",
|
|
16
|
+
".github",
|
|
17
|
+
".devcontainer",
|
|
18
|
+
".template",
|
|
19
|
+
"node_modules",
|
|
20
|
+
"dist",
|
|
21
|
+
"target",
|
|
22
|
+
]);
|
|
23
|
+
const reservedPackageNames = new Set(["node_modules", "favicon.ico"]);
|
|
24
|
+
const unknownBlueprintField = "Unknown Blueprint v3 field";
|
|
25
|
+
const packageDefinitionEntries = {
|
|
26
|
+
name: v.string("Package name must be a string"),
|
|
27
|
+
path: v.string("Package Path must be a string"),
|
|
28
|
+
role: v.picklist(packageRoles, "Package Role must be cli-tool, runtime-service, shared-library, or native-package"),
|
|
29
|
+
};
|
|
30
|
+
function packageDefinitionMessage(issue) {
|
|
31
|
+
return issue.path?.at(-1)?.origin === "key" && issue.input !== undefined
|
|
32
|
+
? unknownBlueprintField
|
|
33
|
+
: "Package Definition must be an object";
|
|
34
|
+
}
|
|
35
|
+
const packageDefinitionSchema = v.strictObject({
|
|
36
|
+
packageDefinitionId: v.string("Package Definition ID must use the package-<sha256> format"),
|
|
37
|
+
...packageDefinitionEntries,
|
|
38
|
+
}, packageDefinitionMessage);
|
|
39
|
+
const packageLinkIntentSchema = v.strictObject({
|
|
40
|
+
consumerPackagePath: v.string("Package Link Intent consumer Package Path must be a string"),
|
|
41
|
+
providerPackagePath: v.string("Package Link Intent provider Package Path must be a string"),
|
|
42
|
+
}, (issue) => issue.path?.at(-1)?.origin === "key" && issue.input !== undefined
|
|
43
|
+
? unknownBlueprintField
|
|
44
|
+
: "Package Link Intent must be an object");
|
|
45
|
+
const projectBlueprintSchema = v.strictObject({
|
|
46
|
+
schemaVersion: v.literal(3, (issue) => `Unsupported Local Template Metadata schema version ${String(issue.input)}; expected 3`),
|
|
47
|
+
packages: v.array(packageDefinitionSchema, "Package Definitions must be an array"),
|
|
48
|
+
packageLinkIntents: v.optional(v.array(packageLinkIntentSchema, "Package Link Intents must be an array")),
|
|
49
|
+
}, (issue) => issue.path?.at(-1)?.origin === "key" && issue.input !== undefined
|
|
50
|
+
? unknownBlueprintField
|
|
51
|
+
: "Local Template Metadata must be an object");
|
|
52
|
+
/** Canonical npm package-name predicate shared by Blueprint and input preparation. */
|
|
53
|
+
export function isValidNewNpmPackageName(value) {
|
|
54
|
+
if (value.length === 0 ||
|
|
55
|
+
value.length > 214 ||
|
|
56
|
+
value !== value.trim() ||
|
|
57
|
+
value !== value.toLowerCase() ||
|
|
58
|
+
value === "." ||
|
|
59
|
+
value === ".." ||
|
|
60
|
+
reservedPackageNames.has(value) ||
|
|
61
|
+
isBuiltin(value)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const scopedMatch = /^@([^/]+)\/([^/]+)$/.exec(value);
|
|
65
|
+
if (value.startsWith("@") && scopedMatch === null)
|
|
66
|
+
return false;
|
|
67
|
+
const scope = scopedMatch?.[1];
|
|
68
|
+
const leaf = scopedMatch?.[2] ?? value;
|
|
69
|
+
if (scope === undefined && /^[._-]/.test(leaf)) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
if (scope !== undefined && leaf.startsWith(".")) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
if (/[~'!()*]/.test(leaf))
|
|
76
|
+
return false;
|
|
77
|
+
return (encodeURIComponent(leaf) === leaf &&
|
|
78
|
+
(scope === undefined || encodeURIComponent(scope) === scope));
|
|
79
|
+
}
|
|
80
|
+
/** Canonical Package Path facts shared by Blueprint and input preparation. */
|
|
81
|
+
export function validateNewPackagePath(value) {
|
|
82
|
+
const workspaceCollection = value.split("/", 1)[0];
|
|
83
|
+
return {
|
|
84
|
+
hasValidShape: packagePath.test(value),
|
|
85
|
+
...(reservedWorkspaceCollections.has(workspaceCollection)
|
|
86
|
+
? { reservedWorkspaceCollection: workspaceCollection }
|
|
87
|
+
: {}),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function blueprintIssuePath(issue) {
|
|
91
|
+
let result = ".";
|
|
92
|
+
for (const item of issue.path ?? []) {
|
|
93
|
+
if (typeof item.key === "number") {
|
|
94
|
+
result += `[${item.key}]`;
|
|
95
|
+
}
|
|
96
|
+
else if (typeof item.key === "string") {
|
|
97
|
+
result += `${result === "." ? "" : "."}${item.key}`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
function blueprintStructureMessage(issue) {
|
|
103
|
+
if (issue.type !== "strict_object" ||
|
|
104
|
+
issue.path?.at(-1)?.origin !== "key" ||
|
|
105
|
+
issue.input !== undefined) {
|
|
106
|
+
return issue.message;
|
|
107
|
+
}
|
|
108
|
+
const path = blueprintIssuePath(issue);
|
|
109
|
+
if (path === ".schemaVersion") {
|
|
110
|
+
return "Unsupported Local Template Metadata schema version undefined; expected 3";
|
|
111
|
+
}
|
|
112
|
+
if (path === ".packages")
|
|
113
|
+
return "Package Definitions must be an array";
|
|
114
|
+
if (path.endsWith(".name"))
|
|
115
|
+
return "Package name must be a string";
|
|
116
|
+
if (path.endsWith(".packageDefinitionId")) {
|
|
117
|
+
return "Package Definition ID must use the package-<sha256> format";
|
|
118
|
+
}
|
|
119
|
+
if (path.endsWith(".path"))
|
|
120
|
+
return "Package Path must be a string";
|
|
121
|
+
if (path.endsWith(".role")) {
|
|
122
|
+
return "Package Role must be cli-tool, runtime-service, shared-library, or native-package";
|
|
123
|
+
}
|
|
124
|
+
if (path === ".packageLinkIntents") {
|
|
125
|
+
return "Package Link Intents must be an array";
|
|
126
|
+
}
|
|
127
|
+
if (path.endsWith(".consumerPackagePath")) {
|
|
128
|
+
return "Package Link Intent consumer Package Path must be a string";
|
|
129
|
+
}
|
|
130
|
+
if (path.endsWith(".providerPackagePath")) {
|
|
131
|
+
return "Package Link Intent provider Package Path must be a string";
|
|
132
|
+
}
|
|
133
|
+
return issue.message;
|
|
134
|
+
}
|
|
135
|
+
function validateBlueprintTopologySemantics(blueprint) {
|
|
136
|
+
const issues = [];
|
|
137
|
+
for (const [index, definition] of blueprint.packages.entries()) {
|
|
138
|
+
const itemPath = `.packages[${index}]`;
|
|
139
|
+
const pathValidation = validateNewPackagePath(definition.path);
|
|
140
|
+
if (!isValidNewNpmPackageName(definition.name)) {
|
|
141
|
+
issues.push({
|
|
142
|
+
path: `${itemPath}.name`,
|
|
143
|
+
message: "Package name must be a valid npm package name for new packages",
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (pathValidation.reservedWorkspaceCollection !== undefined) {
|
|
147
|
+
issues.push({
|
|
148
|
+
path: `${itemPath}.path`,
|
|
149
|
+
message: `Package Path ${definition.path} uses reserved workspace collection ${pathValidation.reservedWorkspaceCollection}`,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
else if (!pathValidation.hasValidShape) {
|
|
153
|
+
issues.push({
|
|
154
|
+
path: `${itemPath}.path`,
|
|
155
|
+
message: "Package Path must be exactly two safe path segments",
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (const [property, label] of [
|
|
160
|
+
["name", "Package name"],
|
|
161
|
+
["path", "Package Path"],
|
|
162
|
+
]) {
|
|
163
|
+
const seen = new Set();
|
|
164
|
+
for (const definition of blueprint.packages) {
|
|
165
|
+
const member = definition[property];
|
|
166
|
+
if (seen.has(member)) {
|
|
167
|
+
issues.push({
|
|
168
|
+
path: ".packages",
|
|
169
|
+
message: `${label} must be unique: ${member}`,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
seen.add(member);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
const paths = new Set(blueprint.packages.map((definition) => definition.path));
|
|
176
|
+
const links = new Set();
|
|
177
|
+
for (const [index, intent] of (blueprint.packageLinkIntents ?? []).entries()) {
|
|
178
|
+
const itemPath = `.packageLinkIntents[${index}]`;
|
|
179
|
+
if (!paths.has(intent.consumerPackagePath)) {
|
|
180
|
+
issues.push({
|
|
181
|
+
path: `${itemPath}.consumerPackagePath`,
|
|
182
|
+
message: "Package Link Intent references an unknown consumer package",
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (!paths.has(intent.providerPackagePath)) {
|
|
186
|
+
issues.push({
|
|
187
|
+
path: `${itemPath}.providerPackagePath`,
|
|
188
|
+
message: "Package Link Intent references an unknown provider package",
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
if (intent.consumerPackagePath === intent.providerPackagePath) {
|
|
192
|
+
issues.push({
|
|
193
|
+
path: itemPath,
|
|
194
|
+
message: "Package Link Intent cannot link a package to itself",
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const key = `${intent.consumerPackagePath}\u0000${intent.providerPackagePath}`;
|
|
198
|
+
if (links.has(key)) {
|
|
199
|
+
issues.push({
|
|
200
|
+
path: itemPath,
|
|
201
|
+
message: "Package Link Intent must be unique",
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
links.add(key);
|
|
205
|
+
}
|
|
206
|
+
return issues;
|
|
207
|
+
}
|
|
208
|
+
function validatePersistedPackageIds(blueprint) {
|
|
209
|
+
const issues = [];
|
|
210
|
+
const seen = new Set();
|
|
211
|
+
for (const [index, definition] of blueprint.packages.entries()) {
|
|
212
|
+
if (!/^package-[a-f0-9]{64}$/.test(definition.packageDefinitionId)) {
|
|
213
|
+
issues.push({
|
|
214
|
+
path: `.packages[${index}].packageDefinitionId`,
|
|
215
|
+
message: "Package Definition ID must use the package-<sha256> format",
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
if (seen.has(definition.packageDefinitionId)) {
|
|
219
|
+
issues.push({
|
|
220
|
+
path: ".packages",
|
|
221
|
+
message: `Package Definition ID must be unique: ${definition.packageDefinitionId}`,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
seen.add(definition.packageDefinitionId);
|
|
225
|
+
}
|
|
226
|
+
return issues;
|
|
227
|
+
}
|
|
228
|
+
/** Validates persisted metadata before it is used to plan or render changes. */
|
|
229
|
+
export function validateProjectBlueprint(value) {
|
|
230
|
+
const parsed = v.safeParse(projectBlueprintSchema, value);
|
|
231
|
+
if (!parsed.success) {
|
|
232
|
+
return {
|
|
233
|
+
ok: false,
|
|
234
|
+
issues: parsed.issues.map((issue) => ({
|
|
235
|
+
path: blueprintIssuePath(issue),
|
|
236
|
+
message: blueprintStructureMessage(issue),
|
|
237
|
+
})),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
const blueprint = {
|
|
241
|
+
schemaVersion: parsed.output.schemaVersion,
|
|
242
|
+
packages: parsed.output.packages,
|
|
243
|
+
...(parsed.output.packageLinkIntents === undefined
|
|
244
|
+
? {}
|
|
245
|
+
: { packageLinkIntents: parsed.output.packageLinkIntents }),
|
|
246
|
+
};
|
|
247
|
+
const issues = [
|
|
248
|
+
...validateBlueprintTopologySemantics(blueprint),
|
|
249
|
+
...validatePersistedPackageIds(blueprint),
|
|
250
|
+
];
|
|
251
|
+
return issues.length === 0
|
|
252
|
+
? { ok: true, value: blueprint }
|
|
253
|
+
: { ok: false, issues };
|
|
254
|
+
}
|
|
255
|
+
/** Validates preset-owned topology before any persisted identity is assigned. */
|
|
256
|
+
export function assertProjectBlueprintDraft(value) {
|
|
257
|
+
const issues = validateBlueprintTopologySemantics(value);
|
|
258
|
+
if (issues.length > 0) {
|
|
259
|
+
throw new Error(issues.map((issue) => `${issue.path}: ${issue.message}`).join("\n"));
|
|
260
|
+
}
|
|
261
|
+
return value;
|
|
262
|
+
}
|
|
263
|
+
export function assertProjectBlueprint(value) {
|
|
264
|
+
const result = validateProjectBlueprint(value);
|
|
265
|
+
if (!result.ok) {
|
|
266
|
+
throw new Error(result.issues
|
|
267
|
+
.map((issue) => `${issue.path}: ${issue.message}`)
|
|
268
|
+
.join("\n"));
|
|
269
|
+
}
|
|
270
|
+
return result.value;
|
|
271
|
+
}
|
|
@@ -61,8 +61,9 @@ export type ProjectCheckWorkflowDiagnosticOptions = {
|
|
|
61
61
|
readonly diagnosticArtifacts?: readonly unknown[] | undefined;
|
|
62
62
|
};
|
|
63
63
|
type ProjectCheckWorkflowOptions = ProjectCheckWorkflowDiagnosticOptions & {
|
|
64
|
-
readonly
|
|
65
|
-
|
|
64
|
+
readonly deploymentCheck?: {
|
|
65
|
+
readonly environmentNeeds: readonly DeploymentEnvironmentNeed[];
|
|
66
|
+
} | undefined;
|
|
66
67
|
readonly capability?: CiCapability | undefined;
|
|
67
68
|
readonly environmentPreparation?: Partial<CiEnvironmentPreparation> | undefined;
|
|
68
69
|
readonly taskLayer?: PnpmTaskLayer | undefined;
|
|
@@ -71,8 +72,9 @@ type ProjectCheckWorkflowOptions = ProjectCheckWorkflowDiagnosticOptions & {
|
|
|
71
72
|
export declare function projectCheckWorkflowPlan(options: ProjectCheckWorkflowOptions): ProjectCheckWorkflowPlan;
|
|
72
73
|
/** Selects a complete Foundation-owned workflow Template Source. */
|
|
73
74
|
export declare function projectCheckWorkflowTemplateSource(options: ProjectCheckWorkflowDiagnosticOptions & {
|
|
74
|
-
readonly
|
|
75
|
-
|
|
75
|
+
readonly deploymentCheck?: {
|
|
76
|
+
readonly environmentNeeds: readonly DeploymentEnvironmentNeed[];
|
|
77
|
+
} | undefined;
|
|
76
78
|
}): ".github/workflows/check.yml" | ".github/workflows/check-diagnostics.yml" | ".github/workflows/check-deployment.yml" | ".github/workflows/check-deployment-diagnostics.yml";
|
|
77
79
|
/** Limited, validated facts for static Foundation diagnostic staging. */
|
|
78
80
|
export declare function projectCheckWorkflowTemplateReplacements(options: ProjectCheckWorkflowDiagnosticOptions): Record<string, string>;
|
|
@@ -26,8 +26,8 @@ export function projectCheckWorkflowPlan(options) {
|
|
|
26
26
|
...options.environmentPreparation,
|
|
27
27
|
};
|
|
28
28
|
const taskLayer = options.taskLayer ?? pnpmTaskLayer;
|
|
29
|
-
const hasDeploymentTask = options.
|
|
30
|
-
const needsDocker = (options.
|
|
29
|
+
const hasDeploymentTask = options.deploymentCheck !== undefined;
|
|
30
|
+
const needsDocker = (options.deploymentCheck?.environmentNeeds ?? []).some((need) => need.kind === "docker-engine");
|
|
31
31
|
if (hasDeploymentTask && !needsDocker) {
|
|
32
32
|
throw new Error("Deployment Check requires a Docker environment need");
|
|
33
33
|
}
|
|
@@ -74,8 +74,8 @@ export function projectCheckWorkflowPlan(options) {
|
|
|
74
74
|
}
|
|
75
75
|
/** Selects a complete Foundation-owned workflow Template Source. */
|
|
76
76
|
export function projectCheckWorkflowTemplateSource(options) {
|
|
77
|
-
const hasDeploymentTask = options.
|
|
78
|
-
const needsDocker = (options.
|
|
77
|
+
const hasDeploymentTask = options.deploymentCheck !== undefined;
|
|
78
|
+
const needsDocker = (options.deploymentCheck?.environmentNeeds ?? []).some((need) => need.kind === "docker-engine");
|
|
79
79
|
if (hasDeploymentTask && !needsDocker) {
|
|
80
80
|
throw new Error("Deployment Check requires a Docker environment need");
|
|
81
81
|
}
|