@vendure/cli 3.3.8 → 3.4.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.
Files changed (65) hide show
  1. package/dist/cli.js +3 -49
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/add/add-operations.d.ts +24 -0
  4. package/dist/commands/add/add-operations.js +179 -0
  5. package/dist/commands/add/add-operations.js.map +1 -0
  6. package/dist/commands/add/add.d.ts +4 -1
  7. package/dist/commands/add/add.js +48 -7
  8. package/dist/commands/add/add.js.map +1 -1
  9. package/dist/commands/add/api-extension/add-api-extension.d.ts +6 -0
  10. package/dist/commands/add/api-extension/add-api-extension.js +90 -18
  11. package/dist/commands/add/api-extension/add-api-extension.js.map +1 -1
  12. package/dist/commands/add/codegen/add-codegen.d.ts +6 -0
  13. package/dist/commands/add/codegen/add-codegen.js +12 -5
  14. package/dist/commands/add/codegen/add-codegen.js.map +1 -1
  15. package/dist/commands/add/entity/add-entity.d.ts +5 -0
  16. package/dist/commands/add/entity/add-entity.js +52 -18
  17. package/dist/commands/add/entity/add-entity.js.map +1 -1
  18. package/dist/commands/add/job-queue/add-job-queue.d.ts +5 -0
  19. package/dist/commands/add/job-queue/add-job-queue.js +65 -14
  20. package/dist/commands/add/job-queue/add-job-queue.js.map +1 -1
  21. package/dist/commands/add/plugin/create-new-plugin.d.ts +2 -2
  22. package/dist/commands/add/plugin/create-new-plugin.js +51 -29
  23. package/dist/commands/add/plugin/create-new-plugin.js.map +1 -1
  24. package/dist/commands/add/plugin/types.d.ts +1 -0
  25. package/dist/commands/add/service/add-service.js +76 -39
  26. package/dist/commands/add/service/add-service.js.map +1 -1
  27. package/dist/commands/add/ui-extensions/add-ui-extensions.d.ts +3 -0
  28. package/dist/commands/add/ui-extensions/add-ui-extensions.js +19 -3
  29. package/dist/commands/add/ui-extensions/add-ui-extensions.js.map +1 -1
  30. package/dist/commands/command-declarations.d.ts +2 -0
  31. package/dist/commands/command-declarations.js +194 -0
  32. package/dist/commands/command-declarations.js.map +1 -0
  33. package/dist/commands/migrate/generate-migration/generate-migration.js +31 -24
  34. package/dist/commands/migrate/generate-migration/generate-migration.js.map +1 -1
  35. package/dist/commands/migrate/migrate.d.ts +7 -1
  36. package/dist/commands/migrate/migrate.js +104 -14
  37. package/dist/commands/migrate/migrate.js.map +1 -1
  38. package/dist/commands/migrate/migration-operations.d.ts +13 -0
  39. package/dist/commands/migrate/migration-operations.js +125 -0
  40. package/dist/commands/migrate/migration-operations.js.map +1 -0
  41. package/dist/shared/cli-command-definition.d.ts +17 -0
  42. package/dist/shared/cli-command-definition.js +3 -0
  43. package/dist/shared/cli-command-definition.js.map +1 -0
  44. package/dist/shared/command-registry.d.ts +3 -0
  45. package/dist/shared/command-registry.js +37 -0
  46. package/dist/shared/command-registry.js.map +1 -0
  47. package/dist/shared/plugin-resolution.d.ts +12 -0
  48. package/dist/shared/plugin-resolution.js +26 -0
  49. package/dist/shared/plugin-resolution.js.map +1 -0
  50. package/dist/shared/project-validation.d.ts +2 -0
  51. package/dist/shared/project-validation.js +68 -0
  52. package/dist/shared/project-validation.js.map +1 -0
  53. package/dist/shared/shared-prompts.d.ts +2 -0
  54. package/dist/shared/shared-prompts.js +73 -59
  55. package/dist/shared/shared-prompts.js.map +1 -1
  56. package/dist/shared/vendure-config-ref.d.ts +2 -3
  57. package/dist/shared/vendure-config-ref.js +28 -28
  58. package/dist/shared/vendure-config-ref.js.map +1 -1
  59. package/dist/utilities/ast-utils.d.ts +1 -1
  60. package/dist/utilities/ast-utils.js +6 -17
  61. package/dist/utilities/ast-utils.js.map +1 -1
  62. package/dist/utilities/utils.d.ts +1 -0
  63. package/dist/utilities/utils.js +32 -0
  64. package/dist/utilities/utils.js.map +1 -1
  65. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"generate-migration.js","sourceRoot":"","sources":["../../../../src/commands/migrate/generate-migration/generate-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-migration.js","sourceRoot":"","sources":["../../../../src/commands/migrate/generate-migration/generate-migration.ts"],"names":[],"mappings":"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"}
