@vendure/cli 2.2.0-next.2 → 2.2.0-next.4
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 +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/add/add.d.ts +2 -0
- package/dist/commands/add/add.js +39 -0
- package/dist/commands/add/add.js.map +1 -0
- package/dist/commands/add/entity/add-entity.d.ts +7 -0
- package/dist/commands/add/entity/add-entity.js +39 -0
- package/dist/commands/add/entity/add-entity.js.map +1 -0
- package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.d.ts +2 -0
- package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js +41 -0
- package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js.map +1 -0
- package/dist/commands/add/entity/templates/entity.template.ts +17 -0
- package/dist/commands/add/ui-extensions/add-ui-extensions.d.ts +1 -0
- package/dist/commands/add/ui-extensions/add-ui-extensions.js +88 -0
- package/dist/commands/add/ui-extensions/add-ui-extensions.js.map +1 -0
- package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.d.ts +2 -0
- package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js +33 -0
- package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js.map +1 -0
- package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.d.ts +5 -0
- package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js +63 -0
- package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js.map +1 -0
- package/dist/commands/add/ui-extensions/scaffold/providers.d.ts +1 -0
- package/dist/commands/add/ui-extensions/scaffold/providers.js +13 -0
- package/dist/commands/add/ui-extensions/scaffold/providers.js.map +1 -0
- package/dist/commands/add/ui-extensions/scaffold/routes.d.ts +1 -0
- package/dist/commands/add/ui-extensions/scaffold/routes.js +13 -0
- package/dist/commands/add/ui-extensions/scaffold/routes.js.map +1 -0
- package/dist/commands/new/plugin/new-plugin.d.ts +1 -1
- package/dist/commands/new/plugin/new-plugin.js +44 -90
- package/dist/commands/new/plugin/new-plugin.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/api/admin.resolver.d.ts +3 -3
- package/dist/commands/new/plugin/scaffold/api/admin.resolver.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/api/api-extensions.d.ts +2 -2
- package/dist/commands/new/plugin/scaffold/api/api-extensions.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/api/shop.resolver.d.ts +3 -3
- package/dist/commands/new/plugin/scaffold/api/shop.resolver.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/constants.d.ts +2 -2
- package/dist/commands/new/plugin/scaffold/constants.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/plugin.d.ts +2 -2
- package/dist/commands/new/plugin/scaffold/plugin.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/services/service.d.ts +3 -3
- package/dist/commands/new/plugin/scaffold/services/service.js.map +1 -1
- package/dist/commands/new/plugin/scaffold/types.d.ts +2 -2
- package/dist/commands/new/plugin/scaffold/types.js.map +1 -1
- package/dist/commands/new/plugin/types.d.ts +2 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -0
- package/dist/shared/shared-prompts.d.ts +3 -0
- package/dist/shared/shared-prompts.js +45 -0
- package/dist/shared/shared-prompts.js.map +1 -0
- package/dist/shared/shared-scaffold/entity.d.ts +5 -0
- package/dist/shared/shared-scaffold/entity.js +26 -0
- package/dist/shared/shared-scaffold/entity.js.map +1 -0
- package/dist/utilities/ast-utils.d.ts +18 -0
- package/dist/utilities/ast-utils.js +111 -0
- package/dist/utilities/ast-utils.js.map +1 -0
- package/dist/utilities/package-utils.d.ts +8 -0
- package/dist/utilities/package-utils.js +96 -0
- package/dist/utilities/package-utils.js.map +1 -0
- package/dist/utilities/scaffolder.d.ts +8 -0
- package/dist/utilities/scaffolder.js +50 -0
- package/dist/utilities/scaffolder.js.map +1 -0
- package/package.json +9 -7
- package/dist/commands/new/plugin/scaffold/entities/entity.d.ts +0 -2
- package/dist/commands/new/plugin/scaffold/entities/entity.js +0 -21
- package/dist/commands/new/plugin/scaffold/entities/entity.js.map +0 -1
|
@@ -31,17 +31,19 @@ const prompts_1 = require("@clack/prompts");
|
|
|
31
31
|
const change_case_1 = require("change-case");
|
|
32
32
|
const fs = __importStar(require("fs-extra"));
|
|
33
33
|
const path_1 = __importDefault(require("path"));
|
|
34
|
+
const shared_prompts_1 = require("../../../shared/shared-prompts");
|
|
35
|
+
const entity_1 = require("../../../shared/shared-scaffold/entity");
|
|
36
|
+
const scaffolder_1 = require("../../../utilities/scaffolder");
|
|
34
37
|
const admin_resolver_1 = require("./scaffold/api/admin.resolver");
|
|
35
38
|
const api_extensions_1 = require("./scaffold/api/api-extensions");
|
|
36
39
|
const shop_resolver_1 = require("./scaffold/api/shop.resolver");
|
|
37
40
|
const constants_1 = require("./scaffold/constants");
|
|
38
|
-
const entity_1 = require("./scaffold/entities/entity");
|
|
39
41
|
const plugin_1 = require("./scaffold/plugin");
|
|
40
42
|
const service_1 = require("./scaffold/services/service");
|
|
41
43
|
const types_1 = require("./scaffold/types");
|
|
42
44
|
const cancelledMessage = 'Plugin setup cancelled.';
|
|
43
45
|
async function newPlugin() {
|
|
44
|
-
const options = { name: '', customEntityName: '' };
|
|
46
|
+
const options = { name: '', customEntityName: '', pluginDir: '' };
|
|
45
47
|
(0, prompts_1.intro)('Scaffolding a new Vendure plugin!');
|
|
46
48
|
if (!options.name) {
|
|
47
49
|
const name = await (0, prompts_1.text)({
|
|
@@ -51,10 +53,6 @@ async function newPlugin() {
|
|
|
51
53
|
if (!/^[a-z][a-z-0-9]+$/.test(input)) {
|
|
52
54
|
return 'The plugin name must be lowercase and contain only letters, numbers and dashes';
|
|
53
55
|
}
|
|
54
|
-
const proposedPluginDir = getPluginDirName(input);
|
|
55
|
-
if (fs.existsSync(proposedPluginDir)) {
|
|
56
|
-
return `A directory named "${proposedPluginDir}" already exists. Cannot create plugin in this directory.`;
|
|
57
|
-
}
|
|
58
56
|
},
|
|
59
57
|
});
|
|
60
58
|
if ((0, prompts_1.isCancel)(name)) {
|
|
@@ -78,47 +76,30 @@ async function newPlugin() {
|
|
|
78
76
|
options.withApiExtensions = features.includes('apiExtensions');
|
|
79
77
|
}
|
|
80
78
|
if (options.withCustomEntity) {
|
|
81
|
-
|
|
82
|
-
message: 'What is the name of the custom entity?',
|
|
83
|
-
initialValue: '',
|
|
84
|
-
placeholder: '',
|
|
85
|
-
validate: input => {
|
|
86
|
-
if (!input) {
|
|
87
|
-
return 'The custom entity name cannot be empty';
|
|
88
|
-
}
|
|
89
|
-
const pascalCaseRegex = /^[A-Z][a-zA-Z0-9]*$/;
|
|
90
|
-
if (!pascalCaseRegex.test(input)) {
|
|
91
|
-
return 'The custom entity name must be in PascalCase, e.g. "ProductReview"';
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
});
|
|
95
|
-
if ((0, prompts_1.isCancel)(entityName)) {
|
|
96
|
-
(0, prompts_1.cancel)(cancelledMessage);
|
|
97
|
-
process.exit(0);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
options.customEntityName = (0, change_case_1.pascalCase)(entityName);
|
|
101
|
-
}
|
|
79
|
+
options.customEntityName = await (0, shared_prompts_1.getCustomEntityName)(cancelledMessage);
|
|
102
80
|
}
|
|
103
81
|
const pluginDir = getPluginDirName(options.name);
|
|
104
|
-
const confirmation = await (0, prompts_1.
|
|
105
|
-
message:
|
|
82
|
+
const confirmation = await (0, prompts_1.text)({
|
|
83
|
+
message: 'Plugin location',
|
|
84
|
+
initialValue: pluginDir,
|
|
85
|
+
placeholder: '',
|
|
86
|
+
validate: input => {
|
|
87
|
+
if (fs.existsSync(input)) {
|
|
88
|
+
return `A directory named "${input}" already exists. Please specify a different directory.`;
|
|
89
|
+
}
|
|
90
|
+
},
|
|
106
91
|
});
|
|
107
92
|
if ((0, prompts_1.isCancel)(confirmation)) {
|
|
108
93
|
(0, prompts_1.cancel)(cancelledMessage);
|
|
109
94
|
process.exit(0);
|
|
110
95
|
}
|
|
111
96
|
else {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
(0, prompts_1.cancel)(cancelledMessage);
|
|
117
|
-
}
|
|
97
|
+
options.pluginDir = confirmation;
|
|
98
|
+
generatePlugin(options);
|
|
118
99
|
}
|
|
119
100
|
}
|
|
120
101
|
exports.newPlugin = newPlugin;
|
|
121
|
-
|
|
102
|
+
function generatePlugin(options) {
|
|
122
103
|
const nameWithoutPlugin = options.name.replace(/-?plugin$/i, '');
|
|
123
104
|
const normalizedName = nameWithoutPlugin + '-plugin';
|
|
124
105
|
const templateContext = Object.assign(Object.assign({}, options), { pluginName: (0, change_case_1.pascalCase)(normalizedName), pluginInitOptionsName: (0, change_case_1.constantCase)(normalizedName) + '_OPTIONS', service: {
|
|
@@ -130,75 +111,48 @@ async function generatePlugin(options) {
|
|
|
130
111
|
instanceName: (0, change_case_1.camelCase)(options.customEntityName),
|
|
131
112
|
fileName: (0, change_case_1.paramCase)(options.customEntityName) + '.entity',
|
|
132
113
|
} });
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
render: types_1.renderTypes,
|
|
140
|
-
path: 'types.ts',
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
render: constants_1.renderConstants,
|
|
144
|
-
path: 'constants.ts',
|
|
145
|
-
},
|
|
146
|
-
];
|
|
114
|
+
const scaffolder = new scaffolder_1.Scaffolder();
|
|
115
|
+
scaffolder.addFile(plugin_1.renderPlugin, (0, change_case_1.paramCase)(nameWithoutPlugin) + '.plugin.ts');
|
|
116
|
+
scaffolder.addFile(types_1.renderTypes, 'types.ts');
|
|
117
|
+
scaffolder.addFile(constants_1.renderConstants, 'constants.ts');
|
|
147
118
|
if (options.withApiExtensions) {
|
|
148
|
-
|
|
149
|
-
render: api_extensions_1.renderApiExtensions,
|
|
150
|
-
path: 'api/api-extensions.ts',
|
|
151
|
-
});
|
|
119
|
+
scaffolder.addFile(api_extensions_1.renderApiExtensions, 'api/api-extensions.ts');
|
|
152
120
|
if (options.withCustomEntity) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
path: 'api/shop.resolver.ts',
|
|
156
|
-
});
|
|
157
|
-
files.push({
|
|
158
|
-
render: admin_resolver_1.renderAdminResolverWithEntity,
|
|
159
|
-
path: 'api/admin.resolver.ts',
|
|
160
|
-
});
|
|
121
|
+
scaffolder.addFile(shop_resolver_1.renderShopResolverWithEntity, 'api/shop.resolver.ts');
|
|
122
|
+
scaffolder.addFile(admin_resolver_1.renderAdminResolverWithEntity, 'api/admin.resolver.ts');
|
|
161
123
|
}
|
|
162
124
|
else {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
path: 'api/shop.resolver.ts',
|
|
166
|
-
});
|
|
167
|
-
files.push({
|
|
168
|
-
render: admin_resolver_1.renderAdminResolver,
|
|
169
|
-
path: 'api/admin.resolver.ts',
|
|
170
|
-
});
|
|
125
|
+
scaffolder.addFile(shop_resolver_1.renderShopResolver, 'api/shop.resolver.ts');
|
|
126
|
+
scaffolder.addFile(admin_resolver_1.renderAdminResolver, 'api/admin.resolver.ts');
|
|
171
127
|
}
|
|
172
128
|
}
|
|
173
129
|
if (options.withCustomEntity) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
path: `entities/${templateContext.entity.fileName}.ts`,
|
|
177
|
-
});
|
|
178
|
-
files.push({
|
|
179
|
-
render: service_1.renderServiceWithEntity,
|
|
180
|
-
path: `services/${templateContext.service.fileName}.ts`,
|
|
181
|
-
});
|
|
130
|
+
scaffolder.addFile(entity_1.renderEntity, `entities/${templateContext.entity.fileName}.ts`);
|
|
131
|
+
scaffolder.addFile(service_1.renderServiceWithEntity, `services/${templateContext.service.fileName}.ts`);
|
|
182
132
|
}
|
|
183
133
|
else {
|
|
184
|
-
|
|
185
|
-
render: service_1.renderService,
|
|
186
|
-
path: `services/${templateContext.service.fileName}.ts`,
|
|
187
|
-
});
|
|
134
|
+
scaffolder.addFile(service_1.renderService, `services/${templateContext.service.fileName}.ts`);
|
|
188
135
|
}
|
|
189
|
-
const pluginDir =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const rendered = file.render(templateContext).trim();
|
|
194
|
-
fs.ensureFileSync(filePath);
|
|
195
|
-
fs.writeFileSync(filePath, rendered);
|
|
136
|
+
const pluginDir = options.pluginDir;
|
|
137
|
+
scaffolder.createScaffold({
|
|
138
|
+
dir: pluginDir,
|
|
139
|
+
context: templateContext,
|
|
196
140
|
});
|
|
197
141
|
(0, prompts_1.outro)('✅ Plugin scaffolding complete!');
|
|
198
142
|
}
|
|
199
143
|
exports.generatePlugin = generatePlugin;
|
|
200
144
|
function getPluginDirName(name) {
|
|
145
|
+
const cwd = process.cwd();
|
|
146
|
+
const pathParts = cwd.split(path_1.default.sep);
|
|
147
|
+
const currentlyInPluginsDir = pathParts[pathParts.length - 1] === 'plugins';
|
|
148
|
+
const currentlyInRootDir = fs.pathExistsSync(path_1.default.join(cwd, 'package.json'));
|
|
201
149
|
const nameWithoutPlugin = name.replace(/-?plugin$/i, '');
|
|
202
|
-
|
|
150
|
+
if (currentlyInPluginsDir) {
|
|
151
|
+
return path_1.default.join(cwd, (0, change_case_1.paramCase)(nameWithoutPlugin));
|
|
152
|
+
}
|
|
153
|
+
if (currentlyInRootDir) {
|
|
154
|
+
return path_1.default.join(cwd, 'src', 'plugins', (0, change_case_1.paramCase)(nameWithoutPlugin));
|
|
155
|
+
}
|
|
156
|
+
return path_1.default.join(cwd, (0, change_case_1.paramCase)(nameWithoutPlugin));
|
|
203
157
|
}
|
|
204
158
|
//# sourceMappingURL=new-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-plugin.js","sourceRoot":"","sources":["../../../../src/commands/new/plugin/new-plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"new-plugin.js","sourceRoot":"","sources":["../../../../src/commands/new/plugin/new-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderAdminResolverWithEntity(context:
|
|
3
|
-
export declare function renderAdminResolver(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../../types';
|
|
2
|
+
export declare function renderAdminResolverWithEntity(context: NewPluginTemplateContext): string;
|
|
3
|
+
export declare function renderAdminResolver(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.resolver.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/admin.resolver.ts"],"names":[],"mappings":";;;AAEA,SAAgB,6BAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"admin.resolver.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/admin.resolver.ts"],"names":[],"mappings":";;;AAEA,SAAgB,6BAA6B,CAAC,OAAiC;IAC3E,OAAiC;;;;WAI1B,OAAO,CAAC,MAAM,CAAC,YAAY;WAC3B,OAAO,CAAC,OAAO,CAAC,SAAS,wBAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ;WACzE,OAAO,CAAC,MAAM,CAAC,SAAS,wBAAwB,OAAO,CAAC,MAAM,CAAC,QAAQ;;;aAGrE,OAAO,CAAC,gBAAgB;aACxB,OAAO,CAAC,gBAAgB;;;;0BAIX,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS;;;;;aAKvE,OAAO,CAAC,MAAM,CAAC,YAAY;YAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,6DAA6D,OAAO,CAAC,gBAAgB,qBAAqB,OAAO,CAAC,MAAM,CAAC,SAAS;sBAChJ,OAAO,CAAC,OAAO,CAAC,YAAY;;;;;aAKrC,OAAO,CAAC,MAAM,CAAC,YAAY;YAC5B,OAAO,CAAC,MAAM,CAAC,SAAS;;uCAEG,OAAO,CAAC,gBAAgB;iBAC9C,OAAO,CAAC,MAAM,CAAC,SAAS;sBACnB,OAAO,CAAC,OAAO,CAAC,YAAY;;EAEhD,CAAC;AACH,CAAC;AAnCD,sEAmCC;AAED,SAAgB,mBAAmB,CAAC,OAAiC;IACjE,OAAiC;;;;WAI1B,OAAO,CAAC,OAAO,CAAC,SAAS,wBAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ;;;;0BAI1D,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS;;;;;sBAK9D,OAAO,CAAC,OAAO,CAAC,YAAY;;;;;;sBAM5B,OAAO,CAAC,OAAO,CAAC,YAAY;;EAEhD,CAAC;AACH,CAAC;AAvBD,kDAuBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderApiExtensions(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../../types';
|
|
2
|
+
export declare function renderApiExtensions(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-extensions.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/api-extensions.ts"],"names":[],"mappings":";;;AAIA,SAAgB,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"api-extensions.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/api-extensions.ts"],"names":[],"mappings":";;;AAIA,SAAgB,mBAAmB,CAAC,OAAiC;IACjE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC5B,OAAO,EAAE,CAAC;KACb;IACD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAC3B,OAAiC;;;;;;;;;;;;;;;;;;;CAmBxC,CAAC;KACG;SAAM;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5C,OAAiC;;;;WAI9B,UAAU;;;;;;;WAOV,UAAU;kBACH,UAAU;;;;;UAKlB,OAAO,CAAC,MAAM,CAAC,YAAY,cAAc,UAAU,iBAAiB,UAAU;UAC9E,OAAO,CAAC,MAAM,CAAC,YAAY,cAAc,UAAU;;;;YAIjD,UAAU;;;;;;;;;;;gBAWN,UAAU,iBAAiB,UAAU,YAAY,UAAU;gBAC3D,UAAU,iBAAiB,UAAU,YAAY,UAAU;;;kBAGzD,UAAU;;;;kBAIV,UAAU;;;;;CAK3B,CAAC;KACG;AACL,CAAC;AA3ED,kDA2EC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderShopResolverWithEntity(context:
|
|
3
|
-
export declare function renderShopResolver(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../../types';
|
|
2
|
+
export declare function renderShopResolverWithEntity(context: NewPluginTemplateContext): string;
|
|
3
|
+
export declare function renderShopResolver(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop.resolver.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/shop.resolver.ts"],"names":[],"mappings":";;;AAEA,SAAgB,4BAA4B,CAAC,
|
|
1
|
+
{"version":3,"file":"shop.resolver.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/api/shop.resolver.ts"],"names":[],"mappings":";;;AAEA,SAAgB,4BAA4B,CAAC,OAAiC;IAC1E,OAAiC;;;;WAI1B,OAAO,CAAC,OAAO,CAAC,SAAS,wBAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ;WACzE,OAAO,CAAC,MAAM,CAAC,SAAS,wBAAwB,OAAO,CAAC,MAAM,CAAC,QAAQ;;;;0BAIxD,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS;;;;MAI9E,OAAO,CAAC,MAAM,CAAC,YAAY;;oDAEmB,OAAO,CAAC,gBAAgB;+BAC7C,OAAO,CAAC,gBAAgB;sBACjC,OAAO,CAAC,OAAO,CAAC,YAAY;;;;MAI5C,OAAO,CAAC,MAAM,CAAC,YAAY,uEAAuE,OAAO,CAAC,gBAAgB;sBAC1G,OAAO,CAAC,OAAO,CAAC,YAAY;;EAEhD,CAAC;AACH,CAAC;AA1BD,oEA0BC;AAED,SAAgB,kBAAkB,CAAC,OAAiC;IAChE,OAAiC;;;;WAI1B,OAAO,CAAC,OAAO,CAAC,SAAS,wBAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ;;;;0BAI1D,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS;;;;;sBAK9D,OAAO,CAAC,OAAO,CAAC,YAAY;;;;;;sBAM5B,OAAO,CAAC,OAAO,CAAC,YAAY;;EAEhD,CAAC;AACH,CAAC;AAvBD,gDAuBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderConstants(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../types';
|
|
2
|
+
export declare function renderConstants(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/constants.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/constants.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,OAAiC;IAC7D,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC1B,eAAe,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAClF,kBAAkB,CAAC,IAAI,CACnB,gBAAgB,OAAO,CAAC,MAAM,CAAC,YAAY,8CAA8C,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,CACzH,CAAC;KACL;IACD,OAAiC;EACnC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;eAEb,qBAAqB,cAAc,qBAAqB;4BAC3C,UAAU;EACpC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;CAC9B,CAAC;AACF,CAAC;AAjBD,0CAiBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderPlugin(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../types';
|
|
2
|
+
export declare function renderPlugin(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/plugin.ts"],"names":[],"mappings":";;;AAIA,SAAgB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/plugin.ts"],"names":[],"mappings":";;;AAIA,SAAgB,YAAY,CAAC,OAAiC;IAC1D,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC1B,eAAe,CAAC,IAAI,CAChB,YAAY,OAAO,CAAC,MAAM,CAAC,SAAS,uBAAuB,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CACzF,CAAC;QACF,gBAAgB,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;KACrE;SAAM;QACH,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1C;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC3B,eAAe,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QACtG,eAAe,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC5E,eAAe,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC9E,gBAAgB,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QACtG,gBAAgB,CAAC,IAAI,CACjB,iFAAiF,CACpF,CAAC;KACL;IAED,OAAiC;;;;WAI1B,OAAO,CAAC,OAAO,CAAC,SAAS,uBAAuB,OAAO,CAAC,OAAO,CAAC,QAAQ;WACxE,qBAAqB;;EAE9B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;;MAItB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;;UAE3B,OAAO,CAAC,OAAO,CAAC,SAAS;qBACd,qBAAqB,uBAAuB,UAAU;;;;eAI5D,UAAU;;;oDAG2B,UAAU;;iBAE7C,UAAU;;;CAG1B,CAAC;AACF,CAAC;AAjDD,oCAiDC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderService(context:
|
|
3
|
-
export declare function renderServiceWithEntity(context:
|
|
1
|
+
import { NewPluginTemplateContext } from '../../types';
|
|
2
|
+
export declare function renderService(context: NewPluginTemplateContext): string;
|
|
3
|
+
export declare function renderServiceWithEntity(context: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/services/service.ts"],"names":[],"mappings":";;;AAIA,SAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../src/commands/new/plugin/scaffold/services/service.ts"],"names":[],"mappings":";;;AAIA,SAAgB,aAAa,CAAC,OAAiC;IAC3D,OAAiC;;;;WAI1B,OAAO,CAAC,qBAAqB;;;;eAIzB,OAAO,CAAC,OAAO,CAAC,SAAS;;;kBAGtB,OAAO,CAAC,qBAAqB;;;;;;;;;;CAU9C,CAAC;AACF,CAAC;AAvBD,sCAuBC;AAED,SAAgB,uBAAuB,CAAC,OAAiC;IACrE,OAAiC;;;;WAI1B,OAAO,CAAC,gBAAgB,wBAAwB,OAAO,CAAC,MAAM,CAAC,QAAQ;WACvE,OAAO,CAAC,qBAAqB;;;;aAI3B,OAAO,CAAC,gBAAgB;aACxB,OAAO,CAAC,gBAAgB;;;eAGtB,OAAO,CAAC,OAAO,CAAC,SAAS;;;kBAGtB,OAAO,CAAC,qBAAqB;;;;;;qCAMV,OAAO,CAAC,gBAAgB;+BAC9B,OAAO,CAAC,gBAAgB;;qBAElC,OAAO,CAAC,gBAAgB;;;;;;;;8DAQiB,OAAO,CAAC,gBAAgB;oDAClC,OAAO,CAAC,gBAAgB;;;qDAGvB,OAAO,CAAC,gBAAgB,mBAAmB,OAAO,CAAC,gBAAgB;oDACpE,OAAO,CAAC,gBAAgB,cAAc,OAAO,CAAC,gBAAgB;;;qDAG7D,OAAO,CAAC,gBAAgB,mBAAmB,OAAO,CAAC,gBAAgB;sEAClD,OAAO,CAAC,gBAAgB;;oDAE1C,OAAO,CAAC,gBAAgB;;;CAG3E,CAAC;AACF,CAAC;AAjDD,0DAiDC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function renderTypes(options:
|
|
1
|
+
import { NewPluginTemplateContext } from '../types';
|
|
2
|
+
export declare function renderTypes(options: NewPluginTemplateContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/types.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/commands/new/plugin/scaffold/types.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,OAAiC;IACzD,OAAiC;;;;;;;CAOpC,CAAC;AACF,CAAC;AATD,kCASC"}
|
|
@@ -4,8 +4,9 @@ export interface GeneratePluginOptions {
|
|
|
4
4
|
withApiExtensions: boolean;
|
|
5
5
|
withAdminUi: boolean;
|
|
6
6
|
customEntityName: string;
|
|
7
|
+
pluginDir: string;
|
|
7
8
|
}
|
|
8
|
-
export type
|
|
9
|
+
export type NewPluginTemplateContext = GeneratePluginOptions & {
|
|
9
10
|
pluginName: string;
|
|
10
11
|
pluginInitOptionsName: string;
|
|
11
12
|
service: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultManipulationSettings = void 0;
|
|
4
|
+
const ts_morph_1 = require("ts-morph");
|
|
5
|
+
exports.defaultManipulationSettings = {
|
|
6
|
+
quoteKind: ts_morph_1.QuoteKind.Single,
|
|
7
|
+
useTrailingCommas: true,
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,uCAA2D;AAE9C,QAAA,2BAA2B,GAAkC;IACtE,SAAS,EAAE,oBAAS,CAAC,MAAM;IAC3B,iBAAiB,EAAE,IAAI;CAC1B,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectPluginClass = exports.getCustomEntityName = void 0;
|
|
4
|
+
const prompts_1 = require("@clack/prompts");
|
|
5
|
+
const change_case_1 = require("change-case");
|
|
6
|
+
const ast_utils_1 = require("../utilities/ast-utils");
|
|
7
|
+
async function getCustomEntityName(cancelledMessage) {
|
|
8
|
+
const entityName = await (0, prompts_1.text)({
|
|
9
|
+
message: 'What is the name of the custom entity?',
|
|
10
|
+
initialValue: '',
|
|
11
|
+
placeholder: '',
|
|
12
|
+
validate: input => {
|
|
13
|
+
if (!input) {
|
|
14
|
+
return 'The custom entity name cannot be empty';
|
|
15
|
+
}
|
|
16
|
+
const pascalCaseRegex = /^[A-Z][a-zA-Z0-9]*$/;
|
|
17
|
+
if (!pascalCaseRegex.test(input)) {
|
|
18
|
+
return 'The custom entity name must be in PascalCase, e.g. "ProductReview"';
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if ((0, prompts_1.isCancel)(entityName)) {
|
|
23
|
+
(0, prompts_1.cancel)(cancelledMessage);
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
return (0, change_case_1.pascalCase)(entityName);
|
|
27
|
+
}
|
|
28
|
+
exports.getCustomEntityName = getCustomEntityName;
|
|
29
|
+
async function selectPluginClass(project, cancelledMessage) {
|
|
30
|
+
const pluginClasses = (0, ast_utils_1.getPluginClasses)(project);
|
|
31
|
+
const targetPlugin = await (0, prompts_1.select)({
|
|
32
|
+
message: 'To which plugin would you like to add the feature?',
|
|
33
|
+
options: pluginClasses.map(c => ({
|
|
34
|
+
value: c,
|
|
35
|
+
label: c.getName(),
|
|
36
|
+
})),
|
|
37
|
+
});
|
|
38
|
+
if ((0, prompts_1.isCancel)(targetPlugin)) {
|
|
39
|
+
(0, prompts_1.cancel)(cancelledMessage);
|
|
40
|
+
process.exit(0);
|
|
41
|
+
}
|
|
42
|
+
return targetPlugin;
|
|
43
|
+
}
|
|
44
|
+
exports.selectPluginClass = selectPluginClass;
|
|
45
|
+
//# sourceMappingURL=shared-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-prompts.js","sourceRoot":"","sources":["../../src/shared/shared-prompts.ts"],"names":[],"mappings":";;;AAAA,4CAAgE;AAChE,6CAAyC;AAGzC,sDAA0D;AAEnD,KAAK,UAAU,mBAAmB,CAAC,gBAAwB;IAC9D,MAAM,UAAU,GAAG,MAAM,IAAA,cAAI,EAAC;QAC1B,OAAO,EAAE,wCAAwC;QACjD,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,KAAK,CAAC,EAAE;YACd,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,wCAAwC,CAAC;aACnD;YACD,MAAM,eAAe,GAAG,qBAAqB,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9B,OAAO,oEAAoE,CAAC;aAC/E;QACL,CAAC;KACJ,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;QACtB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,IAAA,wBAAU,EAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AApBD,kDAoBC;AAEM,KAAK,UAAU,iBAAiB,CAAC,OAAgB,EAAE,gBAAwB;IAC9E,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC9B,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC,CAAC,OAAO,EAAY;SAC/B,CAAC,CAAC;KACN,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE;QACxB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,YAAgC,CAAC;AAC5C,CAAC;AAdD,8CAcC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderEntity = void 0;
|
|
4
|
+
function renderEntity(context) {
|
|
5
|
+
return `
|
|
6
|
+
import { Entity, Column } from 'typeorm';
|
|
7
|
+
import { VendureEntity, DeepPartial, HasCustomFields } from '@vendure/core';
|
|
8
|
+
|
|
9
|
+
export class ${context.entity.className}CustomFields {}
|
|
10
|
+
|
|
11
|
+
@Entity()
|
|
12
|
+
export class ${context.entity.className} extends VendureEntity implements HasCustomFields {
|
|
13
|
+
constructor(input?: DeepPartial<${context.entity.className}>) {
|
|
14
|
+
super(input);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Column()
|
|
18
|
+
name: string;
|
|
19
|
+
|
|
20
|
+
@Column(type => ${context.entity.className}CustomFields)
|
|
21
|
+
customFields: ${context.entity.className}CustomFields;
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
}
|
|
25
|
+
exports.renderEntity = renderEntity;
|
|
26
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/shared/shared-scaffold/entity.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAA8C,OAAU;IAChF,OAAiC;;;;eAItB,OAAO,CAAC,MAAM,CAAC,SAAS;;;eAGxB,OAAO,CAAC,MAAM,CAAC,SAAS;sCACD,OAAO,CAAC,MAAM,CAAC,SAAS;;;;;;;sBAOxC,OAAO,CAAC,MAAM,CAAC,SAAS;oBAC1B,OAAO,CAAC,MAAM,CAAC,SAAS;;CAE3C,CAAC;AACF,CAAC;AApBD,oCAoBC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ObjectLiteralExpression, Project, SourceFile } from 'ts-morph';
|
|
2
|
+
export declare function getTsMorphProject(): Project;
|
|
3
|
+
export declare function getPluginClasses(project: Project): import("ts-morph").ClassDeclaration[];
|
|
4
|
+
export declare function getVendureConfig(project: Project, options?: {
|
|
5
|
+
checkFileName?: boolean;
|
|
6
|
+
}): ObjectLiteralExpression;
|
|
7
|
+
export declare function addImportsToFile(sourceFile: SourceFile, options: {
|
|
8
|
+
moduleSpecifier: string | SourceFile;
|
|
9
|
+
namedImports?: string[];
|
|
10
|
+
namespaceImport?: string;
|
|
11
|
+
order?: number;
|
|
12
|
+
}): void;
|
|
13
|
+
export declare function getRelativeImportPath(locations: {
|
|
14
|
+
from: SourceFile;
|
|
15
|
+
to: SourceFile;
|
|
16
|
+
}): string;
|
|
17
|
+
export declare function createSourceFileFromTemplate(project: Project, templatePath: string): SourceFile;
|
|
18
|
+
export declare function kebabize(str: string): string;
|
|
@@ -0,0 +1,111 @@
|
|
|
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.kebabize = exports.createSourceFileFromTemplate = exports.getRelativeImportPath = exports.addImportsToFile = exports.getVendureConfig = exports.getPluginClasses = exports.getTsMorphProject = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const ts_morph_1 = require("ts-morph");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
function getTsMorphProject() {
|
|
12
|
+
const tsConfigPath = node_path_1.default.join(process.cwd(), 'tsconfig.json');
|
|
13
|
+
if (!fs_extra_1.default.existsSync(tsConfigPath)) {
|
|
14
|
+
throw new Error('No tsconfig.json found in current directory');
|
|
15
|
+
}
|
|
16
|
+
return new ts_morph_1.Project({
|
|
17
|
+
tsConfigFilePath: tsConfigPath,
|
|
18
|
+
manipulationSettings: constants_1.defaultManipulationSettings,
|
|
19
|
+
compilerOptions: {
|
|
20
|
+
skipLibCheck: true,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.getTsMorphProject = getTsMorphProject;
|
|
25
|
+
function getPluginClasses(project) {
|
|
26
|
+
const sourceFiles = project.getSourceFiles();
|
|
27
|
+
const pluginClasses = sourceFiles
|
|
28
|
+
.flatMap(sf => {
|
|
29
|
+
return sf.getClasses();
|
|
30
|
+
})
|
|
31
|
+
.filter(c => {
|
|
32
|
+
const hasPluginDecorator = c.getModifiers().find(m => {
|
|
33
|
+
return ts_morph_1.Node.isDecorator(m) && m.getName() === 'VendurePlugin';
|
|
34
|
+
});
|
|
35
|
+
return !!hasPluginDecorator;
|
|
36
|
+
});
|
|
37
|
+
return pluginClasses;
|
|
38
|
+
}
|
|
39
|
+
exports.getPluginClasses = getPluginClasses;
|
|
40
|
+
function getVendureConfig(project, options = {}) {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
const sourceFiles = project.getSourceFiles();
|
|
43
|
+
const checkFileName = (_a = options.checkFileName) !== null && _a !== void 0 ? _a : true;
|
|
44
|
+
function isVendureConfigVariableDeclaration(v) {
|
|
45
|
+
return v.getType().getText(v) === 'VendureConfig';
|
|
46
|
+
}
|
|
47
|
+
const vendureConfigFile = sourceFiles.find(sf => {
|
|
48
|
+
return ((checkFileName ? sf.getFilePath().endsWith('vendure-config.ts') : true) &&
|
|
49
|
+
sf.getVariableDeclarations().find(isVendureConfigVariableDeclaration));
|
|
50
|
+
});
|
|
51
|
+
return (_b = vendureConfigFile === null || vendureConfigFile === void 0 ? void 0 : vendureConfigFile.getVariableDeclarations().find(isVendureConfigVariableDeclaration)) === null || _b === void 0 ? void 0 : _b.getChildren().find(ts_morph_1.Node.isObjectLiteralExpression);
|
|
52
|
+
}
|
|
53
|
+
exports.getVendureConfig = getVendureConfig;
|
|
54
|
+
function addImportsToFile(sourceFile, options) {
|
|
55
|
+
const existingDeclaration = sourceFile.getImportDeclaration(declaration => declaration.getModuleSpecifier().getLiteralValue() === options.moduleSpecifier);
|
|
56
|
+
const moduleSpecifier = getModuleSpecifierString(options.moduleSpecifier, sourceFile);
|
|
57
|
+
if (!existingDeclaration) {
|
|
58
|
+
const importDeclaration = sourceFile.addImportDeclaration(Object.assign(Object.assign({ moduleSpecifier }, (options.namespaceImport ? { namespaceImport: options.namespaceImport } : {})), (options.namedImports ? { namedImports: options.namedImports } : {})));
|
|
59
|
+
if (options.order != null) {
|
|
60
|
+
importDeclaration.setOrder(options.order);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if (options.namespaceImport &&
|
|
65
|
+
!existingDeclaration.getNamespaceImport() &&
|
|
66
|
+
!existingDeclaration.getDefaultImport()) {
|
|
67
|
+
existingDeclaration.setNamespaceImport(options.namespaceImport);
|
|
68
|
+
}
|
|
69
|
+
if (options.namedImports) {
|
|
70
|
+
const existingNamedImports = existingDeclaration.getNamedImports();
|
|
71
|
+
for (const namedImport of options.namedImports) {
|
|
72
|
+
if (!existingNamedImports.find(ni => ni.getName() === namedImport)) {
|
|
73
|
+
existingDeclaration.addNamedImport(namedImport);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.addImportsToFile = addImportsToFile;
|
|
80
|
+
function getModuleSpecifierString(moduleSpecifier, sourceFile) {
|
|
81
|
+
if (typeof moduleSpecifier === 'string') {
|
|
82
|
+
return moduleSpecifier;
|
|
83
|
+
}
|
|
84
|
+
return getRelativeImportPath({ from: moduleSpecifier, to: sourceFile });
|
|
85
|
+
}
|
|
86
|
+
function getRelativeImportPath(locations) {
|
|
87
|
+
return convertPathToRelativeImport(node_path_1.default.relative(locations.to.getSourceFile().getDirectory().getPath(), locations.from.getSourceFile().getFilePath()));
|
|
88
|
+
}
|
|
89
|
+
exports.getRelativeImportPath = getRelativeImportPath;
|
|
90
|
+
function createSourceFileFromTemplate(project, templatePath) {
|
|
91
|
+
const template = fs_extra_1.default.readFileSync(templatePath, 'utf-8');
|
|
92
|
+
return project.createSourceFile('temp.ts', template);
|
|
93
|
+
}
|
|
94
|
+
exports.createSourceFileFromTemplate = createSourceFileFromTemplate;
|
|
95
|
+
function kebabize(str) {
|
|
96
|
+
return str
|
|
97
|
+
.split('')
|
|
98
|
+
.map((letter, idx) => {
|
|
99
|
+
return letter.toUpperCase() === letter
|
|
100
|
+
? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`
|
|
101
|
+
: letter;
|
|
102
|
+
})
|
|
103
|
+
.join('');
|
|
104
|
+
}
|
|
105
|
+
exports.kebabize = kebabize;
|
|
106
|
+
function convertPathToRelativeImport(filePath) {
|
|
107
|
+
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
108
|
+
const parsedPath = node_path_1.default.parse(normalizedPath);
|
|
109
|
+
return `./${parsedPath.dir}/${parsedPath.name}`.replace(/\/\//g, '/');
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=ast-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/utilities/ast-utils.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,0DAA6B;AAC7B,uCAAmG;AAEnG,4CAA2D;AAE3D,SAAgB,iBAAiB;IAC7B,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC/D,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAClE;IACD,OAAO,IAAI,kBAAO,CAAC;QACf,gBAAgB,EAAE,YAAY;QAC9B,oBAAoB,EAAE,uCAA2B;QACjD,eAAe,EAAE;YACb,YAAY,EAAE,IAAI;SACrB;KACJ,CAAC,CAAC;AACP,CAAC;AAZD,8CAYC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAE7C,MAAM,aAAa,GAAG,WAAW;SAC5B,OAAO,CAAC,EAAE,CAAC,EAAE;QACV,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE;QACR,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACjD,OAAO,eAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,eAAe,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,kBAAkB,CAAC;IAChC,CAAC,CAAC,CAAC;IACP,OAAO,aAAa,CAAC;AACzB,CAAC;AAdD,4CAcC;AAED,SAAgB,gBAAgB,CAAC,OAAgB,EAAE,UAAuC,EAAE;;IACxF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC;IACpD,SAAS,kCAAkC,CAAC,CAAsB;QAC9D,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;IACtD,CAAC;IACD,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC5C,OAAO,CACH,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,EAAE,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CACxE,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAClB,uBAAuB,GACxB,IAAI,CAAC,kCAAkC,CAAC,0CACvC,WAAW,GACZ,IAAI,CAAC,eAAI,CAAC,yBAAyB,CAA4B,CAAC;AACzE,CAAC;AAjBD,4CAiBC;AAED,SAAgB,gBAAgB,CAC5B,UAAsB,EACtB,OAKC;IAED,MAAM,mBAAmB,GAAG,UAAU,CAAC,oBAAoB,CACvD,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,KAAK,OAAO,CAAC,eAAe,CAChG,CAAC;IACF,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACtF,IAAI,CAAC,mBAAmB,EAAE;QACtB,MAAM,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,+BACrD,eAAe,IACZ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC7E,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACzE,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;YACvB,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC7C;KACJ;SAAM;QACH,IACI,OAAO,CAAC,eAAe;YACvB,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;YACzC,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,EACzC;YACE,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACnE;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,eAAe,EAAE,CAAC;YACnE,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE;gBAC5C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,EAAE;oBAChE,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;iBACnD;aACJ;SACJ;KACJ;AACL,CAAC;AAvCD,4CAuCC;AAED,SAAS,wBAAwB,CAAC,eAAoC,EAAE,UAAsB;IAC1F,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;QACrC,OAAO,eAAe,CAAC;KAC1B;IACD,OAAO,qBAAqB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,qBAAqB,CAAC,SAA+C;IACjF,OAAO,2BAA2B,CAC9B,mBAAI,CAAC,QAAQ,CACT,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EACrD,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAC/C,CACJ,CAAC;AACN,CAAC;AAPD,sDAOC;AAED,SAAgB,4BAA4B,CAAC,OAAgB,EAAE,YAAoB;IAC/E,MAAM,QAAQ,GAAG,kBAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAHD,oEAGC;AAED,SAAgB,QAAQ,CAAC,GAAW;IAChC,OAAO,GAAG;SACL,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM;YAClC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE;YAClD,CAAC,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AATD,4BASC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IAEjD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAGpD,MAAM,UAAU,GAAG,mBAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,KAAK,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface PackageToInstall {
|
|
2
|
+
pkg: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
isDevDependency?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function determineVendureVersion(): string | undefined;
|
|
7
|
+
export declare function installRequiredPackages(requiredPackages: PackageToInstall[]): Promise<void>;
|
|
8
|
+
export declare function installPackages(dependencies: string[], isDev: boolean): Promise<void>;
|