@memberjunction/cli 3.4.0 ā 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -832
- package/bin/dev.js +5 -6
- package/bin/run.js +14 -5
- package/dist/commands/ai/actions/list.d.ts +1 -0
- package/dist/commands/ai/actions/list.d.ts.map +1 -0
- package/dist/commands/ai/actions/list.js +14 -19
- package/dist/commands/ai/actions/list.js.map +1 -0
- package/dist/commands/ai/actions/run.d.ts +2 -1
- package/dist/commands/ai/actions/run.d.ts.map +1 -0
- package/dist/commands/ai/actions/run.js +24 -29
- package/dist/commands/ai/actions/run.js.map +1 -0
- package/dist/commands/ai/agents/list.d.ts +1 -0
- package/dist/commands/ai/agents/list.d.ts.map +1 -0
- package/dist/commands/ai/agents/list.js +14 -19
- package/dist/commands/ai/agents/list.js.map +1 -0
- package/dist/commands/ai/agents/run.d.ts +2 -1
- package/dist/commands/ai/agents/run.d.ts.map +1 -0
- package/dist/commands/ai/agents/run.js +20 -25
- package/dist/commands/ai/agents/run.js.map +1 -0
- package/dist/commands/ai/audit/agent-run.d.ts +7 -6
- package/dist/commands/ai/audit/agent-run.d.ts.map +1 -0
- package/dist/commands/ai/audit/agent-run.js +35 -63
- package/dist/commands/ai/audit/agent-run.js.map +1 -0
- package/dist/commands/ai/audit/index.d.ts +1 -0
- package/dist/commands/ai/audit/index.d.ts.map +1 -0
- package/dist/commands/ai/audit/index.js +5 -7
- package/dist/commands/ai/audit/index.js.map +1 -0
- package/dist/commands/ai/index.d.ts +1 -0
- package/dist/commands/ai/index.d.ts.map +1 -0
- package/dist/commands/ai/index.js +5 -7
- package/dist/commands/ai/index.js.map +1 -0
- package/dist/commands/ai/prompts/list.d.ts +1 -0
- package/dist/commands/ai/prompts/list.d.ts.map +1 -0
- package/dist/commands/ai/prompts/list.js +18 -23
- package/dist/commands/ai/prompts/list.js.map +1 -0
- package/dist/commands/ai/prompts/run.d.ts +6 -5
- package/dist/commands/ai/prompts/run.d.ts.map +1 -0
- package/dist/commands/ai/prompts/run.js +22 -27
- package/dist/commands/ai/prompts/run.js.map +1 -0
- package/dist/commands/bump/index.d.ts +2 -1
- package/dist/commands/bump/index.d.ts.map +1 -0
- package/dist/commands/bump/index.js +24 -52
- package/dist/commands/bump/index.js.map +1 -0
- package/dist/commands/clean/index.d.ts +3 -2
- package/dist/commands/clean/index.d.ts.map +1 -0
- package/dist/commands/clean/index.js +16 -22
- package/dist/commands/clean/index.js.map +1 -0
- package/dist/commands/codegen/index.d.ts +3 -2
- package/dist/commands/codegen/index.d.ts.map +1 -0
- package/dist/commands/codegen/index.js +14 -17
- package/dist/commands/codegen/index.js.map +1 -0
- package/dist/commands/codegen/manifest.d.ts +5 -2
- package/dist/commands/codegen/manifest.d.ts.map +1 -0
- package/dist/commands/codegen/manifest.js +35 -24
- package/dist/commands/codegen/manifest.js.map +1 -0
- package/dist/commands/dbdoc/analyze.d.ts +2 -1
- package/dist/commands/dbdoc/analyze.d.ts.map +1 -0
- package/dist/commands/dbdoc/analyze.js +11 -36
- package/dist/commands/dbdoc/analyze.js.map +1 -0
- package/dist/commands/dbdoc/export-sample-queries.d.ts +2 -1
- package/dist/commands/dbdoc/export-sample-queries.d.ts.map +1 -0
- package/dist/commands/dbdoc/export-sample-queries.js +19 -44
- package/dist/commands/dbdoc/export-sample-queries.js.map +1 -0
- package/dist/commands/dbdoc/export.d.ts +3 -2
- package/dist/commands/dbdoc/export.d.ts.map +1 -0
- package/dist/commands/dbdoc/export.js +20 -45
- package/dist/commands/dbdoc/export.js.map +1 -0
- package/dist/commands/dbdoc/generate-queries.d.ts +4 -3
- package/dist/commands/dbdoc/generate-queries.d.ts.map +1 -0
- package/dist/commands/dbdoc/generate-queries.js +14 -39
- package/dist/commands/dbdoc/generate-queries.js.map +1 -0
- package/dist/commands/dbdoc/index.d.ts +1 -0
- package/dist/commands/dbdoc/index.d.ts.map +1 -0
- package/dist/commands/dbdoc/index.js +5 -7
- package/dist/commands/dbdoc/index.js.map +1 -0
- package/dist/commands/dbdoc/init.d.ts +1 -0
- package/dist/commands/dbdoc/init.d.ts.map +1 -0
- package/dist/commands/dbdoc/init.js +7 -32
- package/dist/commands/dbdoc/init.js.map +1 -0
- package/dist/commands/dbdoc/reset.d.ts +1 -0
- package/dist/commands/dbdoc/reset.d.ts.map +1 -0
- package/dist/commands/dbdoc/reset.js +10 -35
- package/dist/commands/dbdoc/reset.js.map +1 -0
- package/dist/commands/dbdoc/status.d.ts +2 -1
- package/dist/commands/dbdoc/status.d.ts.map +1 -0
- package/dist/commands/dbdoc/status.js +10 -35
- package/dist/commands/dbdoc/status.js.map +1 -0
- package/dist/commands/install/index.d.ts +76 -75
- package/dist/commands/install/index.d.ts.map +1 -0
- package/dist/commands/install/index.js +81 -111
- package/dist/commands/install/index.js.map +1 -0
- package/dist/commands/migrate/index.d.ts +4 -3
- package/dist/commands/migrate/index.d.ts.map +1 -0
- package/dist/commands/migrate/index.js +23 -27
- package/dist/commands/migrate/index.js.map +1 -0
- package/dist/commands/querygen/export.d.ts +1 -0
- package/dist/commands/querygen/export.d.ts.map +1 -0
- package/dist/commands/querygen/export.js +15 -17
- package/dist/commands/querygen/export.js.map +1 -0
- package/dist/commands/querygen/generate.d.ts +8 -7
- package/dist/commands/querygen/generate.d.ts.map +1 -0
- package/dist/commands/querygen/generate.js +28 -30
- package/dist/commands/querygen/generate.js.map +1 -0
- package/dist/commands/querygen/validate.d.ts +1 -0
- package/dist/commands/querygen/validate.d.ts.map +1 -0
- package/dist/commands/querygen/validate.js +15 -17
- package/dist/commands/querygen/validate.js.map +1 -0
- package/dist/commands/sync/file-reset.d.ts +3 -2
- package/dist/commands/sync/file-reset.d.ts.map +1 -0
- package/dist/commands/sync/file-reset.js +36 -64
- package/dist/commands/sync/file-reset.js.map +1 -0
- package/dist/commands/sync/init.d.ts +1 -0
- package/dist/commands/sync/init.d.ts.map +1 -0
- package/dist/commands/sync/init.js +16 -21
- package/dist/commands/sync/init.js.map +1 -0
- package/dist/commands/sync/pull.d.ts +7 -6
- package/dist/commands/sync/pull.d.ts.map +1 -0
- package/dist/commands/sync/pull.js +46 -51
- package/dist/commands/sync/pull.js.map +1 -0
- package/dist/commands/sync/push.d.ts +5 -3
- package/dist/commands/sync/push.d.ts.map +1 -0
- package/dist/commands/sync/push.js +49 -49
- package/dist/commands/sync/push.js.map +1 -0
- package/dist/commands/sync/status.d.ts +4 -3
- package/dist/commands/sync/status.d.ts.map +1 -0
- package/dist/commands/sync/status.js +28 -33
- package/dist/commands/sync/status.js.map +1 -0
- package/dist/commands/sync/validate.d.ts +3 -2
- package/dist/commands/sync/validate.d.ts.map +1 -0
- package/dist/commands/sync/validate.js +31 -59
- package/dist/commands/sync/validate.js.map +1 -0
- package/dist/commands/sync/watch.d.ts +3 -2
- package/dist/commands/sync/watch.d.ts.map +1 -0
- package/dist/commands/sync/watch.js +34 -63
- package/dist/commands/sync/watch.js.map +1 -0
- package/dist/commands/test/compare.d.ts +6 -5
- package/dist/commands/test/compare.d.ts.map +1 -0
- package/dist/commands/test/compare.js +20 -22
- package/dist/commands/test/compare.js.map +1 -0
- package/dist/commands/test/history.d.ts +6 -5
- package/dist/commands/test/history.d.ts.map +1 -0
- package/dist/commands/test/history.js +17 -19
- package/dist/commands/test/history.js.map +1 -0
- package/dist/commands/test/index.d.ts +1 -0
- package/dist/commands/test/index.d.ts.map +1 -0
- package/dist/commands/test/index.js +6 -8
- package/dist/commands/test/index.js.map +1 -0
- package/dist/commands/test/list.d.ts +5 -4
- package/dist/commands/test/list.d.ts.map +1 -0
- package/dist/commands/test/list.js +18 -20
- package/dist/commands/test/list.js.map +1 -0
- package/dist/commands/test/run.d.ts +5 -4
- package/dist/commands/test/run.d.ts.map +1 -0
- package/dist/commands/test/run.js +19 -21
- package/dist/commands/test/run.js.map +1 -0
- package/dist/commands/test/suite.d.ts +4 -3
- package/dist/commands/test/suite.d.ts.map +1 -0
- package/dist/commands/test/suite.js +17 -19
- package/dist/commands/test/suite.js.map +1 -0
- package/dist/commands/test/validate.d.ts +4 -3
- package/dist/commands/test/validate.d.ts.map +1 -0
- package/dist/commands/test/validate.js +19 -21
- package/dist/commands/test/validate.js.map +1 -0
- package/dist/config.d.ts +54 -86
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +55 -61
- package/dist/config.js.map +1 -0
- package/dist/hooks/init.d.ts +1 -0
- package/dist/hooks/init.d.ts.map +1 -0
- package/dist/hooks/init.js +5 -29
- package/dist/hooks/init.js.map +1 -0
- package/dist/hooks/prerun.d.ts +1 -0
- package/dist/hooks/prerun.d.ts.map +1 -0
- package/dist/hooks/prerun.js +4 -8
- package/dist/hooks/prerun.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -0
- package/oclif.manifest.json +96 -74
- package/package.json +32 -30
|
@@ -1,34 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
static description = 'Migrate MemberJunction database to latest version';
|
|
12
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { Flyway } from 'node-flyway';
|
|
3
|
+
import ora from 'ora-classic';
|
|
4
|
+
import { spawnSync } from 'child_process';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import { getValidatedConfig, getFlywayConfig } from '../../config.js';
|
|
8
|
+
export default class Migrate extends Command {
|
|
9
|
+
static { this.description = 'Migrate MemberJunction database to latest version'; }
|
|
10
|
+
static { this.examples = [
|
|
13
11
|
`<%= config.bin %> <%= command.id %>
|
|
14
12
|
`,
|
|
15
13
|
`<%= config.bin %> <%= command.id %> --schema __BCSaaS --dir ./migrations/v1
|
|
16
14
|
`,
|
|
17
15
|
`<%= config.bin %> <%= command.id %> --schema __BCSaaS --tag v1.0.0
|
|
18
16
|
`,
|
|
19
|
-
];
|
|
20
|
-
static flags = {
|
|
21
|
-
verbose:
|
|
22
|
-
tag:
|
|
23
|
-
schema:
|
|
24
|
-
dir:
|
|
25
|
-
};
|
|
17
|
+
]; }
|
|
18
|
+
static { this.flags = {
|
|
19
|
+
verbose: Flags.boolean({ char: 'v', description: 'Enable additional logging' }),
|
|
20
|
+
tag: Flags.string({ char: 't', description: 'Version tag to use for running remote migrations' }),
|
|
21
|
+
schema: Flags.string({ char: 's', description: 'Target schema (overrides coreSchema from config)' }),
|
|
22
|
+
dir: Flags.string({ description: 'Migration source directory (overrides migrationsLocation from config)' }),
|
|
23
|
+
}; }
|
|
26
24
|
async run() {
|
|
27
25
|
const { flags } = await this.parse(Migrate);
|
|
28
|
-
const config =
|
|
26
|
+
const config = getValidatedConfig();
|
|
29
27
|
const targetSchema = flags.schema || config.coreSchema;
|
|
30
|
-
const flywayConfig = await
|
|
31
|
-
const flyway = new
|
|
28
|
+
const flywayConfig = await getFlywayConfig(config, flags.tag, flags.schema, flags.dir);
|
|
29
|
+
const flyway = new Flyway(flywayConfig);
|
|
32
30
|
if (flags.verbose) {
|
|
33
31
|
this.log(`Connecting to ${flywayConfig.url}`);
|
|
34
32
|
this.log(`Database Connection: ${config.dbHost}, ${config.dbDatabase}, User: ${flywayConfig.user}`);
|
|
@@ -38,7 +36,7 @@ class Migrate extends core_1.Command {
|
|
|
38
36
|
if (flags.tag) {
|
|
39
37
|
this.log(`Migrating to ${flags.tag}`);
|
|
40
38
|
}
|
|
41
|
-
const spinner = (
|
|
39
|
+
const spinner = ora('Running migrations...');
|
|
42
40
|
spinner.start();
|
|
43
41
|
const result = await flyway.migrate();
|
|
44
42
|
const isParseError = result.error?.errorCode === 'UNABLE_TO_PARSE_RESPONSE';
|
|
@@ -54,9 +52,6 @@ class Migrate extends core_1.Command {
|
|
|
54
52
|
// Run Flyway CLI directly to determine if migration actually succeeded
|
|
55
53
|
spinner.text = 'Verifying migration status...';
|
|
56
54
|
try {
|
|
57
|
-
const { spawnSync } = require('child_process');
|
|
58
|
-
const path = require('path');
|
|
59
|
-
const os = require('os');
|
|
60
55
|
// Construct Flyway executable path
|
|
61
56
|
const flywayDir = result.additionalDetails.flywayCli.location;
|
|
62
57
|
const flywayExeName = os.platform() === 'win32' ? 'flyway.cmd' : 'flyway';
|
|
@@ -97,6 +92,7 @@ class Migrate extends core_1.Command {
|
|
|
97
92
|
...baseArgs,
|
|
98
93
|
`-baselineVersion=${config.baselineVersion}`,
|
|
99
94
|
`-baselineOnMigrate=${config.baselineOnMigrate}`,
|
|
95
|
+
`-createSchemas=true`,
|
|
100
96
|
`-locations=${absoluteMigrationPaths.join(',')}`,
|
|
101
97
|
'migrate'
|
|
102
98
|
];
|
|
@@ -265,4 +261,4 @@ class Migrate extends core_1.Command {
|
|
|
265
261
|
}
|
|
266
262
|
}
|
|
267
263
|
}
|
|
268
|
-
|
|
264
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/commands/querygen/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAoD;IAEtE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -1,39 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
static description = 'Export queries from database to metadata files';
|
|
8
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { exportCommand } from '@memberjunction/query-gen';
|
|
3
|
+
import { loadMJConfig, initializeProvider } from '@memberjunction/metadata-sync';
|
|
4
|
+
export default class Export extends Command {
|
|
5
|
+
static { this.description = 'Export queries from database to metadata files'; }
|
|
6
|
+
static { this.examples = [
|
|
9
7
|
`<%= config.bin %> <%= command.id %>`,
|
|
10
8
|
`<%= config.bin %> <%= command.id %> --output ./metadata/queries`,
|
|
11
9
|
`<%= config.bin %> <%= command.id %> --verbose`,
|
|
12
|
-
];
|
|
13
|
-
static flags = {
|
|
14
|
-
output:
|
|
10
|
+
]; }
|
|
11
|
+
static { this.flags = {
|
|
12
|
+
output: Flags.string({
|
|
15
13
|
char: 'o',
|
|
16
14
|
description: 'Output directory',
|
|
17
15
|
default: './metadata/queries'
|
|
18
16
|
}),
|
|
19
|
-
verbose:
|
|
20
|
-
};
|
|
17
|
+
verbose: Flags.boolean({ char: 'v', description: 'Verbose output' }),
|
|
18
|
+
}; }
|
|
21
19
|
async run() {
|
|
22
20
|
const { flags } = await this.parse(Export);
|
|
23
21
|
try {
|
|
24
22
|
// Load MJ configuration and initialize provider
|
|
25
|
-
const mjConfig =
|
|
23
|
+
const mjConfig = loadMJConfig();
|
|
26
24
|
if (!mjConfig) {
|
|
27
25
|
this.error('No mj.config.cjs found in current directory or parent directories');
|
|
28
26
|
}
|
|
29
|
-
await
|
|
27
|
+
await initializeProvider(mjConfig);
|
|
30
28
|
// Convert flags to options object for QueryGen
|
|
31
29
|
const options = {
|
|
32
30
|
output: flags.output,
|
|
33
31
|
verbose: flags.verbose
|
|
34
32
|
};
|
|
35
33
|
// Call QueryGen export command
|
|
36
|
-
await
|
|
34
|
+
await exportCommand(options);
|
|
37
35
|
}
|
|
38
36
|
catch (error) {
|
|
39
37
|
// QueryGen commands call process.exit(), so this may not be reached
|
|
@@ -42,4 +40,4 @@ class Export extends core_1.Command {
|
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
|
|
43
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/querygen/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;aAClC,gBAAW,GAAG,gDAAgD,CAAC;aAE/D,aAAQ,GAAG;QAChB,qCAAqC;QACrC,iEAAiE;QACjE,+CAA+C;KAChD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,oBAAoB;SAC9B,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;KACrE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEnC,+CAA+C;YAC/C,MAAM,OAAO,GAA4B;gBACvC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YAEF,+BAA+B;YAC/B,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,gCAAgC;YAChC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -3,18 +3,19 @@ export default class Generate extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
entities: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
7
|
-
'exclude-entities': import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
8
|
-
'exclude-schemas': import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
6
|
+
entities: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'exclude-entities': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'exclude-schemas': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
'max-entities': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
'target-groups': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
'max-refinements': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
'max-fixes': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
-
model: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
14
|
-
vendor: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
15
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
16
|
-
mode: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
13
|
+
model: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
vendor: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
mode: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
17
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
18
|
};
|
|
19
19
|
run(): Promise<void>;
|
|
20
20
|
}
|
|
21
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/querygen/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAwD;IAE1E,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA+CV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC3B"}
|
|
@@ -1,77 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
static description = 'Generate SQL query templates for entities using AI';
|
|
9
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { generateCommand } from '@memberjunction/query-gen';
|
|
3
|
+
import { loadMJConfig, initializeProvider, getSystemUser } from '@memberjunction/metadata-sync';
|
|
4
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
5
|
+
export default class Generate extends Command {
|
|
6
|
+
static { this.description = 'Generate SQL query templates for entities using AI'; }
|
|
7
|
+
static { this.examples = [
|
|
10
8
|
`<%= config.bin %> <%= command.id %>`,
|
|
11
9
|
`<%= config.bin %> <%= command.id %> --entities "Customers,Orders"`,
|
|
12
10
|
`<%= config.bin %> <%= command.id %> --max-entities 5 --verbose`,
|
|
13
11
|
`<%= config.bin %> <%= command.id %> --mode database`,
|
|
14
|
-
];
|
|
15
|
-
static flags = {
|
|
16
|
-
entities:
|
|
12
|
+
]; }
|
|
13
|
+
static { this.flags = {
|
|
14
|
+
entities: Flags.string({
|
|
17
15
|
char: 'e',
|
|
18
16
|
description: 'Specific entities to generate queries for (comma-separated)',
|
|
19
17
|
multiple: false
|
|
20
18
|
}),
|
|
21
|
-
'exclude-entities':
|
|
19
|
+
'exclude-entities': Flags.string({
|
|
22
20
|
char: 'x',
|
|
23
21
|
description: 'Entities to exclude (comma-separated)',
|
|
24
22
|
multiple: false
|
|
25
23
|
}),
|
|
26
|
-
'exclude-schemas':
|
|
24
|
+
'exclude-schemas': Flags.string({
|
|
27
25
|
char: 's',
|
|
28
26
|
description: 'Schemas to exclude (comma-separated)',
|
|
29
27
|
multiple: false
|
|
30
28
|
}),
|
|
31
|
-
'max-entities':
|
|
29
|
+
'max-entities': Flags.integer({
|
|
32
30
|
char: 'm',
|
|
33
31
|
description: 'Max entities per group',
|
|
34
32
|
default: 3
|
|
35
33
|
}),
|
|
36
|
-
'target-groups':
|
|
34
|
+
'target-groups': Flags.integer({
|
|
37
35
|
char: 't',
|
|
38
36
|
description: 'Target number of entity groups to generate',
|
|
39
37
|
default: 75
|
|
40
38
|
}),
|
|
41
|
-
'max-refinements':
|
|
39
|
+
'max-refinements': Flags.integer({
|
|
42
40
|
char: 'r',
|
|
43
41
|
description: 'Max refinement iterations',
|
|
44
42
|
default: 3
|
|
45
43
|
}),
|
|
46
|
-
'max-fixes':
|
|
44
|
+
'max-fixes': Flags.integer({
|
|
47
45
|
char: 'f',
|
|
48
46
|
description: 'Max error-fixing attempts',
|
|
49
47
|
default: 5
|
|
50
48
|
}),
|
|
51
|
-
model:
|
|
52
|
-
vendor:
|
|
53
|
-
output:
|
|
49
|
+
model: Flags.string({ description: 'Preferred AI model' }),
|
|
50
|
+
vendor: Flags.string({ description: 'Preferred AI vendor' }),
|
|
51
|
+
output: Flags.string({
|
|
54
52
|
char: 'o',
|
|
55
53
|
description: 'Output directory'
|
|
56
54
|
}),
|
|
57
|
-
mode:
|
|
55
|
+
mode: Flags.string({
|
|
58
56
|
description: 'Output mode: metadata|database|both',
|
|
59
57
|
options: ['metadata', 'database', 'both']
|
|
60
58
|
}),
|
|
61
|
-
verbose:
|
|
62
|
-
};
|
|
59
|
+
verbose: Flags.boolean({ char: 'v', description: 'Verbose output' }),
|
|
60
|
+
}; }
|
|
63
61
|
async run() {
|
|
64
62
|
const { flags } = await this.parse(Generate);
|
|
65
63
|
try {
|
|
66
64
|
// Load MJ configuration and initialize provider
|
|
67
|
-
const mjConfig =
|
|
65
|
+
const mjConfig = loadMJConfig();
|
|
68
66
|
if (!mjConfig) {
|
|
69
67
|
this.error('No mj.config.cjs found in current directory or parent directories');
|
|
70
68
|
}
|
|
71
|
-
await
|
|
69
|
+
await initializeProvider(mjConfig);
|
|
72
70
|
// Get system user and initialize AI Engine
|
|
73
|
-
const systemUser =
|
|
74
|
-
await
|
|
71
|
+
const systemUser = getSystemUser();
|
|
72
|
+
await AIEngine.Instance.Config(false, systemUser);
|
|
75
73
|
// Convert flags to options object for QueryGen
|
|
76
74
|
const options = {
|
|
77
75
|
entities: flags.entities,
|
|
@@ -88,7 +86,7 @@ class Generate extends core_1.Command {
|
|
|
88
86
|
verbose: flags.verbose
|
|
89
87
|
};
|
|
90
88
|
// Call QueryGen generate command
|
|
91
|
-
await
|
|
89
|
+
await generateCommand(options);
|
|
92
90
|
}
|
|
93
91
|
catch (error) {
|
|
94
92
|
// QueryGen commands call process.exit(), so this may not be reached
|
|
@@ -97,4 +95,4 @@ class Generate extends core_1.Command {
|
|
|
97
95
|
}
|
|
98
96
|
}
|
|
99
97
|
}
|
|
100
|
-
|
|
98
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/querygen/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/querygen/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAuC;IAEzD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -1,39 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
static description = 'Validate existing query templates';
|
|
8
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { validateCommand } from '@memberjunction/query-gen';
|
|
3
|
+
import { loadMJConfig, initializeProvider } from '@memberjunction/metadata-sync';
|
|
4
|
+
export default class Validate extends Command {
|
|
5
|
+
static { this.description = 'Validate existing query templates'; }
|
|
6
|
+
static { this.examples = [
|
|
9
7
|
`<%= config.bin %> <%= command.id %>`,
|
|
10
8
|
`<%= config.bin %> <%= command.id %> --path ./metadata/queries`,
|
|
11
9
|
`<%= config.bin %> <%= command.id %> --verbose`,
|
|
12
|
-
];
|
|
13
|
-
static flags = {
|
|
14
|
-
path:
|
|
10
|
+
]; }
|
|
11
|
+
static { this.flags = {
|
|
12
|
+
path: Flags.string({
|
|
15
13
|
char: 'p',
|
|
16
14
|
description: 'Path to queries metadata file or directory',
|
|
17
15
|
default: './metadata/queries'
|
|
18
16
|
}),
|
|
19
|
-
verbose:
|
|
20
|
-
};
|
|
17
|
+
verbose: Flags.boolean({ char: 'v', description: 'Verbose output' }),
|
|
18
|
+
}; }
|
|
21
19
|
async run() {
|
|
22
20
|
const { flags } = await this.parse(Validate);
|
|
23
21
|
try {
|
|
24
22
|
// Load MJ configuration and initialize provider
|
|
25
|
-
const mjConfig =
|
|
23
|
+
const mjConfig = loadMJConfig();
|
|
26
24
|
if (!mjConfig) {
|
|
27
25
|
this.error('No mj.config.cjs found in current directory or parent directories');
|
|
28
26
|
}
|
|
29
|
-
await
|
|
27
|
+
await initializeProvider(mjConfig);
|
|
30
28
|
// Convert flags to options object for QueryGen
|
|
31
29
|
const options = {
|
|
32
30
|
path: flags.path,
|
|
33
31
|
verbose: flags.verbose
|
|
34
32
|
};
|
|
35
33
|
// Call QueryGen validate command
|
|
36
|
-
await
|
|
34
|
+
await validateCommand(options);
|
|
37
35
|
}
|
|
38
36
|
catch (error) {
|
|
39
37
|
// QueryGen commands call process.exit(), so this may not be reached
|
|
@@ -42,4 +40,4 @@ class Validate extends core_1.Command {
|
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
|
|
43
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/querygen/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;aACpC,gBAAW,GAAG,mCAAmC,CAAC;aAElD,aAAQ,GAAG;QAChB,qCAAqC;QACrC,+DAA+D;QAC/D,+CAA+C;KAChD,CAAC;aAEK,UAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,oBAAoB;SAC9B,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;KACrE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEnC,+CAA+C;YAC/C,MAAM,OAAO,GAA4B;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YAEF,iCAAiC;YACjC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAEjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,gCAAgC;YAChC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -3,8 +3,8 @@ export default class FileReset extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
dir: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
7
|
-
sections: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
6
|
+
dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
sections: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
8
|
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
9
|
'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -12,3 +12,4 @@ export default class FileReset extends Command {
|
|
|
12
12
|
};
|
|
13
13
|
run(): Promise<void>;
|
|
14
14
|
}
|
|
15
|
+
//# sourceMappingURL=file-reset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-reset.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/file-reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAe7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8J3B"}
|
|
@@ -1,69 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const core_1 = require("@oclif/core");
|
|
30
|
-
const prompts_1 = require("@inquirer/prompts");
|
|
31
|
-
const ora_classic_1 = __importDefault(require("ora-classic"));
|
|
32
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
33
|
-
const path = __importStar(require("path"));
|
|
34
|
-
const metadata_sync_1 = require("@memberjunction/metadata-sync");
|
|
35
|
-
class FileReset extends core_1.Command {
|
|
36
|
-
static description = 'Reset file metadata sections';
|
|
37
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { confirm, checkbox } from '@inquirer/prompts';
|
|
3
|
+
import ora from 'ora-classic';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { FileResetService, loadMJConfig, initializeProvider, getSyncEngine, getSystemUser, resetSyncEngine, configManager } from '@memberjunction/metadata-sync';
|
|
7
|
+
export default class FileReset extends Command {
|
|
8
|
+
static { this.description = 'Reset file metadata sections'; }
|
|
9
|
+
static { this.examples = [
|
|
38
10
|
`<%= config.bin %> <%= command.id %>`,
|
|
39
11
|
`<%= config.bin %> <%= command.id %> --dir="ai-prompts"`,
|
|
40
12
|
`<%= config.bin %> <%= command.id %> --sections="dependencies,references"`,
|
|
41
13
|
`<%= config.bin %> <%= command.id %> --all`,
|
|
42
|
-
];
|
|
43
|
-
static flags = {
|
|
44
|
-
dir:
|
|
45
|
-
sections:
|
|
46
|
-
all:
|
|
47
|
-
'dry-run':
|
|
48
|
-
force:
|
|
49
|
-
verbose:
|
|
50
|
-
};
|
|
14
|
+
]; }
|
|
15
|
+
static { this.flags = {
|
|
16
|
+
dir: Flags.string({ description: 'Specific entity directory to reset' }),
|
|
17
|
+
sections: Flags.string({ description: 'Comma-separated list of sections to reset (dependencies,references,related,lookup)' }),
|
|
18
|
+
all: Flags.boolean({ description: 'Reset all metadata sections' }),
|
|
19
|
+
'dry-run': Flags.boolean({ description: 'Show what would be reset without actually resetting' }),
|
|
20
|
+
force: Flags.boolean({ description: 'Skip confirmation prompts' }),
|
|
21
|
+
verbose: Flags.boolean({ char: 'v', description: 'Show detailed output' }),
|
|
22
|
+
}; }
|
|
51
23
|
async run() {
|
|
52
24
|
const { flags } = await this.parse(FileReset);
|
|
53
|
-
const spinner = (
|
|
25
|
+
const spinner = ora();
|
|
54
26
|
try {
|
|
55
27
|
// Load configuration
|
|
56
28
|
spinner.start('Loading configuration');
|
|
57
|
-
const mjConfig =
|
|
29
|
+
const mjConfig = loadMJConfig();
|
|
58
30
|
if (!mjConfig) {
|
|
59
31
|
this.error('No mj.config.cjs found in current directory or parent directories');
|
|
60
32
|
}
|
|
61
33
|
// Stop spinner before provider initialization
|
|
62
34
|
spinner.stop();
|
|
63
35
|
// Initialize data provider
|
|
64
|
-
await
|
|
36
|
+
await initializeProvider(mjConfig);
|
|
65
37
|
// Initialize sync engine
|
|
66
|
-
const syncEngine = await
|
|
38
|
+
const syncEngine = await getSyncEngine(getSystemUser());
|
|
67
39
|
// Show success after initialization
|
|
68
40
|
if (flags.verbose) {
|
|
69
41
|
spinner.succeed('Configuration and metadata loaded');
|
|
@@ -87,7 +59,7 @@ class FileReset extends core_1.Command {
|
|
|
87
59
|
}
|
|
88
60
|
else {
|
|
89
61
|
// Interactive selection
|
|
90
|
-
sectionsToReset = await
|
|
62
|
+
sectionsToReset = await checkbox({
|
|
91
63
|
message: 'Select sections to reset:',
|
|
92
64
|
choices: [
|
|
93
65
|
{ name: 'Primary Key metadata', value: 'primaryKey', checked: false },
|
|
@@ -95,32 +67,32 @@ class FileReset extends core_1.Command {
|
|
|
95
67
|
]
|
|
96
68
|
});
|
|
97
69
|
if (sectionsToReset.length === 0) {
|
|
98
|
-
this.log(
|
|
70
|
+
this.log(chalk.yellow('No sections selected. Exiting.'));
|
|
99
71
|
return;
|
|
100
72
|
}
|
|
101
73
|
}
|
|
102
74
|
// Determine target directory
|
|
103
75
|
const targetDir = flags.dir
|
|
104
|
-
? path.resolve(
|
|
105
|
-
:
|
|
76
|
+
? path.resolve(configManager.getOriginalCwd(), flags.dir)
|
|
77
|
+
: configManager.getOriginalCwd();
|
|
106
78
|
// Show what will be reset
|
|
107
|
-
this.log(
|
|
79
|
+
this.log(chalk.bold('\nFile Reset Summary:'));
|
|
108
80
|
this.log(`Target directory: ${path.relative(process.cwd(), targetDir)}`);
|
|
109
81
|
this.log(`Sections to reset: ${sectionsToReset.join(', ')}`);
|
|
110
82
|
this.log(`Mode: ${flags['dry-run'] ? 'Dry run (no changes will be made)' : 'Live (files will be modified)'}`);
|
|
111
83
|
// Confirm unless forced or dry-run
|
|
112
84
|
if (!flags.force && !flags['dry-run']) {
|
|
113
|
-
const shouldContinue = await
|
|
85
|
+
const shouldContinue = await confirm({
|
|
114
86
|
message: 'This will reset the selected metadata sections. Continue?',
|
|
115
87
|
default: false
|
|
116
88
|
});
|
|
117
89
|
if (!shouldContinue) {
|
|
118
|
-
this.log(
|
|
90
|
+
this.log(chalk.yellow('\nFile reset cancelled.'));
|
|
119
91
|
return;
|
|
120
92
|
}
|
|
121
93
|
}
|
|
122
94
|
// Create file reset service and execute
|
|
123
|
-
const fileResetService = new
|
|
95
|
+
const fileResetService = new FileResetService();
|
|
124
96
|
spinner.start('Resetting file metadata...');
|
|
125
97
|
// Map selected sections to service options
|
|
126
98
|
let serviceSection = 'both';
|
|
@@ -153,17 +125,17 @@ class FileReset extends core_1.Command {
|
|
|
153
125
|
// Show summary
|
|
154
126
|
if (result.modifiedFiles > 0) {
|
|
155
127
|
if (flags['dry-run']) {
|
|
156
|
-
this.log(
|
|
128
|
+
this.log(chalk.blue(`\nš Dry run complete. ${result.modifiedFiles} file(s) would be reset.`));
|
|
157
129
|
}
|
|
158
130
|
else {
|
|
159
|
-
this.log(
|
|
131
|
+
this.log(chalk.green(`\nā
Successfully reset ${result.modifiedFiles} file(s).`));
|
|
160
132
|
if (result.backupsCreated > 0) {
|
|
161
|
-
this.log(
|
|
133
|
+
this.log(chalk.gray(` š Created ${result.backupsCreated} backup(s).`));
|
|
162
134
|
}
|
|
163
135
|
}
|
|
164
136
|
}
|
|
165
137
|
else {
|
|
166
|
-
this.log(
|
|
138
|
+
this.log(chalk.yellow('\nā ļø No files needed resetting.'));
|
|
167
139
|
}
|
|
168
140
|
if (flags.verbose) {
|
|
169
141
|
this.log(`\nš Statistics:`);
|
|
@@ -188,8 +160,8 @@ class FileReset extends core_1.Command {
|
|
|
188
160
|
}
|
|
189
161
|
finally {
|
|
190
162
|
// Reset singletons
|
|
191
|
-
|
|
163
|
+
resetSyncEngine();
|
|
192
164
|
}
|
|
193
165
|
}
|
|
194
166
|
}
|
|
195
|
-
|
|
167
|
+
//# sourceMappingURL=file-reset.js.map
|