@vendure/cli 2.2.0-next.7 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/cli.js +54 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/add/add.d.ts +1 -2
  4. package/dist/commands/add/add.js +58 -27
  5. package/dist/commands/add/add.js.map +1 -1
  6. package/dist/commands/add/api-extension/add-api-extension.d.ts +9 -0
  7. package/dist/commands/add/api-extension/add-api-extension.js +506 -0
  8. package/dist/commands/add/api-extension/add-api-extension.js.map +1 -0
  9. package/dist/commands/add/api-extension/templates/api-extensions.template.ts +3 -0
  10. package/dist/commands/add/api-extension/templates/crud-resolver.template.ts +109 -0
  11. package/dist/commands/add/api-extension/templates/simple-resolver.template.ts +31 -0
  12. package/dist/commands/add/codegen/add-codegen.d.ts +8 -0
  13. package/dist/commands/add/codegen/add-codegen.js +106 -0
  14. package/dist/commands/add/codegen/add-codegen.js.map +1 -0
  15. package/dist/commands/add/codegen/codegen-config-ref.d.ts +10 -0
  16. package/dist/commands/add/codegen/codegen-config-ref.js +53 -0
  17. package/dist/commands/add/codegen/codegen-config-ref.js.map +1 -0
  18. package/dist/commands/add/codegen/templates/codegen.template.ts +17 -0
  19. package/dist/commands/add/entity/add-entity.d.ts +15 -5
  20. package/dist/commands/add/entity/add-entity.js +130 -23
  21. package/dist/commands/add/entity/add-entity.js.map +1 -1
  22. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.d.ts +3 -2
  23. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js +3 -27
  24. package/dist/commands/add/entity/codemods/add-entity-to-plugin/add-entity-to-plugin.js.map +1 -1
  25. package/dist/commands/add/entity/templates/entity-translation.template.ts +29 -0
  26. package/dist/commands/add/entity/templates/entity.template.ts +18 -4
  27. package/dist/commands/add/job-queue/add-job-queue.d.ts +9 -0
  28. package/dist/commands/add/job-queue/add-job-queue.js +130 -0
  29. package/dist/commands/add/job-queue/add-job-queue.js.map +1 -0
  30. package/dist/commands/add/plugin/create-new-plugin.d.ts +8 -0
  31. package/dist/commands/add/plugin/create-new-plugin.js +209 -0
  32. package/dist/commands/add/plugin/create-new-plugin.js.map +1 -0
  33. package/dist/commands/add/plugin/templates/constants.template.ts +2 -0
  34. package/dist/commands/add/plugin/templates/plugin.template.ts +25 -0
  35. package/dist/commands/add/plugin/templates/types.template.ts +7 -0
  36. package/dist/commands/add/plugin/types.d.ts +8 -0
  37. package/dist/commands/add/plugin/types.js.map +1 -0
  38. package/dist/commands/add/service/add-service.d.ts +5 -0
  39. package/dist/commands/add/service/add-service.js +278 -0
  40. package/dist/commands/add/service/add-service.js.map +1 -0
  41. package/dist/commands/add/service/templates/basic-service.template.ts +13 -0
  42. package/dist/commands/add/service/templates/entity-service.template.ts +146 -0
  43. package/dist/commands/add/ui-extensions/add-ui-extensions.d.ts +6 -1
  44. package/dist/commands/add/ui-extensions/add-ui-extensions.js +32 -42
  45. package/dist/commands/add/ui-extensions/add-ui-extensions.js.map +1 -1
  46. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.d.ts +2 -2
  47. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js +6 -3
  48. package/dist/commands/add/ui-extensions/codemods/add-ui-extension-static-prop/add-ui-extension-static-prop.js.map +1 -1
  49. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.d.ts +2 -2
  50. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js +10 -10
  51. package/dist/commands/add/ui-extensions/codemods/update-admin-ui-plugin-init/update-admin-ui-plugin-init.js.map +1 -1
  52. package/dist/commands/add/ui-extensions/templates/providers.template.ts +3 -0
  53. package/dist/commands/add/ui-extensions/templates/routes.template.ts +3 -0
  54. package/dist/commands/migrate/generate-migration/generate-migration.d.ts +2 -0
  55. package/dist/commands/migrate/generate-migration/generate-migration.js +48 -0
  56. package/dist/commands/migrate/generate-migration/generate-migration.js.map +1 -0
  57. package/dist/commands/migrate/load-vendure-config-file.d.ts +2 -0
  58. package/dist/commands/migrate/load-vendure-config-file.js +24 -0
  59. package/dist/commands/migrate/load-vendure-config-file.js.map +1 -0
  60. package/dist/commands/migrate/migrate.d.ts +1 -0
  61. package/dist/commands/migrate/migrate.js +50 -0
  62. package/dist/commands/migrate/migrate.js.map +1 -0
  63. package/dist/commands/migrate/revert-migration/revert-migration.d.ts +2 -0
  64. package/dist/commands/migrate/revert-migration/revert-migration.js +31 -0
  65. package/dist/commands/migrate/revert-migration/revert-migration.js.map +1 -0
  66. package/dist/commands/migrate/run-migration/run-migration.d.ts +2 -0
  67. package/dist/commands/migrate/run-migration/run-migration.js +34 -0
  68. package/dist/commands/migrate/run-migration/run-migration.js.map +1 -0
  69. package/dist/constants.d.ts +8 -0
  70. package/dist/constants.js +9 -1
  71. package/dist/constants.js.map +1 -1
  72. package/dist/shared/cli-command.d.ts +24 -0
  73. package/dist/shared/cli-command.js +22 -0
  74. package/dist/shared/cli-command.js.map +1 -0
  75. package/dist/shared/entity-ref.d.ts +16 -0
  76. package/dist/shared/entity-ref.js +48 -0
  77. package/dist/shared/entity-ref.js.map +1 -0
  78. package/dist/shared/package-json-ref.d.ts +17 -0
  79. package/dist/shared/package-json-ref.js +115 -0
  80. package/dist/shared/package-json-ref.js.map +1 -0
  81. package/dist/shared/service-ref.d.ts +25 -0
  82. package/dist/shared/service-ref.js +82 -0
  83. package/dist/shared/service-ref.js.map +1 -0
  84. package/dist/shared/shared-prompts.d.ts +13 -3
  85. package/dist/shared/shared-prompts.js +143 -24
  86. package/dist/shared/shared-prompts.js.map +1 -1
  87. package/dist/shared/vendure-config-ref.d.ts +14 -0
  88. package/dist/shared/vendure-config-ref.js +65 -0
  89. package/dist/shared/vendure-config-ref.js.map +1 -0
  90. package/dist/shared/vendure-plugin-ref.d.ts +18 -0
  91. package/dist/shared/vendure-plugin-ref.js +145 -0
  92. package/dist/shared/vendure-plugin-ref.js.map +1 -0
  93. package/dist/utilities/ast-utils.d.ts +7 -9
  94. package/dist/utilities/ast-utils.js +65 -39
  95. package/dist/utilities/ast-utils.js.map +1 -1
  96. package/dist/utilities/utils.d.ts +2 -0
  97. package/dist/utilities/utils.js +12 -0
  98. package/dist/utilities/utils.js.map +1 -0
  99. package/package.json +6 -4
  100. package/dist/commands/add/ui-extensions/scaffold/providers.d.ts +0 -1
  101. package/dist/commands/add/ui-extensions/scaffold/providers.js +0 -13
  102. package/dist/commands/add/ui-extensions/scaffold/providers.js.map +0 -1
  103. package/dist/commands/add/ui-extensions/scaffold/routes.d.ts +0 -1
  104. package/dist/commands/add/ui-extensions/scaffold/routes.js +0 -13
  105. package/dist/commands/add/ui-extensions/scaffold/routes.js.map +0 -1
  106. package/dist/commands/new/new.d.ts +0 -2
  107. package/dist/commands/new/new.js +0 -18
  108. package/dist/commands/new/new.js.map +0 -1
  109. package/dist/commands/new/plugin/new-plugin.d.ts +0 -3
  110. package/dist/commands/new/plugin/new-plugin.js +0 -158
  111. package/dist/commands/new/plugin/new-plugin.js.map +0 -1
  112. package/dist/commands/new/plugin/scaffold/api/admin.resolver.d.ts +0 -3
  113. package/dist/commands/new/plugin/scaffold/api/admin.resolver.js +0 -66
  114. package/dist/commands/new/plugin/scaffold/api/admin.resolver.js.map +0 -1
  115. package/dist/commands/new/plugin/scaffold/api/api-extensions.d.ts +0 -2
  116. package/dist/commands/new/plugin/scaffold/api/api-extensions.js +0 -82
  117. package/dist/commands/new/plugin/scaffold/api/api-extensions.js.map +0 -1
  118. package/dist/commands/new/plugin/scaffold/api/shop.resolver.d.ts +0 -3
  119. package/dist/commands/new/plugin/scaffold/api/shop.resolver.js +0 -57
  120. package/dist/commands/new/plugin/scaffold/api/shop.resolver.js.map +0 -1
  121. package/dist/commands/new/plugin/scaffold/constants.d.ts +0 -2
  122. package/dist/commands/new/plugin/scaffold/constants.js +0 -21
  123. package/dist/commands/new/plugin/scaffold/constants.js.map +0 -1
  124. package/dist/commands/new/plugin/scaffold/plugin.d.ts +0 -2
  125. package/dist/commands/new/plugin/scaffold/plugin.js +0 -51
  126. package/dist/commands/new/plugin/scaffold/plugin.js.map +0 -1
  127. package/dist/commands/new/plugin/scaffold/services/service.d.ts +0 -3
  128. package/dist/commands/new/plugin/scaffold/services/service.js +0 -80
  129. package/dist/commands/new/plugin/scaffold/services/service.js.map +0 -1
  130. package/dist/commands/new/plugin/scaffold/types.d.ts +0 -2
  131. package/dist/commands/new/plugin/scaffold/types.js +0 -15
  132. package/dist/commands/new/plugin/scaffold/types.js.map +0 -1
  133. package/dist/commands/new/plugin/types.d.ts +0 -22
  134. package/dist/commands/new/plugin/types.js.map +0 -1
  135. package/dist/shared/shared-scaffold/entity.d.ts +0 -5
  136. package/dist/shared/shared-scaffold/entity.js +0 -26
  137. package/dist/shared/shared-scaffold/entity.js.map +0 -1
  138. package/dist/utilities/package-utils.d.ts +0 -8
  139. package/dist/utilities/package-utils.js +0 -96
  140. package/dist/utilities/package-utils.js.map +0 -1
  141. package/dist/utilities/scaffolder.d.ts +0 -8
  142. package/dist/utilities/scaffolder.js +0 -50
  143. package/dist/utilities/scaffolder.js.map +0 -1
  144. /package/dist/commands/{new → add}/plugin/types.js +0 -0
