@vendure/cli 2.2.0-next.3 → 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.
Files changed (67) hide show
  1. package/dist/cli.js +5 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/add/add.d.ts +2 -0
  4. package/dist/commands/add/add.js +39 -0
  5. package/dist/commands/add/add.js.map +1 -0
  6. package/dist/commands/add/entity/add-entity.d.ts +7 -0
  7. package/dist/commands/add/entity/add-entity.js +39 -0
  8. package/dist/commands/add/entity/add-entity.js.map +1 -0
  9. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.d.ts +2 -0
  10. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js +41 -0
  11. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js.map +1 -0
  12. package/dist/commands/add/entity/templates/entity.template.ts +17 -0
  13. package/dist/commands/add/ui-extensions/add-ui-extensions.d.ts +1 -0
  14. package/dist/commands/add/ui-extensions/add-ui-extensions.js +88 -0
  15. package/dist/commands/add/ui-extensions/add-ui-extensions.js.map +1 -0
  16. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.d.ts +2 -0
  17. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js +33 -0
  18. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js.map +1 -0
  19. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.d.ts +5 -0
  20. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js +63 -0
  21. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js.map +1 -0
  22. package/dist/commands/add/ui-extensions/scaffold/providers.d.ts +1 -0
  23. package/dist/commands/add/ui-extensions/scaffold/providers.js +13 -0
  24. package/dist/commands/add/ui-extensions/scaffold/providers.js.map +1 -0
  25. package/dist/commands/add/ui-extensions/scaffold/routes.d.ts +1 -0
  26. package/dist/commands/add/ui-extensions/scaffold/routes.js +13 -0
  27. package/dist/commands/add/ui-extensions/scaffold/routes.js.map +1 -0
  28. package/dist/commands/new/plugin/new-plugin.d.ts +1 -1
  29. package/dist/commands/new/plugin/new-plugin.js +44 -90
  30. package/dist/commands/new/plugin/new-plugin.js.map +1 -1
  31. package/dist/commands/new/plugin/scaffold/api/admin.resolver.d.ts +3 -3
  32. package/dist/commands/new/plugin/scaffold/api/admin.resolver.js.map +1 -1
  33. package/dist/commands/new/plugin/scaffold/api/api-extensions.d.ts +2 -2
  34. package/dist/commands/new/plugin/scaffold/api/api-extensions.js.map +1 -1
  35. package/dist/commands/new/plugin/scaffold/api/shop.resolver.d.ts +3 -3
  36. package/dist/commands/new/plugin/scaffold/api/shop.resolver.js.map +1 -1
  37. package/dist/commands/new/plugin/scaffold/constants.d.ts +2 -2
  38. package/dist/commands/new/plugin/scaffold/constants.js.map +1 -1
  39. package/dist/commands/new/plugin/scaffold/plugin.d.ts +2 -2
  40. package/dist/commands/new/plugin/scaffold/plugin.js.map +1 -1
  41. package/dist/commands/new/plugin/scaffold/services/service.d.ts +3 -3
  42. package/dist/commands/new/plugin/scaffold/services/service.js.map +1 -1
  43. package/dist/commands/new/plugin/scaffold/types.d.ts +2 -2
  44. package/dist/commands/new/plugin/scaffold/types.js.map +1 -1
  45. package/dist/commands/new/plugin/types.d.ts +2 -1
  46. package/dist/constants.d.ts +2 -0
  47. package/dist/constants.js +9 -0
  48. package/dist/constants.js.map +1 -0
  49. package/dist/shared/shared-prompts.d.ts +3 -0
  50. package/dist/shared/shared-prompts.js +45 -0
  51. package/dist/shared/shared-prompts.js.map +1 -0
  52. package/dist/shared/shared-scaffold/entity.d.ts +5 -0
  53. package/dist/shared/shared-scaffold/entity.js +26 -0
  54. package/dist/shared/shared-scaffold/entity.js.map +1 -0
  55. package/dist/utilities/ast-utils.d.ts +18 -0
  56. package/dist/utilities/ast-utils.js +111 -0
  57. package/dist/utilities/ast-utils.js.map +1 -0
  58. package/dist/utilities/package-utils.d.ts +8 -0
  59. package/dist/utilities/package-utils.js +96 -0
  60. package/dist/utilities/package-utils.js.map +1 -0
  61. package/dist/utilities/scaffolder.d.ts +8 -0
  62. package/dist/utilities/scaffolder.js +50 -0
  63. package/dist/utilities/scaffolder.js.map +1 -0
  64. package/package.json +9 -7
  65. package/dist/commands/new/plugin/scaffold/entities/entity.d.ts +0 -2
  66. package/dist/commands/new/plugin/scaffold/entities/entity.js +0 -21
  67. 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
