@strapi/data-transfer 4.10.0-beta.1 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/engine/diagnostic.d.ts +10 -10
  2. package/dist/engine/errors.d.ts +2 -2
  3. package/dist/engine/index.d.ts +1 -1
  4. package/dist/engine/validation/schemas/index.d.ts +3 -3
  5. package/dist/errors/constants.d.ts +1 -1
  6. package/dist/errors/providers.d.ts +2 -2
  7. package/dist/file/providers/destination/index.d.ts +1 -0
  8. package/dist/file/providers/destination/index.js +2 -1
  9. package/dist/file/providers/destination/index.js.map +1 -1
  10. package/dist/file/providers/destination/utils.d.ts +1 -1
  11. package/dist/file/providers/destination/utils.js +2 -1
  12. package/dist/file/providers/destination/utils.js.map +1 -1
  13. package/dist/file/providers/source/index.d.ts +1 -1
  14. package/dist/file/providers/source/index.js +34 -24
  15. package/dist/file/providers/source/index.js.map +1 -1
  16. package/dist/file/providers/source/utils.d.ts +37 -0
  17. package/dist/file/providers/source/utils.js +62 -0
  18. package/dist/file/providers/source/utils.js.map +1 -0
  19. package/dist/strapi/providers/local-destination/strategies/restore/configuration.d.ts +1 -1
  20. package/dist/strapi/providers/local-destination/strategies/restore/index.d.ts +1 -1
  21. package/dist/strapi/providers/local-destination/strategies/restore/links.d.ts +1 -1
  22. package/dist/strapi/providers/local-source/index.d.ts +1 -1
  23. package/dist/strapi/providers/utils.d.ts +4 -4
  24. package/dist/strapi/remote/constants.d.ts +2 -2
  25. package/dist/strapi/remote/flows/index.d.ts +1 -1
  26. package/dist/strapi/remote/handlers/abstract.d.ts +1 -1
  27. package/dist/strapi/remote/handlers/constants.d.ts +1 -1
  28. package/dist/strapi/remote/handlers/pull.d.ts +1 -1
  29. package/dist/strapi/remote/handlers/push.d.ts +1 -1
  30. package/dist/strapi/remote/handlers/utils.d.ts +1 -1
  31. package/dist/utils/json.d.ts +1 -1
  32. package/dist/utils/providers.d.ts +1 -1
  33. package/dist/utils/stream.d.ts +1 -1
  34. package/package.json +5 -5
@@ -1,30 +1,30 @@
1
1
  export interface IDiagnosticReporterOptions {
2
2
  stackSize?: number;
3
3
  }
