@ykdz/template 0.0.23 → 0.0.24
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 +85 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +797 -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 +134 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +36 -0
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +106 -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 +138 -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 +408 -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 +94 -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 +179 -0
- package/node_modules/@ykdz/template-builtin-presets/package.json +67 -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/.pnpmfile.cts +14 -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 +23 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +29 -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/tsconfig.json +4 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +18 -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-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 +21 -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 +83 -21
- 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 +1 -0
- 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 +2 -1
- 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-core/dist/Cargo.toml +1 -1
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.d.ts +9 -0
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.js +54 -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 +31 -2
- package/node_modules/@ykdz/template-core/dist/module-graph.js +40 -0
- package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +43 -0
- package/node_modules/@ykdz/template-core/dist/package-contribution.js +24 -0
- package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +24 -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 +8 -1
- package/node_modules/@ykdz/template-core/dist/project-github.js +86 -8
- 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 → template-builtin-presets}/templates/vike-app/db/turbo.json +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/turbo.json +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/playwright.config.ts +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/templates/vike-app → template-builtin-presets/templates/vue-hono-app}/web/turbo.json +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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"composite": true,
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"declarationMap": true,
|
|
6
|
+
"erasableSyntaxOnly": true,
|
|
7
|
+
"exactOptionalPropertyTypes": true,
|
|
8
|
+
"forceConsistentCasingInFileNames": true,
|
|
9
|
+
"isolatedModules": true,
|
|
10
|
+
"module": "nodenext",
|
|
11
|
+
"moduleResolution": "nodenext",
|
|
12
|
+
"noEmitOnError": true,
|
|
13
|
+
"noFallthroughCasesInSwitch": true,
|
|
14
|
+
"noImplicitOverride": true,
|
|
15
|
+
"noImplicitReturns": true,
|
|
16
|
+
"noUncheckedIndexedAccess": true,
|
|
17
|
+
"rewriteRelativeImportExtensions": true,
|
|
18
|
+
"skipLibCheck": false,
|
|
19
|
+
"strict": true,
|
|
20
|
+
"target": "es2023",
|
|
21
|
+
"types": ["node", "vitest/globals"],
|
|
22
|
+
"verbatimModuleSyntax": true
|
|
23
|
+
},
|
|
24
|
+
"include": ["src/**/*.ts", "test/**/*.ts", "vitest.config.ts"]
|
|
25
|
+
}
|
|
@@ -4,6 +4,15 @@ export type GeneratedDependencyCatalogOptions = {
|
|
|
4
4
|
readonly dependencies: readonly string[];
|
|
5
5
|
readonly packages?: readonly string[];
|
|
6
6
|
readonly allowBuilds?: Record<string, boolean>;
|
|
7
|
+
readonly dependencyLinker?: {
|
|
8
|
+
readonly kind: "isolated";
|
|
9
|
+
} | {
|
|
10
|
+
readonly kind: "hoisted";
|
|
11
|
+
readonly evidence: string;
|
|
12
|
+
};
|
|
13
|
+
readonly minimumReleaseAgeExclude?: readonly string[];
|
|
14
|
+
readonly overrides?: Readonly<Record<string, string>>;
|
|
15
|
+
readonly pnpmfile?: string;
|
|
7
16
|
};
|
|
8
17
|
export type GeneratedPackageManifestDependencies = {
|
|
9
18
|
readonly dependencies?: Record<string, string>;
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
const exactNpmPackageIdentityPattern = /^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/;
|
|
5
|
+
function assertMinimumReleaseAgeExclusions(exclusions) {
|
|
6
|
+
if (exclusions.some((dependency) => dependency.length === 0)) {
|
|
7
|
+
throw new Error("Dependency maturity exclusions must be non-empty");
|
|
8
|
+
}
|
|
9
|
+
if (new Set(exclusions).size !== exclusions.length) {
|
|
10
|
+
throw new Error("Dependency maturity exclusions must be unique");
|
|
11
|
+
}
|
|
12
|
+
const invalid = exclusions.find((dependency) => dependency.length > 214 ||
|
|
13
|
+
!exactNpmPackageIdentityPattern.test(dependency));
|
|
14
|
+
if (invalid !== undefined) {
|
|
15
|
+
throw new Error(`Dependency maturity exclusions must be exact npm package identities: ${JSON.stringify(invalid)}`);
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
function templateRepositoryRoot() {
|
|
16
19
|
const moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
17
20
|
const candidates = [
|
|
21
|
+
process.env.TEMPLATE_REPOSITORY_ROOT,
|
|
18
22
|
moduleDir,
|
|
19
23
|
path.resolve(moduleDir, ".."),
|
|
20
24
|
path.resolve(moduleDir, "..", ".."),
|
|
21
25
|
path.resolve(moduleDir, "..", "..", ".."),
|
|
22
26
|
];
|
|
23
|
-
return (candidates.find((candidate) =>
|
|
27
|
+
return (candidates.find((candidate) => candidate !== undefined &&
|
|
28
|
+
existsSync(path.join(candidate, "pnpm-workspace.yaml"))) ?? moduleDir);
|
|
24
29
|
}
|
|
25
30
|
function parseTemplateCatalogSection(workspaceYaml, sectionName) {
|
|
26
31
|
const catalog = {};
|
|
@@ -162,7 +167,6 @@ function renderCatalogKey(key) {
|
|
|
162
167
|
return key.startsWith("@") ? JSON.stringify(key) : key;
|
|
163
168
|
}
|
|
164
169
|
export function pnpmWorkspaceYamlWithCatalogDependencies(workspaceYaml, dependencies, templateCatalog = loadTemplateDependencyCatalog()) {
|
|
165
|
-
assertGeneratedDependencyCatalogBoundary(dependencies);
|
|
166
170
|
const catalogStart = workspaceYaml
|
|
167
171
|
.split(/\r?\n/)
|
|
168
172
|
.findIndex((line) => line === "catalog:");
|
|
@@ -195,19 +199,57 @@ export function pnpmWorkspaceYamlWithCatalogDependencies(workspaceYaml, dependen
|
|
|
195
199
|
].join("\n");
|
|
196
200
|
}
|
|
197
201
|
export function renderGeneratedPnpmWorkspaceYaml(options) {
|
|
198
|
-
|
|
202
|
+
assertMinimumReleaseAgeExclusions(options.minimumReleaseAgeExclude ?? []);
|
|
203
|
+
if (options.dependencyLinker?.kind === "hoisted" &&
|
|
204
|
+
(options.dependencyLinker.evidence.trim().length === 0 ||
|
|
205
|
+
options.dependencyLinker.evidence.includes("\n"))) {
|
|
206
|
+
throw new Error("Hoisted linking requires single-line compatibility evidence");
|
|
207
|
+
}
|
|
199
208
|
const catalog = selectTemplateDependencyCatalogEntries(options.dependencies);
|
|
200
209
|
const packages = options.packages ?? ["."];
|
|
210
|
+
const dependencyLinker = options.dependencyLinker?.kind ?? "isolated";
|
|
201
211
|
const lines = [
|
|
202
212
|
"packages:",
|
|
203
213
|
...packages.map((workspacePackage) => ` - ${workspacePackage}`),
|
|
204
214
|
"",
|
|
215
|
+
...(options.dependencyLinker?.kind === "hoisted"
|
|
216
|
+
? [
|
|
217
|
+
`# Hoisted linker compatibility evidence: ${options.dependencyLinker.evidence}`,
|
|
218
|
+
]
|
|
219
|
+
: []),
|
|
220
|
+
`nodeLinker: ${dependencyLinker}`,
|
|
221
|
+
...(options.pnpmfile === undefined
|
|
222
|
+
? []
|
|
223
|
+
: [`pnpmfile: ${options.pnpmfile}`]),
|
|
224
|
+
"autoInstallPeers: false",
|
|
225
|
+
"resolvePeersFromWorkspaceRoot: false",
|
|
226
|
+
"injectWorkspacePackages: true",
|
|
227
|
+
"dedupeInjectedDeps: false",
|
|
228
|
+
"syncInjectedDepsAfterScripts:",
|
|
229
|
+
" - build:run",
|
|
230
|
+
"minimumReleaseAge: 1440",
|
|
231
|
+
"minimumReleaseAgeStrict: true",
|
|
232
|
+
"",
|
|
205
233
|
];
|
|
234
|
+
if (options.minimumReleaseAgeExclude?.length) {
|
|
235
|
+
lines.push("minimumReleaseAgeExclude:", ...options.minimumReleaseAgeExclude
|
|
236
|
+
.toSorted()
|
|
237
|
+
.map((dependency) => ` - ${JSON.stringify(dependency)}`), "");
|
|
238
|
+
}
|
|
206
239
|
if (options.allowBuilds) {
|
|
207
240
|
lines.push("allowBuilds:", ...Object.entries(options.allowBuilds)
|
|
208
241
|
.toSorted(([left], [right]) => left.localeCompare(right))
|
|
209
242
|
.map(([dependency, allowed]) => ` ${dependency}: ${allowed}`), "");
|
|
210
243
|
}
|
|
244
|
+
const overrides = {
|
|
245
|
+
"valibot>typescript": "-",
|
|
246
|
+
...options.overrides,
|
|
247
|
+
};
|
|
248
|
+
if (Object.keys(overrides).length > 0) {
|
|
249
|
+
lines.push("overrides:", ...Object.entries(overrides)
|
|
250
|
+
.toSorted(([left], [right]) => left.localeCompare(right))
|
|
251
|
+
.map(([dependency, version]) => ` ${JSON.stringify(dependency)}: ${JSON.stringify(version)}`), "");
|
|
252
|
+
}
|
|
211
253
|
lines.push("catalog:", ...Object.entries(catalog).map(([dependency, version]) => ` ${renderCatalogKey(dependency)}: ${version}`), "");
|
|
212
254
|
return lines.join("\n");
|
|
213
255
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WriteTextFromFragmentsOperation } from "./renderer.
|
|
1
|
+
import type { TemplateSourceHandle, WriteTextFromFragmentsOperation } from "./renderer.ts";
|
|
2
2
|
export type DevelopmentContainerNodePnpmLayer = {
|
|
3
3
|
readonly kind: "node-pnpm";
|
|
4
4
|
readonly nodeVersion: string;
|
|
@@ -12,9 +12,12 @@ export type DevelopmentContainerRustLayer = {
|
|
|
12
12
|
readonly kind: "rust";
|
|
13
13
|
readonly toolchain: string;
|
|
14
14
|
};
|
|
15
|
-
type
|
|
15
|
+
export type DevelopmentContainerShellCheckLayer = {
|
|
16
|
+
readonly kind: "shellcheck";
|
|
17
|
+
};
|
|
18
|
+
type DevelopmentContainerCapabilityLayer = DevelopmentContainerBrowserTestLayer | DevelopmentContainerShellCheckLayer | DevelopmentContainerRustLayer;
|
|
16
19
|
export type DevelopmentContainerDockerfileFragments = {
|
|
17
|
-
readonly
|
|
20
|
+
readonly source: TemplateSourceHandle;
|
|
18
21
|
readonly nodePnpm: {
|
|
19
22
|
readonly from: string;
|
|
20
23
|
readonly text: string;
|
|
@@ -23,6 +26,10 @@ export type DevelopmentContainerDockerfileFragments = {
|
|
|
23
26
|
readonly from: string;
|
|
24
27
|
readonly text: string;
|
|
25
28
|
} | undefined;
|
|
29
|
+
readonly shellCheck?: {
|
|
30
|
+
readonly from: string;
|
|
31
|
+
readonly text: string;
|
|
32
|
+
} | undefined;
|
|
26
33
|
readonly rust?: {
|
|
27
34
|
readonly from: string;
|
|
28
35
|
readonly text: string;
|
|
@@ -46,6 +53,7 @@ export declare function nodePnpmToolLayer(options: {
|
|
|
46
53
|
readonly packageManagerPin: string;
|
|
47
54
|
}): DevelopmentContainerNodePnpmLayer;
|
|
48
55
|
export declare function browserTestToolLayer(): DevelopmentContainerBrowserTestLayer;
|
|
56
|
+
export declare function shellCheckToolLayer(): DevelopmentContainerShellCheckLayer;
|
|
49
57
|
export declare function rustToolLayer(options?: {
|
|
50
58
|
readonly toolchain?: string;
|
|
51
59
|
}): DevelopmentContainerRustLayer;
|
|
@@ -61,6 +61,9 @@ export function browserTestToolLayer() {
|
|
|
61
61
|
playwrightCliPackage: `@playwright/test@${playwrightTestVersion}`,
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
+
export function shellCheckToolLayer() {
|
|
65
|
+
return { kind: "shellcheck" };
|
|
66
|
+
}
|
|
64
67
|
export function rustToolLayer(options = {}) {
|
|
65
68
|
return { kind: "rust", toolchain: options.toolchain ?? "stable" };
|
|
66
69
|
}
|
|
@@ -80,6 +83,12 @@ function checkedNodePnpmDockerfile(options) {
|
|
|
80
83
|
name: "browser-test",
|
|
81
84
|
text: requireDockerfileFragment(options.dockerfileFragments, "browserTest").text,
|
|
82
85
|
};
|
|
86
|
+
case "shellcheck":
|
|
87
|
+
return {
|
|
88
|
+
kind: "capability",
|
|
89
|
+
name: "shellcheck",
|
|
90
|
+
text: requireDockerfileFragment(options.dockerfileFragments, "shellCheck").text,
|
|
91
|
+
};
|
|
83
92
|
case "rust":
|
|
84
93
|
return {
|
|
85
94
|
kind: "capability",
|
|
@@ -94,19 +103,24 @@ function checkedNodePnpmDockerfile(options) {
|
|
|
94
103
|
function checkedNodePnpmDockerfileFragments(options) {
|
|
95
104
|
return [
|
|
96
105
|
{
|
|
97
|
-
|
|
106
|
+
source: options.dockerfileFragments.source,
|
|
98
107
|
from: options.dockerfileFragments.nodePnpm.from,
|
|
99
108
|
},
|
|
100
109
|
...(options.additionalLayers ?? []).map((layer) => {
|
|
101
110
|
switch (layer.kind) {
|
|
102
111
|
case "browser-test":
|
|
103
112
|
return {
|
|
104
|
-
|
|
113
|
+
source: options.dockerfileFragments.source,
|
|
105
114
|
from: requireDockerfileFragment(options.dockerfileFragments, "browserTest").from,
|
|
106
115
|
};
|
|
116
|
+
case "shellcheck":
|
|
117
|
+
return {
|
|
118
|
+
source: options.dockerfileFragments.source,
|
|
119
|
+
from: requireDockerfileFragment(options.dockerfileFragments, "shellCheck").from,
|
|
120
|
+
};
|
|
107
121
|
case "rust":
|
|
108
122
|
return {
|
|
109
|
-
|
|
123
|
+
source: options.dockerfileFragments.source,
|
|
110
124
|
from: requireDockerfileFragment(options.dockerfileFragments, "rust")
|
|
111
125
|
.from,
|
|
112
126
|
};
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/** Capability identities are supplied by the owning Built-in Presets policy. */
|
|
2
|
+
export type EditorCustomizationCapability = string;
|
|
2
3
|
export type EditorCustomization = {
|
|
3
4
|
readonly extensions: readonly string[];
|
|
4
5
|
readonly settings: Record<string, unknown>;
|
|
5
6
|
};
|
|
6
|
-
export type EditorCustomizationOptions = {
|
|
7
|
-
readonly oxcConfigPaths?: "nested" | {
|
|
8
|
-
readonly lint?: string;
|
|
9
|
-
readonly formatter?: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
7
|
type CapabilityProjection = {
|
|
13
8
|
readonly extensions: readonly string[];
|
|
14
9
|
readonly settings: Record<string, unknown>;
|
|
15
10
|
};
|
|
16
11
|
export type EditorCustomizationDeclarations = {
|
|
17
|
-
readonly
|
|
12
|
+
readonly capabilityOrder: readonly EditorCustomizationCapability[];
|
|
13
|
+
readonly capabilities: Readonly<Record<EditorCustomizationCapability, CapabilityProjection>>;
|
|
18
14
|
};
|
|
19
15
|
export declare function loadEditorCustomizationDeclarations(resourcePath: string): EditorCustomizationDeclarations;
|
|
20
|
-
export declare function editorCustomizationForCapabilities(capabilities: readonly EditorCustomizationCapability[], declarations: EditorCustomizationDeclarations
|
|
16
|
+
export declare function editorCustomizationForCapabilities(capabilities: readonly EditorCustomizationCapability[], declarations: EditorCustomizationDeclarations): EditorCustomization;
|
|
21
17
|
export {};
|
|
@@ -1,28 +1,12 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import * as v from "valibot";
|
|
3
|
-
const capabilityOrder = [
|
|
4
|
-
"oxc-format-lint",
|
|
5
|
-
"vue",
|
|
6
|
-
"tailwind",
|
|
7
|
-
"rust-tooling",
|
|
8
|
-
"vitest",
|
|
9
|
-
];
|
|
10
|
-
const defaultOxcConfigPaths = {
|
|
11
|
-
formatter: "./oxfmt.config.ts",
|
|
12
|
-
lint: "./oxlint.config.ts",
|
|
13
|
-
};
|
|
14
3
|
const capabilityProjectionSchema = v.object({
|
|
15
4
|
extensions: v.array(v.string()),
|
|
16
5
|
settings: v.record(v.string(), v.unknown()),
|
|
17
6
|
});
|
|
18
7
|
const editorCustomizationDeclarationsSchema = v.object({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
vue: capabilityProjectionSchema,
|
|
22
|
-
tailwind: capabilityProjectionSchema,
|
|
23
|
-
"rust-tooling": capabilityProjectionSchema,
|
|
24
|
-
vitest: capabilityProjectionSchema,
|
|
25
|
-
}),
|
|
8
|
+
capabilityOrder: v.array(v.string()),
|
|
9
|
+
capabilities: v.record(v.string(), capabilityProjectionSchema),
|
|
26
10
|
});
|
|
27
11
|
function editorCustomizationDeclarationIssuePath(issue) {
|
|
28
12
|
const segments = issue.path?.flatMap((item) => typeof item.key === "string" || typeof item.key === "number"
|
|
@@ -62,43 +46,21 @@ export function loadEditorCustomizationDeclarations(resourcePath) {
|
|
|
62
46
|
}
|
|
63
47
|
return result.output;
|
|
64
48
|
}
|
|
65
|
-
function oxcConfigPathSettings(configPaths) {
|
|
66
|
-
if (configPaths === "nested") {
|
|
67
|
-
return {};
|
|
68
|
-
}
|
|
69
|
-
const paths = {
|
|
70
|
-
...defaultOxcConfigPaths,
|
|
71
|
-
...configPaths,
|
|
72
|
-
};
|
|
73
|
-
return {
|
|
74
|
-
"oxc.configPath": paths.lint,
|
|
75
|
-
"oxc.fmt.configPath": paths.formatter,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function oxcProjection(options) {
|
|
79
|
-
const baseProjection = options.declarations.capabilities["oxc-format-lint"];
|
|
80
|
-
return {
|
|
81
|
-
extensions: baseProjection.extensions,
|
|
82
|
-
settings: {
|
|
83
|
-
...baseProjection.settings,
|
|
84
|
-
...oxcConfigPathSettings(options.editorOptions?.oxcConfigPaths),
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
49
|
function mergeSettings(base, patch) {
|
|
89
50
|
return { ...base, ...patch };
|
|
90
51
|
}
|
|
91
|
-
export function editorCustomizationForCapabilities(capabilities, declarations
|
|
52
|
+
export function editorCustomizationForCapabilities(capabilities, declarations) {
|
|
92
53
|
const selected = new Set(capabilities);
|
|
93
54
|
const extensions = new Set();
|
|
94
55
|
let settings = {};
|
|
95
|
-
for (const capability of capabilityOrder) {
|
|
56
|
+
for (const capability of declarations.capabilityOrder) {
|
|
96
57
|
if (!selected.has(capability)) {
|
|
97
58
|
continue;
|
|
98
59
|
}
|
|
99
|
-
const projection = capability
|
|
100
|
-
|
|
101
|
-
|
|
60
|
+
const projection = declarations.capabilities[capability];
|
|
61
|
+
if (projection === undefined) {
|
|
62
|
+
throw new Error(`Editor customization policy orders undeclared capability ${capability}`);
|
|
63
|
+
}
|
|
102
64
|
for (const extension of projection.extensions) {
|
|
103
65
|
extensions.add(extension);
|
|
104
66
|
}
|
|
@@ -9,7 +9,7 @@ export type WorkspaceOrchestrationOwner = {
|
|
|
9
9
|
export type ComponentOwner = PackageBoundaryOwner | WorkspaceOrchestrationOwner;
|
|
10
10
|
export type CheckComponentKind = "typescript-typecheck" | "oxc-lint" | "oxc-format-check" | "build" | "unit-test" | "e2e-test" | "turbo-check" | "turbo-package-typecheck" | "turbo-package-build" | "turbo-package-test" | "turbo-package-e2e-test" | "turbo-package-check" | "rustfmt-check" | "cargo-clippy" | "cargo-test";
|
|
11
11
|
export type FixComponentKind = "oxc-format-write" | "oxc-lint-fix" | "turbo-fix" | "turbo-package-fix" | "rustfmt-write";
|
|
12
|
-
export type
|
|
12
|
+
export type PlaywrightBrowserAssetsEnvironmentNeed = {
|
|
13
13
|
readonly kind: "playwright-browser-assets";
|
|
14
14
|
readonly browser: "chromium";
|
|
15
15
|
readonly owner: ComponentOwner;
|
|
@@ -22,6 +22,34 @@ export type CheckEnvironmentNeed = {
|
|
|
22
22
|
readonly machineVerifiable: boolean;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
+
export type ShellCheckEnvironmentNeed = {
|
|
26
|
+
readonly kind: "shellcheck-command";
|
|
27
|
+
readonly owner: ComponentOwner;
|
|
28
|
+
readonly nextStep: {
|
|
29
|
+
readonly id: "install-shellcheck";
|
|
30
|
+
readonly label: "Install ShellCheck";
|
|
31
|
+
readonly command: "sudo";
|
|
32
|
+
readonly args: readonly string[];
|
|
33
|
+
readonly display: "sudo apt-get update && sudo apt-get install -y shellcheck";
|
|
34
|
+
readonly machineVerifiable: false;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/** Rust check components require the maintained toolchain in local and CI plans. */
|
|
38
|
+
export type RustToolchainEnvironmentNeed = {
|
|
39
|
+
readonly kind: "rust-toolchain";
|
|
40
|
+
readonly owner: ComponentOwner;
|
|
41
|
+
readonly toolchain: "stable";
|
|
42
|
+
readonly nextStep: {
|
|
43
|
+
readonly id: "install-rust-toolchain";
|
|
44
|
+
readonly label: "Install Rust toolchain";
|
|
45
|
+
readonly command: "rustup";
|
|
46
|
+
readonly args: readonly string[];
|
|
47
|
+
readonly display: "rustup toolchain install stable --component rustfmt --component clippy";
|
|
48
|
+
readonly machineVerifiable: boolean;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type CheckEnvironmentNeed = PlaywrightBrowserAssetsEnvironmentNeed | ShellCheckEnvironmentNeed | RustToolchainEnvironmentNeed;
|
|
52
|
+
export declare function rustToolchainEnvironmentNeed(owner: ComponentOwner): RustToolchainEnvironmentNeed;
|
|
25
53
|
export type CheckComponent = {
|
|
26
54
|
readonly kind: CheckComponentKind;
|
|
27
55
|
readonly owner: ComponentOwner;
|
|
@@ -66,4 +94,5 @@ export declare function playwrightBrowserAssetsEnvironmentNeed(options: {
|
|
|
66
94
|
readonly id?: string;
|
|
67
95
|
readonly label?: string;
|
|
68
96
|
readonly machineVerifiable?: boolean;
|
|
69
|
-
}):
|
|
97
|
+
}): PlaywrightBrowserAssetsEnvironmentNeed;
|
|
98
|
+
export declare function shellCheckEnvironmentNeed(owner: ComponentOwner): ShellCheckEnvironmentNeed;
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
export function rustToolchainEnvironmentNeed(owner) {
|
|
2
|
+
return {
|
|
3
|
+
kind: "rust-toolchain",
|
|
4
|
+
owner,
|
|
5
|
+
toolchain: "stable",
|
|
6
|
+
nextStep: {
|
|
7
|
+
id: "install-rust-toolchain",
|
|
8
|
+
label: "Install Rust toolchain",
|
|
9
|
+
command: "rustup",
|
|
10
|
+
args: [
|
|
11
|
+
"toolchain",
|
|
12
|
+
"install",
|
|
13
|
+
"stable",
|
|
14
|
+
"--component",
|
|
15
|
+
"rustfmt",
|
|
16
|
+
"--component",
|
|
17
|
+
"clippy",
|
|
18
|
+
],
|
|
19
|
+
display: "rustup toolchain install stable --component rustfmt --component clippy",
|
|
20
|
+
machineVerifiable: false,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
1
24
|
function renderTurboPackageFilter(owner) {
|
|
2
25
|
if (owner.kind !== "package-boundary") {
|
|
3
26
|
throw new Error("Turbo package tasks require a Package Boundary owner.");
|
|
@@ -157,6 +180,9 @@ function playwrightBrowserInstallArgs(need, options = {}) {
|
|
|
157
180
|
return installArgs;
|
|
158
181
|
}
|
|
159
182
|
export function renderPlaywrightBrowserInstallCommand(need, options = {}) {
|
|
183
|
+
if (need.kind !== "playwright-browser-assets") {
|
|
184
|
+
throw new Error("Playwright install requires browser assets.");
|
|
185
|
+
}
|
|
160
186
|
return ["pnpm", ...playwrightBrowserInstallArgs(need, options)].join(" ");
|
|
161
187
|
}
|
|
162
188
|
export function playwrightBrowserAssetsNextStepDescriptor(owner) {
|
|
@@ -188,3 +214,17 @@ export function playwrightBrowserAssetsEnvironmentNeed(options) {
|
|
|
188
214
|
},
|
|
189
215
|
};
|
|
190
216
|
}
|
|
217
|
+
export function shellCheckEnvironmentNeed(owner) {
|
|
218
|
+
return {
|
|
219
|
+
kind: "shellcheck-command",
|
|
220
|
+
owner,
|
|
221
|
+
nextStep: {
|
|
222
|
+
id: "install-shellcheck",
|
|
223
|
+
label: "Install ShellCheck",
|
|
224
|
+
command: "sudo",
|
|
225
|
+
args: ["sh", "-c", "apt-get update && apt-get install -y shellcheck"],
|
|
226
|
+
display: "sudo apt-get update && sudo apt-get install -y shellcheck",
|
|
227
|
+
machineVerifiable: false,
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { EditorCustomizationCapability } from "./editor-customization.ts";
|
|
2
|
+
import type { CheckComponent, CheckEnvironmentNeed, DeploymentCheckComponent, FixComponent } 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 checks: readonly CheckComponent[];
|
|
35
|
+
readonly fixes: readonly FixComponent[];
|
|
36
|
+
readonly environmentNeeds: readonly CheckEnvironmentNeed[];
|
|
37
|
+
/** Deployment checks are package-owned and composed by the Foundation. */
|
|
38
|
+
readonly deploymentChecks?: readonly DeploymentCheckComponent[];
|
|
39
|
+
};
|
|
40
|
+
export declare function assertPackageContribution(contribution: PackageContribution, provenance?: {
|
|
41
|
+
readonly definitionName?: string;
|
|
42
|
+
readonly planner?: string;
|
|
43
|
+
}): PackageContribution;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function assertPackageContribution(contribution, provenance = {}) {
|
|
2
|
+
if (contribution.definition.name !== contribution.manifest.name) {
|
|
3
|
+
throw new Error("Package Contribution manifest name must match its Package Definition");
|
|
4
|
+
}
|
|
5
|
+
const operationPath = (operation) => {
|
|
6
|
+
if ("to" in operation)
|
|
7
|
+
return operation.to;
|
|
8
|
+
if ("path" in operation)
|
|
9
|
+
return operation.path;
|
|
10
|
+
return "";
|
|
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,28 @@
|
|
|
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
|
+
- build:run
|
|
15
|
+
|
|
16
|
+
minimumReleaseAge: 1440
|
|
17
|
+
|
|
18
|
+
minimumReleaseAgeStrict: true
|
|
19
|
+
|
|
20
|
+
overrides:
|
|
21
|
+
"pinia>typescript": "-"
|
|
22
|
+
"valibot>typescript": "-"
|
|
23
|
+
"vue>typescript": "-"
|
|
5
24
|
|
|
6
25
|
catalog:
|
|
7
|
-
"@typescript/native": npm:typescript@^7.0.2
|
|
8
|
-
"@typescript/typescript6": ^6.0.2
|
|
9
26
|
"@hono/node-server": ^2.0.6
|
|
10
27
|
"@playwright/test": ^1.61.1
|
|
11
28
|
"@tailwindcss/vite": ^4.3.2
|
|
@@ -21,14 +38,16 @@ catalog:
|
|
|
21
38
|
oxfmt: ^0.58.0
|
|
22
39
|
oxlint: ^1.73.0
|
|
23
40
|
oxlint-tsgolint: ^0.24.0
|
|
41
|
+
semver: ^7.8.5
|
|
42
|
+
"@types/semver": ^7.7.1
|
|
24
43
|
pinia: ^3.0.4
|
|
25
44
|
srvx: ^0.11.21
|
|
26
45
|
tailwindcss: ^4.3.2
|
|
27
46
|
telefunc: ^0.2.22
|
|
28
47
|
tsc-alias: ^1.8.17
|
|
29
|
-
tsx: ^4.23.0
|
|
30
48
|
turbo: 2.10.2
|
|
31
|
-
typescript:
|
|
49
|
+
typescript: npm:@typescript/typescript6@^6.0.2
|
|
50
|
+
typescript-7: npm:typescript@^7.0.2
|
|
32
51
|
valibot: ^1.4.2
|
|
33
52
|
vite: ^8.1.4
|
|
34
53
|
vike: ^0.4.260
|
|
@@ -40,6 +59,3 @@ catalog:
|
|
|
40
59
|
|
|
41
60
|
allowBuilds:
|
|
42
61
|
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 {};
|