@vendure-platform/create 0.1.0 → 0.2.1-nightly.202605190703

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 (97) hide show
  1. package/README.md +37 -27
  2. package/dist/assets/storefront/.env.example +14 -14
  3. package/dist/assets/storefront/messages/de.json +2 -3
  4. package/dist/assets/storefront/messages/en.json +2 -3
  5. package/dist/assets/storefront/next.config.ts +22 -21
  6. package/dist/assets/storefront/package.json +75 -75
  7. package/dist/assets/storefront/public/scenarios/customer/logo.svg +4 -0
  8. package/dist/assets/storefront/src/app/[locale]/layout.tsx +0 -4
  9. package/dist/assets/storefront/src/app/[locale]/sign-in/login-form.tsx +70 -102
  10. package/dist/assets/storefront/src/app/[locale]/sign-in/page.tsx +2 -3
  11. package/dist/assets/storefront/src/config/scenario-meta.ts +3 -7
  12. package/dist/assets/storefront/src/config/scenario.ts +14 -30
  13. package/dist/assets/storefront/src/graphql-env.d.ts +456 -0
  14. package/dist/assets/storefront/src/scenarios/customer/branding.ts +142 -0
  15. package/dist/assets/storefront/src/scenarios/customer/hero.tsx +76 -0
  16. package/dist/assets/storefront/src/scenarios/{default → customer}/index.ts +3 -3
  17. package/dist/assets/storefront/src/scenarios/{default → customer}/meta.ts +1 -1
  18. package/dist/assets/storefront/src/schema.graphql +5852 -0
  19. package/dist/assets/storefront/tsconfig.json +17 -8
  20. package/dist/assets/templates/README.md.hbs +1 -1
  21. package/dist/assets/templates/docker-compose.yml.hbs +0 -4
  22. package/dist/assets/templates/env.hbs +13 -7
  23. package/dist/assets/templates/environment.d.ts.hbs +1 -5
  24. package/dist/assets/templates/npmrc.hbs +1 -1
  25. package/dist/assets/templates/populate.ts.hbs +17 -0
  26. package/dist/assets/templates/server-package.json.hbs +3 -2
  27. package/dist/bin/run.js +17 -3
  28. package/dist/bin/run.js.map +1 -1
  29. package/dist/cli.d.ts +6 -1
  30. package/dist/cli.js +147 -25
  31. package/dist/cli.js.map +1 -1
  32. package/dist/index.d.ts +5 -3
  33. package/dist/index.js +9 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/plugin-registry.d.ts +43 -6
  36. package/dist/plugin-registry.js +139 -421
  37. package/dist/plugin-registry.js.map +1 -1
  38. package/dist/registry.d.ts +18 -0
  39. package/dist/registry.js +29 -0
  40. package/dist/registry.js.map +1 -0
  41. package/dist/scaffold-shared.d.ts +19 -0
  42. package/dist/scaffold-shared.js +114 -0
  43. package/dist/scaffold-shared.js.map +1 -0
  44. package/dist/scaffold-storefront-only.d.ts +6 -0
  45. package/dist/scaffold-storefront-only.js +101 -0
  46. package/dist/scaffold-storefront-only.js.map +1 -0
  47. package/dist/scaffolder.js +22 -42
  48. package/dist/scaffolder.js.map +1 -1
  49. package/dist/storefront-copier.d.ts +26 -3
  50. package/dist/storefront-copier.js +63 -12
  51. package/dist/storefront-copier.js.map +1 -1
  52. package/dist/template-renderer.d.ts +24 -7
  53. package/dist/template-renderer.js +32 -64
  54. package/dist/template-renderer.js.map +1 -1
  55. package/dist/types.d.ts +46 -27
  56. package/package.json +3 -1
  57. package/dist/assets/storefront/.env.local +0 -1
  58. package/dist/assets/storefront/public/scenarios/b2b-wholesale/hero/hero-bg.webp +0 -0
  59. package/dist/assets/storefront/public/scenarios/b2b-wholesale/logo.svg +0 -4
  60. package/dist/assets/storefront/public/scenarios/default/logo.svg +0 -4
  61. package/dist/assets/storefront/public/scenarios/kaminpro/hero/hero-bg.webp +0 -0
  62. package/dist/assets/storefront/public/scenarios/kaminpro/logo.svg +0 -7
  63. package/dist/assets/storefront/src/components/shared/scenario-paused.tsx +0 -80
  64. package/dist/assets/storefront/src/scenarios/b2b-wholesale/branding.ts +0 -180
  65. package/dist/assets/storefront/src/scenarios/b2b-wholesale/hero.tsx +0 -122
  66. package/dist/assets/storefront/src/scenarios/b2b-wholesale/index.ts +0 -21
  67. package/dist/assets/storefront/src/scenarios/b2b-wholesale/meta.ts +0 -3
  68. package/dist/assets/storefront/src/scenarios/default/branding.ts +0 -148
  69. package/dist/assets/storefront/src/scenarios/default/hero.tsx +0 -107
  70. package/dist/assets/storefront/src/scenarios/kaminpro/auth-gate.tsx +0 -36
  71. package/dist/assets/storefront/src/scenarios/kaminpro/branding.ts +0 -238
  72. package/dist/assets/storefront/src/scenarios/kaminpro/cart-items.tsx +0 -359
  73. package/dist/assets/storefront/src/scenarios/kaminpro/hero.tsx +0 -123
  74. package/dist/assets/storefront/src/scenarios/kaminpro/index.ts +0 -50
  75. package/dist/assets/storefront/src/scenarios/kaminpro/meta.ts +0 -9
  76. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/banners.tsx +0 -21
  77. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/bom-basket.tsx +0 -221
  78. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/btn.tsx +0 -38
  79. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/chip.tsx +0 -35
  80. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/config-header.tsx +0 -72
  81. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/field-row.tsx +0 -126
  82. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/info-dot.tsx +0 -38
  83. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/login-notice.tsx +0 -81
  84. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/module-panel.tsx +0 -144
  85. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/quote-dialog.tsx +0 -110
  86. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/schematic.tsx +0 -674
  87. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/components/why-panel.tsx +0 -66
  88. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/configurator-pdp.tsx +0 -43
  89. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/configurator-shell.tsx +0 -320
  90. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/lib/data.ts +0 -150
  91. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/lib/types.ts +0 -30
  92. package/dist/assets/storefront/src/scenarios/kaminpro/pdp/styles.css +0 -104
  93. package/dist/assets/storefront/src/scenarios/kaminpro/shop-by-system.tsx +0 -97
  94. package/dist/assets/storefront/src/scenarios/kaminpro/system-finder/decision-tree.ts +0 -261
  95. package/dist/assets/storefront/src/scenarios/kaminpro/system-finder/page.tsx +0 -21
  96. package/dist/assets/storefront/src/scenarios/kaminpro/system-finder/wizard.tsx +0 -600
  97. package/dist/assets/storefront/src/schema.graphql.placeholder +0 -5