4
- export declare type GenericDiagnostic<K extends DiagnosticKind, T = unknown> = {
4
+ export type GenericDiagnostic<K extends DiagnosticKind, T = unknown> = {
5
5
  kind: K;
6
6
  details: {
7
7
  message: string;
8
8
  createdAt: Date;
9
9
  } & T;
10
10
  };
11
- export declare type DiagnosticKind = 'error' | 'warning' | 'info';
12
- export declare type DiagnosticListener<T extends DiagnosticKind = DiagnosticKind> = (diagnostic: {
11
+ export type DiagnosticKind = 'error' | 'warning' | 'info';
12
+ export type DiagnosticListener<T extends DiagnosticKind = DiagnosticKind> = (diagnostic: {
13
13
  kind: T;
14
14
  } & Diagnostic extends infer U ? U : 'foo') => void | Promise<void>;
15
- export declare type DiagnosticEvent = 'diagnostic' | `diagnostic.${DiagnosticKind}`;
16
- export declare type GetEventListener<E extends DiagnosticEvent> = E extends 'diagnostic' ? DiagnosticListener : E extends `diagnostic.${infer K}` ? K extends DiagnosticKind ? DiagnosticListener<K> : never : never;
17
- export declare type Diagnostic = ErrorDiagnostic | WarningDiagnostic | InfoDiagnostic;
18
- export declare type ErrorDiagnosticSeverity = 'fatal' | 'error' | 'silly';
19
- export declare type ErrorDiagnostic = GenericDiagnostic<'error', {
15
+ export type DiagnosticEvent = 'diagnostic' | `diagnostic.${DiagnosticKind}`;
16
+ export type GetEventListener<E extends DiagnosticEvent> = E extends 'diagnostic' ? DiagnosticListener : E extends `diagnostic.${infer K}` ? K extends DiagnosticKind ? DiagnosticListener<K> : never : never;
17
+ export type Diagnostic = ErrorDiagnostic | WarningDiagnostic | InfoDiagnostic;
18
+ export type ErrorDiagnosticSeverity = 'fatal' | 'error' | 'silly';
19
+ export type ErrorDiagnostic = GenericDiagnostic<'error', {
20
20
  name: string;
21
21
  severity: ErrorDiagnosticSeverity;
22
22
  error: Error;
23
23
  }>;
24
- export declare type WarningDiagnostic = GenericDiagnostic<'warning', {
24
+ export type WarningDiagnostic = GenericDiagnostic<'warning', {
25
25
  origin?: string;
26
26
  }>;
27
- export declare type InfoDiagnostic<T = unknown> = GenericDiagnostic<'info', {
27
+ export type InfoDiagnostic<T = unknown> = GenericDiagnostic<'info', {
28
28
  params?: T;
29
29
  }>;
30
30
  export interface IDiagnosticReporter {
@@ -1,6 +1,6 @@
1
1
  import { DataTransferError, Severity } from '../errors';
2
- declare type TransferEngineStep = 'initialization' | 'validation' | 'transfer';
3
- declare type TransferEngineErrorDetails<P extends TransferEngineStep = TransferEngineStep, U = never> = {
2
+ type TransferEngineStep = 'initialization' | 'validation' | 'transfer';
3
+ type TransferEngineErrorDetails<P extends TransferEngineStep = TransferEngineStep, U = never> = {
4
4
  step: P;
5
5
  } & ([U] extends [never] ? unknown : {
6
6
  details?: U;
@@ -3,7 +3,7 @@ import { PassThrough } from 'stream';
3
3
  import type { IDestinationProvider, ISourceProvider, ITransferEngine, ITransferEngineOptions, TransferProgress, ITransferResults, TransferStage, TransferFilters, TransferFilterPreset } from '../../types';
4
4
  import { IDiagnosticReporter } from './diagnostic';
5
5
  export declare const TRANSFER_STAGES: ReadonlyArray<TransferStage>;
6
- export declare type TransferGroupFilter = Record<TransferFilterPreset, TransferFilters>;
6
+ export type TransferGroupFilter = Record<TransferFilterPreset, TransferFilters>;
7
7
  /**
8
8
  * Preset filters for only/exclude options
9
9
  * */
@@ -1,7 +1,7 @@
1
1
  import type { Diff } from '../../../utils/json';
2
2
  declare const strategies: {
3
- exact(diffs: Diff[]): Diff<unknown>[];
4
- strict(diffs: Diff[]): Diff<unknown>[];
3
+ exact(diffs: Diff[]): Diff[];
4
+ strict(diffs: Diff[]): Diff[];
5
5
  };
6
- declare const compareSchemas: <T, P>(a: T, b: P, strategy: keyof typeof strategies) => Diff<unknown>[];
6
+ declare const compareSchemas: <T, P>(a: T, b: P, strategy: keyof typeof strategies) => Diff[];
7
7
  export { compareSchemas };
@@ -1,3 +1,3 @@
1
1
  import { ErrorDiagnosticSeverity } from '../engine/diagnostic';
2
2
  export declare const SeverityKind: Record<string, ErrorDiagnosticSeverity>;
3
- export declare type Severity = (typeof SeverityKind)[keyof typeof SeverityKind];
3
+ export type Severity = (typeof SeverityKind)[keyof typeof SeverityKind];
@@ -1,7 +1,7 @@
1
1
  import { DataTransferError } from './base';
2
2
  import { Severity } from './constants';
3
- declare type ProviderStep = 'initialization' | 'validation' | 'transfer';
4
- declare type ProviderErrorDetails<P extends ProviderStep = ProviderStep, U = never> = {
3
+ type ProviderStep = 'initialization' | 'validation' | 'transfer';
4
+ type ProviderErrorDetails<P extends ProviderStep = ProviderStep, U = never> = {
5
5
  step: P;
6
6
  } & ([U] extends [never] ? unknown : {
7
7
  details?: U;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="stream-chain" />
3
+ /// <reference types="node" />
3
4
  import zlib from 'zlib';
4
5
  import { Writable } from 'stream';
5
6
  import type { IDestinationProvider, IDestinationProviderTransferResults, IMetadata, ProviderType } from '../../../../types';
@@ -124,7 +124,8 @@ class LocalFileDestinationProvider {
124
124
  return new stream_1.Writable({
125
125
  objectMode: true,
126
126
  write(data, _encoding, callback) {
127
- const entryPath = path_1.default.join('assets', 'uploads', data.filename);
127
+ // always write tar files with posix paths so we have a standard format for paths regardless of system
128
+ const entryPath = path_1.default.posix.join('assets', 'uploads', data.filename);
128
129
  const entry = archiveStream.entry({
129
130
  name: entryPath,
130
131
  size: data.stats.size,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/file/providers/destination/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/file/providers/destination/index.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@ import tar from 'tar-stream';
6
6
  * Upon being called, the factory will return a file path for a given index
7
7
  */
8
8
  export declare const createFilePathFactory: (type: string) => (fileIndex?: number) => string;
9
- export declare const createTarEntryStream: (archive: tar.Pack, pathFactory: (index?: number | undefined) => string, maxSize?: number) => Writable;
9
+ export declare const createTarEntryStream: (archive: tar.Pack, pathFactory: (index?: number) => string, maxSize?: number) => Writable;
@@ -8,7 +8,8 @@ const path_1 = require("path");
8
8
  * Upon being called, the factory will return a file path for a given index
9
9
  */
10
10
  const createFilePathFactory = (type) => (fileIndex = 0) => {
11
- return (0, path_1.join)(
11
+ // always write tar files with posix paths so we have a standard format for paths regardless of system
12
+ return path_1.posix.join(
12
13
  // "{type}" directory
13
14
  type,
14
15
  // "${type}_XXXXX.jsonl" file
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/file/providers/destination/utils.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,+BAA4B;AAG5B;;;GAGG;AACI,MAAM,qBAAqB,GAChC,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,SAAS,GAAG,CAAC,EAAU,EAAE;IACxB,OAAO,IAAA,WAAI;IACT,qBAAqB;IACrB,IAAI;IACJ,6BAA6B;IAC7B,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CACtD,CAAC;AACJ,CAAC,CAAC;AATS,QAAA,qBAAqB,yBAS9B;AAEG,MAAM,oBAAoB,GAAG,CAClC,OAAiB,EACjB,WAAuC,EACvC,OAAO,GAAG,MAAM,EAChB,EAAE;IACF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,SAAS,IAAI,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5C,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAE,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,IAAI,iBAAQ,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ;YACzB,MAAM,KAAK,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAE1B,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE;gBAC1B,QAAQ,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO;aACR;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,OAAO,EAAE;gBAClC,MAAM,KAAK,EAAE,CAAC;aACf;YAED,IAAI,CAAC,KAAK,CAAC,CAAC;YAEZ,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/file/providers/destination/utils.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,+BAA6B;AAG7B;;;GAGG;AACI,MAAM,qBAAqB,GAChC,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,SAAS,GAAG,CAAC,EAAU,EAAE;IACxB,sGAAsG;IACtG,OAAO,YAAK,CAAC,IAAI;IACf,qBAAqB;IACrB,IAAI;IACJ,6BAA6B;IAC7B,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CACtD,CAAC;AACJ,CAAC,CAAC;AAVS,QAAA,qBAAqB,yBAU9B;AAEG,MAAM,oBAAoB,GAAG,CAClC,OAAiB,EACjB,WAAuC,EACvC,OAAO,GAAG,MAAM,EAChB,EAAE;IACF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,SAAS,IAAI,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5C,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAE,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,IAAI,iBAAQ,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ;YACzB,MAAM,KAAK,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAE1B,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE;gBAC1B,QAAQ,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO;aACR;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,OAAO,EAAE;gBAClC,MAAM,KAAK,EAAE,CAAC;aACf;YAED,IAAI,CAAC,KAAK,CAAC,CAAC;YAEZ,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B"}
@@ -29,7 +29,7 @@ declare class LocalFileSourceProvider implements ISourceProvider {
29
29
  * Pre flight checks regarding the provided options, making sure that the file can be opened (decrypted, decompressed), etc.
30
30
  */
31
31
  bootstrap(): Promise<void>;
32
- getMetadata(): Promise<IMetadata>;
32
+ getMetadata(): Promise<IMetadata | null>;
33
33
  getSchemas(): Promise<import("lodash").Dictionary<Schema>>;
34
34
  createEntitiesReadStream(): Readable;
35
35
  createSchemasReadStream(): Readable;
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
2
7
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
8
  if (kind === "m") throw new TypeError("Private method is not writable");
4
9
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
11
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
12
  };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _LocalFileSourceProvider_instances, _LocalFileSourceProvider_metadata, _LocalFileSourceProvider_getBackupStream, _LocalFileSourceProvider_streamJsonlDirectory, _LocalFileSourceProvider_parseJSONFile;
16
+ var _LocalFileSourceProvider_instances, _LocalFileSourceProvider_metadata, _LocalFileSourceProvider_loadMetadata, _LocalFileSourceProvider_getBackupStream, _LocalFileSourceProvider_streamJsonlDirectory, _LocalFileSourceProvider_parseJSONFile;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.createLocalFileSourceProvider = void 0;
19
19
  const fs_extra_1 = __importDefault(require("fs-extra"));
@@ -27,6 +27,7 @@ const Parser_1 = require("stream-json/jsonl/Parser");
27
27
  const encryption_1 = require("../../../utils/encryption");
28
28
  const stream_2 = require("../../../utils/stream");
29
29
  const providers_1 = require("../../../errors/providers");
30
+ const utils_1 = require("./utils");
30
31
  /**
31
32
  * Constant for the metadata file path
32
33
  */
@@ -54,7 +55,8 @@ class LocalFileSourceProvider {
54
55
  const { path: filePath } = this.options.file;
55
56
  try {
56
57
  // Read the metadata to ensure the file can be parsed
57
- __classPrivateFieldSet(this, _LocalFileSourceProvider_metadata, await this.getMetadata(), "f");
58
+ await __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_loadMetadata).call(this);
59
+ // TODO: we might also need to read the schema.jsonl files & implements a custom stream-check
58
60
  }
59
61
  catch (e) {
60
62
  if (this.options?.encryption?.enabled) {
@@ -62,15 +64,21 @@ class LocalFileSourceProvider {
62
64
  }
63
65
  throw new providers_1.ProviderInitializationError(`File '${filePath}' is not a valid Strapi data file.`);
64
66
  }
67
+ if (!__classPrivateFieldGet(this, _LocalFileSourceProvider_metadata, "f")) {
68
+ throw new providers_1.ProviderInitializationError('Could not load metadata from Strapi data file.');
69
+ }
65
70
  }
66
- getMetadata() {
67
- // TODO: need to read the file & extract the metadata json file
68
- // => we might also need to read the schema.jsonl files & implements a custom stream-check
69
- const backupStream = __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_getBackupStream).call(this);
70
- return __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_parseJSONFile).call(this, backupStream, METADATA_FILE_PATH);
71
+ async getMetadata() {
72
+ if (!__classPrivateFieldGet(this, _LocalFileSourceProvider_metadata, "f")) {
73
+ await __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_loadMetadata).call(this);
74
+ }
75
+ return __classPrivateFieldGet(this, _LocalFileSourceProvider_metadata, "f") ?? null;
71
76
  }
72
77
  async getSchemas() {
73
78
  const schemas = await (0, stream_2.collect)(this.createSchemasReadStream());
79
+ if ((0, fp_1.isEmpty)(schemas)) {
80
+ throw new providers_1.ProviderInitializationError('Could not load schemas from Strapi data file.');
81
+ }
74
82
  return (0, fp_1.keyBy)('uid', schemas);
75
83
  }
76
84
  createEntitiesReadStream() {
@@ -92,19 +100,20 @@ class LocalFileSourceProvider {
92
100
  (0, stream_1.pipeline)([
93
101
  inStream,
94
102
  new tar_1.default.Parse({
103
+ // find only files in the assets/uploads folder
95
104
  filter(filePath, entry) {
96
105
  if (entry.type !== 'File') {
97
106
  return false;
98
107
  }
99
- const parts = filePath.split('/');
100
- return parts[0] === 'assets' && parts[1] === 'uploads';
108
+ return (0, utils_1.isFilePathInDirname)('assets/uploads', filePath);
101
109
  },
102
110
  onentry(entry) {
103
111
  const { path: filePath, size = 0 } = entry;
104
- const file = path_1.default.basename(filePath);
112
+ const normalizedPath = (0, utils_1.unknownPathToPosix)(filePath);
113
+ const file = path_1.default.basename(normalizedPath);
105
114
  const asset = {
106
115
  filename: file,
107
- filepath: filePath,
116
+ filepath: normalizedPath,
108
117
  stats: { size },
109
118
  stream: entry,
110
119
  };
@@ -115,7 +124,10 @@ class LocalFileSourceProvider {
115
124
  return outStream;
116
125
  }
117
126
  }
118
- _LocalFileSourceProvider_metadata = new WeakMap(), _LocalFileSourceProvider_instances = new WeakSet(), _LocalFileSourceProvider_getBackupStream = function _LocalFileSourceProvider_getBackupStream() {
127
+ _LocalFileSourceProvider_metadata = new WeakMap(), _LocalFileSourceProvider_instances = new WeakSet(), _LocalFileSourceProvider_loadMetadata = async function _LocalFileSourceProvider_loadMetadata() {
128
+ const backupStream = __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_getBackupStream).call(this);
129
+ __classPrivateFieldSet(this, _LocalFileSourceProvider_metadata, await __classPrivateFieldGet(this, _LocalFileSourceProvider_instances, "m", _LocalFileSourceProvider_parseJSONFile).call(this, backupStream, METADATA_FILE_PATH), "f");
130
+ }, _LocalFileSourceProvider_getBackupStream = function _LocalFileSourceProvider_getBackupStream() {
119
131
  const { file, encryption, compression } = this.options;
120
132
  const streams = [];
121
133
  try {
@@ -141,12 +153,7 @@ _LocalFileSourceProvider_metadata = new WeakMap(), _LocalFileSourceProvider_inst
141
153
  if (entry.type !== 'File') {
142
154
  return false;
143
155
  }
144
- const parts = path_1.default.relative('.', filePath).split('/');
145
- // TODO: this method is limiting us from having additional subdirectories and is requiring us to remove any "./" prefixes (the path.relative line above)
146
- if (parts.length !== 2) {
147
- return false;
148
- }
149
- return parts[0] === directory;
156
+ return (0, utils_1.isFilePathInDirname)(directory, filePath);
150
157
  },
151
158
  async onentry(entry) {
152
159
  const transforms = [
@@ -190,7 +197,10 @@ async function _LocalFileSourceProvider_parseJSONFile(fileStream, filePath) {
190
197
  * Filter the parsed entries to only keep the one that matches the given filepath
191
198
  */
192
199
  filter(entryPath, entry) {
193
- return !path_1.default.relative(filePath, entryPath).length && entry.type === 'File';
200
+ if (entry.type !== 'File') {
201
+ return false;
202
+ }
203
+ return (0, utils_1.isPathEquivalent)(entryPath, filePath);
194
204
  },
195
205
  async onentry(entry) {
196
206
  // Collect all the content of the entry file
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/file/providers/source/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/file/providers/source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,wDAA0B;AAC1B,gDAAuB;AACvB,8CAAsB;AACtB,gDAAwB;AACxB,kCAA2C;AAC3C,+CAAqC;AACrC,mCAA+C;AAC/C,qDAAkD;AAKlD,0DAAmE;AACnE,kDAAgD;AAChD,yDAA+F;AAC/F,mCAAoF;AAIpF;;GAEG;AACH,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAoBpC,MAAM,6BAA6B,GAAG,CAAC,OAAwC,EAAE,EAAE;IACxF,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,6BAA6B,iCAExC;AAEF,MAAM,uBAAuB;IAS3B,YAAY,OAAwC;;QARpD,SAAI,GAAiB,QAAQ,CAAC;QAE9B,SAAI,GAAG,oBAAoB,CAAC;QAI5B,oDAAsB;QAGpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEpC,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE7C,IAAI;YACF,qDAAqD;YACrD,MAAM,uBAAA,IAAI,iFAAc,MAAlB,IAAI,CAAgB,CAAC;YAC3B,6FAA6F;SAC9F;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;gBACrC,MAAM,IAAI,uCAA2B,CACnC,iCAAiC,QAAQ,oCAAoC,CAC9E,CAAC;aACH;YACD,MAAM,IAAI,uCAA2B,CAAC,SAAS,QAAQ,oCAAoC,CAAC,CAAC;SAC9F;QAED,IAAI,CAAC,uBAAA,IAAI,yCAAU,EAAE;YACnB,MAAM,IAAI,uCAA2B,CAAC,gDAAgD,CAAC,CAAC;SACzF;IACH,CAAC;IAOD,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,uBAAA,IAAI,yCAAU,EAAE;YACnB,MAAM,uBAAA,IAAI,iFAAc,MAAlB,IAAI,CAAgB,CAAC;SAC5B;QAED,OAAO,uBAAA,IAAI,yCAAU,IAAI,IAAI,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAO,EAAS,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAEtE,IAAI,IAAA,YAAO,EAAC,OAAO,CAAC,EAAE;YACpB,MAAM,IAAI,uCAA2B,CAAC,+CAA+C,CAAC,CAAC;SACxF;QAED,OAAO,IAAA,UAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,wBAAwB;QACtB,OAAO,uBAAA,IAAI,yFAAsB,MAA1B,IAAI,EAAuB,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,uBAAuB;QACrB,OAAO,uBAAA,IAAI,yFAAsB,MAA1B,IAAI,EAAuB,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,qBAAqB;QACnB,OAAO,uBAAA,IAAI,yFAAsB,MAA1B,IAAI,EAAuB,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,6BAA6B;QAC3B,YAAY;QACZ,OAAO,uBAAA,IAAI,yFAAsB,MAA1B,IAAI,EAAuB,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,sBAAsB;QACpB,MAAM,QAAQ,GAAG,uBAAA,IAAI,oFAAiB,MAArB,IAAI,CAAmB,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,oBAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAExD,IAAA,iBAAQ,EACN;YACE,QAAQ;YACR,IAAI,aAAG,CAAC,KAAK,CAAC;gBACZ,+CAA+C;gBAC/C,MAAM,CAAC,QAAQ,EAAE,KAAK;oBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;wBACzB,OAAO,KAAK,CAAC;qBACd;oBACD,OAAO,IAAA,2BAAmB,EAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,CAAC,KAAK;oBACX,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;oBAC3C,MAAM,cAAc,GAAG,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC;oBACpD,MAAM,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBAE3C,MAAM,KAAK,GAAW;wBACpB,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,EAAE,IAAI,EAAE;wBACf,MAAM,EAAE,KAA4B;qBACrC,CAAC;oBACF,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;aACF,CAAC;SACH,EACD,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CACtB,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;CAmIF;+IA7MC,KAAK;IACH,MAAM,YAAY,GAAG,uBAAA,IAAI,oFAAiB,MAArB,IAAI,CAAmB,CAAC;IAC7C,uBAAA,IAAI,qCAAa,MAAM,uBAAA,IAAI,kFAAe,MAAnB,IAAI,EAA2B,YAAY,EAAE,kBAAkB,CAAC,MAAA,CAAC;AAC1F,CAAC;IA0EC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;IAEvD,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,IAAI;QACF,OAAO,CAAC,IAAI,CAAC,kBAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;KAC5F;IAED,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE;QACxC,OAAO,CAAC,IAAI,CAAC,IAAA,mCAAsB,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KACtD;IAED,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,OAAO,CAAC,IAAI,CAAC,cAAG,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAED,OAAO,IAAA,oBAAK,EAAC,OAAO,CAAC,CAAC;AACxB,CAAC,yGAGqB,SAAiB;IACrC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oFAAiB,MAArB,IAAI,CAAmB,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAI,oBAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,IAAA,iBAAQ,EACN;QACE,QAAQ;QACR,IAAI,aAAG,CAAC,KAAK,CAAC;YACZ,MAAM,CAAC,QAAQ,EAAE,KAAK;gBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;oBACzB,OAAO,KAAK,CAAC;iBACd;gBAED,OAAO,IAAA,2BAAmB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,KAAK;gBACjB,MAAM,UAAU,GAAG;oBACjB,iEAAiE;oBACjE,IAAA,eAAM,EAAC;wBACL,WAAW,EAAE,IAAI;qBAClB,CAAC;oBACF,kDAAkD;oBAClD,CAAC,IAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;iBACrD,CAAC;gBAEF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC,CAAC;gBAE7C,IAAI;oBACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;wBAChC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACxB;iBACF;gBAAC,OAAO,CAAU,EAAE;oBACnB,SAAS,CAAC,OAAO,CACf,IAAI,iCAAqB,CACvB,+CAA+C,KAAK,CAAC,IAAI,KACtD,CAAW,CAAC,OACf,EAAE,EACF;wBACE,OAAO,EAAE;4BACP,KAAK,EAAE,CAAC;yBACT;qBACF,CACF,CACF,CAAC;iBACH;YACH,CAAC;SACF,CAAC;KACH,EACD,KAAK,IAAI,EAAE;QACT,kDAAkD;QAClD,sDAAsD;QACtD,SAAS,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,KAAK,iDAAkC,UAAoB,EAAE,QAAgB;IAC3E,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAA,iBAAQ,EACN;YACE,UAAU;YACV,gCAAgC;YAChC,IAAI,aAAG,CAAC,KAAK,CAAC;gBACZ;;mBAEG;gBACH,MAAM,CAAC,SAAS,EAAE,KAAK;oBACrB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;wBACzB,OAAO,KAAK,CAAC;qBACd;oBAED,OAAO,IAAA,wBAAgB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,KAAK;oBACjB,4CAA4C;oBAC5C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAEtC,IAAI;wBACF,sCAAsC;wBACtC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAErD,8CAA8C;wBAC9C,OAAO,CAAC,aAAa,CAAC,CAAC;qBACxB;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,CAAC,CAAC,CAAC,CAAC;qBACX;4BAAS;wBACR,qDAAqD;wBACrD,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjB;gBACH,CAAC;aACF,CAAC;SACH,EACD,GAAG,EAAE;YACH,2DAA2D;YAC3D,mDAAmD;YACnD,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,QAAQ,aAAa,CAAC,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Note: in versions of the transfer engine <=4.9.0, exports were generated with windows paths
3
+ * on Windows systems, and posix paths on posix systems.
4
+ *
5
+ * We now store all paths as posix, but need to leave a separator conversion for legacy purposes, and to
6
+ * support manually-created tar files coming from Windows systems (ie, if a user creates a
7
+ * backup file with a windows tar tool rather than using the `export` command)
8
+ *
9
+ * Because of this, export/import files may never contain files with a forward slash in the name, even escaped
10
+ *
11
+ * */
12
+ /**
13
+ * Check if the directory of a given filePath (which can be either posix or win32) resolves to the same as the given posix-format path posixDirName
14
+ * We must be able to assume the first argument is a path to a directory and the second is a path to a file, otherwise path.dirname will interpret a path without any slashes as the filename
15
+ *
16
+ * @param {string} posixDirName A posix path pointing to a directory
17
+ * @param {string} filePath an unknown filesystem path pointing to a file
18
+ * @returns {boolean} is the file located in the given directory
19
+ */
20
+ export declare const isFilePathInDirname: (posixDirName: string, filePath: string) => boolean;
21
+ /**
22
+ * Check if two paths that can be either in posix or win32 format resolves to the same file
23
+ *
24
+ * @param {string} pathA a path that may be either win32 or posix
25
+ * @param {string} pathB a path that may be either win32 or posix
26
+ *
27
+ * @returns {boolean} do paths point to the same place
28
+ */
29
+ export declare const isPathEquivalent: (pathA: string, pathB: string) => boolean;
30
+ /**
31
+ * Convert an unknown format path (win32 or posix) to a posix path
32
+ *
33
+ * @param {string} filePath a path that may be either win32 or posix
34
+ *
35
+ * @returns {string} a posix path
36
+ */
37
+ export declare const unknownPathToPosix: (filePath: string) => string;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unknownPathToPosix = exports.isPathEquivalent = exports.isFilePathInDirname = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ /**
9
+ * Note: in versions of the transfer engine <=4.9.0, exports were generated with windows paths
10
+ * on Windows systems, and posix paths on posix systems.
11
+ *
12
+ * We now store all paths as posix, but need to leave a separator conversion for legacy purposes, and to
13
+ * support manually-created tar files coming from Windows systems (ie, if a user creates a
14
+ * backup file with a windows tar tool rather than using the `export` command)
15
+ *
16
+ * Because of this, export/import files may never contain files with a forward slash in the name, even escaped
17
+ *
18
+ * */
19
+ /**
20
+ * Check if the directory of a given filePath (which can be either posix or win32) resolves to the same as the given posix-format path posixDirName
21
+ * We must be able to assume the first argument is a path to a directory and the second is a path to a file, otherwise path.dirname will interpret a path without any slashes as the filename
22
+ *
23
+ * @param {string} posixDirName A posix path pointing to a directory
24
+ * @param {string} filePath an unknown filesystem path pointing to a file
25
+ * @returns {boolean} is the file located in the given directory
26
+ */
27
+ const isFilePathInDirname = (posixDirName, filePath) => {
28
+ const normalizedDir = path_1.default.posix.dirname((0, exports.unknownPathToPosix)(filePath));
29
+ return (0, exports.isPathEquivalent)(posixDirName, normalizedDir);
30
+ };
31
+ exports.isFilePathInDirname = isFilePathInDirname;
32
+ /**
33
+ * Check if two paths that can be either in posix or win32 format resolves to the same file
34
+ *
35
+ * @param {string} pathA a path that may be either win32 or posix
36
+ * @param {string} pathB a path that may be either win32 or posix
37
+ *
38
+ * @returns {boolean} do paths point to the same place
39
+ */
40
+ const isPathEquivalent = (pathA, pathB) => {
41
+ // Check if paths appear to be win32 or posix, and if win32 convert to posix
42
+ const normalizedPathA = path_1.default.posix.normalize((0, exports.unknownPathToPosix)(pathA));
43
+ const normalizedPathB = path_1.default.posix.normalize((0, exports.unknownPathToPosix)(pathB));
44
+ return !path_1.default.posix.relative(normalizedPathB, normalizedPathA).length;
45
+ };
46
+ exports.isPathEquivalent = isPathEquivalent;
47
+ /**
48
+ * Convert an unknown format path (win32 or posix) to a posix path
49
+ *
50
+ * @param {string} filePath a path that may be either win32 or posix
51
+ *
52
+ * @returns {string} a posix path
53
+ */
54
+ const unknownPathToPosix = (filePath) => {
55
+ // if it includes a forward slash, it must be posix already -- we will not support win32 with mixed path separators
56
+ if (filePath.includes(path_1.default.posix.sep)) {
57
+ return filePath;
58
+ }
59
+ return path_1.default.normalize(filePath).split(path_1.default.win32.sep).join(path_1.default.posix.sep);
60
+ };
61
+ exports.unknownPathToPosix = unknownPathToPosix;
62
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/file/providers/source/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB;;;;;;;;;;KAUK;AAEL;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CAAC,YAAoB,EAAE,QAAgB,EAAE,EAAE;IAC5E,MAAM,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,OAAO,IAAA,wBAAgB,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACvD,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEF;;;;;;;GAOG;AACI,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;IAC/D,4EAA4E;IAC5E,MAAM,eAAe,GAAG,cAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,cAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC;IAExE,OAAO,CAAC,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC;AACvE,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACrD,mHAAmH;IACnH,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B"}
@@ -2,4 +2,4 @@
2
2
  import { Writable } from 'stream';
3
3
  import { IConfiguration, Transaction } from '../../../../../../types';
4
4
  export declare const restoreConfigs: (strapi: Strapi.Strapi, config: IConfiguration) => Promise<any>;
5
- export declare const createConfigurationWriteStream: (strapi: Strapi.Strapi, transaction?: Transaction | undefined) => Promise<Writable>;
5
+ export declare const createConfigurationWriteStream: (strapi: Strapi.Strapi, transaction?: Transaction) => Promise<Writable>;
@@ -22,7 +22,7 @@ interface IDeleteResults {
22
22
  };
23
23
  };
24
24
  }
25
- export declare const deleteRecords: (strapi: Strapi.Strapi, options?: IRestoreOptions | undefined) => Promise<{
25
+ export declare const deleteRecords: (strapi: Strapi.Strapi, options?: IRestoreOptions) => Promise<{
26
26
  count: number;
27
27
  entities: IDeleteResults;
28
28
  configuration: IDeleteResults;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="node" />
2
2
  import { Writable } from 'stream';
3
3
  import { Transaction } from '../../../../../../types';
4
- export declare const createLinksWriteStream: (mapID: (uid: string, id: number) => number | undefined, strapi: Strapi.Strapi, transaction?: Transaction | undefined) => Writable;
4
+ export declare const createLinksWriteStream: (mapID: (uid: string, id: number) => number | undefined, strapi: Strapi.Strapi, transaction?: Transaction) => Writable;
@@ -23,5 +23,5 @@ declare class LocalStrapiSourceProvider implements ISourceProvider {
23
23
  createSchemasReadStream(): Readable;
24
24
  createAssetsReadStream(): Readable;
25
25
  }
26
- export declare type ILocalStrapiSourceProvider = InstanceType<typeof LocalStrapiSourceProvider>;
26
+ export type ILocalStrapiSourceProvider = InstanceType<typeof LocalStrapiSourceProvider>;
27
27
  export {};
@@ -9,7 +9,7 @@ interface IDispatcherState {
9
9
  interface IDispatchOptions {
10
10
  attachTransfer?: boolean;
11
11
  }
12
- declare type Dispatch<T> = Omit<T, 'transferID' | 'uuid'>;
12
+ type Dispatch<T> = Omit<T, 'transferID' | 'uuid'>;
13
13
  export declare const createDispatcher: (ws: WebSocket) => {
14
14
  readonly transferID: string | undefined;
15
15
  readonly transferKind: "push" | "pull" | undefined;
@@ -28,9 +28,9 @@ export declare const createDispatcher: (ws: WebSocket) => {
28
28
  data: client.GetTransferPushStreamData<S>;
29
29
  } : unknown)) => Promise<T_1 | null>;
30
30
  };
31
- declare type WebsocketParams = ConstructorParameters<typeof WebSocket>;
32
- declare type Address = WebsocketParams[0];
33
- declare type Options = WebsocketParams[2];
31
+ type WebsocketParams = ConstructorParameters<typeof WebSocket>;
32
+ type Address = WebsocketParams[0];
33
+ type Options = WebsocketParams[2];
34
34
  export declare const connectToWebsocket: (address: Address, options?: Options) => Promise<WebSocket>;
35
35
  export declare const trimTrailingSlash: (input: string) => string;
36
36
  export {};
@@ -1,4 +1,4 @@
1
1
  export declare const TRANSFER_PATH: "/transfer/runner";
2
2
  export declare const TRANSFER_METHODS: readonly ["push", "pull"];
3
- export declare type TransferPath = typeof TRANSFER_PATH;
4
- export declare type TransferMethod = (typeof TRANSFER_METHODS)[number];
3
+ export type TransferPath = typeof TRANSFER_PATH;
4
+ export type TransferMethod = (typeof TRANSFER_METHODS)[number];
@@ -1,5 +1,5 @@
1
1
  import type { TransferStage } from '../../../../types';
2
- export declare type Step = {
2
+ export type Step = {
3
3
  kind: 'action';
4
4
  action: string;
5
5
  } | {
@@ -2,7 +2,7 @@
2
2
  import type { WebSocket, RawData } from 'ws';
3
3
  import type { ValidTransferCommand } from './constants';
4
4
  import type { TransferMethod } from '../constants';
5
- declare type BufferLike = Parameters<WebSocket['send']>[0];
5
+ type BufferLike = Parameters<WebSocket['send']>[0];
6
6
  export interface TransferState {
7
7
  id?: string;
8
8
  startedAt?: number;
@@ -1,2 +1,2 @@
1
1
  export declare const VALID_TRANSFER_COMMANDS: readonly ["init", "end", "status"];
2
- export declare type ValidTransferCommand = (typeof VALID_TRANSFER_COMMANDS)[number];
2
+ export type ValidTransferCommand = (typeof VALID_TRANSFER_COMMANDS)[number];
@@ -5,7 +5,7 @@ import { Handler } from './abstract';
5
5
  import { ILocalStrapiSourceProvider } from '../../providers';
6
6
  import type { TransferStage, Protocol } from '../../../../types';
7
7
  declare const VALID_TRANSFER_ACTIONS: readonly ["bootstrap", "close", "getMetadata", "getSchemas"];
8
- declare type PullTransferAction = (typeof VALID_TRANSFER_ACTIONS)[number];
8
+ type PullTransferAction = (typeof VALID_TRANSFER_ACTIONS)[number];
9
9
  export interface PullHandler extends Handler {
10
10
  provider?: ILocalStrapiSourceProvider;
11
11
  streams?: {
@@ -6,7 +6,7 @@ import type { TransferStage, IAsset, Protocol } from '../../../../types';
6
6
  import { createLocalStrapiDestinationProvider } from '../../providers';
7
7
  import { Handler } from './abstract';
8
8
  declare const VALID_TRANSFER_ACTIONS: readonly ["bootstrap", "close", "rollback", "beforeTransfer", "getMetadata", "getSchemas"];
9
- declare type PushTransferAction = (typeof VALID_TRANSFER_ACTIONS)[number];
9
+ type PushTransferAction = (typeof VALID_TRANSFER_ACTIONS)[number];
10
10
  export interface PushHandler extends Handler {
11
11
  /**
12
12
  * Local Strapi Destination Provider used to write data to the current Strapi instance
@@ -6,7 +6,7 @@ import { WebSocket, WebSocketServer } from 'ws';
6
6
  import type { Handler } from './abstract';
7
7
  import type { Protocol } from '../../../../types';
8
8
  import { TransferMethod } from '../constants';
9
- declare type WSCallback = (client: WebSocket, request: IncomingMessage) => void;
9
+ type WSCallback = (client: WebSocket, request: IncomingMessage) => void;
10
10
  export interface HandlerOptions {
11
11
  verify: (ctx: Context, scope?: TransferMethod) => Promise<void>;
12
12
  server?: ServerOptions;
@@ -24,7 +24,7 @@ export interface DeletedDiff<T = unknown> {
24
24
  type: string;
25
25
  value: T;
26
26
  }
27
- export declare type Diff<T = unknown> = AddedDiff<T> | ModifiedDiff<T> | DeletedDiff<T>;
27
+ export type Diff<T = unknown> = AddedDiff<T> | ModifiedDiff<T> | DeletedDiff<T>;
28
28
  export interface Context {
29
29
  path: string[];
30
30
  }
@@ -1,2 +1,2 @@
1
- export declare type ValidStrapiAssertion = (strapi: unknown, msg?: string) => asserts strapi is Strapi.Strapi;
1
+ export type ValidStrapiAssertion = (strapi: unknown, msg?: string) => asserts strapi is Strapi.Strapi;
2
2
  export declare const assertValidStrapi: ValidStrapiAssertion;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Transform, Readable } from 'stream';
3
- declare type TransformOptions = ConstructorParameters<typeof Transform>[0];
3
+ type TransformOptions = ConstructorParameters<typeof Transform>[0];
4
4
  /**
5
5
  * Create a filter stream that discard chunks which doesn't satisfies the given predicate
6
6
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/data-transfer",
3
- "version": "4.10.0-beta.1",
3
+ "version": "4.10.0",
4
4
  "description": "Data transfer capabilities for Strapi",
5
5
  "keywords": [
6
6
  "strapi",
@@ -40,8 +40,8 @@
40
40
  "./dist"
41
41
  ],
42
42
  "dependencies": {
43
- "@strapi/logger": "4.10.0-beta.1",
44
- "@strapi/strapi": "4.10.0-beta.1",
43
+ "@strapi/logger": "4.10.0",
44
+ "@strapi/strapi": "4.10.0",
45
45
  "chalk": "4.1.2",
46
46
  "fs-extra": "10.0.0",
47
47
  "lodash": "4.17.21",
@@ -69,11 +69,11 @@
69
69
  "knex": "2.4.0",
70
70
  "koa": "2.13.4",
71
71
  "rimraf": "3.0.2",
72
- "typescript": "4.6.2"
72
+ "typescript": "5.0.4"
73
73
  },
74
74
  "engines": {
75
75
  "node": ">=14.19.1 <=18.x.x",
76
76
  "npm": ">=6.0.0"
77
77
  },
78
- "gitHead": "95d581b31bee464af42e5d8db408fa578d8532c7"
78
+ "gitHead": "9b5519778faaedfb837879f9c6f7e28fdfd6750d"
79
79
  }