@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
package/oclif.manifest.json
CHANGED
|
@@ -37,6 +37,70 @@
|
|
|
37
37
|
"usage.js"
|
|
38
38
|
]
|
|
39
39
|
},
|
|
40
|
+
"agent:init": {
|
|
41
|
+
"aliases": [
|
|
42
|
+
"ai:agents:init"
|
|
43
|
+
],
|
|
44
|
+
"args": {
|
|
45
|
+
"dir": {
|
|
46
|
+
"default": ".",
|
|
47
|
+
"description": "Target directory for the agent builder environment (default: current directory).",
|
|
48
|
+
"name": "dir",
|
|
49
|
+
"required": false
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"description": "Initialize a MemberJunction Citizen Agent Builder environment in the current or specified directory, including Docker setup.",
|
|
53
|
+
"examples": [
|
|
54
|
+
"<%= config.bin %> <%= command.id %>",
|
|
55
|
+
"<%= config.bin %> <%= command.id %> ./my-agent-workspace",
|
|
56
|
+
"<%= config.bin %> <%= command.id %> --no-start",
|
|
57
|
+
"<%= config.bin %> <%= command.id %> --app https://github.com/BlueCypress/bc-sampledata"
|
|
58
|
+
],
|
|
59
|
+
"flags": {
|
|
60
|
+
"force": {
|
|
61
|
+
"char": "f",
|
|
62
|
+
"description": "Overwrite existing files in target directory if they already exist.",
|
|
63
|
+
"name": "force",
|
|
64
|
+
"allowNo": false,
|
|
65
|
+
"type": "boolean"
|
|
66
|
+
},
|
|
67
|
+
"start": {
|
|
68
|
+
"char": "s",
|
|
69
|
+
"description": "Start Docker containers and run bootstrap immediately after initialization (pass --no-start to skip).",
|
|
70
|
+
"name": "start",
|
|
71
|
+
"allowNo": true,
|
|
72
|
+
"type": "boolean"
|
|
73
|
+
},
|
|
74
|
+
"app": {
|
|
75
|
+
"description": "Open App Git URL to install for business context (default: More Cheese).",
|
|
76
|
+
"name": "app",
|
|
77
|
+
"hasDynamicHelp": false,
|
|
78
|
+
"multiple": false,
|
|
79
|
+
"type": "option"
|
|
80
|
+
},
|
|
81
|
+
"skip-docker-check": {
|
|
82
|
+
"description": "Skip verifying whether Docker Desktop is currently running.",
|
|
83
|
+
"name": "skip-docker-check",
|
|
84
|
+
"allowNo": false,
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"hasDynamicHelp": false,
|
|
89
|
+
"hiddenAliases": [],
|
|
90
|
+
"id": "agent:init",
|
|
91
|
+
"pluginAlias": "@memberjunction/cli",
|
|
92
|
+
"pluginName": "@memberjunction/cli",
|
|
93
|
+
"pluginType": "core",
|
|
94
|
+
"strict": true,
|
|
95
|
+
"enableJsonFlag": false,
|
|
96
|
+
"isESM": true,
|
|
97
|
+
"relativePath": [
|
|
98
|
+
"dist",
|
|
99
|
+
"commands",
|
|
100
|
+
"agent",
|
|
101
|
+
"init.js"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
40
104
|
"ai": {
|
|
41
105
|
"aliases": [],
|
|
42
106
|
"args": {},
|
|
@@ -1445,20 +1509,6 @@
|
|
|
1445
1509
|
"aliases": [],
|
|
1446
1510
|
"args": {},
|
|
1447
1511
|
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your database schema, updates MemberJunction metadata, and generates\nsynchronized code across the stack: SQL objects, TypeScript entities, Angular\nforms, GraphQL resolvers, Action subclasses, and DB schema JSON.\n\nUse --skipdb to regenerate code from existing metadata only; --skipfiles to run\ndatabase-side operations only. --force-advanced-gen re-runs the LLM-driven\nadvanced generation for ALL entities (bypasses changed-entity scoping).",
|
|
1448
|
-
"examples": [
|
|
1449
|
-
{
|
|
1450
|
-
"command": "<%= config.bin %> <%= command.id %>",
|
|
1451
|
-
"description": "Run the full code generation pipeline"
|
|
1452
|
-
},
|
|
1453
|
-
{
|
|
1454
|
-
"command": "<%= config.bin %> <%= command.id %> --skipdb",
|
|
1455
|
-
"description": "Regenerate code files without touching the database"
|
|
1456
|
-
},
|
|
1457
|
-
{
|
|
1458
|
-
"command": "<%= config.bin %> <%= command.id %> --format=json",
|
|
1459
|
-
"description": "Emit a machine-readable result for an agent"
|
|
1460
|
-
}
|
|
1461
|
-
],
|
|
1462
1512
|
"flags": {
|
|
1463
1513
|
"format": {
|
|
1464
1514
|
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -1546,6 +1596,20 @@
|
|
|
1546
1596
|
"pluginType": "core",
|
|
1547
1597
|
"strict": true,
|
|
1548
1598
|
"enableJsonFlag": false,
|
|
1599
|
+
"Examples": [
|
|
1600
|
+
{
|
|
1601
|
+
"command": "<%= config.bin %> <%= command.id %>",
|
|
1602
|
+
"description": "Run the full code generation pipeline"
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
"command": "<%= config.bin %> <%= command.id %> --skipdb",
|
|
1606
|
+
"description": "Regenerate code files without touching the database"
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"command": "<%= config.bin %> <%= command.id %> --format=json",
|
|
1610
|
+
"description": "Emit a machine-readable result for an agent"
|
|
1611
|
+
}
|
|
1612
|
+
],
|
|
1549
1613
|
"Usage": {
|
|
1550
1614
|
"domain": "codegen",
|
|
1551
1615
|
"command": "codegen",
|
|
@@ -2295,6 +2359,130 @@
|
|
|
2295
2359
|
"usage.js"
|
|
2296
2360
|
]
|
|
2297
2361
|
},
|
|
2362
|
+
"doctor": {
|
|
2363
|
+
"aliases": [],
|
|
2364
|
+
"args": {},
|
|
2365
|
+
"description": "Diagnose a MemberJunction installation",
|
|
2366
|
+
"examples": [
|
|
2367
|
+
"<%= config.bin %> <%= command.id %>",
|
|
2368
|
+
"<%= config.bin %> <%= command.id %> --dir ./my-mj-project",
|
|
2369
|
+
"<%= config.bin %> <%= command.id %> --format json",
|
|
2370
|
+
"<%= config.bin %> <%= command.id %> --scope ai",
|
|
2371
|
+
"<%= config.bin %> <%= command.id %> --verbose",
|
|
2372
|
+
"<%= config.bin %> <%= command.id %> --report",
|
|
2373
|
+
"<%= config.bin %> <%= command.id %> --report_extended"
|
|
2374
|
+
],
|
|
2375
|
+
"flags": {
|
|
2376
|
+
"dir": {
|
|
2377
|
+
"description": "Target directory to diagnose",
|
|
2378
|
+
"name": "dir",
|
|
2379
|
+
"default": ".",
|
|
2380
|
+
"hasDynamicHelp": false,
|
|
2381
|
+
"multiple": false,
|
|
2382
|
+
"type": "option"
|
|
2383
|
+
},
|
|
2384
|
+
"scope": {
|
|
2385
|
+
"description": "Diagnostic scope to filter by (install, runtime, ai, metadata, agent)",
|
|
2386
|
+
"name": "scope",
|
|
2387
|
+
"hasDynamicHelp": false,
|
|
2388
|
+
"multiple": false,
|
|
2389
|
+
"options": [
|
|
2390
|
+
"install",
|
|
2391
|
+
"runtime",
|
|
2392
|
+
"ai",
|
|
2393
|
+
"metadata",
|
|
2394
|
+
"agent"
|
|
2395
|
+
],
|
|
2396
|
+
"type": "option"
|
|
2397
|
+
},
|
|
2398
|
+
"format": {
|
|
2399
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
|
|
2400
|
+
"name": "format",
|
|
2401
|
+
"hasDynamicHelp": false,
|
|
2402
|
+
"multiple": false,
|
|
2403
|
+
"options": [
|
|
2404
|
+
"text",
|
|
2405
|
+
"json",
|
|
2406
|
+
"md",
|
|
2407
|
+
"human",
|
|
2408
|
+
"console",
|
|
2409
|
+
"markdown",
|
|
2410
|
+
"compact",
|
|
2411
|
+
"table"
|
|
2412
|
+
],
|
|
2413
|
+
"type": "option"
|
|
2414
|
+
},
|
|
2415
|
+
"verbose": {
|
|
2416
|
+
"char": "v",
|
|
2417
|
+
"description": "Show detailed output including suggested fixes inline",
|
|
2418
|
+
"name": "verbose",
|
|
2419
|
+
"allowNo": false,
|
|
2420
|
+
"type": "boolean"
|
|
2421
|
+
},
|
|
2422
|
+
"report": {
|
|
2423
|
+
"char": "r",
|
|
2424
|
+
"description": "Generate a diagnostic report file (mj-diagnostic-report.md) for sharing with support",
|
|
2425
|
+
"name": "report",
|
|
2426
|
+
"allowNo": false,
|
|
2427
|
+
"type": "boolean"
|
|
2428
|
+
},
|
|
2429
|
+
"report_extended": {
|
|
2430
|
+
"description": "Generate an extended report with config file snapshots and service startup log capture (~60s longer)",
|
|
2431
|
+
"name": "report_extended",
|
|
2432
|
+
"allowNo": false,
|
|
2433
|
+
"type": "boolean"
|
|
2434
|
+
}
|
|
2435
|
+
},
|
|
2436
|
+
"hasDynamicHelp": false,
|
|
2437
|
+
"hiddenAliases": [],
|
|
2438
|
+
"id": "doctor",
|
|
2439
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2440
|
+
"pluginName": "@memberjunction/cli",
|
|
2441
|
+
"pluginType": "core",
|
|
2442
|
+
"strict": true,
|
|
2443
|
+
"enableJsonFlag": false,
|
|
2444
|
+
"isESM": true,
|
|
2445
|
+
"relativePath": [
|
|
2446
|
+
"dist",
|
|
2447
|
+
"commands",
|
|
2448
|
+
"doctor",
|
|
2449
|
+
"index.js"
|
|
2450
|
+
]
|
|
2451
|
+
},
|
|
2452
|
+
"doctor:usage": {
|
|
2453
|
+
"aliases": [],
|
|
2454
|
+
"args": {},
|
|
2455
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj doctor` command.",
|
|
2456
|
+
"flags": {
|
|
2457
|
+
"format": {
|
|
2458
|
+
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
2459
|
+
"name": "format",
|
|
2460
|
+
"hasDynamicHelp": false,
|
|
2461
|
+
"multiple": false,
|
|
2462
|
+
"options": [
|
|
2463
|
+
"text",
|
|
2464
|
+
"json",
|
|
2465
|
+
"md"
|
|
2466
|
+
],
|
|
2467
|
+
"type": "option"
|
|
2468
|
+
}
|
|
2469
|
+
},
|
|
2470
|
+
"hasDynamicHelp": false,
|
|
2471
|
+
"hiddenAliases": [],
|
|
2472
|
+
"id": "doctor:usage",
|
|
2473
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2474
|
+
"pluginName": "@memberjunction/cli",
|
|
2475
|
+
"pluginType": "core",
|
|
2476
|
+
"strict": true,
|
|
2477
|
+
"enableJsonFlag": false,
|
|
2478
|
+
"isESM": true,
|
|
2479
|
+
"relativePath": [
|
|
2480
|
+
"dist",
|
|
2481
|
+
"commands",
|
|
2482
|
+
"doctor",
|
|
2483
|
+
"usage.js"
|
|
2484
|
+
]
|
|
2485
|
+
},
|
|
2298
2486
|
"install:claude": {
|
|
2299
2487
|
"aliases": [],
|
|
2300
2488
|
"args": {},
|
|
@@ -2563,50 +2751,37 @@
|
|
|
2563
2751
|
"usage.js"
|
|
2564
2752
|
]
|
|
2565
2753
|
},
|
|
2566
|
-
"
|
|
2754
|
+
"plugin:add": {
|
|
2567
2755
|
"aliases": [],
|
|
2568
|
-
"args": {
|
|
2569
|
-
|
|
2756
|
+
"args": {
|
|
2757
|
+
"package": {
|
|
2758
|
+
"description": "Plugin entry-point specifier (package name, subpath, or relative path)",
|
|
2759
|
+
"name": "package",
|
|
2760
|
+
"required": true
|
|
2761
|
+
}
|
|
2762
|
+
},
|
|
2763
|
+
"description": "Register a CLI plugin package in mj-cli-plugins.json so `mj` loads it at startup.",
|
|
2570
2764
|
"examples": [
|
|
2571
|
-
"<%= config.bin %> <%= command.id %>",
|
|
2572
|
-
"<%= config.bin %> <%= command.id %>
|
|
2573
|
-
"<%= config.bin %> <%= command.id %> --verbose",
|
|
2574
|
-
"<%= config.bin %> <%= command.id %> --report",
|
|
2575
|
-
"<%= config.bin %> <%= command.id %> --report_extended"
|
|
2765
|
+
"<%= config.bin %> <%= command.id %> @my-org/mj-plugin/plugins",
|
|
2766
|
+
"<%= config.bin %> <%= command.id %> ./local-plugins/my-tool"
|
|
2576
2767
|
],
|
|
2577
2768
|
"flags": {
|
|
2578
|
-
"
|
|
2579
|
-
"description": "
|
|
2580
|
-
"name": "
|
|
2581
|
-
"default": "
|
|
2769
|
+
"format": {
|
|
2770
|
+
"description": "Output format",
|
|
2771
|
+
"name": "format",
|
|
2772
|
+
"default": "text",
|
|
2582
2773
|
"hasDynamicHelp": false,
|
|
2583
2774
|
"multiple": false,
|
|
2775
|
+
"options": [
|
|
2776
|
+
"text",
|
|
2777
|
+
"json"
|
|
2778
|
+
],
|
|
2584
2779
|
"type": "option"
|
|
2585
|
-
},
|
|
2586
|
-
"verbose": {
|
|
2587
|
-
"char": "v",
|
|
2588
|
-
"description": "Show detailed output including suggested fixes inline",
|
|
2589
|
-
"name": "verbose",
|
|
2590
|
-
"allowNo": false,
|
|
2591
|
-
"type": "boolean"
|
|
2592
|
-
},
|
|
2593
|
-
"report": {
|
|
2594
|
-
"char": "r",
|
|
2595
|
-
"description": "Generate a diagnostic report file (mj-diagnostic-report.md) for sharing with support",
|
|
2596
|
-
"name": "report",
|
|
2597
|
-
"allowNo": false,
|
|
2598
|
-
"type": "boolean"
|
|
2599
|
-
},
|
|
2600
|
-
"report_extended": {
|
|
2601
|
-
"description": "Generate an extended report with config file snapshots and service startup log capture (~60s longer)",
|
|
2602
|
-
"name": "report_extended",
|
|
2603
|
-
"allowNo": false,
|
|
2604
|
-
"type": "boolean"
|
|
2605
2780
|
}
|
|
2606
2781
|
},
|
|
2607
2782
|
"hasDynamicHelp": false,
|
|
2608
2783
|
"hiddenAliases": [],
|
|
2609
|
-
"id": "
|
|
2784
|
+
"id": "plugin:add",
|
|
2610
2785
|
"pluginAlias": "@memberjunction/cli",
|
|
2611
2786
|
"pluginName": "@memberjunction/cli",
|
|
2612
2787
|
"pluginType": "core",
|
|
@@ -2616,14 +2791,14 @@
|
|
|
2616
2791
|
"relativePath": [
|
|
2617
2792
|
"dist",
|
|
2618
2793
|
"commands",
|
|
2619
|
-
"
|
|
2620
|
-
"
|
|
2794
|
+
"plugin",
|
|
2795
|
+
"add.js"
|
|
2621
2796
|
]
|
|
2622
2797
|
},
|
|
2623
|
-
"
|
|
2798
|
+
"plugin:usage": {
|
|
2624
2799
|
"aliases": [],
|
|
2625
2800
|
"args": {},
|
|
2626
|
-
"description": "Show usage, flags, examples, and runtime hints for every `mj
|
|
2801
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj plugin` command.",
|
|
2627
2802
|
"flags": {
|
|
2628
2803
|
"format": {
|
|
2629
2804
|
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -2640,7 +2815,7 @@
|
|
|
2640
2815
|
},
|
|
2641
2816
|
"hasDynamicHelp": false,
|
|
2642
2817
|
"hiddenAliases": [],
|
|
2643
|
-
"id": "
|
|
2818
|
+
"id": "plugin:usage",
|
|
2644
2819
|
"pluginAlias": "@memberjunction/cli",
|
|
2645
2820
|
"pluginName": "@memberjunction/cli",
|
|
2646
2821
|
"pluginType": "core",
|
|
@@ -2650,428 +2825,11 @@
|
|
|
2650
2825
|
"relativePath": [
|
|
2651
2826
|
"dist",
|
|
2652
2827
|
"commands",
|
|
2653
|
-
"
|
|
2828
|
+
"plugin",
|
|
2654
2829
|
"usage.js"
|
|
2655
2830
|
]
|
|
2656
2831
|
},
|
|
2657
|
-
"
|
|
2658
|
-
"aliases": [],
|
|
2659
|
-
"args": {},
|
|
2660
|
-
"description": "Convert T-SQL migrations to PostgreSQL",
|
|
2661
|
-
"examples": [
|
|
2662
|
-
"<%= config.bin %> migrate convert --split",
|
|
2663
|
-
"<%= config.bin %> migrate convert --split --dry-run",
|
|
2664
|
-
"<%= config.bin %> migrate convert --split --file V202604060452__v5.24.x__KnowledgeHub.sql",
|
|
2665
|
-
"<%= config.bin %> migrate convert --source-dir ./migrations/v5 --output-dir ./migrations-pg/v5",
|
|
2666
|
-
"<%= config.bin %> migrate convert --verbose"
|
|
2667
|
-
],
|
|
2668
|
-
"flags": {
|
|
2669
|
-
"source-dir": {
|
|
2670
|
-
"description": "Source T-SQL migrations directory",
|
|
2671
|
-
"name": "source-dir",
|
|
2672
|
-
"default": "./migrations/v5",
|
|
2673
|
-
"hasDynamicHelp": false,
|
|
2674
|
-
"multiple": false,
|
|
2675
|
-
"type": "option"
|
|
2676
|
-
},
|
|
2677
|
-
"output-dir": {
|
|
2678
|
-
"description": "Output PG migrations directory",
|
|
2679
|
-
"name": "output-dir",
|
|
2680
|
-
"default": "./migrations-pg/v5",
|
|
2681
|
-
"hasDynamicHelp": false,
|
|
2682
|
-
"multiple": false,
|
|
2683
|
-
"type": "option"
|
|
2684
|
-
},
|
|
2685
|
-
"file": {
|
|
2686
|
-
"description": "Convert a specific file (filename only, looked up in source-dir)",
|
|
2687
|
-
"name": "file",
|
|
2688
|
-
"hasDynamicHelp": false,
|
|
2689
|
-
"multiple": false,
|
|
2690
|
-
"type": "option"
|
|
2691
|
-
},
|
|
2692
|
-
"schema": {
|
|
2693
|
-
"description": "Target schema name",
|
|
2694
|
-
"name": "schema",
|
|
2695
|
-
"default": "__mj",
|
|
2696
|
-
"hasDynamicHelp": false,
|
|
2697
|
-
"multiple": false,
|
|
2698
|
-
"type": "option"
|
|
2699
|
-
},
|
|
2700
|
-
"core-schema": {
|
|
2701
|
-
"description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
|
|
2702
|
-
"name": "core-schema",
|
|
2703
|
-
"default": "__mj",
|
|
2704
|
-
"hasDynamicHelp": false,
|
|
2705
|
-
"multiple": false,
|
|
2706
|
-
"type": "option"
|
|
2707
|
-
},
|
|
2708
|
-
"dry-run": {
|
|
2709
|
-
"description": "Show what would be converted without writing files",
|
|
2710
|
-
"name": "dry-run",
|
|
2711
|
-
"allowNo": false,
|
|
2712
|
-
"type": "boolean"
|
|
2713
|
-
},
|
|
2714
|
-
"no-header": {
|
|
2715
|
-
"description": "Skip PG header (extensions, schema, implicit cast)",
|
|
2716
|
-
"name": "no-header",
|
|
2717
|
-
"allowNo": false,
|
|
2718
|
-
"type": "boolean"
|
|
2719
|
-
},
|
|
2720
|
-
"verbose": {
|
|
2721
|
-
"char": "v",
|
|
2722
|
-
"description": "Show per-statement progress",
|
|
2723
|
-
"name": "verbose",
|
|
2724
|
-
"allowNo": false,
|
|
2725
|
-
"type": "boolean"
|
|
2726
|
-
},
|
|
2727
|
-
"split": {
|
|
2728
|
-
"description": "Split-and-regenerate (the standard path): transpile only hand-written DDL via the AST dialect; CodeGen objects are regenerated by `mj codegen` and mj-sync metadata re-seeded by `mj sync push`; every conversion gap is surfaced and fails the run unless --allow-gaps.",
|
|
2729
|
-
"name": "split",
|
|
2730
|
-
"allowNo": false,
|
|
2731
|
-
"type": "boolean"
|
|
2732
|
-
},
|
|
2733
|
-
"allow-gaps": {
|
|
2734
|
-
"description": "Exit 0 even when migrations have conversion gaps — with --split: hand-authoring needed or unhandled statements; on the legacy path: \"-- Could not parse\" / \"-- ERROR converting batch\" markers in the output. Gaps are still embedded as comments and listed in the summary.",
|
|
2735
|
-
"name": "allow-gaps",
|
|
2736
|
-
"allowNo": false,
|
|
2737
|
-
"type": "boolean"
|
|
2738
|
-
},
|
|
2739
|
-
"bake-codegen": {
|
|
2740
|
-
"description": "With --split: bake native PG CodeGen objects inline per migration (Path C), so the set deploys with `mj migrate` alone — no `mj codegen` step. Requires a LIVE working PG database (DB_PLATFORM=postgresql + PG_* env, same as `mj codegen`) seeded to the state just BEFORE the migrations being converted (typically the latest baseline); the converter brings it forward in committed order as it bakes. Not compatible with --dry-run.",
|
|
2741
|
-
"name": "bake-codegen",
|
|
2742
|
-
"allowNo": false,
|
|
2743
|
-
"type": "boolean"
|
|
2744
|
-
}
|
|
2745
|
-
},
|
|
2746
|
-
"hasDynamicHelp": false,
|
|
2747
|
-
"hiddenAliases": [],
|
|
2748
|
-
"id": "migrate:convert",
|
|
2749
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2750
|
-
"pluginName": "@memberjunction/cli",
|
|
2751
|
-
"pluginType": "core",
|
|
2752
|
-
"strict": true,
|
|
2753
|
-
"enableJsonFlag": false,
|
|
2754
|
-
"isESM": true,
|
|
2755
|
-
"relativePath": [
|
|
2756
|
-
"dist",
|
|
2757
|
-
"commands",
|
|
2758
|
-
"migrate",
|
|
2759
|
-
"convert.js"
|
|
2760
|
-
]
|
|
2761
|
-
},
|
|
2762
|
-
"migrate:create": {
|
|
2763
|
-
"aliases": [],
|
|
2764
|
-
"args": {
|
|
2765
|
-
"description": {
|
|
2766
|
-
"description": "Short description (will be converted to PascalCase with underscores)",
|
|
2767
|
-
"name": "description",
|
|
2768
|
-
"required": true
|
|
2769
|
-
}
|
|
2770
|
-
},
|
|
2771
|
-
"description": "Scaffold a new migration file for the current database platform",
|
|
2772
|
-
"examples": [
|
|
2773
|
-
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\"",
|
|
2774
|
-
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\" --version 5.25 --platform postgresql",
|
|
2775
|
-
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\" --dir ./migrations/v5"
|
|
2776
|
-
],
|
|
2777
|
-
"flags": {
|
|
2778
|
-
"version": {
|
|
2779
|
-
"char": "v",
|
|
2780
|
-
"description": "Migration version tag, e.g. \"5.25\" (default: parsed from repo baseline or \"0.0\")",
|
|
2781
|
-
"name": "version",
|
|
2782
|
-
"hasDynamicHelp": false,
|
|
2783
|
-
"multiple": false,
|
|
2784
|
-
"type": "option"
|
|
2785
|
-
},
|
|
2786
|
-
"platform": {
|
|
2787
|
-
"char": "p",
|
|
2788
|
-
"description": "Override platform: sqlserver | postgresql (default: config.dbPlatform)",
|
|
2789
|
-
"name": "platform",
|
|
2790
|
-
"hasDynamicHelp": false,
|
|
2791
|
-
"multiple": false,
|
|
2792
|
-
"options": [
|
|
2793
|
-
"sqlserver",
|
|
2794
|
-
"postgresql"
|
|
2795
|
-
],
|
|
2796
|
-
"type": "option"
|
|
2797
|
-
},
|
|
2798
|
-
"dir": {
|
|
2799
|
-
"description": "Output directory (default: ./migrations/v5 or ./migrations-pg/v5)",
|
|
2800
|
-
"name": "dir",
|
|
2801
|
-
"hasDynamicHelp": false,
|
|
2802
|
-
"multiple": false,
|
|
2803
|
-
"type": "option"
|
|
2804
|
-
},
|
|
2805
|
-
"x-x": {
|
|
2806
|
-
"description": "Use {version}.x.x suffix instead of {version}.x (e.g. 5.25.x instead of 5.25.x)",
|
|
2807
|
-
"name": "x-x",
|
|
2808
|
-
"allowNo": false,
|
|
2809
|
-
"type": "boolean"
|
|
2810
|
-
}
|
|
2811
|
-
},
|
|
2812
|
-
"hasDynamicHelp": false,
|
|
2813
|
-
"hiddenAliases": [],
|
|
2814
|
-
"id": "migrate:create",
|
|
2815
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2816
|
-
"pluginName": "@memberjunction/cli",
|
|
2817
|
-
"pluginType": "core",
|
|
2818
|
-
"strict": true,
|
|
2819
|
-
"enableJsonFlag": false,
|
|
2820
|
-
"isESM": true,
|
|
2821
|
-
"relativePath": [
|
|
2822
|
-
"dist",
|
|
2823
|
-
"commands",
|
|
2824
|
-
"migrate",
|
|
2825
|
-
"create.js"
|
|
2826
|
-
]
|
|
2827
|
-
},
|
|
2828
|
-
"migrate": {
|
|
2829
|
-
"aliases": [],
|
|
2830
|
-
"args": {},
|
|
2831
|
-
"description": "Migrate MemberJunction database to latest version. Open App migrates also run the core metadata-heal procs (same work as R__RefreshMetadata) scoped to the app schema, on SQL Server and PostgreSQL.",
|
|
2832
|
-
"examples": [
|
|
2833
|
-
"<%= config.bin %> <%= command.id %>\n",
|
|
2834
|
-
"<%= config.bin %> <%= command.id %> --schema __BCSaaS --dir ./migrations/v1\n",
|
|
2835
|
-
"<%= config.bin %> <%= command.id %> --schema __BCSaaS --tag v1.0.0\n"
|
|
2836
|
-
],
|
|
2837
|
-
"flags": {
|
|
2838
|
-
"verbose": {
|
|
2839
|
-
"char": "v",
|
|
2840
|
-
"description": "Enable additional logging",
|
|
2841
|
-
"name": "verbose",
|
|
2842
|
-
"allowNo": false,
|
|
2843
|
-
"type": "boolean"
|
|
2844
|
-
},
|
|
2845
|
-
"tag": {
|
|
2846
|
-
"char": "t",
|
|
2847
|
-
"description": "Version tag to use for running remote migrations",
|
|
2848
|
-
"name": "tag",
|
|
2849
|
-
"hasDynamicHelp": false,
|
|
2850
|
-
"multiple": false,
|
|
2851
|
-
"type": "option"
|
|
2852
|
-
},
|
|
2853
|
-
"schema": {
|
|
2854
|
-
"char": "s",
|
|
2855
|
-
"description": "Target schema (overrides coreSchema from config)",
|
|
2856
|
-
"name": "schema",
|
|
2857
|
-
"hasDynamicHelp": false,
|
|
2858
|
-
"multiple": false,
|
|
2859
|
-
"type": "option"
|
|
2860
|
-
},
|
|
2861
|
-
"dir": {
|
|
2862
|
-
"description": "Migration source directory (overrides migrationsLocation from config)",
|
|
2863
|
-
"name": "dir",
|
|
2864
|
-
"hasDynamicHelp": false,
|
|
2865
|
-
"multiple": false,
|
|
2866
|
-
"type": "option"
|
|
2867
|
-
},
|
|
2868
|
-
"check-connection": {
|
|
2869
|
-
"description": "Verify the database connection (including TLS) and exit without migrating",
|
|
2870
|
-
"name": "check-connection",
|
|
2871
|
-
"allowNo": false,
|
|
2872
|
-
"type": "boolean"
|
|
2873
|
-
}
|
|
2874
|
-
},
|
|
2875
|
-
"hasDynamicHelp": false,
|
|
2876
|
-
"hiddenAliases": [],
|
|
2877
|
-
"id": "migrate",
|
|
2878
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2879
|
-
"pluginName": "@memberjunction/cli",
|
|
2880
|
-
"pluginType": "core",
|
|
2881
|
-
"strict": true,
|
|
2882
|
-
"enableJsonFlag": false,
|
|
2883
|
-
"isESM": true,
|
|
2884
|
-
"relativePath": [
|
|
2885
|
-
"dist",
|
|
2886
|
-
"commands",
|
|
2887
|
-
"migrate",
|
|
2888
|
-
"index.js"
|
|
2889
|
-
]
|
|
2890
|
-
},
|
|
2891
|
-
"migrate:rebake": {
|
|
2892
|
-
"aliases": [],
|
|
2893
|
-
"args": {},
|
|
2894
|
-
"description": "Re-bake the post-baseline PG migration set with inline native CodeGen",
|
|
2895
|
-
"examples": [
|
|
2896
|
-
"<%= config.bin %> migrate rebake",
|
|
2897
|
-
"<%= config.bin %> migrate rebake --baseline-floor V202605291452 --dry-run"
|
|
2898
|
-
],
|
|
2899
|
-
"flags": {
|
|
2900
|
-
"source-dir": {
|
|
2901
|
-
"description": "Source T-SQL migrations directory",
|
|
2902
|
-
"name": "source-dir",
|
|
2903
|
-
"default": "./migrations/v5",
|
|
2904
|
-
"hasDynamicHelp": false,
|
|
2905
|
-
"multiple": false,
|
|
2906
|
-
"type": "option"
|
|
2907
|
-
},
|
|
2908
|
-
"output-dir": {
|
|
2909
|
-
"description": "PG migrations directory (committed files read here + baked output written here)",
|
|
2910
|
-
"name": "output-dir",
|
|
2911
|
-
"default": "./migrations-pg/v5",
|
|
2912
|
-
"hasDynamicHelp": false,
|
|
2913
|
-
"multiple": false,
|
|
2914
|
-
"type": "option"
|
|
2915
|
-
},
|
|
2916
|
-
"schema": {
|
|
2917
|
-
"description": "Target schema name",
|
|
2918
|
-
"name": "schema",
|
|
2919
|
-
"default": "__mj",
|
|
2920
|
-
"hasDynamicHelp": false,
|
|
2921
|
-
"multiple": false,
|
|
2922
|
-
"type": "option"
|
|
2923
|
-
},
|
|
2924
|
-
"core-schema": {
|
|
2925
|
-
"description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
|
|
2926
|
-
"name": "core-schema",
|
|
2927
|
-
"default": "__mj",
|
|
2928
|
-
"hasDynamicHelp": false,
|
|
2929
|
-
"multiple": false,
|
|
2930
|
-
"type": "option"
|
|
2931
|
-
},
|
|
2932
|
-
"baseline-floor": {
|
|
2933
|
-
"description": "Re-bake migrations strictly AFTER this version key (default: the latest B* in output-dir)",
|
|
2934
|
-
"name": "baseline-floor",
|
|
2935
|
-
"hasDynamicHelp": false,
|
|
2936
|
-
"multiple": false,
|
|
2937
|
-
"type": "option"
|
|
2938
|
-
},
|
|
2939
|
-
"dry-run": {
|
|
2940
|
-
"description": "Report what would be re-baked without writing files",
|
|
2941
|
-
"name": "dry-run",
|
|
2942
|
-
"allowNo": false,
|
|
2943
|
-
"type": "boolean"
|
|
2944
|
-
}
|
|
2945
|
-
},
|
|
2946
|
-
"hasDynamicHelp": false,
|
|
2947
|
-
"hiddenAliases": [],
|
|
2948
|
-
"id": "migrate:rebake",
|
|
2949
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2950
|
-
"pluginName": "@memberjunction/cli",
|
|
2951
|
-
"pluginType": "core",
|
|
2952
|
-
"strict": true,
|
|
2953
|
-
"enableJsonFlag": false,
|
|
2954
|
-
"isESM": true,
|
|
2955
|
-
"relativePath": [
|
|
2956
|
-
"dist",
|
|
2957
|
-
"commands",
|
|
2958
|
-
"migrate",
|
|
2959
|
-
"rebake.js"
|
|
2960
|
-
]
|
|
2961
|
-
},
|
|
2962
|
-
"migrate:usage": {
|
|
2963
|
-
"aliases": [],
|
|
2964
|
-
"args": {},
|
|
2965
|
-
"description": "Show usage, flags, examples, and runtime hints for every `mj migrate` command.",
|
|
2966
|
-
"flags": {
|
|
2967
|
-
"format": {
|
|
2968
|
-
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
2969
|
-
"name": "format",
|
|
2970
|
-
"hasDynamicHelp": false,
|
|
2971
|
-
"multiple": false,
|
|
2972
|
-
"options": [
|
|
2973
|
-
"text",
|
|
2974
|
-
"json",
|
|
2975
|
-
"md"
|
|
2976
|
-
],
|
|
2977
|
-
"type": "option"
|
|
2978
|
-
}
|
|
2979
|
-
},
|
|
2980
|
-
"hasDynamicHelp": false,
|
|
2981
|
-
"hiddenAliases": [],
|
|
2982
|
-
"id": "migrate:usage",
|
|
2983
|
-
"pluginAlias": "@memberjunction/cli",
|
|
2984
|
-
"pluginName": "@memberjunction/cli",
|
|
2985
|
-
"pluginType": "core",
|
|
2986
|
-
"strict": true,
|
|
2987
|
-
"enableJsonFlag": false,
|
|
2988
|
-
"isESM": true,
|
|
2989
|
-
"relativePath": [
|
|
2990
|
-
"dist",
|
|
2991
|
-
"commands",
|
|
2992
|
-
"migrate",
|
|
2993
|
-
"usage.js"
|
|
2994
|
-
]
|
|
2995
|
-
},
|
|
2996
|
-
"plugin:add": {
|
|
2997
|
-
"aliases": [],
|
|
2998
|
-
"args": {
|
|
2999
|
-
"package": {
|
|
3000
|
-
"description": "Plugin entry-point specifier (package name, subpath, or relative path)",
|
|
3001
|
-
"name": "package",
|
|
3002
|
-
"required": true
|
|
3003
|
-
}
|
|
3004
|
-
},
|
|
3005
|
-
"description": "Register a CLI plugin package in mj-cli-plugins.json so `mj` loads it at startup.",
|
|
3006
|
-
"examples": [
|
|
3007
|
-
"<%= config.bin %> <%= command.id %> @my-org/mj-plugin/plugins",
|
|
3008
|
-
"<%= config.bin %> <%= command.id %> ./local-plugins/my-tool"
|
|
3009
|
-
],
|
|
3010
|
-
"flags": {
|
|
3011
|
-
"format": {
|
|
3012
|
-
"description": "Output format",
|
|
3013
|
-
"name": "format",
|
|
3014
|
-
"default": "text",
|
|
3015
|
-
"hasDynamicHelp": false,
|
|
3016
|
-
"multiple": false,
|
|
3017
|
-
"options": [
|
|
3018
|
-
"text",
|
|
3019
|
-
"json"
|
|
3020
|
-
],
|
|
3021
|
-
"type": "option"
|
|
3022
|
-
}
|
|
3023
|
-
},
|
|
3024
|
-
"hasDynamicHelp": false,
|
|
3025
|
-
"hiddenAliases": [],
|
|
3026
|
-
"id": "plugin:add",
|
|
3027
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3028
|
-
"pluginName": "@memberjunction/cli",
|
|
3029
|
-
"pluginType": "core",
|
|
3030
|
-
"strict": true,
|
|
3031
|
-
"enableJsonFlag": false,
|
|
3032
|
-
"isESM": true,
|
|
3033
|
-
"relativePath": [
|
|
3034
|
-
"dist",
|
|
3035
|
-
"commands",
|
|
3036
|
-
"plugin",
|
|
3037
|
-
"add.js"
|
|
3038
|
-
]
|
|
3039
|
-
},
|
|
3040
|
-
"plugin:usage": {
|
|
3041
|
-
"aliases": [],
|
|
3042
|
-
"args": {},
|
|
3043
|
-
"description": "Show usage, flags, examples, and runtime hints for every `mj plugin` command.",
|
|
3044
|
-
"flags": {
|
|
3045
|
-
"format": {
|
|
3046
|
-
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
3047
|
-
"name": "format",
|
|
3048
|
-
"hasDynamicHelp": false,
|
|
3049
|
-
"multiple": false,
|
|
3050
|
-
"options": [
|
|
3051
|
-
"text",
|
|
3052
|
-
"json",
|
|
3053
|
-
"md"
|
|
3054
|
-
],
|
|
3055
|
-
"type": "option"
|
|
3056
|
-
}
|
|
3057
|
-
},
|
|
3058
|
-
"hasDynamicHelp": false,
|
|
3059
|
-
"hiddenAliases": [],
|
|
3060
|
-
"id": "plugin:usage",
|
|
3061
|
-
"pluginAlias": "@memberjunction/cli",
|
|
3062
|
-
"pluginName": "@memberjunction/cli",
|
|
3063
|
-
"pluginType": "core",
|
|
3064
|
-
"strict": true,
|
|
3065
|
-
"enableJsonFlag": false,
|
|
3066
|
-
"isESM": true,
|
|
3067
|
-
"relativePath": [
|
|
3068
|
-
"dist",
|
|
3069
|
-
"commands",
|
|
3070
|
-
"plugin",
|
|
3071
|
-
"usage.js"
|
|
3072
|
-
]
|
|
3073
|
-
},
|
|
3074
|
-
"querygen:export": {
|
|
2832
|
+
"querygen:export": {
|
|
3075
2833
|
"aliases": [],
|
|
3076
2834
|
"args": {},
|
|
3077
2835
|
"description": "Export queries from database to metadata files",
|
|
@@ -3905,11 +3663,6 @@
|
|
|
3905
3663
|
"aliases": [],
|
|
3906
3664
|
"args": {},
|
|
3907
3665
|
"description": "Pull metadata from database to local files",
|
|
3908
|
-
"examples": [
|
|
3909
|
-
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\"",
|
|
3910
|
-
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Agents\" --merge-strategy=overwrite",
|
|
3911
|
-
"<%= config.bin %> <%= command.id %> --entity=\"Templates\" --dry-run --verbose"
|
|
3912
|
-
],
|
|
3913
3666
|
"flags": {
|
|
3914
3667
|
"format": {
|
|
3915
3668
|
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -4066,6 +3819,11 @@
|
|
|
4066
3819
|
"pluginType": "core",
|
|
4067
3820
|
"strict": true,
|
|
4068
3821
|
"enableJsonFlag": false,
|
|
3822
|
+
"Examples": [
|
|
3823
|
+
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\"",
|
|
3824
|
+
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Agents\" --merge-strategy=overwrite",
|
|
3825
|
+
"<%= config.bin %> <%= command.id %> --entity=\"Templates\" --dry-run --verbose"
|
|
3826
|
+
],
|
|
4069
3827
|
"Usage": {
|
|
4070
3828
|
"domain": "sync",
|
|
4071
3829
|
"command": "sync:pull",
|
|
@@ -4120,12 +3878,6 @@
|
|
|
4120
3878
|
"aliases": [],
|
|
4121
3879
|
"args": {},
|
|
4122
3880
|
"description": "Push local file changes to the database",
|
|
4123
|
-
"examples": [
|
|
4124
|
-
"<%= config.bin %> <%= command.id %>",
|
|
4125
|
-
"<%= config.bin %> <%= command.id %> --dry-run",
|
|
4126
|
-
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4127
|
-
"<%= config.bin %> <%= command.id %> --ci --format=json"
|
|
4128
|
-
],
|
|
4129
3881
|
"flags": {
|
|
4130
3882
|
"format": {
|
|
4131
3883
|
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced). Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -4246,6 +3998,12 @@
|
|
|
4246
3998
|
"pluginType": "core",
|
|
4247
3999
|
"strict": true,
|
|
4248
4000
|
"enableJsonFlag": false,
|
|
4001
|
+
"Examples": [
|
|
4002
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4003
|
+
"<%= config.bin %> <%= command.id %> --dry-run",
|
|
4004
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4005
|
+
"<%= config.bin %> <%= command.id %> --ci --format=json"
|
|
4006
|
+
],
|
|
4249
4007
|
"Usage": {
|
|
4250
4008
|
"domain": "sync",
|
|
4251
4009
|
"command": "sync:push",
|
|
@@ -4329,22 +4087,283 @@
|
|
|
4329
4087
|
"type": "option"
|
|
4330
4088
|
},
|
|
4331
4089
|
"verbose": {
|
|
4332
|
-
"char": "v",
|
|
4333
|
-
"description": "Show detailed field-level differences",
|
|
4090
|
+
"char": "v",
|
|
4091
|
+
"description": "Show detailed field-level differences",
|
|
4092
|
+
"name": "verbose",
|
|
4093
|
+
"allowNo": false,
|
|
4094
|
+
"type": "boolean"
|
|
4095
|
+
},
|
|
4096
|
+
"include": {
|
|
4097
|
+
"description": "Only process these directories (comma-separated, supports patterns)",
|
|
4098
|
+
"name": "include",
|
|
4099
|
+
"hasDynamicHelp": false,
|
|
4100
|
+
"multiple": false,
|
|
4101
|
+
"type": "option"
|
|
4102
|
+
},
|
|
4103
|
+
"exclude": {
|
|
4104
|
+
"description": "Skip these directories (comma-separated, supports patterns)",
|
|
4105
|
+
"name": "exclude",
|
|
4106
|
+
"hasDynamicHelp": false,
|
|
4107
|
+
"multiple": false,
|
|
4108
|
+
"type": "option"
|
|
4109
|
+
}
|
|
4110
|
+
},
|
|
4111
|
+
"hasDynamicHelp": false,
|
|
4112
|
+
"hiddenAliases": [],
|
|
4113
|
+
"id": "sync:status",
|
|
4114
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4115
|
+
"pluginName": "@memberjunction/cli",
|
|
4116
|
+
"pluginType": "core",
|
|
4117
|
+
"strict": true,
|
|
4118
|
+
"enableJsonFlag": false,
|
|
4119
|
+
"isESM": true,
|
|
4120
|
+
"relativePath": [
|
|
4121
|
+
"dist",
|
|
4122
|
+
"commands",
|
|
4123
|
+
"sync",
|
|
4124
|
+
"status.js"
|
|
4125
|
+
]
|
|
4126
|
+
},
|
|
4127
|
+
"sync:usage": {
|
|
4128
|
+
"aliases": [],
|
|
4129
|
+
"args": {},
|
|
4130
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj sync` command.",
|
|
4131
|
+
"flags": {
|
|
4132
|
+
"format": {
|
|
4133
|
+
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
4134
|
+
"name": "format",
|
|
4135
|
+
"hasDynamicHelp": false,
|
|
4136
|
+
"multiple": false,
|
|
4137
|
+
"options": [
|
|
4138
|
+
"text",
|
|
4139
|
+
"json",
|
|
4140
|
+
"md"
|
|
4141
|
+
],
|
|
4142
|
+
"type": "option"
|
|
4143
|
+
}
|
|
4144
|
+
},
|
|
4145
|
+
"hasDynamicHelp": false,
|
|
4146
|
+
"hiddenAliases": [],
|
|
4147
|
+
"id": "sync:usage",
|
|
4148
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4149
|
+
"pluginName": "@memberjunction/cli",
|
|
4150
|
+
"pluginType": "core",
|
|
4151
|
+
"strict": true,
|
|
4152
|
+
"enableJsonFlag": false,
|
|
4153
|
+
"isESM": true,
|
|
4154
|
+
"relativePath": [
|
|
4155
|
+
"dist",
|
|
4156
|
+
"commands",
|
|
4157
|
+
"sync",
|
|
4158
|
+
"usage.js"
|
|
4159
|
+
]
|
|
4160
|
+
},
|
|
4161
|
+
"sync:validate": {
|
|
4162
|
+
"aliases": [],
|
|
4163
|
+
"args": {},
|
|
4164
|
+
"description": "Validate metadata files",
|
|
4165
|
+
"examples": [
|
|
4166
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4167
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4168
|
+
"<%= config.bin %> <%= command.id %> --save-report",
|
|
4169
|
+
"<%= config.bin %> <%= command.id %> --verbose"
|
|
4170
|
+
],
|
|
4171
|
+
"flags": {
|
|
4172
|
+
"dir": {
|
|
4173
|
+
"description": "Specific entity directory to validate",
|
|
4174
|
+
"name": "dir",
|
|
4175
|
+
"hasDynamicHelp": false,
|
|
4176
|
+
"multiple": false,
|
|
4177
|
+
"type": "option"
|
|
4178
|
+
},
|
|
4179
|
+
"verbose": {
|
|
4180
|
+
"char": "v",
|
|
4181
|
+
"description": "Show detailed validation output",
|
|
4182
|
+
"name": "verbose",
|
|
4183
|
+
"allowNo": false,
|
|
4184
|
+
"type": "boolean"
|
|
4185
|
+
},
|
|
4186
|
+
"save-report": {
|
|
4187
|
+
"description": "Save validation report as markdown file",
|
|
4188
|
+
"name": "save-report",
|
|
4189
|
+
"allowNo": false,
|
|
4190
|
+
"type": "boolean"
|
|
4191
|
+
},
|
|
4192
|
+
"output": {
|
|
4193
|
+
"description": "Output file path for validation report (default: validation-report.md)",
|
|
4194
|
+
"name": "output",
|
|
4195
|
+
"hasDynamicHelp": false,
|
|
4196
|
+
"multiple": false,
|
|
4197
|
+
"type": "option"
|
|
4198
|
+
}
|
|
4199
|
+
},
|
|
4200
|
+
"hasDynamicHelp": false,
|
|
4201
|
+
"hiddenAliases": [],
|
|
4202
|
+
"id": "sync:validate",
|
|
4203
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4204
|
+
"pluginName": "@memberjunction/cli",
|
|
4205
|
+
"pluginType": "core",
|
|
4206
|
+
"strict": true,
|
|
4207
|
+
"enableJsonFlag": false,
|
|
4208
|
+
"isESM": true,
|
|
4209
|
+
"relativePath": [
|
|
4210
|
+
"dist",
|
|
4211
|
+
"commands",
|
|
4212
|
+
"sync",
|
|
4213
|
+
"validate.js"
|
|
4214
|
+
]
|
|
4215
|
+
},
|
|
4216
|
+
"sync:watch": {
|
|
4217
|
+
"aliases": [],
|
|
4218
|
+
"args": {},
|
|
4219
|
+
"description": "Watch for file changes and sync automatically",
|
|
4220
|
+
"examples": [
|
|
4221
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4222
|
+
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
4223
|
+
"<%= config.bin %> <%= command.id %> --debounce=1000",
|
|
4224
|
+
"<%= config.bin %> <%= command.id %> --no-validate"
|
|
4225
|
+
],
|
|
4226
|
+
"flags": {
|
|
4227
|
+
"dir": {
|
|
4228
|
+
"description": "Specific entity directory to watch",
|
|
4229
|
+
"name": "dir",
|
|
4230
|
+
"hasDynamicHelp": false,
|
|
4231
|
+
"multiple": false,
|
|
4232
|
+
"type": "option"
|
|
4233
|
+
},
|
|
4234
|
+
"debounce": {
|
|
4235
|
+
"description": "Debounce delay in milliseconds (default: 500)",
|
|
4236
|
+
"name": "debounce",
|
|
4237
|
+
"hasDynamicHelp": false,
|
|
4238
|
+
"multiple": false,
|
|
4239
|
+
"type": "option"
|
|
4240
|
+
},
|
|
4241
|
+
"no-validate": {
|
|
4242
|
+
"description": "Skip validation before sync",
|
|
4243
|
+
"name": "no-validate",
|
|
4244
|
+
"allowNo": false,
|
|
4245
|
+
"type": "boolean"
|
|
4246
|
+
},
|
|
4247
|
+
"verbose": {
|
|
4248
|
+
"char": "v",
|
|
4249
|
+
"description": "Show detailed output",
|
|
4250
|
+
"name": "verbose",
|
|
4251
|
+
"allowNo": false,
|
|
4252
|
+
"type": "boolean"
|
|
4253
|
+
}
|
|
4254
|
+
},
|
|
4255
|
+
"hasDynamicHelp": false,
|
|
4256
|
+
"hiddenAliases": [],
|
|
4257
|
+
"id": "sync:watch",
|
|
4258
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4259
|
+
"pluginName": "@memberjunction/cli",
|
|
4260
|
+
"pluginType": "core",
|
|
4261
|
+
"strict": true,
|
|
4262
|
+
"enableJsonFlag": false,
|
|
4263
|
+
"isESM": true,
|
|
4264
|
+
"relativePath": [
|
|
4265
|
+
"dist",
|
|
4266
|
+
"commands",
|
|
4267
|
+
"sync",
|
|
4268
|
+
"watch.js"
|
|
4269
|
+
]
|
|
4270
|
+
},
|
|
4271
|
+
"test:compare": {
|
|
4272
|
+
"aliases": [],
|
|
4273
|
+
"args": {
|
|
4274
|
+
"runId1": {
|
|
4275
|
+
"description": "First test run ID to compare",
|
|
4276
|
+
"name": "runId1",
|
|
4277
|
+
"required": false
|
|
4278
|
+
},
|
|
4279
|
+
"runId2": {
|
|
4280
|
+
"description": "Second test run ID to compare",
|
|
4281
|
+
"name": "runId2",
|
|
4282
|
+
"required": false
|
|
4283
|
+
}
|
|
4284
|
+
},
|
|
4285
|
+
"description": "Compare test runs for regression detection",
|
|
4286
|
+
"examples": [
|
|
4287
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4288
|
+
"<%= config.bin %> <%= command.id %> --latest",
|
|
4289
|
+
"<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2>",
|
|
4290
|
+
"<%= config.bin %> <%= command.id %> -v 5.17.0 -v 5.18.0",
|
|
4291
|
+
"<%= config.bin %> <%= command.id %> -c abc1234 -c def5678",
|
|
4292
|
+
"<%= config.bin %> <%= command.id %> --from-json baseline.json latest.json",
|
|
4293
|
+
"<%= config.bin %> <%= command.id %> --latest --format=markdown --output=report.md"
|
|
4294
|
+
],
|
|
4295
|
+
"flags": {
|
|
4296
|
+
"version": {
|
|
4297
|
+
"char": "v",
|
|
4298
|
+
"description": "Compare runs by version",
|
|
4299
|
+
"name": "version",
|
|
4300
|
+
"hasDynamicHelp": false,
|
|
4301
|
+
"multiple": true,
|
|
4302
|
+
"type": "option"
|
|
4303
|
+
},
|
|
4304
|
+
"commit": {
|
|
4305
|
+
"char": "c",
|
|
4306
|
+
"description": "Compare runs by git commit",
|
|
4307
|
+
"name": "commit",
|
|
4308
|
+
"hasDynamicHelp": false,
|
|
4309
|
+
"multiple": true,
|
|
4310
|
+
"type": "option"
|
|
4311
|
+
},
|
|
4312
|
+
"diff-only": {
|
|
4313
|
+
"description": "Show only differences",
|
|
4314
|
+
"name": "diff-only",
|
|
4315
|
+
"allowNo": false,
|
|
4316
|
+
"type": "boolean"
|
|
4317
|
+
},
|
|
4318
|
+
"latest": {
|
|
4319
|
+
"char": "l",
|
|
4320
|
+
"description": "Compare the two most recent completed suite runs",
|
|
4321
|
+
"name": "latest",
|
|
4322
|
+
"allowNo": false,
|
|
4323
|
+
"type": "boolean"
|
|
4324
|
+
},
|
|
4325
|
+
"from-json": {
|
|
4326
|
+
"description": "Compare two results.json files directly (no DB). Pass twice: --from-json PREV --from-json CURR",
|
|
4327
|
+
"name": "from-json",
|
|
4328
|
+
"hasDynamicHelp": false,
|
|
4329
|
+
"multiple": true,
|
|
4330
|
+
"type": "option"
|
|
4331
|
+
},
|
|
4332
|
+
"format": {
|
|
4333
|
+
"char": "f",
|
|
4334
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
|
|
4335
|
+
"name": "format",
|
|
4336
|
+
"hasDynamicHelp": false,
|
|
4337
|
+
"multiple": false,
|
|
4338
|
+
"options": [
|
|
4339
|
+
"text",
|
|
4340
|
+
"json",
|
|
4341
|
+
"md",
|
|
4342
|
+
"human",
|
|
4343
|
+
"console",
|
|
4344
|
+
"markdown",
|
|
4345
|
+
"compact",
|
|
4346
|
+
"table"
|
|
4347
|
+
],
|
|
4348
|
+
"type": "option"
|
|
4349
|
+
},
|
|
4350
|
+
"output": {
|
|
4351
|
+
"char": "o",
|
|
4352
|
+
"description": "Output file path",
|
|
4353
|
+
"name": "output",
|
|
4354
|
+
"hasDynamicHelp": false,
|
|
4355
|
+
"multiple": false,
|
|
4356
|
+
"type": "option"
|
|
4357
|
+
},
|
|
4358
|
+
"verbose": {
|
|
4359
|
+
"description": "Show detailed information",
|
|
4334
4360
|
"name": "verbose",
|
|
4335
4361
|
"allowNo": false,
|
|
4336
4362
|
"type": "boolean"
|
|
4337
4363
|
},
|
|
4338
|
-
"
|
|
4339
|
-
"description": "
|
|
4340
|
-
"name": "
|
|
4341
|
-
"hasDynamicHelp": false,
|
|
4342
|
-
"multiple": false,
|
|
4343
|
-
"type": "option"
|
|
4344
|
-
},
|
|
4345
|
-
"exclude": {
|
|
4346
|
-
"description": "Skip these directories (comma-separated, supports patterns)",
|
|
4347
|
-
"name": "exclude",
|
|
4364
|
+
"tag": {
|
|
4365
|
+
"description": "Filter suite runs by tag (matches against MJTestSuiteRunEntity.Tags). Useful for isolating runs from a specific source environment in an archive MJ. DB mode only — --from-json ignores this flag.",
|
|
4366
|
+
"name": "tag",
|
|
4348
4367
|
"hasDynamicHelp": false,
|
|
4349
4368
|
"multiple": false,
|
|
4350
4369
|
"type": "option"
|
|
@@ -4352,7 +4371,7 @@
|
|
|
4352
4371
|
},
|
|
4353
4372
|
"hasDynamicHelp": false,
|
|
4354
4373
|
"hiddenAliases": [],
|
|
4355
|
-
"id": "
|
|
4374
|
+
"id": "test:compare",
|
|
4356
4375
|
"pluginAlias": "@memberjunction/cli",
|
|
4357
4376
|
"pluginName": "@memberjunction/cli",
|
|
4358
4377
|
"pluginType": "core",
|
|
@@ -4362,31 +4381,90 @@
|
|
|
4362
4381
|
"relativePath": [
|
|
4363
4382
|
"dist",
|
|
4364
4383
|
"commands",
|
|
4365
|
-
"
|
|
4366
|
-
"
|
|
4384
|
+
"test",
|
|
4385
|
+
"compare.js"
|
|
4367
4386
|
]
|
|
4368
4387
|
},
|
|
4369
|
-
"
|
|
4388
|
+
"test:history": {
|
|
4370
4389
|
"aliases": [],
|
|
4371
4390
|
"args": {},
|
|
4372
|
-
"description": "
|
|
4391
|
+
"description": "View test execution history",
|
|
4392
|
+
"examples": [
|
|
4393
|
+
"<%= config.bin %> <%= command.id %>",
|
|
4394
|
+
"<%= config.bin %> <%= command.id %> --test=<test-id>",
|
|
4395
|
+
"<%= config.bin %> <%= command.id %> --suite=<suite-id>",
|
|
4396
|
+
"<%= config.bin %> <%= command.id %> --since=\"2024-01-01\"",
|
|
4397
|
+
"<%= config.bin %> <%= command.id %> --limit=50"
|
|
4398
|
+
],
|
|
4373
4399
|
"flags": {
|
|
4400
|
+
"test": {
|
|
4401
|
+
"char": "t",
|
|
4402
|
+
"description": "Filter by test ID",
|
|
4403
|
+
"name": "test",
|
|
4404
|
+
"hasDynamicHelp": false,
|
|
4405
|
+
"multiple": false,
|
|
4406
|
+
"type": "option"
|
|
4407
|
+
},
|
|
4408
|
+
"recent": {
|
|
4409
|
+
"char": "r",
|
|
4410
|
+
"description": "Number of recent runs to show",
|
|
4411
|
+
"name": "recent",
|
|
4412
|
+
"hasDynamicHelp": false,
|
|
4413
|
+
"multiple": false,
|
|
4414
|
+
"type": "option"
|
|
4415
|
+
},
|
|
4416
|
+
"from": {
|
|
4417
|
+
"description": "Show history from date (YYYY-MM-DD)",
|
|
4418
|
+
"name": "from",
|
|
4419
|
+
"hasDynamicHelp": false,
|
|
4420
|
+
"multiple": false,
|
|
4421
|
+
"type": "option"
|
|
4422
|
+
},
|
|
4423
|
+
"status": {
|
|
4424
|
+
"char": "s",
|
|
4425
|
+
"description": "Filter by status",
|
|
4426
|
+
"name": "status",
|
|
4427
|
+
"hasDynamicHelp": false,
|
|
4428
|
+
"multiple": false,
|
|
4429
|
+
"type": "option"
|
|
4430
|
+
},
|
|
4374
4431
|
"format": {
|
|
4375
|
-
"
|
|
4432
|
+
"char": "f",
|
|
4433
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
|
|
4376
4434
|
"name": "format",
|
|
4377
4435
|
"hasDynamicHelp": false,
|
|
4378
4436
|
"multiple": false,
|
|
4379
4437
|
"options": [
|
|
4380
4438
|
"text",
|
|
4381
4439
|
"json",
|
|
4382
|
-
"md"
|
|
4440
|
+
"md",
|
|
4441
|
+
"human",
|
|
4442
|
+
"console",
|
|
4443
|
+
"markdown",
|
|
4444
|
+
"compact",
|
|
4445
|
+
"table"
|
|
4383
4446
|
],
|
|
4384
4447
|
"type": "option"
|
|
4448
|
+
},
|
|
4449
|
+
"output": {
|
|
4450
|
+
"char": "o",
|
|
4451
|
+
"description": "Output file path",
|
|
4452
|
+
"name": "output",
|
|
4453
|
+
"hasDynamicHelp": false,
|
|
4454
|
+
"multiple": false,
|
|
4455
|
+
"type": "option"
|
|
4456
|
+
},
|
|
4457
|
+
"verbose": {
|
|
4458
|
+
"char": "v",
|
|
4459
|
+
"description": "Show detailed information",
|
|
4460
|
+
"name": "verbose",
|
|
4461
|
+
"allowNo": false,
|
|
4462
|
+
"type": "boolean"
|
|
4385
4463
|
}
|
|
4386
4464
|
},
|
|
4387
4465
|
"hasDynamicHelp": false,
|
|
4388
4466
|
"hiddenAliases": [],
|
|
4389
|
-
"id": "
|
|
4467
|
+
"id": "test:history",
|
|
4390
4468
|
"pluginAlias": "@memberjunction/cli",
|
|
4391
4469
|
"pluginName": "@memberjunction/cli",
|
|
4392
4470
|
"pluginType": "core",
|
|
@@ -4396,52 +4474,26 @@
|
|
|
4396
4474
|
"relativePath": [
|
|
4397
4475
|
"dist",
|
|
4398
4476
|
"commands",
|
|
4399
|
-
"
|
|
4400
|
-
"
|
|
4477
|
+
"test",
|
|
4478
|
+
"history.js"
|
|
4401
4479
|
]
|
|
4402
4480
|
},
|
|
4403
|
-
"
|
|
4481
|
+
"test": {
|
|
4404
4482
|
"aliases": [],
|
|
4405
4483
|
"args": {},
|
|
4406
|
-
"description": "
|
|
4484
|
+
"description": "MemberJunction Testing Framework - Execute and manage tests",
|
|
4407
4485
|
"examples": [
|
|
4408
|
-
"<%= config.bin %> <%= command.id %>",
|
|
4409
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4410
|
-
"<%= config.bin %> <%= command.id %>
|
|
4411
|
-
"<%= config.bin %> <%= command.id %>
|
|
4486
|
+
"<%= config.bin %> <%= command.id %> run <test-id>",
|
|
4487
|
+
"<%= config.bin %> <%= command.id %> run --name=\"Active Members Count\"",
|
|
4488
|
+
"<%= config.bin %> <%= command.id %> suite <suite-id>",
|
|
4489
|
+
"<%= config.bin %> <%= command.id %> list",
|
|
4490
|
+
"<%= config.bin %> <%= command.id %> list --suites",
|
|
4491
|
+
"<%= config.bin %> <%= command.id %> validate --all"
|
|
4412
4492
|
],
|
|
4413
|
-
"flags": {
|
|
4414
|
-
"dir": {
|
|
4415
|
-
"description": "Specific entity directory to validate",
|
|
4416
|
-
"name": "dir",
|
|
4417
|
-
"hasDynamicHelp": false,
|
|
4418
|
-
"multiple": false,
|
|
4419
|
-
"type": "option"
|
|
4420
|
-
},
|
|
4421
|
-
"verbose": {
|
|
4422
|
-
"char": "v",
|
|
4423
|
-
"description": "Show detailed validation output",
|
|
4424
|
-
"name": "verbose",
|
|
4425
|
-
"allowNo": false,
|
|
4426
|
-
"type": "boolean"
|
|
4427
|
-
},
|
|
4428
|
-
"save-report": {
|
|
4429
|
-
"description": "Save validation report as markdown file",
|
|
4430
|
-
"name": "save-report",
|
|
4431
|
-
"allowNo": false,
|
|
4432
|
-
"type": "boolean"
|
|
4433
|
-
},
|
|
4434
|
-
"output": {
|
|
4435
|
-
"description": "Output file path for validation report (default: validation-report.md)",
|
|
4436
|
-
"name": "output",
|
|
4437
|
-
"hasDynamicHelp": false,
|
|
4438
|
-
"multiple": false,
|
|
4439
|
-
"type": "option"
|
|
4440
|
-
}
|
|
4441
|
-
},
|
|
4493
|
+
"flags": {},
|
|
4442
4494
|
"hasDynamicHelp": false,
|
|
4443
4495
|
"hiddenAliases": [],
|
|
4444
|
-
"id": "
|
|
4496
|
+
"id": "test",
|
|
4445
4497
|
"pluginAlias": "@memberjunction/cli",
|
|
4446
4498
|
"pluginName": "@memberjunction/cli",
|
|
4447
4499
|
"pluginType": "core",
|
|
@@ -4451,44 +4503,87 @@
|
|
|
4451
4503
|
"relativePath": [
|
|
4452
4504
|
"dist",
|
|
4453
4505
|
"commands",
|
|
4454
|
-
"
|
|
4455
|
-
"
|
|
4506
|
+
"test",
|
|
4507
|
+
"index.js"
|
|
4456
4508
|
]
|
|
4457
4509
|
},
|
|
4458
|
-
"
|
|
4510
|
+
"test:list": {
|
|
4459
4511
|
"aliases": [],
|
|
4460
4512
|
"args": {},
|
|
4461
|
-
"description": "
|
|
4513
|
+
"description": "List available tests, suites, and types",
|
|
4462
4514
|
"examples": [
|
|
4463
4515
|
"<%= config.bin %> <%= command.id %>",
|
|
4464
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4465
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4466
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4516
|
+
"<%= config.bin %> <%= command.id %> --suites",
|
|
4517
|
+
"<%= config.bin %> <%= command.id %> --types",
|
|
4518
|
+
"<%= config.bin %> <%= command.id %> --type=agent-eval",
|
|
4519
|
+
"<%= config.bin %> <%= command.id %> --tag=smoke",
|
|
4520
|
+
"<%= config.bin %> <%= command.id %> --status=active --verbose"
|
|
4467
4521
|
],
|
|
4468
4522
|
"flags": {
|
|
4469
|
-
"
|
|
4470
|
-
"description": "
|
|
4471
|
-
"name": "
|
|
4523
|
+
"suites": {
|
|
4524
|
+
"description": "List test suites instead of tests",
|
|
4525
|
+
"name": "suites",
|
|
4526
|
+
"allowNo": false,
|
|
4527
|
+
"type": "boolean"
|
|
4528
|
+
},
|
|
4529
|
+
"types": {
|
|
4530
|
+
"description": "List test types",
|
|
4531
|
+
"name": "types",
|
|
4532
|
+
"allowNo": false,
|
|
4533
|
+
"type": "boolean"
|
|
4534
|
+
},
|
|
4535
|
+
"type": {
|
|
4536
|
+
"char": "t",
|
|
4537
|
+
"description": "Filter by test type",
|
|
4538
|
+
"name": "type",
|
|
4472
4539
|
"hasDynamicHelp": false,
|
|
4473
4540
|
"multiple": false,
|
|
4474
4541
|
"type": "option"
|
|
4475
4542
|
},
|
|
4476
|
-
"
|
|
4477
|
-
"description": "
|
|
4478
|
-
"name": "
|
|
4543
|
+
"tag": {
|
|
4544
|
+
"description": "Filter by tag",
|
|
4545
|
+
"name": "tag",
|
|
4479
4546
|
"hasDynamicHelp": false,
|
|
4480
4547
|
"multiple": false,
|
|
4481
4548
|
"type": "option"
|
|
4482
4549
|
},
|
|
4483
|
-
"
|
|
4484
|
-
"
|
|
4485
|
-
"
|
|
4486
|
-
"
|
|
4487
|
-
"
|
|
4550
|
+
"status": {
|
|
4551
|
+
"char": "s",
|
|
4552
|
+
"description": "Filter by status",
|
|
4553
|
+
"name": "status",
|
|
4554
|
+
"hasDynamicHelp": false,
|
|
4555
|
+
"multiple": false,
|
|
4556
|
+
"type": "option"
|
|
4557
|
+
},
|
|
4558
|
+
"format": {
|
|
4559
|
+
"char": "f",
|
|
4560
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
|
|
4561
|
+
"name": "format",
|
|
4562
|
+
"hasDynamicHelp": false,
|
|
4563
|
+
"multiple": false,
|
|
4564
|
+
"options": [
|
|
4565
|
+
"text",
|
|
4566
|
+
"json",
|
|
4567
|
+
"md",
|
|
4568
|
+
"human",
|
|
4569
|
+
"console",
|
|
4570
|
+
"markdown",
|
|
4571
|
+
"compact",
|
|
4572
|
+
"table"
|
|
4573
|
+
],
|
|
4574
|
+
"type": "option"
|
|
4575
|
+
},
|
|
4576
|
+
"output": {
|
|
4577
|
+
"char": "o",
|
|
4578
|
+
"description": "Output file path",
|
|
4579
|
+
"name": "output",
|
|
4580
|
+
"hasDynamicHelp": false,
|
|
4581
|
+
"multiple": false,
|
|
4582
|
+
"type": "option"
|
|
4488
4583
|
},
|
|
4489
4584
|
"verbose": {
|
|
4490
4585
|
"char": "v",
|
|
4491
|
-
"description": "Show detailed
|
|
4586
|
+
"description": "Show detailed information",
|
|
4492
4587
|
"name": "verbose",
|
|
4493
4588
|
"allowNo": false,
|
|
4494
4589
|
"type": "boolean"
|
|
@@ -4496,7 +4591,7 @@
|
|
|
4496
4591
|
},
|
|
4497
4592
|
"hasDynamicHelp": false,
|
|
4498
4593
|
"hiddenAliases": [],
|
|
4499
|
-
"id": "
|
|
4594
|
+
"id": "test:list",
|
|
4500
4595
|
"pluginAlias": "@memberjunction/cli",
|
|
4501
4596
|
"pluginName": "@memberjunction/cli",
|
|
4502
4597
|
"pluginType": "core",
|
|
@@ -4506,69 +4601,42 @@
|
|
|
4506
4601
|
"relativePath": [
|
|
4507
4602
|
"dist",
|
|
4508
4603
|
"commands",
|
|
4509
|
-
"
|
|
4510
|
-
"
|
|
4604
|
+
"test",
|
|
4605
|
+
"list.js"
|
|
4511
4606
|
]
|
|
4512
4607
|
},
|
|
4513
|
-
"test:
|
|
4608
|
+
"test:run": {
|
|
4514
4609
|
"aliases": [],
|
|
4515
|
-
"args": {
|
|
4516
|
-
"
|
|
4517
|
-
"description": "
|
|
4518
|
-
"name": "
|
|
4519
|
-
"required": false
|
|
4520
|
-
},
|
|
4521
|
-
"runId2": {
|
|
4522
|
-
"description": "Second test run ID to compare",
|
|
4523
|
-
"name": "runId2",
|
|
4610
|
+
"args": {
|
|
4611
|
+
"testId": {
|
|
4612
|
+
"description": "Test ID to execute",
|
|
4613
|
+
"name": "testId",
|
|
4524
4614
|
"required": false
|
|
4525
4615
|
}
|
|
4526
4616
|
},
|
|
4527
|
-
"description": "
|
|
4617
|
+
"description": "Execute a single test by ID or name",
|
|
4528
4618
|
"examples": [
|
|
4529
|
-
"<%= config.bin %> <%= command.id %>",
|
|
4530
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4531
|
-
"<%= config.bin %> <%= command.id %> <
|
|
4532
|
-
"<%= config.bin %> <%= command.id %> -
|
|
4533
|
-
"<%= config.bin %> <%= command.id %> -
|
|
4534
|
-
"<%= config.bin %> <%= command.id %> --from-json baseline.json latest.json",
|
|
4535
|
-
"<%= config.bin %> <%= command.id %> --latest --format=markdown --output=report.md"
|
|
4619
|
+
"<%= config.bin %> <%= command.id %> <test-id>",
|
|
4620
|
+
"<%= config.bin %> <%= command.id %> --name=\"Active Members Count\"",
|
|
4621
|
+
"<%= config.bin %> <%= command.id %> <test-id> --environment=staging",
|
|
4622
|
+
"<%= config.bin %> <%= command.id %> <test-id> --format=json --output=results.json",
|
|
4623
|
+
"<%= config.bin %> <%= command.id %> <test-id> --dry-run"
|
|
4536
4624
|
],
|
|
4537
4625
|
"flags": {
|
|
4538
|
-
"
|
|
4539
|
-
"char": "
|
|
4540
|
-
"description": "
|
|
4541
|
-
"name": "
|
|
4542
|
-
"hasDynamicHelp": false,
|
|
4543
|
-
"multiple": true,
|
|
4544
|
-
"type": "option"
|
|
4545
|
-
},
|
|
4546
|
-
"commit": {
|
|
4547
|
-
"char": "c",
|
|
4548
|
-
"description": "Compare runs by git commit",
|
|
4549
|
-
"name": "commit",
|
|
4626
|
+
"name": {
|
|
4627
|
+
"char": "n",
|
|
4628
|
+
"description": "Test name to execute",
|
|
4629
|
+
"name": "name",
|
|
4550
4630
|
"hasDynamicHelp": false,
|
|
4551
|
-
"multiple":
|
|
4631
|
+
"multiple": false,
|
|
4552
4632
|
"type": "option"
|
|
4553
4633
|
},
|
|
4554
|
-
"
|
|
4555
|
-
"
|
|
4556
|
-
"
|
|
4557
|
-
"
|
|
4558
|
-
"type": "boolean"
|
|
4559
|
-
},
|
|
4560
|
-
"latest": {
|
|
4561
|
-
"char": "l",
|
|
4562
|
-
"description": "Compare the two most recent completed suite runs",
|
|
4563
|
-
"name": "latest",
|
|
4564
|
-
"allowNo": false,
|
|
4565
|
-
"type": "boolean"
|
|
4566
|
-
},
|
|
4567
|
-
"from-json": {
|
|
4568
|
-
"description": "Compare two results.json files directly (no DB). Pass twice: --from-json PREV --from-json CURR",
|
|
4569
|
-
"name": "from-json",
|
|
4634
|
+
"environment": {
|
|
4635
|
+
"char": "e",
|
|
4636
|
+
"description": "Environment context (dev, staging, prod)",
|
|
4637
|
+
"name": "environment",
|
|
4570
4638
|
"hasDynamicHelp": false,
|
|
4571
|
-
"multiple":
|
|
4639
|
+
"multiple": false,
|
|
4572
4640
|
"type": "option"
|
|
4573
4641
|
},
|
|
4574
4642
|
"format": {
|
|
@@ -4597,15 +4665,29 @@
|
|
|
4597
4665
|
"multiple": false,
|
|
4598
4666
|
"type": "option"
|
|
4599
4667
|
},
|
|
4668
|
+
"dry-run": {
|
|
4669
|
+
"description": "Validate without executing",
|
|
4670
|
+
"name": "dry-run",
|
|
4671
|
+
"allowNo": false,
|
|
4672
|
+
"type": "boolean"
|
|
4673
|
+
},
|
|
4600
4674
|
"verbose": {
|
|
4601
|
-
"
|
|
4675
|
+
"char": "v",
|
|
4676
|
+
"description": "Show detailed execution information",
|
|
4602
4677
|
"name": "verbose",
|
|
4603
4678
|
"allowNo": false,
|
|
4604
4679
|
"type": "boolean"
|
|
4605
4680
|
},
|
|
4606
|
-
"
|
|
4607
|
-
"description": "
|
|
4608
|
-
"name": "
|
|
4681
|
+
"checks-module": {
|
|
4682
|
+
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
4683
|
+
"name": "checks-module",
|
|
4684
|
+
"hasDynamicHelp": false,
|
|
4685
|
+
"multiple": false,
|
|
4686
|
+
"type": "option"
|
|
4687
|
+
},
|
|
4688
|
+
"oracles-module": {
|
|
4689
|
+
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the test runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
4690
|
+
"name": "oracles-module",
|
|
4609
4691
|
"hasDynamicHelp": false,
|
|
4610
4692
|
"multiple": false,
|
|
4611
4693
|
"type": "option"
|
|
@@ -4613,7 +4695,7 @@
|
|
|
4613
4695
|
},
|
|
4614
4696
|
"hasDynamicHelp": false,
|
|
4615
4697
|
"hiddenAliases": [],
|
|
4616
|
-
"id": "test:
|
|
4698
|
+
"id": "test:run",
|
|
4617
4699
|
"pluginAlias": "@memberjunction/cli",
|
|
4618
4700
|
"pluginName": "@memberjunction/cli",
|
|
4619
4701
|
"pluginType": "core",
|
|
@@ -4624,48 +4706,91 @@
|
|
|
4624
4706
|
"dist",
|
|
4625
4707
|
"commands",
|
|
4626
4708
|
"test",
|
|
4627
|
-
"
|
|
4709
|
+
"run.js"
|
|
4628
4710
|
]
|
|
4629
4711
|
},
|
|
4630
|
-
"test:
|
|
4712
|
+
"test:scripts": {
|
|
4631
4713
|
"aliases": [],
|
|
4632
4714
|
"args": {},
|
|
4633
|
-
"description": "
|
|
4715
|
+
"description": "Review and promote recorded replay scripts. A run that re-derives a test which already had a script stores the new one as pending rather than replacing what replay uses, so a UI change never rewrites the suite unnoticed. This is where you see the drift and decide.",
|
|
4634
4716
|
"examples": [
|
|
4635
4717
|
"<%= config.bin %> <%= command.id %>",
|
|
4636
|
-
"<%= config.bin %> <%= command.id %> --test
|
|
4637
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4638
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4639
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4718
|
+
"<%= config.bin %> <%= command.id %> --test \"T042 - Filter Grid\"",
|
|
4719
|
+
"<%= config.bin %> <%= command.id %> --promote --test \"T042 - Filter Grid\"",
|
|
4720
|
+
"<%= config.bin %> <%= command.id %> --promote --yes",
|
|
4721
|
+
"<%= config.bin %> <%= command.id %> --discard --test \"T042 - Filter Grid\""
|
|
4640
4722
|
],
|
|
4641
4723
|
"flags": {
|
|
4642
4724
|
"test": {
|
|
4643
|
-
"
|
|
4644
|
-
"description": "Filter by test ID",
|
|
4725
|
+
"description": "Limit to one test, by name or ID",
|
|
4645
4726
|
"name": "test",
|
|
4646
4727
|
"hasDynamicHelp": false,
|
|
4647
4728
|
"multiple": false,
|
|
4648
4729
|
"type": "option"
|
|
4649
4730
|
},
|
|
4650
|
-
"
|
|
4651
|
-
"
|
|
4652
|
-
"
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
"
|
|
4656
|
-
"
|
|
4731
|
+
"promote": {
|
|
4732
|
+
"description": "Promote the pending script(s) into the slot replay uses",
|
|
4733
|
+
"exclusive": [
|
|
4734
|
+
"discard"
|
|
4735
|
+
],
|
|
4736
|
+
"name": "promote",
|
|
4737
|
+
"allowNo": false,
|
|
4738
|
+
"type": "boolean"
|
|
4657
4739
|
},
|
|
4658
|
-
"
|
|
4659
|
-
"description": "
|
|
4660
|
-
"
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
"
|
|
4740
|
+
"discard": {
|
|
4741
|
+
"description": "Drop the pending script(s), keeping the promoted one",
|
|
4742
|
+
"exclusive": [
|
|
4743
|
+
"promote"
|
|
4744
|
+
],
|
|
4745
|
+
"name": "discard",
|
|
4746
|
+
"allowNo": false,
|
|
4747
|
+
"type": "boolean"
|
|
4664
4748
|
},
|
|
4665
|
-
"
|
|
4666
|
-
"char": "
|
|
4667
|
-
"description": "
|
|
4668
|
-
"name": "
|
|
4749
|
+
"yes": {
|
|
4750
|
+
"char": "y",
|
|
4751
|
+
"description": "Confirm a bulk --promote/--discard that was not narrowed with --test",
|
|
4752
|
+
"name": "yes",
|
|
4753
|
+
"allowNo": false,
|
|
4754
|
+
"type": "boolean"
|
|
4755
|
+
}
|
|
4756
|
+
},
|
|
4757
|
+
"hasDynamicHelp": false,
|
|
4758
|
+
"hiddenAliases": [],
|
|
4759
|
+
"id": "test:scripts",
|
|
4760
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4761
|
+
"pluginName": "@memberjunction/cli",
|
|
4762
|
+
"pluginType": "core",
|
|
4763
|
+
"strict": true,
|
|
4764
|
+
"enableJsonFlag": false,
|
|
4765
|
+
"isESM": true,
|
|
4766
|
+
"relativePath": [
|
|
4767
|
+
"dist",
|
|
4768
|
+
"commands",
|
|
4769
|
+
"test",
|
|
4770
|
+
"scripts.js"
|
|
4771
|
+
]
|
|
4772
|
+
},
|
|
4773
|
+
"test:suite": {
|
|
4774
|
+
"aliases": [],
|
|
4775
|
+
"args": {
|
|
4776
|
+
"suiteId": {
|
|
4777
|
+
"description": "Test suite ID to execute",
|
|
4778
|
+
"name": "suiteId",
|
|
4779
|
+
"required": false
|
|
4780
|
+
}
|
|
4781
|
+
},
|
|
4782
|
+
"description": "Execute a test suite",
|
|
4783
|
+
"examples": [
|
|
4784
|
+
"<%= config.bin %> <%= command.id %> <suite-id>",
|
|
4785
|
+
"<%= config.bin %> <%= command.id %> --name=\"Agent Quality Suite\"",
|
|
4786
|
+
"<%= config.bin %> <%= command.id %> <suite-id> --format=json",
|
|
4787
|
+
"<%= config.bin %> <%= command.id %> <suite-id> --output=suite-results.json"
|
|
4788
|
+
],
|
|
4789
|
+
"flags": {
|
|
4790
|
+
"name": {
|
|
4791
|
+
"char": "n",
|
|
4792
|
+
"description": "Test suite name to execute",
|
|
4793
|
+
"name": "name",
|
|
4669
4794
|
"hasDynamicHelp": false,
|
|
4670
4795
|
"multiple": false,
|
|
4671
4796
|
"type": "option"
|
|
@@ -4698,15 +4823,60 @@
|
|
|
4698
4823
|
},
|
|
4699
4824
|
"verbose": {
|
|
4700
4825
|
"char": "v",
|
|
4701
|
-
"description": "Show detailed information",
|
|
4826
|
+
"description": "Show detailed execution information",
|
|
4702
4827
|
"name": "verbose",
|
|
4703
4828
|
"allowNo": false,
|
|
4704
4829
|
"type": "boolean"
|
|
4830
|
+
},
|
|
4831
|
+
"delay": {
|
|
4832
|
+
"char": "d",
|
|
4833
|
+
"description": "Delay in milliseconds between test executions (avoids Auth0 rate limits)",
|
|
4834
|
+
"name": "delay",
|
|
4835
|
+
"default": 0,
|
|
4836
|
+
"hasDynamicHelp": false,
|
|
4837
|
+
"multiple": false,
|
|
4838
|
+
"type": "option"
|
|
4839
|
+
},
|
|
4840
|
+
"parallel": {
|
|
4841
|
+
"char": "p",
|
|
4842
|
+
"description": "Run tests in parallel with shared browser sessions",
|
|
4843
|
+
"name": "parallel",
|
|
4844
|
+
"allowNo": false,
|
|
4845
|
+
"type": "boolean"
|
|
4846
|
+
},
|
|
4847
|
+
"max-parallel": {
|
|
4848
|
+
"description": "Maximum number of parallel workers (default 4)",
|
|
4849
|
+
"name": "max-parallel",
|
|
4850
|
+
"default": 4,
|
|
4851
|
+
"hasDynamicHelp": false,
|
|
4852
|
+
"multiple": false,
|
|
4853
|
+
"type": "option"
|
|
4854
|
+
},
|
|
4855
|
+
"flaky-check": {
|
|
4856
|
+
"description": "Run each test N times to detect flakiness (variance > 0.3 or mixed pass/fail = flaky). Recommended: 3 or 5",
|
|
4857
|
+
"name": "flaky-check",
|
|
4858
|
+
"hasDynamicHelp": false,
|
|
4859
|
+
"multiple": false,
|
|
4860
|
+
"type": "option"
|
|
4861
|
+
},
|
|
4862
|
+
"checks-module": {
|
|
4863
|
+
"description": "Module specifier (package name or path) side-effect-imported before the run so its integration check bundles register on the IntegrationCheckRegistry. Durable form: mj.config.cjs `testing.checkModules` (this repo loads '@memberjunction/integration-test-suite' that way).",
|
|
4864
|
+
"name": "checks-module",
|
|
4865
|
+
"hasDynamicHelp": false,
|
|
4866
|
+
"multiple": false,
|
|
4867
|
+
"type": "option"
|
|
4868
|
+
},
|
|
4869
|
+
"oracles-module": {
|
|
4870
|
+
"description": "Path to a JS/TS module that exports custom IOracle classes or instances. Each export is registered on the engine before the suite runs — used by non-MJ adopters to plug app-specific oracle types without modifying TestingFramework.",
|
|
4871
|
+
"name": "oracles-module",
|
|
4872
|
+
"hasDynamicHelp": false,
|
|
4873
|
+
"multiple": false,
|
|
4874
|
+
"type": "option"
|
|
4705
4875
|
}
|
|
4706
4876
|
},
|
|
4707
4877
|
"hasDynamicHelp": false,
|
|
4708
4878
|
"hiddenAliases": [],
|
|
4709
|
-
"id": "test:
|
|
4879
|
+
"id": "test:suite",
|
|
4710
4880
|
"pluginAlias": "@memberjunction/cli",
|
|
4711
4881
|
"pluginName": "@memberjunction/cli",
|
|
4712
4882
|
"pluginType": "core",
|
|
@@ -4717,25 +4887,30 @@
|
|
|
4717
4887
|
"dist",
|
|
4718
4888
|
"commands",
|
|
4719
4889
|
"test",
|
|
4720
|
-
"
|
|
4890
|
+
"suite.js"
|
|
4721
4891
|
]
|
|
4722
4892
|
},
|
|
4723
|
-
"test": {
|
|
4893
|
+
"test:usage": {
|
|
4724
4894
|
"aliases": [],
|
|
4725
4895
|
"args": {},
|
|
4726
|
-
"description": "
|
|
4727
|
-
"
|
|
4728
|
-
"
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
|
|
4896
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj test` command.",
|
|
4897
|
+
"flags": {
|
|
4898
|
+
"format": {
|
|
4899
|
+
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
4900
|
+
"name": "format",
|
|
4901
|
+
"hasDynamicHelp": false,
|
|
4902
|
+
"multiple": false,
|
|
4903
|
+
"options": [
|
|
4904
|
+
"text",
|
|
4905
|
+
"json",
|
|
4906
|
+
"md"
|
|
4907
|
+
],
|
|
4908
|
+
"type": "option"
|
|
4909
|
+
}
|
|
4910
|
+
},
|
|
4736
4911
|
"hasDynamicHelp": false,
|
|
4737
4912
|
"hiddenAliases": [],
|
|
4738
|
-
"id": "test",
|
|
4913
|
+
"id": "test:usage",
|
|
4739
4914
|
"pluginAlias": "@memberjunction/cli",
|
|
4740
4915
|
"pluginName": "@memberjunction/cli",
|
|
4741
4916
|
"pluginType": "core",
|
|
@@ -4746,56 +4921,47 @@
|
|
|
4746
4921
|
"dist",
|
|
4747
4922
|
"commands",
|
|
4748
4923
|
"test",
|
|
4749
|
-
"
|
|
4924
|
+
"usage.js"
|
|
4750
4925
|
]
|
|
4751
4926
|
},
|
|
4752
|
-
"test:
|
|
4927
|
+
"test:validate": {
|
|
4753
4928
|
"aliases": [],
|
|
4754
|
-
"args": {
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4929
|
+
"args": {
|
|
4930
|
+
"testId": {
|
|
4931
|
+
"description": "Test ID to validate",
|
|
4932
|
+
"name": "testId",
|
|
4933
|
+
"required": false
|
|
4934
|
+
}
|
|
4935
|
+
},
|
|
4936
|
+
"description": "Validate test definitions without executing",
|
|
4937
|
+
"examples": [
|
|
4938
|
+
"<%= config.bin %> <%= command.id %> <test-id>",
|
|
4939
|
+
"<%= config.bin %> <%= command.id %> --all",
|
|
4760
4940
|
"<%= config.bin %> <%= command.id %> --type=agent-eval",
|
|
4761
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4762
|
-
"<%= config.bin %> <%= command.id %> --
|
|
4941
|
+
"<%= config.bin %> <%= command.id %> --all --save-report",
|
|
4942
|
+
"<%= config.bin %> <%= command.id %> --all --output=validation-report.md"
|
|
4763
4943
|
],
|
|
4764
4944
|
"flags": {
|
|
4765
|
-
"
|
|
4766
|
-
"
|
|
4767
|
-
"
|
|
4768
|
-
"
|
|
4769
|
-
"type": "boolean"
|
|
4770
|
-
},
|
|
4771
|
-
"types": {
|
|
4772
|
-
"description": "List test types",
|
|
4773
|
-
"name": "types",
|
|
4945
|
+
"all": {
|
|
4946
|
+
"char": "a",
|
|
4947
|
+
"description": "Validate all tests",
|
|
4948
|
+
"name": "all",
|
|
4774
4949
|
"allowNo": false,
|
|
4775
4950
|
"type": "boolean"
|
|
4776
4951
|
},
|
|
4777
4952
|
"type": {
|
|
4778
4953
|
"char": "t",
|
|
4779
|
-
"description": "
|
|
4954
|
+
"description": "Validate tests by type",
|
|
4780
4955
|
"name": "type",
|
|
4781
4956
|
"hasDynamicHelp": false,
|
|
4782
4957
|
"multiple": false,
|
|
4783
4958
|
"type": "option"
|
|
4784
4959
|
},
|
|
4785
|
-
"
|
|
4786
|
-
"description": "
|
|
4787
|
-
"name": "
|
|
4788
|
-
"
|
|
4789
|
-
"
|
|
4790
|
-
"type": "option"
|
|
4791
|
-
},
|
|
4792
|
-
"status": {
|
|
4793
|
-
"char": "s",
|
|
4794
|
-
"description": "Filter by status",
|
|
4795
|
-
"name": "status",
|
|
4796
|
-
"hasDynamicHelp": false,
|
|
4797
|
-
"multiple": false,
|
|
4798
|
-
"type": "option"
|
|
4960
|
+
"save-report": {
|
|
4961
|
+
"description": "Save validation report to file",
|
|
4962
|
+
"name": "save-report",
|
|
4963
|
+
"allowNo": false,
|
|
4964
|
+
"type": "boolean"
|
|
4799
4965
|
},
|
|
4800
4966
|
"format": {
|
|
4801
4967
|
"char": "f",
|
|
@@ -4833,7 +4999,7 @@
|
|
|
4833
4999
|
},
|
|
4834
5000
|
"hasDynamicHelp": false,
|
|
4835
5001
|
"hiddenAliases": [],
|
|
4836
|
-
"id": "test:
|
|
5002
|
+
"id": "test:validate",
|
|
4837
5003
|
"pluginAlias": "@memberjunction/cli",
|
|
4838
5004
|
"pluginName": "@memberjunction/cli",
|
|
4839
5005
|
"pluginType": "core",
|
|
@@ -4844,100 +5010,95 @@
|
|
|
4844
5010
|
"dist",
|
|
4845
5011
|
"commands",
|
|
4846
5012
|
"test",
|
|
4847
|
-
"
|
|
5013
|
+
"validate.js"
|
|
4848
5014
|
]
|
|
4849
5015
|
},
|
|
4850
|
-
"
|
|
5016
|
+
"translate-sql": {
|
|
4851
5017
|
"aliases": [],
|
|
4852
|
-
"args": {
|
|
4853
|
-
|
|
4854
|
-
"description": "Test ID to execute",
|
|
4855
|
-
"name": "testId",
|
|
4856
|
-
"required": false
|
|
4857
|
-
}
|
|
4858
|
-
},
|
|
4859
|
-
"description": "Execute a single test by ID or name",
|
|
5018
|
+
"args": {},
|
|
5019
|
+
"description": "Translate SQL fragments between database dialects (SQL Server ↔ PostgreSQL)",
|
|
4860
5020
|
"examples": [
|
|
4861
|
-
"<%= config.bin %>
|
|
4862
|
-
"<%= config.bin %>
|
|
4863
|
-
"<%= config.bin %>
|
|
4864
|
-
"<%= config.bin %>
|
|
4865
|
-
"<%= config.bin %> <%= command.id %> <test-id> --dry-run"
|
|
5021
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --dry-run",
|
|
5022
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope queries",
|
|
5023
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --sql \"SELECT TOP 10 [Name] FROM [Users]\"",
|
|
5024
|
+
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
4866
5025
|
],
|
|
4867
5026
|
"flags": {
|
|
4868
|
-
"
|
|
4869
|
-
"
|
|
4870
|
-
"
|
|
4871
|
-
"
|
|
5027
|
+
"from": {
|
|
5028
|
+
"description": "Source SQL dialect",
|
|
5029
|
+
"name": "from",
|
|
5030
|
+
"required": true,
|
|
4872
5031
|
"hasDynamicHelp": false,
|
|
4873
5032
|
"multiple": false,
|
|
5033
|
+
"options": [
|
|
5034
|
+
"sqlserver",
|
|
5035
|
+
"postgresql"
|
|
5036
|
+
],
|
|
4874
5037
|
"type": "option"
|
|
4875
5038
|
},
|
|
4876
|
-
"
|
|
4877
|
-
"
|
|
4878
|
-
"
|
|
4879
|
-
"
|
|
5039
|
+
"to": {
|
|
5040
|
+
"description": "Target SQL dialect",
|
|
5041
|
+
"name": "to",
|
|
5042
|
+
"required": true,
|
|
4880
5043
|
"hasDynamicHelp": false,
|
|
4881
5044
|
"multiple": false,
|
|
5045
|
+
"options": [
|
|
5046
|
+
"sqlserver",
|
|
5047
|
+
"postgresql"
|
|
5048
|
+
],
|
|
4882
5049
|
"type": "option"
|
|
4883
5050
|
},
|
|
4884
|
-
"
|
|
4885
|
-
"
|
|
4886
|
-
"
|
|
4887
|
-
"
|
|
5051
|
+
"scope": {
|
|
5052
|
+
"description": "What to scan for translation",
|
|
5053
|
+
"name": "scope",
|
|
5054
|
+
"default": "all",
|
|
4888
5055
|
"hasDynamicHelp": false,
|
|
4889
5056
|
"multiple": false,
|
|
4890
5057
|
"options": [
|
|
4891
|
-
"
|
|
4892
|
-
"
|
|
4893
|
-
"
|
|
4894
|
-
"
|
|
4895
|
-
"console",
|
|
4896
|
-
"markdown",
|
|
4897
|
-
"compact",
|
|
4898
|
-
"table"
|
|
5058
|
+
"queries",
|
|
5059
|
+
"views",
|
|
5060
|
+
"filters",
|
|
5061
|
+
"all"
|
|
4899
5062
|
],
|
|
4900
5063
|
"type": "option"
|
|
4901
5064
|
},
|
|
4902
|
-
"
|
|
4903
|
-
"
|
|
4904
|
-
"
|
|
4905
|
-
"name": "output",
|
|
5065
|
+
"sql": {
|
|
5066
|
+
"description": "Translate a single SQL fragment (inline mode)",
|
|
5067
|
+
"name": "sql",
|
|
4906
5068
|
"hasDynamicHelp": false,
|
|
4907
5069
|
"multiple": false,
|
|
4908
5070
|
"type": "option"
|
|
4909
5071
|
},
|
|
4910
5072
|
"dry-run": {
|
|
4911
|
-
"description": "
|
|
5073
|
+
"description": "Show what would be translated without making changes",
|
|
4912
5074
|
"name": "dry-run",
|
|
4913
5075
|
"allowNo": false,
|
|
4914
5076
|
"type": "boolean"
|
|
4915
5077
|
},
|
|
4916
|
-
"
|
|
4917
|
-
"
|
|
4918
|
-
"
|
|
4919
|
-
"name": "verbose",
|
|
5078
|
+
"review": {
|
|
5079
|
+
"description": "Generate review report only (no writes to database)",
|
|
5080
|
+
"name": "review",
|
|
4920
5081
|
"allowNo": false,
|
|
4921
5082
|
"type": "boolean"
|
|
4922
5083
|
},
|
|
4923
|
-
"
|
|
4924
|
-
"
|
|
4925
|
-
"
|
|
5084
|
+
"output": {
|
|
5085
|
+
"char": "o",
|
|
5086
|
+
"description": "Output directory for the translation report",
|
|
5087
|
+
"name": "output",
|
|
4926
5088
|
"hasDynamicHelp": false,
|
|
4927
5089
|
"multiple": false,
|
|
4928
5090
|
"type": "option"
|
|
4929
5091
|
},
|
|
4930
|
-
"
|
|
4931
|
-
"description": "
|
|
4932
|
-
"name": "
|
|
4933
|
-
"
|
|
4934
|
-
"
|
|
4935
|
-
"type": "option"
|
|
5092
|
+
"force": {
|
|
5093
|
+
"description": "Re-translate even if platform variants already exist",
|
|
5094
|
+
"name": "force",
|
|
5095
|
+
"allowNo": false,
|
|
5096
|
+
"type": "boolean"
|
|
4936
5097
|
}
|
|
4937
5098
|
},
|
|
4938
5099
|
"hasDynamicHelp": false,
|
|
4939
5100
|
"hiddenAliases": [],
|
|
4940
|
-
"id": "
|
|
5101
|
+
"id": "translate-sql",
|
|
4941
5102
|
"pluginAlias": "@memberjunction/cli",
|
|
4942
5103
|
"pluginName": "@memberjunction/cli",
|
|
4943
5104
|
"pluginType": "core",
|
|
@@ -4947,117 +5108,169 @@
|
|
|
4947
5108
|
"relativePath": [
|
|
4948
5109
|
"dist",
|
|
4949
5110
|
"commands",
|
|
4950
|
-
"
|
|
4951
|
-
"
|
|
5111
|
+
"translate-sql",
|
|
5112
|
+
"index.js"
|
|
4952
5113
|
]
|
|
4953
5114
|
},
|
|
4954
|
-
"
|
|
5115
|
+
"translate-sql:usage": {
|
|
4955
5116
|
"aliases": [],
|
|
4956
|
-
"args": {
|
|
4957
|
-
|
|
4958
|
-
"description": "Test suite ID to execute",
|
|
4959
|
-
"name": "suiteId",
|
|
4960
|
-
"required": false
|
|
4961
|
-
}
|
|
4962
|
-
},
|
|
4963
|
-
"description": "Execute a test suite",
|
|
4964
|
-
"examples": [
|
|
4965
|
-
"<%= config.bin %> <%= command.id %> <suite-id>",
|
|
4966
|
-
"<%= config.bin %> <%= command.id %> --name=\"Agent Quality Suite\"",
|
|
4967
|
-
"<%= config.bin %> <%= command.id %> <suite-id> --format=json",
|
|
4968
|
-
"<%= config.bin %> <%= command.id %> <suite-id> --output=suite-results.json"
|
|
4969
|
-
],
|
|
5117
|
+
"args": {},
|
|
5118
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj translate-sql` command.",
|
|
4970
5119
|
"flags": {
|
|
4971
|
-
"name": {
|
|
4972
|
-
"char": "n",
|
|
4973
|
-
"description": "Test suite name to execute",
|
|
4974
|
-
"name": "name",
|
|
4975
|
-
"hasDynamicHelp": false,
|
|
4976
|
-
"multiple": false,
|
|
4977
|
-
"type": "option"
|
|
4978
|
-
},
|
|
4979
5120
|
"format": {
|
|
4980
|
-
"
|
|
4981
|
-
"description": "Output format: text (human), json (machine-readable), md (Markdown). Defaults to human output on a terminal and json when stdout is piped. Legacy spellings (console/markdown/compact/table) are accepted.",
|
|
5121
|
+
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
4982
5122
|
"name": "format",
|
|
4983
5123
|
"hasDynamicHelp": false,
|
|
4984
5124
|
"multiple": false,
|
|
4985
5125
|
"options": [
|
|
4986
5126
|
"text",
|
|
4987
5127
|
"json",
|
|
4988
|
-
"md"
|
|
4989
|
-
"human",
|
|
4990
|
-
"console",
|
|
4991
|
-
"markdown",
|
|
4992
|
-
"compact",
|
|
4993
|
-
"table"
|
|
5128
|
+
"md"
|
|
4994
5129
|
],
|
|
4995
5130
|
"type": "option"
|
|
4996
|
-
}
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
"
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
"
|
|
5030
|
-
"name": "max-parallel",
|
|
5031
|
-
"default": 4,
|
|
5131
|
+
}
|
|
5132
|
+
},
|
|
5133
|
+
"hasDynamicHelp": false,
|
|
5134
|
+
"hiddenAliases": [],
|
|
5135
|
+
"id": "translate-sql:usage",
|
|
5136
|
+
"pluginAlias": "@memberjunction/cli",
|
|
5137
|
+
"pluginName": "@memberjunction/cli",
|
|
5138
|
+
"pluginType": "core",
|
|
5139
|
+
"strict": true,
|
|
5140
|
+
"enableJsonFlag": false,
|
|
5141
|
+
"isESM": true,
|
|
5142
|
+
"relativePath": [
|
|
5143
|
+
"dist",
|
|
5144
|
+
"commands",
|
|
5145
|
+
"translate-sql",
|
|
5146
|
+
"usage.js"
|
|
5147
|
+
]
|
|
5148
|
+
},
|
|
5149
|
+
"update:claude": {
|
|
5150
|
+
"aliases": [],
|
|
5151
|
+
"args": {},
|
|
5152
|
+
"description": "Update the Claude Code pack in the current directory.",
|
|
5153
|
+
"examples": [
|
|
5154
|
+
"<%= config.bin %> update:claude",
|
|
5155
|
+
"<%= config.bin %> update:claude --check",
|
|
5156
|
+
"<%= config.bin %> update:claude --refresh-commands",
|
|
5157
|
+
"<%= config.bin %> update:claude --allow-major",
|
|
5158
|
+
"<%= config.bin %> update:claude --json"
|
|
5159
|
+
],
|
|
5160
|
+
"flags": {
|
|
5161
|
+
"dir": {
|
|
5162
|
+
"description": "Target directory",
|
|
5163
|
+
"name": "dir",
|
|
5164
|
+
"default": ".",
|
|
5032
5165
|
"hasDynamicHelp": false,
|
|
5033
5166
|
"multiple": false,
|
|
5034
5167
|
"type": "option"
|
|
5035
5168
|
},
|
|
5036
|
-
"
|
|
5037
|
-
"description": "
|
|
5038
|
-
"name": "
|
|
5169
|
+
"major": {
|
|
5170
|
+
"description": "Force a specific MJ major (default: detected from package.json)",
|
|
5171
|
+
"name": "major",
|
|
5039
5172
|
"hasDynamicHelp": false,
|
|
5040
5173
|
"multiple": false,
|
|
5041
5174
|
"type": "option"
|
|
5042
5175
|
},
|
|
5043
|
-
"
|
|
5044
|
-
"description": "
|
|
5045
|
-
"name": "
|
|
5176
|
+
"ref": {
|
|
5177
|
+
"description": "Git ref to fetch from (branch or tag). Default: main.",
|
|
5178
|
+
"name": "ref",
|
|
5046
5179
|
"hasDynamicHelp": false,
|
|
5047
5180
|
"multiple": false,
|
|
5048
5181
|
"type": "option"
|
|
5049
5182
|
},
|
|
5050
|
-
"
|
|
5051
|
-
"description": "
|
|
5052
|
-
"name": "
|
|
5183
|
+
"from": {
|
|
5184
|
+
"description": "Use a local pack source instead of fetching from GitHub",
|
|
5185
|
+
"name": "from",
|
|
5053
5186
|
"hasDynamicHelp": false,
|
|
5054
5187
|
"multiple": false,
|
|
5055
5188
|
"type": "option"
|
|
5189
|
+
},
|
|
5190
|
+
"offline": {
|
|
5191
|
+
"description": "Forbid network; requires --from <path>",
|
|
5192
|
+
"name": "offline",
|
|
5193
|
+
"allowNo": false,
|
|
5194
|
+
"type": "boolean"
|
|
5195
|
+
},
|
|
5196
|
+
"dry-run": {
|
|
5197
|
+
"description": "Print what would be written; change nothing",
|
|
5198
|
+
"name": "dry-run",
|
|
5199
|
+
"allowNo": false,
|
|
5200
|
+
"type": "boolean"
|
|
5201
|
+
},
|
|
5202
|
+
"yes": {
|
|
5203
|
+
"char": "y",
|
|
5204
|
+
"description": "Don't prompt (reserved for future interactive paths; currently no-op)",
|
|
5205
|
+
"name": "yes",
|
|
5206
|
+
"allowNo": false,
|
|
5207
|
+
"type": "boolean"
|
|
5208
|
+
},
|
|
5209
|
+
"force": {
|
|
5210
|
+
"description": "Overwrite user-customized commands/skills (saves .bak files)",
|
|
5211
|
+
"name": "force",
|
|
5212
|
+
"allowNo": false,
|
|
5213
|
+
"type": "boolean"
|
|
5214
|
+
},
|
|
5215
|
+
"skip-commands": {
|
|
5216
|
+
"description": "Skip seeding .claude/commands/",
|
|
5217
|
+
"name": "skip-commands",
|
|
5218
|
+
"allowNo": false,
|
|
5219
|
+
"type": "boolean"
|
|
5220
|
+
},
|
|
5221
|
+
"skip-skills": {
|
|
5222
|
+
"description": "Skip seeding .claude/skills/",
|
|
5223
|
+
"name": "skip-skills",
|
|
5224
|
+
"allowNo": false,
|
|
5225
|
+
"type": "boolean"
|
|
5226
|
+
},
|
|
5227
|
+
"skip-settings": {
|
|
5228
|
+
"description": "Skip merging .claude/settings.json",
|
|
5229
|
+
"name": "skip-settings",
|
|
5230
|
+
"allowNo": false,
|
|
5231
|
+
"type": "boolean"
|
|
5232
|
+
},
|
|
5233
|
+
"check": {
|
|
5234
|
+
"description": "Compare local pack version to remote without writing anything",
|
|
5235
|
+
"name": "check",
|
|
5236
|
+
"allowNo": false,
|
|
5237
|
+
"type": "boolean"
|
|
5238
|
+
},
|
|
5239
|
+
"refresh-commands": {
|
|
5240
|
+
"description": "Force-resync .claude/commands/* from the pack (saves .bak files)",
|
|
5241
|
+
"name": "refresh-commands",
|
|
5242
|
+
"allowNo": false,
|
|
5243
|
+
"type": "boolean"
|
|
5244
|
+
},
|
|
5245
|
+
"refresh-skills": {
|
|
5246
|
+
"description": "Force-resync .claude/skills/** from the pack (saves .bak files)",
|
|
5247
|
+
"name": "refresh-skills",
|
|
5248
|
+
"allowNo": false,
|
|
5249
|
+
"type": "boolean"
|
|
5250
|
+
},
|
|
5251
|
+
"allow-major": {
|
|
5252
|
+
"description": "Allow the remote pack's major to differ from local MJ's major",
|
|
5253
|
+
"name": "allow-major",
|
|
5254
|
+
"allowNo": false,
|
|
5255
|
+
"type": "boolean"
|
|
5256
|
+
},
|
|
5257
|
+
"json": {
|
|
5258
|
+
"description": "Output as JSON (matches plan §7.5 schema)",
|
|
5259
|
+
"name": "json",
|
|
5260
|
+
"allowNo": false,
|
|
5261
|
+
"type": "boolean"
|
|
5262
|
+
},
|
|
5263
|
+
"verbose": {
|
|
5264
|
+
"char": "v",
|
|
5265
|
+
"description": "Show progress messages",
|
|
5266
|
+
"name": "verbose",
|
|
5267
|
+
"allowNo": false,
|
|
5268
|
+
"type": "boolean"
|
|
5056
5269
|
}
|
|
5057
5270
|
},
|
|
5058
5271
|
"hasDynamicHelp": false,
|
|
5059
5272
|
"hiddenAliases": [],
|
|
5060
|
-
"id": "
|
|
5273
|
+
"id": "update:claude",
|
|
5061
5274
|
"pluginAlias": "@memberjunction/cli",
|
|
5062
5275
|
"pluginName": "@memberjunction/cli",
|
|
5063
5276
|
"pluginType": "core",
|
|
@@ -5067,14 +5280,14 @@
|
|
|
5067
5280
|
"relativePath": [
|
|
5068
5281
|
"dist",
|
|
5069
5282
|
"commands",
|
|
5070
|
-
"
|
|
5071
|
-
"
|
|
5283
|
+
"update",
|
|
5284
|
+
"claude.js"
|
|
5072
5285
|
]
|
|
5073
5286
|
},
|
|
5074
|
-
"
|
|
5287
|
+
"update:usage": {
|
|
5075
5288
|
"aliases": [],
|
|
5076
5289
|
"args": {},
|
|
5077
|
-
"description": "Show usage, flags, examples, and runtime hints for every `mj
|
|
5290
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj update` command.",
|
|
5078
5291
|
"flags": {
|
|
5079
5292
|
"format": {
|
|
5080
5293
|
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -5091,7 +5304,7 @@
|
|
|
5091
5304
|
},
|
|
5092
5305
|
"hasDynamicHelp": false,
|
|
5093
5306
|
"hiddenAliases": [],
|
|
5094
|
-
"id": "
|
|
5307
|
+
"id": "update:usage",
|
|
5095
5308
|
"pluginAlias": "@memberjunction/cli",
|
|
5096
5309
|
"pluginName": "@memberjunction/cli",
|
|
5097
5310
|
"pluginType": "core",
|
|
@@ -5101,86 +5314,102 @@
|
|
|
5101
5314
|
"relativePath": [
|
|
5102
5315
|
"dist",
|
|
5103
5316
|
"commands",
|
|
5104
|
-
"
|
|
5317
|
+
"update",
|
|
5105
5318
|
"usage.js"
|
|
5106
5319
|
]
|
|
5107
5320
|
},
|
|
5108
|
-
"
|
|
5321
|
+
"migrate:convert": {
|
|
5109
5322
|
"aliases": [],
|
|
5110
|
-
"args": {
|
|
5111
|
-
|
|
5112
|
-
"description": "Test ID to validate",
|
|
5113
|
-
"name": "testId",
|
|
5114
|
-
"required": false
|
|
5115
|
-
}
|
|
5116
|
-
},
|
|
5117
|
-
"description": "Validate test definitions without executing",
|
|
5323
|
+
"args": {},
|
|
5324
|
+
"description": "Convert T-SQL migrations to PostgreSQL",
|
|
5118
5325
|
"examples": [
|
|
5119
|
-
"<%= config.bin %>
|
|
5120
|
-
"<%= config.bin %>
|
|
5121
|
-
"<%= config.bin %>
|
|
5122
|
-
"<%= config.bin %>
|
|
5123
|
-
"<%= config.bin %>
|
|
5326
|
+
"<%= config.bin %> migrate convert --split",
|
|
5327
|
+
"<%= config.bin %> migrate convert --split --dry-run",
|
|
5328
|
+
"<%= config.bin %> migrate convert --split --file V202604060452__v5.24.x__KnowledgeHub.sql",
|
|
5329
|
+
"<%= config.bin %> migrate convert --source-dir ./migrations/v5 --output-dir ./migrations-pg/v5",
|
|
5330
|
+
"<%= config.bin %> migrate convert --verbose"
|
|
5124
5331
|
],
|
|
5125
5332
|
"flags": {
|
|
5126
|
-
"
|
|
5127
|
-
"
|
|
5128
|
-
"
|
|
5129
|
-
"
|
|
5130
|
-
"
|
|
5131
|
-
"
|
|
5333
|
+
"source-dir": {
|
|
5334
|
+
"description": "Source T-SQL migrations directory",
|
|
5335
|
+
"name": "source-dir",
|
|
5336
|
+
"default": "./migrations/v5",
|
|
5337
|
+
"hasDynamicHelp": false,
|
|
5338
|
+
"multiple": false,
|
|
5339
|
+
"type": "option"
|
|
5132
5340
|
},
|
|
5133
|
-
"
|
|
5134
|
-
"
|
|
5135
|
-
"
|
|
5136
|
-
"
|
|
5341
|
+
"output-dir": {
|
|
5342
|
+
"description": "Output PG migrations directory",
|
|
5343
|
+
"name": "output-dir",
|
|
5344
|
+
"default": "./migrations-pg/v5",
|
|
5137
5345
|
"hasDynamicHelp": false,
|
|
5138
5346
|
"multiple": false,
|
|
5139
5347
|
"type": "option"
|
|
5140
5348
|
},
|
|
5141
|
-
"
|
|
5142
|
-
"description": "
|
|
5143
|
-
"name": "
|
|
5144
|
-
"
|
|
5145
|
-
"
|
|
5349
|
+
"file": {
|
|
5350
|
+
"description": "Convert a specific file (filename only, looked up in source-dir)",
|
|
5351
|
+
"name": "file",
|
|
5352
|
+
"hasDynamicHelp": false,
|
|
5353
|
+
"multiple": false,
|
|
5354
|
+
"type": "option"
|
|
5146
5355
|
},
|
|
5147
|
-
"
|
|
5148
|
-
"
|
|
5149
|
-
"
|
|
5150
|
-
"
|
|
5356
|
+
"schema": {
|
|
5357
|
+
"description": "Target schema name",
|
|
5358
|
+
"name": "schema",
|
|
5359
|
+
"default": "__mj",
|
|
5151
5360
|
"hasDynamicHelp": false,
|
|
5152
5361
|
"multiple": false,
|
|
5153
|
-
"options": [
|
|
5154
|
-
"text",
|
|
5155
|
-
"json",
|
|
5156
|
-
"md",
|
|
5157
|
-
"human",
|
|
5158
|
-
"console",
|
|
5159
|
-
"markdown",
|
|
5160
|
-
"compact",
|
|
5161
|
-
"table"
|
|
5162
|
-
],
|
|
5163
5362
|
"type": "option"
|
|
5164
5363
|
},
|
|
5165
|
-
"
|
|
5166
|
-
"
|
|
5167
|
-
"
|
|
5168
|
-
"
|
|
5364
|
+
"core-schema": {
|
|
5365
|
+
"description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
|
|
5366
|
+
"name": "core-schema",
|
|
5367
|
+
"default": "__mj",
|
|
5169
5368
|
"hasDynamicHelp": false,
|
|
5170
5369
|
"multiple": false,
|
|
5171
5370
|
"type": "option"
|
|
5172
5371
|
},
|
|
5372
|
+
"dry-run": {
|
|
5373
|
+
"description": "Show what would be converted without writing files",
|
|
5374
|
+
"name": "dry-run",
|
|
5375
|
+
"allowNo": false,
|
|
5376
|
+
"type": "boolean"
|
|
5377
|
+
},
|
|
5378
|
+
"no-header": {
|
|
5379
|
+
"description": "Skip PG header (extensions, schema, implicit cast)",
|
|
5380
|
+
"name": "no-header",
|
|
5381
|
+
"allowNo": false,
|
|
5382
|
+
"type": "boolean"
|
|
5383
|
+
},
|
|
5173
5384
|
"verbose": {
|
|
5174
5385
|
"char": "v",
|
|
5175
|
-
"description": "Show
|
|
5386
|
+
"description": "Show per-statement progress",
|
|
5176
5387
|
"name": "verbose",
|
|
5177
5388
|
"allowNo": false,
|
|
5178
5389
|
"type": "boolean"
|
|
5390
|
+
},
|
|
5391
|
+
"split": {
|
|
5392
|
+
"description": "Split-and-regenerate (the standard path): transpile only hand-written DDL via the AST dialect; CodeGen objects are regenerated by `mj codegen` and mj-sync metadata re-seeded by `mj sync push`; every conversion gap is surfaced and fails the run unless --allow-gaps.",
|
|
5393
|
+
"name": "split",
|
|
5394
|
+
"allowNo": false,
|
|
5395
|
+
"type": "boolean"
|
|
5396
|
+
},
|
|
5397
|
+
"allow-gaps": {
|
|
5398
|
+
"description": "Exit 0 even when migrations have conversion gaps — with --split: hand-authoring needed or unhandled statements; on the legacy path: \"-- Could not parse\" / \"-- ERROR converting batch\" markers in the output. Gaps are still embedded as comments and listed in the summary.",
|
|
5399
|
+
"name": "allow-gaps",
|
|
5400
|
+
"allowNo": false,
|
|
5401
|
+
"type": "boolean"
|
|
5402
|
+
},
|
|
5403
|
+
"bake-codegen": {
|
|
5404
|
+
"description": "With --split: bake native PG CodeGen objects inline per migration (Path C), so the set deploys with `mj migrate` alone — no `mj codegen` step. Requires a LIVE working PG database (DB_PLATFORM=postgresql + PG_* env, same as `mj codegen`) seeded to the state just BEFORE the migrations being converted (typically the latest baseline); the converter brings it forward in committed order as it bakes. Not compatible with --dry-run.",
|
|
5405
|
+
"name": "bake-codegen",
|
|
5406
|
+
"allowNo": false,
|
|
5407
|
+
"type": "boolean"
|
|
5179
5408
|
}
|
|
5180
5409
|
},
|
|
5181
5410
|
"hasDynamicHelp": false,
|
|
5182
5411
|
"hiddenAliases": [],
|
|
5183
|
-
"id": "
|
|
5412
|
+
"id": "migrate:convert",
|
|
5184
5413
|
"pluginAlias": "@memberjunction/cli",
|
|
5185
5414
|
"pluginName": "@memberjunction/cli",
|
|
5186
5415
|
"pluginType": "core",
|
|
@@ -5190,37 +5419,38 @@
|
|
|
5190
5419
|
"relativePath": [
|
|
5191
5420
|
"dist",
|
|
5192
5421
|
"commands",
|
|
5193
|
-
"
|
|
5194
|
-
"
|
|
5422
|
+
"migrate",
|
|
5423
|
+
"convert.js"
|
|
5195
5424
|
]
|
|
5196
5425
|
},
|
|
5197
|
-
"
|
|
5426
|
+
"migrate:create": {
|
|
5198
5427
|
"aliases": [],
|
|
5199
|
-
"args": {
|
|
5200
|
-
|
|
5428
|
+
"args": {
|
|
5429
|
+
"description": {
|
|
5430
|
+
"description": "Short description (will be converted to PascalCase with underscores)",
|
|
5431
|
+
"name": "description",
|
|
5432
|
+
"required": true
|
|
5433
|
+
}
|
|
5434
|
+
},
|
|
5435
|
+
"description": "Scaffold a new migration file for the current database platform",
|
|
5201
5436
|
"examples": [
|
|
5202
|
-
"<%= config.bin %>
|
|
5203
|
-
"<%= config.bin %>
|
|
5204
|
-
"<%= config.bin %>
|
|
5205
|
-
"<%= config.bin %> translate-sql --from sqlserver --to postgresql --scope all --output ./reports"
|
|
5437
|
+
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\"",
|
|
5438
|
+
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\" --version 5.25 --platform postgresql",
|
|
5439
|
+
"<%= config.bin %> <%= command.id %> \"Add FooID to Bar\" --dir ./migrations/v5"
|
|
5206
5440
|
],
|
|
5207
5441
|
"flags": {
|
|
5208
|
-
"
|
|
5209
|
-
"
|
|
5210
|
-
"
|
|
5211
|
-
"
|
|
5442
|
+
"version": {
|
|
5443
|
+
"char": "v",
|
|
5444
|
+
"description": "Migration version tag, e.g. \"5.25\" (default: parsed from repo baseline or \"0.0\")",
|
|
5445
|
+
"name": "version",
|
|
5212
5446
|
"hasDynamicHelp": false,
|
|
5213
5447
|
"multiple": false,
|
|
5214
|
-
"options": [
|
|
5215
|
-
"sqlserver",
|
|
5216
|
-
"postgresql"
|
|
5217
|
-
],
|
|
5218
5448
|
"type": "option"
|
|
5219
5449
|
},
|
|
5220
|
-
"
|
|
5221
|
-
"
|
|
5222
|
-
"
|
|
5223
|
-
"
|
|
5450
|
+
"platform": {
|
|
5451
|
+
"char": "p",
|
|
5452
|
+
"description": "Override platform: sqlserver | postgresql (default: config.dbPlatform)",
|
|
5453
|
+
"name": "platform",
|
|
5224
5454
|
"hasDynamicHelp": false,
|
|
5225
5455
|
"multiple": false,
|
|
5226
5456
|
"options": [
|
|
@@ -5229,57 +5459,23 @@
|
|
|
5229
5459
|
],
|
|
5230
5460
|
"type": "option"
|
|
5231
5461
|
},
|
|
5232
|
-
"
|
|
5233
|
-
"description": "
|
|
5234
|
-
"name": "
|
|
5235
|
-
"default": "all",
|
|
5236
|
-
"hasDynamicHelp": false,
|
|
5237
|
-
"multiple": false,
|
|
5238
|
-
"options": [
|
|
5239
|
-
"queries",
|
|
5240
|
-
"views",
|
|
5241
|
-
"filters",
|
|
5242
|
-
"all"
|
|
5243
|
-
],
|
|
5244
|
-
"type": "option"
|
|
5245
|
-
},
|
|
5246
|
-
"sql": {
|
|
5247
|
-
"description": "Translate a single SQL fragment (inline mode)",
|
|
5248
|
-
"name": "sql",
|
|
5249
|
-
"hasDynamicHelp": false,
|
|
5250
|
-
"multiple": false,
|
|
5251
|
-
"type": "option"
|
|
5252
|
-
},
|
|
5253
|
-
"dry-run": {
|
|
5254
|
-
"description": "Show what would be translated without making changes",
|
|
5255
|
-
"name": "dry-run",
|
|
5256
|
-
"allowNo": false,
|
|
5257
|
-
"type": "boolean"
|
|
5258
|
-
},
|
|
5259
|
-
"review": {
|
|
5260
|
-
"description": "Generate review report only (no writes to database)",
|
|
5261
|
-
"name": "review",
|
|
5262
|
-
"allowNo": false,
|
|
5263
|
-
"type": "boolean"
|
|
5264
|
-
},
|
|
5265
|
-
"output": {
|
|
5266
|
-
"char": "o",
|
|
5267
|
-
"description": "Output directory for the translation report",
|
|
5268
|
-
"name": "output",
|
|
5462
|
+
"dir": {
|
|
5463
|
+
"description": "Output directory (default: ./migrations/v5 or ./migrations-pg/v5)",
|
|
5464
|
+
"name": "dir",
|
|
5269
5465
|
"hasDynamicHelp": false,
|
|
5270
5466
|
"multiple": false,
|
|
5271
5467
|
"type": "option"
|
|
5272
5468
|
},
|
|
5273
|
-
"
|
|
5274
|
-
"description": "
|
|
5275
|
-
"name": "
|
|
5469
|
+
"x-x": {
|
|
5470
|
+
"description": "Use {version}.x.x suffix instead of {version}.x (e.g. 5.25.x instead of 5.25.x)",
|
|
5471
|
+
"name": "x-x",
|
|
5276
5472
|
"allowNo": false,
|
|
5277
5473
|
"type": "boolean"
|
|
5278
5474
|
}
|
|
5279
5475
|
},
|
|
5280
5476
|
"hasDynamicHelp": false,
|
|
5281
5477
|
"hiddenAliases": [],
|
|
5282
|
-
"id": "
|
|
5478
|
+
"id": "migrate:create",
|
|
5283
5479
|
"pluginAlias": "@memberjunction/cli",
|
|
5284
5480
|
"pluginName": "@memberjunction/cli",
|
|
5285
5481
|
"pluginType": "core",
|
|
@@ -5289,31 +5485,60 @@
|
|
|
5289
5485
|
"relativePath": [
|
|
5290
5486
|
"dist",
|
|
5291
5487
|
"commands",
|
|
5292
|
-
"
|
|
5293
|
-
"
|
|
5488
|
+
"migrate",
|
|
5489
|
+
"create.js"
|
|
5294
5490
|
]
|
|
5295
5491
|
},
|
|
5296
|
-
"
|
|
5492
|
+
"migrate": {
|
|
5297
5493
|
"aliases": [],
|
|
5298
5494
|
"args": {},
|
|
5299
|
-
"description": "
|
|
5495
|
+
"description": "Migrate MemberJunction database to latest version. Open App migrates also run the core metadata-heal procs (same work as R__RefreshMetadata) scoped to the app schema, on SQL Server and PostgreSQL.",
|
|
5496
|
+
"examples": [
|
|
5497
|
+
"<%= config.bin %> <%= command.id %>\n",
|
|
5498
|
+
"<%= config.bin %> <%= command.id %> --schema __BCSaaS --dir ./migrations/v1\n",
|
|
5499
|
+
"<%= config.bin %> <%= command.id %> --schema __BCSaaS --tag v1.0.0\n"
|
|
5500
|
+
],
|
|
5300
5501
|
"flags": {
|
|
5301
|
-
"
|
|
5302
|
-
"
|
|
5303
|
-
"
|
|
5502
|
+
"verbose": {
|
|
5503
|
+
"char": "v",
|
|
5504
|
+
"description": "Enable additional logging",
|
|
5505
|
+
"name": "verbose",
|
|
5506
|
+
"allowNo": false,
|
|
5507
|
+
"type": "boolean"
|
|
5508
|
+
},
|
|
5509
|
+
"tag": {
|
|
5510
|
+
"char": "t",
|
|
5511
|
+
"description": "Version tag to use for running remote migrations",
|
|
5512
|
+
"name": "tag",
|
|
5513
|
+
"hasDynamicHelp": false,
|
|
5514
|
+
"multiple": false,
|
|
5515
|
+
"type": "option"
|
|
5516
|
+
},
|
|
5517
|
+
"schema": {
|
|
5518
|
+
"char": "s",
|
|
5519
|
+
"description": "Target schema (overrides coreSchema from config)",
|
|
5520
|
+
"name": "schema",
|
|
5521
|
+
"hasDynamicHelp": false,
|
|
5522
|
+
"multiple": false,
|
|
5523
|
+
"type": "option"
|
|
5524
|
+
},
|
|
5525
|
+
"dir": {
|
|
5526
|
+
"description": "Migration source directory (overrides migrationsLocation from config)",
|
|
5527
|
+
"name": "dir",
|
|
5304
5528
|
"hasDynamicHelp": false,
|
|
5305
5529
|
"multiple": false,
|
|
5306
|
-
"options": [
|
|
5307
|
-
"text",
|
|
5308
|
-
"json",
|
|
5309
|
-
"md"
|
|
5310
|
-
],
|
|
5311
5530
|
"type": "option"
|
|
5531
|
+
},
|
|
5532
|
+
"check-connection": {
|
|
5533
|
+
"description": "Verify the database connection (including TLS) and exit without migrating",
|
|
5534
|
+
"name": "check-connection",
|
|
5535
|
+
"allowNo": false,
|
|
5536
|
+
"type": "boolean"
|
|
5312
5537
|
}
|
|
5313
5538
|
},
|
|
5314
5539
|
"hasDynamicHelp": false,
|
|
5315
5540
|
"hiddenAliases": [],
|
|
5316
|
-
"id": "
|
|
5541
|
+
"id": "migrate",
|
|
5317
5542
|
"pluginAlias": "@memberjunction/cli",
|
|
5318
5543
|
"pluginName": "@memberjunction/cli",
|
|
5319
5544
|
"pluginType": "core",
|
|
@@ -5323,135 +5548,68 @@
|
|
|
5323
5548
|
"relativePath": [
|
|
5324
5549
|
"dist",
|
|
5325
5550
|
"commands",
|
|
5326
|
-
"
|
|
5327
|
-
"
|
|
5551
|
+
"migrate",
|
|
5552
|
+
"index.js"
|
|
5328
5553
|
]
|
|
5329
5554
|
},
|
|
5330
|
-
"
|
|
5555
|
+
"migrate:rebake": {
|
|
5331
5556
|
"aliases": [],
|
|
5332
5557
|
"args": {},
|
|
5333
|
-
"description": "
|
|
5558
|
+
"description": "Re-bake the post-baseline PG migration set with inline native CodeGen",
|
|
5334
5559
|
"examples": [
|
|
5335
|
-
"<%= config.bin %>
|
|
5336
|
-
"<%= config.bin %>
|
|
5337
|
-
"<%= config.bin %> update:claude --refresh-commands",
|
|
5338
|
-
"<%= config.bin %> update:claude --allow-major",
|
|
5339
|
-
"<%= config.bin %> update:claude --json"
|
|
5560
|
+
"<%= config.bin %> migrate rebake",
|
|
5561
|
+
"<%= config.bin %> migrate rebake --baseline-floor V202605291452 --dry-run"
|
|
5340
5562
|
],
|
|
5341
5563
|
"flags": {
|
|
5342
|
-
"dir": {
|
|
5343
|
-
"description": "
|
|
5344
|
-
"name": "dir",
|
|
5345
|
-
"default": "
|
|
5564
|
+
"source-dir": {
|
|
5565
|
+
"description": "Source T-SQL migrations directory",
|
|
5566
|
+
"name": "source-dir",
|
|
5567
|
+
"default": "./migrations/v5",
|
|
5346
5568
|
"hasDynamicHelp": false,
|
|
5347
5569
|
"multiple": false,
|
|
5348
5570
|
"type": "option"
|
|
5349
5571
|
},
|
|
5350
|
-
"
|
|
5351
|
-
"description": "
|
|
5352
|
-
"name": "
|
|
5572
|
+
"output-dir": {
|
|
5573
|
+
"description": "PG migrations directory (committed files read here + baked output written here)",
|
|
5574
|
+
"name": "output-dir",
|
|
5575
|
+
"default": "./migrations-pg/v5",
|
|
5353
5576
|
"hasDynamicHelp": false,
|
|
5354
5577
|
"multiple": false,
|
|
5355
5578
|
"type": "option"
|
|
5356
5579
|
},
|
|
5357
|
-
"
|
|
5358
|
-
"description": "
|
|
5359
|
-
"name": "
|
|
5580
|
+
"schema": {
|
|
5581
|
+
"description": "Target schema name",
|
|
5582
|
+
"name": "schema",
|
|
5583
|
+
"default": "__mj",
|
|
5360
5584
|
"hasDynamicHelp": false,
|
|
5361
5585
|
"multiple": false,
|
|
5362
5586
|
"type": "option"
|
|
5363
5587
|
},
|
|
5364
|
-
"
|
|
5365
|
-
"description": "
|
|
5366
|
-
"name": "
|
|
5588
|
+
"core-schema": {
|
|
5589
|
+
"description": "MJ core schema substituted for ${mjSchema} (default __mj). Distinct from --schema, which is the app's OWN schema: an Open App migration references core as ${mjSchema} and itself as ${flyway:defaultSchema}, and for every app those differ.",
|
|
5590
|
+
"name": "core-schema",
|
|
5591
|
+
"default": "__mj",
|
|
5367
5592
|
"hasDynamicHelp": false,
|
|
5368
5593
|
"multiple": false,
|
|
5369
5594
|
"type": "option"
|
|
5370
5595
|
},
|
|
5371
|
-
"
|
|
5372
|
-
"description": "
|
|
5373
|
-
"name": "
|
|
5374
|
-
"
|
|
5375
|
-
"
|
|
5596
|
+
"baseline-floor": {
|
|
5597
|
+
"description": "Re-bake migrations strictly AFTER this version key (default: the latest B* in output-dir)",
|
|
5598
|
+
"name": "baseline-floor",
|
|
5599
|
+
"hasDynamicHelp": false,
|
|
5600
|
+
"multiple": false,
|
|
5601
|
+
"type": "option"
|
|
5376
5602
|
},
|
|
5377
5603
|
"dry-run": {
|
|
5378
|
-
"description": "
|
|
5604
|
+
"description": "Report what would be re-baked without writing files",
|
|
5379
5605
|
"name": "dry-run",
|
|
5380
5606
|
"allowNo": false,
|
|
5381
5607
|
"type": "boolean"
|
|
5382
|
-
},
|
|
5383
|
-
"yes": {
|
|
5384
|
-
"char": "y",
|
|
5385
|
-
"description": "Don't prompt (reserved for future interactive paths; currently no-op)",
|
|
5386
|
-
"name": "yes",
|
|
5387
|
-
"allowNo": false,
|
|
5388
|
-
"type": "boolean"
|
|
5389
|
-
},
|
|
5390
|
-
"force": {
|
|
5391
|
-
"description": "Overwrite user-customized commands/skills (saves .bak files)",
|
|
5392
|
-
"name": "force",
|
|
5393
|
-
"allowNo": false,
|
|
5394
|
-
"type": "boolean"
|
|
5395
|
-
},
|
|
5396
|
-
"skip-commands": {
|
|
5397
|
-
"description": "Skip seeding .claude/commands/",
|
|
5398
|
-
"name": "skip-commands",
|
|
5399
|
-
"allowNo": false,
|
|
5400
|
-
"type": "boolean"
|
|
5401
|
-
},
|
|
5402
|
-
"skip-skills": {
|
|
5403
|
-
"description": "Skip seeding .claude/skills/",
|
|
5404
|
-
"name": "skip-skills",
|
|
5405
|
-
"allowNo": false,
|
|
5406
|
-
"type": "boolean"
|
|
5407
|
-
},
|
|
5408
|
-
"skip-settings": {
|
|
5409
|
-
"description": "Skip merging .claude/settings.json",
|
|
5410
|
-
"name": "skip-settings",
|
|
5411
|
-
"allowNo": false,
|
|
5412
|
-
"type": "boolean"
|
|
5413
|
-
},
|
|
5414
|
-
"check": {
|
|
5415
|
-
"description": "Compare local pack version to remote without writing anything",
|
|
5416
|
-
"name": "check",
|
|
5417
|
-
"allowNo": false,
|
|
5418
|
-
"type": "boolean"
|
|
5419
|
-
},
|
|
5420
|
-
"refresh-commands": {
|
|
5421
|
-
"description": "Force-resync .claude/commands/* from the pack (saves .bak files)",
|
|
5422
|
-
"name": "refresh-commands",
|
|
5423
|
-
"allowNo": false,
|
|
5424
|
-
"type": "boolean"
|
|
5425
|
-
},
|
|
5426
|
-
"refresh-skills": {
|
|
5427
|
-
"description": "Force-resync .claude/skills/** from the pack (saves .bak files)",
|
|
5428
|
-
"name": "refresh-skills",
|
|
5429
|
-
"allowNo": false,
|
|
5430
|
-
"type": "boolean"
|
|
5431
|
-
},
|
|
5432
|
-
"allow-major": {
|
|
5433
|
-
"description": "Allow the remote pack's major to differ from local MJ's major",
|
|
5434
|
-
"name": "allow-major",
|
|
5435
|
-
"allowNo": false,
|
|
5436
|
-
"type": "boolean"
|
|
5437
|
-
},
|
|
5438
|
-
"json": {
|
|
5439
|
-
"description": "Output as JSON (matches plan §7.5 schema)",
|
|
5440
|
-
"name": "json",
|
|
5441
|
-
"allowNo": false,
|
|
5442
|
-
"type": "boolean"
|
|
5443
|
-
},
|
|
5444
|
-
"verbose": {
|
|
5445
|
-
"char": "v",
|
|
5446
|
-
"description": "Show progress messages",
|
|
5447
|
-
"name": "verbose",
|
|
5448
|
-
"allowNo": false,
|
|
5449
|
-
"type": "boolean"
|
|
5450
5608
|
}
|
|
5451
5609
|
},
|
|
5452
5610
|
"hasDynamicHelp": false,
|
|
5453
5611
|
"hiddenAliases": [],
|
|
5454
|
-
"id": "
|
|
5612
|
+
"id": "migrate:rebake",
|
|
5455
5613
|
"pluginAlias": "@memberjunction/cli",
|
|
5456
5614
|
"pluginName": "@memberjunction/cli",
|
|
5457
5615
|
"pluginType": "core",
|
|
@@ -5461,14 +5619,14 @@
|
|
|
5461
5619
|
"relativePath": [
|
|
5462
5620
|
"dist",
|
|
5463
5621
|
"commands",
|
|
5464
|
-
"
|
|
5465
|
-
"
|
|
5622
|
+
"migrate",
|
|
5623
|
+
"rebake.js"
|
|
5466
5624
|
]
|
|
5467
5625
|
},
|
|
5468
|
-
"
|
|
5626
|
+
"migrate:usage": {
|
|
5469
5627
|
"aliases": [],
|
|
5470
5628
|
"args": {},
|
|
5471
|
-
"description": "Show usage, flags, examples, and runtime hints for every `mj
|
|
5629
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj migrate` command.",
|
|
5472
5630
|
"flags": {
|
|
5473
5631
|
"format": {
|
|
5474
5632
|
"description": "Output format. Defaults to text on a terminal and json when stdout is piped.",
|
|
@@ -5485,7 +5643,7 @@
|
|
|
5485
5643
|
},
|
|
5486
5644
|
"hasDynamicHelp": false,
|
|
5487
5645
|
"hiddenAliases": [],
|
|
5488
|
-
"id": "
|
|
5646
|
+
"id": "migrate:usage",
|
|
5489
5647
|
"pluginAlias": "@memberjunction/cli",
|
|
5490
5648
|
"pluginName": "@memberjunction/cli",
|
|
5491
5649
|
"pluginType": "core",
|
|
@@ -5495,7 +5653,7 @@
|
|
|
5495
5653
|
"relativePath": [
|
|
5496
5654
|
"dist",
|
|
5497
5655
|
"commands",
|
|
5498
|
-
"
|
|
5656
|
+
"migrate",
|
|
5499
5657
|
"usage.js"
|
|
5500
5658
|
]
|
|
5501
5659
|
},
|
|
@@ -6862,5 +7020,5 @@
|
|
|
6862
7020
|
]
|
|
6863
7021
|
}
|
|
6864
7022
|
},
|
|
6865
|
-
"version": "6.1
|
|
7023
|
+
"version": "6.2.0-edge.1"
|
|
6866
7024
|
}
|