@datatruck/cli 0.23.0 → 0.23.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.
@@ -193,9 +193,6 @@ class DatatruckRepository extends RepositoryAbstract_1.RepositoryAbstract {
193
193
  onStreamPath: (key) => `files-${key}.txt`,
194
194
  });
195
195
  await scanner.start(async (entry) => {
196
- if (entry.dirent.isDirectory() &&
197
- !(await (0, fs_1.isEmptyDir)((0, path_1.join)(sourcePath, entry.path))))
198
- return false;
199
196
  let packIndex = configPacks.findIndex((pack) => (0, string_1.match)(entry.path, pack.include, pack.exclude));
200
197
  if (packIndex === -1)
201
198
  packIndex = defaultsPackIndex;
@@ -31,6 +31,7 @@ class MysqlDumpTask extends TaskAbstract_1.TaskAbstract {
31
31
  async onBackup(data) {
32
32
  const sql = await (0, mysql_1.createMysqlCli)({
33
33
  ...this.config,
34
+ database: undefined,
34
35
  verbose: data.options.verbose,
35
36
  });
36
37
  const tableNames = await sql.fetchTableNames(this.config.database, this.config.includeTables, this.config.excludeTables);
@@ -48,7 +49,7 @@ class MysqlDumpTask extends TaskAbstract_1.TaskAbstract {
48
49
  concurrency,
49
50
  onChange: async ({ processed: proccesed, buffer }) => await data.onProgress({
50
51
  relative: {
51
- description: "Exporting",
52
+ description: buffer.size > 1 ? `Exporting (${buffer.size})` : "Exporting",
52
53
  payload: [...buffer.keys()].join(", "),
53
54
  },
54
55
  absolute: {
@@ -147,6 +148,7 @@ class MysqlDumpTask extends TaskAbstract_1.TaskAbstract {
147
148
  async onRestore(data) {
148
149
  const sql = await (0, mysql_1.createMysqlCli)({
149
150
  ...this.config,
151
+ database: undefined,
150
152
  verbose: data.options.verbose,
151
153
  });
152
154
  const restorePath = data.package.restorePath;
@@ -191,18 +193,22 @@ class MysqlDumpTask extends TaskAbstract_1.TaskAbstract {
191
193
  if (data.options.verbose)
192
194
  (0, cli_1.logExec)("readdir", [restorePath]);
193
195
  const concurrency = this.config.concurrency ?? 1;
196
+ let processed = 0;
194
197
  await (0, async_1.runParallel)({
195
198
  items: files.filter((f) => !f.endsWith(suffix.tableData)),
196
199
  concurrency,
197
- onChange: async ({ processed: proccesed, buffer }) => await data.onProgress({
200
+ onFinished: () => {
201
+ processed++;
202
+ },
203
+ onChange: async ({ buffer }) => await data.onProgress({
198
204
  relative: {
199
- description: "Importing",
205
+ description: buffer.size > 1 ? `Importing (${buffer.size})` : "Importing",
200
206
  payload: [...buffer.keys()].join(", "),
201
207
  },
202
208
  absolute: {
203
209
  total: files.length,
204
- current: proccesed,
205
- percent: (0, math_1.progressPercent)(files.length, proccesed),
210
+ current: processed,
211
+ percent: (0, math_1.progressPercent)(files.length, processed),
206
212
  },
207
213
  }),
208
214
  onItem: async ({ item: file, controller }) => {
@@ -216,15 +222,18 @@ class MysqlDumpTask extends TaskAbstract_1.TaskAbstract {
216
222
  await (0, async_1.runParallel)({
217
223
  items: dataFiles,
218
224
  concurrency,
219
- onChange: async ({ processed: proccesed, buffer }) => await data.onProgress({
225
+ onFinished: () => {
226
+ processed++;
227
+ },
228
+ onChange: async ({ buffer }) => await data.onProgress({
220
229
  relative: {
221
- description: "Importing",
230
+ description: buffer.size > 1 ? `Importing (${buffer.size})` : "Importing",
222
231
  payload: [...buffer.keys()].join(", "),
223
232
  },
224
233
  absolute: {
225
234
  total: files.length,
226
- current: proccesed,
227
- percent: (0, math_1.progressPercent)(files.length, proccesed),
235
+ current: processed,
236
+ percent: (0, math_1.progressPercent)(files.length, processed),
228
237
  },
229
238
  }),
230
239
  onItem: async ({ item: file, controller }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datatruck/cli",
3
- "version": "0.23.0",
3
+ "version": "0.23.2",
4
4
  "dependencies": {
5
5
  "@supercharge/promise-pool": "^3.1.0",
6
6
  "ajv": "^8.12.0",
package/utils/async.d.ts CHANGED
@@ -9,11 +9,12 @@ export declare function runParallel<T>(options: {
9
9
  buffer: ItemBuffer<T>;
10
10
  processed: number;
11
11
  proccesing: number;
12
- }) => Promise<void>;
12
+ }) => Promise<void> | void;
13
13
  onItem: (data: {
14
14
  item: T;
15
15
  index: number;
16
16
  controller: ControllerItem;
17
- }) => Promise<void>;
17
+ }) => Promise<void> | void;
18
+ onFinished?: () => Promise<void> | void;
18
19
  }): Promise<void>;
19
20
  export {};
package/utils/async.js CHANGED
@@ -36,6 +36,7 @@ async function runParallel(options) {
36
36
  finally {
37
37
  buffer.delete(item);
38
38
  processed++;
39
+ await options.onFinished?.();
39
40
  await options.onChange({
40
41
  processed,
41
42
  proccesing: buffer.size,
package/utils/tar.js CHANGED
@@ -104,6 +104,7 @@ async function createTar(options) {
104
104
  }),
105
105
  };
106
106
  await (0, process_1.exec)("tar", [
107
+ "--no-recursion",
107
108
  "-C",
108
109
  toLocalPath(options.path),
109
110
  compress?.cores === 1 ? "-czvf" : "-cvf",