ddd-ts-kit 0.20.0 → 0.22.0
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/CHANGELOG.md +83 -0
- package/README.fr.md +15 -6
- package/README.md +12 -4
- package/dist/check/catalogue/architecture-rules.d.ts.map +1 -1
- package/dist/check/catalogue/architecture-rules.js +2 -0
- package/dist/check/catalogue/architecture-rules.js.map +1 -1
- package/dist/check/catalogue/default-severities.d.ts.map +1 -1
- package/dist/check/catalogue/default-severities.js +1 -0
- package/dist/check/catalogue/default-severities.js.map +1 -1
- package/dist/check/commands/rules-command.js +2 -2
- package/dist/check/commands/rules-command.js.map +1 -1
- package/dist/check/configuration/config-inspection.d.ts.map +1 -1
- package/dist/check/configuration/config-inspection.js +7 -1
- package/dist/check/configuration/config-inspection.js.map +1 -1
- package/dist/check/engine/run-check.d.ts.map +1 -1
- package/dist/check/engine/run-check.js +17 -1
- package/dist/check/engine/run-check.js.map +1 -1
- package/dist/check/explain/clean-docs.js +1 -1
- package/dist/check/explain/clean-docs.js.map +1 -1
- package/dist/check/explain/layout-docs.js +1 -1
- package/dist/check/explain/layout-docs.js.map +1 -1
- package/dist/check/explain/persistence-docs.js +1 -1
- package/dist/check/explain/persistence-docs.js.map +1 -1
- package/dist/check/explain/tree-docs.js +2 -2
- package/dist/check/explain/tree-docs.js.map +1 -1
- package/dist/check/explain/wiring-docs.d.ts.map +1 -1
- package/dist/check/explain/wiring-docs.js +7 -0
- package/dist/check/explain/wiring-docs.js.map +1 -1
- package/dist/check/fixtures/config-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/config-fixtures.js +50 -1
- package/dist/check/fixtures/config-fixtures.js.map +1 -1
- package/dist/check/fixtures/governance-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/governance-fixtures.js +12 -3
- package/dist/check/fixtures/governance-fixtures.js.map +1 -1
- package/dist/check/fixtures/layer-fixtures.js +1 -1
- package/dist/check/fixtures/layer-fixtures.js.map +1 -1
- package/dist/check/fixtures/layout-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/layout-fixtures.js +6 -0
- package/dist/check/fixtures/layout-fixtures.js.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/persistence-fixtures.js +16 -0
- package/dist/check/fixtures/persistence-fixtures.js.map +1 -1
- package/dist/check/fixtures/test-fixtures.d.ts.map +1 -1
- package/dist/check/fixtures/test-fixtures.js +35 -1
- package/dist/check/fixtures/test-fixtures.js.map +1 -1
- package/dist/check/fixtures/tree-fixtures.js +1 -1
- package/dist/check/fixtures/tree-fixtures.js.map +1 -1
- package/dist/check/migrations/working-migration-findings.d.ts +8 -0
- package/dist/check/migrations/working-migration-findings.d.ts.map +1 -0
- package/dist/check/migrations/working-migration-findings.js +22 -0
- package/dist/check/migrations/working-migration-findings.js.map +1 -0
- package/dist/check/model/project.d.ts +3 -0
- package/dist/check/model/project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.d.ts +2 -2
- package/dist/check/project/assemble-project.d.ts.map +1 -1
- package/dist/check/project/assemble-project.js +16 -6
- package/dist/check/project/assemble-project.js.map +1 -1
- package/dist/check/rules/clean-file-size.d.ts.map +1 -1
- package/dist/check/rules/clean-file-size.js +6 -1
- package/dist/check/rules/clean-file-size.js.map +1 -1
- package/dist/check/rules/clean-function-size.js +2 -2
- package/dist/check/rules/clean-function-size.js.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.d.ts.map +1 -1
- package/dist/check/rules/clean-one-export-per-file.js +2 -11
- package/dist/check/rules/clean-one-export-per-file.js.map +1 -1
- package/dist/check/rules/config-rule-off-everywhere.d.ts +3 -0
- package/dist/check/rules/config-rule-off-everywhere.d.ts.map +1 -0
- package/dist/check/rules/config-rule-off-everywhere.js +21 -0
- package/dist/check/rules/config-rule-off-everywhere.js.map +1 -0
- package/dist/check/rules/governance-recorded-deviation.js +14 -7
- package/dist/check/rules/governance-recorded-deviation.js.map +1 -1
- package/dist/check/rules/persistence-migration-history.d.ts.map +1 -1
- package/dist/check/rules/persistence-migration-history.js +9 -2
- package/dist/check/rules/persistence-migration-history.js.map +1 -1
- package/dist/check/rules/test-spec-required.d.ts.map +1 -1
- package/dist/check/rules/test-spec-required.js +3 -2
- package/dist/check/rules/test-spec-required.js.map +1 -1
- package/dist/check/support/is-abstract-base.d.ts +7 -0
- package/dist/check/support/is-abstract-base.d.ts.map +1 -0
- package/dist/check/support/is-abstract-base.js +11 -0
- package/dist/check/support/is-abstract-base.js.map +1 -0
- package/dist/check/support/is-generated-context-file.d.ts +4 -0
- package/dist/check/support/is-generated-context-file.d.ts.map +1 -0
- package/dist/check/support/is-generated-context-file.js +12 -0
- package/dist/check/support/is-generated-context-file.js.map +1 -0
- package/dist/commands/drizzle-generate.d.ts +4 -0
- package/dist/commands/drizzle-generate.d.ts.map +1 -0
- package/dist/commands/drizzle-generate.js +14 -0
- package/dist/commands/drizzle-generate.js.map +1 -0
- package/dist/commands/generate.js +4 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/worker-scope.d.ts.map +1 -1
- package/dist/commands/worker-scope.js +17 -2
- package/dist/commands/worker-scope.js.map +1 -1
- package/dist/config/config.d.ts +2 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +2 -1
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/parse-rule-setting.d.ts +3 -0
- package/dist/config/parse-rule-setting.d.ts.map +1 -0
- package/dist/config/parse-rule-setting.js +10 -0
- package/dist/config/parse-rule-setting.js.map +1 -0
- package/dist/config/project-severity.d.ts +4 -0
- package/dist/config/project-severity.d.ts.map +1 -0
- package/dist/config/project-severity.js +5 -0
- package/dist/config/project-severity.js.map +1 -0
- package/dist/config/rule-setting.d.ts +10 -0
- package/dist/config/rule-setting.d.ts.map +1 -0
- package/dist/config/rule-setting.js +2 -0
- package/dist/config/rule-setting.js.map +1 -0
- package/dist/generate/given-name.d.ts +15 -0
- package/dist/generate/given-name.d.ts.map +1 -0
- package/dist/generate/given-name.js +21 -0
- package/dist/generate/given-name.js.map +1 -0
- package/dist/generate/kind.d.ts +4 -0
- package/dist/generate/kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.d.ts.map +1 -1
- package/dist/generate/kinds/adr-kind.js +8 -4
- package/dist/generate/kinds/adr-kind.js.map +1 -1
- package/dist/generate/kinds/adr-number.d.ts +8 -0
- package/dist/generate/kinds/adr-number.d.ts.map +1 -0
- package/dist/generate/kinds/adr-number.js +25 -0
- package/dist/generate/kinds/adr-number.js.map +1 -0
- package/dist/generate/kinds/event-handler-kind.d.ts.map +1 -1
- package/dist/generate/kinds/event-handler-kind.js +7 -4
- package/dist/generate/kinds/event-handler-kind.js.map +1 -1
- package/dist/generate/kinds/integration-handler-kind.d.ts.map +1 -1
- package/dist/generate/kinds/integration-handler-kind.js +8 -2
- package/dist/generate/kinds/integration-handler-kind.js.map +1 -1
- package/dist/generate/kinds/write-adr.d.ts +3 -1
- package/dist/generate/kinds/write-adr.d.ts.map +1 -1
- package/dist/generate/kinds/write-adr.js +3 -3
- package/dist/generate/kinds/write-adr.js.map +1 -1
- package/dist/help/notes.d.ts +1 -1
- package/dist/help/notes.d.ts.map +1 -1
- package/dist/help/notes.js +8 -2
- package/dist/help/notes.js.map +1 -1
- package/dist/help/usage.d.ts +1 -1
- package/dist/help/usage.d.ts.map +1 -1
- package/dist/help/usage.js +2 -1
- package/dist/help/usage.js.map +1 -1
- package/dist/init/manifest/database-scripts.d.ts.map +1 -1
- package/dist/init/manifest/database-scripts.js +2 -1
- package/dist/init/manifest/database-scripts.js.map +1 -1
- package/dist/init/manifest/scripts-for.js +2 -0
- package/dist/init/manifest/scripts-for.js.map +1 -1
- package/dist/init/manifest/versions.js +24 -24
- package/dist/init/write-agent-settings.d.ts.map +1 -1
- package/dist/init/write-agent-settings.js +1 -0
- package/dist/init/write-agent-settings.js.map +1 -1
- package/dist/migration/drizzle-kit-bin.d.ts +3 -0
- package/dist/migration/drizzle-kit-bin.d.ts.map +1 -0
- package/dist/migration/drizzle-kit-bin.js +12 -0
- package/dist/migration/drizzle-kit-bin.js.map +1 -0
- package/dist/migration/drizzle-silent-failures.d.ts +9 -0
- package/dist/migration/drizzle-silent-failures.d.ts.map +1 -0
- package/dist/migration/drizzle-silent-failures.js +14 -0
- package/dist/migration/drizzle-silent-failures.js.map +1 -0
- package/dist/migration/generate-drizzle-migration.d.ts +15 -0
- package/dist/migration/generate-drizzle-migration.d.ts.map +1 -0
- package/dist/migration/generate-drizzle-migration.js +37 -0
- package/dist/migration/generate-drizzle-migration.js.map +1 -0
- package/dist/migration/index.d.ts +2 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +2 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/presets/preset-decision.js +2 -2
- package/dist/presets/preset-decision.js.map +1 -1
- package/dist/progress/read-slice-rules.d.ts +8 -0
- package/dist/progress/read-slice-rules.d.ts.map +1 -0
- package/dist/progress/read-slice-rules.js +20 -0
- package/dist/progress/read-slice-rules.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -0
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker/base-of.d.ts +8 -0
- package/dist/worker/base-of.d.ts.map +1 -0
- package/dist/worker/base-of.js +36 -0
- package/dist/worker/base-of.js.map +1 -0
- package/dist/worker/briefed-rows.d.ts +14 -0
- package/dist/worker/briefed-rows.d.ts.map +1 -0
- package/dist/worker/briefed-rows.js +53 -0
- package/dist/worker/briefed-rows.js.map +1 -0
- package/dist/worker/briefed-slice.d.ts +7 -0
- package/dist/worker/briefed-slice.d.ts.map +1 -0
- package/dist/worker/briefed-slice.js +2 -0
- package/dist/worker/briefed-slice.js.map +1 -0
- package/dist/worker/briefing-of.d.ts.map +1 -1
- package/dist/worker/briefing-of.js +14 -7
- package/dist/worker/briefing-of.js.map +1 -1
- package/dist/worker/ensure-contains-base.d.ts +6 -0
- package/dist/worker/ensure-contains-base.d.ts.map +1 -0
- package/dist/worker/ensure-contains-base.js +13 -0
- package/dist/worker/ensure-contains-base.js.map +1 -0
- package/dist/worker/open-worker-scope.d.ts +7 -3
- package/dist/worker/open-worker-scope.d.ts.map +1 -1
- package/dist/worker/open-worker-scope.js +33 -21
- package/dist/worker/open-worker-scope.js.map +1 -1
- package/dist/worker/worker-place.d.ts +2 -2
- package/dist/worker/worker-place.d.ts.map +1 -1
- package/dist/worker/worker-scope.d.ts +4 -4
- package/dist/worker/worker-scope.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/event-handler/event-handler.declared.ts.tpl +1 -1
- package/templates/event-handler/event-handler.spec.ts.tpl +2 -2
- package/templates/event-handler/event-handler.ts.tpl +1 -1
- package/templates/event-handler/wiring.manual.tpl +4 -4
- package/templates/event-handler/wiring.tsyringe.tpl +4 -4
- package/templates/init/AGENTS.md.tpl +2 -2
- package/templates/init/README.md.tpl +1 -0
- package/templates/pipeline/package-scripts.json +1 -1
- package/templates/pipeline/vitest.config.ts.tpl +10 -1
- package/dist/generate/kinds/next-adr-number.d.ts +0 -4
- package/dist/generate/kinds/next-adr-number.d.ts.map +0 -1
- package/dist/generate/kinds/next-adr-number.js +0 -7
- package/dist/generate/kinds/next-adr-number.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-agent-settings.js","sourceRoot":"","sources":["../../src/init/write-agent-settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write-agent-settings.js","sourceRoot":"","sources":["../../src/init/write-agent-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,GAAgB;IAC/B,KAAK,EAAE;QACL,8BAA8B;QAC9B,6BAA6B;QAC7B,iCAAiC;QACjC,6BAA6B;QAC7B,gCAAgC;QAChC,4BAA4B;QAC5B,sBAAsB;QACtB,yBAAyB;QACzB,sBAAsB;QACtB,kBAAkB;QAClB,0BAA0B;QAC1B,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,gCAAgC;QAChC,6BAA6B;QAC7B,+BAA+B;QAC/B,4BAA4B;KAC7B;IACD,wFAAwF;IACxF,kFAAkF;IAClF,6EAA6E;IAC7E,IAAI,EAAE;QACJ,cAAc;QACd,gBAAgB;QAChB,uBAAuB;QACvB,oBAAoB;QACpB,qCAAqC;QACrC,2CAA2C;KAC5C;IACD,yFAAyF;IACzF,4EAA4E;IAC5E,GAAG,EAAE;QACH,kBAAkB;QAClB,qBAAqB;QACrB,gCAAgC;QAChC,2BAA2B;QAC3B,oBAAoB;QACpB,iCAAiC;QACjC,mBAAmB;QACnB,sBAAsB;QACtB,wBAAwB;QACxB,8BAA8B;QAC9B,+BAA+B;QAC/B,uCAAuC;KACxC;CACF,CAAC;AAEF,iHAAiH;AACjH,MAAM,UAAU,kBAAkB,CAAC,EAAa;IAC9C,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,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAEnE,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,8CAA8C,CAAC,CAAC;QAEzE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAErE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,QAAiB,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAOtE,yGAAyG;AACzG,SAAS,gBAAgB,CAAC,QAAiC,EAAE,MAAgC;IAC3F,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IAE5D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-kit-bin.d.ts","sourceRoot":"","sources":["../../src/migration/drizzle-kit-bin.ts"],"names":[],"mappings":"AAIA,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { CliError } from '../cli-error.js';
|
|
4
|
+
/** The entry file of the drizzle-kit installed in the project, run by the same node: no shell, on every platform. */
|
|
5
|
+
export function drizzleKitBin(root) {
|
|
6
|
+
const bin = path.join(root, 'node_modules', 'drizzle-kit', 'bin.cjs');
|
|
7
|
+
if (!fs.existsSync(bin)) {
|
|
8
|
+
throw new CliError(`drizzle-kit is not installed in ${root}.`, 'Run `npm install` in the project first.');
|
|
9
|
+
}
|
|
10
|
+
return bin;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=drizzle-kit-bin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-kit-bin.js","sourceRoot":"","sources":["../../src/migration/drizzle-kit-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qHAAqH;AACrH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,QAAQ,CAAC,mCAAmC,IAAI,GAAG,EAAE,yCAAyC,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** A failure after which drizzle-kit generate has written nothing and still exits 0, known by what it prints. */
|
|
2
|
+
export interface DrizzleSilentFailure {
|
|
3
|
+
readonly printed: string;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
readonly fix: string;
|
|
6
|
+
}
|
|
7
|
+
/** Measured on drizzle-kit 0.31.11. */
|
|
8
|
+
export declare const DRIZZLE_SILENT_FAILURES: readonly DrizzleSilentFailure[];
|
|
9
|
+
//# sourceMappingURL=drizzle-silent-failures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-silent-failures.d.ts","sourceRoot":"","sources":["../../src/migration/drizzle-silent-failures.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,uCAAuC;AACvC,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAalE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Measured on drizzle-kit 0.31.11. */
|
|
2
|
+
export const DRIZZLE_SILENT_FAILURES = [
|
|
3
|
+
{
|
|
4
|
+
printed: 'Interactive prompts require a TTY',
|
|
5
|
+
message: 'drizzle-kit cannot tell whether a column or a table is new or renamed, and asks it on a terminal there is none of: no migration was written.',
|
|
6
|
+
fix: 'Make the change unambiguous (add the new column or table in one migration, drop the old one in a later one), or write the statements yourself in a custom migration (`npm run db:generate -- <name> --custom`), or run `npm run db:generate <name>` in a terminal and answer. Never give it a pseudo-terminal (`script`, `unbuffer`): it then waits for an answer nobody gives.',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
printed: 'which is a collision',
|
|
10
|
+
message: 'Two snapshots of the migrations were generated from the same one, as two branches merged without regenerating: no migration was written.',
|
|
11
|
+
fix: 'Keep the migrations of the main branch, delete the one of your branch (its .sql file, its snapshot under meta/ and its entry of meta/_journal.json), then run `npm run db:generate <name>` again on top of them; `npm run check:arch` names them (persistence/migration-history).',
|
|
12
|
+
},
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=drizzle-silent-failures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drizzle-silent-failures.js","sourceRoot":"","sources":["../../src/migration/drizzle-silent-failures.ts"],"names":[],"mappings":"AAOA,uCAAuC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAoC;IACtE;QACE,OAAO,EAAE,mCAAmC;QAC5C,OAAO,EACL,8IAA8I;QAChJ,GAAG,EAAE,iXAAiX;KACvX;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EACL,0IAA0I;QAC5I,GAAG,EAAE,mRAAmR;KACzR;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Io } from '../commands/io.js';
|
|
2
|
+
export interface DrizzleMigration {
|
|
3
|
+
readonly root: string;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly custom: boolean;
|
|
6
|
+
/** True when a person can answer the questions of drizzle-kit: standard input and output are a terminal. */
|
|
7
|
+
readonly interactive: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Runs `drizzle-kit generate` for one named migration and answers its exit code. In a terminal it
|
|
11
|
+
* is drizzle-kit as is. Without one, a failure after which drizzle-kit writes nothing and exits 0
|
|
12
|
+
* (its question about a rename, a forked snapshot) becomes an error that names the fix.
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateDrizzleMigration(migration: DrizzleMigration, io: Io): number;
|
|
15
|
+
//# sourceMappingURL=generate-drizzle-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-drizzle-migration.d.ts","sourceRoot":"","sources":["../../src/migration/generate-drizzle-migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAI5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4GAA4G;IAC5G,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAwBpF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { CliError } from '../cli-error.js';
|
|
3
|
+
import { drizzleKitBin } from './drizzle-kit-bin.js';
|
|
4
|
+
import { DRIZZLE_SILENT_FAILURES } from './drizzle-silent-failures.js';
|
|
5
|
+
/**
|
|
6
|
+
* Runs `drizzle-kit generate` for one named migration and answers its exit code. In a terminal it
|
|
7
|
+
* is drizzle-kit as is. Without one, a failure after which drizzle-kit writes nothing and exits 0
|
|
8
|
+
* (its question about a rename, a forked snapshot) becomes an error that names the fix.
|
|
9
|
+
*/
|
|
10
|
+
export function generateDrizzleMigration(migration, io) {
|
|
11
|
+
const { root, name, custom, interactive } = migration;
|
|
12
|
+
const args = [drizzleKitBin(root), 'generate', '--name', name, ...(custom ? ['--custom'] : [])];
|
|
13
|
+
const run = spawnSync(process.execPath, args, {
|
|
14
|
+
cwd: root,
|
|
15
|
+
encoding: 'utf8',
|
|
16
|
+
stdio: interactive ? 'inherit' : ['ignore', 'pipe', 'pipe'],
|
|
17
|
+
});
|
|
18
|
+
if (interactive) {
|
|
19
|
+
return run.status ?? 1;
|
|
20
|
+
}
|
|
21
|
+
printOutput(run.stdout, run.stderr, io);
|
|
22
|
+
const printed = `${run.stdout}${run.stderr}`;
|
|
23
|
+
const failure = DRIZZLE_SILENT_FAILURES.find((known) => printed.includes(known.printed));
|
|
24
|
+
if (failure !== undefined) {
|
|
25
|
+
throw new CliError(failure.message, failure.fix);
|
|
26
|
+
}
|
|
27
|
+
return run.status ?? 1;
|
|
28
|
+
}
|
|
29
|
+
function printOutput(stdout, stderr, io) {
|
|
30
|
+
if (stdout.trim() !== '') {
|
|
31
|
+
io.out(stdout.trimEnd());
|
|
32
|
+
}
|
|
33
|
+
if (stderr.trim() !== '') {
|
|
34
|
+
io.err(stderr.trimEnd());
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=generate-drizzle-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-drizzle-migration.js","sourceRoot":"","sources":["../../src/migration/generate-drizzle-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA2B,EAAE,EAAM;IAC1E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhG,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC5C,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAC5D,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,EAAM;IACzD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ADR_DIRECTORY } from '../check/governance/adr-directory.js';
|
|
2
|
-
import {
|
|
2
|
+
import { adrNumber } from '../generate/kinds/adr-number.js';
|
|
3
3
|
import { vars } from '../generate/vars.js';
|
|
4
4
|
import { renderTemplate } from '../templating/index.js';
|
|
5
5
|
/**
|
|
@@ -11,7 +11,7 @@ export function presetDecision(scope, preset) {
|
|
|
11
11
|
if (scope.config.stack.tenancy === 'none') {
|
|
12
12
|
return '';
|
|
13
13
|
}
|
|
14
|
-
const number =
|
|
14
|
+
const number = adrNumber(scope.ws, undefined);
|
|
15
15
|
const adr = { number, date: new Date().toISOString().slice(0, 10) };
|
|
16
16
|
scope.ws.create(`${ADR_DIRECTORY}/${number}-${scope.context.kebab}-is-the-control-plane-of-the-tenants.md`, renderTemplate(`presets/${preset}/decision.md.tpl`, vars(scope, { adr })));
|
|
17
17
|
return `ADR-${number}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-decision.js","sourceRoot":"","sources":["../../src/presets/preset-decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"preset-decision.js","sourceRoot":"","sources":["../../src/presets/preset-decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,MAAc;IACzD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAEpE,KAAK,CAAC,EAAE,CAAC,MAAM,CACb,GAAG,aAAa,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,yCAAyC,EAC1F,cAAc,CAAC,WAAW,MAAM,kBAAkB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAC1E,CAAC;IAEF,OAAO,OAAO,MAAM,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Workspace } from '../workspace/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The rules written for each row of the slices file, by row id, as the plan-slices skill writes
|
|
4
|
+
* them under the tables. A row with several lines gets them joined with `; `. Ids are text:
|
|
5
|
+
* `4.15` and `D4.01` are kept as written.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readSliceRules(ws: Workspace): ReadonlyMap<string, string>;
|
|
8
|
+
//# sourceMappingURL=read-slice-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-slice-rules.d.ts","sourceRoot":"","sources":["../../src/progress/read-slice-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAczE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SLICES_FILE } from './read-slices.js';
|
|
2
|
+
/** A rule line of the slices file: `- #<row>: <invariants and failures by name>`, anywhere outside a table. */
|
|
3
|
+
const RULE_LINE = /^\s*[-*]\s+#([^\s:]+)\s*:\s*(.+?)\s*$/;
|
|
4
|
+
/**
|
|
5
|
+
* The rules written for each row of the slices file, by row id, as the plan-slices skill writes
|
|
6
|
+
* them under the tables. A row with several lines gets them joined with `; `. Ids are text:
|
|
7
|
+
* `4.15` and `D4.01` are kept as written.
|
|
8
|
+
*/
|
|
9
|
+
export function readSliceRules(ws) {
|
|
10
|
+
const rules = new Map();
|
|
11
|
+
for (const line of (ws.read(SLICES_FILE) ?? '').split('\n')) {
|
|
12
|
+
const [, id, text] = RULE_LINE.exec(line) ?? [];
|
|
13
|
+
if (id !== undefined && text !== undefined) {
|
|
14
|
+
const present = rules.get(id);
|
|
15
|
+
rules.set(id, present === undefined ? text : `${present}; ${text}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return rules;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=read-slice-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-slice-rules.js","sourceRoot":"","sources":["../../src/progress/read-slice-rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,+GAA+G;AAC/G,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAa;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEhD,IAAI,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE9B,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAsD3C,wBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,GAAE,EAAc,GAAG,MAAM,CAkCvE"}
|
package/dist/run.js
CHANGED
|
@@ -6,6 +6,7 @@ import { controllersCommand } from './commands/controllers.js';
|
|
|
6
6
|
import { depcruiseConfigCommand } from './commands/depcruise-config.js';
|
|
7
7
|
import { describeCommand } from './commands/describe.js';
|
|
8
8
|
import { docsCommand } from './commands/docs.js';
|
|
9
|
+
import { drizzleGenerateCommand } from './commands/drizzle-generate.js';
|
|
9
10
|
import { errorFactoriesCommand } from './commands/error-factories.js';
|
|
10
11
|
import { generateCommand } from './commands/generate.js';
|
|
11
12
|
import { initCommand } from './commands/init.js';
|
|
@@ -34,6 +35,7 @@ const COMMANDS = {
|
|
|
34
35
|
sdk: sdkCommand,
|
|
35
36
|
'depcruise-config': depcruiseConfigCommand,
|
|
36
37
|
'build-aliases': buildAliasesCommand,
|
|
38
|
+
'drizzle-generate': drizzleGenerateCommand,
|
|
37
39
|
'error-factories': errorFactoriesCommand,
|
|
38
40
|
'value-objects': valueObjectsCommand,
|
|
39
41
|
controllers: controllersCommand,
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.22.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.22.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Config } from '../config/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The ref a worker's worktree is cut from and checked against: `--base` when given, which must
|
|
4
|
+
* name a commit, or else the current branch. Without `--base`, refuses to run from the worktree
|
|
5
|
+
* of a worker: its branch would become the trunk of the new one.
|
|
6
|
+
*/
|
|
7
|
+
export declare function baseOf(root: string, config: Config, base: string | undefined): string;
|
|
8
|
+
//# sourceMappingURL=base-of.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-of.d.ts","sourceRoot":"","sources":["../../src/worker/base-of.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgBrF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { CliError } from '../cli-error.js';
|
|
4
|
+
import { runGit } from '../commit/run-git.js';
|
|
5
|
+
import { WORKER_SCOPE_FILE } from '../commit/worker-scope-file.js';
|
|
6
|
+
/**
|
|
7
|
+
* The ref a worker's worktree is cut from and checked against: `--base` when given, which must
|
|
8
|
+
* name a commit, or else the current branch. Without `--base`, refuses to run from the worktree
|
|
9
|
+
* of a worker: its branch would become the trunk of the new one.
|
|
10
|
+
*/
|
|
11
|
+
export function baseOf(root, config, base) {
|
|
12
|
+
if (base !== undefined) {
|
|
13
|
+
return knownRef(root, base);
|
|
14
|
+
}
|
|
15
|
+
const current = runGit(root, ['branch', '--show-current'])?.trim() || 'HEAD';
|
|
16
|
+
const worker = workerBranch(root, config, current);
|
|
17
|
+
if (worker !== undefined) {
|
|
18
|
+
throw new CliError(`${root} is the worktree of a worker (${worker}): its branch ${current} would be the trunk of the new worker.`, 'Run worker-scope from the checkout of the trunk, or name the base: `--base origin/main`.');
|
|
19
|
+
}
|
|
20
|
+
return current;
|
|
21
|
+
}
|
|
22
|
+
function knownRef(root, base) {
|
|
23
|
+
if (runGit(root, ['rev-parse', '--verify', '--quiet', `${base}^{commit}`]) === undefined) {
|
|
24
|
+
throw new CliError(`The base ${base} is not a commit of this repository.`, 'Fetch it first (`git fetch origin`), or pass a branch, a tag or a commit: `--base origin/main`.');
|
|
25
|
+
}
|
|
26
|
+
return base;
|
|
27
|
+
}
|
|
28
|
+
/** What makes the current checkout a worker's: its scope file, or a branch named `build/<context>`. */
|
|
29
|
+
function workerBranch(root, config, current) {
|
|
30
|
+
if (fs.existsSync(path.join(root, WORKER_SCOPE_FILE))) {
|
|
31
|
+
return `${WORKER_SCOPE_FILE} is present`;
|
|
32
|
+
}
|
|
33
|
+
const context = Object.keys(config.contexts).find((name) => current === `build/${name}`);
|
|
34
|
+
return context === undefined ? undefined : `the branch of the worker of ${context}`;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=base-of.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-of.js","sourceRoot":"","sources":["../../src/worker/base-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAc,EAAE,IAAwB;IAC3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,GAAG,IAAI,iCAAiC,MAAM,iBAAiB,OAAO,wCAAwC,EAC9G,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACzF,MAAM,IAAI,QAAQ,CAChB,YAAY,IAAI,sCAAsC,EACtD,iGAAiG,CAClG,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uGAAuG;AACvG,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,OAAe;IACjE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,iBAAiB,aAAa,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC;IAEzF,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,OAAO,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Workspace } from '../workspace/index.js';
|
|
2
|
+
import type { BriefedSlice } from './briefed-slice.js';
|
|
3
|
+
/** The rows a worker is briefed on, with their rules, and what the conductor should know about them. */
|
|
4
|
+
export interface BriefedRows {
|
|
5
|
+
readonly slices: readonly BriefedSlice[];
|
|
6
|
+
readonly notes: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The rows of the slices file for one worker: the ids asked for, in the order given, or by
|
|
10
|
+
* default every row of the context still to do. A row asked for must exist once and belong to
|
|
11
|
+
* the context. Ids are compared as text.
|
|
12
|
+
*/
|
|
13
|
+
export declare function briefedRows(ws: Workspace, context: string, ids: readonly string[] | undefined): BriefedRows;
|
|
14
|
+
//# sourceMappingURL=briefed-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-rows.d.ts","sourceRoot":"","sources":["../../src/worker/briefed-rows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wGAAwG;AACxG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAKD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,CAO3G"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CliError } from '../cli-error.js';
|
|
2
|
+
import { readSliceRules } from '../progress/read-slice-rules.js';
|
|
3
|
+
import { readSlices, SLICES_FILE } from '../progress/read-slices.js';
|
|
4
|
+
/** Past this many rows, an agent runs out of turns or context before its report. */
|
|
5
|
+
const ROWS_PER_AGENT = 2;
|
|
6
|
+
/**
|
|
7
|
+
* The rows of the slices file for one worker: the ids asked for, in the order given, or by
|
|
8
|
+
* default every row of the context still to do. A row asked for must exist once and belong to
|
|
9
|
+
* the context. Ids are compared as text.
|
|
10
|
+
*/
|
|
11
|
+
export function briefedRows(ws, context, ids) {
|
|
12
|
+
const rows = readSlices(ws) ?? [];
|
|
13
|
+
const rules = readSliceRules(ws);
|
|
14
|
+
const chosen = ids === undefined ? todoRows(rows, context) : asked(rows, context, ids);
|
|
15
|
+
const slices = chosen.map((row) => ({ ...row, rules: rules.get(row.id) }));
|
|
16
|
+
return { slices, notes: [...doneNotes(slices, ids), ...sizeNotes(slices, context)] };
|
|
17
|
+
}
|
|
18
|
+
function todoRows(rows, context) {
|
|
19
|
+
return rows.filter((row) => row.owner === context && row.status === 'todo');
|
|
20
|
+
}
|
|
21
|
+
function asked(rows, context, ids) {
|
|
22
|
+
return ids.map((id) => {
|
|
23
|
+
const matching = rows.filter((row) => row.id === id);
|
|
24
|
+
const [row] = matching;
|
|
25
|
+
if (row === undefined) {
|
|
26
|
+
throw new CliError(`Row #${id} is not in ${SLICES_FILE}.`, `Pass the ids of the # column as written (\`--rows 4.15,4.16\`); \`npx ddd-ts-kit status\` lists them.`);
|
|
27
|
+
}
|
|
28
|
+
if (matching.length > 1) {
|
|
29
|
+
throw new CliError(`Row #${id} appears ${matching.length} times in ${SLICES_FILE}.`, 'Number every row once across the file (`npx ddd-ts-kit status` names the numbers used twice), then brief again.');
|
|
30
|
+
}
|
|
31
|
+
if (row.owner !== context) {
|
|
32
|
+
throw new CliError(`Row #${id} is owned by ${row.owner || 'nobody'}, not by ${context}.`, `Brief that row to the worker of its owner, or change its Owner column to ${context} first.`);
|
|
33
|
+
}
|
|
34
|
+
return row;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function doneNotes(slices, ids) {
|
|
38
|
+
if (ids === undefined) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
return slices
|
|
42
|
+
.filter((row) => row.status === 'done')
|
|
43
|
+
.map((row) => `Row #${row.id} is marked done in ${SLICES_FILE}: brief it again only to rework it.`);
|
|
44
|
+
}
|
|
45
|
+
function sizeNotes(slices, context) {
|
|
46
|
+
if (slices.length <= ROWS_PER_AGENT) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
return [
|
|
50
|
+
`${slices.length} rows in one briefing: an agent holds ${ROWS_PER_AGENT} at most before its turns or its context run out. Brief one agent per row, in sequence, with \`npx ddd-ts-kit worker-scope ${context} --rows <id>\`.`,
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=briefed-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-rows.js","sourceRoot":"","sources":["../../src/worker/briefed-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Slice } from '../progress/slice.js';
|
|
2
|
+
/** A row of the slices table as a worker is briefed on it: with the rules written for it under the tables. */
|
|
3
|
+
export interface BriefedSlice extends Slice {
|
|
4
|
+
/** The invariants and the failures by name, from the line `- #<row>: ...` of the slices file; undefined when none. */
|
|
5
|
+
readonly rules: string | undefined;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=briefed-slice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-slice.d.ts","sourceRoot":"","sources":["../../src/worker/briefed-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,8GAA8G;AAC9G,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,sHAAsH;IACtH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefed-slice.js","sourceRoot":"","sources":["../../src/worker/briefed-slice.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing-of.d.ts","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"briefing-of.d.ts","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAkCrD"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** The report a worker keeps current in its worktree, ignored by git with the rest of `.ddd-ts-kit/`. */
|
|
2
|
+
const REPORT_FILE = '.ddd-ts-kit/report.md';
|
|
1
3
|
/**
|
|
2
4
|
* The briefing of a context worker, as the parallel-work skill of the plugin writes it, with
|
|
3
5
|
* what the project says filled in. What only the conductor knows stays between angle brackets.
|
|
@@ -22,15 +24,18 @@ export function briefingOf(place) {
|
|
|
22
24
|
`\`npx ddd-ts-kit describe ${context} --json\`. Then the \`next\` places each generator prints.`,
|
|
23
25
|
'',
|
|
24
26
|
'For each slice: generate with --local-only --json, fill the TODO(domain) markers, replace every it.todo',
|
|
25
|
-
`by a test, \`npx ddd-ts-kit check --changed-since ${trunk}\`, \`npm test -- ${context}
|
|
26
|
-
`commit: \`feat(${context}): <slice in business words>\`.`,
|
|
27
|
+
`by a test, \`npm run regenerate\`, \`npx ddd-ts-kit check --changed-since ${trunk}\`, \`npm test -- ${context}\`,`,
|
|
28
|
+
`then one commit, with the files regenerate rewrote: \`feat(${context}): <slice in business words>\`.`,
|
|
29
|
+
`After each step, rewrite ${REPORT_FILE} in the worktree in the form of the report below: if you stop,`,
|
|
30
|
+
'the conductor reads it there.',
|
|
27
31
|
'',
|
|
28
32
|
'Done when: every slice is committed, `npm run verify` is green in the worktree, and',
|
|
29
33
|
`\`npx ddd-ts-kit todo ${context}\` lists nothing.`,
|
|
30
34
|
'',
|
|
31
|
-
'Report, in under 200 words: slices done (commit hashes),
|
|
32
|
-
|
|
33
|
-
'
|
|
35
|
+
'Report, always, even when you stop early, in under 200 words: slices done (commit hashes),',
|
|
36
|
+
'slices not done and why, with the files left modified by an unfinished one, needs on shared',
|
|
37
|
+
"files or on another context's contract, glossary terms added, open business questions. No",
|
|
38
|
+
'code, no file contents.',
|
|
34
39
|
].join('\n');
|
|
35
40
|
}
|
|
36
41
|
function scopeLines({ config, generators }, directory) {
|
|
@@ -39,7 +44,9 @@ function scopeLines({ config, generators }, directory) {
|
|
|
39
44
|
`- You may write: ${directory}/** and test/e2e/<use-case>.e2e.spec.ts of your slices.`,
|
|
40
45
|
`- You may not write anything else. Shared files (config, ${config.platformDir}, ${config.sourceRoot}/main.ts,`,
|
|
41
46
|
' package.json, lockfile, migrations, docs/) and other contexts are refused by the guard:',
|
|
42
|
-
' report the need, do not work around it.',
|
|
47
|
+
' report the need, do not work around it. A slice that changes the stored state generates a',
|
|
48
|
+
' working migration only: `npm run db:generate working-<what-it-does>`. The derived files (generated',
|
|
49
|
+
' documents, barrels, context map, dependency rules) are written by `npm run regenerate`, never by hand.',
|
|
43
50
|
`- Generators you may run: ${generators.join(', ')}.`,
|
|
44
51
|
' The others are run by the conductor.',
|
|
45
52
|
];
|
|
@@ -48,7 +55,7 @@ function sliceLines(slices) {
|
|
|
48
55
|
if (slices.length === 0) {
|
|
49
56
|
return ['- #<n> <slice>: <generator commands of the row> ; rules: <invariants and failures by name>'];
|
|
50
57
|
}
|
|
51
|
-
return slices.map((row) => `- #${row.id} ${row.slice}: ${row.startWith}
|
|
58
|
+
return slices.map((row) => `- #${row.id} ${row.slice}: ${row.startWith}${row.rules === undefined ? '' : ` ; rules: ${row.rules}`}`);
|
|
52
59
|
}
|
|
53
60
|
function contractsOf({ config, context }) {
|
|
54
61
|
const upstreams = config.contexts[context]?.upstreams ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing-of.js","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;IAE3D,OAAO;QACL,iCAAiC,OAAO,OAAO,KAAK,CAAC,OAAO,GAAG;QAC/D,EAAE;QACF,aAAa,IAAI,cAAc,KAAK,CAAC,MAAM,aAAa,KAAK,EAAE;QAC/D,6CAA6C,IAAI,wBAAwB,IAAI,MAAM;QACnF,EAAE;QACF,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;QAC/B,EAAE;QACF,6DAA6D;QAC7D,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,EAAE;QACF,sCAAsC,WAAW,CAAC,KAAK,CAAC,EAAE;QAC1D,EAAE;QACF,yBAAyB,SAAS,mBAAmB;QACrD,6BAA6B,OAAO,4DAA4D;QAChG,EAAE;QACF,yGAAyG;QACzG,
|
|
1
|
+
{"version":3,"file":"briefing-of.js","sourceRoot":"","sources":["../../src/worker/briefing-of.ts"],"names":[],"mappings":"AAGA,yGAAyG;AACzG,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;IAE3D,OAAO;QACL,iCAAiC,OAAO,OAAO,KAAK,CAAC,OAAO,GAAG;QAC/D,EAAE;QACF,aAAa,IAAI,cAAc,KAAK,CAAC,MAAM,aAAa,KAAK,EAAE;QAC/D,6CAA6C,IAAI,wBAAwB,IAAI,MAAM;QACnF,EAAE;QACF,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;QAC/B,EAAE;QACF,6DAA6D;QAC7D,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,EAAE;QACF,sCAAsC,WAAW,CAAC,KAAK,CAAC,EAAE;QAC1D,EAAE;QACF,yBAAyB,SAAS,mBAAmB;QACrD,6BAA6B,OAAO,4DAA4D;QAChG,EAAE;QACF,yGAAyG;QACzG,6EAA6E,KAAK,qBAAqB,OAAO,KAAK;QACnH,8DAA8D,OAAO,iCAAiC;QACtG,4BAA4B,WAAW,gEAAgE;QACvG,+BAA+B;QAC/B,EAAE;QACF,qFAAqF;QACrF,yBAAyB,OAAO,mBAAmB;QACnD,EAAE;QACF,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAe,EAAE,SAAiB;IACxE,OAAO;QACL,OAAO;QACP,oBAAoB,SAAS,yDAAyD;QACtF,4DAA4D,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,WAAW;QAC/G,2FAA2F;QAC3F,6FAA6F;QAC7F,sGAAsG;QACtG,0GAA0G;QAC1G,6BAA6B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACrD,wCAAwC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,4FAA4F,CAAC,CAAC;IACxG,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CACjH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAe;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAE5D,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzG,CAAC,CAAC,MAAM,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuses a branch that does not contain the base: a worker on it would build on a stale
|
|
3
|
+
* trunk, and its merge would undo what the trunk gained since.
|
|
4
|
+
*/
|
|
5
|
+
export declare function ensureContainsBase(root: string, branch: string, base: string): void;
|
|
6
|
+
//# sourceMappingURL=ensure-contains-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-contains-base.d.ts","sourceRoot":"","sources":["../../src/worker/ensure-contains-base.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASnF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CliError } from '../cli-error.js';
|
|
2
|
+
import { runGit } from '../commit/run-git.js';
|
|
3
|
+
/**
|
|
4
|
+
* Refuses a branch that does not contain the base: a worker on it would build on a stale
|
|
5
|
+
* trunk, and its merge would undo what the trunk gained since.
|
|
6
|
+
*/
|
|
7
|
+
export function ensureContainsBase(root, branch, base) {
|
|
8
|
+
if (runGit(root, ['merge-base', '--is-ancestor', base, branch]) !== undefined) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
throw new CliError(`The branch ${branch} does not contain ${base}: its worker would build on a stale base.`, `Bring it up to date first (\`git -C <worktree> merge ${base}\`, or rebase it), or pass the base it was cut from with --base <ref>.`);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ensure-contains-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-contains-base.js","sourceRoot":"","sources":["../../src/worker/ensure-contains-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY;IAC3E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,IAAI,QAAQ,CAChB,cAAc,MAAM,qBAAqB,IAAI,2CAA2C,EACxF,wDAAwD,IAAI,wEAAwE,CACrI,CAAC;AACJ,CAAC"}
|
|
@@ -7,12 +7,16 @@ export interface WorkerRequest {
|
|
|
7
7
|
readonly worktree?: string;
|
|
8
8
|
/** By default `build/<context>`. */
|
|
9
9
|
readonly branch?: string;
|
|
10
|
+
/** The ref the worktree is cut from and checked against; by default the current branch. */
|
|
11
|
+
readonly base?: string;
|
|
12
|
+
/** The ids of the rows to brief, in this order; by default every row of the context still to do. */
|
|
13
|
+
readonly rows?: readonly string[];
|
|
10
14
|
readonly dryRun: boolean;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
|
-
* Gives one worker its place: a git worktree of the project on its own branch,
|
|
14
|
-
* confines it to its context, and its briefing. An existing worktree
|
|
15
|
-
* written again.
|
|
17
|
+
* Gives one worker its place: a git worktree of the project on its own branch, cut from the
|
|
18
|
+
* base, the file that confines it to its context, and its briefing. An existing worktree or
|
|
19
|
+
* branch is kept when it contains the base: only the file is written again.
|
|
16
20
|
*/
|
|
17
21
|
export declare function openWorkerScope(root: string, config: Config, request: WorkerRequest): WorkerScope;
|
|
18
22
|
//# sourceMappingURL=open-worker-scope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-worker-scope.d.ts","sourceRoot":"","sources":["../../src/worker/open-worker-scope.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,WAAW,CA+BjG"}
|