@ykdz/template 0.0.23 → 0.0.25
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/cli.js +4 -575
- package/dist/main.d.ts +1 -0
- package/dist/main.js +370 -0
- package/node_modules/@typescript/old/LICENSE.txt +55 -0
- package/node_modules/@typescript/old/README.md +50 -0
- package/node_modules/@typescript/old/SECURITY.md +39 -0
- package/node_modules/@typescript/old/ThirdPartyNoticeText.txt +193 -0
- package/node_modules/@typescript/old/bin/tsc +2 -0
- package/node_modules/@typescript/old/bin/tsserver +2 -0
- package/node_modules/@typescript/old/lib/_tsc.js +134465 -0
- package/node_modules/@typescript/old/lib/_tsserver.js +659 -0
- package/node_modules/@typescript/old/lib/_typingsInstaller.js +222 -0
- package/node_modules/@typescript/old/lib/cs/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/de/diagnosticMessages.generated.json +2125 -0
- package/node_modules/@typescript/old/lib/es/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/fr/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/it/diagnosticMessages.generated.json +2125 -0
- package/node_modules/@typescript/old/lib/ja/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/ko/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/lib.d.ts +20 -0
- package/node_modules/@typescript/old/lib/lib.decorators.d.ts +382 -0
- package/node_modules/@typescript/old/lib/lib.decorators.legacy.d.ts +20 -0
- package/node_modules/@typescript/old/lib/lib.dom.asynciterable.d.ts +18 -0
- package/node_modules/@typescript/old/lib/lib.dom.d.ts +45125 -0
- package/node_modules/@typescript/old/lib/lib.dom.iterable.d.ts +18 -0
- package/node_modules/@typescript/old/lib/lib.es2015.collection.d.ts +150 -0
- package/node_modules/@typescript/old/lib/lib.es2015.core.d.ts +595 -0
- package/node_modules/@typescript/old/lib/lib.es2015.d.ts +26 -0
- package/node_modules/@typescript/old/lib/lib.es2015.generator.d.ts +75 -0
- package/node_modules/@typescript/old/lib/lib.es2015.iterable.d.ts +603 -0
- package/node_modules/@typescript/old/lib/lib.es2015.promise.d.ts +79 -0
- package/node_modules/@typescript/old/lib/lib.es2015.proxy.d.ts +126 -0
- package/node_modules/@typescript/old/lib/lib.es2015.reflect.d.ts +142 -0
- package/node_modules/@typescript/old/lib/lib.es2015.symbol.d.ts +44 -0
- package/node_modules/@typescript/old/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
- package/node_modules/@typescript/old/lib/lib.es2016.array.include.d.ts +114 -0
- package/node_modules/@typescript/old/lib/lib.es2016.d.ts +19 -0
- package/node_modules/@typescript/old/lib/lib.es2016.full.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.es2016.intl.d.ts +29 -0
- package/node_modules/@typescript/old/lib/lib.es2017.arraybuffer.d.ts +19 -0
- package/node_modules/@typescript/old/lib/lib.es2017.d.ts +24 -0
- package/node_modules/@typescript/old/lib/lib.es2017.date.d.ts +29 -0
- package/node_modules/@typescript/old/lib/lib.es2017.full.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.es2017.intl.d.ts +42 -0
- package/node_modules/@typescript/old/lib/lib.es2017.object.d.ts +47 -0
- package/node_modules/@typescript/old/lib/lib.es2017.sharedmemory.d.ts +133 -0
- package/node_modules/@typescript/old/lib/lib.es2017.string.d.ts +43 -0
- package/node_modules/@typescript/old/lib/lib.es2017.typedarrays.d.ts +51 -0
- package/node_modules/@typescript/old/lib/lib.es2018.asyncgenerator.d.ts +75 -0
- package/node_modules/@typescript/old/lib/lib.es2018.asynciterable.d.ts +51 -0
- package/node_modules/@typescript/old/lib/lib.es2018.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2018.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2018.intl.d.ts +81 -0
- package/node_modules/@typescript/old/lib/lib.es2018.promise.d.ts +28 -0
- package/node_modules/@typescript/old/lib/lib.es2018.regexp.d.ts +35 -0
- package/node_modules/@typescript/old/lib/lib.es2019.array.d.ts +77 -0
- package/node_modules/@typescript/old/lib/lib.es2019.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2019.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2019.intl.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.es2019.object.d.ts +31 -0
- package/node_modules/@typescript/old/lib/lib.es2019.string.d.ts +35 -0
- package/node_modules/@typescript/old/lib/lib.es2019.symbol.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2020.bigint.d.ts +763 -0
- package/node_modules/@typescript/old/lib/lib.es2020.d.ts +25 -0
- package/node_modules/@typescript/old/lib/lib.es2020.date.d.ts +40 -0
- package/node_modules/@typescript/old/lib/lib.es2020.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2020.intl.d.ts +472 -0
- package/node_modules/@typescript/old/lib/lib.es2020.number.d.ts +26 -0
- package/node_modules/@typescript/old/lib/lib.es2020.promise.d.ts +45 -0
- package/node_modules/@typescript/old/lib/lib.es2020.sharedmemory.d.ts +97 -0
- package/node_modules/@typescript/old/lib/lib.es2020.string.d.ts +42 -0
- package/node_modules/@typescript/old/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
- package/node_modules/@typescript/old/lib/lib.es2021.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.es2021.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2021.intl.d.ts +164 -0
- package/node_modules/@typescript/old/lib/lib.es2021.promise.d.ts +46 -0
- package/node_modules/@typescript/old/lib/lib.es2021.string.d.ts +31 -0
- package/node_modules/@typescript/old/lib/lib.es2021.weakref.d.ts +76 -0
- package/node_modules/@typescript/old/lib/lib.es2022.array.d.ts +119 -0
- package/node_modules/@typescript/old/lib/lib.es2022.d.ts +23 -0
- package/node_modules/@typescript/old/lib/lib.es2022.error.d.ts +73 -0
- package/node_modules/@typescript/old/lib/lib.es2022.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2022.intl.d.ts +143 -0
- package/node_modules/@typescript/old/lib/lib.es2022.object.d.ts +24 -0
- package/node_modules/@typescript/old/lib/lib.es2022.regexp.d.ts +37 -0
- package/node_modules/@typescript/old/lib/lib.es2022.string.d.ts +23 -0
- package/node_modules/@typescript/old/lib/lib.es2023.array.d.ts +922 -0
- package/node_modules/@typescript/old/lib/lib.es2023.collection.d.ts +19 -0
- package/node_modules/@typescript/old/lib/lib.es2023.d.ts +20 -0
- package/node_modules/@typescript/old/lib/lib.es2023.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2023.intl.d.ts +62 -0
- package/node_modules/@typescript/old/lib/lib.es2024.arraybuffer.d.ts +63 -0
- package/node_modules/@typescript/old/lib/lib.es2024.collection.d.ts +27 -0
- package/node_modules/@typescript/old/lib/lib.es2024.d.ts +24 -0
- package/node_modules/@typescript/old/lib/lib.es2024.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2024.object.d.ts +27 -0
- package/node_modules/@typescript/old/lib/lib.es2024.promise.d.ts +33 -0
- package/node_modules/@typescript/old/lib/lib.es2024.regexp.d.ts +23 -0
- package/node_modules/@typescript/old/lib/lib.es2024.sharedmemory.d.ts +66 -0
- package/node_modules/@typescript/old/lib/lib.es2024.string.d.ts +27 -0
- package/node_modules/@typescript/old/lib/lib.es2025.collection.d.ts +94 -0
- package/node_modules/@typescript/old/lib/lib.es2025.d.ts +23 -0
- package/node_modules/@typescript/old/lib/lib.es2025.float16.d.ts +443 -0
- package/node_modules/@typescript/old/lib/lib.es2025.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.es2025.intl.d.ts +200 -0
- package/node_modules/@typescript/old/lib/lib.es2025.iterator.d.ts +146 -0
- package/node_modules/@typescript/old/lib/lib.es2025.promise.d.ts +32 -0
- package/node_modules/@typescript/old/lib/lib.es2025.regexp.d.ts +30 -0
- package/node_modules/@typescript/old/lib/lib.es5.d.ts +4599 -0
- package/node_modules/@typescript/old/lib/lib.es6.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.esnext.array.d.ts +33 -0
- package/node_modules/@typescript/old/lib/lib.esnext.collection.d.ts +47 -0
- package/node_modules/@typescript/old/lib/lib.esnext.d.ts +27 -0
- package/node_modules/@typescript/old/lib/lib.esnext.date.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.esnext.decorators.d.ts +26 -0
- package/node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts +191 -0
- package/node_modules/@typescript/old/lib/lib.esnext.error.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.esnext.full.d.ts +22 -0
- package/node_modules/@typescript/old/lib/lib.esnext.intl.d.ts +107 -0
- package/node_modules/@typescript/old/lib/lib.esnext.sharedmemory.d.ts +23 -0
- package/node_modules/@typescript/old/lib/lib.esnext.temporal.d.ts +485 -0
- package/node_modules/@typescript/old/lib/lib.esnext.typedarrays.d.ts +90 -0
- package/node_modules/@typescript/old/lib/lib.scripthost.d.ts +320 -0
- package/node_modules/@typescript/old/lib/lib.webworker.asynciterable.d.ts +18 -0
- package/node_modules/@typescript/old/lib/lib.webworker.d.ts +15606 -0
- package/node_modules/@typescript/old/lib/lib.webworker.importscripts.d.ts +21 -0
- package/node_modules/@typescript/old/lib/lib.webworker.iterable.d.ts +18 -0
- package/node_modules/@typescript/old/lib/pl/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/pt-br/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/ru/diagnosticMessages.generated.json +2125 -0
- package/node_modules/@typescript/old/lib/tr/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/tsc.js +8 -0
- package/node_modules/@typescript/old/lib/tsserver.js +8 -0
- package/node_modules/@typescript/old/lib/tsserverlibrary.d.ts +17 -0
- package/node_modules/@typescript/old/lib/tsserverlibrary.js +21 -0
- package/node_modules/@typescript/old/lib/typesMap.json +497 -0
- package/node_modules/@typescript/old/lib/typescript.d.ts +11448 -0
- package/node_modules/@typescript/old/lib/typescript.js +201039 -0
- package/node_modules/@typescript/old/lib/typingsInstaller.js +8 -0
- package/node_modules/@typescript/old/lib/watchGuard.js +53 -0
- package/node_modules/@typescript/old/lib/zh-cn/diagnosticMessages.generated.json +2129 -0
- package/node_modules/@typescript/old/lib/zh-tw/diagnosticMessages.generated.json +2125 -0
- package/node_modules/@typescript/old/package.json +118 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +83 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +804 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +3 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.d.ts +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +114 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +33 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +88 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.d.ts +14 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.js +26 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +114 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +382 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +92 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +2 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +162 -0
- package/node_modules/@ykdz/template-builtin-presets/package.json +68 -0
- package/node_modules/@ykdz/{template-builtin-source/templates/vue-app/.github/dependabot.yml → template-builtin-presets/templates/foundation/.github/dependabot-rust.yml} +13 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/dependabot.dynamic.template +4 -0
- package/node_modules/@ykdz/{template-builtin-source/templates/ts-lib → template-builtin-presets/templates/foundation}/.github/dependabot.yml +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.dynamic.template +19 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/TODO.md.template +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +16 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/gitignore +8 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +19 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +28 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/.vscode/extensions.json +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/.vscode/settings.json +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/devcontainer/devcontainer.json +21 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +12 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +69 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +9 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +25 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/.github/dependabot.yml +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.github/workflows/check.yml +23 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.vscode/extensions.json +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.vscode/settings.json +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.lock +16 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.toml +27 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/devcontainer/devcontainer.json +21 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/devcontainer/rust.Dockerfile +16 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/rust-toolchain.toml +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +12 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/shellcheck.Dockerfile +3 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/editor-customization/capabilities.json +38 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/node/oxlint.config.ts +6 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/oxfmt.config.ts +3 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/shared/oxc/tsconfig.config.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +25 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.json +8 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +30 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.test.json +9 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/typescript/run-vue-tsc.ts +12 -0
- package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app → template-builtin-presets/templates/ts-lib}/.github/dependabot.yml +5 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/.github/workflows/check.yml +19 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/src/index.ts +1 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +13 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/readiness.ts +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/types.d.ts +1 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +26 -0
- package/node_modules/@ykdz/{template-builtin-source → 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 +17 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/scripts/prepare-database.ts +45 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +22 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/turbo.json +10 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/Dockerfile +20 -30
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/index/+Page.telefunc.ts +0 -2
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/index/+Page.vue +2 -1
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/playwright.config.ts +1 -1
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/scripts/check-standalone-deployment.ts +84 -22
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/container-entrypoint.sh +33 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/test/e2e/app.spec.ts +3 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +34 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +9 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +31 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +11 -0
- package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/vike-app/web}/turbo.json +3 -2
- package/node_modules/@ykdz/{template-builtin-source/templates/vike-app → template-builtin-presets/templates/vue-app}/.github/dependabot.yml +5 -4
- package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app/web → template-builtin-presets/templates/vue-app}/turbo.json +4 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-app/typescript/tsconfig.json +8 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/src/index.ts +3 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/src/server.ts +1 -1
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/test/app.test.ts +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.build.json +9 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +25 -0
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/turbo.json +1 -1
- package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/playwright.config.ts +1 -1
- package/node_modules/@ykdz/{template-builtin-source/templates/vike-app → template-builtin-presets/templates/vue-hono-app}/web/turbo.json +2 -2
- package/node_modules/@ykdz/template-core/dist/Cargo.toml +1 -1
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.d.ts +8 -0
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.js +48 -12
- package/node_modules/@ykdz/template-core/dist/devcontainer.d.ts +11 -3
- package/node_modules/@ykdz/template-core/dist/devcontainer.js +17 -3
- package/node_modules/@ykdz/template-core/dist/editor-customization.d.ts +5 -9
- package/node_modules/@ykdz/template-core/dist/editor-customization.js +8 -46
- package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +64 -33
- package/node_modules/@ykdz/template-core/dist/module-graph.js +117 -135
- package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +41 -0
- package/node_modules/@ykdz/template-core/dist/package-contribution.js +24 -0
- package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +22 -8
- package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +42 -0
- package/node_modules/@ykdz/template-core/dist/preset-definition.js +1 -0
- package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.d.ts +33 -0
- package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.js +161 -0
- package/node_modules/@ykdz/template-core/dist/project-github.d.ts +17 -2
- package/node_modules/@ykdz/template-core/dist/project-github.js +87 -14
- package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +20 -0
- package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +37 -0
- package/node_modules/@ykdz/template-core/dist/renderer.d.ts +40 -5
- package/node_modules/@ykdz/template-core/dist/renderer.js +115 -30
- package/node_modules/@ykdz/template-core/dist/template-boundary-check.d.ts +21 -15
- package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +100 -50
- package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +45 -0
- package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +27 -0
- package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +1 -0
- package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +50 -52
- package/node_modules/@ykdz/template-core/package.json +10 -8
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +680 -0
- package/node_modules/semver/bin/semver.js +195 -0
- package/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/semver/classes/index.js +7 -0
- package/node_modules/semver/classes/range.js +577 -0
- package/node_modules/semver/classes/semver.js +350 -0
- package/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/semver/functions/major.js +5 -0
- package/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/semver/functions/truncate.js +48 -0
- package/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/semver/index.js +93 -0
- package/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/semver/internal/re.js +223 -0
- package/node_modules/semver/package.json +78 -0
- package/node_modules/semver/preload.js +4 -0
- package/node_modules/semver/range.bnf +17 -0
- package/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/typescript/LICENSE.txt +55 -0
- package/node_modules/typescript/README.md +9 -0
- package/node_modules/typescript/bin/tsc6 +2 -0
- package/node_modules/typescript/lib/tsc.js +1 -0
- package/node_modules/typescript/lib/tsserverlibrary.d.ts +2 -0
- package/node_modules/typescript/lib/tsserverlibrary.js +1 -0
- package/node_modules/typescript/lib/typescript.d.ts +2 -0
- package/node_modules/typescript/lib/typescript.js +1 -0
- package/node_modules/typescript/package.json +39 -0
- package/node_modules/valibot/LICENSE.md +9 -0
- package/node_modules/valibot/README.md +94 -0
- package/node_modules/valibot/dist/index.cjs +7974 -0
- package/node_modules/valibot/dist/index.d.cts +16184 -0
- package/node_modules/valibot/dist/index.d.mts +16184 -0
- package/node_modules/valibot/dist/index.min.cjs +2 -0
- package/node_modules/valibot/dist/index.min.mjs +2 -0
- package/node_modules/valibot/dist/index.mjs +7663 -0
- package/node_modules/valibot/package.json +79 -0
- package/package.json +18 -12
- package/LICENSE +0 -21
- package/node_modules/@ykdz/template-builtin-source/dist/src/index.d.ts +0 -22
- package/node_modules/@ykdz/template-builtin-source/dist/src/index.js +0 -103
- package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.d.ts +0 -7
- package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.js +0 -98
- package/node_modules/@ykdz/template-builtin-source/dist/templates/registry.d.ts +0 -2
- package/node_modules/@ykdz/template-builtin-source/dist/templates/registry.js +0 -15
- package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.d.ts +0 -9
- package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.js +0 -105
- package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.d.ts +0 -6
- package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.js +0 -197
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vike-app/projection.d.ts +0 -5
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vike-app/projection.js +0 -71
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.d.ts +0 -6
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.js +0 -281
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.d.ts +0 -8
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.js +0 -154
- package/node_modules/@ykdz/template-builtin-source/package.json +0 -93
- package/node_modules/@ykdz/template-builtin-source/templates/preset-source.json +0 -524
- package/node_modules/@ykdz/template-builtin-source/templates/shared/devcontainer/node-pnpm.Dockerfile +0 -6
- package/node_modules/@ykdz/template-builtin-source/templates/shared/editor-customization/capabilities.json +0 -56
- package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/node/oxlint.config.ts +0 -34
- package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/oxfmt.config.ts +0 -8
- package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/vue/oxlint.config.ts +0 -36
- package/node_modules/@ykdz/template-builtin-source/templates/vike-app/.github/workflows/check.yml +0 -22
- package/node_modules/@ykdz/template-builtin-source/templates/vike-app/db/drizzle.config.ts +0 -10
- package/node_modules/@ykdz/template-builtin-source/templates/vike-app/web/scripts/container-entrypoint.sh +0 -52
- package/node_modules/@ykdz/template-builtin-source/templates/vike-app/web/scripts/prepare-database.sh +0 -6
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/api/src/index.ts +0 -3
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/main.ts +0 -8
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/stores/counter.ts +0 -12
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/style.css +0 -1
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/test/app.test.ts +0 -14
- package/node_modules/@ykdz/template-core/dist/declarations.d.ts +0 -2
- package/node_modules/@ykdz/template-core/dist/declarations.js +0 -1
- package/node_modules/@ykdz/template-core/dist/generated-scenarios.d.ts +0 -76
- package/node_modules/@ykdz/template-core/dist/generated-scenarios.js +0 -658
- package/node_modules/@ykdz/template-core/dist/generation-context.d.ts +0 -23
- package/node_modules/@ykdz/template-core/dist/generation-context.js +0 -20
- package/node_modules/@ykdz/template-core/dist/next-step-instructions.d.ts +0 -30
- package/node_modules/@ykdz/template-core/dist/next-step-instructions.js +0 -181
- package/node_modules/@ykdz/template-core/dist/package-addition-support.d.ts +0 -6
- package/node_modules/@ykdz/template-core/dist/package-addition-support.js +0 -2
- package/node_modules/@ykdz/template-core/dist/package-addition.d.ts +0 -12
- package/node_modules/@ykdz/template-core/dist/package-addition.js +0 -665
- package/node_modules/@ykdz/template-core/dist/package-linking.d.ts +0 -75
- package/node_modules/@ykdz/template-core/dist/package-linking.js +0 -157
- package/node_modules/@ykdz/template-core/dist/preset-projection.d.ts +0 -68
- package/node_modules/@ykdz/template-core/dist/preset-projection.js +0 -8
- package/node_modules/@ykdz/template-core/dist/preset-source.d.ts +0 -14
- package/node_modules/@ykdz/template-core/dist/preset-source.js +0 -294
- package/node_modules/@ykdz/template-core/dist/projection-capabilities.d.ts +0 -31
- package/node_modules/@ykdz/template-core/dist/projection-capabilities.js +0 -2170
- package/node_modules/@ykdz/template-core/dist/runtime-paths.d.ts +0 -1
- package/node_modules/@ykdz/template-core/dist/runtime-paths.js +0 -13
- package/node_modules/@ykdz/template-shared/dist/index.d.ts +0 -645
- package/node_modules/@ykdz/template-shared/dist/index.js +0 -1408
- package/node_modules/@ykdz/template-shared/package.json +0 -37
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app/.github/workflows/check.yml → template-builtin-presets/templates/foundation/.github/workflows/check-playwright.yml} +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/rust-bin/.github/workflows/check.yml → template-builtin-presets/templates/foundation/.github/workflows/check-rust.yml} +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/ts-lib → template-builtin-presets/templates/foundation}/.github/workflows/check.yml +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/shared → template-builtin-presets/templates/foundation/rust}/devcontainer/rust.Dockerfile +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/rust-bin → template-builtin-presets/templates/foundation/rust}/rust-toolchain.toml +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/rustfmt.toml +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/src/main.rs +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/turbo.json +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/shared/devcontainer/browser-test.Dockerfile +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/main.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/stores/counter.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/style.css +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/test/app.test.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/src/name-schema.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/turbo.json +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/scripts/seed-example.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/db.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/index.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/queries/todos.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/schema.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/seed/example.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/test/todos.test.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vike-app/db → template-builtin-presets/templates/vike-app/db-migrations}/drizzle/migrations/20260709120325_old_captain_flint/migration.sql +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vike-app/db → template-builtin-presets/templates/vike-app/db-migrations}/drizzle/migrations/20260709120325_old_captain_flint/snapshot.json +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/+server.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/.env.example +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/Dockerfile.dockerignore +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/assets/logo.svg +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/components/CounterButton.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/components/PageShell.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+Head.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+Layout.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/tailwind.css +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/scripts/run-playwright.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/server/api.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/server/app.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/types/env.d.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/types/global.d.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/vite.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/vitest.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app → template-builtin-presets/templates/vue-app}/.github/workflows/check.yml +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/env.d.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/index.html +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/playwright.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/scripts/run-playwright.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/src/App.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/test/e2e/app.spec.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/vite.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/vitest.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/src/runtime.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/vitest.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/env.d.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/index.html +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/scripts/run-playwright.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/src/App.vue +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/src/api.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/test/e2e/app.spec.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/vite.config.ts +0 -0
- /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/vitest.config.ts +0 -0
|
@@ -1,147 +1,112 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export function checkEnvironmentNeedFact(need) {
|
|
2
|
+
switch (need.kind) {
|
|
3
|
+
case "playwright-browser-assets":
|
|
4
|
+
return { kind: need.kind, browser: need.browser, owner: need.owner };
|
|
5
|
+
case "shellcheck-command":
|
|
6
|
+
return { kind: need.kind, owner: need.owner };
|
|
7
|
+
case "rust-toolchain":
|
|
8
|
+
return {
|
|
9
|
+
kind: need.kind,
|
|
10
|
+
owner: need.owner,
|
|
11
|
+
toolchain: need.toolchain,
|
|
12
|
+
};
|
|
4
13
|
}
|
|
5
|
-
return `--filter './${owner.path}'`;
|
|
6
14
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
switch (component.kind) {
|
|
19
|
-
case "typescript-typecheck":
|
|
20
|
-
case "turbo-package-typecheck":
|
|
21
|
-
return ["typecheck:run"];
|
|
22
|
-
case "oxc-lint":
|
|
23
|
-
case "cargo-clippy":
|
|
24
|
-
return ["lint:run"];
|
|
25
|
-
case "oxc-format-check":
|
|
26
|
-
case "rustfmt-check":
|
|
27
|
-
return ["format:check:run"];
|
|
28
|
-
case "build":
|
|
29
|
-
case "turbo-package-build":
|
|
30
|
-
return ["build:run"];
|
|
31
|
-
case "unit-test":
|
|
32
|
-
case "cargo-test":
|
|
33
|
-
case "turbo-package-test":
|
|
34
|
-
return ["test:run"];
|
|
35
|
-
case "e2e-test":
|
|
36
|
-
case "turbo-package-e2e-test":
|
|
37
|
-
return ["test:e2e:run"];
|
|
38
|
-
case "turbo-check":
|
|
39
|
-
case "turbo-package-check":
|
|
40
|
-
return [
|
|
41
|
-
"format:check:run",
|
|
42
|
-
"lint:run",
|
|
43
|
-
"typecheck:run",
|
|
44
|
-
"build:run",
|
|
45
|
-
"test:run",
|
|
46
|
-
"test:e2e:run",
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export function fixComponentTaskName(component) {
|
|
51
|
-
return fixComponentTaskNames(component)[0] ?? "fix:run";
|
|
52
|
-
}
|
|
53
|
-
function fixComponentTaskNames(component) {
|
|
54
|
-
switch (component.kind) {
|
|
55
|
-
case "oxc-format-write":
|
|
56
|
-
case "rustfmt-write":
|
|
57
|
-
return ["format:write:run"];
|
|
58
|
-
case "oxc-lint-fix":
|
|
59
|
-
return ["lint:fix:run"];
|
|
60
|
-
case "turbo-fix":
|
|
61
|
-
case "turbo-package-fix":
|
|
62
|
-
return ["format:write:run", "lint:fix:run"];
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function uniqueTaskNames(taskNames) {
|
|
66
|
-
return [...new Set(taskNames)];
|
|
67
|
-
}
|
|
68
|
-
export function renderCheckLeafCommand(component) {
|
|
69
|
-
switch (component.kind) {
|
|
70
|
-
case "typescript-typecheck":
|
|
71
|
-
return "pnpm run typecheck";
|
|
72
|
-
case "oxc-lint":
|
|
73
|
-
return "pnpm run lint";
|
|
74
|
-
case "oxc-format-check":
|
|
75
|
-
return "pnpm run format:check";
|
|
76
|
-
case "build":
|
|
77
|
-
return "pnpm run build";
|
|
78
|
-
case "unit-test":
|
|
79
|
-
return "pnpm run test";
|
|
80
|
-
case "e2e-test":
|
|
81
|
-
return "pnpm run test:e2e";
|
|
82
|
-
case "turbo-check":
|
|
83
|
-
return renderTurboRunCommand(["check"]);
|
|
84
|
-
case "turbo-package-typecheck":
|
|
85
|
-
return renderTurboRunCommand(["typecheck"], [renderTurboPackageFilter(component.owner)]);
|
|
86
|
-
case "turbo-package-build":
|
|
87
|
-
return renderTurboRunCommand(["build"], [renderTurboPackageFilter(component.owner)]);
|
|
88
|
-
case "turbo-package-test":
|
|
89
|
-
return renderTurboRunCommand(["test"], [renderTurboPackageFilter(component.owner)]);
|
|
90
|
-
case "turbo-package-e2e-test":
|
|
91
|
-
return renderTurboRunCommand(["test:e2e"], [renderTurboPackageFilter(component.owner)]);
|
|
92
|
-
case "turbo-package-check":
|
|
93
|
-
return renderTurboRunCommand(["check"], [renderTurboPackageFilter(component.owner)]);
|
|
94
|
-
case "rustfmt-check":
|
|
95
|
-
return "cargo fmt --all -- --check";
|
|
96
|
-
case "cargo-clippy":
|
|
97
|
-
return "cargo clippy --workspace --all-targets -- -D warnings";
|
|
98
|
-
case "cargo-test":
|
|
99
|
-
return "cargo test --workspace";
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
export function renderFixLeafCommand(component) {
|
|
103
|
-
switch (component.kind) {
|
|
104
|
-
case "oxc-format-write":
|
|
105
|
-
return "pnpm run format:write";
|
|
106
|
-
case "oxc-lint-fix":
|
|
107
|
-
return "pnpm run lint:fix";
|
|
108
|
-
case "turbo-fix":
|
|
109
|
-
return renderTurboRunCommand(["fix"]);
|
|
110
|
-
case "turbo-package-fix":
|
|
111
|
-
return renderTurboRunCommand(["fix"], [renderTurboPackageFilter(component.owner)]);
|
|
112
|
-
case "rustfmt-write":
|
|
113
|
-
return "cargo fmt --all";
|
|
15
|
+
export function checkEnvironmentNeedFromFact(fact) {
|
|
16
|
+
switch (fact.kind) {
|
|
17
|
+
case "playwright-browser-assets":
|
|
18
|
+
return playwrightBrowserAssetsEnvironmentNeed({
|
|
19
|
+
browser: fact.browser,
|
|
20
|
+
owner: fact.owner,
|
|
21
|
+
});
|
|
22
|
+
case "shellcheck-command":
|
|
23
|
+
return shellCheckEnvironmentNeed(fact.owner);
|
|
24
|
+
case "rust-toolchain":
|
|
25
|
+
return rustToolchainEnvironmentNeed(fact.owner);
|
|
114
26
|
}
|
|
115
27
|
}
|
|
116
|
-
export function
|
|
117
|
-
return
|
|
118
|
-
...plan.components.flatMap(checkComponentTaskNames),
|
|
119
|
-
"check:run",
|
|
120
|
-
]));
|
|
28
|
+
export function deploymentEnvironmentNeedFact(need) {
|
|
29
|
+
return { kind: need.kind };
|
|
121
30
|
}
|
|
122
|
-
export function
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return [{ kind: "docker-engine" }];
|
|
31
|
+
export function deploymentEnvironmentNeedFromFact(fact) {
|
|
32
|
+
if (fact.kind !== "docker-engine") {
|
|
33
|
+
throw new Error("Unsupported Deployment Environment Need fact.");
|
|
126
34
|
}
|
|
35
|
+
return dockerEngineEnvironmentNeed();
|
|
127
36
|
}
|
|
128
|
-
export function
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
37
|
+
export function rustToolchainEnvironmentNeed(owner) {
|
|
38
|
+
return {
|
|
39
|
+
kind: "rust-toolchain",
|
|
40
|
+
owner,
|
|
41
|
+
toolchain: "stable",
|
|
42
|
+
nextStep: {
|
|
43
|
+
id: "install-rust-toolchain",
|
|
44
|
+
label: "Install Rust toolchain",
|
|
45
|
+
command: "rustup",
|
|
46
|
+
args: [
|
|
47
|
+
"toolchain",
|
|
48
|
+
"install",
|
|
49
|
+
"stable",
|
|
50
|
+
"--component",
|
|
51
|
+
"rustfmt",
|
|
52
|
+
"--component",
|
|
53
|
+
"clippy",
|
|
54
|
+
],
|
|
55
|
+
display: "rustup toolchain install stable --component rustfmt --component clippy",
|
|
56
|
+
machineVerifiable: false,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
136
59
|
}
|
|
137
|
-
export function
|
|
138
|
-
return
|
|
60
|
+
export function dockerEngineEnvironmentNeed() {
|
|
61
|
+
return {
|
|
62
|
+
kind: "docker-engine",
|
|
63
|
+
preparation: {
|
|
64
|
+
id: "verify-docker-engine",
|
|
65
|
+
label: "Verify Docker engine",
|
|
66
|
+
command: "docker",
|
|
67
|
+
args: ["version", "--format", "{{.Server.Version}}"],
|
|
68
|
+
display: "docker version --format {{.Server.Version}}",
|
|
69
|
+
machineVerifiable: true,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
139
72
|
}
|
|
140
|
-
export
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
73
|
+
export const qualityTaskVocabulary = [
|
|
74
|
+
"boundaries",
|
|
75
|
+
"format:check",
|
|
76
|
+
"lint",
|
|
77
|
+
"typecheck",
|
|
78
|
+
"build",
|
|
79
|
+
"test",
|
|
80
|
+
"test:e2e",
|
|
81
|
+
];
|
|
82
|
+
export function renderTurboRunCommand(taskNames, args = [], options = {}) {
|
|
83
|
+
return [
|
|
84
|
+
"turbo run",
|
|
85
|
+
...taskNames,
|
|
86
|
+
...args,
|
|
87
|
+
...(options.continueAfterFailure
|
|
88
|
+
? ["--continue=dependencies-successful"]
|
|
89
|
+
: []),
|
|
90
|
+
`--output-logs=${options.outputLogs ?? "errors-only"}`,
|
|
91
|
+
"--log-order=grouped",
|
|
92
|
+
...(options.taskPrefix ? ["--log-prefix=task"] : []),
|
|
93
|
+
].join(" ");
|
|
94
|
+
}
|
|
95
|
+
export function renderRootCheckCommand() {
|
|
96
|
+
return renderTurboRunCommand(qualityTaskVocabulary, [], {
|
|
97
|
+
continueAfterFailure: true,
|
|
98
|
+
taskPrefix: true,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
export function renderDeploymentCheckCommand() {
|
|
102
|
+
return renderTurboRunCommand(["deployment"], [], { taskPrefix: true });
|
|
103
|
+
}
|
|
104
|
+
export function renderFixCommand() {
|
|
105
|
+
return renderTurboRunCommand(["lint:fix", "format:write"], [], {
|
|
106
|
+
continueAfterFailure: true,
|
|
107
|
+
outputLogs: "full",
|
|
108
|
+
taskPrefix: true,
|
|
109
|
+
});
|
|
145
110
|
}
|
|
146
111
|
function playwrightBrowserInstallArgs(need, options = {}) {
|
|
147
112
|
const installArgs = [
|
|
@@ -157,6 +122,9 @@ function playwrightBrowserInstallArgs(need, options = {}) {
|
|
|
157
122
|
return installArgs;
|
|
158
123
|
}
|
|
159
124
|
export function renderPlaywrightBrowserInstallCommand(need, options = {}) {
|
|
125
|
+
if (need.kind !== "playwright-browser-assets") {
|
|
126
|
+
throw new Error("Playwright install requires browser assets.");
|
|
127
|
+
}
|
|
160
128
|
return ["pnpm", ...playwrightBrowserInstallArgs(need, options)].join(" ");
|
|
161
129
|
}
|
|
162
130
|
export function playwrightBrowserAssetsNextStepDescriptor(owner) {
|
|
@@ -188,3 +156,17 @@ export function playwrightBrowserAssetsEnvironmentNeed(options) {
|
|
|
188
156
|
},
|
|
189
157
|
};
|
|
190
158
|
}
|
|
159
|
+
export function shellCheckEnvironmentNeed(owner) {
|
|
160
|
+
return {
|
|
161
|
+
kind: "shellcheck-command",
|
|
162
|
+
owner,
|
|
163
|
+
nextStep: {
|
|
164
|
+
id: "install-shellcheck",
|
|
165
|
+
label: "Install ShellCheck",
|
|
166
|
+
command: "sudo",
|
|
167
|
+
args: ["sh", "-c", "apt-get update && apt-get install -y shellcheck"],
|
|
168
|
+
display: "sudo apt-get update && sudo apt-get install -y shellcheck",
|
|
169
|
+
machineVerifiable: false,
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { EditorCustomizationCapability } from "./editor-customization.ts";
|
|
2
|
+
import type { CheckEnvironmentNeed, DeploymentEnvironmentNeed } from "./module-graph.ts";
|
|
3
|
+
import type { PackageDefinition } from "./project-blueprint-v2.ts";
|
|
4
|
+
import type { DependencyMaintenancePolicy } from "./project-github.ts";
|
|
5
|
+
import type { RenderOperation } from "./renderer.ts";
|
|
6
|
+
export type FoundationContribution = {
|
|
7
|
+
/** Toolchains the Foundation must install and project into coordinated root files. */
|
|
8
|
+
readonly toolchains: {
|
|
9
|
+
readonly rust?: {
|
|
10
|
+
readonly toolchain: string;
|
|
11
|
+
readonly components: readonly ("rustfmt" | "clippy")[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
/** Editor capabilities the Foundation must project into its coordinated editor files. */
|
|
15
|
+
readonly editorCapabilities: readonly EditorCustomizationCapability[];
|
|
16
|
+
/** Ecosystems and paths whose maintenance belongs in the coordinated root policy. */
|
|
17
|
+
readonly dependencyMaintenance: DependencyMaintenancePolicy;
|
|
18
|
+
/** Workspace membership patterns contributed by package boundaries. */
|
|
19
|
+
readonly workspacePackageGlobs?: readonly string[];
|
|
20
|
+
/** Dependency Catalog entries required by package-owned manifests. */
|
|
21
|
+
readonly dependencyCatalog?: Readonly<Record<string, string>>;
|
|
22
|
+
};
|
|
23
|
+
/** A preset-agnostic package-sized part of a Generated Repository Plan. */
|
|
24
|
+
export type PackageContribution = {
|
|
25
|
+
readonly definition: PackageDefinition;
|
|
26
|
+
readonly manifest: Readonly<Record<string, unknown>>;
|
|
27
|
+
readonly exposure: {
|
|
28
|
+
readonly exports: Readonly<Record<string, unknown>>;
|
|
29
|
+
readonly imports: Readonly<Record<string, unknown>>;
|
|
30
|
+
};
|
|
31
|
+
readonly operations: readonly RenderOperation[];
|
|
32
|
+
/** Typed requirements consumed by the Foundation for coordinated root outputs. */
|
|
33
|
+
readonly foundation: FoundationContribution;
|
|
34
|
+
readonly environmentNeeds: readonly CheckEnvironmentNeed[];
|
|
35
|
+
/** Requirements prepared only by a focused deployment entrypoint. */
|
|
36
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
37
|
+
};
|
|
38
|
+
export declare function assertPackageContribution(contribution: PackageContribution, provenance?: {
|
|
39
|
+
readonly definitionName?: string;
|
|
40
|
+
readonly planner?: string;
|
|
41
|
+
}): PackageContribution;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const operationPath = (operation) => {
|
|
2
|
+
if ("to" in operation)
|
|
3
|
+
return operation.to;
|
|
4
|
+
if ("path" in operation)
|
|
5
|
+
return operation.path;
|
|
6
|
+
return "";
|
|
7
|
+
};
|
|
8
|
+
export function assertPackageContribution(contribution, provenance = {}) {
|
|
9
|
+
if (contribution.definition.name !== contribution.manifest.name) {
|
|
10
|
+
throw new Error("Package Contribution manifest name must match its Package Definition");
|
|
11
|
+
}
|
|
12
|
+
const outsideOperation = contribution.operations.find((operation) => !operationPath(operation).startsWith(`${contribution.definition.path}/`));
|
|
13
|
+
if (outsideOperation) {
|
|
14
|
+
const target = operationPath(outsideOperation);
|
|
15
|
+
const rule = target.includes("/")
|
|
16
|
+
? "Package Contribution may not write a sibling Package Boundary"
|
|
17
|
+
: "Package Contribution may not write a coordinated root output";
|
|
18
|
+
const owner = provenance.definitionName === undefined
|
|
19
|
+
? ""
|
|
20
|
+
: `${provenance.definitionName}: ${provenance.planner ?? "Package Contribution"} `;
|
|
21
|
+
throw new Error(`${owner}${rule}; ${contribution.definition.path} attempted ${target}`);
|
|
22
|
+
}
|
|
23
|
+
return contribution;
|
|
24
|
+
}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
packages:
|
|
2
2
|
- packages/*
|
|
3
3
|
|
|
4
|
-
nodeLinker:
|
|
4
|
+
nodeLinker: isolated
|
|
5
|
+
|
|
6
|
+
autoInstallPeers: false
|
|
7
|
+
|
|
8
|
+
injectWorkspacePackages: true
|
|
9
|
+
|
|
10
|
+
dedupeInjectedDeps: false
|
|
11
|
+
|
|
12
|
+
syncInjectedDepsAfterScripts:
|
|
13
|
+
- build
|
|
14
|
+
|
|
15
|
+
minimumReleaseAge: 1440
|
|
16
|
+
|
|
17
|
+
minimumReleaseAgeStrict: true
|
|
18
|
+
|
|
19
|
+
overrides:
|
|
20
|
+
"pinia>typescript": "-"
|
|
21
|
+
"vue>typescript": "-"
|
|
5
22
|
|
|
6
23
|
catalog:
|
|
7
|
-
"@typescript/native": npm:typescript@^7.0.2
|
|
8
|
-
"@typescript/typescript6": ^6.0.2
|
|
9
24
|
"@hono/node-server": ^2.0.6
|
|
10
25
|
"@playwright/test": ^1.61.1
|
|
11
26
|
"@tailwindcss/vite": ^4.3.2
|
|
@@ -21,14 +36,16 @@ catalog:
|
|
|
21
36
|
oxfmt: ^0.58.0
|
|
22
37
|
oxlint: ^1.73.0
|
|
23
38
|
oxlint-tsgolint: ^0.24.0
|
|
39
|
+
semver: ^7.8.5
|
|
40
|
+
"@types/semver": ^7.7.1
|
|
24
41
|
pinia: ^3.0.4
|
|
25
42
|
srvx: ^0.11.21
|
|
26
43
|
tailwindcss: ^4.3.2
|
|
27
44
|
telefunc: ^0.2.22
|
|
28
45
|
tsc-alias: ^1.8.17
|
|
29
|
-
tsx: ^4.23.0
|
|
30
46
|
turbo: 2.10.2
|
|
31
|
-
typescript:
|
|
47
|
+
typescript: npm:@typescript/typescript6@^6.0.2
|
|
48
|
+
typescript-7: npm:typescript@^7.0.2
|
|
32
49
|
valibot: ^1.4.2
|
|
33
50
|
vite: ^8.1.4
|
|
34
51
|
vike: ^0.4.260
|
|
@@ -40,6 +57,3 @@ catalog:
|
|
|
40
57
|
|
|
41
58
|
allowBuilds:
|
|
42
59
|
esbuild: true
|
|
43
|
-
|
|
44
|
-
onlyBuiltDependencies:
|
|
45
|
-
- esbuild
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PackageContribution } from "./package-contribution.ts";
|
|
2
|
+
import type { ProjectBlueprintV2 } from "./project-blueprint-v2.ts";
|
|
3
|
+
import type { TemplateSourceHandle } from "./renderer.ts";
|
|
4
|
+
/** Stable, preset-agnostic input supplied after toolchain resolution. */
|
|
5
|
+
export type GenerationContext = {
|
|
6
|
+
readonly targetDir: string;
|
|
7
|
+
readonly projectName: string;
|
|
8
|
+
readonly scope: string;
|
|
9
|
+
readonly toolchain: {
|
|
10
|
+
readonly nodeLtsMajor: string;
|
|
11
|
+
readonly packageManagerPin: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
/** A side-effect-free Built-in Preset planner. */
|
|
15
|
+
export type BuiltInPresetDefinition = {
|
|
16
|
+
readonly metadata: {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly title: string;
|
|
19
|
+
readonly description: string;
|
|
20
|
+
};
|
|
21
|
+
/** The Definition owns its Preset-local Self-Checking Template Source. */
|
|
22
|
+
readonly source: TemplateSourceHandle;
|
|
23
|
+
/** The owned planner source inspected by the Template Boundary Check. */
|
|
24
|
+
readonly plannerSourceFile: string;
|
|
25
|
+
blueprint(context: GenerationContext): ProjectBlueprintV2;
|
|
26
|
+
planInitialization(context: GenerationContext): PackageContribution;
|
|
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[];
|
|
32
|
+
/** Package layout is Preset-owned even when callers omit --path. */
|
|
33
|
+
defaultPackagePath?(options: {
|
|
34
|
+
readonly context: GenerationContext;
|
|
35
|
+
readonly packageLeafName: string;
|
|
36
|
+
}): string;
|
|
37
|
+
planPackageAddition?(options: {
|
|
38
|
+
readonly context: GenerationContext;
|
|
39
|
+
readonly packageLeafName: string;
|
|
40
|
+
readonly packagePath: string;
|
|
41
|
+
}): PackageContribution;
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The durable, preset-agnostic topology used by local template follow-up
|
|
3
|
+
* operations. Preset provenance deliberately belongs in Generation Record.
|
|
4
|
+
*/
|
|
5
|
+
export type PackageRole = "runtime-service" | "shared-library" | "native-package";
|
|
6
|
+
export type PackageDefinition = {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly path: string;
|
|
9
|
+
readonly role: PackageRole;
|
|
10
|
+
};
|
|
11
|
+
export type PackageLinkIntent = {
|
|
12
|
+
readonly consumerPackagePath: string;
|
|
13
|
+
readonly providerPackagePath: string;
|
|
14
|
+
};
|
|
15
|
+
export type ProjectBlueprintV2 = {
|
|
16
|
+
readonly schemaVersion: 2;
|
|
17
|
+
readonly packages: readonly PackageDefinition[];
|
|
18
|
+
readonly packageLinkIntents?: readonly PackageLinkIntent[];
|
|
19
|
+
};
|
|
20
|
+
export type BlueprintV2ValidationIssue = {
|
|
21
|
+
readonly path: string;
|
|
22
|
+
readonly message: string;
|
|
23
|
+
};
|
|
24
|
+
export type BlueprintV2ValidationResult = {
|
|
25
|
+
readonly ok: true;
|
|
26
|
+
readonly value: ProjectBlueprintV2;
|
|
27
|
+
} | {
|
|
28
|
+
readonly ok: false;
|
|
29
|
+
readonly issues: readonly BlueprintV2ValidationIssue[];
|
|
30
|
+
};
|
|
31
|
+
/** Validates persisted metadata before it is used to plan or render changes. */
|
|
32
|
+
export declare function validateProjectBlueprintV2(value: unknown): BlueprintV2ValidationResult;
|
|
33
|
+
export declare function assertProjectBlueprintV2(value: unknown): ProjectBlueprintV2;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
const packageName = /^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/;
|
|
2
|
+
const packagePath = /^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/;
|
|
3
|
+
const roles = new Set([
|
|
4
|
+
"runtime-service",
|
|
5
|
+
"shared-library",
|
|
6
|
+
"native-package",
|
|
7
|
+
]);
|
|
8
|
+
function isRecord(value) {
|
|
9
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10
|
+
}
|
|
11
|
+
function reportUnknownKeys(value, allowed, path, issues) {
|
|
12
|
+
for (const key of Object.keys(value)) {
|
|
13
|
+
if (!allowed.includes(key)) {
|
|
14
|
+
issues.push({
|
|
15
|
+
path: `${path}.${key}`,
|
|
16
|
+
message: "Unknown Blueprint v2 field",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Validates persisted metadata before it is used to plan or render changes. */
|
|
22
|
+
export function validateProjectBlueprintV2(value) {
|
|
23
|
+
const issues = [];
|
|
24
|
+
if (!isRecord(value)) {
|
|
25
|
+
return {
|
|
26
|
+
ok: false,
|
|
27
|
+
issues: [
|
|
28
|
+
{ path: ".", message: "Local Template Metadata must be an object" },
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
reportUnknownKeys(value, ["schemaVersion", "packages", "packageLinkIntents"], ".", issues);
|
|
33
|
+
if (value.schemaVersion !== 2) {
|
|
34
|
+
issues.push({
|
|
35
|
+
path: ".schemaVersion",
|
|
36
|
+
message: `Unsupported Local Template Metadata schema version ${String(value.schemaVersion)}; expected 2`,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (!Array.isArray(value.packages)) {
|
|
40
|
+
issues.push({
|
|
41
|
+
path: ".packages",
|
|
42
|
+
message: "Package Definitions must be an array",
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const definitions = [];
|
|
46
|
+
if (Array.isArray(value.packages)) {
|
|
47
|
+
for (const [index, item] of value.packages.entries()) {
|
|
48
|
+
const itemPath = `.packages[${index}]`;
|
|
49
|
+
if (!isRecord(item)) {
|
|
50
|
+
issues.push({
|
|
51
|
+
path: itemPath,
|
|
52
|
+
message: "Package Definition must be an object",
|
|
53
|
+
});
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
reportUnknownKeys(item, ["name", "path", "role"], itemPath, issues);
|
|
57
|
+
if (typeof item.name !== "string" || !packageName.test(item.name)) {
|
|
58
|
+
issues.push({
|
|
59
|
+
path: `${itemPath}.name`,
|
|
60
|
+
message: "Package name must be a scoped lowercase package name",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (typeof item.path !== "string" || !packagePath.test(item.path)) {
|
|
64
|
+
issues.push({
|
|
65
|
+
path: `${itemPath}.path`,
|
|
66
|
+
message: "Package Path must be exactly two safe path segments",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (typeof item.role !== "string" ||
|
|
70
|
+
!roles.has(item.role)) {
|
|
71
|
+
issues.push({
|
|
72
|
+
path: `${itemPath}.role`,
|
|
73
|
+
message: "Package Role must be runtime-service, shared-library, or native-package",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (typeof item.name === "string" &&
|
|
77
|
+
typeof item.path === "string" &&
|
|
78
|
+
typeof item.role === "string" &&
|
|
79
|
+
packageName.test(item.name) &&
|
|
80
|
+
packagePath.test(item.path) &&
|
|
81
|
+
roles.has(item.role)) {
|
|
82
|
+
definitions.push(item);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const [property, label] of [
|
|
87
|
+
["name", "Package name"],
|
|
88
|
+
["path", "Package Path"],
|
|
89
|
+
]) {
|
|
90
|
+
const seen = new Set();
|
|
91
|
+
for (const definition of definitions) {
|
|
92
|
+
const member = definition[property];
|
|
93
|
+
if (seen.has(member))
|
|
94
|
+
issues.push({
|
|
95
|
+
path: ".packages",
|
|
96
|
+
message: `${label} must be unique: ${member}`,
|
|
97
|
+
});
|
|
98
|
+
seen.add(member);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (value.packageLinkIntents !== undefined &&
|
|
102
|
+
!Array.isArray(value.packageLinkIntents)) {
|
|
103
|
+
issues.push({
|
|
104
|
+
path: ".packageLinkIntents",
|
|
105
|
+
message: "Package Link Intents must be an array",
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const paths = new Set(definitions.map((definition) => definition.path));
|
|
109
|
+
const links = new Set();
|
|
110
|
+
if (Array.isArray(value.packageLinkIntents)) {
|
|
111
|
+
for (const [index, item] of value.packageLinkIntents.entries()) {
|
|
112
|
+
const itemPath = `.packageLinkIntents[${index}]`;
|
|
113
|
+
if (!isRecord(item)) {
|
|
114
|
+
issues.push({
|
|
115
|
+
path: itemPath,
|
|
116
|
+
message: "Package Link Intent must be an object",
|
|
117
|
+
});
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
reportUnknownKeys(item, ["consumerPackagePath", "providerPackagePath"], itemPath, issues);
|
|
121
|
+
const consumer = item.consumerPackagePath;
|
|
122
|
+
const provider = item.providerPackagePath;
|
|
123
|
+
if (typeof consumer !== "string" || !paths.has(consumer))
|
|
124
|
+
issues.push({
|
|
125
|
+
path: `${itemPath}.consumerPackagePath`,
|
|
126
|
+
message: "Package Link Intent references an unknown consumer package",
|
|
127
|
+
});
|
|
128
|
+
if (typeof provider !== "string" || !paths.has(provider))
|
|
129
|
+
issues.push({
|
|
130
|
+
path: `${itemPath}.providerPackagePath`,
|
|
131
|
+
message: "Package Link Intent references an unknown provider package",
|
|
132
|
+
});
|
|
133
|
+
if (consumer === provider && typeof consumer === "string")
|
|
134
|
+
issues.push({
|
|
135
|
+
path: itemPath,
|
|
136
|
+
message: "Package Link Intent cannot link a package to itself",
|
|
137
|
+
});
|
|
138
|
+
if (typeof consumer === "string" && typeof provider === "string") {
|
|
139
|
+
const key = `${consumer}\u0000${provider}`;
|
|
140
|
+
if (links.has(key))
|
|
141
|
+
issues.push({
|
|
142
|
+
path: itemPath,
|
|
143
|
+
message: "Package Link Intent must be unique",
|
|
144
|
+
});
|
|
145
|
+
links.add(key);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return issues.length === 0
|
|
150
|
+
? { ok: true, value: value }
|
|
151
|
+
: { ok: false, issues };
|
|
152
|
+
}
|
|
153
|
+
export function assertProjectBlueprintV2(value) {
|
|
154
|
+
const result = validateProjectBlueprintV2(value);
|
|
155
|
+
if (!result.ok) {
|
|
156
|
+
throw new Error(result.issues
|
|
157
|
+
.map((issue) => `${issue.path}: ${issue.message}`)
|
|
158
|
+
.join("\n"));
|
|
159
|
+
}
|
|
160
|
+
return result.value;
|
|
161
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CheckEnvironmentNeed, type DeploymentEnvironmentNeed } from "./module-graph.ts";
|
|
2
2
|
export type CiCapability = {
|
|
3
3
|
readonly workflowName: "Check";
|
|
4
4
|
readonly jobName: "check";
|
|
@@ -21,11 +21,26 @@ export type DependencyMaintenancePolicy = {
|
|
|
21
21
|
readonly interval: "weekly";
|
|
22
22
|
};
|
|
23
23
|
type ProjectCheckWorkflowOptions = {
|
|
24
|
-
readonly
|
|
24
|
+
readonly environment: {
|
|
25
|
+
readonly needs: readonly CheckEnvironmentNeed[];
|
|
26
|
+
};
|
|
27
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
28
|
+
readonly hasDeploymentTask?: boolean | undefined;
|
|
25
29
|
readonly capability?: CiCapability | undefined;
|
|
26
30
|
readonly environmentPreparation?: Partial<CiEnvironmentPreparation> | undefined;
|
|
27
31
|
readonly taskLayer?: PnpmTaskLayer | undefined;
|
|
28
32
|
};
|
|
29
33
|
export declare function projectCheckWorkflow(options: ProjectCheckWorkflowOptions): string;
|
|
34
|
+
/** Limited substitutions for the Foundation-owned workflow Template Source. */
|
|
35
|
+
export declare function projectCheckWorkflowTemplateReplacements(options: {
|
|
36
|
+
readonly environment: {
|
|
37
|
+
readonly needs: readonly CheckEnvironmentNeed[];
|
|
38
|
+
};
|
|
39
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
40
|
+
readonly hasDeploymentTask?: boolean | undefined;
|
|
41
|
+
readonly environmentPreparation?: Partial<CiEnvironmentPreparation>;
|
|
42
|
+
}): Record<string, string>;
|
|
30
43
|
export declare function projectDependabotConfig(policy: DependencyMaintenancePolicy): string;
|
|
44
|
+
/** Limited substitution for the Foundation-owned Dependabot Template Source. */
|
|
45
|
+
export declare function projectDependabotTemplateReplacements(policy: DependencyMaintenancePolicy): Record<string, string>;
|
|
31
46
|
export {};
|