@vendure/cli 3.3.6-master-202507050232 → 3.4.0-minor-202506250934
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/dist/cli.js +3 -49
- package/dist/cli.js.map +1 -1
- package/dist/commands/add/add-operations.d.ts +24 -0
- package/dist/commands/add/add-operations.js +164 -0
- package/dist/commands/add/add-operations.js.map +1 -0
- package/dist/commands/add/add.d.ts +4 -1
- package/dist/commands/add/add.js +48 -7
- package/dist/commands/add/add.js.map +1 -1
- package/dist/commands/add/api-extension/add-api-extension.d.ts +6 -0
- package/dist/commands/add/api-extension/add-api-extension.js +90 -18
- package/dist/commands/add/api-extension/add-api-extension.js.map +1 -1
- package/dist/commands/add/codegen/add-codegen.d.ts +6 -0
- package/dist/commands/add/codegen/add-codegen.js +12 -5
- package/dist/commands/add/codegen/add-codegen.js.map +1 -1
- package/dist/commands/add/entity/add-entity.d.ts +5 -0
- package/dist/commands/add/entity/add-entity.js +52 -18
- package/dist/commands/add/entity/add-entity.js.map +1 -1
- package/dist/commands/add/job-queue/add-job-queue.d.ts +5 -0
- package/dist/commands/add/job-queue/add-job-queue.js +65 -14
- package/dist/commands/add/job-queue/add-job-queue.js.map +1 -1
- package/dist/commands/add/plugin/create-new-plugin.d.ts +2 -2
- package/dist/commands/add/plugin/create-new-plugin.js +51 -29
- package/dist/commands/add/plugin/create-new-plugin.js.map +1 -1
- package/dist/commands/add/plugin/types.d.ts +1 -0
- package/dist/commands/add/service/add-service.js +77 -41
- package/dist/commands/add/service/add-service.js.map +1 -1
- package/dist/commands/add/ui-extensions/add-ui-extensions.d.ts +3 -0
- package/dist/commands/add/ui-extensions/add-ui-extensions.js +19 -3
- package/dist/commands/add/ui-extensions/add-ui-extensions.js.map +1 -1
- package/dist/commands/command-declarations.d.ts +2 -0
- package/dist/commands/command-declarations.js +194 -0
- package/dist/commands/command-declarations.js.map +1 -0
- package/dist/commands/migrate/generate-migration/generate-migration.js +31 -24
- package/dist/commands/migrate/generate-migration/generate-migration.js.map +1 -1
- package/dist/commands/migrate/migrate.d.ts +7 -1
- package/dist/commands/migrate/migrate.js +104 -14
- package/dist/commands/migrate/migrate.js.map +1 -1
- package/dist/commands/migrate/migration-operations.d.ts +13 -0
- package/dist/commands/migrate/migration-operations.js +125 -0
- package/dist/commands/migrate/migration-operations.js.map +1 -0
- package/dist/shared/cli-command-definition.d.ts +17 -0
- package/dist/shared/cli-command-definition.js +3 -0
- package/dist/shared/cli-command-definition.js.map +1 -0
- package/dist/shared/command-registry.d.ts +3 -0
- package/dist/shared/command-registry.js +37 -0
- package/dist/shared/command-registry.js.map +1 -0
- package/dist/shared/plugin-resolution.d.ts +12 -0
- package/dist/shared/plugin-resolution.js +26 -0
- package/dist/shared/plugin-resolution.js.map +1 -0
- package/dist/shared/project-validation.d.ts +2 -0
- package/dist/shared/project-validation.js +68 -0
- package/dist/shared/project-validation.js.map +1 -0
- package/dist/shared/shared-prompts.d.ts +2 -0
- package/dist/shared/shared-prompts.js +73 -59
- package/dist/shared/shared-prompts.js.map +1 -1
- package/dist/shared/vendure-config-ref.d.ts +2 -3
- package/dist/shared/vendure-config-ref.js +28 -28
- package/dist/shared/vendure-config-ref.js.map +1 -1
- package/dist/utilities/ast-utils.d.ts +1 -1
- package/dist/utilities/ast-utils.js +6 -17
- package/dist/utilities/ast-utils.js.map +1 -1
- package/dist/utilities/utils.d.ts +1 -0
- package/dist/utilities/utils.js +32 -0
- package/dist/utilities/utils.js.map +1 -1
- package/package.json +6 -5
|
@@ -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
|
|
10
|
-
const
|
|
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,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
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
|
|
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
|
|
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":"
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command-definition.js","sourceRoot":"","sources":["../../src/shared/cli-command-definition.ts"],"names":[],"mappings":""}
|
|
@@ -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,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>;
|