@vendure-platform/create 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +11 -0
- package/dist/add-to-existing.d.ts +80 -0
- package/dist/add-to-existing.js +508 -0
- package/dist/add-to-existing.js.map +1 -0
- package/dist/assets/storefront/package.json +1 -1
- package/dist/assets/templates/bunfig.toml.hbs +17 -0
- package/dist/assets/templates/env.hbs +5 -2
- package/dist/assets/templates/gitignore.hbs +6 -0
- package/dist/assets/templates/npmrc.hbs +2 -0
- package/dist/bin/run.js +27 -0
- package/dist/bin/run.js.map +1 -1
- package/dist/cli.js +34 -1
- package/dist/cli.js.map +1 -1
- package/dist/scaffold-shared.js +15 -5
- package/dist/scaffold-shared.js.map +1 -1
- package/dist/scaffolder.js +7 -2
- package/dist/scaffolder.js.map +1 -1
- package/dist/sort-package-json.d.ts +12 -0
- package/dist/sort-package-json.js +26 -0
- package/dist/sort-package-json.js.map +1 -0
- package/dist/storefront-copier.d.ts +12 -0
- package/dist/storefront-copier.js +34 -7
- package/dist/storefront-copier.js.map +1 -1
- package/dist/template-renderer.d.ts +31 -0
- package/dist/template-renderer.js +42 -1
- package/dist/template-renderer.js.map +1 -1
- package/dist/types.d.ts +32 -0
- package/package.json +4 -4
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Bun package-manager configuration for {{projectName}}.
|
|
2
|
+
#
|
|
3
|
+
# `install.minimumReleaseAge` is Bun's supply-chain quarantine: it refuses to
|
|
4
|
+
# install any package version published less than the configured number of
|
|
5
|
+
# seconds ago. The default `0` is fine for most projects, but if you (or your
|
|
6
|
+
# org's global `~/.bunfig.toml`) sets it to e.g. `604800` (7 days), then
|
|
7
|
+
# `@vendure-platform/*` releases would be blocked for a week after each
|
|
8
|
+
# Vendure Platform ship. The excludes list below bypasses the check for
|
|
9
|
+
# every Vendure Platform package this scaffold consumes (directly or
|
|
10
|
+
# transitively), so a fresh `bun install` works immediately after a
|
|
11
|
+
# release.
|
|
12
|
+
#
|
|
13
|
+
# See https://bun.com/docs/runtime/bunfig#install-minimumreleaseage
|
|
14
|
+
[install]
|
|
15
|
+
minimumReleaseAgeExcludes = [
|
|
16
|
+
{{platformPackageExcludes}}
|
|
17
|
+
]
|
|
@@ -14,13 +14,16 @@ SUPERADMIN_USERNAME=superadmin
|
|
|
14
14
|
SUPERADMIN_PASSWORD=superadmin
|
|
15
15
|
|
|
16
16
|
# Vendure Platform License
|
|
17
|
-
# Get a token from the Enterprise Portal: https://enterprise.vendure.io
|
|
17
|
+
# Get a license token from the Enterprise Portal: https://enterprise.vendure.io
|
|
18
|
+
# NOTE: this is the SERVER license token, checked at boot by the License Guard
|
|
19
|
+
# plugin. It is distinct from the npm registry auth token (which lives in
|
|
20
|
+
# .npmrc) — the Enterprise Portal issues both as separate values.
|
|
18
21
|
# Leave VENDURE_PLATFORM_LICENSE_TOKEN empty for local development; the
|
|
19
22
|
# VENDURE_PLATFORM_LICENSE_GUARD_LOCAL_DEV=1 flag below enables the no-token
|
|
20
23
|
# soft mode that lets you populate, run dev, and explore the platform without
|
|
21
24
|
# enforcement. The flag is only ever read when no token is configured — once
|
|
22
25
|
# you set a real token, the soft-mode code path is no longer reachable.
|
|
23
|
-
VENDURE_PLATFORM_LICENSE_TOKEN=
|
|
26
|
+
VENDURE_PLATFORM_LICENSE_TOKEN={{licenseToken}}
|
|
24
27
|
VENDURE_PLATFORM_LICENSE_GUARD_LOCAL_DEV=1
|
|
25
28
|
|
|
26
29
|
# Advanced Search (Typesense)
|
|
@@ -2,6 +2,12 @@ node_modules/
|
|
|
2
2
|
dist/
|
|
3
3
|
.next/
|
|
4
4
|
.env
|
|
5
|
+
# .npmrc may carry a literal Vendure private-registry npm auth token
|
|
6
|
+
# (the registry token, NOT the runtime license token) — never commit it.
|
|
7
|
+
# If you need a token-less version for CI, write a short script that strips
|
|
8
|
+
# the `_authToken=` line at publish time.
|
|
9
|
+
.npmrc
|
|
10
|
+
storefront/.npmrc
|
|
5
11
|
*.tsbuildinfo
|
|
6
12
|
static/assets/
|
|
7
13
|
src/gql/
|
package/dist/bin/run.js
CHANGED
|
@@ -40,6 +40,7 @@ const commander_1 = require("commander");
|
|
|
40
40
|
const cli_1 = require("../cli");
|
|
41
41
|
const scaffolder_1 = require("../scaffolder");
|
|
42
42
|
const scaffold_storefront_only_1 = require("../scaffold-storefront-only");
|
|
43
|
+
const add_to_existing_1 = require("../add-to-existing");
|
|
43
44
|
function getVersion() {
|
|
44
45
|
const pkgPath = path.join(__dirname, '..', '..', 'package.json');
|
|
45
46
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
@@ -49,6 +50,28 @@ const program = new commander_1.Command()
|
|
|
49
50
|
.name('create-vendure-platform')
|
|
50
51
|
.description('Scaffold a Vendure project with Vendure Platform plugins, or a standalone storefront')
|
|
51
52
|
.version(getVersion(), '-v, --version')
|
|
53
|
+
// Required so the same flag names (e.g. --plugins) can mean different things
|
|
54
|
+
// on `program` (default scaffold action) and `program.command('add')`. Without
|
|
55
|
+
// this, commander v13 consumes those flags at the program level even when
|
|
56
|
+
// they appear after the subcommand name.
|
|
57
|
+
.enablePositionalOptions();
|
|
58
|
+
program
|
|
59
|
+
.command('add')
|
|
60
|
+
.description('Add Vendure Platform to an existing Vendure project (run from the project root)')
|
|
61
|
+
.option('--plugins <list>', 'Comma-separated list of plugin keys to include (skips the interactive prompt)')
|
|
62
|
+
.option('--registry-token <token>', 'Vendure private-registry npm auth token (written to project .npmrc as _authToken)')
|
|
63
|
+
.option('--license-token <token>', 'Vendure Platform server-side license token (written to .env as VENDURE_PLATFORM_LICENSE_TOKEN)')
|
|
64
|
+
.option('--dry-run', 'Show what would be changed without writing files')
|
|
65
|
+
.action(async (opts) => {
|
|
66
|
+
const options = await (0, add_to_existing_1.runAddToExistingCli)({
|
|
67
|
+
plugins: opts.plugins,
|
|
68
|
+
dryRun: opts.dryRun,
|
|
69
|
+
registryToken: opts.registryToken,
|
|
70
|
+
licenseToken: opts.licenseToken,
|
|
71
|
+
});
|
|
72
|
+
await (0, add_to_existing_1.addToExisting)(options);
|
|
73
|
+
});
|
|
74
|
+
program
|
|
52
75
|
.argument('[project-name]', 'Name of the project to create')
|
|
53
76
|
.option('--plugins <list>', 'Comma-separated list of plugin keys to include')
|
|
54
77
|
.option('--company <name>', 'Company name for the demo project')
|
|
@@ -63,6 +86,8 @@ const program = new commander_1.Command()
|
|
|
63
86
|
.option('--api-url <url>', 'Vendure Shop API URL (storefront-only mode)')
|
|
64
87
|
.option('--scenario <name>', 'Storefront scenario (storefront-only mode; default: customer)')
|
|
65
88
|
.option('--pm <bun|npm|pnpm>', 'Package manager used for the install step (default: bun)')
|
|
89
|
+
.option('--registry-token <token>', 'Vendure private-registry npm auth token (written to project .npmrc as _authToken)')
|
|
90
|
+
.option('--license-token <token>', 'Vendure Platform server-side license token (written to .env as VENDURE_PLATFORM_LICENSE_TOKEN)')
|
|
66
91
|
.action(async (projectName, opts) => {
|
|
67
92
|
const flags = {
|
|
68
93
|
plugins: opts.plugins,
|
|
@@ -77,6 +102,8 @@ const program = new commander_1.Command()
|
|
|
77
102
|
apiUrl: opts.apiUrl,
|
|
78
103
|
scenario: opts.scenario,
|
|
79
104
|
pm: opts.pm,
|
|
105
|
+
registryToken: opts.registryToken,
|
|
106
|
+
licenseToken: opts.licenseToken,
|
|
80
107
|
};
|
|
81
108
|
if (flags.storefrontOnly) {
|
|
82
109
|
const options = await (0, cli_1.runStorefrontOnlyCli)(projectName, flags);
|
package/dist/bin/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/bin/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,yCAAoC;AACpC,gCAAsD;AACtD,8CAAyC;AACzC,0EAAqE;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/bin/run.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -180,7 +180,7 @@ async function runStorefrontOnlyCli(projectNameArg, flags) {
|
|
|
180
180
|
* If all required flags are provided, skips interactive prompts entirely.
|
|
181
181
|
*/
|
|
182
182
|
async function runCli(projectNameArg, flags) {
|
|
183
|
-
var _a, _b, _c;
|
|
183
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
184
184
|
const packageManager = validatePackageManager(flags === null || flags === void 0 ? void 0 : flags.pm);
|
|
185
185
|
// Non-interactive mode: all required fields provided via flags
|
|
186
186
|
if (projectNameArg && (flags === null || flags === void 0 ? void 0 : flags.company) && (flags === null || flags === void 0 ? void 0 : flags.plugins) !== undefined) {
|
|
@@ -203,6 +203,8 @@ async function runCli(projectNameArg, flags) {
|
|
|
203
203
|
skipInstall: flags.install === false,
|
|
204
204
|
skipGit: flags.git === false,
|
|
205
205
|
dryRun: (_c = flags.dryRun) !== null && _c !== void 0 ? _c : false,
|
|
206
|
+
registryToken: ((_d = flags.registryToken) === null || _d === void 0 ? void 0 : _d.trim()) || undefined,
|
|
207
|
+
licenseToken: ((_e = flags.licenseToken) === null || _e === void 0 ? void 0 : _e.trim()) || undefined,
|
|
206
208
|
};
|
|
207
209
|
}
|
|
208
210
|
// Interactive mode
|
|
@@ -216,6 +218,14 @@ async function runCli(projectNameArg, flags) {
|
|
|
216
218
|
}
|
|
217
219
|
const pluginOptions = buildPluginOptions();
|
|
218
220
|
const initialPluginValues = defaultSelectedKeys();
|
|
221
|
+
// Prompt ordering: tokens first (so users without them can bail before
|
|
222
|
+
// investing in plugin selection), then project metadata, then plugin
|
|
223
|
+
// selection, then operational toggles. Two separate prompts because the
|
|
224
|
+
// Enterprise Portal issues two distinct tokens: a registry npm auth
|
|
225
|
+
// token (for installing private `@vendure-platform/*` packages) and a
|
|
226
|
+
// server-side license token (read at boot by the License Guard plugin).
|
|
227
|
+
// They have different lifetimes and rotation policies so we never
|
|
228
|
+
// collapse them into one prompt.
|
|
219
229
|
const answers = await p.group({
|
|
220
230
|
projectName: () => {
|
|
221
231
|
if (projectNameArg)
|
|
@@ -225,6 +235,25 @@ async function runCli(projectNameArg, flags) {
|
|
|
225
235
|
validate: validateProjectName,
|
|
226
236
|
});
|
|
227
237
|
},
|
|
238
|
+
registryToken: () => {
|
|
239
|
+
if ((flags === null || flags === void 0 ? void 0 : flags.registryToken) !== undefined)
|
|
240
|
+
return Promise.resolve(flags.registryToken);
|
|
241
|
+
return p.password({
|
|
242
|
+
message: `Vendure private-registry npm auth token (from https://enterprise.vendure.io). Used by \`${packageManager} install\`. Leave blank to skip:`,
|
|
243
|
+
});
|
|
244
|
+
},
|
|
245
|
+
licenseToken: () => {
|
|
246
|
+
if ((flags === null || flags === void 0 ? void 0 : flags.licenseToken) !== undefined)
|
|
247
|
+
return Promise.resolve(flags.licenseToken);
|
|
248
|
+
return p.password({
|
|
249
|
+
// Distinct from the registry token above — this one is
|
|
250
|
+
// checked at server boot by the License Guard plugin.
|
|
251
|
+
// Leaving it blank is fine for a first kick-the-tyres run;
|
|
252
|
+
// the soft-mode flag emitted into .env still lets the
|
|
253
|
+
// server start.
|
|
254
|
+
message: 'Vendure Platform license token (server-side, written to .env). Leave blank to skip:',
|
|
255
|
+
});
|
|
256
|
+
},
|
|
228
257
|
companyName: ({ results }) => {
|
|
229
258
|
const name = results.projectName;
|
|
230
259
|
const defaultCompany = name
|
|
@@ -262,6 +291,8 @@ async function runCli(projectNameArg, flags) {
|
|
|
262
291
|
// internal-demo workflow. Trigger it via `--github [--github-org <org>]`
|
|
263
292
|
// (in fully-non-interactive mode, see the early return at the top of this
|
|
264
293
|
// function).
|
|
294
|
+
const registryTokenRaw = (_g = (_f = answers.registryToken) === null || _f === void 0 ? void 0 : _f.trim()) !== null && _g !== void 0 ? _g : '';
|
|
295
|
+
const licenseTokenRaw = (_j = (_h = answers.licenseToken) === null || _h === void 0 ? void 0 : _h.trim()) !== null && _j !== void 0 ? _j : '';
|
|
265
296
|
return {
|
|
266
297
|
projectName: answers.projectName,
|
|
267
298
|
companyName: answers.companyName,
|
|
@@ -271,6 +302,8 @@ async function runCli(projectNameArg, flags) {
|
|
|
271
302
|
githubOrg: undefined,
|
|
272
303
|
packageManager,
|
|
273
304
|
skipInstall: !answers.installDeps,
|
|
305
|
+
registryToken: registryTokenRaw === '' ? undefined : registryTokenRaw,
|
|
306
|
+
licenseToken: licenseTokenRaw === '' ? undefined : licenseTokenRaw,
|
|
274
307
|
};
|
|
275
308
|
}
|
|
276
309
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,oDAgFC;AAMD,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold-shared.js
CHANGED
|
@@ -83,14 +83,24 @@ function registryAuthFailureMessage(packageManager, projectDir) {
|
|
|
83
83
|
const loginUrl = (0, registry_1.getRegistryUrl)().replace(/\/+$/, '');
|
|
84
84
|
return [
|
|
85
85
|
'Install failed: not authenticated to the Vendure private registry',
|
|
86
|
-
'(or your existing token has expired).',
|
|
86
|
+
'(or your existing registry token has expired).',
|
|
87
87
|
'',
|
|
88
|
-
'
|
|
89
|
-
|
|
88
|
+
'Get a registry token from the Vendure Enterprise Portal:',
|
|
89
|
+
' https://enterprise.vendure.io',
|
|
90
90
|
'',
|
|
91
|
-
'
|
|
91
|
+
'(This is the npm auth token, used by `npm install`. It is distinct',
|
|
92
|
+
' from the server-side license token that goes into .env.)',
|
|
92
93
|
'',
|
|
93
|
-
|
|
94
|
+
'Then either:',
|
|
95
|
+
' - paste the registry token into the project .npmrc next to the scope line:',
|
|
96
|
+
` ${projectDir}/.npmrc`,
|
|
97
|
+
' //registry.platform.vendure.io/:_authToken=<registry-token>',
|
|
98
|
+
` then re-run \`${packageManager} install\` in ${projectDir}.`,
|
|
99
|
+
' - or authenticate interactively (writes to ~/.npmrc):',
|
|
100
|
+
` npm login --auth-type=web --registry=${loginUrl}`,
|
|
101
|
+
` then re-run \`${packageManager} install\` in ${projectDir}.`,
|
|
102
|
+
'',
|
|
103
|
+
'Docs: https://docs.platform.vendure.io',
|
|
94
104
|
].join('\n');
|
|
95
105
|
}
|
|
96
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-shared.js","sourceRoot":"","sources":["../src/scaffold-shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,kDAyBC;
|
|
1
|
+
{"version":3,"file":"scaffold-shared.js","sourceRoot":"","sources":["../src/scaffold-shared.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffolder.js
CHANGED
|
@@ -61,12 +61,13 @@ exports.TEMPLATE_FILES = [
|
|
|
61
61
|
{ template: 'environment.d.ts.hbs', output: 'server/src/environment.d.ts' },
|
|
62
62
|
{ template: 'gitignore.hbs', output: '.gitignore' },
|
|
63
63
|
{ template: 'npmrc.hbs', output: '.npmrc' },
|
|
64
|
+
{ template: 'bunfig.toml.hbs', output: 'bunfig.toml' },
|
|
64
65
|
];
|
|
65
66
|
/**
|
|
66
67
|
* Scaffold a complete Vendure demo project.
|
|
67
68
|
*/
|
|
68
69
|
async function scaffold(options) {
|
|
69
|
-
const { projectName, companyName, selectedPlugins, includeStorefront, createGithubRepo, githubOrg, packageManager = 'bun', skipInstall, skipGit, dryRun } = options;
|
|
70
|
+
const { projectName, companyName, selectedPlugins, includeStorefront, createGithubRepo, githubOrg, packageManager = 'bun', skipInstall, skipGit, dryRun, registryToken, licenseToken } = options;
|
|
70
71
|
const projectDir = path.resolve(process.cwd(), projectName);
|
|
71
72
|
// 1. Resolve active plugins (always-on core + user-selected)
|
|
72
73
|
const resolvedPluginKeys = (0, plugin_registry_1.resolveActivePluginKeys)(selectedPlugins);
|
|
@@ -115,7 +116,10 @@ async function scaffold(options) {
|
|
|
115
116
|
s.start('Creating project directory...');
|
|
116
117
|
await fs.ensureDir(projectDir);
|
|
117
118
|
// 3. Build template context
|
|
118
|
-
const { context, hbs } = (0, template_renderer_1.buildTemplateContext)(projectName, companyName, selectedPlugins, includeStorefront
|
|
119
|
+
const { context, hbs } = (0, template_renderer_1.buildTemplateContext)(projectName, companyName, selectedPlugins, includeStorefront, {
|
|
120
|
+
registryToken,
|
|
121
|
+
licenseToken,
|
|
122
|
+
});
|
|
119
123
|
// 4. Render and write server files
|
|
120
124
|
s.message('Generating server files...');
|
|
121
125
|
const serverDir = path.join(projectDir, 'server');
|
|
@@ -141,6 +145,7 @@ async function scaffold(options) {
|
|
|
141
145
|
mode: 'full-project',
|
|
142
146
|
scenario: 'customer',
|
|
143
147
|
packageName: `${projectName}-storefront`,
|
|
148
|
+
registryToken,
|
|
144
149
|
});
|
|
145
150
|
}
|
|
146
151
|
catch (err) {
|
package/dist/scaffolder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort the dependency blocks of a rendered `package.json` string.
|
|
3
|
+
*
|
|
4
|
+
* The scaffold templates emit `@vendure-platform/*` entries in
|
|
5
|
+
* `PLUGIN_ORDER` (strategy-wrapping order), which is meaningful for
|
|
6
|
+
* the runtime config but reads as random noise in `package.json`.
|
|
7
|
+
* Re-serialise with each `*dependencies` block sorted lexicographically
|
|
8
|
+
* so the generated file is tidy and stable between scaffolds.
|
|
9
|
+
*
|
|
10
|
+
* Top-level key order is preserved as authored in the template.
|
|
11
|
+
*/
|
|
12
|
+
export declare function sortPackageJson(json: string): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sortPackageJson = sortPackageJson;
|
|
4
|
+
/**
|
|
5
|
+
* Sort the dependency blocks of a rendered `package.json` string.
|
|
6
|
+
*
|
|
7
|
+
* The scaffold templates emit `@vendure-platform/*` entries in
|
|
8
|
+
* `PLUGIN_ORDER` (strategy-wrapping order), which is meaningful for
|
|
9
|
+
* the runtime config but reads as random noise in `package.json`.
|
|
10
|
+
* Re-serialise with each `*dependencies` block sorted lexicographically
|
|
11
|
+
* so the generated file is tidy and stable between scaffolds.
|
|
12
|
+
*
|
|
13
|
+
* Top-level key order is preserved as authored in the template.
|
|
14
|
+
*/
|
|
15
|
+
function sortPackageJson(json) {
|
|
16
|
+
const pkg = JSON.parse(json);
|
|
17
|
+
const DEP_KEYS = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'];
|
|
18
|
+
for (const key of DEP_KEYS) {
|
|
19
|
+
const block = pkg[key];
|
|
20
|
+
if (block && typeof block === 'object') {
|
|
21
|
+
pkg[key] = Object.fromEntries(Object.entries(block).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return JSON.stringify(pkg, null, 2) + '\n';
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=sort-package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-package-json.js","sourceRoot":"","sources":["../src/sort-package-json.ts"],"names":[],"mappings":";;AAWA,0CAeC;AA1BD;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CAAU,CAAC;IAE1G,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,KAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7B,CACJ,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/C,CAAC"}
|
|
@@ -20,6 +20,18 @@ export interface CopyStorefrontOptions {
|
|
|
20
20
|
* storefront target.
|
|
21
21
|
*/
|
|
22
22
|
packageName?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Vendure private-registry npm auth token. When supplied, baked into the
|
|
25
|
+
* storefront's `.npmrc` as `_authToken` alongside the scope mapping so
|
|
26
|
+
* `${pm} install` works in the storefront subdir on a fresh machine.
|
|
27
|
+
*
|
|
28
|
+
* Only the **registry** token belongs here — the storefront is a Next.js
|
|
29
|
+
* app that doesn't boot a Vendure server, so it has no use for the
|
|
30
|
+
* server-side `licenseToken`. Keeping these separate matches the
|
|
31
|
+
* Enterprise Portal's model (two distinct tokens) and avoids ever
|
|
32
|
+
* writing the runtime license token to anywhere it doesn't need to be.
|
|
33
|
+
*/
|
|
34
|
+
registryToken?: string;
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
37
|
* Copy the bundled storefront from dist/assets/storefront/ into the scaffolded project.
|
|
@@ -51,18 +51,45 @@ async function copyStorefront(projectDir, options) {
|
|
|
51
51
|
: path.join(projectDir, 'storefront');
|
|
52
52
|
await fs.copy(bundledStorefrontPath, destPath);
|
|
53
53
|
await writeStorefrontEnv(destPath, options);
|
|
54
|
-
await writeStorefrontNpmrc(destPath);
|
|
54
|
+
await writeStorefrontNpmrc(destPath, options.registryToken);
|
|
55
|
+
// Always ensure `.npmrc` is gitignored, even when no token is in play
|
|
56
|
+
// right now. In `storefront-only` mode the storefront IS the project
|
|
57
|
+
// root, so the only `.gitignore` that protects against committing a
|
|
58
|
+
// tokenised `.npmrc` is the storefront's own. Doing this unconditionally
|
|
59
|
+
// also future-proofs against any future code path that adds a token here.
|
|
60
|
+
await ensureNpmrcGitignored(destPath);
|
|
55
61
|
await patchPackageName(destPath, (_a = options.packageName) !== null && _a !== void 0 ? _a : path.basename(destPath));
|
|
56
62
|
}
|
|
63
|
+
async function ensureNpmrcGitignored(storefrontDir) {
|
|
64
|
+
const gitignorePath = path.join(storefrontDir, '.gitignore');
|
|
65
|
+
let existing = '';
|
|
66
|
+
if (await fs.pathExists(gitignorePath)) {
|
|
67
|
+
existing = await fs.readFile(gitignorePath, 'utf8');
|
|
68
|
+
}
|
|
69
|
+
const lines = existing.split('\n').map((l) => l.trim());
|
|
70
|
+
if (lines.includes('.npmrc') || lines.includes('/.npmrc')) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const trailing = existing === '' || existing.endsWith('\n') ? '' : '\n';
|
|
74
|
+
await fs.writeFile(gitignorePath, existing + trailing + '.npmrc\n');
|
|
75
|
+
}
|
|
57
76
|
/**
|
|
58
77
|
* `npm pack` hard-excludes any file named `.npmrc` from tarballs (regardless
|
|
59
|
-
* of `files`/`.npmignore`), so we cannot bundle it.
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
78
|
+
* of `files`/`.npmignore`), so we cannot bundle it. The scope mapping must
|
|
79
|
+
* therefore be written at scaffold time — without it `${pm} install` 401s on
|
|
80
|
+
* `@vendure-platform/*` packages in the storefront subdir. If a registry
|
|
81
|
+
* token is supplied, we also write the `_authToken` line so the storefront
|
|
82
|
+
* install works without any pre-existing `~/.npmrc` setup. The project's
|
|
83
|
+
* `.gitignore` (see `gitignore.hbs`) covers `storefront/.npmrc`, and the
|
|
84
|
+
* storefront's own `.gitignore` (`ensureNpmrcGitignored`) covers the
|
|
85
|
+
* storefront-only layout.
|
|
63
86
|
*/
|
|
64
|
-
async function writeStorefrontNpmrc(storefrontDir) {
|
|
65
|
-
|
|
87
|
+
async function writeStorefrontNpmrc(storefrontDir, registryToken) {
|
|
88
|
+
const lines = [`@vendure-platform:registry=${(0, registry_1.getRegistryUrl)()}`];
|
|
89
|
+
if (registryToken) {
|
|
90
|
+
lines.push(`//${(0, registry_1.getRegistryHostname)()}/:_authToken=${registryToken}`);
|
|
91
|
+
}
|
|
92
|
+
await fs.writeFile(path.join(storefrontDir, '.npmrc'), lines.join('\n') + '\n');
|
|
66
93
|
}
|
|
67
94
|
async function writeStorefrontEnv(storefrontDir, options) {
|
|
68
95
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storefront-copier.js","sourceRoot":"","sources":["../src/storefront-copier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"storefront-copier.js","sourceRoot":"","sources":["../src/storefront-copier.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,29 @@ export interface TemplateContext {
|
|
|
58
58
|
* `resolvePluginVersionSpec()`.
|
|
59
59
|
*/
|
|
60
60
|
pluginVersionSpec: string;
|
|
61
|
+
/**
|
|
62
|
+
* Hostname of the private registry (no protocol, no port). Used by the
|
|
63
|
+
* `npmrc.hbs` template to emit the `//<host>/:_authToken=` line when a
|
|
64
|
+
* `registryToken` is supplied. Derived from `registryUrl`.
|
|
65
|
+
*/
|
|
66
|
+
registryHost: string;
|
|
67
|
+
/**
|
|
68
|
+
* npm auth token for the private registry, when supplied. Baked into the
|
|
69
|
+
* project `.npmrc` as the literal value of `_authToken` (npm doesn't
|
|
70
|
+
* load `.env` at install time, so env-var indirection wouldn't work for
|
|
71
|
+
* subsequent installs). Empty string when no token was supplied;
|
|
72
|
+
* templates must treat empty as "no token" rather than emitting a
|
|
73
|
+
* blank `_authToken=` line.
|
|
74
|
+
*/
|
|
75
|
+
registryToken: string;
|
|
76
|
+
/**
|
|
77
|
+
* Server-side license token, when supplied. Baked into `.env` as
|
|
78
|
+
* `VENDURE_PLATFORM_LICENSE_TOKEN` and read by the License Guard plugin
|
|
79
|
+
* at server boot. Empty string when no token was supplied — `.env`
|
|
80
|
+
* still emits the variable (with empty value) so the user can see
|
|
81
|
+
* where to paste their token.
|
|
82
|
+
*/
|
|
83
|
+
licenseToken: string;
|
|
61
84
|
}
|
|
62
85
|
export interface TemplateContextResult {
|
|
63
86
|
context: TemplateContext;
|
|
@@ -65,9 +88,17 @@ export interface TemplateContextResult {
|
|
|
65
88
|
}
|
|
66
89
|
export declare function buildTemplateContext(projectName: string, companyName: string, selectedPluginKeys: ReadonlyArray<string>, includeStorefront: boolean, options?: {
|
|
67
90
|
versionOverride?: string;
|
|
91
|
+
registryToken?: string;
|
|
92
|
+
licenseToken?: string;
|
|
68
93
|
}): TemplateContextResult;
|
|
69
94
|
/**
|
|
70
95
|
* Render a Handlebars template file with the given context.
|
|
96
|
+
*
|
|
97
|
+
* For `*package.json.hbs` templates the dependency blocks are re-sorted
|
|
98
|
+
* lexicographically before returning — the `pluginDependencies` helper
|
|
99
|
+
* emits entries in `PLUGIN_ORDER` (meaningful at runtime, noisy in
|
|
100
|
+
* `package.json`), so sorting at the render boundary keeps the
|
|
101
|
+
* generated file tidy and stable.
|
|
71
102
|
*/
|
|
72
103
|
export declare function renderTemplate(templatePath: string, context: TemplateContext, hbs: typeof Handlebars): string;
|
|
73
104
|
/**
|
|
@@ -45,6 +45,7 @@ const fs = __importStar(require("fs"));
|
|
|
45
45
|
const path = __importStar(require("path"));
|
|
46
46
|
const plugin_registry_1 = require("./plugin-registry");
|
|
47
47
|
const registry_1 = require("./registry");
|
|
48
|
+
const sort_package_json_1 = require("./sort-package-json");
|
|
48
49
|
/**
|
|
49
50
|
* Resolve the dependency spec to emit for every `@vendure-platform/*`
|
|
50
51
|
* dependency in the scaffolded `server/package.json`.
|
|
@@ -93,6 +94,32 @@ function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys, plugin
|
|
|
93
94
|
}
|
|
94
95
|
return new hbs.SafeString(',\n' + lines.join(',\n'));
|
|
95
96
|
});
|
|
97
|
+
hbs.registerHelper('platformPackageExcludes', function () {
|
|
98
|
+
// The full set of `@vendure-platform/*` packages the scaffolded
|
|
99
|
+
// project may pull in (directly or transitively). Required for the
|
|
100
|
+
// scaffolded `bunfig.toml` to bypass Bun's `minimumReleaseAge`
|
|
101
|
+
// quarantine — without these excludes, any customer who scaffolds
|
|
102
|
+
// a project within 7 days of a Vendure Platform release will get
|
|
103
|
+
// "blocked by minimum-release-age" errors from `bun install`.
|
|
104
|
+
//
|
|
105
|
+
// Sourced from `pluginRegistry` (auto-tracks new plugins) plus the
|
|
106
|
+
// small static list of infra packages the scaffolded project
|
|
107
|
+
// depends on. `create` and `plugin-meta` are intentionally absent:
|
|
108
|
+
// the scaffolded project never installs them — `create` is invoked
|
|
109
|
+
// via `npx` (which uses npm, not bun) and `plugin-meta` is only a
|
|
110
|
+
// dep of `create`.
|
|
111
|
+
const infraPackages = [
|
|
112
|
+
'@vendure-platform/data-populator',
|
|
113
|
+
'@vendure-platform/integration',
|
|
114
|
+
'@vendure-platform/platform',
|
|
115
|
+
'@vendure-platform/scenario-default',
|
|
116
|
+
'@vendure-platform/storefront-client',
|
|
117
|
+
];
|
|
118
|
+
const pluginPackages = plugin_registry_1.pluginRegistry.map((p) => p.packageName);
|
|
119
|
+
const all = Array.from(new Set([...infraPackages, ...pluginPackages])).sort();
|
|
120
|
+
const lines = all.map((name) => ` "${name}",`);
|
|
121
|
+
return new hbs.SafeString(lines.join('\n'));
|
|
122
|
+
});
|
|
96
123
|
hbs.registerHelper('platformPluginImports', function () {
|
|
97
124
|
const lines = [`import { VendurePlatform } from '@vendure-platform/platform';`];
|
|
98
125
|
for (const key of resolvedPluginKeys) {
|
|
@@ -127,6 +154,7 @@ function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys, plugin
|
|
|
127
154
|
return hbs;
|
|
128
155
|
}
|
|
129
156
|
function buildTemplateContext(projectName, companyName, selectedPluginKeys, includeStorefront, options = {}) {
|
|
157
|
+
var _a, _b;
|
|
130
158
|
const resolvedPluginKeys = (0, plugin_registry_1.resolveActivePluginKeys)(selectedPluginKeys);
|
|
131
159
|
const resolvedPlugins = resolvedPluginKeys.map((key) => (0, plugin_registry_1.getPlugin)(key));
|
|
132
160
|
const resolvedSet = new Set(resolvedPluginKeys);
|
|
@@ -143,18 +171,31 @@ function buildTemplateContext(projectName, companyName, selectedPluginKeys, incl
|
|
|
143
171
|
disabledPluginKeys,
|
|
144
172
|
includeStorefront,
|
|
145
173
|
registryUrl: (0, registry_1.getRegistryUrl)(),
|
|
174
|
+
registryHost: (0, registry_1.getRegistryHostname)(),
|
|
146
175
|
pluginVersionSpec,
|
|
176
|
+
registryToken: (_a = options.registryToken) !== null && _a !== void 0 ? _a : '',
|
|
177
|
+
licenseToken: (_b = options.licenseToken) !== null && _b !== void 0 ? _b : '',
|
|
147
178
|
},
|
|
148
179
|
hbs: createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys, pluginVersionSpec),
|
|
149
180
|
};
|
|
150
181
|
}
|
|
151
182
|
/**
|
|
152
183
|
* Render a Handlebars template file with the given context.
|
|
184
|
+
*
|
|
185
|
+
* For `*package.json.hbs` templates the dependency blocks are re-sorted
|
|
186
|
+
* lexicographically before returning — the `pluginDependencies` helper
|
|
187
|
+
* emits entries in `PLUGIN_ORDER` (meaningful at runtime, noisy in
|
|
188
|
+
* `package.json`), so sorting at the render boundary keeps the
|
|
189
|
+
* generated file tidy and stable.
|
|
153
190
|
*/
|
|
154
191
|
function renderTemplate(templatePath, context, hbs) {
|
|
155
192
|
const source = fs.readFileSync(templatePath, 'utf8');
|
|
156
193
|
const template = hbs.compile(source, { noEscape: true });
|
|
157
|
-
|
|
194
|
+
const rendered = template(context);
|
|
195
|
+
if (path.basename(templatePath).endsWith('package.json.hbs')) {
|
|
196
|
+
return (0, sort_package_json_1.sortPackageJson)(rendered);
|
|
197
|
+
}
|
|
198
|
+
return rendered;
|
|
158
199
|
}
|
|
159
200
|
/**
|
|
160
201
|
* Get the path to a bundled template file.
|