@memberjunction/cli 6.1.4 → 6.2.0-edge.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 +18 -7
- package/dist/baseline/cli-helpers.d.ts +4 -0
- package/dist/baseline/cli-helpers.d.ts.map +1 -1
- package/dist/baseline/cli-helpers.js +18 -10
- package/dist/baseline/cli-helpers.js.map +1 -1
- package/dist/baseline/comparator.d.ts +5 -3
- package/dist/baseline/comparator.d.ts.map +1 -1
- package/dist/baseline/comparator.js +142 -138
- package/dist/baseline/comparator.js.map +1 -1
- package/dist/baseline/connection.d.ts +8 -6
- package/dist/baseline/connection.d.ts.map +1 -1
- package/dist/baseline/connection.js +16 -12
- package/dist/baseline/connection.js.map +1 -1
- package/dist/baseline/data-dumper.d.ts +7 -3
- package/dist/baseline/data-dumper.d.ts.map +1 -1
- package/dist/baseline/data-dumper.js +33 -25
- package/dist/baseline/data-dumper.js.map +1 -1
- package/dist/baseline/emitter.d.ts +5 -3
- package/dist/baseline/emitter.d.ts.map +1 -1
- package/dist/baseline/emitter.js +114 -110
- package/dist/baseline/emitter.js.map +1 -1
- package/dist/baseline/index.d.ts +7 -7
- package/dist/baseline/index.d.ts.map +1 -1
- package/dist/baseline/index.js +7 -7
- package/dist/baseline/index.js.map +1 -1
- package/dist/baseline/introspector-mssql.d.ts +2 -0
- package/dist/baseline/introspector-mssql.d.ts.map +1 -1
- package/dist/baseline/introspector-mssql.js +68 -64
- package/dist/baseline/introspector-mssql.js.map +1 -1
- package/dist/baseline/introspector-postgres.d.ts +2 -0
- package/dist/baseline/introspector-postgres.d.ts.map +1 -1
- package/dist/baseline/introspector-postgres.js +34 -30
- package/dist/baseline/introspector-postgres.js.map +1 -1
- package/dist/baseline/report.d.ts +4 -0
- package/dist/baseline/report.d.ts.map +1 -1
- package/dist/baseline/report.js +25 -17
- package/dist/baseline/report.js.map +1 -1
- package/dist/baseline/types.d.ts +71 -71
- package/dist/baseline/util.d.ts +54 -6
- package/dist/baseline/util.d.ts.map +1 -1
- package/dist/baseline/util.js +112 -36
- package/dist/baseline/util.js.map +1 -1
- package/dist/commands/agent/init.d.ts +23 -0
- package/dist/commands/agent/init.d.ts.map +1 -0
- package/dist/commands/agent/init.js +222 -0
- package/dist/commands/agent/init.js.map +1 -0
- package/dist/commands/ai/actions/list.js +7 -7
- package/dist/commands/ai/actions/run.js +7 -7
- package/dist/commands/ai/agents/list.js +7 -7
- package/dist/commands/ai/agents/run.js +9 -9
- package/dist/commands/ai/audit/agent-run.js +7 -7
- package/dist/commands/ai/prompts/run.js +7 -7
- package/dist/commands/app/check-updates.js +5 -5
- package/dist/commands/app/disable.js +2 -2
- package/dist/commands/app/enable.js +2 -2
- package/dist/commands/app/info.js +2 -2
- package/dist/commands/app/install.js +2 -2
- package/dist/commands/app/list.js +2 -2
- package/dist/commands/app/remove.js +4 -4
- package/dist/commands/app/upgrade.js +2 -2
- package/dist/commands/artifacts/reclassify.js +2 -2
- package/dist/commands/baseline/build.js +31 -31
- package/dist/commands/baseline/build.js.map +1 -1
- package/dist/commands/baseline/compare.js +36 -36
- package/dist/commands/baseline/roundtrip.js +56 -54
- package/dist/commands/baseline/roundtrip.js.map +1 -1
- package/dist/commands/bundle/index.js +4 -4
- package/dist/commands/clean/index.js +3 -3
- package/dist/commands/codegen/manifest.d.ts +2 -0
- package/dist/commands/codegen/manifest.d.ts.map +1 -1
- package/dist/commands/codegen/manifest.js +8 -4
- package/dist/commands/codegen/manifest.js.map +1 -1
- package/dist/commands/dev/workspace/index.d.ts +2 -0
- package/dist/commands/dev/workspace/index.d.ts.map +1 -1
- package/dist/commands/dev/workspace/index.js +8 -4
- package/dist/commands/dev/workspace/index.js.map +1 -1
- package/dist/commands/doctor/index.d.ts +6 -4
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +43 -18
- package/dist/commands/doctor/index.js.map +1 -1
- package/dist/commands/install/claude.d.ts +2 -0
- package/dist/commands/install/claude.d.ts.map +1 -1
- package/dist/commands/install/claude.js +11 -7
- package/dist/commands/install/claude.js.map +1 -1
- package/dist/commands/install/index.js +3 -3
- package/dist/commands/migrate/convert.d.ts +21 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +22 -6
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/create.js +2 -2
- package/dist/commands/migrate/index.js +16 -16
- package/dist/commands/sync/file-reset.js +2 -2
- package/dist/commands/sync/init.js +3 -3
- package/dist/commands/test/compare.js +6 -6
- package/dist/commands/test/history.js +6 -6
- package/dist/commands/test/list.js +6 -6
- package/dist/commands/test/regression/build.js +5 -5
- package/dist/commands/test/regression/compare.js +3 -3
- package/dist/commands/test/regression/down.js +4 -4
- package/dist/commands/test/regression/export.js +4 -4
- package/dist/commands/test/regression/gen-forms.js +3 -3
- package/dist/commands/test/regression/remote.js +10 -10
- package/dist/commands/test/regression/up.js +6 -6
- package/dist/commands/test/run.js +6 -6
- package/dist/commands/test/scripts.d.ts +13 -0
- package/dist/commands/test/scripts.d.ts.map +1 -0
- package/dist/commands/test/scripts.js +50 -0
- package/dist/commands/test/scripts.js.map +1 -0
- package/dist/commands/test/suite.js +6 -6
- package/dist/commands/test/validate.js +6 -6
- package/dist/commands/translate-sql/index.js +25 -25
- package/dist/commands/update/claude.js +7 -7
- package/dist/commands/usage.js +4 -4
- package/dist/config.d.ts +175 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -9
- package/dist/config.js.map +1 -1
- package/dist/hooks/postrun.js +2 -2
- package/dist/hooks/prerun.js +2 -2
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/init-templates/citizen-builder/.agents/skills/new-agent/SKILL.md +66 -0
- package/dist/init-templates/citizen-builder/.agents/skills/package-agent/SKILL.md +69 -0
- package/dist/init-templates/citizen-builder/.agents/skills/test-agent/SKILL.md +61 -0
- package/dist/init-templates/citizen-builder/.claude/skills/new-agent/SKILL.md +66 -0
- package/dist/init-templates/citizen-builder/.claude/skills/package-agent/SKILL.md +69 -0
- package/dist/init-templates/citizen-builder/.claude/skills/test-agent/SKILL.md +61 -0
- package/dist/init-templates/citizen-builder/.env.example +30 -0
- package/dist/init-templates/citizen-builder/AGENTS.md +331 -0
- package/dist/init-templates/citizen-builder/README.md +259 -0
- package/dist/init-templates/citizen-builder/docker/Dockerfile +16 -0
- package/dist/init-templates/citizen-builder/docker-compose.yml +59 -0
- package/dist/init-templates/citizen-builder/docs/ENTERPRISE_ORG_SETUP.md +73 -0
- package/dist/init-templates/citizen-builder/docs/PROMOTION_GUIDE.md +70 -0
- package/dist/init-templates/citizen-builder/metadata/.mj-sync.json +7 -0
- package/dist/init-templates/citizen-builder/metadata/agents/.customer-insight-agent.json +55 -0
- package/dist/init-templates/citizen-builder/metadata/agents/.mj-sync.json +45 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/.customer-insight-prompt.json +15 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/.mj-sync.json +45 -0
- package/dist/init-templates/citizen-builder/metadata/prompts/templates/customer-insight.template.md +18 -0
- package/dist/init-templates/citizen-builder/scripts/bootstrap.sh +47 -0
- package/dist/init-templates/citizen-builder/scripts/docker-entrypoint.sh +184 -0
- package/dist/init-templates/citizen-builder/scripts/generate-capabilities.sh +74 -0
- package/dist/init-templates/citizen-builder/scripts/query-run-history.sh +34 -0
- package/dist/init-templates/citizen-builder/scripts/sync-metadata.sh +14 -0
- package/dist/init-templates/remote-mj/README.md +4 -4
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +6 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.js +18 -6
- package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.d.ts +8 -3
- package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackFetcher.js +26 -18
- package/dist/lib/claude-pack/PackFetcher.js.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.d.ts +6 -2
- package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackInstaller.js +19 -13
- package/dist/lib/claude-pack/PackInstaller.js.map +1 -1
- package/dist/lib/claude-pack/PackMerger.d.ts +8 -0
- package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackMerger.js +63 -57
- package/dist/lib/claude-pack/PackMerger.js.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts +4 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackOutputFormatter.js +10 -2
- package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -1
- package/dist/lib/claude-pack/PackPaths.d.ts +12 -0
- package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackPaths.js +31 -7
- package/dist/lib/claude-pack/PackPaths.js.map +1 -1
- package/dist/lib/claude-pack/PackTypes.d.ts +18 -14
- package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -1
- package/dist/lib/claude-pack/PackTypes.js +11 -3
- package/dist/lib/claude-pack/PackTypes.js.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.d.ts +10 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -1
- package/dist/lib/claude-pack/SettingsMerger.js +36 -16
- package/dist/lib/claude-pack/SettingsMerger.js.map +1 -1
- package/dist/lib/cli-plugins.d.ts +2 -0
- package/dist/lib/cli-plugins.d.ts.map +1 -1
- package/dist/lib/cli-plugins.js +8 -4
- package/dist/lib/cli-plugins.js.map +1 -1
- package/dist/lib/db-preflight.d.ts +2 -0
- package/dist/lib/db-preflight.d.ts.map +1 -1
- package/dist/lib/db-preflight.js +12 -8
- package/dist/lib/db-preflight.js.map +1 -1
- package/dist/lib/db-version.d.ts +2 -0
- package/dist/lib/db-version.d.ts.map +1 -1
- package/dist/lib/db-version.js +5 -1
- package/dist/lib/db-version.js.map +1 -1
- package/dist/lib/derived-usage.d.ts +14 -8
- package/dist/lib/derived-usage.d.ts.map +1 -1
- package/dist/lib/derived-usage.js +30 -18
- package/dist/lib/derived-usage.js.map +1 -1
- package/dist/lib/domain-profiles.d.ts +4 -2
- package/dist/lib/domain-profiles.d.ts.map +1 -1
- package/dist/lib/domain-profiles.js +53 -49
- package/dist/lib/domain-profiles.js.map +1 -1
- package/dist/lib/domain-usage-command.js +4 -4
- package/dist/lib/dynamic-packages.d.ts +4 -2
- package/dist/lib/dynamic-packages.d.ts.map +1 -1
- package/dist/lib/dynamic-packages.js +9 -5
- package/dist/lib/dynamic-packages.js.map +1 -1
- package/dist/lib/format-compat.d.ts +9 -7
- package/dist/lib/format-compat.d.ts.map +1 -1
- package/dist/lib/format-compat.js +12 -8
- package/dist/lib/format-compat.js.map +1 -1
- package/dist/lib/interactive-guard.d.ts +16 -0
- package/dist/lib/interactive-guard.d.ts.map +1 -1
- package/dist/lib/interactive-guard.js +18 -6
- package/dist/lib/interactive-guard.js.map +1 -1
- package/dist/lib/migration-fetch.d.ts +16 -4
- package/dist/lib/migration-fetch.d.ts.map +1 -1
- package/dist/lib/migration-fetch.js +30 -18
- package/dist/lib/migration-fetch.js.map +1 -1
- package/dist/lib/regression/docker-helpers.d.ts +24 -0
- package/dist/lib/regression/docker-helpers.d.ts.map +1 -1
- package/dist/lib/regression/docker-helpers.js +46 -10
- package/dist/lib/regression/docker-helpers.js.map +1 -1
- package/dist/lib/usage-render.d.ts +6 -0
- package/dist/lib/usage-render.d.ts.map +1 -1
- package/dist/lib/usage-render.js +15 -3
- package/dist/lib/usage-render.js.map +1 -1
- package/dist/translate-sql/groundTruth.d.ts +3 -3
- package/dist/translate-sql/groundTruth.js +40 -40
- package/dist/translate-sql/reportGenerator.d.ts +7 -7
- package/dist/translate-sql/reportGenerator.js +18 -18
- package/dist/translate-sql/ruleTranslator.d.ts +3 -3
- package/dist/translate-sql/ruleTranslator.js +8 -8
- package/dist/translate-sql/ruleTranslator.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +21 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +26 -10
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +1216 -1058
- package/package.json +22 -22
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* it. Progress goes to stderr under `--verbose`; genuine load failures always go to stderr.
|
|
9
9
|
*/
|
|
10
10
|
import { CliProcessId, DYNAMIC_PACKAGES_PROCESS_ENV_VAR, LoadDynamicPackages, } from '@memberjunction/dynamic-packages';
|
|
11
|
-
import {
|
|
11
|
+
import { GetRawConfig } from '../config.js';
|
|
12
12
|
function stderrLogger(verbose, write) {
|
|
13
13
|
return {
|
|
14
14
|
info: (message) => {
|
|
@@ -30,10 +30,10 @@ function stderrLogger(verbose, write) {
|
|
|
30
30
|
* a broken app package is reported on stderr and the command proceeds (it may then fall back to
|
|
31
31
|
* BaseEntity for that app's entities — `mj sync push` warns per entity when that happens).
|
|
32
32
|
*/
|
|
33
|
-
export async function
|
|
34
|
-
const verbose = options.
|
|
35
|
-
const write = options.
|
|
36
|
-
const raw = options.raw ??
|
|
33
|
+
export async function LoadDynamicPackagesForCommand(commandId, options = {}) {
|
|
34
|
+
const verbose = options.Verbose ?? false;
|
|
35
|
+
const write = options.Stderr ?? ((line) => process.stderr.write(`${line}\n`));
|
|
36
|
+
const raw = options.raw ?? GetRawConfig();
|
|
37
37
|
const processId = CliProcessId(commandId);
|
|
38
38
|
// Publish this command's identity for hosts the command imports in-process (`mj ai …` drives
|
|
39
39
|
// @memberjunction/ai-cli, `mj test …` drives @memberjunction/testing-cli). Their own provider
|
|
@@ -53,4 +53,8 @@ export async function loadDynamicPackagesForCommand(commandId, options = {}) {
|
|
|
53
53
|
}
|
|
54
54
|
return report;
|
|
55
55
|
}
|
|
56
|
+
/** @deprecated Use {@link LoadDynamicPackagesForCommand}. */
|
|
57
|
+
export async function loadDynamicPackagesForCommand(commandId, options = {}) {
|
|
58
|
+
return LoadDynamicPackagesForCommand(commandId, options);
|
|
59
|
+
}
|
|
56
60
|
//# sourceMappingURL=dynamic-packages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-packages.js","sourceRoot":"","sources":["../../src/lib/dynamic-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,YAAY,EACZ,gCAAgC,EAChC,mBAAmB,GAGpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAc5C,SAAS,YAAY,CAAC,OAAgB,EAAE,KAA6B;IACnE,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,KAAK,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,UAAgD,EAAE;IAElD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,8FAA8F;IAC9F,2FAA2F;IAC3F,yFAAyF;IACzF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,GAAG,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,SAAS;QACT,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;QAC1B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACjI,KAAK,CACH,sBAAsB,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI;YAC1G,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,UAAU,GAAG,CAC9H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"dynamic-packages.js","sourceRoot":"","sources":["../../src/lib/dynamic-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,YAAY,EACZ,gCAAgC,EAChC,mBAAmB,GAGpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAc5C,SAAS,YAAY,CAAC,OAAgB,EAAE,KAA6B;IACnE,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,KAAK,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,UAAgD,EAAE;IAElD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,8FAA8F;IAC9F,2FAA2F;IAC3F,yFAAyF;IACzF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,GAAG,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,SAAS;QACT,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;QAC1B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACjI,KAAK,CACH,sBAAsB,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI;YAC1G,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,UAAU,GAAG,CAC9H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,UAAgD,EAAE;IAElD,OAAO,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -18,11 +18,11 @@ export declare const TEST_FORMAT_FLAG: import("@oclif/core/lib/interfaces").Opti
|
|
|
18
18
|
/** Inputs to {@link resolveLegacyFormat}. */
|
|
19
19
|
export interface LegacyFormatInput<TLegacy extends string> {
|
|
20
20
|
/** The canonical `--format` value, if the caller passed one. */
|
|
21
|
-
|
|
21
|
+
Format?: string;
|
|
22
22
|
/** The family's own flag value as oclif parsed it (its default included). */
|
|
23
|
-
|
|
23
|
+
Legacy: TLegacy;
|
|
24
24
|
/** What that flag falls back to when nothing was specified. */
|
|
25
|
-
|
|
25
|
+
LegacyDefault: TLegacy;
|
|
26
26
|
/**
|
|
27
27
|
* Whether the caller actually typed the family's flag. Pass
|
|
28
28
|
* `metadata.flags.<name>?.setFromDefault === false` from the command's `parse()`.
|
|
@@ -32,11 +32,11 @@ export interface LegacyFormatInput<TLegacy extends string> {
|
|
|
32
32
|
* all — so a piped `mj ai agents list -o compact` would silently return json,
|
|
33
33
|
* overriding an explicit request. Always pass it from a real command.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
LegacyWasExplicit?: boolean;
|
|
36
36
|
/** How each canonical format maps onto this family's vocabulary. */
|
|
37
|
-
|
|
37
|
+
Map: Record<OutputFormat, TLegacy>;
|
|
38
38
|
/** Defaults to `process.stdout.isTTY`. Injectable for tests. */
|
|
39
|
-
|
|
39
|
+
StdoutIsTTY?: boolean;
|
|
40
40
|
/** Defaults to `process.env`. Injectable for tests. */
|
|
41
41
|
env?: NodeJS.ProcessEnv;
|
|
42
42
|
}
|
|
@@ -53,8 +53,10 @@ export interface LegacyFormatInput<TLegacy extends string> {
|
|
|
53
53
|
* `--format=markdown` or `-o table` keeps getting exactly what it always got.
|
|
54
54
|
* Rule 4 only fires when the caller expressed no preference at all, so it can
|
|
55
55
|
* never override an intentional choice — which is precisely why rule 2 needs
|
|
56
|
-
* {@link LegacyFormatInput.
|
|
56
|
+
* {@link LegacyFormatInput.LegacyWasExplicit} rather than a value comparison.
|
|
57
57
|
*/
|
|
58
|
+
export declare function ResolveLegacyFormat<TLegacy extends string>(input: LegacyFormatInput<TLegacy>): TLegacy;
|
|
59
|
+
/** @deprecated Use {@link ResolveLegacyFormat}. */
|
|
58
60
|
export declare function resolveLegacyFormat<TLegacy extends string>(input: LegacyFormatInput<TLegacy>): TLegacy;
|
|
59
61
|
/** Canonical → `mj test *` vocabulary. */
|
|
60
62
|
export declare const TEST_FORMAT_MAP: Record<OutputFormat, 'console' | 'json' | 'markdown'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-compat.d.ts","sourceRoot":"","sources":["../../src/lib/format-compat.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAoBxG,eAAO,MAAM,qBAAqB,6GAGhC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,6GAI3B,CAAC;AAEH,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,MAAM;IACvD,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,OAAO,CAiBtG;AAED,0CAA0C;AAC1C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAIjF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAI5E,CAAC"}
|
|
1
|
+
{"version":3,"file":"format-compat.d.ts","sourceRoot":"","sources":["../../src/lib/format-compat.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAoBxG,eAAO,MAAM,qBAAqB,6GAGhC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,6GAI3B,CAAC;AAEH,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,MAAM;IACvD,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,OAAO,CAiBtG;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,OAAO,CAEtG;AAED,0CAA0C;AAC1C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAIjF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAI5E,CAAC"}
|
|
@@ -72,24 +72,28 @@ export const TEST_FORMAT_FLAG = Flags.string({
|
|
|
72
72
|
* `--format=markdown` or `-o table` keeps getting exactly what it always got.
|
|
73
73
|
* Rule 4 only fires when the caller expressed no preference at all, so it can
|
|
74
74
|
* never override an intentional choice — which is precisely why rule 2 needs
|
|
75
|
-
* {@link LegacyFormatInput.
|
|
75
|
+
* {@link LegacyFormatInput.LegacyWasExplicit} rather than a value comparison.
|
|
76
76
|
*/
|
|
77
|
-
export function
|
|
78
|
-
const explicitCanonical = NormalizeFormatAlias(input.
|
|
77
|
+
export function ResolveLegacyFormat(input) {
|
|
78
|
+
const explicitCanonical = NormalizeFormatAlias(input.Format);
|
|
79
79
|
if (explicitCanonical)
|
|
80
|
-
return input.
|
|
80
|
+
return input.Map[explicitCanonical];
|
|
81
81
|
// The caller typed the family's own flag — an explicit choice that outranks any
|
|
82
82
|
// inference we could make, even when the value they typed IS the default.
|
|
83
|
-
const legacyWasExplicit = input.
|
|
83
|
+
const legacyWasExplicit = input.LegacyWasExplicit ?? input.Legacy !== input.LegacyDefault;
|
|
84
84
|
if (legacyWasExplicit)
|
|
85
|
-
return input.
|
|
85
|
+
return input.Legacy;
|
|
86
86
|
const { format, reason } = ResolveOutputFormat({
|
|
87
|
-
stdoutIsTTY: input.
|
|
87
|
+
stdoutIsTTY: input.StdoutIsTTY,
|
|
88
88
|
env: input.env,
|
|
89
89
|
});
|
|
90
90
|
// 'tty-default' means nothing at all asked for a format — keep the family's own
|
|
91
91
|
// default rather than flattening every human rendering to a generic 'text'.
|
|
92
|
-
return reason === 'tty-default' ? input.
|
|
92
|
+
return reason === 'tty-default' ? input.LegacyDefault : input.Map[format];
|
|
93
|
+
}
|
|
94
|
+
/** @deprecated Use {@link ResolveLegacyFormat}. */
|
|
95
|
+
export function resolveLegacyFormat(input) {
|
|
96
|
+
return ResolveLegacyFormat(input);
|
|
93
97
|
}
|
|
94
98
|
/** Canonical → `mj test *` vocabulary. */
|
|
95
99
|
export const TEST_FORMAT_MAP = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-compat.js","sourceRoot":"","sources":["../../src/lib/format-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAqB,MAAM,0BAA0B,CAAC;AAExG;;;;;;;;;;GAUG;AACH,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAEjG,MAAM,kBAAkB,GACtB,uEAAuE;IACvE,wEAAwE;IACxE,iEAAiE,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,kBAAkB;CAChC,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,kBAAkB;CAChC,CAAC,CAAC;AA4BH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAyB,KAAiC;IAC3F,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE3D,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC;IAC1F,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAE3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,gFAAgF;IAChF,4EAA4E;IAC5E,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAA0D;IACpF,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,UAAU;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuD;IAC/E,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,MAAM;CACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"format-compat.js","sourceRoot":"","sources":["../../src/lib/format-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAqB,MAAM,0BAA0B,CAAC;AAExG;;;;;;;;;;GAUG;AACH,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAEjG,MAAM,kBAAkB,GACtB,uEAAuE;IACvE,wEAAwE;IACxE,iEAAiE,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,kBAAkB;CAChC,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,kBAAkB;CAChC,CAAC,CAAC;AA4BH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAyB,KAAiC;IAC3F,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE3D,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC;IAC1F,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAE3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,gFAAgF;IAChF,4EAA4E;IAC5E,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAyB,KAAiC;IAC3F,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAA0D;IACpF,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,UAAU;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuD;IAC/E,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,MAAM;CACX,CAAC"}
|
|
@@ -16,6 +16,8 @@ export { NonInteractiveError };
|
|
|
16
16
|
* running in CI. Reads the env var the prerun hook sets from the global `--interactive`
|
|
17
17
|
* / `--no-interactive` flags, then falls back to detecting the terminal.
|
|
18
18
|
*/
|
|
19
|
+
export declare function IsInteractiveRun(overrides?: InteractivityInput): boolean;
|
|
20
|
+
/** @deprecated Use {@link IsInteractiveRun}. */
|
|
19
21
|
export declare function isInteractiveRun(overrides?: InteractivityInput): boolean;
|
|
20
22
|
/**
|
|
21
23
|
* Asks for one value, or fails fast naming the flag that supplies it.
|
|
@@ -36,6 +38,13 @@ export declare const requireInteractive: typeof RequireInteractive;
|
|
|
36
38
|
*
|
|
37
39
|
* Re-throws anything that isn't a `NonInteractiveError` untouched.
|
|
38
40
|
*/
|
|
41
|
+
export declare function FailOnNonInteractive(command: {
|
|
42
|
+
error: (message: string | Error, options?: {
|
|
43
|
+
exit?: number;
|
|
44
|
+
suggestions?: string[];
|
|
45
|
+
}) => never;
|
|
46
|
+
}, error: unknown): never;
|
|
47
|
+
/** @deprecated Use {@link FailOnNonInteractive}. */
|
|
39
48
|
export declare function failOnNonInteractive(command: {
|
|
40
49
|
error: (message: string | Error, options?: {
|
|
41
50
|
exit?: number;
|
|
@@ -47,6 +56,13 @@ export declare function failOnNonInteractive(command: {
|
|
|
47
56
|
* — including deep in a service callback — surfaces as a clean, actionable failure
|
|
48
57
|
* instead of an unhandled rejection.
|
|
49
58
|
*/
|
|
59
|
+
export declare function WithNonInteractiveHandling<T>(command: {
|
|
60
|
+
error: (message: string | Error, options?: {
|
|
61
|
+
exit?: number;
|
|
62
|
+
suggestions?: string[];
|
|
63
|
+
}) => never;
|
|
64
|
+
}, body: () => Promise<T>): Promise<T>;
|
|
65
|
+
/** @deprecated Use {@link WithNonInteractiveHandling}. */
|
|
50
66
|
export declare function withNonInteractiveHandling<T>(command: {
|
|
51
67
|
error: (message: string | Error, options?: {
|
|
52
68
|
exit?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-guard.d.ts","sourceRoot":"","sources":["../../src/lib/interactive-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAElB,eAAe,EACf,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,kBAAuB,GAAG,OAAO,CAE5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,wBAAkB,CAAC;AAE/C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,2BAAqB,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,KAAK,EAAE,OAAO,GACb,KAAK,CAKP;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAMZ"}
|
|
1
|
+
{"version":3,"file":"interactive-guard.d.ts","sourceRoot":"","sources":["../../src/lib/interactive-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAElB,eAAe,EACf,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,kBAAuB,GAAG,OAAO,CAE5E;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,kBAAuB,GAAG,OAAO,CAE5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,wBAAkB,CAAC;AAE/C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,2BAAqB,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,KAAK,EAAE,OAAO,GACb,KAAK,CAKP;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,KAAK,EAAE,OAAO,GACb,KAAK,CAEP;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,0DAA0D;AAC1D,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,OAAO,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,KAAK,CAAA;CAAE,EAC3G,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
|
@@ -16,18 +16,22 @@ export { NonInteractiveError };
|
|
|
16
16
|
* running in CI. Reads the env var the prerun hook sets from the global `--interactive`
|
|
17
17
|
* / `--no-interactive` flags, then falls back to detecting the terminal.
|
|
18
18
|
*/
|
|
19
|
-
export function
|
|
19
|
+
export function IsInteractiveRun(overrides = {}) {
|
|
20
20
|
return ResolveInteractivity(overrides).interactive;
|
|
21
21
|
}
|
|
22
|
+
/** @deprecated Use {@link IsInteractiveRun}. */
|
|
23
|
+
export function isInteractiveRun(overrides = {}) {
|
|
24
|
+
return IsInteractiveRun(overrides);
|
|
25
|
+
}
|
|
22
26
|
/**
|
|
23
27
|
* Asks for one value, or fails fast naming the flag that supplies it.
|
|
24
28
|
*
|
|
25
29
|
* Thin re-export of cli-core's `ResolveOrPrompt` so unmigrated commands import from
|
|
26
30
|
* one place and pick up the env-based interactivity default automatically.
|
|
27
31
|
*/
|
|
28
|
-
export const resolveOrPrompt = ResolveOrPrompt;
|
|
32
|
+
export const resolveOrPrompt = ResolveOrPrompt; // case-violation-ok-legacy-back-compat: the PascalCase name is already taken in this scope
|
|
29
33
|
/** Guards a command that is interactive by nature and has no flag equivalent. */
|
|
30
|
-
export const requireInteractive = RequireInteractive;
|
|
34
|
+
export const requireInteractive = RequireInteractive; // case-violation-ok-legacy-back-compat: the PascalCase name is already taken in this scope
|
|
31
35
|
/**
|
|
32
36
|
* Renders a {@link NonInteractiveError} through oclif's error path for commands that
|
|
33
37
|
* aren't `BaseCLIPlugin` subclasses (which get the structured envelope instead).
|
|
@@ -38,23 +42,31 @@ export const requireInteractive = RequireInteractive;
|
|
|
38
42
|
*
|
|
39
43
|
* Re-throws anything that isn't a `NonInteractiveError` untouched.
|
|
40
44
|
*/
|
|
41
|
-
export function
|
|
45
|
+
export function FailOnNonInteractive(command, error) {
|
|
42
46
|
if (error instanceof NonInteractiveError) {
|
|
43
47
|
command.error(error.message, { exit: 1, suggestions: [error.suggestion] });
|
|
44
48
|
}
|
|
45
49
|
throw error;
|
|
46
50
|
}
|
|
51
|
+
/** @deprecated Use {@link FailOnNonInteractive}. */
|
|
52
|
+
export function failOnNonInteractive(command, error) {
|
|
53
|
+
return FailOnNonInteractive(command, error);
|
|
54
|
+
}
|
|
47
55
|
/**
|
|
48
56
|
* Wraps a command body so any {@link NonInteractiveError} raised anywhere inside it
|
|
49
57
|
* — including deep in a service callback — surfaces as a clean, actionable failure
|
|
50
58
|
* instead of an unhandled rejection.
|
|
51
59
|
*/
|
|
52
|
-
export async function
|
|
60
|
+
export async function WithNonInteractiveHandling(command, body) {
|
|
53
61
|
try {
|
|
54
62
|
return await body();
|
|
55
63
|
}
|
|
56
64
|
catch (e) {
|
|
57
|
-
return
|
|
65
|
+
return FailOnNonInteractive(command, e);
|
|
58
66
|
}
|
|
59
67
|
}
|
|
68
|
+
/** @deprecated Use {@link WithNonInteractiveHandling}. */
|
|
69
|
+
export async function withNonInteractiveHandling(command, body) {
|
|
70
|
+
return WithNonInteractiveHandling(command, body);
|
|
71
|
+
}
|
|
60
72
|
//# sourceMappingURL=interactive-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-guard.js","sourceRoot":"","sources":["../../src/lib/interactive-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAgC,EAAE;IACjE,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive-guard.js","sourceRoot":"","sources":["../../src/lib/interactive-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAgC,EAAE;IACjE,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAAC,YAAgC,EAAE;IACjE,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,CAAE,2FAA2F;AAE5I,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAE,2FAA2F;AAElJ;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA2G,EAC3G,KAAc;IAEd,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,oBAAoB,CAClC,OAA2G,EAC3G,KAAc;IAEd,OAAO,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA2G,EAC3G,IAAsB;IAEtB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA2G,EAC3G,IAAsB;IAEtB,OAAO,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
export type MigrationDialect = 'sqlserver' | 'postgresql';
|
|
2
2
|
export interface MigrationFetchResult {
|
|
3
3
|
/** Temp clone root to hand to Skyway as the migration location. */
|
|
4
|
-
|
|
4
|
+
Dir: string;
|
|
5
5
|
/** Repo-relative migration paths checked out (empty when the full-history fallback was used). */
|
|
6
|
-
|
|
6
|
+
Selected: string[];
|
|
7
7
|
/** True when partial clone was unavailable and the full `migrations/` dir was fetched instead. */
|
|
8
|
-
|
|
8
|
+
UsedFallback: boolean;
|
|
9
9
|
/** Removes the temp clone. Callers MUST invoke this in a finally on every exit path. */
|
|
10
|
-
|
|
10
|
+
Cleanup: () => Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Resolves a user-supplied tag/branch into a git ref.
|
|
14
14
|
* A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
|
|
15
15
|
* anything else (e.g. `main`) is treated as a branch name unchanged.
|
|
16
16
|
*/
|
|
17
|
+
export declare function ResolveGitRef(tagOrBranch: string): string;
|
|
18
|
+
/** @deprecated Use {@link ResolveGitRef}. */
|
|
17
19
|
export declare function resolveGitRef(tagOrBranch: string): string;
|
|
18
20
|
/**
|
|
19
21
|
* Pure selector: given the repo-relative migration paths present at a ref, return
|
|
@@ -33,12 +35,22 @@ export declare function resolveGitRef(tagOrBranch: string): string;
|
|
|
33
35
|
*
|
|
34
36
|
* With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
|
|
35
37
|
*/
|
|
38
|
+
export declare function SelectMigrationSlice(paths: readonly string[], currentVersion?: string | null): string[];
|
|
39
|
+
/** @deprecated Use {@link SelectMigrationSlice}. */
|
|
36
40
|
export declare function selectMigrationSlice(paths: readonly string[], currentVersion?: string | null): string[];
|
|
37
41
|
/**
|
|
38
42
|
* SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
|
|
39
43
|
* only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
|
|
40
44
|
* MUST run in a finally. On any internal failure the temp dir is removed before throwing.
|
|
41
45
|
*/
|
|
46
|
+
export declare function FetchMigrationSlice(opts: {
|
|
47
|
+
repoUrl: string;
|
|
48
|
+
ref: string;
|
|
49
|
+
dialect: MigrationDialect;
|
|
50
|
+
/** Highest version already applied to the target DB; `null`/omitted = fresh install (baseline + tail). */
|
|
51
|
+
currentVersion?: string | null;
|
|
52
|
+
}): Promise<MigrationFetchResult>;
|
|
53
|
+
/** @deprecated Use {@link FetchMigrationSlice}. */
|
|
42
54
|
export declare function fetchMigrationSlice(opts: {
|
|
43
55
|
repoUrl: string;
|
|
44
56
|
ref: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-fetch.d.ts","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAcvG;AA4BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2BhC"}
|
|
1
|
+
{"version":3,"file":"migration-fetch.d.ts","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAcvG;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAEvG;AA4BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2BhC;AAED,mDAAmD;AACnD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEhC"}
|
|
@@ -20,7 +20,7 @@ import { mkdtempSync } from 'node:fs';
|
|
|
20
20
|
import { rm } from 'node:fs/promises';
|
|
21
21
|
import { tmpdir } from 'node:os';
|
|
22
22
|
import path from 'node:path';
|
|
23
|
-
import {
|
|
23
|
+
import { ParseMigrationFilename } from '../baseline/util.js';
|
|
24
24
|
/** Matches Flyway/Skyway repeatable migrations (`R__<desc>.sql`), which always run. */
|
|
25
25
|
const REPEATABLE_PATTERN = /^R__.+\.sql$/i;
|
|
26
26
|
/**
|
|
@@ -28,12 +28,16 @@ const REPEATABLE_PATTERN = /^R__.+\.sql$/i;
|
|
|
28
28
|
* A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
|
|
29
29
|
* anything else (e.g. `main`) is treated as a branch name unchanged.
|
|
30
30
|
*/
|
|
31
|
-
export function
|
|
31
|
+
export function ResolveGitRef(tagOrBranch) {
|
|
32
32
|
const isSemver = /^v?\d+\.\d+\.\d+$/.test(tagOrBranch);
|
|
33
33
|
if (!isSemver)
|
|
34
34
|
return tagOrBranch;
|
|
35
35
|
return tagOrBranch.startsWith('v') ? tagOrBranch : `v${tagOrBranch}`;
|
|
36
36
|
}
|
|
37
|
+
/** @deprecated Use {@link ResolveGitRef}. */
|
|
38
|
+
export function resolveGitRef(tagOrBranch) {
|
|
39
|
+
return ResolveGitRef(tagOrBranch);
|
|
40
|
+
}
|
|
37
41
|
/**
|
|
38
42
|
* Pure selector: given the repo-relative migration paths present at a ref, return
|
|
39
43
|
* the minimal slice Skyway needs. Repeatable migrations are always included.
|
|
@@ -52,7 +56,7 @@ export function resolveGitRef(tagOrBranch) {
|
|
|
52
56
|
*
|
|
53
57
|
* With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
|
|
54
58
|
*/
|
|
55
|
-
export function
|
|
59
|
+
export function SelectMigrationSlice(paths, currentVersion) {
|
|
56
60
|
const sqlPaths = paths.filter((p) => p.toLowerCase().endsWith('.sql'));
|
|
57
61
|
const repeatables = sqlPaths.filter((p) => REPEATABLE_PATTERN.test(path.basename(p)));
|
|
58
62
|
if (currentVersion != null) {
|
|
@@ -65,40 +69,44 @@ export function selectMigrationSlice(paths, currentVersion) {
|
|
|
65
69
|
const versioned = sqlPaths.filter((p) => isInVersionedSlice(p, floorTimestamp));
|
|
66
70
|
return Array.from(new Set([...versioned, ...repeatables]));
|
|
67
71
|
}
|
|
72
|
+
/** @deprecated Use {@link SelectMigrationSlice}. */
|
|
73
|
+
export function selectMigrationSlice(paths, currentVersion) {
|
|
74
|
+
return SelectMigrationSlice(paths, currentVersion);
|
|
75
|
+
}
|
|
68
76
|
/** True if `filePath` is a versioned (`V`) migration whose timestamp is strictly after `currentVersion`. */
|
|
69
77
|
function isVersionedAfter(filePath, currentVersion) {
|
|
70
|
-
const parsed =
|
|
71
|
-
return parsed?.
|
|
78
|
+
const parsed = ParseMigrationFilename(path.basename(filePath));
|
|
79
|
+
return parsed?.Kind === 'V' && parsed.Timestamp > currentVersion;
|
|
72
80
|
}
|
|
73
81
|
/** Returns the timestamp of the latest `B` baseline among the paths, or null if none. */
|
|
74
82
|
function highestBaselineTimestamp(sqlPaths) {
|
|
75
83
|
let floor = null;
|
|
76
84
|
for (const p of sqlPaths) {
|
|
77
|
-
const parsed =
|
|
78
|
-
if (!parsed || parsed.
|
|
85
|
+
const parsed = ParseMigrationFilename(path.basename(p));
|
|
86
|
+
if (!parsed || parsed.Kind !== 'B')
|
|
79
87
|
continue;
|
|
80
|
-
if (floor === null || parsed.
|
|
81
|
-
floor = parsed.
|
|
88
|
+
if (floor === null || parsed.Timestamp > floor)
|
|
89
|
+
floor = parsed.Timestamp;
|
|
82
90
|
}
|
|
83
91
|
return floor;
|
|
84
92
|
}
|
|
85
93
|
/** True if a versioned/baseline path belongs in the slice given the baseline floor. */
|
|
86
94
|
function isInVersionedSlice(filePath, floorTimestamp) {
|
|
87
|
-
const parsed =
|
|
95
|
+
const parsed = ParseMigrationFilename(path.basename(filePath));
|
|
88
96
|
if (!parsed)
|
|
89
97
|
return false; // repeatables and non-migration files handled elsewhere
|
|
90
98
|
if (floorTimestamp === null)
|
|
91
|
-
return parsed.
|
|
92
|
-
if (parsed.
|
|
93
|
-
return parsed.
|
|
94
|
-
return parsed.
|
|
99
|
+
return parsed.Kind === 'V'; // no baseline → all versioned
|
|
100
|
+
if (parsed.Kind === 'B')
|
|
101
|
+
return parsed.Timestamp === floorTimestamp; // only the floor baseline
|
|
102
|
+
return parsed.Timestamp > floorTimestamp; // versioned migrations strictly after the baseline
|
|
95
103
|
}
|
|
96
104
|
/**
|
|
97
105
|
* SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
|
|
98
106
|
* only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
|
|
99
107
|
* MUST run in a finally. On any internal failure the temp dir is removed before throwing.
|
|
100
108
|
*/
|
|
101
|
-
export async function
|
|
109
|
+
export async function FetchMigrationSlice(opts) {
|
|
102
110
|
const migrationsRoot = opts.dialect === 'postgresql' ? 'migrations-pg' : 'migrations';
|
|
103
111
|
const dir = mkdtempSync(path.join(tmpdir(), 'mj-migrations-'));
|
|
104
112
|
const cleanup = async () => {
|
|
@@ -112,20 +120,24 @@ export async function fetchMigrationSlice(opts) {
|
|
|
112
120
|
const partialOk = await tryPartialClone(git, opts.repoUrl, opts.ref, dir);
|
|
113
121
|
if (!partialOk) {
|
|
114
122
|
await fullSparseClone(git, opts.repoUrl, opts.ref, dir, migrationsRoot);
|
|
115
|
-
return { dir,
|
|
123
|
+
return { Dir: dir, Selected: [], UsedFallback: true, Cleanup: cleanup };
|
|
116
124
|
}
|
|
117
125
|
const allPaths = await listTreePaths(git, migrationsRoot);
|
|
118
|
-
const selected =
|
|
126
|
+
const selected = SelectMigrationSlice(allPaths, opts.currentVersion);
|
|
119
127
|
const checkoutTargets = selected.length > 0 ? selected : [migrationsRoot];
|
|
120
128
|
await git.raw(['sparse-checkout', 'set', '--no-cone', ...checkoutTargets]);
|
|
121
129
|
await git.raw(['checkout']);
|
|
122
|
-
return { dir, selected,
|
|
130
|
+
return { Dir: dir, Selected: selected, UsedFallback: false, Cleanup: cleanup };
|
|
123
131
|
}
|
|
124
132
|
catch (err) {
|
|
125
133
|
await cleanup();
|
|
126
134
|
throw err;
|
|
127
135
|
}
|
|
128
136
|
}
|
|
137
|
+
/** @deprecated Use {@link FetchMigrationSlice}. */
|
|
138
|
+
export async function fetchMigrationSlice(opts) {
|
|
139
|
+
return FetchMigrationSlice(opts);
|
|
140
|
+
}
|
|
129
141
|
/** Attempts a blobless, no-checkout shallow clone. Returns false if the server/git rejects the filter. */
|
|
130
142
|
async function tryPartialClone(git, repoUrl, ref, dir) {
|
|
131
143
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-fetch.js","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migration-fetch.js","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export declare const BACPAC_STANDALONE_COMPOSE = "docker/regression/docker-compo
|
|
|
19
19
|
* who only `npm i -g @memberjunction/cli` still have it. Returns the first path
|
|
20
20
|
* that exists, or the bundled path (so the caller can surface a clear error).
|
|
21
21
|
*/
|
|
22
|
+
export declare function ResolveStandaloneCompose(monorepoRelPath: string): string;
|
|
23
|
+
/** @deprecated Use {@link ResolveStandaloneCompose}. */
|
|
22
24
|
export declare function resolveStandaloneCompose(monorepoRelPath: string): string;
|
|
23
25
|
export declare const ENV_FILE = "docker/regression/.env.test";
|
|
24
26
|
export declare const TARGETS_DIR = "docker/regression/targets";
|
|
@@ -38,6 +40,8 @@ export declare const AGENTIC_TEST_RUNNER_IMAGE = "memberjunction/agentic-test-ru
|
|
|
38
40
|
* print a helpful message and exit. Phase 4 still requires the user to be in
|
|
39
41
|
* the monorepo; Phase 8 will publish the docker image and lift this guard.
|
|
40
42
|
*/
|
|
43
|
+
export declare function RequireMonorepoRoot(): void;
|
|
44
|
+
/** @deprecated Use {@link RequireMonorepoRoot}. */
|
|
41
45
|
export declare function requireMonorepoRoot(): void;
|
|
42
46
|
/**
|
|
43
47
|
* Soft check — returns true when there's an MJ monorepo at-or-above cwd.
|
|
@@ -48,20 +52,31 @@ export declare function requireMonorepoRoot(): void;
|
|
|
48
52
|
* The sentinel is the regression base compose file: it lives in every
|
|
49
53
|
* monorepo checkout and is never present in an external `npm i -g` install.
|
|
50
54
|
*/
|
|
55
|
+
export declare function IsInsideMonorepo(startDir?: string): boolean;
|
|
56
|
+
/** @deprecated Use {@link IsInsideMonorepo}. */
|
|
51
57
|
export declare function isInsideMonorepo(startDir?: string): boolean;
|
|
52
58
|
/** Returns true when `<cwd>/<ENV_FILE>` exists (e.g. user copied .env.test.example). */
|
|
59
|
+
export declare function EnvFileExists(): boolean;
|
|
60
|
+
/** @deprecated Use {@link EnvFileExists}. */
|
|
53
61
|
export declare function envFileExists(): boolean;
|
|
54
62
|
/**
|
|
55
63
|
* Spawn a child process inheriting stdio. Resolves with the exit code.
|
|
56
64
|
* The promise NEVER rejects on a non-zero exit code — callers inspect the
|
|
57
65
|
* resolved number and propagate it to the user.
|
|
58
66
|
*/
|
|
67
|
+
export declare function SpawnInherit(command: string, args: string[], options?: SpawnOptions): Promise<number>;
|
|
68
|
+
/** @deprecated Use {@link SpawnInherit}. */
|
|
59
69
|
export declare function spawnInherit(command: string, args: string[], options?: SpawnOptions): Promise<number>;
|
|
60
70
|
/**
|
|
61
71
|
* Capture stdout from a child process (stderr inherited so errors surface).
|
|
62
72
|
* Resolves with { code, stdout }. Used by the remote subcommand to read the
|
|
63
73
|
* target-profile loader's JSON output without printing it to the user.
|
|
64
74
|
*/
|
|
75
|
+
export declare function SpawnCapture(command: string, args: string[], options?: SpawnOptions): Promise<{
|
|
76
|
+
code: number;
|
|
77
|
+
stdout: string;
|
|
78
|
+
}>;
|
|
79
|
+
/** @deprecated Use {@link SpawnCapture}. */
|
|
65
80
|
export declare function spawnCapture(command: string, args: string[], options?: SpawnOptions): Promise<{
|
|
66
81
|
code: number;
|
|
67
82
|
stdout: string;
|
|
@@ -76,6 +91,8 @@ export declare function spawnCapture(command: string, args: string[], options?:
|
|
|
76
91
|
* directory (the base compose file at `docker/regression/`), NOT against the
|
|
77
92
|
* overlay's own location.
|
|
78
93
|
*/
|
|
94
|
+
export declare function DockerComposeArgs(profile?: string, extra?: string[], overlays?: string[]): string[];
|
|
95
|
+
/** @deprecated Use {@link DockerComposeArgs}. */
|
|
79
96
|
export declare function dockerComposeArgs(profile?: string, extra?: string[], overlays?: string[]): string[];
|
|
80
97
|
/**
|
|
81
98
|
* Resolve a target-profile argument to an absolute path. Accepts:
|
|
@@ -84,6 +101,8 @@ export declare function dockerComposeArgs(profile?: string, extra?: string[], ov
|
|
|
84
101
|
* - "./my/elsewhere.target.json" → ./my/elsewhere.target.json (passthrough)
|
|
85
102
|
* - absolute path → unchanged
|
|
86
103
|
*/
|
|
104
|
+
export declare function ResolveTargetPath(input: string): string;
|
|
105
|
+
/** @deprecated Use {@link ResolveTargetPath}. */
|
|
87
106
|
export declare function resolveTargetPath(input: string): string;
|
|
88
107
|
/**
|
|
89
108
|
* Build a `docker run …` argument list for the published image (external,
|
|
@@ -91,6 +110,11 @@ export declare function resolveTargetPath(input: string): string;
|
|
|
91
110
|
* injected with `--env-file`; `host.docker.internal` is always mapped so a DB
|
|
92
111
|
* published on the host is reachable on Linux too.
|
|
93
112
|
*/
|
|
113
|
+
export declare function DockerRunArgs(image: string, subArgs: string[], opts?: {
|
|
114
|
+
mounts?: Array<[string, string]>;
|
|
115
|
+
envFile?: string;
|
|
116
|
+
}): string[];
|
|
117
|
+
/** @deprecated Use {@link DockerRunArgs}. */
|
|
94
118
|
export declare function dockerRunArgs(image: string, subArgs: string[], opts?: {
|
|
95
119
|
mounts?: Array<[string, string]>;
|
|
96
120
|
envFile?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/regression/docker-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,YAAY,8CAA8C,CAAC;AACxE,eAAO,MAAM,cAAc,gDAAgD,CAAC;AAC5E,eAAO,MAAM,kBAAkB,oDAAoD,CAAC;AACpF,eAAO,MAAM,yBAAyB,2DAA2D,CAAC;AASlG;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAKxE;AACD,eAAO,MAAM,QAAQ,gCAAgC,CAAC;AACtD,eAAO,MAAM,WAAW,8BAA8B,CAAC;AACvD,eAAO,MAAM,kBAAkB,sDAAsD,CAAC;AACtF,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AACjE,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAC5D,eAAO,MAAM,oBAAoB,gDAAgD,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,8CAA8C,CAAC;AAErF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAQ1E;AAED,wFAAwF;AACxF,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,GAAE,MAAM,EAAO,EACpB,QAAQ,GAAE,MAAM,EAAO,GACtB,MAAM,EAAE,CAYV;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,MAAM,EAAE,CAUV"}
|
|
1
|
+
{"version":3,"file":"docker-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/regression/docker-helpers.ts"],"names":[],"mappings":"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"}
|