From b9be16c03b9f09f3b6fa62ac17f8b23cc1b7f41c Mon Sep 17 00:00:00 2001 From: Ben Irvin Date: Mon, 31 Oct 2022 10:21:23 +0100 Subject: [PATCH 1/5] make errors more specific --- packages/core/data-transfer/lib/engine/index.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/core/data-transfer/lib/engine/index.ts b/packages/core/data-transfer/lib/engine/index.ts index 3ef4a3e0e2..a0a14daa7d 100644 --- a/packages/core/data-transfer/lib/engine/index.ts +++ b/packages/core/data-transfer/lib/engine/index.ts @@ -132,8 +132,11 @@ class TransferEngine implements ITransferEngine { const inStream = await this.sourceProvider.streamEntities?.(); const outStream = await this.destinationProvider.getEntitiesStream?.(); - if (!inStream || !outStream) { - throw new Error('Unable to transfer entities, one of the stream is missing'); + if (!inStream) { + throw new Error('Unable to transfer entities, source stream is missing'); + } + if (!outStream) { + throw new Error('Unable to transfer entities, destination stream is missing'); } return new Promise((resolve, reject) => { @@ -159,8 +162,11 @@ class TransferEngine implements ITransferEngine { const inStream = await this.sourceProvider.streamLinks?.(); const outStream = await this.destinationProvider.getLinksStream?.(); - if (!inStream || !outStream) { - throw new Error('Unable to transfer links, one of the stream is missing'); + if (!inStream) { + throw new Error('Unable to transfer links, source stream is missing'); + } + if (!outStream) { + throw new Error('Unable to transfer links, destination stream is missing'); } return new Promise((resolve, reject) => { From 4089ef7ea988b57bb0700b8801b13e4a613d18d3 Mon Sep 17 00:00:00 2001 From: Ben Irvin Date: Mon, 31 Oct 2022 15:47:01 +0100 Subject: [PATCH 2/5] make streamLinks async --- .../lib/providers/local-strapi-source-provider/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts b/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts index 61afa58a3e..4f6e2566ed 100644 --- a/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts +++ b/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts @@ -57,7 +57,7 @@ class LocalStrapiSourceProvider implements ISourceProvider { ]); } - streamLinks(): NodeJS.ReadableStream { + async streamLinks(): Promise { if (!this.strapi) { throw new Error('Not able to stream links. Strapi instance not found'); } From 992157ad1f5a6b3ac6155874ea737d6fc666a808 Mon Sep 17 00:00:00 2001 From: Ben Irvin Date: Mon, 31 Oct 2022 15:48:09 +0100 Subject: [PATCH 3/5] spacing --- packages/core/strapi/lib/commands/transfer/export.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/strapi/lib/commands/transfer/export.js b/packages/core/strapi/lib/commands/transfer/export.js index 98444951f0..84975aff37 100644 --- a/packages/core/strapi/lib/commands/transfer/export.js +++ b/packages/core/strapi/lib/commands/transfer/export.js @@ -7,6 +7,7 @@ const { // TODO: we need to solve this issue with typescript modules // eslint-disable-next-line import/no-unresolved, node/no-missing-require } = require('@strapi/data-transfer'); + const strapi = require('../../Strapi'); const getDefaultExportBackupName = () => `strapi-backup`; From 99e445782db01943dddce8dd6d7b64f5a5204c3f Mon Sep 17 00:00:00 2001 From: Ben Irvin Date: Wed, 2 Nov 2022 10:23:25 +0100 Subject: [PATCH 4/5] add build:clean --- .../lib/providers/local-strapi-source-provider/index.ts | 2 +- packages/core/data-transfer/package.json | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts b/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts index 4f6e2566ed..61afa58a3e 100644 --- a/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts +++ b/packages/core/data-transfer/lib/providers/local-strapi-source-provider/index.ts @@ -57,7 +57,7 @@ class LocalStrapiSourceProvider implements ISourceProvider { ]); } - async streamLinks(): Promise { + streamLinks(): NodeJS.ReadableStream { if (!this.strapi) { throw new Error('Not able to stream links. Strapi instance not found'); } diff --git a/packages/core/data-transfer/package.json b/packages/core/data-transfer/package.json index 949cf2be39..ed797737ff 100644 --- a/packages/core/data-transfer/package.json +++ b/packages/core/data-transfer/package.json @@ -28,6 +28,8 @@ "types": "./dist/index.d.ts", "scripts": { "build": "tsc -p tsconfig.json", + "clean": "rm -fr ./dist", + "build:clean": "yarn clean && yarn build", "watch": "yarn build -w", "test:unit": "jest --verbose" }, From a9d9c3f6a0b4e8e2b565d81fc83585b6582c283e Mon Sep 17 00:00:00 2001 From: Ben Irvin Date: Wed, 2 Nov 2022 11:02:21 +0100 Subject: [PATCH 5/5] use rimraf --- packages/core/data-transfer/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/data-transfer/package.json b/packages/core/data-transfer/package.json index ed797737ff..3d3a7b8e81 100644 --- a/packages/core/data-transfer/package.json +++ b/packages/core/data-transfer/package.json @@ -28,7 +28,7 @@ "types": "./dist/index.d.ts", "scripts": { "build": "tsc -p tsconfig.json", - "clean": "rm -fr ./dist", + "clean": "rimraf ./dist", "build:clean": "yarn clean && yarn build", "watch": "yarn build -w", "test:unit": "jest --verbose" @@ -50,6 +50,7 @@ "@types/stream-chain": "2.0.1", "@types/stream-json": "1.7.2", "@types/tar": "6.1.3", + "rimraf": "3.0.2", "typescript": "4.8.4" }, "engines": {