@vendure-platform/create 0.2.1-nightly.202605191555 → 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 +22 -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/next.config.ts +1 -19
- package/dist/assets/storefront/package.json +1 -3
- package/dist/assets/storefront/src/components/commerce/packaging-unit-selector.tsx +6 -1
- package/dist/assets/storefront/src/components/commerce/product-info.tsx +4 -4
- package/dist/assets/storefront/src/graphql-env.d.ts +25 -22
- package/dist/assets/storefront/src/lib/vendure/queries.ts +6 -0
- package/dist/assets/storefront/src/schema.graphql +204 -111
- package/dist/assets/templates/README.md.hbs +5 -0
- package/dist/assets/templates/bunfig.toml.hbs +17 -0
- package/dist/assets/templates/env.hbs +5 -2
- package/dist/assets/templates/environment.d.ts.hbs +3 -0
- package/dist/assets/templates/gitignore.hbs +6 -0
- package/dist/assets/templates/npmrc.hbs +2 -0
- package/dist/assets/templates/populate.ts.hbs +1 -14
- package/dist/assets/templates/server-package.json.hbs +6 -6
- package/dist/assets/templates/vendure-config.ts.hbs +9 -3
- 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 +8 -3
- 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 +38 -8
- package/dist/storefront-copier.js.map +1 -1
- package/dist/template-renderer.d.ts +63 -1
- package/dist/template-renderer.js +81 -5
- package/dist/template-renderer.js.map +1 -1
- package/dist/types.d.ts +32 -0
- package/package.json +4 -4
- package/dist/assets/demo-data/assets/branding/logo.svg +0 -4
- package/dist/assets/demo-data/assets/images/absorbent-pad.webp +0 -0
- package/dist/assets/demo-data/assets/images/adjustable-wrench.webp +0 -0
- package/dist/assets/demo-data/assets/images/anchor-bolt.webp +0 -0
- package/dist/assets/demo-data/assets/images/angle-grinder.webp +0 -0
- package/dist/assets/demo-data/assets/images/barrier-tape.webp +0 -0
- package/dist/assets/demo-data/assets/images/bench-grinder.webp +0 -0
- package/dist/assets/demo-data/assets/images/bracket.webp +0 -0
- package/dist/assets/demo-data/assets/images/broom.webp +0 -0
- package/dist/assets/demo-data/assets/images/bucket.webp +0 -0
- package/dist/assets/demo-data/assets/images/cable-gland.webp +0 -0
- package/dist/assets/demo-data/assets/images/cable-tie.webp +0 -0
- package/dist/assets/demo-data/assets/images/cable-tray.webp +0 -0
- package/dist/assets/demo-data/assets/images/cable.webp +0 -0
- package/dist/assets/demo-data/assets/images/chimney-base-kit.webp +0 -0
- package/dist/assets/demo-data/assets/images/chimney-cowl-bird-guard.webp +0 -0
- package/dist/assets/demo-data/assets/images/chimney-cowl-open.webp +0 -0
- package/dist/assets/demo-data/assets/images/chimney-storm-collar.webp +0 -0
- package/dist/assets/demo-data/assets/images/chimney-wall-bracket.webp +0 -0
- package/dist/assets/demo-data/assets/images/circular-saw.webp +0 -0
- package/dist/assets/demo-data/assets/images/cleaning-spray.webp +0 -0
- package/dist/assets/demo-data/assets/images/conduit.webp +0 -0
- package/dist/assets/demo-data/assets/images/cordless-drill.webp +0 -0
- package/dist/assets/demo-data/assets/images/drill-bits.webp +0 -0
- package/dist/assets/demo-data/assets/images/dust-mask.webp +0 -0
- package/dist/assets/demo-data/assets/images/ear-defenders.webp +0 -0
- package/dist/assets/demo-data/assets/images/ear-plugs.webp +0 -0
- package/dist/assets/demo-data/assets/images/extension-lead.webp +0 -0
- package/dist/assets/demo-data/assets/images/eye-wash-station.webp +0 -0
- package/dist/assets/demo-data/assets/images/face-shield.webp +0 -0
- package/dist/assets/demo-data/assets/images/file-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/first-aid-kit.webp +0 -0
- package/dist/assets/demo-data/assets/images/floor-sign.webp +0 -0
- package/dist/assets/demo-data/assets/images/flue-bend-45.webp +0 -0
- package/dist/assets/demo-data/assets/images/flue-bend-90.webp +0 -0
- package/dist/assets/demo-data/assets/images/flue-section-1000mm.webp +0 -0
- package/dist/assets/demo-data/assets/images/flue-section-250mm.webp +0 -0
- package/dist/assets/demo-data/assets/images/flue-section-500mm.webp +0 -0
- package/dist/assets/demo-data/assets/images/fuse.webp +0 -0
- package/dist/assets/demo-data/assets/images/glove-dispenser.webp +0 -0
- package/dist/assets/demo-data/assets/images/grinding-disc.webp +0 -0
- package/dist/assets/demo-data/assets/images/hacksaw.webp +0 -0
- package/dist/assets/demo-data/assets/images/hammer.webp +0 -0
- package/dist/assets/demo-data/assets/images/hand-sanitiser.webp +0 -0
- package/dist/assets/demo-data/assets/images/head-torch.webp +0 -0
- package/dist/assets/demo-data/assets/images/heat-gun.webp +0 -0
- package/dist/assets/demo-data/assets/images/hex-bolt.webp +0 -0
- package/dist/assets/demo-data/assets/images/hex-key-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/hex-nut.webp +0 -0
- package/dist/assets/demo-data/assets/images/hi-vis-jacket.webp +0 -0
- package/dist/assets/demo-data/assets/images/hi-vis-vest.webp +0 -0
- package/dist/assets/demo-data/assets/images/hose-clamp.webp +0 -0
- package/dist/assets/demo-data/assets/images/impact-driver.webp +0 -0
- package/dist/assets/demo-data/assets/images/jigsaw.webp +0 -0
- package/dist/assets/demo-data/assets/images/junction-box.webp +0 -0
- package/dist/assets/demo-data/assets/images/knee-pads.webp +0 -0
- package/dist/assets/demo-data/assets/images/machine-screw.webp +0 -0
- package/dist/assets/demo-data/assets/images/made-to-order-configurable-chimney.webp +0 -0
- package/dist/assets/demo-data/assets/images/mallet.webp +0 -0
- package/dist/assets/demo-data/assets/images/mcb.webp +0 -0
- package/dist/assets/demo-data/assets/images/mop.webp +0 -0
- package/dist/assets/demo-data/assets/images/paper-towels.webp +0 -0
- package/dist/assets/demo-data/assets/images/pipe-wrench.webp +0 -0
- package/dist/assets/demo-data/assets/images/pliers-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/pry-bar.webp +0 -0
- package/dist/assets/demo-data/assets/images/rcd.webp +0 -0
- package/dist/assets/demo-data/assets/images/reciprocating-saw.webp +0 -0
- package/dist/assets/demo-data/assets/images/rivet.webp +0 -0
- package/dist/assets/demo-data/assets/images/roof-flashing-high-pitch.webp +0 -0
- package/dist/assets/demo-data/assets/images/roof-flashing-low-pitch.webp +0 -0
- package/dist/assets/demo-data/assets/images/safety-boots.webp +0 -0
- package/dist/assets/demo-data/assets/images/safety-glasses.webp +0 -0
- package/dist/assets/demo-data/assets/images/safety-harness.webp +0 -0
- package/dist/assets/demo-data/assets/images/safety-helmet.webp +0 -0
- package/dist/assets/demo-data/assets/images/safety-sign.webp +0 -0
- package/dist/assets/demo-data/assets/images/sanding-disc.webp +0 -0
- package/dist/assets/demo-data/assets/images/saw-blade.webp +0 -0
- package/dist/assets/demo-data/assets/images/screwdriver-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/screwdriver.webp +0 -0
- package/dist/assets/demo-data/assets/images/self-tapping-screw.webp +0 -0
- package/dist/assets/demo-data/assets/images/socket-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/socket.webp +0 -0
- package/dist/assets/demo-data/assets/images/spanner-set.webp +0 -0
- package/dist/assets/demo-data/assets/images/spanner.webp +0 -0
- package/dist/assets/demo-data/assets/images/spill-kit.webp +0 -0
- package/dist/assets/demo-data/assets/images/spirit-level.webp +0 -0
- package/dist/assets/demo-data/assets/images/switch.webp +0 -0
- package/dist/assets/demo-data/assets/images/tape-measure.webp +0 -0
- package/dist/assets/demo-data/assets/images/terminal-block.webp +0 -0
- package/dist/assets/demo-data/assets/images/threaded-rod.webp +0 -0
- package/dist/assets/demo-data/assets/images/torque-wrench.webp +0 -0
- package/dist/assets/demo-data/assets/images/utility-knife.webp +0 -0
- package/dist/assets/demo-data/assets/images/wall-pass-sleeve.webp +0 -0
- package/dist/assets/demo-data/assets/images/wall-plug.webp +0 -0
- package/dist/assets/demo-data/assets/images/washer.webp +0 -0
- package/dist/assets/demo-data/assets/images/waste-bin.webp +0 -0
- package/dist/assets/demo-data/assets/images/wire-connector.webp +0 -0
- package/dist/assets/demo-data/assets/images/wire-cutters.webp +0 -0
- package/dist/assets/demo-data/assets/images/wood-screw.webp +0 -0
- package/dist/assets/demo-data/assets/images/work-gloves.webp +0 -0
- package/dist/assets/demo-data/assets/images/work-light.webp +0 -0
- package/dist/assets/demo-data/assets/initial-data.json +0 -667
- package/dist/assets/demo-data/assets/products.csv +0 -779
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,kDAyBC;AAsCD,wCAmBC;AAvGD,kDAAoC;AACpC,iDAAqC;AACrC,+BAAiC;AAGjC,yCAAqC;AACrC,yCAAiE;AAEjE,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAIlC;;;;;;;;GAQG;AACI,KAAK,UAAU,mBAAmB,CACrC,UAAkB,EAClB,cAA8B,EAC9B,OAAgB;;IAEhB,OAAO,CAAC,OAAO,CAAC,gCAAgC,cAAc,mCAAmC,CAAC,CAAC;IACnG,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,cAAc,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,kBAAkB,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,IAAI,QAAQ,IAAI,GAAG;YAClD,CAAC,CAAC,MAAC,GAA0B,CAAC,MAAM,0CAAE,IAAI,EAAE;YAC5C,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,MAAM,EAAE,CAAC;YACT,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACJ,CAAC,CAAC,GAAG,CAAC,IAAI,CACN,qCAAqC,cAAc,+CAA+C,CACrG,CAAC;QACN,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IACzC,MAAM,eAAe,GAAG,IAAA,8BAAmB,GAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpE,OAAO,IAAI,MAAM,CAAC,+BAA+B,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,0BAA0B,CAAC,cAA8B,EAAE,UAAkB;IAClF,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,QAAQ,GAAG,IAAA,yBAAc,GAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,OAAO;QACH,mEAAmE;QACnE,gDAAgD;QAChD,EAAE;QACF,0DAA0D;QAC1D,iCAAiC;QACjC,EAAE;QACF,oEAAoE;QACpE,2DAA2D;QAC3D,EAAE;QACF,cAAc;QACd,8EAA8E;QAC9E,SAAS,UAAU,SAAS;QAC5B,mEAAmE;QACnE,uBAAuB,cAAc,iBAAiB,UAAU,GAAG;QACnE,yDAAyD;QACzD,8CAA8C,QAAQ,EAAE;QACxD,uBAAuB,cAAc,iBAAiB,UAAU,GAAG;QACnE,EAAE;QACF,wCAAwC;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAChC,UAAkB,EAClB,gBAAyB,EACzB,SAA6B,EAC7B,OAAgB;IAEhB,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,IAAI,CAAC;QACD,MAAM,IAAA,kBAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,GAAG,CAAC,IAAI,CACN,gBAAgB;YACZ,CAAC,CAAC,uFAAuF,OAAO,GAAG;YACnG,CAAC,CAAC,kEAAkE,OAAO,GAAG,CACrF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;AACL,CAAC"}
|
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');
|
|
@@ -139,8 +143,9 @@ async function scaffold(options) {
|
|
|
139
143
|
try {
|
|
140
144
|
await (0, storefront_copier_1.copyStorefront)(projectDir, {
|
|
141
145
|
mode: 'full-project',
|
|
142
|
-
scenario: '
|
|
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,23 +51,53 @@ 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;
|
|
69
96
|
const secret = crypto.randomBytes(32).toString('hex');
|
|
70
|
-
|
|
97
|
+
// Default to `customer` — that's the only scenario registered in the
|
|
98
|
+
// copied `src/config/scenario.ts`. Using `default` triggers a warning at
|
|
99
|
+
// boot and falls back to `customer` anyway, so just write the right value.
|
|
100
|
+
const scenario = (_a = options.scenario) !== null && _a !== void 0 ? _a : 'customer';
|
|
71
101
|
const apiUrl = (_b = options.apiUrl) !== null && _b !== void 0 ? _b : '';
|
|
72
102
|
const lines = [
|
|
73
103
|
'# Generated by @vendure-platform/create. Safe to edit.',
|
|
@@ -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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"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import Handlebars from 'handlebars';
|
|
2
2
|
import { PluginDefinition } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the dependency spec to emit for every `@vendure-platform/*`
|
|
5
|
+
* dependency in the scaffolded `server/package.json`.
|
|
6
|
+
*
|
|
7
|
+
* Nx Release runs in `projectsRelationship: fixed` mode, so every published
|
|
8
|
+
* `libs/*` package shares one version. We read this CLI's own version from
|
|
9
|
+
* `libs/create/package.json` (relative to this file's compiled location —
|
|
10
|
+
* both `src/` and `dist/` are one level above the package root) and use it
|
|
11
|
+
* as the canonical version anchor:
|
|
12
|
+
*
|
|
13
|
+
* - Stable release (`0.2.0`) → emit `^0.2.0` so customers track
|
|
14
|
+
* minor/patch updates automatically.
|
|
15
|
+
* - Prerelease (`0.2.1-nightly.X`) → emit the `nightly` dist-tag.
|
|
16
|
+
* Pinning to the exact prerelease version is brittle because the
|
|
17
|
+
* nightly publish workflow stamps a new timestamped patch every run,
|
|
18
|
+
* and a customer scaffolded last Tuesday cannot resolve today's
|
|
19
|
+
* timestamp from npm even though both are tagged `nightly`.
|
|
20
|
+
*
|
|
21
|
+
* The override is for tests that need to exercise both shapes without
|
|
22
|
+
* mutating the on-disk `package.json`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolvePluginVersionSpec(versionOverride?: string): string;
|
|
3
25
|
export interface TemplateContext {
|
|
4
26
|
projectName: string;
|
|
5
27
|
companyName: string;
|
|
@@ -29,14 +51,54 @@ export interface TemplateContext {
|
|
|
29
51
|
* default. See `registry.ts`.
|
|
30
52
|
*/
|
|
31
53
|
registryUrl: string;
|
|
54
|
+
/**
|
|
55
|
+
* The npm version spec used for every `@vendure-platform/*` dependency
|
|
56
|
+
* the scaffolder emits. Either `nightly` (for prerelease builds of
|
|
57
|
+
* this CLI) or `^<version>` (for stable releases). See
|
|
58
|
+
* `resolvePluginVersionSpec()`.
|
|
59
|
+
*/
|
|
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;
|
|
32
84
|
}
|
|
33
85
|
export interface TemplateContextResult {
|
|
34
86
|
context: TemplateContext;
|
|
35
87
|
hbs: typeof Handlebars;
|
|
36
88
|
}
|
|
37
|
-
export declare function buildTemplateContext(projectName: string, companyName: string, selectedPluginKeys: ReadonlyArray<string>, includeStorefront: boolean
|
|
89
|
+
export declare function buildTemplateContext(projectName: string, companyName: string, selectedPluginKeys: ReadonlyArray<string>, includeStorefront: boolean, options?: {
|
|
90
|
+
versionOverride?: string;
|
|
91
|
+
registryToken?: string;
|
|
92
|
+
licenseToken?: string;
|
|
93
|
+
}): TemplateContextResult;
|
|
38
94
|
/**
|
|
39
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.
|
|
40
102
|
*/
|
|
41
103
|
export declare function renderTemplate(templatePath: string, context: TemplateContext, hbs: typeof Handlebars): string;
|
|
42
104
|
/**
|