@@ -1,56 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.B2B_SUITE_KEYS = exports.pluginRegistry = void 0;
3
+ exports.SELECTABLE_KEYS = exports.ALWAYS_ACTIVE_KEYS = exports.INTERNAL_PACKAGES = exports.pluginRegistry = void 0;
4
4
  exports.getPlugin = getPlugin;
5
- exports.resolvePluginDependencies = resolvePluginDependencies;
6
- // NOTE: Order in this array controls:
7
- // - The order of configBlock emission (legacy mode)
8
- // - The order plugins appear in the multi-select prompt
9
- // VendurePlatform handles its own ordering internally.
10
- exports.pluginRegistry = [
11
- {
12
- key: 'global-search',
13
- packageName: '@vendure-platform/global-search',
14
- displayName: 'Global Search',
15
- category: 'search',
16
- requires: ['advanced-search'],
17
- imports: ['GlobalSearchPlugin', 'defaultSearchEntries'],
5
+ exports.resolveActivePluginKeys = resolveActivePluginKeys;
6
+ const plugin_meta_1 = require("@vendure-platform/plugin-meta");
7
+ /**
8
+ * Scaffolder-specific data keyed by `PluginMeta.key`. The "shared" half of
9
+ * each plugin's data (tier, dependencies, packageName, displayName,
10
+ * category) lives in `@vendure-platform/plugin-meta`; this map only contains
11
+ * what's specific to scaffolding text files — env vars to emit into `.env`,
12
+ * the options block to emit into `VendurePlatform.init({...})`, and any
13
+ * extra imports the options block requires.
14
+ *
15
+ * Typed against `PluginMetaKey` so adding a new entry to `PLUGIN_META`
16
+ * without a matching extras block is a compile error.
17
+ */
18
+ const SCAFFOLDER_EXTRAS = {
19
+ 'license-guard': {
20
+ envVars: [{ name: 'VENDURE_PLATFORM_LICENSE_TOKEN', defaultValue: 'dev-license-token' }],
21
+ platformOptionsBlock: `licenseGuard: {
22
+ token: process.env.VENDURE_PLATFORM_LICENSE_TOKEN,
23
+ }`,
24
+ },
25
+ 'org-hierarchy': {
18
26
  envVars: [],
19
- configBlock: `GlobalSearchPlugin.init({ entries: [...defaultSearchEntries{{#ifPlugin "integration"}}, companySearchEntry{{/ifPlugin}}] })`,
20
27
  platformOptionsBlock: '',
21
28
  },
22
- {
23
- key: 'advanced-search',
24
- packageName: '@vendure-platform/advanced-search',
25
- displayName: 'Advanced Search',
26
- category: 'search',
27
- requires: [],
28
- imports: ['AdvancedSearchPlugin', 'SqlAnalyticsStrategy'],
29
+ 'advanced-search': {
29
30
  envVars: [
30
- { name: 'TYPESENSE_API_KEY', defaultValue: 'your-typesense-api-key', comment: 'Typesense API key' },
31
- { name: 'TYPESENSE_HOST', defaultValue: 'localhost', comment: 'Typesense host' },
32
- { name: 'TYPESENSE_PORT', defaultValue: '8108', comment: 'Typesense port' },
33
- { name: 'TYPESENSE_PROTOCOL', defaultValue: 'http', comment: 'Typesense protocol (http or https)' },
31
+ { name: 'TYPESENSE_API_KEY', defaultValue: 'your-typesense-api-key' },
32
+ { name: 'TYPESENSE_HOST', defaultValue: 'localhost' },
33
+ { name: 'TYPESENSE_PORT', defaultValue: '8108' },
34
+ { name: 'TYPESENSE_PROTOCOL', defaultValue: 'http' },
34
35
  ],
35
- configBlock: `AdvancedSearchPlugin.init({
36
- typeSenseClientOptions: {
37
- apiKey: process.env.TYPESENSE_API_KEY as string,
38
- nodes: [
39
- {
40
- host: process.env.TYPESENSE_HOST as string,
41
- port: Number(process.env.TYPESENSE_PORT ?? 8108),
42
- protocol: (process.env.TYPESENSE_PROTOCOL ?? 'http') as 'http' | 'https',
43
- },
44
- ],
45
- },
46
- analytics: {
47
- analyticsStrategy: new SqlAnalyticsStrategy(),
48
- },
49
- {{#ifPlugin "global-search"}}
50
- externalIndexes: [GlobalSearchPlugin.externalIndex],
51
- {{/ifPlugin}}
52
- bufferUpdates: false,
53
- })`,
54
36
  platformOptionsBlock: `advancedSearch: {
55
37
  typeSenseClientOptions: {
56
38
  apiKey: process.env.TYPESENSE_API_KEY as string,
@@ -68,266 +50,52 @@ exports.pluginRegistry = [
68
50
  }`,
69
51
  platformImports: [`import { SqlAnalyticsStrategy } from '@vendure-platform/advanced-search';`],
70
52
  },
71
- {
72
- key: 'approval-workflows',
73
- packageName: '@vendure-platform/approval-workflows',
74
- displayName: 'Approval Workflows',
75
- category: 'b2b',
76
- requires: ['org-hierarchy', 'workflow-engine', 'integration'],
77
- imports: [
78
- 'administratorRoleResolver',
79
- 'approvalOrderProcess',
80
- 'ApprovalWorkflowsPlugin',
81
- 'orderApprovalHandler',
82
- 'specificAdministratorsResolver',
83
- ],
84
- envVars: [],
85
- configBlock: `ApprovalWorkflowsPlugin.init({
86
- entityHandlers: [
87
- {
88
- ...orderApprovalHandler,
89
- conditions: [
90
- ...(orderApprovalHandler.conditions ?? []),
91
- ...OrgApprovalIntegrationPlugin.conditions,
92
- ],
93
- },
94
- ],
95
- approverResolvers: [
96
- ...OrgApprovalIntegrationPlugin.resolvers,
97
- specificAdministratorsResolver,
98
- administratorRoleResolver,
99
- ],
100
- })`,
101
- platformOptionsBlock: '',
102
- },
103
- {
104
- key: 'license-guard',
105
- packageName: '@vendure-platform/license-guard',
106
- displayName: 'License Guard',
107
- category: 'platform',
108
- requires: [],
109
- imports: ['LicenseGuardPlugin'],
110
- envVars: [
111
- {
112
- name: 'VENDURE_PLATFORM_LICENSE_TOKEN',
113
- defaultValue: 'dev-license-token',
114
- comment: 'Vendure EE project license token (JWT). Replace with a real token for production.',
115
- },
116
- ],
117
- configBlock: `LicenseGuardPlugin.init({
118
- token: process.env.VENDURE_PLATFORM_LICENSE_TOKEN,
119
- })`,
120
- platformOptionsBlock: `licenseGuard: {
121
- token: process.env.VENDURE_PLATFORM_LICENSE_TOKEN,
122
- }`,
123
- },
124
- {
125
- key: 'audit-trail',
126
- packageName: '@vendure-platform/audit-trail',
127
- displayName: 'Audit Trail',
128
- category: 'platform',
129
- requires: [],
130
- imports: ['AuditTrailPlugin', 'DatabaseLogSink', 'defaultLogSources'],
131
- envVars: [],
132
- configBlock: `AuditTrailPlugin.init({
133
- logSources: defaultLogSources,
134
- logSink: new DatabaseLogSink({
135
- dataSourceOptions: {
136
- type: 'postgres',
53
+ 'workflow-engine': {
54
+ envVars: [{ name: 'WORKFLOW_ENGINE_SCHEMA', defaultValue: 'dbos' }],
55
+ platformOptionsBlock: `workflowEngine: {
56
+ databaseConnection: {
137
57
  host: process.env.DB_HOST ?? 'localhost',
138
58
  port: Number(process.env.DB_PORT ?? 5432),
139
59
  database: process.env.DB_NAME ?? 'vendure',
140
- schema: process.env.AUDIT_LOG_SCHEMA ?? 'audit_trail',
141
60
  username: process.env.DB_USERNAME ?? 'vendure',
142
61
  password: process.env.DB_PASSWORD ?? 'vendure',
143
- synchronize: true,
62
+ ssl: process.env.APP_ENV === 'production',
144
63
  },
145
- }),
146
- })`,
147
- platformOptionsBlock: `auditTrail: (defaults) => ({
148
- ...defaults,
149
- logSink: new DatabaseLogSink({
150
- dataSourceOptions: {
151
- type: 'postgres',
152
- host: process.env.DB_HOST ?? 'localhost',
153
- port: Number(process.env.DB_PORT ?? 5432),
154
- database: process.env.DB_NAME ?? 'vendure',
155
- schema: process.env.AUDIT_LOG_SCHEMA ?? 'audit_trail',
156
- username: process.env.DB_USERNAME ?? 'vendure',
157
- password: process.env.DB_PASSWORD ?? 'vendure',
158
- synchronize: true,
159
- },
160
- }),
161
- })`,
162
- platformImports: [`import { DatabaseLogSink } from '@vendure-platform/audit-trail';`],
163
- },
164
- {
165
- key: 'content-versioning',
166
- packageName: '@vendure-platform/content-versioning',
167
- displayName: 'Content Versioning',
168
- category: 'platform',
169
- requires: [],
170
- imports: ['ContentVersioningPlugin'],
171
- envVars: [],
172
- configBlock: `ContentVersioningPlugin.init({})`,
173
- platformOptionsBlock: '',
174
- },
175
- {
176
- key: 'entity-access-control',
177
- packageName: '@vendure-platform/entity-access-control',
178
- displayName: 'Entity Access Control',
179
- category: 'b2b',
180
- requires: [],
181
- imports: ['customerGroupCondition', 'EntityAccessControlPlugin', 'orderStateCondition'],
182
- envVars: [],
183
- configBlock: `EntityAccessControlPlugin.init({
184
- filterConditions: [customerGroupCondition, orderStateCondition],
185
- })`,
186
- platformOptionsBlock: '',
187
- },
188
- {
189
- key: 'integration',
190
- packageName: '@vendure-platform/integration',
191
- displayName: 'Org-Approval Integration',
192
- category: 'b2b',
193
- requires: ['org-hierarchy'],
194
- imports: ['companySearchEntry', 'GlobalSearchIntegrationPlugin', 'OrgApprovalIntegrationPlugin', 'OrgPriceRulesIntegrationPlugin', 'OrgShoppingListIntegrationPlugin', 'OrgShoppingListCustomerScopeStrategy'],
195
- envVars: [],
196
- configBlock: `OrgApprovalIntegrationPlugin{{#ifPlugin "global-search"}},
197
- GlobalSearchIntegrationPlugin{{/ifPlugin}}{{#ifPlugin "shopping-list"}},
198
- OrgShoppingListIntegrationPlugin{{/ifPlugin}}{{#ifPlugin "price-rules"}},
199
- OrgPriceRulesIntegrationPlugin{{/ifPlugin}}`,
200
- // VendurePlatform handles integrations internally — no options block needed
201
- platformOptionsBlock: '',
202
- },
203
- {
204
- key: 'packaging-units',
205
- packageName: '@vendure-platform/packaging-units',
206
- displayName: 'Packaging Units',
207
- category: 'commerce',
208
- requires: [],
209
- imports: ['PackagingUnitsPlugin'],
210
- envVars: [],
211
- configBlock: `PackagingUnitsPlugin.init({})`,
212
- platformOptionsBlock: '',
213
- },
214
- {
215
- key: 'org-hierarchy',
216
- packageName: '@vendure-platform/org-hierarchy',
217
- displayName: 'Org Hierarchy',
218
- category: 'b2b',
219
- requires: [],
220
- imports: ['OrgHierarchyPlugin'],
221
- envVars: [],
222
- configBlock: `OrgHierarchyPlugin.init({})`,
223
- platformOptionsBlock: '',
224
- },
225
- {
226
- key: 'price-rules',
227
- packageName: '@vendure-platform/price-rules',
228
- displayName: 'Price Rules',
229
- category: 'commerce',
230
- requires: [],
231
- imports: [
232
- 'customerGroupPriceFilterSource',
233
- 'defaultPriceRuleCalculator',
234
- 'defaultQuantityBreaksSource',
235
- 'excludeGroupPricesSource',
236
- 'orderHistoryFilterSource',
237
- 'PriceRulesPlugin',
238
- 'productCollectionFilterSource',
239
- 'timeWindowFilterSource',
240
- 'variantQuantityBreaksSource',
241
- ],
242
- envVars: [],
243
- configBlock: `PriceRulesPlugin.init({
244
- sources: [
245
- variantQuantityBreaksSource,
246
- defaultQuantityBreaksSource,
247
- customerGroupPriceFilterSource,
248
- excludeGroupPricesSource,
249
- productCollectionFilterSource,
250
- timeWindowFilterSource,
251
- orderHistoryFilterSource,{{#ifPlugin "integration"}}
252
- ...OrgPriceRulesIntegrationPlugin.sources,{{/ifPlugin}}
253
- ],
254
- calculators: [defaultPriceRuleCalculator],
255
- })`,
256
- platformOptionsBlock: '',
257
- },
258
- {
259
- key: 'quote-management',
260
- packageName: '@vendure-platform/quote-management',
261
- displayName: 'Quote Management',
262
- category: 'b2b',
263
- requires: [],
264
- imports: ['QuoteManagementPlugin'],
265
- envVars: [],
266
- configBlock: `QuoteManagementPlugin.init({})`,
267
- platformOptionsBlock: '',
268
- },
269
- {
270
- key: 'shopping-list',
271
- packageName: '@vendure-platform/shopping-list',
272
- displayName: 'Shopping List',
273
- category: 'commerce',
274
- requires: [],
275
- imports: ['ShoppingListPlugin'],
276
- envVars: [],
277
- configBlock: `ShoppingListPlugin.init({
278
- {{#ifPlugin "integration"}}customerScopeStrategy: new OrgShoppingListCustomerScopeStrategy(),{{/ifPlugin}}
279
- })`,
280
- platformOptionsBlock: '',
281
- },
282
- {
283
- key: 'quick-order',
284
- packageName: '@vendure-platform/quick-order',
285
- displayName: 'Quick Order',
286
- category: 'commerce',
287
- requires: [],
288
- imports: ['QuickOrderPlugin'],
289
- envVars: [],
290
- configBlock: `QuickOrderPlugin.init({})`,
291
- platformOptionsBlock: '',
64
+ systemDatabaseSchemaName: process.env.WORKFLOW_ENGINE_SCHEMA ?? 'dbos',
65
+ applicationVersion: 'v1',
66
+ }`,
292
67
  },
293
- {
294
- key: 'reorder-from-history',
295
- packageName: '@vendure-platform/reorder-from-history',
296
- displayName: 'Reorder from History',
297
- category: 'commerce',
298
- requires: ['org-hierarchy'],
299
- imports: ['ReorderFromHistoryPlugin'],
68
+ 'approval-workflows': { envVars: [], platformOptionsBlock: '' },
69
+ 'global-search': { envVars: [], platformOptionsBlock: '' },
70
+ 'entity-access-control': { envVars: [], platformOptionsBlock: '' },
71
+ 'tax-id-management': { envVars: [], platformOptionsBlock: '' },
72
+ 'shopping-list': { envVars: [], platformOptionsBlock: '' },
73
+ 'quick-order': { envVars: [], platformOptionsBlock: '' },
74
+ 'reorder-from-history': { envVars: [], platformOptionsBlock: '' },
75
+ 'store-credit': {
300
76
  envVars: [],
301
- configBlock: `ReorderFromHistoryPlugin.init({})`,
302
- platformOptionsBlock: '',
77
+ platformOptionsBlock: `storeCredit: {
78
+ availableFontStacks: [
79
+ 'Arial, Helvetica Neue, Helvetica, sans-serif',
80
+ 'Impact, Charcoal, sans-serif',
81
+ ],
82
+ createDefaultGiftCardProduct: {
83
+ name: 'Gift Card',
84
+ sku: 'GC01',
85
+ },
86
+ }`,
303
87
  },
304
- {
305
- key: 'sso',
306
- packageName: '@vendure-platform/sso',
307
- displayName: 'SSO',
308
- category: 'platform',
309
- requires: [],
310
- imports: ['SsoPlugin'],
88
+ 'quote-management': { envVars: [], platformOptionsBlock: '' },
89
+ 'price-rules': { envVars: [], platformOptionsBlock: '' },
90
+ 'packaging-units': { envVars: [], platformOptionsBlock: '' },
91
+ 'content-versioning': { envVars: [], platformOptionsBlock: '' },
92
+ 'configurator': { envVars: [], platformOptionsBlock: '' },
93
+ 'sso': {
311
94
  envVars: [
312
- { name: 'GOOGLE_CLIENT_ID', defaultValue: '', comment: 'Google OAuth Client ID' },
313
- { name: 'GOOGLE_CLIENT_SECRET', defaultValue: '', comment: 'Google OAuth Client Secret' },
314
- { name: 'VENDURE_HOST', defaultValue: 'http://localhost:3500', comment: 'Vendure server URL for SSO callbacks' },
95
+ { name: 'GOOGLE_CLIENT_ID', defaultValue: '' },
96
+ { name: 'GOOGLE_CLIENT_SECRET', defaultValue: '' },
97
+ { name: 'VENDURE_HOST', defaultValue: 'http://localhost:3500' },
315
98
  ],
316
- configBlock: `SsoPlugin.init({
317
- vendureHost: process.env.VENDURE_HOST ?? 'http://localhost:3500',
318
- autoCreateAdministrators: true,
319
- providers: [
320
- {
321
- type: 'oidc',
322
- id: 'google',
323
- displayName: 'Google SSO',
324
- issuerUrl: 'https://accounts.google.com',
325
- clientId: process.env.GOOGLE_CLIENT_ID ?? '',
326
- clientSecret: process.env.GOOGLE_CLIENT_SECRET ?? '',
327
- scopes: ['openid', 'profile', 'email'],
328
- },
329
- ],
330
- })`,
331
99
  platformOptionsBlock: `sso: {
332
100
  vendureHost: process.env.VENDURE_HOST ?? 'http://localhost:3500',
333
101
  providers: [
@@ -343,143 +111,93 @@ exports.pluginRegistry = [
343
111
  ],
344
112
  }`,
345
113
  },
346
- {
347
- key: 'tax-id-management',
348
- packageName: '@vendure-platform/tax-id-management',
349
- displayName: 'Tax ID Management',
350
- category: 'b2b',
351
- requires: [],
352
- imports: ['TaxIdManagementPlugin'],
353
- envVars: [],
354
- configBlock: `TaxIdManagementPlugin.init({})`,
355
- platformOptionsBlock: '',
356
- },
357
- {
358
- key: 'store-credit',
359
- packageName: '@vendure-platform/store-credit',
360
- displayName: 'Store Credit / Gift Cards',
361
- category: 'commerce',
362
- requires: [],
363
- imports: ['StoreCreditPlugin'],
364
- envVars: [],
365
- configBlock: `StoreCreditPlugin.init({
366
- availableFontStacks: [
367
- 'Arial, Helvetica Neue, Helvetica, sans-serif',
368
- 'Impact, Charcoal, sans-serif',
369
- ],
370
- createDefaultGiftCardProduct: {
371
- name: 'Gift Card',
372
- sku: 'GC01',
373
- },
374
- })`,
375
- platformOptionsBlock: `storeCredit: {
376
- availableFontStacks: [
377
- 'Arial, Helvetica Neue, Helvetica, sans-serif',
378
- 'Impact, Charcoal, sans-serif',
379
- ],
380
- createDefaultGiftCardProduct: {
381
- name: 'Gift Card',
382
- sku: 'GC01',
383
- },
384
- }`,
385
- },
386
- {
387
- key: 'workflow-engine',
388
- packageName: '@vendure-platform/workflow-engine',
389
- displayName: 'Workflow Engine',
390
- category: 'platform',
391
- requires: [],
392
- imports: ['WorkflowEnginePlugin'],
393
- envVars: [
394
- {
395
- name: 'WORKFLOW_ENGINE_SCHEMA',
396
- defaultValue: 'dbos',
397
- comment: 'Postgres schema for workflow engine system tables',
398
- },
399
- ],
400
- configBlock: `WorkflowEnginePlugin.init({
401
- databaseConnection: {
402
- host: process.env.DB_HOST ?? 'localhost',
403
- port: Number(process.env.DB_PORT ?? 5432),
404
- database: process.env.DB_NAME ?? 'vendure',
405
- username: process.env.DB_USERNAME ?? 'vendure',
406
- password: process.env.DB_PASSWORD ?? 'vendure',
407
- ssl: process.env.APP_ENV === 'production',
408
- },
409
- systemDatabaseSchemaName: process.env.WORKFLOW_ENGINE_SCHEMA ?? 'dbos',
410
- applicationVersion: 'v1',
411
- })`,
412
- platformOptionsBlock: `workflowEngine: {
413
- databaseConnection: {
414
- host: process.env.DB_HOST ?? 'localhost',
415
- port: Number(process.env.DB_PORT ?? 5432),
416
- database: process.env.DB_NAME ?? 'vendure',
417
- username: process.env.DB_USERNAME ?? 'vendure',
418
- password: process.env.DB_PASSWORD ?? 'vendure',
419
- ssl: process.env.APP_ENV === 'production',
420
- },
421
- systemDatabaseSchemaName: process.env.WORKFLOW_ENGINE_SCHEMA ?? 'dbos',
422
- applicationVersion: 'v1',
423
- }`,
424
- },
425
- {
426
- key: 'configurator',
427
- packageName: '@vendure-platform/configurator',
428
- displayName: 'Configurator',
429
- category: 'commerce',
430
- requires: [],
431
- imports: ['ConfiguratorPlugin'],
114
+ 'audit-trail': {
432
115
  envVars: [],
433
- configBlock: `ConfiguratorPlugin.init({})`,
434
- platformOptionsBlock: '',
435
- },
436
- {
437
- key: 'platform',
438
- packageName: '@vendure-platform/platform',
439
- displayName: 'Platform',
440
- category: 'platform',
441
- requires: [],
442
- imports: ['VendurePlatform'],
443
- envVars: [],
444
- configBlock: '',
445
- platformOptionsBlock: '',
446
- internal: true,
116
+ platformOptionsBlock: `auditTrail: (defaults) => ({
117
+ ...defaults,
118
+ logSink: new DatabaseLogSink({
119
+ dataSourceOptions: {
120
+ type: 'postgres',
121
+ host: process.env.DB_HOST ?? 'localhost',
122
+ port: Number(process.env.DB_PORT ?? 5432),
123
+ database: process.env.DB_NAME ?? 'vendure',
124
+ schema: process.env.AUDIT_LOG_SCHEMA ?? 'audit_trail',
125
+ username: process.env.DB_USERNAME ?? 'vendure',
126
+ password: process.env.DB_PASSWORD ?? 'vendure',
127
+ synchronize: true,
128
+ },
129
+ }),
130
+ })`,
131
+ platformImports: [`import { DatabaseLogSink } from '@vendure-platform/audit-trail';`],
447
132
  },
133
+ };
134
+ /**
135
+ * The full registry consumed by the scaffolder: the shared `PluginMeta` from
136
+ * `@vendure-platform/plugin-meta` joined with the local scaffolder extras.
137
+ *
138
+ * This list contains only plugins that `VendurePlatform` manages. Plugins
139
+ * that exist in the monorepo but are never registered via
140
+ * `VendurePlatform.init()` (e.g. `@vendure-platform/integration`,
141
+ * `@vendure-platform/platform` itself, `@vendure-platform/demo-center`) are
142
+ * acknowledged in `INTERNAL_PACKAGES` below so the CI testbed-coverage script
143
+ * can see them — they're not part of this registry.
144
+ */
145
+ exports.pluginRegistry = plugin_meta_1.PLUGIN_META.map((meta) => ({
146
+ ...meta,
147
+ ...SCAFFOLDER_EXTRAS[meta.key],
148
+ }));
149
+ /**
150
+ * Acknowledged plugin packages that intentionally do NOT participate in
151
+ * `VendurePlatform.init()` and therefore don't appear in `pluginRegistry`:
152
+ *
153
+ * - `@vendure-platform/platform`: the umbrella package itself. Imported
154
+ * directly by the generated `vendure-config.ts`.
155
+ * - `@vendure-platform/integration`: integration sub-plugins consumed by
156
+ * `VendurePlatform`'s `INTEGRATION_MAP`. Wired automatically.
157
+ * - `@vendure-platform/demo-center`: internal-only, used by the official
158
+ * Vendure demo server. Never scaffolded into customer projects.
159
+ *
160
+ * Each entry is annotated with an `// @internal-package` sentinel comment
161
+ * that `.github/scripts/check-testbed-coverage.js` greps for to confirm a
162
+ * `@VendurePlugin`-decorated package is intentionally internal rather than
163
+ * missing from the registry. Don't rename or remove the sentinel without
164
+ * also updating the script.
165
+ */
166
+ exports.INTERNAL_PACKAGES = [
167
+ // @internal-package
168
+ { packageName: '@vendure-platform/platform' },
169
+ // @internal-package
170
+ { packageName: '@vendure-platform/integration' },
171
+ // @internal-package
172
+ { packageName: '@vendure-platform/demo-center' },
448
173
  ];
449
174
  function getPlugin(key) {
450
175
  return exports.pluginRegistry.find((p) => p.key === key);
451
176
  }
177
+ /** Plugin keys that are always active under `VendurePlatform`, regardless of selection. */
178
+ exports.ALWAYS_ACTIVE_KEYS = exports.pluginRegistry
179
+ .filter((p) => p.tier === 'core' || p.tier === 'core-requires-config')
180
+ .map((p) => p.key);
452
181
  /**
453
- * Transitively resolve all required plugin dependencies for the given selection.
454
- * Returns de-duplicated array of all plugin keys (selected + dependencies).
182
+ * Plugin keys that are eligible to appear in the interactive selection prompt:
183
+ * everything except the always-active core plugins.
455
184
  */
456
- function resolvePluginDependencies(selected) {
457
- const resolved = new Set();
458
- function resolve(key) {
459
- if (resolved.has(key))
460
- return;
461
- const plugin = getPlugin(key);
462
- if (!plugin) {
185
+ exports.SELECTABLE_KEYS = exports.pluginRegistry
186
+ .filter((p) => p.tier !== 'core' && p.tier !== 'core-requires-config')
187
+ .map((p) => p.key);
188
+ /**
189
+ * Compute the set of plugin keys whose options/imports/env vars should be
190
+ * emitted into the generated project — always-active core plus the user's
191
+ * selected optional / requires-config plugins. Result preserves registry order.
192
+ */
193
+ function resolveActivePluginKeys(selected) {
194
+ const activeSet = new Set(exports.ALWAYS_ACTIVE_KEYS);
195
+ for (const key of selected) {
196
+ if (!getPlugin(key)) {
463
197
  throw new Error(`Unknown plugin key: "${key}"`);
464
198
  }
465
- resolved.add(key);
466
- for (const dep of plugin.requires) {
467
- resolve(dep);
468
- }
469
- }
470
- for (const key of selected) {
471
- resolve(key);
199
+ activeSet.add(key);
472
200
  }
473
- // Return in registry order for deterministic output
474
- return exports.pluginRegistry.filter((p) => resolved.has(p.key)).map((p) => p.key);
201
+ return exports.pluginRegistry.filter((p) => activeSet.has(p.key)).map((p) => p.key);
475
202
  }
476
- /** B2B suite preset: the core B2B plugins */
477
- exports.B2B_SUITE_KEYS = [
478
- 'org-hierarchy',
479
- 'approval-workflows',
480
- 'workflow-engine',
481
- 'integration',
482
- 'entity-access-control',
483
- 'quote-management',
484
- ];
485
203
  //# sourceMappingURL=plugin-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Single source of truth for the @vendure-platform private registry URL.
3
+ *
4
+ * The URL appears in three places at scaffold time:
5
+ * - the project-root `.npmrc` scope mapping (via the `npmrc.hbs` template)
6
+ * - the storefront `.npmrc` scope mapping (written by `storefront-copier`)
7
+ * - the actionable 401 message in `scaffold-shared.ts` (login command +
8
+ * regex that fingerprints private-registry failures in stderr)
9
+ *
10
+ * Keeping the URL in one place means the next registry rename is a single-
11
+ * file edit. The `VENDURE_REGISTRY_URL` override is intended for local
12
+ * Verdaccio testing — set it before invoking the create CLI to scaffold a
13
+ * project pointed at a local registry without needing to patch the template
14
+ * post-scaffold.
15
+ */
16
+ export declare const DEFAULT_REGISTRY_URL = "https://registry.platform.vendure.io/";
17
+ export declare function getRegistryUrl(): string;
18
+ export declare function getRegistryHostname(): string;