@@ -0,0 +1,25 @@
1
+ import { ClassDeclaration, Scope } from 'ts-morph';
2
+ import { EntityRef } from './entity-ref';
3
+ export interface ServiceFeatures {
4
+ findOne: boolean;
5
+ findAll: boolean;
6
+ create: boolean;
7
+ update: boolean;
8
+ delete: boolean;
9
+ }
10
+ export declare class ServiceRef {
11
+ readonly classDeclaration: ClassDeclaration;
12
+ readonly features: ServiceFeatures;
13
+ readonly crudEntityRef?: EntityRef;
14
+ get name(): string;
15
+ get nameCamelCase(): string;
16
+ get isCrudService(): boolean;
17
+ constructor(classDeclaration: ClassDeclaration);
18
+ injectDependency(dependency: {
19
+ scope?: Scope;
20
+ name: string;
21
+ type: string;
22
+ }): void;
23
+ private getEntityRef;
24
+ private unwrapReturnType;
25
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceRef = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const entity_ref_1 = require("./entity-ref");
6
+ class ServiceRef {
7
+ get name() {
8
+ return this.classDeclaration.getName();
9
+ }
10
+ get nameCamelCase() {
11
+ return this.name.charAt(0).toLowerCase() + this.name.slice(1);
12
+ }
13
+ get isCrudService() {
14
+ return this.crudEntityRef !== undefined;
15
+ }
16
+ constructor(classDeclaration) {
17
+ this.classDeclaration = classDeclaration;
18
+ this.features = {
19
+ findOne: !!this.classDeclaration.getMethod('findOne'),
20
+ findAll: !!this.classDeclaration.getMethod('findAll'),
21
+ create: !!this.classDeclaration.getMethod('create'),
22
+ update: !!this.classDeclaration.getMethod('update'),
23
+ delete: !!this.classDeclaration.getMethod('delete'),
24
+ };
25
+ this.crudEntityRef = this.getEntityRef();
26
+ }
27
+ injectDependency(dependency) {
28
+ var _a;
29
+ for (const constructorDeclaration of this.classDeclaration.getConstructors()) {
30
+ const existingParam = constructorDeclaration.getParameter(dependency.name);
31
+ if (!existingParam) {
32
+ constructorDeclaration.addParameter({
33
+ name: dependency.name,
34
+ type: dependency.type,
35
+ hasQuestionToken: false,
36
+ isReadonly: false,
37
+ scope: (_a = dependency.scope) !== null && _a !== void 0 ? _a : ts_morph_1.Scope.Private,
38
+ });
39
+ }
40
+ }
41
+ }
42
+ getEntityRef() {
43
+ var _a;
44
+ if (this.features.findOne) {
45
+ const potentialCrudMethodNames = ['findOne', 'findAll', 'create', 'update', 'delete'];
46
+ for (const methodName of potentialCrudMethodNames) {
47
+ const findOneMethod = this.classDeclaration.getMethod(methodName);
48
+ const returnType = findOneMethod === null || findOneMethod === void 0 ? void 0 : findOneMethod.getReturnType();
49
+ if (returnType) {
50
+ const unwrappedReturnType = this.unwrapReturnType(returnType);
51
+ const typeDeclaration = unwrappedReturnType.getSymbolOrThrow().getDeclarations()[0];
52
+ if (typeDeclaration && ts_morph_1.Node.isClassDeclaration(typeDeclaration)) {
53
+ if (((_a = typeDeclaration.getExtends()) === null || _a === void 0 ? void 0 : _a.getText()) === 'VendureEntity') {
54
+ return new entity_ref_1.EntityRef(typeDeclaration);
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ return;
61
+ }
62
+ unwrapReturnType(returnType) {
63
+ if (returnType.isUnion()) {
64
+ const nonNullType = returnType.getUnionTypes().find(t => !t.isNull() && !t.isUndefined());
65
+ if (!nonNullType) {
66
+ throw new Error('Could not find non-null type in union');
67
+ }
68
+ return this.unwrapReturnType(nonNullType);
69
+ }
70
+ const typeArguments = returnType.getTypeArguments();
71
+ if (typeArguments.length) {
72
+ return this.unwrapReturnType(typeArguments[0]);
73
+ }
74
+ const aliasTypeArguments = returnType.getAliasTypeArguments();
75
+ if (aliasTypeArguments.length) {
76
+ return this.unwrapReturnType(aliasTypeArguments[0]);
77
+ }
78
+ return returnType;
79
+ }
80
+ }
81
+ exports.ServiceRef = ServiceRef;
82
+ //# sourceMappingURL=service-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-ref.js","sourceRoot":"","sources":["../../src/shared/service-ref.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,13 @@
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>;
1
+ import { Project } from 'ts-morph';
2
+ import { EntityRef } from './entity-ref';
3
+ import { ServiceRef } from './service-ref';
4
+ import { VendurePluginRef } from './vendure-plugin-ref';
5
+ export declare function analyzeProject(options: {
6
+ providedVendurePlugin?: VendurePluginRef;
7
+ cancelledMessage?: string;
8
+ }): Promise<Project>;
9
+ export declare function selectPlugin(project: Project, cancelledMessage: string): Promise<VendurePluginRef>;
10
+ export declare function selectEntity(plugin: VendurePluginRef): Promise<EntityRef>;
11
+ export declare function selectMultiplePluginClasses(project: Project, cancelledMessage: string): Promise<VendurePluginRef[]>;
12
+ export declare function selectServiceRef(project: Project, plugin: VendurePluginRef, canCreateNew?: boolean): Promise<ServiceRef>;
13
+ export declare function getServices(project: Project): ServiceRef[];
@@ -1,45 +1,164 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectPluginClass = exports.getCustomEntityName = void 0;
3
+ exports.getServices = exports.selectServiceRef = exports.selectMultiplePluginClasses = exports.selectEntity = exports.selectPlugin = exports.analyzeProject = void 0;
4
4
  const prompts_1 = require("@clack/prompts");
5
- const change_case_1 = require("change-case");
5
+ const add_service_1 = require("../commands/add/service/add-service");
6
+ const constants_1 = require("../constants");
6
7
  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
- },
8
+ const utils_1 = require("../utilities/utils");
9
+ const service_ref_1 = require("./service-ref");
10
+ const vendure_plugin_ref_1 = require("./vendure-plugin-ref");
11
+ async function analyzeProject(options) {
12
+ const providedVendurePlugin = options.providedVendurePlugin;
13
+ let project = providedVendurePlugin === null || providedVendurePlugin === void 0 ? void 0 : providedVendurePlugin.classDeclaration.getProject();
14
+ if (!providedVendurePlugin) {
15
+ const projectSpinner = (0, prompts_1.spinner)();
16
+ projectSpinner.start('Analyzing project...');
17
+ await (0, utils_1.pauseForPromptDisplay)();
18
+ project = (0, ast_utils_1.getTsMorphProject)();
19
+ projectSpinner.stop('Project analyzed');
20
+ }
21
+ return project;
22
+ }
23
+ exports.analyzeProject = analyzeProject;
24
+ async function selectPlugin(project, cancelledMessage) {
25
+ const pluginClasses = (0, ast_utils_1.getPluginClasses)(project);
26
+ if (pluginClasses.length === 0) {
27
+ (0, prompts_1.cancel)(constants_1.Messages.NoPluginsFound);
28
+ process.exit(0);
29
+ }
30
+ const targetPlugin = await (0, prompts_1.select)({
31
+ message: 'To which plugin would you like to add the feature?',
32
+ options: pluginClasses.map(c => ({
33
+ value: c,
34
+ label: c.getName(),
35
+ })),
36
+ maxItems: 10,
21
37
  });
22
- if ((0, prompts_1.isCancel)(entityName)) {
38
+ if ((0, prompts_1.isCancel)(targetPlugin)) {
23
39
  (0, prompts_1.cancel)(cancelledMessage);
24
40
  process.exit(0);
25
41
  }
26
- return (0, change_case_1.pascalCase)(entityName);
42
+ return new vendure_plugin_ref_1.VendurePluginRef(targetPlugin);
27
43
  }
28
- exports.getCustomEntityName = getCustomEntityName;
29
- async function selectPluginClass(project, cancelledMessage) {
44
+ exports.selectPlugin = selectPlugin;
45
+ async function selectEntity(plugin) {
46
+ const entities = plugin.getEntities();
47
+ if (entities.length === 0) {
48
+ throw new Error(constants_1.Messages.NoEntitiesFound);
49
+ }
50
+ const targetEntity = await (0, prompts_1.select)({
51
+ message: 'Select an entity',
52
+ options: entities
53
+ .filter(e => !e.isTranslation())
54
+ .map(e => ({
55
+ value: e,
56
+ label: e.name,
57
+ })),
58
+ maxItems: 10,
59
+ });
60
+ if ((0, prompts_1.isCancel)(targetEntity)) {
61
+ (0, prompts_1.cancel)('Cancelled');
62
+ process.exit(0);
63
+ }
64
+ return targetEntity;
65
+ }
66
+ exports.selectEntity = selectEntity;
67
+ async function selectMultiplePluginClasses(project, cancelledMessage) {
30
68
  const pluginClasses = (0, ast_utils_1.getPluginClasses)(project);
31
- const targetPlugin = await (0, prompts_1.select)({
69
+ if (pluginClasses.length === 0) {
70
+ (0, prompts_1.cancel)(constants_1.Messages.NoPluginsFound);
71
+ process.exit(0);
72
+ }
73
+ const selectAll = await (0, prompts_1.select)({
32
74
  message: 'To which plugin would you like to add the feature?',
75
+ options: [
76
+ {
77
+ value: 'all',
78
+ label: 'All plugins',
79
+ },
80
+ {
81
+ value: 'specific',
82
+ label: 'Specific plugins (you will be prompted to select the plugins)',
83
+ },
84
+ ],
85
+ });
86
+ if ((0, prompts_1.isCancel)(selectAll)) {
87
+ (0, prompts_1.cancel)(cancelledMessage);
88
+ process.exit(0);
89
+ }
90
+ if (selectAll === 'all') {
91
+ return pluginClasses.map(pc => new vendure_plugin_ref_1.VendurePluginRef(pc));
92
+ }
93
+ const targetPlugins = await (0, prompts_1.multiselect)({
94
+ message: 'Select one or more plugins (use ↑, ↓, space to select)',
33
95
  options: pluginClasses.map(c => ({
34
96
  value: c,
35
97
  label: c.getName(),
36
98
  })),
37
99
  });
38
- if ((0, prompts_1.isCancel)(targetPlugin)) {
100
+ if ((0, prompts_1.isCancel)(targetPlugins)) {
39
101
  (0, prompts_1.cancel)(cancelledMessage);
40
102
  process.exit(0);
41
103
  }
42
- return targetPlugin;
104
+ return targetPlugins.map(pc => new vendure_plugin_ref_1.VendurePluginRef(pc));
105
+ }
106
+ exports.selectMultiplePluginClasses = selectMultiplePluginClasses;
107
+ async function selectServiceRef(project, plugin, canCreateNew = true) {
108
+ const serviceRefs = getServices(project).filter(sr => {
109
+ return sr.classDeclaration
110
+ .getSourceFile()
111
+ .getDirectoryPath()
112
+ .includes(plugin.getSourceFile().getDirectoryPath());
113
+ });
114
+ if (serviceRefs.length === 0 && !canCreateNew) {
115
+ throw new Error(constants_1.Messages.NoServicesFound);
116
+ }
117
+ const result = await (0, prompts_1.select)({
118
+ message: 'Which service contains the business logic for this API extension?',
119
+ maxItems: 8,
120
+ options: [
121
+ ...(canCreateNew
122
+ ? [
123
+ {
124
+ value: 'new',
125
+ label: `Create new generic service`,
126
+ },
127
+ ]
128
+ : []),
129
+ ...serviceRefs.map(sr => {
130
+ const features = sr.crudEntityRef
131
+ ? `CRUD service for ${sr.crudEntityRef.name}`
132
+ : `Generic service`;
133
+ const label = `${sr.name}: (${features})`;
134
+ return {
135
+ value: sr,
136
+ label,
137
+ };
138
+ }),
139
+ ],
140
+ });
141
+ if ((0, prompts_1.isCancel)(result)) {
142
+ (0, prompts_1.cancel)('Cancelled');
143
+ process.exit(0);
144
+ }
145
+ if (result === 'new') {
146
+ return add_service_1.addServiceCommand.run({ type: 'basic', plugin }).then(r => r.serviceRef);
147
+ }
148
+ else {
149
+ return result;
150
+ }
151
+ }
152
+ exports.selectServiceRef = selectServiceRef;
153
+ function getServices(project) {
154
+ const servicesSourceFiles = project.getSourceFiles().filter(sf => {
155
+ return (sf.getDirectory().getPath().endsWith('/services') ||
156
+ sf.getDirectory().getPath().endsWith('/service'));
157
+ });
158
+ return servicesSourceFiles
159
+ .flatMap(sf => sf.getClasses())
160
+ .filter(classDeclaration => classDeclaration.getDecorator('Injectable'))
161
+ .map(classDeclaration => new service_ref_1.ServiceRef(classDeclaration));
43
162
  }
44
- exports.selectPluginClass = selectPluginClass;
163
+ exports.getServices = getServices;
45
164
  //# sourceMappingURL=shared-prompts.js.map
@@ -1 +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,CAAC;gBACT,OAAO,wCAAwC,CAAC;YACpD,CAAC;YACD,MAAM,eAAe,GAAG,qBAAqB,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,oEAAoE,CAAC;YAChF,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC;QACvB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;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,CAAC;QACzB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,YAAgC,CAAC;AAC5C,CAAC;AAdD,8CAcC"}
1
+ {"version":3,"file":"shared-prompts.js","sourceRoot":"","sources":["../../src/shared/shared-prompts.ts"],"names":[],"mappings":";;;AAAA,4CAAgF;AAGhF,qEAAwE;AACxE,4CAAwC;AACxC,sDAA6E;AAC7E,8CAA2D;AAG3D,+CAA2C;AAC3C,6DAAwD;AAEjD,KAAK,UAAU,cAAc,CAAC,OAGpC;IACG,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAC5D,IAAI,OAAO,GAAG,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACnE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,IAAA,iBAAO,GAAE,CAAC;QACjC,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7C,MAAM,IAAA,6BAAqB,GAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,6BAAiB,GAAE,CAAC;QAC9B,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAkB,CAAC;AAC9B,CAAC;AAdD,wCAcC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,gBAAwB;IACzE,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAA,gBAAM,EAAC,oBAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,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;QACH,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,CAAC;QACzB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,qCAAgB,CAAC,YAAgC,CAAC,CAAC;AAClE,CAAC;AAnBD,oCAmBC;AAEM,KAAK,UAAU,YAAY,CAAC,MAAwB;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oBAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC,CAAC,IAAI;SAChB,CAAC,CAAC;QACP,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,CAAC;QACzB,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,YAAyB,CAAC;AACrC,CAAC;AApBD,oCAoBC;AAEM,KAAK,UAAU,2BAA2B,CAC7C,OAAgB,EAChB,gBAAwB;IAExB,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAA,gBAAM,EAAC,oBAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC3B,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE;YACL;gBACI,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,aAAa;aACvB;YACD;gBACI,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,+DAA+D;aACzE;SACJ;KACJ,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,SAAS,CAAC,EAAE,CAAC;QACtB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,qCAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,IAAA,qBAAW,EAAC;QACpC,OAAO,EAAE,wDAAwD;QACjE,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,aAAa,CAAC,EAAE,CAAC;QAC1B,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAQ,aAAoC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,qCAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAzCD,kEAyCC;AAEM,KAAK,UAAU,gBAAgB,CAClC,OAAgB,EAChB,MAAwB,EACxB,YAAY,GAAG,IAAI;IAEnB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACjD,OAAO,EAAE,CAAC,gBAAgB;aACrB,aAAa,EAAE;aACf,gBAAgB,EAAE;aAClB,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oBAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC;QACxB,OAAO,EAAE,mEAAmE;QAC5E,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE;YACL,GAAG,CAAC,YAAY;gBACZ,CAAC,CAAC;oBACI;wBACI,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,4BAA4B;qBACtC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa;oBAC7B,CAAC,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE;oBAC7C,CAAC,CAAC,iBAAiB,CAAC;gBACxB,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC;gBAC1C,OAAO;oBACH,KAAK,EAAE,EAAE;oBACT,KAAK;iBACR,CAAC;YACN,CAAC,CAAC;SACL;KACJ,CAAC,CAAC;IACH,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;QACnB,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,+BAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACJ,OAAO,MAAoB,CAAC;IAChC,CAAC;AACL,CAAC;AAjDD,4CAiDC;AAED,SAAgB,WAAW,CAAC,OAAgB;IACxC,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAC7D,OAAO,CACH,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACnD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,mBAAmB;SACrB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;SAC9B,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACvE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,wBAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnE,CAAC;AAZD,kCAYC"}
@@ -0,0 +1,14 @@
1
+ import { ObjectLiteralExpression, Project, SourceFile } from 'ts-morph';
2
+ export declare class VendureConfigRef {
3
+ private project;
4
+ readonly sourceFile: SourceFile;
5
+ readonly configObject: ObjectLiteralExpression;
6
+ constructor(project: Project, options?: {
7
+ checkFileName?: boolean;
8
+ });
9
+ getPathRelativeToProjectRoot(): string;
10
+ getConfigObjectVariableName(): string | undefined;
11
+ getPluginsArray(): import("ts-morph").ArrayLiteralExpression | undefined;
12
+ addToPluginsArray(text: string): void;
13
+ private isVendureConfigVariableDeclaration;
14
+ }
@@ -0,0 +1,65 @@
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.VendureConfigRef = 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
+ class VendureConfigRef {
11
+ constructor(project, options = {}) {
12
+ var _a, _b;
13
+ this.project = project;
14
+ const checkFileName = (_a = options.checkFileName) !== null && _a !== void 0 ? _a : true;
15
+ const getVendureConfigSourceFile = (sourceFiles) => {
16
+ return sourceFiles.find(sf => {
17
+ return ((checkFileName ? sf.getFilePath().endsWith('vendure-config.ts') : true) &&
18
+ sf.getVariableDeclarations().find(v => this.isVendureConfigVariableDeclaration(v)));
19
+ });
20
+ };
21
+ const findAndAddVendureConfigToProject = () => {
22
+ const srcDir = project.getDirectory('src');
23
+ if (srcDir) {
24
+ const srcDirPath = srcDir.getPath();
25
+ const srcFiles = fs_extra_1.default.readdirSync(srcDirPath);
26
+ const filePath = srcFiles.find(file => file.includes('vendure-config.ts'));
27
+ if (filePath) {
28
+ project.addSourceFileAtPath(node_path_1.default.join(srcDirPath, filePath));
29
+ }
30
+ }
31
+ };
32
+ let vendureConfigFile = getVendureConfigSourceFile(project.getSourceFiles());
33
+ if (!vendureConfigFile) {
34
+ findAndAddVendureConfigToProject();
35
+ vendureConfigFile = getVendureConfigSourceFile(project.getSourceFiles());
36
+ }
37
+ if (!vendureConfigFile) {
38
+ throw new Error('Could not find the VendureConfig declaration in your project.');
39
+ }
40
+ this.sourceFile = vendureConfigFile;
41
+ this.configObject = (_b = vendureConfigFile === null || vendureConfigFile === void 0 ? void 0 : vendureConfigFile.getVariableDeclarations().find(v => this.isVendureConfigVariableDeclaration(v))) === null || _b === void 0 ? void 0 : _b.getChildren().find(ts_morph_1.Node.isObjectLiteralExpression);
42
+ }
43
+ getPathRelativeToProjectRoot() {
44
+ var _a, _b;
45
+ return node_path_1.default.relative((_b = (_a = this.project.getRootDirectories()[0]) === null || _a === void 0 ? void 0 : _a.getPath()) !== null && _b !== void 0 ? _b : '', this.sourceFile.getFilePath());
46
+ }
47
+ getConfigObjectVariableName() {
48
+ var _a, _b;
49
+ return (_b = (_a = this.sourceFile) === null || _a === void 0 ? void 0 : _a.getVariableDeclarations().find(v => this.isVendureConfigVariableDeclaration(v))) === null || _b === void 0 ? void 0 : _b.getName();
50
+ }
51
+ getPluginsArray() {
52
+ var _a;
53
+ return (_a = this.configObject
54
+ .getProperty('plugins')) === null || _a === void 0 ? void 0 : _a.getFirstChildByKind(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
55
+ }
56
+ addToPluginsArray(text) {
57
+ var _a;
58
+ (_a = this.getPluginsArray()) === null || _a === void 0 ? void 0 : _a.addElement(text).formatText();
59
+ }
60
+ isVendureConfigVariableDeclaration(v) {
61
+ return v.getType().getText(v) === 'VendureConfig';
62
+ }
63
+ }
64
+ exports.VendureConfigRef = VendureConfigRef;
65
+ //# sourceMappingURL=vendure-config-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendure-config-ref.js","sourceRoot":"","sources":["../../src/shared/vendure-config-ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ClassDeclaration, VariableDeclaration } from 'ts-morph';
2
+ import { EntityRef } from './entity-ref';
3
+ export declare class VendurePluginRef {
4
+ classDeclaration: ClassDeclaration;
5
+ constructor(classDeclaration: ClassDeclaration);
6
+ get name(): string;
7
+ getSourceFile(): import("ts-morph").SourceFile;
8
+ getPluginDir(): import("ts-morph").Directory;
9
+ getMetadataOptions(): import("ts-morph").ObjectLiteralExpression;
10
+ addEntity(entityClassName: string): void;
11
+ addProvider(providerClassName: string): void;
12
+ addAdminApiExtensions(extension: {
13
+ schema: VariableDeclaration | undefined;
14
+ resolvers: ClassDeclaration[];
15
+ }): void;
16
+ getEntities(): EntityRef[];
17
+ hasUiExtensions(): boolean;
18
+ }
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendurePluginRef = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const constants_1 = require("../constants");
6
+ const entity_ref_1 = require("./entity-ref");
7
+ class VendurePluginRef {
8
+ constructor(classDeclaration) {
9
+ this.classDeclaration = classDeclaration;
10
+ }
11
+ get name() {
12
+ return this.classDeclaration.getName();
13
+ }
14
+ getSourceFile() {
15
+ return this.classDeclaration.getSourceFile();
16
+ }
17
+ getPluginDir() {
18
+ return this.classDeclaration.getSourceFile().getDirectory();
19
+ }
20
+ getMetadataOptions() {
21
+ const pluginDecorator = this.classDeclaration.getDecorator('VendurePlugin');
22
+ if (!pluginDecorator) {
23
+ throw new Error('Could not find VendurePlugin decorator');
24
+ }
25
+ const pluginOptions = pluginDecorator.getArguments()[0];
26
+ if (!pluginOptions || !ts_morph_1.Node.isObjectLiteralExpression(pluginOptions)) {
27
+ throw new Error('Could not find VendurePlugin options');
28
+ }
29
+ return pluginOptions;
30
+ }
31
+ addEntity(entityClassName) {
32
+ const pluginOptions = this.getMetadataOptions();
33
+ const entityProperty = pluginOptions.getProperty('entities');
34
+ if (entityProperty) {
35
+ const entitiesArray = entityProperty.getFirstChildByKind(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
36
+ if (entitiesArray) {
37
+ entitiesArray.addElement(entityClassName);
38
+ }
39
+ }
40
+ else {
41
+ pluginOptions.addPropertyAssignment({
42
+ name: 'entities',
43
+ initializer: `[${entityClassName}]`,
44
+ });
45
+ }
46
+ }
47
+ addProvider(providerClassName) {
48
+ const pluginOptions = this.getMetadataOptions();
49
+ const providerProperty = pluginOptions.getProperty('providers');
50
+ if (providerProperty) {
51
+ const providersArray = providerProperty.getFirstChildByKind(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
52
+ if (providersArray) {
53
+ providersArray.addElement(providerClassName);
54
+ }
55
+ }
56
+ else {
57
+ pluginOptions.addPropertyAssignment({
58
+ name: 'providers',
59
+ initializer: `[${providerClassName}]`,
60
+ });
61
+ }
62
+ }
63
+ addAdminApiExtensions(extension) {
64
+ var _a, _b;
65
+ const pluginOptions = this.getMetadataOptions();
66
+ const adminApiExtensionsProperty = (_a = pluginOptions
67
+ .getProperty('adminApiExtensions')) === null || _a === void 0 ? void 0 : _a.getType().getSymbolOrThrow().getDeclarations()[0];
68
+ if (extension.schema &&
69
+ adminApiExtensionsProperty &&
70
+ ts_morph_1.Node.isObjectLiteralExpression(adminApiExtensionsProperty)) {
71
+ const schemaProp = adminApiExtensionsProperty.getProperty('schema');
72
+ if (!schemaProp) {
73
+ adminApiExtensionsProperty.addPropertyAssignment({
74
+ name: 'schema',
75
+ initializer: (_b = extension.schema) === null || _b === void 0 ? void 0 : _b.getName(),
76
+ });
77
+ }
78
+ const resolversProp = adminApiExtensionsProperty.getProperty('resolvers');
79
+ if (resolversProp) {
80
+ const resolversArray = resolversProp.getFirstChildByKind(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
81
+ if (resolversArray) {
82
+ for (const resolver of extension.resolvers) {
83
+ const resolverName = resolver.getName();
84
+ if (resolverName) {
85
+ resolversArray.addElement(resolverName);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ else {
91
+ adminApiExtensionsProperty.addPropertyAssignment({
92
+ name: 'resolvers',
93
+ initializer: `[${extension.resolvers.map(r => r.getName()).join(', ')}]`,
94
+ });
95
+ }
96
+ }
97
+ else if (extension.schema) {
98
+ pluginOptions
99
+ .addPropertyAssignment({
100
+ name: 'adminApiExtensions',
101
+ initializer: `{
102
+ schema: ${extension.schema.getName()},
103
+ resolvers: [${extension.resolvers.map(r => r.getName()).join(', ')}]
104
+ }`,
105
+ })
106
+ .formatText();
107
+ }
108
+ }
109
+ getEntities() {
110
+ const metadataOptions = this.getMetadataOptions();
111
+ const entitiesProperty = metadataOptions.getProperty('entities');
112
+ if (!entitiesProperty) {
113
+ return [];
114
+ }
115
+ const entitiesArray = entitiesProperty.getFirstChildByKind(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
116
+ if (!entitiesArray) {
117
+ return [];
118
+ }
119
+ const entityNames = entitiesArray
120
+ .getElements()
121
+ .filter(ts_morph_1.Node.isIdentifier)
122
+ .map(e => e.getText());
123
+ const entitySourceFiles = this.getSourceFile()
124
+ .getImportDeclarations()
125
+ .filter(imp => {
126
+ for (const namedImport of imp.getNamedImports()) {
127
+ if (entityNames.includes(namedImport.getName())) {
128
+ return true;
129
+ }
130
+ }
131
+ })
132
+ .map(imp => imp.getModuleSpecifierSourceFileOrThrow());
133
+ return entitySourceFiles
134
+ .map(sourceFile => sourceFile.getClasses().filter(c => { var _a; return ((_a = c.getExtends()) === null || _a === void 0 ? void 0 : _a.getText()) === 'VendureEntity'; }))
135
+ .flat()
136
+ .map(classDeclaration => new entity_ref_1.EntityRef(classDeclaration));
137
+ }
138
+ hasUiExtensions() {
139
+ return !!this.classDeclaration
140
+ .getStaticProperties()
141
+ .find(prop => { var _a; return ((_a = prop.getType().getSymbol()) === null || _a === void 0 ? void 0 : _a.getName()) === constants_1.AdminUiExtensionTypeName; });
142
+ }
143
+ }
144
+ exports.VendurePluginRef = VendurePluginRef;
145
+ //# sourceMappingURL=vendure-plugin-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendure-plugin-ref.js","sourceRoot":"","sources":["../../src/shared/vendure-plugin-ref.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { ObjectLiteralExpression, Project, SourceFile } from 'ts-morph';
2
- export declare function getTsMorphProject(): Project;
1
+ import { Directory, Project, ProjectOptions, SourceFile } from 'ts-morph';
2
+ import { EntityRef } from '../shared/entity-ref';
3
+ export declare function getTsMorphProject(options?: ProjectOptions): Project;
3
4
  export declare function getPluginClasses(project: Project): import("ts-morph").ClassDeclaration[];
4
- export declare function getVendureConfig(project: Project, options?: {
5
- checkFileName?: boolean;
6
- }): ObjectLiteralExpression;
7
5
  export declare function addImportsToFile(sourceFile: SourceFile, options: {
8
6
  moduleSpecifier: string | SourceFile;
9
7
  namedImports?: string[];
@@ -11,8 +9,8 @@ export declare function addImportsToFile(sourceFile: SourceFile, options: {
11
9
  order?: number;
12
10
  }): void;
13
11
  export declare function getRelativeImportPath(locations: {
14
- from: SourceFile;
15
- to: SourceFile;
12
+ from: SourceFile | Directory;
13
+ to: SourceFile | Directory;
16
14
  }): string;
17
- export declare function createSourceFileFromTemplate(project: Project, templatePath: string): SourceFile;
18
- export declare function kebabize(str: string): string;
15
+ export declare function createFile(project: Project, templatePath: string): SourceFile;
16
+ export declare function customizeCreateUpdateInputInterfaces(sourceFile: SourceFile, entityRef: EntityRef): void;