@@ -1 +1,7 @@
1
- export declare function migrateCommand(): Promise<void>;
1
+ export interface MigrateOptions {
2
+ generate?: string;
3
+ run?: boolean;
4
+ revert?: boolean;
5
+ outputDir?: string;
6
+ }
7
+ export declare function migrateCommand(options?: MigrateOptions): Promise<void>;
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,20 +39,74 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.migrateCommand = migrateCommand;
7
40
  const prompts_1 = require("@clack/prompts");
8
41
  const picocolors_1 = __importDefault(require("picocolors"));
9
- const generate_migration_1 = require("./generate-migration/generate-migration");
10
- const revert_migration_1 = require("./revert-migration/revert-migration");
11
- const run_migration_1 = require("./run-migration/run-migration");
42
+ const utils_1 = require("../../utilities/utils");
43
+ const migration_operations_1 = require("./migration-operations");
12
44
  const cancelledMessage = 'Migrate cancelled.';
13
- async function migrateCommand() {
45
+ async function migrateCommand(options) {
46
+ if ((options === null || options === void 0 ? void 0 : options.generate) || (options === null || options === void 0 ? void 0 : options.run) || (options === null || options === void 0 ? void 0 : options.revert)) {
47
+ await handleNonInteractiveMode(options);
48
+ return;
49
+ }
50
+ await handleInteractiveMode();
51
+ }
52
+ async function handleNonInteractiveMode(options) {
53
+ try {
54
+ process.env.VENDURE_RUNNING_IN_CLI = 'true';
55
+ if (options.generate) {
56
+ const result = await (0, migration_operations_1.generateMigrationOperation)({
57
+ name: options.generate,
58
+ outputDir: options.outputDir,
59
+ });
60
+ if (result.success) {
61
+ prompts_1.log.success(result.message);
62
+ }
63
+ else {
64
+ prompts_1.log.error(result.message);
65
+ process.exit(1);
66
+ }
67
+ }
68
+ else if (options.run) {
69
+ const result = await (0, migration_operations_1.runMigrationsOperation)();
70
+ if (result.success) {
71
+ prompts_1.log.success(result.message);
72
+ }
73
+ else {
74
+ prompts_1.log.error(result.message);
75
+ process.exit(1);
76
+ }
77
+ }
78
+ else if (options.revert) {
79
+ const result = await (0, migration_operations_1.revertMigrationOperation)();
80
+ if (result.success) {
81
+ prompts_1.log.success(result.message);
82
+ }
83
+ else {
84
+ prompts_1.log.error(result.message);
85
+ process.exit(1);
86
+ }
87
+ }
88
+ process.env.VENDURE_RUNNING_IN_CLI = undefined;
89
+ }
90
+ catch (e) {
91
+ prompts_1.log.error(e.message);
92
+ if (e.stack) {
93
+ prompts_1.log.error(e.stack);
94
+ }
95
+ process.exit(1);
96
+ }
97
+ }
98
+ async function handleInteractiveMode() {
14
99
  console.log(`\n`);
15
100
  (0, prompts_1.intro)(picocolors_1.default.blue('🛠️️ Vendure migrations'));
16
- const action = await (0, prompts_1.select)({
17
- message: 'What would you like to do?',
18
- options: [
19
- { value: 'generate', label: 'Generate a new migration' },
20
- { value: 'run', label: 'Run pending migrations' },
21
- { value: 'revert', label: 'Revert the last migration' },
22
- ],
101
+ const action = await (0, utils_1.withInteractiveTimeout)(async () => {
102
+ return await (0, prompts_1.select)({
103
+ message: 'What would you like to do?',
104
+ options: [
105
+ { value: 'generate', label: 'Generate a new migration' },
106
+ { value: 'run', label: 'Run pending migrations' },
107
+ { value: 'revert', label: 'Revert the last migration' },
108
+ ],
109
+ });
23
110
  });
24
111
  if ((0, prompts_1.isCancel)(action)) {
25
112
  (0, prompts_1.cancel)(cancelledMessage);
@@ -28,13 +115,16 @@ async function migrateCommand() {
28
115
  try {
29
116
  process.env.VENDURE_RUNNING_IN_CLI = 'true';
30
117
  if (action === 'generate') {
31
- await generate_migration_1.generateMigrationCommand.run();
118
+ const { generateMigrationCommand } = await Promise.resolve().then(() => __importStar(require('./generate-migration/generate-migration')));
119
+ await generateMigrationCommand.run();
32
120
  }
33
121
  if (action === 'run') {
34
- await run_migration_1.runMigrationCommand.run();
122
+ const { runMigrationCommand } = await Promise.resolve().then(() => __importStar(require('./run-migration/run-migration')));
123
+ await runMigrationCommand.run();
35
124
  }
36
125
  if (action === 'revert') {
37
- await revert_migration_1.revertMigrationCommand.run();
126
+ const { revertMigrationCommand } = await Promise.resolve().then(() => __importStar(require('./revert-migration/revert-migration')));
127
+ await revertMigrationCommand.run();
38
128
  }
39
129
  (0, prompts_1.outro)('✅ Done!');
40
130
  process.env.VENDURE_RUNNING_IN_CLI = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/migrate/migrate.ts"],"names":[],"mappings":";;;;;AAcA,wCAmCC;AAjDD,4CAA6E;AAC7E,4DAA4B;AAE5B,gFAAmF;AACnF,0EAA6E;AAC7E,iEAAoE;AAEpE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAOvC,KAAK,UAAU,cAAc;IAEhC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,IAAA,eAAK,EAAC,oBAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC;QACxB,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE;YACxD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE;YACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;SAC1D;KACJ,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;QACnB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC;QAC5C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,6CAAwB,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,mCAAmB,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,yCAAsB,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QACD,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,SAAS,CAAC;IACnD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/migrate/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface MigrationOptions {
2
+ name?: string;
3
+ outputDir?: string;
4
+ }
5
+ export interface MigrationResult {
6
+ success: boolean;
7
+ message: string;
8
+ migrationName?: string;
9
+ migrationsRan?: string[];
10
+ }
11
+ export declare function generateMigrationOperation(options?: MigrationOptions): Promise<MigrationResult>;
12
+ export declare function runMigrationsOperation(): Promise<MigrationResult>;
13
+ export declare function revertMigrationOperation(): Promise<MigrationResult>;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateMigrationOperation = generateMigrationOperation;
7
+ exports.runMigrationsOperation = runMigrationsOperation;
8
+ exports.revertMigrationOperation = revertMigrationOperation;
9
+ const prompts_1 = require("@clack/prompts");
10
+ const core_1 = require("@vendure/core");
11
+ const path_1 = __importDefault(require("path"));
12
+ const project_validation_1 = require("../../shared/project-validation");
13
+ const shared_prompts_1 = require("../../shared/shared-prompts");
14
+ const vendure_config_ref_1 = require("../../shared/vendure-config-ref");
15
+ const load_vendure_config_file_1 = require("./load-vendure-config-file");
16
+ async function generateMigrationOperation(options = {}) {
17
+ try {
18
+ (0, project_validation_1.validateVendureProjectDirectory)();
19
+ const { project, tsConfigPath } = await (0, shared_prompts_1.analyzeProject)({ cancelledMessage: '' });
20
+ const vendureConfig = new vendure_config_ref_1.VendureConfigRef(project);
21
+ prompts_1.log.info('Using VendureConfig from ' + vendureConfig.getPathRelativeToProjectRoot());
22
+ const name = options.name;
23
+ if (!name) {
24
+ return {
25
+ success: false,
26
+ message: 'Migration name is required',
27
+ };
28
+ }
29
+ if (!/^[a-zA-Z][a-zA-Z-_0-9]+$/.test(name)) {
30
+ return {
31
+ success: false,
32
+ message: 'The migration name must contain only letters, numbers, underscores and dashes',
33
+ };
34
+ }
35
+ const config = await (0, load_vendure_config_file_1.loadVendureConfigFile)(vendureConfig, tsConfigPath);
36
+ const migrationsDirs = getMigrationsDir(vendureConfig, config);
37
+ const migrationDir = options.outputDir || migrationsDirs[0];
38
+ prompts_1.log.info('Generating migration...');
39
+ const migrationName = await (0, core_1.generateMigration)(config, { name, outputDir: migrationDir });
40
+ const report = typeof migrationName === 'string'
41
+ ? `New migration generated: ${migrationName}`
42
+ : 'No changes in database schema were found, so no migration was generated';
43
+ return {
44
+ success: true,
45
+ message: report,
46
+ migrationName: typeof migrationName === 'string' ? migrationName : undefined,
47
+ };
48
+ }
49
+ catch (error) {
50
+ return {
51
+ success: false,
52
+ message: error.message || 'Failed to generate migration',
53
+ };
54
+ }
55
+ }
56
+ async function runMigrationsOperation() {
57
+ try {
58
+ (0, project_validation_1.validateVendureProjectDirectory)();
59
+ const { project } = await (0, shared_prompts_1.analyzeProject)({ cancelledMessage: '' });
60
+ const vendureConfig = new vendure_config_ref_1.VendureConfigRef(project);
61
+ prompts_1.log.info('Using VendureConfig from ' + vendureConfig.getPathRelativeToProjectRoot());
62
+ const config = await (0, load_vendure_config_file_1.loadVendureConfigFile)(vendureConfig);
63
+ prompts_1.log.info('Running migrations...');
64
+ const migrationsRan = await (0, core_1.runMigrations)(config);
65
+ const report = migrationsRan.length
66
+ ? `Successfully ran ${migrationsRan.length} migrations`
67
+ : 'No pending migrations found';
68
+ return {
69
+ success: true,
70
+ message: report,
71
+ migrationsRan,
72
+ };
73
+ }
74
+ catch (error) {
75
+ return {
76
+ success: false,
77
+ message: error.message || 'Failed to run migrations',
78
+ };
79
+ }
80
+ }
81
+ async function revertMigrationOperation() {
82
+ try {
83
+ (0, project_validation_1.validateVendureProjectDirectory)();
84
+ const { project } = await (0, shared_prompts_1.analyzeProject)({ cancelledMessage: '' });
85
+ const vendureConfig = new vendure_config_ref_1.VendureConfigRef(project);
86
+ prompts_1.log.info('Using VendureConfig from ' + vendureConfig.getPathRelativeToProjectRoot());
87
+ const config = await (0, load_vendure_config_file_1.loadVendureConfigFile)(vendureConfig);
88
+ prompts_1.log.info('Reverting last migration...');
89
+ await (0, core_1.revertLastMigration)(config);
90
+ return {
91
+ success: true,
92
+ message: 'Successfully reverted last migration',
93
+ };
94
+ }
95
+ catch (error) {
96
+ return {
97
+ success: false,
98
+ message: error.message || 'Failed to revert migration',
99
+ };
100
+ }
101
+ }
102
+ function getMigrationsDir(vendureConfigRef, config) {
103
+ const options = [];
104
+ if (Array.isArray(config.dbConnectionOptions.migrations) &&
105
+ config.dbConnectionOptions.migrations.length) {
106
+ const firstEntry = config.dbConnectionOptions.migrations[0];
107
+ if (typeof firstEntry === 'string') {
108
+ options.push(path_1.default.dirname(firstEntry));
109
+ }
110
+ }
111
+ const migrationFile = vendureConfigRef.sourceFile
112
+ .getProject()
113
+ .getSourceFiles()
114
+ .find(sf => {
115
+ return sf
116
+ .getClasses()
117
+ .find(c => c.getImplements().find(i => i.getText() === 'MigrationInterface'));
118
+ });
119
+ if (migrationFile) {
120
+ options.push(migrationFile.getDirectory().getPath());
121
+ }
122
+ options.push(path_1.default.join(vendureConfigRef.sourceFile.getDirectory().getPath(), '../migrations'));
123
+ return options.map(p => path_1.default.normalize(p));
124
+ }
125
+ //# sourceMappingURL=migration-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-operations.js","sourceRoot":"","sources":["../../../src/commands/migrate/migration-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface CliCommandOption {
2
+ long: string;
3
+ short?: string;
4
+ description: string;
5
+ required?: boolean;
6
+ defaultValue?: any;
7
+ subOptions?: CliCommandOption[];
8
+ }
9
+ export interface CliCommandDefinition {
10
+ name: string;
11
+ description: string;
12
+ options?: CliCommandOption[];
13
+ action: (options?: Record<string, any>) => Promise<void>;
14
+ }
15
+ export interface CliCommandConfig {
16
+ commands: CliCommandDefinition[];
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cli-command-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-command-definition.js","sourceRoot":"","sources":["../../src/shared/cli-command-definition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ import { CliCommandDefinition } from './cli-command-definition';
3
+ export declare function registerCommands(program: Command, commands: CliCommandDefinition[]): void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCommands = registerCommands;
4
+ function registerCommands(program, commands) {
5
+ commands.forEach(commandDef => {
6
+ const command = program
7
+ .command(commandDef.name)
8
+ .description(commandDef.description)
9
+ .action(async (options) => {
10
+ await commandDef.action(options);
11
+ });
12
+ if (commandDef.options) {
13
+ commandDef.options.forEach(option => {
14
+ addOption(command, option);
15
+ if (option.subOptions) {
16
+ option.subOptions.forEach(subOption => {
17
+ const indentedSubOption = Object.assign(Object.assign({}, subOption), { description: ` └─ ${subOption.description}` });
18
+ addOption(command, indentedSubOption);
19
+ });
20
+ }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ function addOption(command, option) {
26
+ const parts = [];
27
+ if (option.short) {
28
+ parts.push(option.short);
29
+ }
30
+ parts.push(option.long);
31
+ let optionString = parts.join(', ');
32
+ if (!option.required) {
33
+ optionString = optionString.replace(/<([^>]+)>/g, '[$1]');
34
+ }
35
+ command.option(optionString, option.description, option.defaultValue);
36
+ }
37
+ //# sourceMappingURL=command-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../../src/shared/command-registry.ts"],"names":[],"mappings":";;AAIA,4CA4BC;AA5BD,SAAgB,gBAAgB,CAAC,OAAgB,EAAE,QAAgC;IAC/E,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC1B,MAAM,OAAO,GAAG,OAAO;aAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;aACxB,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;aACnC,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpB,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAGP,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAG3B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBAElC,MAAM,iBAAiB,mCAChB,SAAS,KACZ,WAAW,EAAE,QAAQ,SAAS,CAAC,WAAW,EAAE,GAC/C,CAAC;wBACF,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB,EAAE,MAAwB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAGpC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnB,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Project } from 'ts-morph';
2
+ import { VendurePluginRef } from './vendure-plugin-ref';
3
+ export interface PluginResolutionOptions {
4
+ providedPlugin?: VendurePluginRef;
5
+ pluginName?: string;
6
+ isNonInteractive?: boolean;
7
+ }
8
+ export interface PluginResolutionResult {
9
+ plugin: VendurePluginRef | undefined;
10
+ shouldPromptForSelection: boolean;
11
+ }
12
+ export declare function resolvePluginFromOptions(project: Project, options: PluginResolutionOptions): PluginResolutionResult;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvePluginFromOptions = resolvePluginFromOptions;
4
+ const ast_utils_1 = require("../utilities/ast-utils");
5
+ const vendure_plugin_ref_1 = require("./vendure-plugin-ref");
6
+ function resolvePluginFromOptions(project, options) {
7
+ let plugin = options.providedPlugin;
8
+ if (!plugin && options.pluginName) {
9
+ const pluginClasses = (0, ast_utils_1.getPluginClasses)(project);
10
+ const foundPlugin = pluginClasses.find(p => p.getName() === options.pluginName);
11
+ if (!foundPlugin) {
12
+ const availablePlugins = pluginClasses.map(p => p.getName()).filter(Boolean);
13
+ throw new Error(`Plugin "${options.pluginName}" not found. Available plugins:\n` +
14
+ availablePlugins.map(name => ` - ${name}`).join('\n'));
15
+ }
16
+ plugin = new vendure_plugin_ref_1.VendurePluginRef(foundPlugin);
17
+ }
18
+ if (options.isNonInteractive && !plugin) {
19
+ throw new Error('Plugin must be specified when running in non-interactive mode');
20
+ }
21
+ return {
22
+ plugin,
23
+ shouldPromptForSelection: !plugin && !options.isNonInteractive,
24
+ };
25
+ }
26
+ //# sourceMappingURL=plugin-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-resolution.js","sourceRoot":"","sources":["../../src/shared/plugin-resolution.ts"],"names":[],"mappings":";;AAqBA,4DA6BC;AAhDD,sDAA0D;AAE1D,6DAAwD;AAiBxD,SAAgB,wBAAwB,CACpC,OAAgB,EAChB,OAAgC;IAEhC,IAAI,MAAM,GAAiC,OAAO,CAAC,cAAc,CAAC;IAElE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhF,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,IAAI,KAAK,CACX,WAAW,OAAO,CAAC,UAAU,mCAAmC;gBAC5D,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;QACN,CAAC;QAED,MAAM,GAAG,IAAI,qCAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACH,MAAM;QACN,wBAAwB,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB;KACjE,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isVendureProjectDirectory(): boolean;
2
+ export declare function validateVendureProjectDirectory(): void;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.isVendureProjectDirectory = isVendureProjectDirectory;
40
+ exports.validateVendureProjectDirectory = validateVendureProjectDirectory;
41
+ const fs = __importStar(require("fs-extra"));
42
+ const path_1 = __importDefault(require("path"));
43
+ function isVendureProjectDirectory() {
44
+ const cwd = process.cwd();
45
+ const hasPackageJson = fs.existsSync(path_1.default.join(cwd, 'package.json'));
46
+ const hasVendureConfig = fs.existsSync(path_1.default.join(cwd, 'vendure-config.ts')) ||
47
+ fs.existsSync(path_1.default.join(cwd, 'vendure-config.js')) ||
48
+ fs.existsSync(path_1.default.join(cwd, 'src/vendure-config.ts')) ||
49
+ fs.existsSync(path_1.default.join(cwd, 'src/vendure-config.js'));
50
+ if (hasPackageJson) {
51
+ try {
52
+ const packageJson = JSON.parse(fs.readFileSync(path_1.default.join(cwd, 'package.json'), 'utf-8'));
53
+ const dependencies = Object.assign(Object.assign({}, packageJson.dependencies), packageJson.devDependencies);
54
+ const hasVendureDeps = Object.keys(dependencies).some(dep => dep.includes('@vendure/') || dep === 'vendure');
55
+ return hasVendureDeps && hasVendureConfig;
56
+ }
57
+ catch (_a) {
58
+ return false;
59
+ }
60
+ }
61
+ return false;
62
+ }
63
+ function validateVendureProjectDirectory() {
64
+ if (!isVendureProjectDirectory()) {
65
+ throw new Error('Error: Not in a Vendure project directory. Please run this command from your Vendure project root.');
66
+ }
67
+ }
68
+ //# sourceMappingURL=project-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-validation.js","sourceRoot":"","sources":["../../src/shared/project-validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8DAyBC;AAED,0EAMC;AAxCD,6CAA+B;AAC/B,gDAAwB;AAMxB,SAAgB,yBAAyB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAClB,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACtD,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAE3D,IAAI,cAAc,EAAE,CAAC;QACjB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACzF,MAAM,YAAY,mCAAQ,WAAW,CAAC,YAAY,GAAK,WAAW,CAAC,eAAe,CAAE,CAAC;YACrF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACjD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,SAAS,CACxD,CAAC;YAEF,OAAO,cAAc,IAAI,gBAAgB,CAAC;QAC9C,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,+BAA+B;IAC3C,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACX,oGAAoG,CACvG,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -5,9 +5,11 @@ import { VendurePluginRef } from './vendure-plugin-ref';
5
5
  export declare function analyzeProject(options: {
6
6
  providedVendurePlugin?: VendurePluginRef;
7
7
  cancelledMessage?: string;
8
+ config?: string;
8
9
  }): Promise<{
9
10
  project: Project;
10
11
  tsConfigPath: string | undefined;
12
+ config: string | undefined;
11
13
  }>;
12
14
  export declare function selectPlugin(project: Project, cancelledMessage: string): Promise<VendurePluginRef>;
13
15
  export declare function selectEntity(plugin: VendurePluginRef): Promise<EntityRef>;