@strapi/strapi 5.50.0 → 5.50.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/dist/cli/commands/export/action.d.ts.map +1 -1
- package/dist/cli/commands/import/action.d.ts.map +1 -1
- package/dist/cli/commands/transfer/action.d.ts.map +1 -1
- package/dist/cli/utils/commander.d.ts +1 -1
- package/dist/cli/utils/commander.d.ts.map +1 -1
- package/dist/cli/utils/data-transfer.d.ts +2 -1
- package/dist/cli/utils/data-transfer.d.ts.map +1 -1
- package/dist/node/core/admin-vite-alias-modules.d.ts +15 -0
- package/dist/node/core/admin-vite-alias-modules.d.ts.map +1 -0
- package/dist/node/core/admin-vite-aliases.d.ts +7 -0
- package/dist/node/core/admin-vite-aliases.d.ts.map +1 -0
- package/dist/node/core/admin-vite-optimize-exclude.d.ts +38 -0
- package/dist/node/core/admin-vite-optimize-exclude.d.ts.map +1 -0
- package/dist/node/core/resolve-module.d.ts.map +1 -1
- package/dist/node/create-build-context.d.ts.map +1 -1
- package/dist/node/vite/build.d.ts.map +1 -1
- package/dist/node/vite/config.d.ts.map +1 -1
- package/dist/node/vite/watch.d.ts.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/cli/commands/export/action.js +4 -0
- package/dist/src/cli/commands/export/action.js.map +1 -1
- package/dist/src/cli/commands/export/action.mjs +5 -1
- package/dist/src/cli/commands/export/action.mjs.map +1 -1
- package/dist/src/cli/commands/import/action.js +4 -0
- package/dist/src/cli/commands/import/action.js.map +1 -1
- package/dist/src/cli/commands/import/action.mjs +5 -1
- package/dist/src/cli/commands/import/action.mjs.map +1 -1
- package/dist/src/cli/commands/transfer/action.js +4 -0
- package/dist/src/cli/commands/transfer/action.js.map +1 -1
- package/dist/src/cli/commands/transfer/action.mjs +5 -1
- package/dist/src/cli/commands/transfer/action.mjs.map +1 -1
- package/dist/src/cli/utils/data-transfer.js +26 -2
- package/dist/src/cli/utils/data-transfer.js.map +1 -1
- package/dist/src/cli/utils/data-transfer.mjs +26 -3
- package/dist/src/cli/utils/data-transfer.mjs.map +1 -1
- package/dist/src/node/core/admin-vite-alias-modules.js +25 -0
- package/dist/src/node/core/admin-vite-alias-modules.js.map +1 -0
- package/dist/src/node/core/admin-vite-alias-modules.mjs +22 -0
- package/dist/src/node/core/admin-vite-alias-modules.mjs.map +1 -0
- package/dist/src/node/core/admin-vite-aliases.js +16 -0
- package/dist/src/node/core/admin-vite-aliases.js.map +1 -0
- package/dist/src/node/core/admin-vite-aliases.mjs +14 -0
- package/dist/src/node/core/admin-vite-aliases.mjs.map +1 -0
- package/dist/src/node/core/admin-vite-optimize-exclude.js +158 -0
- package/dist/src/node/core/admin-vite-optimize-exclude.js.map +1 -0
- package/dist/src/node/core/admin-vite-optimize-exclude.mjs +145 -0
- package/dist/src/node/core/admin-vite-optimize-exclude.mjs.map +1 -0
- package/dist/src/node/core/resolve-module.js +14 -1
- package/dist/src/node/core/resolve-module.js.map +1 -1
- package/dist/src/node/core/resolve-module.mjs +13 -1
- package/dist/src/node/core/resolve-module.mjs.map +1 -1
- package/dist/src/node/create-build-context.js +3 -0
- package/dist/src/node/create-build-context.js.map +1 -1
- package/dist/src/node/create-build-context.mjs +3 -0
- package/dist/src/node/create-build-context.mjs.map +1 -1
- package/dist/src/node/vite/build.js +3 -0
- package/dist/src/node/vite/build.js.map +1 -1
- package/dist/src/node/vite/build.mjs +3 -0
- package/dist/src/node/vite/build.mjs.map +1 -1
- package/dist/src/node/vite/config.js +27 -36
- package/dist/src/node/vite/config.js.map +1 -1
- package/dist/src/node/vite/config.mjs +26 -31
- package/dist/src/node/vite/config.mjs.map +1 -1
- package/dist/src/node/vite/watch.js +3 -0
- package/dist/src/node/vite/watch.js.map +1 -1
- package/dist/src/node/vite/watch.mjs +3 -0
- package/dist/src/node/vite/watch.mjs.map +1 -1
- package/package.json +25 -24
- package/dist/cli/commands/plugin/init/files/typescript.d.ts +0 -22
- package/dist/cli/commands/plugin/init/files/typescript.d.ts.map +0 -1
- package/dist/test/mocks/inquirer.d.ts +0 -10
- package/dist/test/mocks/inquirer.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/export/action.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,kBAAkB,EAI7B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/export/action.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,kBAAkB,EAI7B,MAAM,uBAAuB,CAAC;AA4B/B,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;yBACmB,MAAM,UAAU;AAAtC,wBAmGE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import/action.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,kBAAkB,EAI7B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import/action.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,kBAAkB,EAI7B,MAAM,uBAAuB,CAAC;AA6B/B,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;GAIG;yBACmB,MAAM,UAAU;AAAtC,wBAgHE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/transfer/action.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/transfer/action.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AA4CnG,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD;;;;GAIG;yBACmB,MAAM,UAAU;AAAtC,wBAwPE"}
|
|
@@ -17,7 +17,7 @@ declare const parseInteger: (value: string) => number;
|
|
|
17
17
|
/**
|
|
18
18
|
* argParser: Parse a string as a URL object
|
|
19
19
|
*/
|
|
20
|
-
declare const parseURL: (value: string) => URL;
|
|
20
|
+
declare const parseURL: (value: string) => import("url").URL;
|
|
21
21
|
/**
|
|
22
22
|
* hook: if encrypt==true and key not provided, prompt for it
|
|
23
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/commander.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAA8B,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxE;;GAEG;AACH,QAAA,MAAM,SAAS,GAAI,OAAO,MAAM,aAQ/B,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,EAAE,qBAAiC,MAC3E,OAAO,MAAM,aAYtB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,YAAY,GAAI,OAAO,MAAM,WAOlC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,QAAQ,GAAI,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/commander.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAA8B,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxE;;GAEG;AACH,QAAA,MAAM,SAAS,GAAI,OAAO,MAAM,aAQ/B,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,EAAE,qBAAiC,MAC3E,OAAO,MAAM,aAYtB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,YAAY,GAAI,OAAO,MAAM,WAOlC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,QAAQ,GAAI,OAAO,MAAM,sBAW9B,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB,GAAU,aAAa,OAAO,kBA+BtD,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,0BAA0B,GAC9B,SAAS,MAAM,EACf,kBAAiB;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,MAEhC,SAAS,OAAO,kBAM/B,CAAC;AAEF,QAAA,MAAM,cAAc,GAAU,SAAS,MAAM,EAAE,YAAW;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,iBAmBjF,CAAC;AAEF,QAAA,MAAM,WAAW,QAGhB,CAAC;AAEF,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,WAAW,GACZ,CAAC"}
|
|
@@ -60,6 +60,7 @@ declare const getAssetsBackupHandler: (engine: engineDataTransfer.TransferEngine
|
|
|
60
60
|
action: string;
|
|
61
61
|
}) => (context: engineDataTransfer.ErrorHandlerContext, next: (ctx: engineDataTransfer.ErrorHandlerContext) => void) => Promise<void>;
|
|
62
62
|
declare const shouldSkipStage: (opts: Partial<engineDataTransfer.ITransferEngineOptions>, dataKind: engineDataTransfer.TransferFilterPreset) => boolean;
|
|
63
|
+
declare const logTransferFilterSummary: (opts: Partial<engineDataTransfer.ITransferEngineOptions>) => void;
|
|
63
64
|
declare const parseRestoreFromOptions: (opts: Partial<engineDataTransfer.ITransferEngineOptions>, strapi: Core.Strapi) => import("@strapi/data-transfer/dist/strapi/providers/local-destination/strategies/restore").IRestoreOptions;
|
|
64
|
-
export { loadersFactory, buildTransferTable, getDefaultExportName, getTransferTelemetryPayload, isIgnoredContentType, createStrapiInstance, excludeOption, exitMessageText, onlyOption, throttleOption, validateExcludeOnly, formatDiagnostic, abortTransfer, setSignalHandler, getDiffHandler, getAssetsBackupHandler, shouldSkipStage, parseRestoreFromOptions, };
|
|
65
|
+
export { loadersFactory, buildTransferTable, getDefaultExportName, getTransferTelemetryPayload, isIgnoredContentType, createStrapiInstance, excludeOption, exitMessageText, onlyOption, throttleOption, validateExcludeOnly, formatDiagnostic, abortTransfer, setSignalHandler, getDiffHandler, getAssetsBackupHandler, shouldSkipStage, parseRestoreFromOptions, logTransferFilterSummary, };
|
|
65
66
|
//# sourceMappingURL=data-transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-transfer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/data-transfer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AAcnG,QAAA,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,eAAa,WAUtD,CAAC;AAmBF,QAAA,MAAM,oBAAoB,cAEzB,CAAC;AAEF,KAAK,UAAU,GAAG,kBAAkB,CAAC,gBAAgB,CACnD,kBAAkB,CAAC,eAAe,EAClC,kBAAkB,CAAC,oBAAoB,CACxC,CAAC,QAAQ,CAAC,CAAC;AAEZ,QAAA,MAAM,kBAAkB,GAAI,YAAY,UAAU,4BAoDjD,CAAC;AASF,QAAA,MAAM,oBAAoB,GAAI,MAAM,MAAM,YAEJ,CAAC;AAEvC,QAAA,MAAM,aAAa,GAAU,qBAG1B;IACD,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB,qBASA,CAAC;AAEF,QAAA,MAAM,gBAAgB,GACpB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EACrC,kBAA0C,kBAQ3C,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAU,OAAM;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAczF,CAAC;
|
|
1
|
+
{"version":3,"file":"data-transfer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/data-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modules given explicit Vite resolve aliases (and included in resolve.dedupe) for the admin bundle.
|
|
3
|
+
* Single source of truth for resolution contract tests.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const ADMIN_VITE_ALIAS_MODULES: readonly ["react", "react-dom", "react-router-dom", "styled-components", "react-redux", "@reduxjs/toolkit", "@strapi/design-system", "@radix-ui/react-tooltip", "lodash", "invariant", "prismjs"];
|
|
8
|
+
export type AdminViteAliasModule = (typeof ADMIN_VITE_ALIAS_MODULES)[number];
|
|
9
|
+
/** Same modules passed to Vite resolve.dedupe */
|
|
10
|
+
export declare const ADMIN_VITE_DEDUPE_MODULES: readonly ["react", "react-dom", "react-router-dom", "styled-components", "react-redux", "@reduxjs/toolkit", "@strapi/design-system", "@radix-ui/react-tooltip", "lodash", "invariant", "prismjs"];
|
|
11
|
+
/**
|
|
12
|
+
* Alias modules with exact versions declared in @strapi/admin dependencies (not peers).
|
|
13
|
+
*/
|
|
14
|
+
export declare const ADMIN_PINNED_ALIAS_MODULES: readonly ["@reduxjs/toolkit", "react-redux", "@strapi/design-system", "lodash", "invariant"];
|
|
15
|
+
//# sourceMappingURL=admin-vite-alias-modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-vite-alias-modules.d.ts","sourceRoot":"","sources":["../../../src/node/core/admin-vite-alias-modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mMAY3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,mMAA2B,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,0BAA0B,8FAMa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-vite-aliases.d.ts","sourceRoot":"","sources":["../../../src/node/core/admin-vite-aliases.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CACiB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type PackageJson } from './dependencies';
|
|
2
|
+
import type { PluginMeta } from './plugins';
|
|
3
|
+
/**
|
|
4
|
+
* @internal exported for tests
|
|
5
|
+
*/
|
|
6
|
+
export declare const isEsmPackage: (pkg: PackageJson) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* @internal exported for tests
|
|
9
|
+
*/
|
|
10
|
+
export declare const hasReactPeerDependency: (pkg: PackageJson) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Targets libraries that ship a pre-built dist bundle (e.g. plugin UI kits) rather than
|
|
13
|
+
* source packages like react-intl that still benefit from Vite's dep optimizer.
|
|
14
|
+
*
|
|
15
|
+
* @internal exported for tests
|
|
16
|
+
*/
|
|
17
|
+
export declare const shipsPreBuiltDist: (pkg: PackageJson) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* @internal exported for tests
|
|
20
|
+
*/
|
|
21
|
+
export declare const shouldExcludeFromOptimizeDeps: (pkg: PackageJson) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* @internal exported for tests
|
|
24
|
+
*/
|
|
25
|
+
export declare const getPluginPackageName: (modulePath: string) => string;
|
|
26
|
+
/**
|
|
27
|
+
* Pre-built ESM libraries with React peers (shared plugin UI kits) are incompatible with
|
|
28
|
+
* Strapi's React/design-system pre-bundling. Skip dep optimization so they resolve through
|
|
29
|
+
* the admin resolve aliases instead of being re-bundled by Vite.
|
|
30
|
+
*
|
|
31
|
+
* Scans app and plugin dependency trees (#26944). Official @strapi/* packages and pinned
|
|
32
|
+
* singletons are never auto-excluded — @strapi/strapi matches the heuristic but must stay on
|
|
33
|
+
* the optimizeDeps.include path (#26944, #27014).
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare const collectAdminOptimizeDepsExclude: (cwd: string, plugins: PluginMeta[]) => Promise<string[]>;
|
|
38
|
+
//# sourceMappingURL=admin-vite-optimize-exclude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-vite-optimize-exclude.d.ts","sourceRoot":"","sources":["../../../src/node/core/admin-vite-optimize-exclude.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAkC5C;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,WAAW,KAAG,OAa/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,WAAW,KAAG,OACiC,CAAC;AAE5F;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,WAAW,KAAG,OAwBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,GAAI,KAAK,WAAW,KAAG,OACW,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,KAAG,MAQzD,CAAC;AAuCF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,GAC1C,KAAK,MAAM,EACX,SAAS,UAAU,EAAE,KACpB,OAAO,CAAC,MAAM,EAAE,CAmClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-module.d.ts","sourceRoot":"","sources":["../../../src/node/core/resolve-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-module.d.ts","sourceRoot":"","sources":["../../../src/node/core/resolve-module.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAI3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,GAAU,QAAQ,SAAS,WAAW,EAAE,6CAM7D,sBAAsB,CAAC,QAAQ,CAAC,KAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,GAAU,QAAQ,SAAS,WAAW,EAAE,6CAM7D,sBAAsB,CAAC,QAAQ,CAAC,KAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAiHnE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/node/vite/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,QAAA,MAAM,KAAK,GAAU,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/node/vite/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,QAAA,MAAM,KAAK,GAAU,KAAK,YAAY,kBAYrC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AASrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA4I5D,QAAA,MAAM,uBAAuB,GAAU,KAAK,YAAY,KAAG,OAAO,CAAC,YAAY,CAuB9E,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAAU,KAAK,YAAY,KAAG,OAAO,CAAC,YAAY,CAmC/E,CAAC;AAMF,QAAA,MAAM,yBAAyB,GAAU,QAAQ,YAAY,EAAE,KAAK,YAAY,wBAQ/E,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/node/vite/watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,QAAA,MAAM,KAAK,GAAU,KAAK,YAAY,KAAG,OAAO,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/node/vite/watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,QAAA,MAAM,KAAK,GAAU,KAAK,YAAY,KAAG,OAAO,CAAC,WAAW,CA4F3D,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/package.json.js
CHANGED
package/dist/package.json.mjs
CHANGED
|
@@ -70,6 +70,10 @@ const BYTES_IN_MB = 1024 * 1024;
|
|
|
70
70
|
});
|
|
71
71
|
progress.on('transfer::start', async ()=>{
|
|
72
72
|
console.log(`Starting export...`);
|
|
73
|
+
dataTransfer$1.logTransferFilterSummary({
|
|
74
|
+
exclude: opts.exclude,
|
|
75
|
+
only: opts.only
|
|
76
|
+
});
|
|
73
77
|
await strapi.telemetry.send('didDEITSProcessStart', dataTransfer$1.getTransferTelemetryPayload(engine));
|
|
74
78
|
});
|
|
75
79
|
let results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import path from 'path';\nimport { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\nimport { normalizeExportDirFormatOpts } from './validate-dir-format';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n /** @default 'tar' */\n format?: 'tar' | 'dir';\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n normalizeExportDirFormatOpts(opts);\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !isIgnoredContentType(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n if ((opts.format ?? 'tar') === 'dir') {\n const metadataPath = path.join(outFile, 'metadata.json');\n if (!(await fs.pathExists(metadataPath))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export directory was not created correctly \"${outFile}\"`\n );\n }\n } else if (!(await fs.pathExists(outFile))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file or directory destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl, format = 'tar' } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n if (format === 'dir') {\n const { createLocalDirectoryDestinationProvider } = directoryDataTransfer.providers;\n const dirPath = path.isAbsolute(filepath) ? filepath : path.resolve(process.cwd(), filepath);\n return createLocalDirectoryDestinationProvider({\n directory: { path: dirPath },\n file: {\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n });\n }\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","normalizeExportDirFormatOpts","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","format","metadataPath","join","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","createLocalDirectoryDestinationProvider","directoryDataTransfer","dirPath","isAbsolute","resolve","process","cwd","directory","encryption","enabled","compression"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import path from 'path';\nimport { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n logTransferFilterSummary,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\nimport { normalizeExportDirFormatOpts } from './validate-dir-format';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n /** @default 'tar' */\n format?: 'tar' | 'dir';\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n normalizeExportDirFormatOpts(opts);\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !isIgnoredContentType(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n logTransferFilterSummary({ exclude: opts.exclude, only: opts.only });\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n if ((opts.format ?? 'tar') === 'dir') {\n const metadataPath = path.join(outFile, 'metadata.json');\n if (!(await fs.pathExists(metadataPath))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export directory was not created correctly \"${outFile}\"`\n );\n }\n } else if (!(await fs.pathExists(outFile))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file or directory destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl, format = 'tar' } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n if (format === 'dir') {\n const { createLocalDirectoryDestinationProvider } = directoryDataTransfer.providers;\n const dirPath = path.isAbsolute(filepath) ? filepath : path.resolve(process.cwd(), filepath);\n return createLocalDirectoryDestinationProvider({\n directory: { path: dirPath },\n file: {\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n });\n }\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","normalizeExportDirFormatOpts","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","logTransferFilterSummary","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","format","metadataPath","join","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","createLocalDirectoryDestinationProvider","directoryDataTransfer","dirPath","isAbsolute","resolve","process","cwd","directory","encryption","enabled","compression"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { isObject, isString, isFinite, toNumber } from 'lodash/fp';
|
|
|
3
3
|
import fse from 'fs-extra';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { file, strapi, engine, directory } from '@strapi/data-transfer';
|
|
6
|
-
import { createStrapiInstance, isIgnoredContentType, formatDiagnostic, getTransferTelemetryPayload, setSignalHandler, abortTransfer, buildTransferTable, exitMessageText, loadersFactory, getDefaultExportName } from '../../utils/data-transfer.mjs';
|
|
6
|
+
import { createStrapiInstance, isIgnoredContentType, formatDiagnostic, logTransferFilterSummary, getTransferTelemetryPayload, setSignalHandler, abortTransfer, buildTransferTable, exitMessageText, loadersFactory, getDefaultExportName } from '../../utils/data-transfer.mjs';
|
|
7
7
|
import { exitWith } from '../../utils/helpers.mjs';
|
|
8
8
|
import { normalizeExportDirFormatOpts } from './validate-dir-format.mjs';
|
|
9
9
|
|
|
@@ -62,6 +62,10 @@ const BYTES_IN_MB = 1024 * 1024;
|
|
|
62
62
|
});
|
|
63
63
|
progress.on('transfer::start', async ()=>{
|
|
64
64
|
console.log(`Starting export...`);
|
|
65
|
+
logTransferFilterSummary({
|
|
66
|
+
exclude: opts.exclude,
|
|
67
|
+
only: opts.only
|
|
68
|
+
});
|
|
65
69
|
await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine$1));
|
|
66
70
|
});
|
|
67
71
|
let results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import path from 'path';\nimport { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\nimport { normalizeExportDirFormatOpts } from './validate-dir-format';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n /** @default 'tar' */\n format?: 'tar' | 'dir';\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n normalizeExportDirFormatOpts(opts);\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !isIgnoredContentType(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n if ((opts.format ?? 'tar') === 'dir') {\n const metadataPath = path.join(outFile, 'metadata.json');\n if (!(await fs.pathExists(metadataPath))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export directory was not created correctly \"${outFile}\"`\n );\n }\n } else if (!(await fs.pathExists(outFile))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file or directory destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl, format = 'tar' } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n if (format === 'dir') {\n const { createLocalDirectoryDestinationProvider } = directoryDataTransfer.providers;\n const dirPath = path.isAbsolute(filepath) ? filepath : path.resolve(process.cwd(), filepath);\n return createLocalDirectoryDestinationProvider({\n directory: { path: dirPath },\n file: {\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n });\n }\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","normalizeExportDirFormatOpts","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","format","metadataPath","join","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","createLocalDirectoryDestinationProvider","directoryDataTransfer","dirPath","isAbsolute","resolve","process","cwd","directory","encryption","enabled","compression"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/export/action.ts"],"sourcesContent":["import path from 'path';\nimport { isObject, isString, isFinite, toNumber } from 'lodash/fp';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport type { Core } from '@strapi/types';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n getDefaultExportName,\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n logTransferFilterSummary,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\nimport { normalizeExportDirFormatOpts } from './validate-dir-format';\n\nconst {\n providers: { createLocalFileDestinationProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiSourceProvider },\n} = strapiDataTransfer;\n\nconst BYTES_IN_MB = 1024 * 1024;\n\ninterface CmdOptions {\n file?: string;\n /** @default 'tar' */\n format?: 'tar' | 'dir';\n encrypt?: boolean;\n verbose?: boolean;\n key?: string;\n compress?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n maxSizeJsonl?: number;\n}\n\n/**\n * Export command.\n *\n * It transfers data from a local Strapi instance to a file\n *\n * @param {ExportCommandOptions} opts\n */\nexport default async (opts: CmdOptions) => {\n // Validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse command arguments');\n }\n\n normalizeExportDirFormatOpts(opts);\n\n const strapi = await createStrapiInstance();\n\n const source = createSourceProvider(strapi);\n const destination = createDestinationProvider(opts);\n\n const engine = engineDataTransfer.createTransferEngine(source, destination, {\n versionStrategy: 'ignore', // for an export to file, versionStrategy will always be skipped\n schemaStrategy: 'ignore', // for an export to file, schemaStrategy will always be skipped\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter(entity) {\n return !isIgnoredContentType(entity.type);\n },\n },\n ],\n },\n });\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('export', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log(`Starting export...`);\n logTransferFilterSummary({ exclude: opts.exclude, only: opts.only });\n\n await strapi.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n let outFile: string;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi }));\n\n results = await engine.transfer();\n outFile = results.destination?.file?.path ?? '';\n if ((opts.format ?? 'tar') === 'dir') {\n const metadataPath = path.join(outFile, 'metadata.json');\n if (!(await fs.pathExists(metadataPath))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export directory was not created correctly \"${outFile}\"`\n );\n }\n } else if (!(await fs.pathExists(outFile))) {\n throw new engineDataTransfer.errors.TransferEngineTransferError(\n `Export file not created \"${outFile}\"`\n );\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapi.telemetry.send('didDEITSProcessFinish', getTransferTelemetryPayload(engine));\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n console.log(`Export archive is in ${chalk.green(outFile)}`);\n exitWith(0, exitMessageText('export'));\n } catch {\n await strapi.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('export', true));\n }\n};\n\n/**\n * It creates a local strapi destination provider\n */\nconst createSourceProvider = (strapi: Core.Strapi) => {\n return createLocalStrapiSourceProvider({\n async getStrapi() {\n return strapi;\n },\n });\n};\n\n/**\n * It creates a local file or directory destination provider based on the given options\n */\nconst createDestinationProvider = (opts: CmdOptions) => {\n const { file, compress, encrypt, key, maxSizeJsonl, format = 'tar' } = opts;\n\n const filepath = isString(file) && file.length > 0 ? file : getDefaultExportName();\n\n const maxSizeJsonlInMb = isFinite(toNumber(maxSizeJsonl))\n ? toNumber(maxSizeJsonl) * BYTES_IN_MB\n : undefined;\n\n if (format === 'dir') {\n const { createLocalDirectoryDestinationProvider } = directoryDataTransfer.providers;\n const dirPath = path.isAbsolute(filepath) ? filepath : path.resolve(process.cwd(), filepath);\n return createLocalDirectoryDestinationProvider({\n directory: { path: dirPath },\n file: {\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n });\n }\n\n return createLocalFileDestinationProvider({\n file: {\n path: filepath,\n maxSizeJsonl: maxSizeJsonlInMb,\n },\n encryption: {\n enabled: encrypt ?? false,\n key: encrypt ? key : undefined,\n },\n compression: {\n enabled: compress ?? false,\n },\n });\n};\n"],"names":["providers","createLocalFileDestinationProvider","fileDataTransfer","createLocalStrapiSourceProvider","strapiDataTransfer","BYTES_IN_MB","opts","isObject","exitWith","normalizeExportDirFormatOpts","strapi","createStrapiInstance","source","createSourceProvider","destination","createDestinationProvider","engine","engineDataTransfer","createTransferEngine","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","on","stage","data","start","succeed","console","log","logTransferFilterSummary","telemetry","send","getTransferTelemetryPayload","results","outFile","setSignalHandler","abortTransfer","transfer","file","path","format","metadataPath","join","fs","pathExists","errors","TransferEngineTransferError","table","buildTransferTable","toString","e","error","chalk","green","exitMessageText","getStrapi","compress","encrypt","key","maxSizeJsonl","filepath","isString","length","getDefaultExportName","maxSizeJsonlInMb","isFinite","toNumber","undefined","createLocalDirectoryDestinationProvider","directoryDataTransfer","dirPath","isAbsolute","resolve","process","cwd","directory","encryption","enabled","compression"],"mappings":"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"}
|
|
@@ -85,6 +85,10 @@ const { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY
|
|
|
85
85
|
});
|
|
86
86
|
progress.on('transfer::start', async ()=>{
|
|
87
87
|
console.log('Starting import...');
|
|
88
|
+
dataTransfer$1.logTransferFilterSummary({
|
|
89
|
+
exclude: opts.exclude,
|
|
90
|
+
only: opts.only
|
|
91
|
+
});
|
|
88
92
|
await strapiInstance.telemetry.send('didDEITSProcessStart', dataTransfer$1.getTransferTelemetryPayload(engine));
|
|
89
93
|
});
|
|
90
94
|
let results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/import/action.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { isObject } from 'lodash/fp';\nimport chalk from 'chalk';\n\nimport fs from 'fs-extra';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileSourceProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiDestinationProvider, DEFAULT_CONFLICT_STRATEGY },\n} = strapiDataTransfer;\n\nconst { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY } =\n engineDataTransfer;\n\ninterface CmdOptions {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n verbose?: boolean;\n key?: string;\n conflictStrategy?: 'restore';\n force?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n}\n\ntype EngineOptions = Parameters<typeof createTransferEngine>[2];\n\n/**\n * Import command.\n *\n * It transfers data from a Strapi backup file or unpacked export directory to a local Strapi instance\n */\nexport default async (opts: CmdOptions) => {\n // validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse arguments');\n }\n\n const backupPath = opts.file ?? '';\n const source = (await fs.stat(backupPath)).isDirectory()\n ? directoryDataTransfer.providers.createLocalDirectorySourceProvider({\n directory: { path: backupPath },\n })\n : createLocalFileSourceProvider(getLocalFileSourceOptions(opts));\n\n /**\n * To local Strapi instance\n */\n const strapiInstance = await createStrapiInstance();\n\n /**\n * Configure and run the transfer engine\n */\n const engineOptions: EngineOptions = {\n versionStrategy: DEFAULT_VERSION_STRATEGY,\n schemaStrategy: DEFAULT_SCHEMA_STRATEGY,\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter: (entity) => !isIgnoredContentType(entity.type),\n },\n ],\n },\n };\n\n const destinationOptions = {\n async getStrapi() {\n return strapiInstance;\n },\n autoDestroy: false,\n strategy: opts.conflictStrategy || DEFAULT_CONFLICT_STRATEGY,\n restore: parseRestoreFromOptions(engineOptions, strapiInstance),\n };\n\n const destination = createLocalStrapiDestinationProvider(destinationOptions);\n destination.onWarning = (message) => console.warn(`\\n${chalk.yellow('warn')}: ${message}`);\n\n const engine = createTransferEngine(source, destination, engineOptions);\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('import', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'import' }));\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log('Starting import...');\n await strapiInstance.telemetry.send(\n 'didDEITSProcessStart',\n getTransferTelemetryPayload(engine)\n );\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi: strapi as Core.Strapi }));\n\n results = await engine.transfer();\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapiInstance.telemetry.send(\n 'didDEITSProcessFinish',\n getTransferTelemetryPayload(engine)\n );\n await strapiInstance.destroy();\n\n exitWith(0, exitMessageText('import'));\n } catch (e) {\n await strapiInstance.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('import', true));\n }\n};\n\n/**\n * Infer local file source provider options based on a given filename\n */\nconst getLocalFileSourceOptions = (opts: {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n key?: string;\n}) => {\n const options: fileDataTransfer.providers.ILocalFileSourceProviderOptions = {\n file: { path: opts.file ?? '' },\n compression: { enabled: !!opts.decompress },\n encryption: { enabled: !!opts.decrypt, key: opts.key },\n };\n\n return options;\n};\n"],"names":["providers","createLocalFileSourceProvider","fileDataTransfer","createLocalStrapiDestinationProvider","DEFAULT_CONFLICT_STRATEGY","strapiDataTransfer","createTransferEngine","DEFAULT_VERSION_STRATEGY","DEFAULT_SCHEMA_STRATEGY","engineDataTransfer","opts","isObject","exitWith","backupPath","file","source","fs","stat","isDirectory","directoryDataTransfer","createLocalDirectorySourceProvider","directory","path","getLocalFileSourceOptions","strapiInstance","createStrapiInstance","engineOptions","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","destinationOptions","getStrapi","autoDestroy","strategy","conflictStrategy","restore","parseRestoreFromOptions","destination","onWarning","message","console","warn","chalk","yellow","engine","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","on","stage","data","start","succeed","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","strapi","transfer","table","buildTransferTable","toString","e","error","destroy","exitMessageText","options","compression","enabled","decompress","encryption","decrypt","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.js","sources":["../../../../../src/cli/commands/import/action.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { isObject } from 'lodash/fp';\nimport chalk from 'chalk';\n\nimport fs from 'fs-extra';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n parseRestoreFromOptions,\n logTransferFilterSummary,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileSourceProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiDestinationProvider, DEFAULT_CONFLICT_STRATEGY },\n} = strapiDataTransfer;\n\nconst { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY } =\n engineDataTransfer;\n\ninterface CmdOptions {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n verbose?: boolean;\n key?: string;\n conflictStrategy?: 'restore';\n force?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n}\n\ntype EngineOptions = Parameters<typeof createTransferEngine>[2];\n\n/**\n * Import command.\n *\n * It transfers data from a Strapi backup file or unpacked export directory to a local Strapi instance\n */\nexport default async (opts: CmdOptions) => {\n // validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse arguments');\n }\n\n const backupPath = opts.file ?? '';\n const source = (await fs.stat(backupPath)).isDirectory()\n ? directoryDataTransfer.providers.createLocalDirectorySourceProvider({\n directory: { path: backupPath },\n })\n : createLocalFileSourceProvider(getLocalFileSourceOptions(opts));\n\n /**\n * To local Strapi instance\n */\n const strapiInstance = await createStrapiInstance();\n\n /**\n * Configure and run the transfer engine\n */\n const engineOptions: EngineOptions = {\n versionStrategy: DEFAULT_VERSION_STRATEGY,\n schemaStrategy: DEFAULT_SCHEMA_STRATEGY,\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter: (entity) => !isIgnoredContentType(entity.type),\n },\n ],\n },\n };\n\n const destinationOptions = {\n async getStrapi() {\n return strapiInstance;\n },\n autoDestroy: false,\n strategy: opts.conflictStrategy || DEFAULT_CONFLICT_STRATEGY,\n restore: parseRestoreFromOptions(engineOptions, strapiInstance),\n };\n\n const destination = createLocalStrapiDestinationProvider(destinationOptions);\n destination.onWarning = (message) => console.warn(`\\n${chalk.yellow('warn')}: ${message}`);\n\n const engine = createTransferEngine(source, destination, engineOptions);\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('import', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'import' }));\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log('Starting import...');\n logTransferFilterSummary({ exclude: opts.exclude, only: opts.only });\n await strapiInstance.telemetry.send(\n 'didDEITSProcessStart',\n getTransferTelemetryPayload(engine)\n );\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi: strapi as Core.Strapi }));\n\n results = await engine.transfer();\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapiInstance.telemetry.send(\n 'didDEITSProcessFinish',\n getTransferTelemetryPayload(engine)\n );\n await strapiInstance.destroy();\n\n exitWith(0, exitMessageText('import'));\n } catch (e) {\n await strapiInstance.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('import', true));\n }\n};\n\n/**\n * Infer local file source provider options based on a given filename\n */\nconst getLocalFileSourceOptions = (opts: {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n key?: string;\n}) => {\n const options: fileDataTransfer.providers.ILocalFileSourceProviderOptions = {\n file: { path: opts.file ?? '' },\n compression: { enabled: !!opts.decompress },\n encryption: { enabled: !!opts.decrypt, key: opts.key },\n };\n\n return options;\n};\n"],"names":["providers","createLocalFileSourceProvider","fileDataTransfer","createLocalStrapiDestinationProvider","DEFAULT_CONFLICT_STRATEGY","strapiDataTransfer","createTransferEngine","DEFAULT_VERSION_STRATEGY","DEFAULT_SCHEMA_STRATEGY","engineDataTransfer","opts","isObject","exitWith","backupPath","file","source","fs","stat","isDirectory","directoryDataTransfer","createLocalDirectorySourceProvider","directory","path","getLocalFileSourceOptions","strapiInstance","createStrapiInstance","engineOptions","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","destinationOptions","getStrapi","autoDestroy","strategy","conflictStrategy","restore","parseRestoreFromOptions","destination","onWarning","message","console","warn","chalk","yellow","engine","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","on","stage","data","start","succeed","log","logTransferFilterSummary","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","strapi","transfer","table","buildTransferTable","toString","e","error","destroy","exitMessageText","options","compression","enabled","decompress","encryption","decrypt","key"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { isObject } from 'lodash/fp';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import fse from 'fs-extra';
|
|
4
4
|
import { file, strapi as strapi$1, engine, directory } from '@strapi/data-transfer';
|
|
5
|
-
import { createStrapiInstance, parseRestoreFromOptions, formatDiagnostic, getDiffHandler, getTransferTelemetryPayload, setSignalHandler, abortTransfer, buildTransferTable, exitMessageText, isIgnoredContentType, loadersFactory } from '../../utils/data-transfer.mjs';
|
|
5
|
+
import { createStrapiInstance, parseRestoreFromOptions, formatDiagnostic, getDiffHandler, logTransferFilterSummary, getTransferTelemetryPayload, setSignalHandler, abortTransfer, buildTransferTable, exitMessageText, isIgnoredContentType, loadersFactory } from '../../utils/data-transfer.mjs';
|
|
6
6
|
import { exitWith } from '../../utils/helpers.mjs';
|
|
7
7
|
|
|
8
8
|
const { providers: { createLocalFileSourceProvider } } = file;
|
|
@@ -78,6 +78,10 @@ const { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY
|
|
|
78
78
|
});
|
|
79
79
|
progress.on('transfer::start', async ()=>{
|
|
80
80
|
console.log('Starting import...');
|
|
81
|
+
logTransferFilterSummary({
|
|
82
|
+
exclude: opts.exclude,
|
|
83
|
+
only: opts.only
|
|
84
|
+
});
|
|
81
85
|
await strapiInstance.telemetry.send('didDEITSProcessStart', getTransferTelemetryPayload(engine));
|
|
82
86
|
});
|
|
83
87
|
let results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/import/action.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { isObject } from 'lodash/fp';\nimport chalk from 'chalk';\n\nimport fs from 'fs-extra';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n parseRestoreFromOptions,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileSourceProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiDestinationProvider, DEFAULT_CONFLICT_STRATEGY },\n} = strapiDataTransfer;\n\nconst { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY } =\n engineDataTransfer;\n\ninterface CmdOptions {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n verbose?: boolean;\n key?: string;\n conflictStrategy?: 'restore';\n force?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n}\n\ntype EngineOptions = Parameters<typeof createTransferEngine>[2];\n\n/**\n * Import command.\n *\n * It transfers data from a Strapi backup file or unpacked export directory to a local Strapi instance\n */\nexport default async (opts: CmdOptions) => {\n // validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse arguments');\n }\n\n const backupPath = opts.file ?? '';\n const source = (await fs.stat(backupPath)).isDirectory()\n ? directoryDataTransfer.providers.createLocalDirectorySourceProvider({\n directory: { path: backupPath },\n })\n : createLocalFileSourceProvider(getLocalFileSourceOptions(opts));\n\n /**\n * To local Strapi instance\n */\n const strapiInstance = await createStrapiInstance();\n\n /**\n * Configure and run the transfer engine\n */\n const engineOptions: EngineOptions = {\n versionStrategy: DEFAULT_VERSION_STRATEGY,\n schemaStrategy: DEFAULT_SCHEMA_STRATEGY,\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter: (entity) => !isIgnoredContentType(entity.type),\n },\n ],\n },\n };\n\n const destinationOptions = {\n async getStrapi() {\n return strapiInstance;\n },\n autoDestroy: false,\n strategy: opts.conflictStrategy || DEFAULT_CONFLICT_STRATEGY,\n restore: parseRestoreFromOptions(engineOptions, strapiInstance),\n };\n\n const destination = createLocalStrapiDestinationProvider(destinationOptions);\n destination.onWarning = (message) => console.warn(`\\n${chalk.yellow('warn')}: ${message}`);\n\n const engine = createTransferEngine(source, destination, engineOptions);\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('import', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'import' }));\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log('Starting import...');\n await strapiInstance.telemetry.send(\n 'didDEITSProcessStart',\n getTransferTelemetryPayload(engine)\n );\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi: strapi as Core.Strapi }));\n\n results = await engine.transfer();\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapiInstance.telemetry.send(\n 'didDEITSProcessFinish',\n getTransferTelemetryPayload(engine)\n );\n await strapiInstance.destroy();\n\n exitWith(0, exitMessageText('import'));\n } catch (e) {\n await strapiInstance.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('import', true));\n }\n};\n\n/**\n * Infer local file source provider options based on a given filename\n */\nconst getLocalFileSourceOptions = (opts: {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n key?: string;\n}) => {\n const options: fileDataTransfer.providers.ILocalFileSourceProviderOptions = {\n file: { path: opts.file ?? '' },\n compression: { enabled: !!opts.decompress },\n encryption: { enabled: !!opts.decrypt, key: opts.key },\n };\n\n return options;\n};\n"],"names":["providers","createLocalFileSourceProvider","fileDataTransfer","createLocalStrapiDestinationProvider","DEFAULT_CONFLICT_STRATEGY","strapiDataTransfer","createTransferEngine","DEFAULT_VERSION_STRATEGY","DEFAULT_SCHEMA_STRATEGY","engineDataTransfer","opts","isObject","exitWith","backupPath","file","source","fs","stat","isDirectory","directoryDataTransfer","createLocalDirectorySourceProvider","directory","path","getLocalFileSourceOptions","strapiInstance","createStrapiInstance","engineOptions","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","destinationOptions","getStrapi","autoDestroy","strategy","conflictStrategy","restore","parseRestoreFromOptions","destination","onWarning","message","console","warn","chalk","yellow","engine","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","on","stage","data","start","succeed","log","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","strapi","transfer","table","buildTransferTable","toString","e","error","destroy","exitMessageText","options","compression","enabled","decompress","encryption","decrypt","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/import/action.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { isObject } from 'lodash/fp';\nimport chalk from 'chalk';\n\nimport fs from 'fs-extra';\n\nimport {\n engine as engineDataTransfer,\n strapi as strapiDataTransfer,\n file as fileDataTransfer,\n directory as directoryDataTransfer,\n} from '@strapi/data-transfer';\n\nimport {\n buildTransferTable,\n isIgnoredContentType,\n createStrapiInstance,\n formatDiagnostic,\n loadersFactory,\n exitMessageText,\n abortTransfer,\n getTransferTelemetryPayload,\n setSignalHandler,\n getDiffHandler,\n parseRestoreFromOptions,\n logTransferFilterSummary,\n} from '../../utils/data-transfer';\nimport { exitWith } from '../../utils/helpers';\n\nconst {\n providers: { createLocalFileSourceProvider },\n} = fileDataTransfer;\n\nconst {\n providers: { createLocalStrapiDestinationProvider, DEFAULT_CONFLICT_STRATEGY },\n} = strapiDataTransfer;\n\nconst { createTransferEngine, DEFAULT_VERSION_STRATEGY, DEFAULT_SCHEMA_STRATEGY } =\n engineDataTransfer;\n\ninterface CmdOptions {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n verbose?: boolean;\n key?: string;\n conflictStrategy?: 'restore';\n force?: boolean;\n only?: (keyof engineDataTransfer.TransferGroupFilter)[];\n exclude?: (keyof engineDataTransfer.TransferGroupFilter)[];\n throttle?: number;\n}\n\ntype EngineOptions = Parameters<typeof createTransferEngine>[2];\n\n/**\n * Import command.\n *\n * It transfers data from a Strapi backup file or unpacked export directory to a local Strapi instance\n */\nexport default async (opts: CmdOptions) => {\n // validate inputs from Commander\n if (!isObject(opts)) {\n exitWith(1, 'Could not parse arguments');\n }\n\n const backupPath = opts.file ?? '';\n const source = (await fs.stat(backupPath)).isDirectory()\n ? directoryDataTransfer.providers.createLocalDirectorySourceProvider({\n directory: { path: backupPath },\n })\n : createLocalFileSourceProvider(getLocalFileSourceOptions(opts));\n\n /**\n * To local Strapi instance\n */\n const strapiInstance = await createStrapiInstance();\n\n /**\n * Configure and run the transfer engine\n */\n const engineOptions: EngineOptions = {\n versionStrategy: DEFAULT_VERSION_STRATEGY,\n schemaStrategy: DEFAULT_SCHEMA_STRATEGY,\n exclude: opts.exclude,\n only: opts.only,\n throttle: opts.throttle,\n transforms: {\n links: [\n {\n filter(link) {\n return !isIgnoredContentType(link.left.type) && !isIgnoredContentType(link.right.type);\n },\n },\n ],\n entities: [\n {\n filter: (entity) => !isIgnoredContentType(entity.type),\n },\n ],\n },\n };\n\n const destinationOptions = {\n async getStrapi() {\n return strapiInstance;\n },\n autoDestroy: false,\n strategy: opts.conflictStrategy || DEFAULT_CONFLICT_STRATEGY,\n restore: parseRestoreFromOptions(engineOptions, strapiInstance),\n };\n\n const destination = createLocalStrapiDestinationProvider(destinationOptions);\n destination.onWarning = (message) => console.warn(`\\n${chalk.yellow('warn')}: ${message}`);\n\n const engine = createTransferEngine(source, destination, engineOptions);\n\n engine.diagnostics.onDiagnostic(formatDiagnostic('import', opts.verbose));\n\n const progress = engine.progress.stream;\n\n const { updateLoader } = loadersFactory();\n\n engine.onSchemaDiff(getDiffHandler(engine, { force: opts.force, action: 'import' }));\n\n progress.on(`stage::start`, ({ stage, data }) => {\n updateLoader(stage, data).start();\n });\n\n progress.on('stage::finish', ({ stage, data }) => {\n updateLoader(stage, data).succeed();\n });\n\n progress.on('stage::progress', ({ stage, data }) => {\n updateLoader(stage, data);\n });\n\n progress.on('transfer::start', async () => {\n console.log('Starting import...');\n logTransferFilterSummary({ exclude: opts.exclude, only: opts.only });\n await strapiInstance.telemetry.send(\n 'didDEITSProcessStart',\n getTransferTelemetryPayload(engine)\n );\n });\n\n let results: engineDataTransfer.ITransferResults<typeof source, typeof destination>;\n try {\n // Abort transfer if user interrupts process\n setSignalHandler(() => abortTransfer({ engine, strapi: strapi as Core.Strapi }));\n\n results = await engine.transfer();\n\n try {\n const table = buildTransferTable(results.engine);\n console.log(table?.toString());\n } catch (e) {\n console.error('There was an error displaying the results of the transfer.');\n }\n\n // Note: we need to await telemetry or else the process ends before it is sent\n await strapiInstance.telemetry.send(\n 'didDEITSProcessFinish',\n getTransferTelemetryPayload(engine)\n );\n await strapiInstance.destroy();\n\n exitWith(0, exitMessageText('import'));\n } catch (e) {\n await strapiInstance.telemetry.send('didDEITSProcessFail', getTransferTelemetryPayload(engine));\n exitWith(1, exitMessageText('import', true));\n }\n};\n\n/**\n * Infer local file source provider options based on a given filename\n */\nconst getLocalFileSourceOptions = (opts: {\n file?: string;\n decompress?: boolean;\n decrypt?: boolean;\n key?: string;\n}) => {\n const options: fileDataTransfer.providers.ILocalFileSourceProviderOptions = {\n file: { path: opts.file ?? '' },\n compression: { enabled: !!opts.decompress },\n encryption: { enabled: !!opts.decrypt, key: opts.key },\n };\n\n return options;\n};\n"],"names":["providers","createLocalFileSourceProvider","fileDataTransfer","createLocalStrapiDestinationProvider","DEFAULT_CONFLICT_STRATEGY","strapiDataTransfer","createTransferEngine","DEFAULT_VERSION_STRATEGY","DEFAULT_SCHEMA_STRATEGY","engineDataTransfer","opts","isObject","exitWith","backupPath","file","source","fs","stat","isDirectory","directoryDataTransfer","createLocalDirectorySourceProvider","directory","path","getLocalFileSourceOptions","strapiInstance","createStrapiInstance","engineOptions","versionStrategy","schemaStrategy","exclude","only","throttle","transforms","links","filter","link","isIgnoredContentType","left","type","right","entities","entity","destinationOptions","getStrapi","autoDestroy","strategy","conflictStrategy","restore","parseRestoreFromOptions","destination","onWarning","message","console","warn","chalk","yellow","engine","diagnostics","onDiagnostic","formatDiagnostic","verbose","progress","stream","updateLoader","loadersFactory","onSchemaDiff","getDiffHandler","force","action","on","stage","data","start","succeed","log","logTransferFilterSummary","telemetry","send","getTransferTelemetryPayload","results","setSignalHandler","abortTransfer","strapi","transfer","table","buildTransferTable","toString","e","error","destroy","exitMessageText","options","compression","enabled","decompress","encryption","decrypt","key"],"mappings":"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"}
|
|
@@ -208,6 +208,10 @@ const resolveRemotePullAssetIdleTimeoutMs = (value)=>{
|
|
|
208
208
|
progress.on('transfer::start', async ()=>{
|
|
209
209
|
transferPrepStartedAt = Date.now();
|
|
210
210
|
prepStepDetail = null;
|
|
211
|
+
dataTransfer$1.logTransferFilterSummary({
|
|
212
|
+
exclude: opts.exclude,
|
|
213
|
+
only: opts.only
|
|
214
|
+
});
|
|
211
215
|
startingSpinner = ora__default.default(formatPrepSpinnerLine()).start();
|
|
212
216
|
startingElapsedInterval = setInterval(()=>{
|
|
213
217
|
if (startingSpinner && transferPrepStartedAt != null) {
|