ddd-ts-kit 0.1.0 → 0.1.1
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/README.md +43 -3
- package/dist/affected/changed-paths.d.ts +8 -0
- package/dist/affected/changed-paths.d.ts.map +1 -0
- package/dist/affected/changed-paths.js +21 -0
- package/dist/affected/changed-paths.js.map +1 -0
- package/dist/affected/downstreams-of.d.ts +4 -0
- package/dist/affected/downstreams-of.d.ts.map +1 -0
- package/dist/affected/downstreams-of.js +16 -0
- package/dist/affected/downstreams-of.js.map +1 -0
- package/dist/affected/everything.d.ts +5 -0
- package/dist/affected/everything.d.ts.map +1 -0
- package/dist/affected/everything.js +5 -0
- package/dist/affected/everything.js.map +1 -0
- package/dist/affected/format-selection.d.ts +10 -0
- package/dist/affected/format-selection.d.ts.map +1 -0
- package/dist/affected/format-selection.js +45 -0
- package/dist/affected/format-selection.js.map +1 -0
- package/dist/affected/path-reach.d.ts +12 -0
- package/dist/affected/path-reach.d.ts.map +1 -0
- package/dist/affected/path-reach.js +2 -0
- package/dist/affected/path-reach.js.map +1 -0
- package/dist/affected/reach-of.d.ts +10 -0
- package/dist/affected/reach-of.d.ts.map +1 -0
- package/dist/affected/reach-of.js +30 -0
- package/dist/affected/reach-of.js.map +1 -0
- package/dist/affected/select-affected.d.ts +11 -0
- package/dist/affected/select-affected.d.ts.map +1 -0
- package/dist/affected/select-affected.js +39 -0
- package/dist/affected/select-affected.js.map +1 -0
- package/dist/affected/selection.d.ts +14 -0
- package/dist/affected/selection.d.ts.map +1 -0
- package/dist/affected/selection.js +2 -0
- package/dist/affected/selection.js.map +1 -0
- package/dist/commands/affected.d.ts +8 -0
- package/dist/commands/affected.d.ts.map +1 -0
- package/dist/commands/affected.js +38 -0
- package/dist/commands/affected.js.map +1 -0
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +2 -0
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +5 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/parse-stack.d.ts.map +1 -1
- package/dist/config/parse-stack.js +2 -1
- package/dist/config/parse-stack.js.map +1 -1
- package/dist/config/serialize-config.js +2 -2
- package/dist/config/serialize-config.js.map +1 -1
- package/dist/config/stack.d.ts +7 -0
- package/dist/config/stack.d.ts.map +1 -1
- package/dist/config/stack.js +1 -0
- package/dist/config/stack.js.map +1 -1
- package/dist/depcruise/cruise-configuration.js +3 -1
- package/dist/depcruise/cruise-configuration.js.map +1 -1
- package/dist/generate/apply-wiring.js +1 -1
- package/dist/generate/apply-wiring.js.map +1 -1
- package/dist/generate/kinds/adapter-kind.d.ts.map +1 -1
- package/dist/generate/kinds/adapter-kind.js +5 -2
- package/dist/generate/kinds/adapter-kind.js.map +1 -1
- package/dist/generate/kinds/declare-context-entries.d.ts +10 -0
- package/dist/generate/kinds/declare-context-entries.d.ts.map +1 -0
- package/dist/generate/kinds/declare-context-entries.js +31 -0
- package/dist/generate/kinds/declare-context-entries.js.map +1 -0
- package/dist/generate/kinds/generate-context.d.ts.map +1 -1
- package/dist/generate/kinds/generate-context.js +2 -0
- package/dist/generate/kinds/generate-context.js.map +1 -1
- package/dist/generate/kinds/import-assembler.d.ts +9 -0
- package/dist/generate/kinds/import-assembler.d.ts.map +1 -0
- package/dist/generate/kinds/import-assembler.js +29 -0
- package/dist/generate/kinds/import-assembler.js.map +1 -0
- package/dist/generate/kinds/write-context-files.d.ts.map +1 -1
- package/dist/generate/kinds/write-context-files.js +10 -2
- package/dist/generate/kinds/write-context-files.js.map +1 -1
- package/dist/generate/kinds/write-own-policy.d.ts +9 -0
- package/dist/generate/kinds/write-own-policy.d.ts.map +1 -0
- package/dist/generate/kinds/write-own-policy.js +13 -0
- package/dist/generate/kinds/write-own-policy.js.map +1 -0
- package/dist/generate/shared-writes.d.ts.map +1 -1
- package/dist/generate/shared-writes.js +6 -0
- package/dist/generate/shared-writes.js.map +1 -1
- package/dist/generate/stop-ignoring-validation.d.ts +9 -0
- package/dist/generate/stop-ignoring-validation.d.ts.map +1 -0
- package/dist/generate/stop-ignoring-validation.js +36 -0
- package/dist/generate/stop-ignoring-validation.js.map +1 -0
- package/dist/init/files/architecture-files.d.ts +9 -0
- package/dist/init/files/architecture-files.d.ts.map +1 -0
- package/dist/init/files/architecture-files.js +10 -0
- package/dist/init/files/architecture-files.js.map +1 -0
- package/dist/init/files/init-files.d.ts.map +1 -1
- package/dist/init/files/init-files.js +2 -0
- package/dist/init/files/init-files.js.map +1 -1
- package/dist/init/files/persistence-files.d.ts.map +1 -1
- package/dist/init/files/persistence-files.js +5 -1
- package/dist/init/files/persistence-files.js.map +1 -1
- package/dist/init/files/pipeline-files.d.ts.map +1 -1
- package/dist/init/files/pipeline-files.js +5 -1
- package/dist/init/files/pipeline-files.js.map +1 -1
- package/dist/init/files/platform-files.d.ts.map +1 -1
- package/dist/init/files/platform-files.js +3 -1
- package/dist/init/files/platform-files.js.map +1 -1
- package/dist/init/files/project-files.d.ts.map +1 -1
- package/dist/init/files/project-files.js +3 -1
- package/dist/init/files/project-files.js.map +1 -1
- package/dist/init/knip-vars.d.ts +3 -3
- package/dist/init/knip-vars.d.ts.map +1 -1
- package/dist/init/knip-vars.js +27 -5
- package/dist/init/knip-vars.js.map +1 -1
- package/dist/init/manifest/documentation-scripts.d.ts.map +1 -1
- package/dist/init/manifest/documentation-scripts.js +2 -0
- package/dist/init/manifest/documentation-scripts.js.map +1 -1
- package/dist/init/manifest/scripts-for.d.ts +5 -1
- package/dist/init/manifest/scripts-for.d.ts.map +1 -1
- package/dist/init/manifest/scripts-for.js +10 -1
- package/dist/init/manifest/scripts-for.js.map +1 -1
- package/dist/init/manifest/versions.js +23 -23
- package/dist/init/manifest/write-manifest.d.ts.map +1 -1
- package/dist/init/manifest/write-manifest.js +18 -1
- package/dist/init/manifest/write-manifest.js.map +1 -1
- package/dist/init/run-init.d.ts.map +1 -1
- package/dist/init/run-init.js +24 -4
- package/dist/init/run-init.js.map +1 -1
- package/dist/init/stack/resolve-stack.d.ts.map +1 -1
- package/dist/init/stack/resolve-stack.js +3 -1
- package/dist/init/stack/resolve-stack.js.map +1 -1
- package/dist/init/stack/stack-options.d.ts +1 -0
- package/dist/init/stack/stack-options.d.ts.map +1 -1
- package/dist/init/template-vars.d.ts.map +1 -1
- package/dist/init/template-vars.js +2 -0
- package/dist/init/template-vars.js.map +1 -1
- package/dist/init/validation-dependencies.d.ts +10 -0
- package/dist/init/validation-dependencies.d.ts.map +1 -0
- package/dist/init/validation-dependencies.js +23 -0
- package/dist/init/validation-dependencies.js.map +1 -0
- package/dist/init/write-contracts.d.ts +10 -0
- package/dist/init/write-contracts.d.ts.map +1 -0
- package/dist/init/write-contracts.js +33 -0
- package/dist/init/write-contracts.js.map +1 -0
- package/dist/package-manager/default-package-manager.d.ts +8 -0
- package/dist/package-manager/default-package-manager.d.ts.map +1 -0
- package/dist/package-manager/default-package-manager.js +7 -0
- package/dist/package-manager/default-package-manager.js.map +1 -0
- package/dist/package-manager/dialect.d.ts +3 -0
- package/dist/package-manager/dialect.d.ts.map +1 -0
- package/dist/package-manager/dialect.js +2 -0
- package/dist/package-manager/dialect.js.map +1 -0
- package/dist/package-manager/dialects.d.ts +5 -0
- package/dist/package-manager/dialects.d.ts.map +1 -0
- package/dist/package-manager/dialects.js +21 -0
- package/dist/package-manager/dialects.js.map +1 -0
- package/dist/package-manager/in-dialect.d.ts +8 -0
- package/dist/package-manager/in-dialect.d.ts.map +1 -0
- package/dist/package-manager/in-dialect.js +10 -0
- package/dist/package-manager/in-dialect.js.map +1 -0
- package/dist/package-manager/lockfiles.d.ts +4 -0
- package/dist/package-manager/lockfiles.d.ts.map +1 -0
- package/dist/package-manager/lockfiles.js +6 -0
- package/dist/package-manager/lockfiles.js.map +1 -0
- package/dist/package-manager/package-manager-of.d.ts +4 -0
- package/dist/package-manager/package-manager-of.d.ts.map +1 -0
- package/dist/package-manager/package-manager-of.js +15 -0
- package/dist/package-manager/package-manager-of.js.map +1 -0
- package/dist/package-manager/package-manager-vars.d.ts +5 -0
- package/dist/package-manager/package-manager-vars.d.ts.map +1 -0
- package/dist/package-manager/package-manager-vars.js +13 -0
- package/dist/package-manager/package-manager-vars.js.map +1 -0
- package/dist/package-manager/pinned-package-managers.d.ts +7 -0
- package/dist/package-manager/pinned-package-managers.d.ts.map +1 -0
- package/dist/package-manager/pinned-package-managers.js +9 -0
- package/dist/package-manager/pinned-package-managers.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +8 -2
- package/dist/run.js.map +1 -1
- package/dist/templating/render.d.ts.map +1 -1
- package/dist/templating/render.js +2 -1
- package/dist/templating/render.js.map +1 -1
- package/dist/templating/rendering.js +1 -1
- package/dist/templating/rendering.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace/workspace.d.ts +5 -1
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/dist/workspace/workspace.js +13 -3
- package/dist/workspace/workspace.js.map +1 -1
- package/package.json +2 -2
- package/templates/architecture/extractable.declared.spec.ts.tpl +6 -6
- package/templates/architecture/extractable.manual.spec.ts.tpl +4 -0
- package/templates/architecture/extractable.tsyringe.spec.ts.tpl +6 -0
- package/templates/docs/asyncapi.json.tpl +12 -0
- package/templates/docs/event-catalog.md +3 -0
- package/templates/docs/openapi.json.tpl +354 -0
- package/templates/init/README.md.tpl +1 -0
- package/templates/init/docker/Dockerfile.tpl +9 -2
- package/templates/init/jest.config.js.tpl +3 -1
- package/templates/init/platform/compose-application.tsyringe.ts.tpl +0 -6
- package/templates/init/platform/database/journal.drizzle.json +5 -0
- package/templates/init/pnpm-workspace.yaml +8 -0
- package/templates/init/rules/infrastructure.md.tpl +2 -2
- package/templates/init/scripts/events.ts.tpl +1 -1
- package/templates/init/scripts/openapi.ts.tpl +1 -1
- package/templates/pipeline/biome.json.tpl +2 -1
- package/templates/pipeline/github/actions/setup/action.yml.tpl +37 -0
- package/templates/pipeline/github/scripts/start-postgres.sh +47 -0
- package/templates/pipeline/github/workflows/ci.yml +68 -110
- package/templates/pipeline/github/workflows/pr-title.yml +1 -5
- package/templates/pipeline/gitlab/{gitlab-ci.yml → gitlab-ci.yml.tpl} +59 -31
- package/templates/pipeline/knip.json.tpl +9 -10
- package/templates/pipeline/package-scripts.json +1 -1
- package/templates/pipeline/vitest.config.ts.tpl +7 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-ignoring-validation.js","sourceRoot":"","sources":["../../src/generate/stop-ignoring-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAa,EAAE,MAAc;IAClE,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IAElC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,iDAAiD;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,EAAa;IAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,IAAI,GAAY,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAAY,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1G,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtG,CAAC;AAED,+EAA+E;AAC/E,SAAS,OAAO,CAAC,EAAa,EAAE,MAAc,EAAE,IAAY;IAC1D,MAAM,KAAK,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;IAE5G,OAAO,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;SACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Config } from '../../config/index.js';
|
|
2
|
+
import type { InitFile } from './init-file.js';
|
|
3
|
+
/**
|
|
4
|
+
* The proof that the platform wires alone, which each context then joins: there from the start,
|
|
5
|
+
* so that a project has a spec to run, and a use for the platform of its tests, before its
|
|
6
|
+
* first context.
|
|
7
|
+
*/
|
|
8
|
+
export declare function architectureFiles(config: Config): InitFile[];
|
|
9
|
+
//# sourceMappingURL=architecture-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/architecture-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAE5D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { wiringFamily } from '../../generate/wiring-family.js';
|
|
2
|
+
/**
|
|
3
|
+
* The proof that the platform wires alone, which each context then joins: there from the start,
|
|
4
|
+
* so that a project has a spec to run, and a use for the platform of its tests, before its
|
|
5
|
+
* first context.
|
|
6
|
+
*/
|
|
7
|
+
export function architectureFiles(config) {
|
|
8
|
+
return [['test/architecture/extractable.spec.ts', `architecture/extractable.${wiringFamily(config)}.spec.ts.tpl`]];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=architecture-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture-files.js","sourceRoot":"","sources":["../../../src/init/files/architecture-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,CAAC,uCAAuC,EAAE,4BAA4B,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AACrH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/init-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"init-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/init-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,CAazE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { architectureFiles } from './architecture-files.js';
|
|
1
2
|
import { auditFiles } from './audit-files.js';
|
|
2
3
|
import { authFiles } from './auth-files.js';
|
|
3
4
|
import { endToEndFiles } from './end-to-end-files.js';
|
|
@@ -16,6 +17,7 @@ export function initFiles(config, projectName) {
|
|
|
16
17
|
...persistenceFiles(config),
|
|
17
18
|
...scriptFiles(config),
|
|
18
19
|
...endToEndFiles(config),
|
|
20
|
+
...architectureFiles(config),
|
|
19
21
|
...pipelineFiles(config),
|
|
20
22
|
...guidanceFiles(),
|
|
21
23
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-files.js","sourceRoot":"","sources":["../../../src/init/files/init-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,WAAmB;IAC3D,OAAO;QACL,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;QACpC,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,aAAa,EAAE;KACnB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"init-files.js","sourceRoot":"","sources":["../../../src/init/files/init-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,WAAmB;IAC3D,OAAO;QACL,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;QACpC,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,GAAG,aAAa,EAAE;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/persistence-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"persistence-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/persistence-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA4D/C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAQ3D"}
|
|
@@ -35,7 +35,11 @@ function onDatabase(orm, opening) {
|
|
|
35
35
|
];
|
|
36
36
|
}
|
|
37
37
|
const TOOLING = {
|
|
38
|
-
drizzle: [
|
|
38
|
+
drizzle: [
|
|
39
|
+
['drizzle.config.ts', 'init/platform/database/drizzle.config.ts.tpl'],
|
|
40
|
+
// The journal of drizzle-kit, with no migration yet: `db:migrate` applies nothing instead of failing on a project that has generated none, and `db:generate` writes the first one from it.
|
|
41
|
+
['migrations/meta/_journal.json', 'init/platform/database/journal.drizzle.json'],
|
|
42
|
+
],
|
|
39
43
|
knex: [
|
|
40
44
|
['knexfile.js', 'init/platform/database/knexfile.js.tpl'],
|
|
41
45
|
['migrations/0001_initial.js', 'init/platform/database/migration.knex.js.tpl'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence-files.js","sourceRoot":"","sources":["../../../src/init/files/persistence-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAErC,MAAM,SAAS,GAAa;IAC1B,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5B,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACjC,CAAC,KAAK,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,2GAA2G;AAC3G,MAAM,WAAW,GAAuC;IACtD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,mCAAmC,CAAC,CAAC;IAC7D,OAAO,EAAE;QACP,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;QAClC,CAAC,aAAa,EAAE,SAAS,CAAC;QAC1B,CAAC,wBAAwB,EAAE,SAAS,CAAC;QACrC,CAAC,WAAW,EAAE,SAAS,CAAC;KACzB;IACD,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClG,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACtG,OAAO,EAAE;QACP,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;QACnC,CAAC,uBAAuB,EAAE,SAAS,CAAC;QACpC,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,gBAAgB,EAAE,SAAS,CAAC;KAC9B;CACF,CAAC;AAEF,6GAA6G;AAC7G,SAAS,UAAU,CAAC,GAAW,EAAE,OAAe;IAC9C,OAAO;QACL,CAAC,gBAAgB,EAAE,KAAK,CAAC;QACzB,CAAC,qBAAqB,EAAE,OAAO,CAAC;QAChC,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,qBAAqB,EAAE,GAAG,CAAC;QAC5B,CAAC,uBAAuB,EAAE,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAyC;IACpD,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"persistence-files.js","sourceRoot":"","sources":["../../../src/init/files/persistence-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/pipeline-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/pipeline-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAoB/C,8GAA8G;AAC9G,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYxD"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { when } from './when.js';
|
|
2
2
|
const GITHUB = [
|
|
3
3
|
['.github/workflows/ci.yml', 'pipeline/github/workflows/ci.yml'],
|
|
4
|
+
// What every job starts with: Node, then the dependencies, installed once per lockfile and restored after.
|
|
5
|
+
['.github/actions/setup/action.yml', 'pipeline/github/actions/setup/action.yml.tpl'],
|
|
6
|
+
// The database of the specs, started in a step that retries the pull instead of a service container.
|
|
7
|
+
['.github/scripts/start-postgres.sh', 'pipeline/github/scripts/start-postgres.sh'],
|
|
4
8
|
['.github/workflows/codeql.yml', 'pipeline/github/workflows/codeql.yml'],
|
|
5
9
|
['.github/workflows/pr-title.yml', 'pipeline/github/workflows/pr-title.yml'],
|
|
6
10
|
['.github/dependabot.yml', 'pipeline/github/dependabot.yml'],
|
|
7
11
|
['.github/branch-protection.md', 'pipeline/github/branch-protection.md'],
|
|
8
12
|
];
|
|
9
13
|
const GITLAB = [
|
|
10
|
-
['.gitlab-ci.yml', 'pipeline/gitlab/gitlab-ci.yml'],
|
|
14
|
+
['.gitlab-ci.yml', 'pipeline/gitlab/gitlab-ci.yml.tpl'],
|
|
11
15
|
['.gitlab/merge-request-settings.md', 'pipeline/gitlab/merge-request-settings.md'],
|
|
12
16
|
];
|
|
13
17
|
/** The pipeline of the chosen platform. Renovate serves both; Dependabot is the GitHub-native alternative. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-files.js","sourceRoot":"","sources":["../../../src/init/files/pipeline-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,GAAwB;IAClC,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;IAChE,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;IACxE,CAAC,gCAAgC,EAAE,wCAAwC,CAAC;IAC5E,CAAC,wBAAwB,EAAE,gCAAgC,CAAC;IAC5D,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,GAAwB;IAClC,CAAC,gBAAgB,EAAE
|
|
1
|
+
{"version":3,"file":"pipeline-files.js","sourceRoot":"","sources":["../../../src/init/files/pipeline-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,GAAwB;IAClC,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;IAChE,2GAA2G;IAC3G,CAAC,kCAAkC,EAAE,8CAA8C,CAAC;IACpF,qGAAqG;IACrG,CAAC,mCAAmC,EAAE,2CAA2C,CAAC;IAClF,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;IACxE,CAAC,gCAAgC,EAAE,wCAAwC,CAAC;IAC5E,CAAC,wBAAwB,EAAE,gCAAgC,CAAC;IAC5D,CAAC,8BAA8B,EAAE,sCAAsC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,GAAwB;IAClC,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;IACvD,CAAC,mCAAmC,EAAE,2CAA2C,CAAC;CACnF,CAAC;AAEF,8GAA8G;AAC9G,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IAE5B,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,CAAC,eAAe,EAAE,wBAAwB,CAAC;QAC3C,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,MAAM,CAAC;QAChC,GAAG,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,iJAAiJ;AACjJ,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"platform-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,iJAAiJ;AACjJ,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuBxD"}
|
|
@@ -11,7 +11,9 @@ export function platformFiles(config) {
|
|
|
11
11
|
...['config/app-config.ts', 'config/load-config.ts', 'config/read-tracing.ts', 'config/config-error.ts'].map((name) => file(name)),
|
|
12
12
|
file('observability/create-logger.ts', config.stack.logger),
|
|
13
13
|
file('observability/create-metrics.ts'),
|
|
14
|
-
...['resilience-settings', 'default-resilience', 'self-governed', 'adapter-aspects'
|
|
14
|
+
...['resilience-settings', 'default-resilience', 'self-governed', 'adapter-aspects'].map((name) => file(`resilience/${name}.ts`)),
|
|
15
|
+
// On tsyringe nothing names the helper before the first adapter, which brings it (`generate adapter`).
|
|
16
|
+
...when(familyOf(config) === 'manual', [file('resilience/own-policy.ts')]),
|
|
15
17
|
...compositionFiles(config),
|
|
16
18
|
...eventFiles(config),
|
|
17
19
|
...httpFiles(config),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-files.js","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,iJAAiJ;AACjJ,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/F,OAAO;QACL,CAAC,GAAG,MAAM,CAAC,UAAU,UAAU,EAAE,kBAAkB,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC;QAClB,IAAI,CAAC,iBAAiB,CAAC;QACvB,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,GAAG,CAC1G,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB;QACD,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,iCAAiC,CAAC;QACvC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"platform-files.js","sourceRoot":"","sources":["../../../src/init/files/platform-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/project-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,+HAA+H;AAC/H,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"project-files.d.ts","sourceRoot":"","sources":["../../../src/init/files/project-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,+HAA+H;AAC/H,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,CAyB5E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { when } from './when.js';
|
|
2
2
|
/** What sits at the root of the project: the containers, the environment, the test runner, the analyzers and the git hooks. */
|
|
3
3
|
export function projectFiles(config, projectName) {
|
|
4
|
-
const { http, authn, tests } = config.stack;
|
|
4
|
+
const { http, authn, tests, packageManager } = config.stack;
|
|
5
5
|
return [
|
|
6
6
|
['.gitignore', 'init/gitignore.tpl'],
|
|
7
7
|
['.dockerignore', 'init/docker/dockerignore.tpl'],
|
|
@@ -12,6 +12,8 @@ export function projectFiles(config, projectName) {
|
|
|
12
12
|
...when(http !== 'none' && authn === 'keycloak', [
|
|
13
13
|
[`docker/keycloak/${projectName}-realm.json`, 'init/docker/keycloak-realm.json.tpl'],
|
|
14
14
|
]),
|
|
15
|
+
// pnpm stops at a dependency whose build script nobody decided on: the file says none runs unless allowed by name.
|
|
16
|
+
...when(packageManager === 'pnpm', [['pnpm-workspace.yaml', 'init/pnpm-workspace.yaml']]),
|
|
15
17
|
['README.md', 'init/README.md.tpl'],
|
|
16
18
|
tests === 'jest'
|
|
17
19
|
? ['jest.config.js', 'init/jest.config.js.tpl']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../../src/init/files/project-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+HAA+H;AAC/H,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,WAAmB;IAC9D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../../src/init/files/project-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+HAA+H;AAC/H,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,WAAmB;IAC9D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IAE5D,OAAO;QACL,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACpC,CAAC,eAAe,EAAE,8BAA8B,CAAC;QACjD,CAAC,YAAY,EAAE,4BAA4B,CAAC;QAC5C,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;QAC5D,CAAC,cAAc,EAAE,6BAA6B,CAAC;QAC/C,yIAAyI;QACzI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,EAAE;YAC/C,CAAC,mBAAmB,WAAW,aAAa,EAAE,qCAAqC,CAAC;SACrF,CAAC;QACF,mHAAmH;QACnH,GAAG,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC,CAAC;QACzF,CAAC,WAAW,EAAE,oBAAoB,CAAC;QACnC,KAAK,KAAK,MAAM;YACd,CAAC,CAAC,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;YAC/C,CAAC,CAAC,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;QACzD,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;QACvD,CAAC,YAAY,EAAE,yBAAyB,CAAC;QACzC,CAAC,WAAW,EAAE,wBAAwB,CAAC;QACvC,CAAC,cAAc,EAAE,uBAAuB,CAAC;QACzC,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
package/dist/init/knip-vars.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Config } from '../config/index.js';
|
|
2
2
|
import type { RenderContext } from '../templating/index.js';
|
|
3
3
|
/**
|
|
4
|
-
* What knip is told beyond the sources
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* What knip is told beyond the sources when the project is created: the entry point of a worker,
|
|
5
|
+
* and the end-to-end tree, which exists only with an HTTP stack, so that no pattern matches
|
|
6
|
+
* nothing. What it enters a context by comes with the first context (`declareContextEntries`).
|
|
7
7
|
*/
|
|
8
8
|
export declare function knipVars(config: Config): RenderContext;
|
|
9
9
|
//# sourceMappingURL=knip-vars.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knip-vars.d.ts","sourceRoot":"","sources":["../../src/init/knip-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"knip-vars.d.ts","sourceRoot":"","sources":["../../src/init/knip-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAgBtD"}
|
package/dist/init/knip-vars.js
CHANGED
|
@@ -1,18 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WITH_DATABASE } from '../stack/with-database.js';
|
|
2
|
+
import { validationDependencies } from './validation-dependencies.js';
|
|
2
3
|
/**
|
|
3
|
-
* What knip is told beyond the sources
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* What knip is told beyond the sources when the project is created: the entry point of a worker,
|
|
5
|
+
* and the end-to-end tree, which exists only with an HTTP stack, so that no pattern matches
|
|
6
|
+
* nothing. What it enters a context by comes with the first context (`declareContextEntries`).
|
|
6
7
|
*/
|
|
7
8
|
export function knipVars(config) {
|
|
8
9
|
const when = (text) => (config.stack.http === 'none' ? '' : text);
|
|
10
|
+
const ignored = ignoredDependencies(config);
|
|
9
11
|
return {
|
|
10
|
-
discovered: `{${DISCOVERED_SUFFIXES.join(',')}}`,
|
|
11
12
|
apps: config.worker || Object.values(config.contexts).some((context) => context.deployable),
|
|
12
13
|
e2eEntry: when(',\n "test/e2e/**/*.ts"'),
|
|
13
14
|
e2eProject: when(', "test/**/*.ts"'),
|
|
14
15
|
e2eConfig: when(', "vitest.e2e.config.ts"'),
|
|
15
16
|
e2eSpecs: when(', "test/e2e/**/*.e2e.spec.ts"'),
|
|
17
|
+
testDatabase: opensTestDatabaseLater(config)
|
|
18
|
+
? `,\n "${config.platformDir}/database/open-test-database.ts"`
|
|
19
|
+
: '',
|
|
20
|
+
ignores: ignored.length > 0,
|
|
21
|
+
ignored: JSON.stringify(ignored),
|
|
16
22
|
};
|
|
17
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* The report formatter a GitLab pipeline names on its command line, and the validation packages
|
|
26
|
+
* while nothing validates: the route of the audit trail is their only user in a new project.
|
|
27
|
+
*/
|
|
28
|
+
function ignoredDependencies(config) {
|
|
29
|
+
const { ci, audit, http } = config.stack;
|
|
30
|
+
const validates = audit === 'on' && http !== 'none';
|
|
31
|
+
return [
|
|
32
|
+
...(ci === 'gitlab' || ci === 'both' ? ['eslint-formatter-gitlab'] : []),
|
|
33
|
+
...(validates ? [] : validationDependencies(config)),
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
/** With an HTTP boundary the end-to-end support opens the database of the tests; without one it waits for the first repository spec, as a fake waits for its spec. */
|
|
37
|
+
function opensTestDatabaseLater(config) {
|
|
38
|
+
return config.stack.http === 'none' && WITH_DATABASE.includes(config.stack.orm);
|
|
39
|
+
}
|
|
18
40
|
//# sourceMappingURL=knip-vars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knip-vars.js","sourceRoot":"","sources":["../../src/init/knip-vars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"knip-vars.js","sourceRoot":"","sources":["../../src/init/knip-vars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3F,QAAQ,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC3C,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC3C,QAAQ,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC/C,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,aAAa,MAAM,CAAC,WAAW,kCAAkC;YACnE,CAAC,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;QAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KACjC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC;IAEpD,OAAO;QACL,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,sKAAsK;AACtK,SAAS,sBAAsB,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-scripts.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/documentation-scripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"documentation-scripts.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/documentation-scripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB3E"}
|
|
@@ -7,6 +7,8 @@ export function documentationScripts(config) {
|
|
|
7
7
|
};
|
|
8
8
|
return {
|
|
9
9
|
...(hasHttp ? openApi : {}),
|
|
10
|
+
// The pipeline builds once: its documents job compares them from the build the step before it made.
|
|
11
|
+
'ci:docs': `ddd-ts-kit docs --check && ${generated.map((command) => `${command} --check`).join(' && ')}`,
|
|
10
12
|
'events:generate': 'npm run build && node dist/scripts/events.js',
|
|
11
13
|
'events:check': 'npm run build && node dist/scripts/events.js --check',
|
|
12
14
|
'docs:generate': `ddd-ts-kit docs && npm run build && ${generated.join(' && ')}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-scripts.js","sourceRoot":"","sources":["../../../src/init/manifest/documentation-scripts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAExG,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,+CAA+C;QACnE,eAAe,EAAE,uDAAuD;KACzE,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,iBAAiB,EAAE,8CAA8C;QACjE,cAAc,EAAE,sDAAsD;QACtE,eAAe,EAAE,uCAAuC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAChF,YAAY,EAAE,+CAA+C,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;KAC7H,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"documentation-scripts.js","sourceRoot":"","sources":["../../../src/init/manifest/documentation-scripts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAExG,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,+CAA+C;QACnE,eAAe,EAAE,uDAAuD;KACzE,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,oGAAoG;QACpG,SAAS,EAAE,8BAA8B,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACxG,iBAAiB,EAAE,8CAA8C;QACjE,cAAc,EAAE,sDAAsD;QACtE,eAAe,EAAE,uCAAuC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAChF,YAAY,EAAE,+CAA+C,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;KAC7H,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { Config } from '../../config/index.js';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* The scripts of a project: the `ci:*` ones of the pipeline, then what a developer runs, and
|
|
4
|
+
* `verify`, which chains every gate the stack has. A script that calls another does so through
|
|
5
|
+
* the package manager of the project.
|
|
6
|
+
*/
|
|
3
7
|
export declare function scriptsFor(config: Config): Record<string, string>;
|
|
4
8
|
//# sourceMappingURL=scripts-for.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts-for.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/scripts-for.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"scripts-for.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/scripts-for.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AASpD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIjE"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { DEPCRUISE_FILE } from '../../depcruise/depcruise-file.js';
|
|
2
|
+
import { inDialect } from '../../package-manager/in-dialect.js';
|
|
2
3
|
import { BASELINE } from './baseline.js';
|
|
3
4
|
import { databaseScripts } from './database-scripts.js';
|
|
4
5
|
import { documentationScripts } from './documentation-scripts.js';
|
|
5
6
|
import { pipelineManifest } from './pipeline-manifest.js';
|
|
6
7
|
import { testScripts } from './test-scripts.js';
|
|
7
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* The scripts of a project: the `ci:*` ones of the pipeline, then what a developer runs, and
|
|
10
|
+
* `verify`, which chains every gate the stack has. A script that calls another does so through
|
|
11
|
+
* the package manager of the project.
|
|
12
|
+
*/
|
|
8
13
|
export function scriptsFor(config) {
|
|
14
|
+
const written = Object.entries(scriptsOf(config));
|
|
15
|
+
return Object.fromEntries(written.map(([name, script]) => [name, inDialect(script, config.stack.packageManager)]));
|
|
16
|
+
}
|
|
17
|
+
function scriptsOf(config) {
|
|
9
18
|
const scripts = {
|
|
10
19
|
...pipelineManifest().scripts,
|
|
11
20
|
...runScripts(config),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts-for.js","sourceRoot":"","sources":["../../../src/init/manifest/scripts-for.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"scripts-for.js","sourceRoot":"","sources":["../../../src/init/manifest/scripts-for.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,OAAO,GAAG;QACd,GAAG,gBAAgB,EAAE,CAAC,OAAO;QAC7B,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,kBAAkB;QACnC,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,oDAAoD,MAAM,CAAC,UAAU,aAAa,cAAc,EAAE;QAC7G,eAAe,EAAE,mBAAmB;QACpC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,qGAAqG;QAC9G,GAAG,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC/B,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1B,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,qBAAqB;KACpC,CAAC;IAEF,uGAAuG;IACvG,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAEpF,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,QAAQ,GAAG,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;IAE7C,OAAO;QACL,KAAK,EAAE,QAAQ,QAAQ,UAAU;QACjC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,QAAQ,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,EAAE,kDAAkD,MAAM,CAAC,WAAW,eAAe,MAAM,CAAC,UAAU,UAAU;KACpH,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
/** Ranges written to the generated package.json; bumped together with the kit. */
|
|
2
2
|
export const VERSIONS = {
|
|
3
|
-
'@ddd-ts-kit/kernel': '^0.1.
|
|
4
|
-
'@ddd-ts-kit/validation': '^0.1.
|
|
5
|
-
'@ddd-ts-kit/http': '^0.1.
|
|
6
|
-
'@ddd-ts-kit/tracing': '^0.1.
|
|
7
|
-
'@ddd-ts-kit/di': '^0.1.
|
|
8
|
-
'@ddd-ts-kit/events': '^0.1.
|
|
9
|
-
'@ddd-ts-kit/testing': '^0.1.
|
|
10
|
-
'@ddd-ts-kit/drizzle': '^0.1.
|
|
11
|
-
'@ddd-ts-kit/knex': '^0.1.
|
|
12
|
-
'@ddd-ts-kit/prisma': '^0.1.
|
|
13
|
-
'@ddd-ts-kit/typeorm': '^0.1.
|
|
14
|
-
'@ddd-ts-kit/auth': '^0.1.
|
|
15
|
-
'@ddd-ts-kit/rabbitmq': '^0.1.
|
|
16
|
-
'@ddd-ts-kit/aspects': '^0.1.
|
|
17
|
-
'@ddd-ts-kit/audit': '^0.1.
|
|
18
|
-
'@ddd-ts-kit/redis': '^0.1.
|
|
19
|
-
'@ddd-ts-kit/kafka': '^0.1.
|
|
20
|
-
'@ddd-ts-kit/nats': '^0.1.
|
|
21
|
-
'@ddd-ts-kit/scheduling': '^0.1.
|
|
22
|
-
'@ddd-ts-kit/sentry': '^0.1.
|
|
3
|
+
'@ddd-ts-kit/kernel': '^0.1.1',
|
|
4
|
+
'@ddd-ts-kit/validation': '^0.1.1',
|
|
5
|
+
'@ddd-ts-kit/http': '^0.1.1',
|
|
6
|
+
'@ddd-ts-kit/tracing': '^0.1.1',
|
|
7
|
+
'@ddd-ts-kit/di': '^0.1.1',
|
|
8
|
+
'@ddd-ts-kit/events': '^0.1.1',
|
|
9
|
+
'@ddd-ts-kit/testing': '^0.1.1',
|
|
10
|
+
'@ddd-ts-kit/drizzle': '^0.1.1',
|
|
11
|
+
'@ddd-ts-kit/knex': '^0.1.1',
|
|
12
|
+
'@ddd-ts-kit/prisma': '^0.1.1',
|
|
13
|
+
'@ddd-ts-kit/typeorm': '^0.1.1',
|
|
14
|
+
'@ddd-ts-kit/auth': '^0.1.1',
|
|
15
|
+
'@ddd-ts-kit/rabbitmq': '^0.1.1',
|
|
16
|
+
'@ddd-ts-kit/aspects': '^0.1.1',
|
|
17
|
+
'@ddd-ts-kit/audit': '^0.1.1',
|
|
18
|
+
'@ddd-ts-kit/redis': '^0.1.1',
|
|
19
|
+
'@ddd-ts-kit/kafka': '^0.1.1',
|
|
20
|
+
'@ddd-ts-kit/nats': '^0.1.1',
|
|
21
|
+
'@ddd-ts-kit/scheduling': '^0.1.1',
|
|
22
|
+
'@ddd-ts-kit/sentry': '^0.1.1',
|
|
23
23
|
'@sentry/node': '^11.6.0',
|
|
24
|
-
'@ddd-ts-kit/pino': '^0.1.
|
|
24
|
+
'@ddd-ts-kit/pino': '^0.1.1',
|
|
25
25
|
pino: '^10.4.0',
|
|
26
26
|
'pino-pretty': '^13.2.0',
|
|
27
|
-
'@ddd-ts-kit/winston': '^0.1.
|
|
27
|
+
'@ddd-ts-kit/winston': '^0.1.1',
|
|
28
28
|
winston: '^3.19.0',
|
|
29
29
|
'@confluentinc/kafka-javascript': '^1.11.0',
|
|
30
30
|
'@nats-io/jetstream': '^3.4.0',
|
|
@@ -32,7 +32,7 @@ export const VERSIONS = {
|
|
|
32
32
|
ioredis: '^6.0.0',
|
|
33
33
|
jose: '^6.0.0',
|
|
34
34
|
amqplib: '^2.2.0',
|
|
35
|
-
'ddd-ts-kit': '^0.1.
|
|
35
|
+
'ddd-ts-kit': '^0.1.1',
|
|
36
36
|
tsx: '^4.23.15',
|
|
37
37
|
vitest: '^5.0.3',
|
|
38
38
|
zod: '^4.6.5',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-manifest.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/write-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"write-manifest.d.ts","sourceRoot":"","sources":["../../../src/init/manifest/write-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAQ1D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CA+B3E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CliError } from '../../cli-error.js';
|
|
2
2
|
import { dependenciesFor } from './dependencies-for.js';
|
|
3
3
|
import { formatJson } from '../../json/format-json.js';
|
|
4
|
+
import { PINNED_PACKAGE_MANAGERS } from '../../package-manager/pinned-package-managers.js';
|
|
4
5
|
import { isRecord } from '../is-record.js';
|
|
5
6
|
import { scriptsFor } from './scripts-for.js';
|
|
6
7
|
import { VERSIONS } from './versions.js';
|
|
@@ -24,15 +25,31 @@ export function writeManifest(ws, request) {
|
|
|
24
25
|
else if (manifest['type'] !== 'module') {
|
|
25
26
|
ws.note('package.json is not "type": "module"; the generated code is written as ES modules.');
|
|
26
27
|
}
|
|
28
|
+
pinPackageManager(ws, manifest, request);
|
|
27
29
|
ws.update('package.json', serialize(manifest));
|
|
28
30
|
}
|
|
29
|
-
|
|
31
|
+
/** corepack reads `packageManager`: an existing project that pins another release keeps it, and is told. */
|
|
32
|
+
function pinPackageManager(ws, manifest, { config, force }) {
|
|
33
|
+
const pinned = PINNED_PACKAGE_MANAGERS[config.stack.packageManager];
|
|
34
|
+
if (pinned === undefined || manifest['packageManager'] === pinned) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (manifest['packageManager'] === undefined || force) {
|
|
38
|
+
manifest['packageManager'] = pinned;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
ws.note(`package.json keeps its own "packageManager"; the kit was proven with ${pinned}.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function newManifest({ projectName, config }, scripts, wanted) {
|
|
45
|
+
const pinned = PINNED_PACKAGE_MANAGERS[config.stack.packageManager];
|
|
30
46
|
return {
|
|
31
47
|
name: projectName,
|
|
32
48
|
version: '0.1.0',
|
|
33
49
|
private: true,
|
|
34
50
|
type: 'module',
|
|
35
51
|
engines: { node: '>=22.12.0' },
|
|
52
|
+
...(pinned === undefined ? {} : { packageManager: pinned }),
|
|
36
53
|
scripts,
|
|
37
54
|
...wanted,
|
|
38
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-manifest.js","sourceRoot":"","sources":["../../../src/init/manifest/write-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,EAAa,EAAE,OAAwB;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5E,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAErD,KAAK,CACH,SAAS,EACT,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,IAAI,8BAA8B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CACjG,CAAC;IAEF,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtD,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5D,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAC9B,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzC,EAAE,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IAChG,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAClB,EAAE,WAAW,EAAmB,
|
|
1
|
+
{"version":3,"file":"write-manifest.js","sourceRoot":"","sources":["../../../src/init/manifest/write-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-init.d.ts","sourceRoot":"","sources":["../../src/init/run-init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-init.d.ts","sourceRoot":"","sources":["../../src/init/run-init.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ3E,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,eAAe,CAyB3E"}
|
package/dist/init/run-init.js
CHANGED
|
@@ -3,7 +3,10 @@ import { CONFIG_FILE, serializeConfig } from '../config/index.js';
|
|
|
3
3
|
import { DEPCRUISE_FILE } from '../depcruise/depcruise-file.js';
|
|
4
4
|
import { renderCruiseFile } from '../depcruise/render-cruise-file.js';
|
|
5
5
|
import { writeDocs } from '../docs/write-docs.js';
|
|
6
|
+
import { declareContextEntries } from '../generate/kinds/declare-context-entries.js';
|
|
7
|
+
import { formatJson } from '../json/format-json.js';
|
|
6
8
|
import { toName } from '../naming/index.js';
|
|
9
|
+
import { inDialect } from '../package-manager/in-dialect.js';
|
|
7
10
|
import { readTemplate, renderTemplate } from '../templating/index.js';
|
|
8
11
|
import { Workspace } from '../workspace/index.js';
|
|
9
12
|
import { addContext } from './add-context.js';
|
|
@@ -14,7 +17,9 @@ import { recordNoOutbox } from './record-no-outbox.js';
|
|
|
14
17
|
import { resolveStack } from './stack/resolve-stack.js';
|
|
15
18
|
import { templateVars } from './template-vars.js';
|
|
16
19
|
import { writeAgentSettings } from './write-agent-settings.js';
|
|
20
|
+
import { writeContracts } from './write-contracts.js';
|
|
17
21
|
import { writeTypeScriptConfigs } from './write-type-script-configs.js';
|
|
22
|
+
const KNIP_FILE = 'knip.json';
|
|
18
23
|
export function runInit(root, options) {
|
|
19
24
|
const ws = new Workspace(root, options.force);
|
|
20
25
|
const config = recordNoOutbox(ws, resolveStack(root, options), options.allowNoOutbox);
|
|
@@ -26,20 +31,35 @@ export function runInit(root, options) {
|
|
|
26
31
|
ws.create(DEPCRUISE_FILE, renderCruiseFile(config));
|
|
27
32
|
writeAgentSettings(ws);
|
|
28
33
|
ws.create(`${config.sharedKernelDir}/.gitkeep`, '');
|
|
29
|
-
const withContexts =
|
|
30
|
-
ws.update(DEPCRUISE_FILE, renderCruiseFile(withContexts));
|
|
34
|
+
const withContexts = addContexts(ws, config, options.contexts);
|
|
31
35
|
writeDocs(ws, withContexts);
|
|
36
|
+
writeContracts(ws, withContexts, projectName);
|
|
32
37
|
const report = ws.commit(options.dryRun);
|
|
33
38
|
if (!options.dryRun && report.created.includes('package.json')) {
|
|
34
|
-
report.notes.push('Run `npm install`, then `npm run verify`.');
|
|
39
|
+
report.notes.push(inDialect('Run `npm install`, then `npm run verify`.', config.stack.packageManager));
|
|
35
40
|
}
|
|
36
41
|
return report;
|
|
37
42
|
}
|
|
43
|
+
/** The contexts asked of this run, then what every context of the project needs from the analyzers: one that is initialised again keeps its own. */
|
|
44
|
+
function addContexts(ws, config, entries) {
|
|
45
|
+
const withContexts = entries.reduce((current, entry) => addContext(ws, current, entry), config);
|
|
46
|
+
if (Object.keys(withContexts.contexts).length > 0) {
|
|
47
|
+
declareContextEntries(ws, withContexts);
|
|
48
|
+
}
|
|
49
|
+
ws.update(DEPCRUISE_FILE, renderCruiseFile(withContexts));
|
|
50
|
+
return withContexts;
|
|
51
|
+
}
|
|
38
52
|
/** A template ending in `.tpl` is rendered; any other is copied as it is. */
|
|
39
53
|
function writeFiles(ws, config, projectName) {
|
|
40
54
|
const context = templateVars(config, projectName);
|
|
41
55
|
for (const [target, template] of initFiles(config, projectName)) {
|
|
42
|
-
|
|
56
|
+
const content = template.endsWith('.tpl') ? renderTemplate(template, context) : readTemplate(template);
|
|
57
|
+
ws.create(target, target === KNIP_FILE ? laidOut(content) : content);
|
|
43
58
|
}
|
|
44
59
|
}
|
|
60
|
+
/** The lists of knip.json depend on the stack: they are laid out as the formatter of the project would, whatever their length. */
|
|
61
|
+
function laidOut(json) {
|
|
62
|
+
const value = JSON.parse(json);
|
|
63
|
+
return formatJson(value);
|
|
64
|
+
}
|
|
45
65
|
//# sourceMappingURL=run-init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-init.js","sourceRoot":"","sources":["../../src/init/run-init.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAwB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-init.js","sourceRoot":"","sources":["../../src/init/run-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-stack.d.ts","sourceRoot":"","sources":["../../../src/init/stack/resolve-stack.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-stack.d.ts","sourceRoot":"","sources":["../../../src/init/stack/resolve-stack.ts"],"names":[],"mappings":"AAEA,OAAO,EAmBL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,2HAA2H;AAC3H,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CA8BxE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, CONFIG_FILE, DEFAULT_IMPORT_ALIAS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, parseConfig, readConfig, TEST_STACKS, VALIDATION_STACKS, } from '../../config/index.js';
|
|
3
|
+
import { AUDIT_MODES, AUTHN_STACKS, AUTHZ_STACKS, BROKER_STACKS, CACHE_STACKS, CI_PLATFORMS, CONFIG_FILE, DEFAULT_IMPORT_ALIAS, DI_STACKS, DOCS_UIS, ERROR_REPORTERS, HTTP_STACKS, LOGGERS, PACKAGE_MANAGERS, parseConfig, readConfig, TEST_STACKS, VALIDATION_STACKS, } from '../../config/index.js';
|
|
4
4
|
import { aliasProblem } from '../../alias/index.js';
|
|
5
|
+
import { DEFAULT_PACKAGE_MANAGER } from '../../package-manager/default-package-manager.js';
|
|
5
6
|
import { CliError } from '../../cli-error.js';
|
|
6
7
|
import { choose } from './choose.js';
|
|
7
8
|
import { resolvePersistence } from './resolve-persistence.js';
|
|
@@ -77,6 +78,7 @@ function resolveTooling(options) {
|
|
|
77
78
|
validation: choose(VALIDATION_STACKS, options.validation, 'validation') ?? 'zod',
|
|
78
79
|
tests: choose(TEST_STACKS, options.tests, 'tests') ?? 'vitest',
|
|
79
80
|
ci: choose(CI_PLATFORMS, options.ci, 'ci') ?? 'github',
|
|
81
|
+
packageManager: choose(PACKAGE_MANAGERS, options.packageManager, 'package-manager') ?? DEFAULT_PACKAGE_MANAGER,
|
|
80
82
|
};
|
|
81
83
|
}
|
|
82
84
|
function assertNestGoesWithNest(http, di) {
|