- const entityName = await (0, prompts_1.text)({
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.confirm)({
105
- message: `Create new plugin in ${pluginDir}?`,
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
- if (confirmation === true) {
113
- await generatePlugin(options);
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
- async function generatePlugin(options) {
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 files = [
134
- {
135
- render: plugin_1.renderPlugin,
136
- path: (0, change_case_1.paramCase)(nameWithoutPlugin) + '.plugin.ts',
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
- files.push({
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
- files.push({
154
- render: shop_resolver_1.renderShopResolverWithEntity,
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
- files.push({
164
- render: shop_resolver_1.renderShopResolver,
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
- files.push({
175
- render: entity_1.renderEntity,
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
- files.push({
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 = getPluginDirName(options.name);
190
- fs.ensureDirSync(pluginDir);
191
- files.forEach(file => {
192
- const filePath = path_1.default.join(pluginDir, file.path);
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
- return path_1.default.join(process.cwd(), (0, change_case_1.paramCase)(nameWithoutPlugin));
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,4CAA4F;AAC5F,6CAA6E;AAC7E,6CAA+B;AAC/B,gDAAwB;AAExB,kEAAmG;AACnG,kEAAoE;AACpE,gEAAgG;AAChG,oDAAuD;AACvD,uDAA0D;AAC1D,8CAAiD;AACjD,yDAAqF;AACrF,4CAA+C;AAG/C,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAE5C,KAAK,UAAU,SAAS;IAC3B,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAS,CAAC;IACjF,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,IAAA,cAAI,EAAC;YACpB,OAAO,EAAE,iCAAiC;YAC1C,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACd,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAClC,OAAO,gFAAgF,CAAC;iBAC3F;gBACD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;oBAClC,OAAO,sBAAsB,iBAAiB,2DAA2D,CAAC;iBAC7G;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE;YAChB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;SACvB;KACJ;IACD,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC;QAC/B,OAAO,EAAE,uEAAuE;QAChF,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;YACjD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAC9D;QACD,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACzB,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7D,OAAO,CAAC,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;KAClE;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC1B,MAAM,UAAU,GAAG,MAAM,IAAA,cAAI,EAAC;YAC1B,OAAO,EAAE,wCAAwC;YACjD,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACd,IAAI,CAAC,KAAK,EAAE;oBACR,OAAO,wCAAwC,CAAC;iBACnD;gBACD,MAAM,eAAe,GAAG,qBAAqB,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO,oEAAoE,CAAC;iBAC/E;YACL,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;YACtB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,CAAC,gBAAgB,GAAG,IAAA,wBAAU,EAAC,UAAU,CAAC,CAAC;SACrD;KACJ;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC/B,OAAO,EAAE,wBAAwB,SAAS,GAAG;KAChD,CAAC,CAAC;IAEH,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE;QACxB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,IAAI,YAAY,KAAK,IAAI,EAAE;YACvB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;SACjC;aAAM;YACH,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;SAC5B;KACJ;AACL,CAAC;AA1ED,8BA0EC;AAEM,KAAK,UAAU,cAAc,CAAC,OAA8B;IAC/D,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACrD,MAAM,eAAe,mCACd,OAAO,KACV,UAAU,EAAE,IAAA,wBAAU,EAAC,cAAc,CAAC,EACtC,qBAAqB,EAAE,IAAA,0BAAY,EAAC,cAAc,CAAC,GAAG,UAAU,EAChE,OAAO,EAAE;YACL,SAAS,EAAE,IAAA,wBAAU,EAAC,iBAAiB,CAAC,GAAG,SAAS;YACpD,YAAY,EAAE,IAAA,uBAAS,EAAC,iBAAiB,CAAC,GAAG,SAAS;YACtD,QAAQ,EAAE,IAAA,uBAAS,EAAC,iBAAiB,CAAC,GAAG,UAAU;SACtD,EACD,MAAM,EAAE;YACJ,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,YAAY,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC;YACjD,QAAQ,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS;SAC5D,GACJ,CAAC;IAEF,MAAM,KAAK,GAA0E;QACjF;YACI,MAAM,EAAE,qBAAY;YACpB,IAAI,EAAE,IAAA,uBAAS,EAAC,iBAAiB,CAAC,GAAG,YAAY;SACpD;QACD;YACI,MAAM,EAAE,mBAAW;YACnB,IAAI,EAAE,UAAU;SACnB;QACD;YACI,MAAM,EAAE,2BAAe;YACvB,IAAI,EAAE,cAAc;SACvB;KACJ,CAAC;IAEF,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,oCAAmB;YAC3B,IAAI,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,4CAA4B;gBACpC,IAAI,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,8CAA6B;gBACrC,IAAI,EAAE,uBAAuB;aAChC,CAAC,CAAC;SACN;aAAM;YACH,KAAK,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,kCAAkB;gBAC1B,IAAI,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,oCAAmB;gBAC3B,IAAI,EAAE,uBAAuB;aAChC,CAAC,CAAC;SACN;KACJ;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,qBAAY;YACpB,IAAI,EAAE,YAAY,eAAe,CAAC,MAAM,CAAC,QAAQ,KAAK;SACzD,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,iCAAuB;YAC/B,IAAI,EAAE,YAAY,eAAe,CAAC,OAAO,CAAC,QAAQ,KAAK;SAC1D,CAAC,CAAC;KACN;SAAM;QACH,KAAK,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,uBAAa;YACrB,IAAI,EAAE,YAAY,eAAe,CAAC,OAAO,CAAC,QAAQ,KAAK;SAC1D,CAAC,CAAC;KACN;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,eAAK,EAAC,gCAAgC,CAAC,CAAC;AAC5C,CAAC;AAtFD,wCAsFC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,uBAAS,EAAC,iBAAiB,CAAC,CAAC,CAAC;AAClE,CAAC"}
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 { TemplateContext } from '../../types';
2
- export declare function renderAdminResolverWithEntity(context: TemplateContext): string;
3
- export declare function renderAdminResolver(context: TemplateContext): string;
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,OAAwB;IAClE,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,OAAwB;IACxD,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
+ {"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 { TemplateContext } from '../../types';
2
- export declare function renderApiExtensions(context: TemplateContext): string;
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,OAAwB;IACxD,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
+ {"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 { TemplateContext } from '../../types';
2
- export declare function renderShopResolverWithEntity(context: TemplateContext): string;
3
- export declare function renderShopResolver(context: TemplateContext): string;
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,OAAwB;IACjE,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,OAAwB;IACvD,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
+ {"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 { TemplateContext } from '../types';
2
- export declare function renderConstants(context: TemplateContext): string;
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,OAAwB;IACpD,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
+ {"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 { TemplateContext } from '../types';
2
- export declare function renderPlugin(context: TemplateContext): string;
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,OAAwB;IACjD,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
+ {"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 { TemplateContext } from '../../types';
2
- export declare function renderService(context: TemplateContext): string;
3
- export declare function renderServiceWithEntity(context: TemplateContext): string;
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,OAAwB;IAClD,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,OAAwB;IAC5D,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
+ {"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 { TemplateContext } from '../types';
2
- export declare function renderTypes(options: TemplateContext): string;
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,OAAwB;IAChD,OAAiC;;;;;;;CAOpC,CAAC;AACF,CAAC;AATD,kCASC"}
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 TemplateContext = GeneratePluginOptions & {
9
+ export type NewPluginTemplateContext = GeneratePluginOptions & {
9
10
  pluginName: string;
10
11
  pluginInitOptionsName: string;
11
12
  service: {
@@ -0,0 +1,2 @@
1
+ import { ManipulationSettings } from 'ts-morph';
2
+ export declare const defaultManipulationSettings: Partial<ManipulationSettings>;
@@ -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,3 @@
1
+ import { ClassDeclaration, Project } from 'ts-morph';
2
+ export declare function getCustomEntityName(cancelledMessage: string): Promise<string>;
3
+ export declare function selectPluginClass(project: Project, cancelledMessage: string): Promise<ClassDeclaration>;
@@ -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,5 @@
1
+ export declare function renderEntity<T extends {
2
+ entity: {
3
+ className: string;
4
+ };
5
+ }>(context: T): string;
@@ -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>;