@vendure/cloud 0.5.0-dev.20261027113115.g57c13ee → 0.5.0-dev.20261027220046.g005c6cf
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/dist/cli/commands/project-config/init/conversion/app-files.d.ts +1 -0
- package/dist/cli/commands/project-config/init/conversion/app-files.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/app-files.js +5 -1
- package/dist/cli/commands/project-config/init/conversion/app-files.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/binding-cleanup.d.ts +1 -1
- package/dist/cli/commands/project-config/init/conversion/binding-cleanup.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/binding-cleanup.js +9 -6
- package/dist/cli/commands/project-config/init/conversion/binding-cleanup.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/migrations-declaration.d.ts +3 -1
- package/dist/cli/commands/project-config/init/conversion/migrations-declaration.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/migrations-declaration.js +86 -9
- package/dist/cli/commands/project-config/init/conversion/migrations-declaration.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/package-manifest.d.ts +2 -0
- package/dist/cli/commands/project-config/init/conversion/package-manifest.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/package-manifest.js +116 -15
- package/dist/cli/commands/project-config/init/conversion/package-manifest.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/plan-conversion.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/plan-conversion.js +99 -11
- package/dist/cli/commands/project-config/init/conversion/plan-conversion.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold-templates.d.ts +12 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold-templates.d.ts.map +1 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold-templates.js +481 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold-templates.js.map +1 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold.d.ts +15 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold.d.ts.map +1 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold.js +217 -0
- package/dist/cli/commands/project-config/init/conversion/platform-scaffold.js.map +1 -0
- package/dist/cli/commands/project-config/init/conversion/plugin-conversion.d.ts +11 -0
- package/dist/cli/commands/project-config/init/conversion/plugin-conversion.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/plugin-conversion.js +117 -9
- package/dist/cli/commands/project-config/init/conversion/plugin-conversion.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/scaffold-settings.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/scaffold-settings.js +7 -4
- package/dist/cli/commands/project-config/init/conversion/scaffold-settings.js.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/text-edits.d.ts +2 -0
- package/dist/cli/commands/project-config/init/conversion/text-edits.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/conversion/text-edits.js +14 -2
- package/dist/cli/commands/project-config/init/conversion/text-edits.js.map +1 -1
- package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/init.js +65 -4
- package/dist/cli/commands/project-config/init/init.js.map +1 -1
- package/dist/cli/commands/project-config/init/platform-variables.d.ts +12 -0
- package/dist/cli/commands/project-config/init/platform-variables.d.ts.map +1 -0
- package/dist/cli/commands/project-config/init/platform-variables.js +167 -0
- package/dist/cli/commands/project-config/init/platform-variables.js.map +1 -0
- package/dist/cli/lib/contract/env-vars.d.ts +1 -0
- package/dist/cli/lib/contract/env-vars.d.ts.map +1 -1
- package/dist/cli/lib/contract/env-vars.js +5 -1
- package/dist/cli/lib/contract/env-vars.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-files.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/app-files.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBxD;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS5D"}
|
|
1
|
+
{"version":3,"file":"app-files.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/app-files.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9D;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBxD;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS5D"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { readdirSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
2
|
+
import { join, relative, sep } from "node:path";
|
|
3
3
|
const SOURCE_SUFFIXES = [".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"];
|
|
4
4
|
const SKIPPED_DIRECTORIES = new Set(["node_modules", "dist"]);
|
|
5
|
+
// `to` relative to `from`, with `/` separators, as package.json scripts and globs write it.
|
|
6
|
+
export function posixRelative(from, to) {
|
|
7
|
+
return relative(from, to).split(sep).join("/");
|
|
8
|
+
}
|
|
5
9
|
// Every source file of the application, outside dependencies, build output and dot-directories.
|
|
6
10
|
export function listSourceFiles(appDir) {
|
|
7
11
|
const found = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-files.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/app-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"app-files.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/app-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,EAAU;IACpD,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAQ,EAAE;QACxC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,IACE,KAAK,CAAC,MAAM,EAAE;gBACd,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7D,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EACjC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,8FAA8F;AAC9F,yCAAyC;AACzC,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAChD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,EAAE;QACd,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC3F;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACxC,IAAI,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConversionContext } from "./context.js";
|
|
2
2
|
import { type SourceFile } from "./source-project.js";
|
|
3
|
-
export declare function removeBindingsMadeUnused(ctx: ConversionContext, file: SourceFile): void;
|
|
3
|
+
export declare function removeBindingsMadeUnused(ctx: ConversionContext, file: SourceFile, namedElsewhere: (name: string) => boolean): void;
|
|
4
4
|
export declare function addCloudImports(ctx: ConversionContext, file: SourceFile, names: string[]): void;
|
|
5
5
|
//# sourceMappingURL=binding-cleanup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-cleanup.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/binding-cleanup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAiC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"binding-cleanup.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/binding-cleanup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAiC,MAAM,qBAAqB,CAAC;AAarF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACxC,IAAI,CAkBN;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAuC/F"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { hasExportModifier, moduleText } from "./source-project.js";
|
|
2
2
|
import { detectStyle, endOfLineBreak, statementRemoval } from "./text-edits.js";
|
|
3
|
-
// Removes the imports, and the
|
|
4
|
-
//
|
|
5
|
-
|
|
3
|
+
// Removes the imports, and the top-level consts, that the conversion's own edits left with no
|
|
4
|
+
// reference. An exported const goes only when no other file of the application names it. A binding
|
|
5
|
+
// that had no reference before conversion is left alone.
|
|
6
|
+
export function removeBindingsMadeUnused(ctx, file, namedElsewhere) {
|
|
6
7
|
const references = collectReferences(ctx, file);
|
|
7
8
|
// Computed once: an import's candidates share a count of removed names across passes.
|
|
8
|
-
const pending = candidates(ctx, file);
|
|
9
|
+
const pending = candidates(ctx, file, namedElsewhere);
|
|
9
10
|
// Each pass can only remove more, and a removed const can free the imports it used.
|
|
10
11
|
for (let pass = 0; pass < pending.length + 1; pass++) {
|
|
11
12
|
let removedAny = false;
|
|
@@ -77,7 +78,7 @@ function compareNames(a, b) {
|
|
|
77
78
|
function isRemoved(ctx, file, node) {
|
|
78
79
|
return ctx.edits.isRemoved(file.path, node.getStart(file.ast));
|
|
79
80
|
}
|
|
80
|
-
function candidates(ctx, file) {
|
|
81
|
+
function candidates(ctx, file, namedElsewhere) {
|
|
81
82
|
const ts = ctx.ts;
|
|
82
83
|
const found = [];
|
|
83
84
|
for (const statement of file.ast.statements) {
|
|
@@ -85,12 +86,14 @@ function candidates(ctx, file) {
|
|
|
85
86
|
found.push(...importCandidates(ctx, file, statement));
|
|
86
87
|
continue;
|
|
87
88
|
}
|
|
88
|
-
if (!ts.isVariableStatement(statement)
|
|
89
|
+
if (!ts.isVariableStatement(statement))
|
|
89
90
|
continue;
|
|
90
91
|
const [declaration, ...others] = statement.declarationList.declarations;
|
|
91
92
|
if (!declaration || others.length > 0 || !ts.isIdentifier(declaration.name))
|
|
92
93
|
continue;
|
|
93
94
|
const name = declaration.name.text;
|
|
95
|
+
if (hasExportModifier(ts, statement) && namedElsewhere(name))
|
|
96
|
+
continue;
|
|
94
97
|
found.push({
|
|
95
98
|
name,
|
|
96
99
|
declaration: statement,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-cleanup.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/binding-cleanup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAkB,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAShG,
|
|
1
|
+
{"version":3,"file":"binding-cleanup.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/binding-cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { ConversionContext } from "./context.js";
|
|
2
2
|
import type { ResolvedObject } from "./object-properties.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type PlatformExtension, type PlatformSpread, type PluginsArrayVisit } from "./plugin-conversion.js";
|
|
4
4
|
export declare function extensionIdFor(packageName: string | undefined): string;
|
|
5
5
|
export interface MigrationsDeclarationTarget {
|
|
6
6
|
host: PluginsArrayVisit | undefined;
|
|
7
7
|
root: ResolvedObject | undefined;
|
|
8
8
|
}
|
|
9
9
|
export declare function declareMigrations(ctx: ConversionContext, target: MigrationsDeclarationTarget, directory: string, extensionId: string): boolean;
|
|
10
|
+
export declare function declarePlatformExtension(ctx: ConversionContext, spread: PlatformSpread, directory: string | undefined, extensionId: string): void;
|
|
11
|
+
export declare function declareMigrationsOn(ctx: ConversionContext, extension: PlatformExtension, directory: string): void;
|
|
10
12
|
export declare function migrationsGlob(declaringFile: string, directory: string): string;
|
|
11
13
|
//# sourceMappingURL=migrations-declaration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations-declaration.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/migrations-declaration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrations-declaration.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/migrations-declaration.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAahC,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOtE;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;CAClC;AAKD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,2BAA2B,EACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CA0BT;AAKD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,MAAM,GAClB,IAAI,CAkBN;AAID,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,GAChB,IAAI,CAkBN;AAiBD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI/E"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { dirname
|
|
1
|
+
import { dirname } from "node:path";
|
|
2
|
+
import { posixRelative } from "./app-files.js";
|
|
2
3
|
import { addPluginsProperty } from "./config-conversion.js";
|
|
3
|
-
import {
|
|
4
|
+
import { PLATFORM_EDITION_INIT, } from "./plugin-conversion.js";
|
|
5
|
+
import { appendToList, applyEdits, detectStyle, indentationOf, lineStartOf, quoted, } from "./text-edits.js";
|
|
4
6
|
// A Vendure Extension id from the package name: `@acme/shop-server` → `acme-shop-server`.
|
|
5
7
|
export function extensionIdFor(packageName) {
|
|
6
8
|
const slug = (packageName ?? "")
|
|
@@ -21,7 +23,10 @@ export function declareMigrations(ctx, target, directory, extensionId) {
|
|
|
21
23
|
}
|
|
22
24
|
const name = uniqueName(ctx, declaringFile, "migrationsExtension");
|
|
23
25
|
const glob = migrationsGlob(declaringFile.path, directory);
|
|
24
|
-
insertDeclaration(ctx, declaringFile, anchorStatement(ctx, target), name, extensionId,
|
|
26
|
+
insertDeclaration(ctx, declaringFile, anchorStatement(ctx, target), name, extensionId, {
|
|
27
|
+
glob,
|
|
28
|
+
plugins: undefined,
|
|
29
|
+
});
|
|
25
30
|
if (target.host) {
|
|
26
31
|
appendToList(ctx.edits, target.host.file, target.host.array, target.host.array.elements, name);
|
|
27
32
|
}
|
|
@@ -29,11 +34,42 @@ export function declareMigrations(ctx, target, directory, extensionId) {
|
|
|
29
34
|
addPluginsProperty(ctx, target.root, name);
|
|
30
35
|
}
|
|
31
36
|
ctx.requireCloudImport(declaringFile, "defineVendureExtension");
|
|
32
|
-
ctx
|
|
37
|
+
recordMigrations(ctx, declaringFile, glob, extensionId);
|
|
33
38
|
return true;
|
|
34
39
|
}
|
|
40
|
+
// Moves a Vendure Platform edition's spread into a new Vendure Extension declared above the
|
|
41
|
+
// statement holding it, with the migrations directory when one is given. The extension takes the
|
|
42
|
+
// spread's place in its array, so the plugins keep their order.
|
|
43
|
+
export function declarePlatformExtension(ctx, spread, directory, extensionId) {
|
|
44
|
+
const { element, file } = spread;
|
|
45
|
+
const name = uniqueName(ctx, file, "platformExtension");
|
|
46
|
+
const glob = directory === undefined ? undefined : migrationsGlob(file.path, directory);
|
|
47
|
+
insertDeclaration(ctx, file, topLevelStatement(ctx, element), name, extensionId, {
|
|
48
|
+
glob,
|
|
49
|
+
plugins: spreadText(ctx, file, element),
|
|
50
|
+
});
|
|
51
|
+
ctx.edits.move(file, { start: element.getStart(file.ast), end: element.end, text: name });
|
|
52
|
+
ctx.requireCloudImport(file, "defineVendureExtension");
|
|
53
|
+
ctx.record(file, element, PLATFORM_EDITION_INIT, "translated", `Moved into the Vendure Extension "${extensionId}". Its plugins stay yours, and a deploy refuses to start if one of them is a plugin Vendure Cloud supplies.`);
|
|
54
|
+
if (glob !== undefined)
|
|
55
|
+
recordMigrations(ctx, file, glob, extensionId);
|
|
56
|
+
}
|
|
57
|
+
// Declares the migrations directory on the extension an earlier run of init moved a Vendure
|
|
58
|
+
// Platform edition into.
|
|
59
|
+
export function declareMigrationsOn(ctx, extension, directory) {
|
|
60
|
+
const { options, file } = extension;
|
|
61
|
+
const style = detectStyle(ctx.ts, file);
|
|
62
|
+
const glob = migrationsGlob(file.path, directory);
|
|
63
|
+
appendToList(ctx.edits, file, options, options.properties, `migrations: [${quoted(style, glob)}]`);
|
|
64
|
+
const id = options.properties.find((property) => ctx.ts.isPropertyAssignment(property) && property.name.getText(file.ast) === "id");
|
|
65
|
+
const idValue = id && ctx.ts.isStringLiteralLike(id.initializer) ? id.initializer.text : undefined;
|
|
66
|
+
recordMigrations(ctx, file, glob, idValue);
|
|
67
|
+
}
|
|
68
|
+
function recordMigrations(ctx, file, glob, extensionId) {
|
|
69
|
+
ctx.record(file, undefined, "migrations", "added", `Declares ${glob} on the Vendure Extension${extensionId === undefined ? "" : ` "${extensionId}"`}, so your migrations run on each deploy and in vendure dev.`);
|
|
70
|
+
}
|
|
35
71
|
export function migrationsGlob(declaringFile, directory) {
|
|
36
|
-
const path =
|
|
72
|
+
const path = posixRelative(dirname(declaringFile), directory);
|
|
37
73
|
if (path === "")
|
|
38
74
|
return "./*";
|
|
39
75
|
return path.startsWith(".") ? `${path}/*` : `./${path}/*`;
|
|
@@ -42,24 +78,65 @@ function anchorStatement(ctx, target) {
|
|
|
42
78
|
const node = target.host?.array ?? target.root?.node;
|
|
43
79
|
if (!node)
|
|
44
80
|
throw new Error("Vendure Cloud: no plugins array or configuration to anchor on.");
|
|
81
|
+
return topLevelStatement(ctx, node);
|
|
82
|
+
}
|
|
83
|
+
function topLevelStatement(ctx, node) {
|
|
45
84
|
let current = node;
|
|
46
85
|
while (current.parent && !ctx.ts.isSourceFile(current.parent))
|
|
47
86
|
current = current.parent;
|
|
48
87
|
return current;
|
|
49
88
|
}
|
|
50
|
-
|
|
89
|
+
// The spread's own lines move two levels in from the declaration. Text holding a multi-line
|
|
90
|
+
// template literal moves as written, because re-indenting would change the string.
|
|
91
|
+
function spreadText(ctx, file, element) {
|
|
92
|
+
const ts = ctx.ts;
|
|
93
|
+
const start = element.getStart(file.ast);
|
|
94
|
+
// Edits inside the spread, such as a removed option, travel with its text.
|
|
95
|
+
const inside = ctx.edits
|
|
96
|
+
.editsFor(file.path)
|
|
97
|
+
.filter((edit) => edit.start >= start && edit.end <= element.end)
|
|
98
|
+
.map((edit) => ({ ...edit, start: edit.start - start, end: edit.end - start }));
|
|
99
|
+
const text = applyEdits(element.getText(file.ast), inside);
|
|
100
|
+
const from = indentationOf(file, start);
|
|
101
|
+
let multilineTemplate = false;
|
|
102
|
+
const visit = (node) => {
|
|
103
|
+
if ((ts.isNoSubstitutionTemplateLiteral(node) || ts.isTemplateExpression(node)) &&
|
|
104
|
+
node.getText(file.ast).includes("\n")) {
|
|
105
|
+
multilineTemplate = true;
|
|
106
|
+
}
|
|
107
|
+
ts.forEachChild(node, visit);
|
|
108
|
+
};
|
|
109
|
+
visit(element);
|
|
110
|
+
return (style) => {
|
|
111
|
+
if (multilineTemplate)
|
|
112
|
+
return text;
|
|
113
|
+
const to = style.indent.repeat(2);
|
|
114
|
+
return text
|
|
115
|
+
.split(/\r?\n/)
|
|
116
|
+
.map((line, index) => index === 0 || !line.startsWith(from) ? line : `${to}${line.slice(from.length)}`)
|
|
117
|
+
.join(style.newline);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function insertDeclaration(ctx, file, before, name, id, contents) {
|
|
51
121
|
const style = detectStyle(ctx.ts, file);
|
|
52
122
|
const comments = ctx.ts.getLeadingCommentRanges(file.text, before.pos) ?? [];
|
|
53
123
|
const firstComment = comments.find((comment) => !file.text.slice(comment.end, before.getStart(file.ast)).includes("\n\n"));
|
|
54
124
|
const anchor = lineStartOf(file.text, firstComment?.pos ?? before.getStart(file.ast));
|
|
55
125
|
const nl = style.newline;
|
|
56
126
|
const i = style.indent;
|
|
127
|
+
const { glob, plugins } = contents;
|
|
57
128
|
const text = [
|
|
58
|
-
|
|
129
|
+
...(glob === undefined
|
|
130
|
+
? []
|
|
131
|
+
: [
|
|
132
|
+
"// The glob has no extension, so it matches the TypeScript sources and the compiled JavaScript.",
|
|
133
|
+
]),
|
|
59
134
|
`const ${name} = defineVendureExtension({`,
|
|
60
135
|
`${i}id: ${quoted(style, id)},`,
|
|
61
|
-
|
|
62
|
-
|
|
136
|
+
...(plugins === undefined
|
|
137
|
+
? [`${i}plugins: [],`]
|
|
138
|
+
: [`${i}plugins: [`, `${i}${i}${plugins(style)},`, `${i}],`]),
|
|
139
|
+
...(glob === undefined ? [] : [`${i}migrations: [${quoted(style, glob)}],`]),
|
|
63
140
|
`})${style.semicolon}`,
|
|
64
141
|
"",
|
|
65
142
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations-declaration.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/migrations-declaration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"migrations-declaration.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/migrations-declaration.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export interface ManifestInput {
|
|
|
11
11
|
manifest: Record<string, unknown>;
|
|
12
12
|
} | undefined;
|
|
13
13
|
deletedEntryPoints: ReadonlySet<EntryPointKind>;
|
|
14
|
+
deletedFiles: ReadonlySet<string>;
|
|
14
15
|
sources: ReadonlyMap<string, string>;
|
|
15
16
|
toolConfigs: ReadonlyMap<string, string>;
|
|
16
17
|
typescriptVersion: string;
|
|
@@ -21,4 +22,5 @@ export interface ManifestResult {
|
|
|
21
22
|
dependencies: DependencyChanges;
|
|
22
23
|
}
|
|
23
24
|
export declare function convertManifest(ctx: ConversionContext, input: ManifestInput): ManifestResult;
|
|
25
|
+
export declare function peerRangeConflicts(declared: string, peer: string): boolean;
|
|
24
26
|
//# sourceMappingURL=package-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manifest.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/package-manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-manifest.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/init/conversion/package-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;IACtE,kBAAkB,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAEhD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAwFD,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CA+C5F;AAkKD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { dirname, join } from "node:path";
|
|
1
2
|
import { isRecord, isStringRecord } from "./cloud-package.js";
|
|
2
3
|
import { packageNameOf } from "./source-project.js";
|
|
3
4
|
const CORE = "@vendure/core";
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
const PACKAGE_MANAGERS = ["npm", "pnpm", "yarn", "bun"];
|
|
6
|
+
const RUN_WITH_CREDENTIAL = "vendure run-with-credential -- node --require ts-node/register";
|
|
7
|
+
// Scripts `@vendure/create` and `@vendure-platform/create` write that start or build what a Cloud
|
|
8
|
+
// project no longer has. A script is removed only while it holds one of these values.
|
|
6
9
|
const SCAFFOLD_SCRIPTS = {
|
|
7
10
|
"dev:server": { values: ["vendure dev server"] },
|
|
8
11
|
"dev:worker": { values: ["vendure dev worker"] },
|
|
@@ -10,9 +13,34 @@ const SCAFFOLD_SCRIPTS = {
|
|
|
10
13
|
"build:server": { values: ["vendure build server"] },
|
|
11
14
|
"build:worker": { values: ["vendure build worker"] },
|
|
12
15
|
"build:dashboard": { values: ["vendure build dashboard"] },
|
|
13
|
-
"start:server": {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
"start:server": {
|
|
17
|
+
values: ["node ./dist/index.js", "node dist/index.js"],
|
|
18
|
+
entryPoint: "server",
|
|
19
|
+
},
|
|
20
|
+
"start:worker": {
|
|
21
|
+
values: ["node ./dist/index-worker.js", "node dist/index-worker.js"],
|
|
22
|
+
entryPoint: "worker",
|
|
23
|
+
},
|
|
24
|
+
start: {
|
|
25
|
+
values: [
|
|
26
|
+
"vendure start all",
|
|
27
|
+
...PACKAGE_MANAGERS.map((name) => `concurrently --kill-others ${name}:start:*`),
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
// The Vendure Platform scripts whose file the conversion deletes, removed with it.
|
|
32
|
+
const PLATFORM_FILE_SCRIPTS = {
|
|
33
|
+
"build:dashboard": { values: ["vite build"], file: "vite.config.mts" },
|
|
34
|
+
populate: { values: [`${RUN_WITH_CREDENTIAL} src/populate.ts`], file: "src/populate.ts" },
|
|
35
|
+
"migration:generate": {
|
|
36
|
+
values: [`${RUN_WITH_CREDENTIAL} src/migrate.ts generate`],
|
|
37
|
+
file: "src/migrate.ts",
|
|
38
|
+
},
|
|
39
|
+
"migration:run": {
|
|
40
|
+
values: [`${RUN_WITH_CREDENTIAL} src/migrate.ts run`],
|
|
41
|
+
file: "src/migrate.ts",
|
|
42
|
+
},
|
|
43
|
+
"migration:run:prod": { values: ["node dist/migrate.js run"], file: "src/migrate.ts" },
|
|
16
44
|
};
|
|
17
45
|
const SCAFFOLD_DEV = ["vendure dev all"];
|
|
18
46
|
const SCAFFOLD_BUILD = ["vendure build all", "vendure build server"];
|
|
@@ -23,10 +51,12 @@ const ENTRY_POINT_FILES = {
|
|
|
23
51
|
// What `vendure dev` loads from the application. `typescript` is not a peer of this package, so
|
|
24
52
|
// its range comes from the copy the application resolves.
|
|
25
53
|
const LOCAL_DEVELOPMENT_PACKAGES = ["ts-node", "typescript", "pg", "ioredis", "@vendure/dashboard"];
|
|
26
|
-
// Packages conversion can leave unused: the replaced asset and job queue plugins,
|
|
27
|
-
// drivers other than PostgreSQL's.
|
|
54
|
+
// Packages conversion can leave unused: the replaced asset and job queue plugins, database
|
|
55
|
+
// drivers other than PostgreSQL's, and what only the deleted self-hosted files used.
|
|
28
56
|
const REMOVAL_CANDIDATES = [
|
|
29
57
|
"@vendure/asset-server-plugin",
|
|
58
|
+
"concurrently",
|
|
59
|
+
"dotenv",
|
|
30
60
|
"@vendure/job-queue-plugin",
|
|
31
61
|
"bullmq",
|
|
32
62
|
"mysql2",
|
|
@@ -36,6 +66,11 @@ const REMOVAL_CANDIDATES = [
|
|
|
36
66
|
"sqlite3",
|
|
37
67
|
"sql.js",
|
|
38
68
|
];
|
|
69
|
+
// Development packages only the deleted Vendure Platform populate scripts used.
|
|
70
|
+
const DEVELOPMENT_REMOVAL_CANDIDATES = [
|
|
71
|
+
"@vendure-platform/data-populator",
|
|
72
|
+
"@vendure-platform/scenario-default",
|
|
73
|
+
];
|
|
39
74
|
export function convertManifest(ctx, input) {
|
|
40
75
|
const manifest = structuredClone(input.manifest);
|
|
41
76
|
const dependencies = { removed: [], movedToDev: [], added: [], uncertain: [] };
|
|
@@ -44,7 +79,7 @@ export function convertManifest(ctx, input) {
|
|
|
44
79
|
moveCoreToDevelopment(ctx, input, runtime, development, dependencies, (next) => {
|
|
45
80
|
development = next;
|
|
46
81
|
});
|
|
47
|
-
convertScripts(ctx, input, manifest);
|
|
82
|
+
const scripts = convertScripts(ctx, input, manifest);
|
|
48
83
|
for (const name of LOCAL_DEVELOPMENT_PACKAGES) {
|
|
49
84
|
if (declares(input.manifest, name) || (input.root && declares(input.root.manifest, name))) {
|
|
50
85
|
continue;
|
|
@@ -61,7 +96,9 @@ export function convertManifest(ctx, input) {
|
|
|
61
96
|
development = withKey(development, CLOUD_PACKAGE, input.cloud.version);
|
|
62
97
|
dependencies.added.push({ name: CLOUD_PACKAGE, range: input.cloud.version });
|
|
63
98
|
}
|
|
64
|
-
|
|
99
|
+
alignCloudPeers(ctx, input, { dependencies: runtime, devDependencies: development });
|
|
100
|
+
removeUnusedDependencies(input, scripts, runtime, REMOVAL_CANDIDATES, dependencies);
|
|
101
|
+
removeUnusedDependencies(input, scripts, development, DEVELOPMENT_REMOVAL_CANDIDATES, dependencies);
|
|
65
102
|
if (Object.keys(runtime).length > 0 || manifest.dependencies !== undefined) {
|
|
66
103
|
manifest.dependencies = runtime;
|
|
67
104
|
}
|
|
@@ -101,6 +138,7 @@ function moveCoreToDevelopment(ctx, input, runtime, development, dependencies, s
|
|
|
101
138
|
}
|
|
102
139
|
setDevelopment(withKey(development, CORE, runtimeSpec));
|
|
103
140
|
}
|
|
141
|
+
// Returns the scripts after conversion.
|
|
104
142
|
function convertScripts(ctx, input, manifest) {
|
|
105
143
|
const scripts = stringRecord(manifest.scripts);
|
|
106
144
|
const change = (name, value, detail) => {
|
|
@@ -110,12 +148,18 @@ function convertScripts(ctx, input, manifest) {
|
|
|
110
148
|
scripts[name] = value;
|
|
111
149
|
ctx.record(input.path, undefined, `scripts.${name}`, value === undefined ? "removed" : "translated", detail);
|
|
112
150
|
};
|
|
113
|
-
|
|
151
|
+
const appDir = dirname(input.path);
|
|
152
|
+
for (const [name, rule] of [
|
|
153
|
+
...Object.entries(SCAFFOLD_SCRIPTS),
|
|
154
|
+
...Object.entries(PLATFORM_FILE_SCRIPTS),
|
|
155
|
+
]) {
|
|
114
156
|
const value = scripts[name];
|
|
115
157
|
if (value === undefined || !rule.values.includes(value))
|
|
116
158
|
continue;
|
|
117
159
|
if (rule.entryPoint && !input.deletedEntryPoints.has(rule.entryPoint))
|
|
118
160
|
continue;
|
|
161
|
+
if (rule.file && !input.deletedFiles.has(join(appDir, rule.file)))
|
|
162
|
+
continue;
|
|
119
163
|
change(name, undefined, `"${value}" runs what a Vendure Cloud project does not have.`);
|
|
120
164
|
}
|
|
121
165
|
const dev = scripts.dev;
|
|
@@ -138,6 +182,7 @@ function convertScripts(ctx, input, manifest) {
|
|
|
138
182
|
}
|
|
139
183
|
if (Object.keys(scripts).length > 0 || manifest.scripts !== undefined)
|
|
140
184
|
manifest.scripts = scripts;
|
|
185
|
+
return scripts;
|
|
141
186
|
}
|
|
142
187
|
function localDevelopmentRange(name, input, development) {
|
|
143
188
|
if (name === "typescript")
|
|
@@ -149,15 +194,71 @@ function localDevelopmentRange(name, input, development) {
|
|
|
149
194
|
return core;
|
|
150
195
|
return input.cloud.peerRanges[name];
|
|
151
196
|
}
|
|
152
|
-
|
|
197
|
+
// Development tooling `vendure dev` loads, which init raises to the range `@vendure/cloud` accepts.
|
|
198
|
+
// Any other package, such as `pg` or `@vendure/core`, is used by the application's own code, so a
|
|
199
|
+
// conflict there is reported for the developer to resolve.
|
|
200
|
+
const RAISED_PEERS = new Set(["vite", "ts-node"]);
|
|
201
|
+
// A package the application declares at a range no version of which `@vendure/cloud` accepts as a
|
|
202
|
+
// peer, which a package manager refuses to install (npm reports ERESOLVE).
|
|
203
|
+
function alignCloudPeers(ctx, input, records) {
|
|
204
|
+
for (const [name, peerRange] of Object.entries(input.cloud.peerRanges)) {
|
|
205
|
+
for (const [field, record] of Object.entries(records)) {
|
|
206
|
+
const declared = record[name];
|
|
207
|
+
if (declared === undefined || !peerRangeConflicts(declared, peerRange))
|
|
208
|
+
continue;
|
|
209
|
+
if (!RAISED_PEERS.has(name)) {
|
|
210
|
+
ctx.warn(`${name} is declared as "${declared}", and @vendure/cloud needs "${peerRange}". A package manager refuses to install the two together. Move ${name} to a version in "${peerRange}" and check your code against it.`);
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
record[name] = peerRange;
|
|
214
|
+
ctx.record(input.path, undefined, `${field}.${name}`, "translated", `"${declared}" becomes "${peerRange}", the range @vendure/cloud accepts. A package manager refuses to install the two together otherwise.`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// Whether no version satisfies both ranges. Only exact versions and `^`/`~` ranges without a
|
|
219
|
+
// prerelease are compared; anything else is never reported as a conflict.
|
|
220
|
+
export function peerRangeConflicts(declared, peer) {
|
|
221
|
+
const one = simpleRange(declared);
|
|
222
|
+
const other = simpleRange(peer);
|
|
223
|
+
if (!one || !other)
|
|
224
|
+
return false;
|
|
225
|
+
return compareVersions(one.min, other.max) >= 0 || compareVersions(other.min, one.max) >= 0;
|
|
226
|
+
}
|
|
227
|
+
function simpleRange(spec) {
|
|
228
|
+
const match = spec.trim().match(/^([~^]?)=?v?(\d+)\.(\d+)\.(\d+)(?:\+[0-9A-Za-z.-]*)?$/);
|
|
229
|
+
if (!match)
|
|
230
|
+
return undefined;
|
|
231
|
+
const operator = match[1];
|
|
232
|
+
const [major, minor, patch] = [Number(match[2]), Number(match[3]), Number(match[4])];
|
|
233
|
+
const min = [major, minor, patch];
|
|
234
|
+
if (operator === "~")
|
|
235
|
+
return { min, max: [major, minor + 1, 0] };
|
|
236
|
+
if (operator === "^") {
|
|
237
|
+
if (major > 0)
|
|
238
|
+
return { min, max: [major + 1, 0, 0] };
|
|
239
|
+
if (minor > 0)
|
|
240
|
+
return { min, max: [0, minor + 1, 0] };
|
|
241
|
+
return { min, max: [0, 0, patch + 1] };
|
|
242
|
+
}
|
|
243
|
+
return { min, max: [major, minor, patch + 1] };
|
|
244
|
+
}
|
|
245
|
+
function compareVersions(one, other) {
|
|
246
|
+
for (let index = 0; index < 3; index++) {
|
|
247
|
+
const difference = (one[index] ?? 0) - (other[index] ?? 0);
|
|
248
|
+
if (difference !== 0)
|
|
249
|
+
return difference;
|
|
250
|
+
}
|
|
251
|
+
return 0;
|
|
252
|
+
}
|
|
253
|
+
function removeUnusedDependencies(input, convertedScripts, record, candidates, dependencies) {
|
|
153
254
|
const imported = new Set();
|
|
154
255
|
for (const specifiers of moduleSpecifiersBySource(input.sources).values()) {
|
|
155
256
|
for (const specifier of specifiers)
|
|
156
257
|
imported.add(packageNameOf(specifier));
|
|
157
258
|
}
|
|
158
|
-
const scripts = Object.entries(
|
|
159
|
-
for (const name of
|
|
160
|
-
if (
|
|
259
|
+
const scripts = Object.entries(convertedScripts);
|
|
260
|
+
for (const name of candidates) {
|
|
261
|
+
if (record[name] === undefined || imported.has(name))
|
|
161
262
|
continue;
|
|
162
263
|
// The name on its own, so `bullmq` inside `@vendure/job-queue-plugin/package/bullmq` is not one.
|
|
163
264
|
const named = new RegExp(`(?<![\\w@/.-])${name.replace(/[.*+?^${}()|[\]\\/]/g, "\\$&")}(?![\\w-])`);
|
|
@@ -171,7 +272,7 @@ function removeUnusedDependencies(input, runtime, dependencies) {
|
|
|
171
272
|
});
|
|
172
273
|
continue;
|
|
173
274
|
}
|
|
174
|
-
delete
|
|
275
|
+
delete record[name];
|
|
175
276
|
dependencies.removed.push(name);
|
|
176
277
|
}
|
|
177
278
|
}
|