@wireapp/copy-config 2.2.2 → 2.2.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CopyConfig.d.ts","sourceRoot":"","sources":["../src/CopyConfig.ts"],"names":[],"mappings":"AAoBA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAYtD,qBAAa,UAAU;IAQnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAGrD,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACrB,MAAM,CAAC,4BAAgB;IAiB1C,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,YAAY;IAmBP,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA2CpE,KAAK;YAkCL,aAAa;IAKd,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA0BvC"}
1
+ {"version":3,"file":"CopyConfig.d.ts","sourceRoot":"","sources":["../src/CopyConfig.ts"],"names":[],"mappings":"AAoBA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAYtD,qBAAa,UAAU;IAQnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAGrD,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACrB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,YAAA;IAiB1C,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,YAAY;IAmBP,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA2CpE,KAAK;YAkCL,aAAa;IAKd,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA0BvC"}
package/lib/CopyConfig.js CHANGED
@@ -57,12 +57,14 @@ const defaultOptions = {
57
57
  repositoryUrl: 'https://github.com/wireapp/wire-web-config-default#master',
58
58
  };
59
59
  class CopyConfig {
60
+ logger;
61
+ options;
62
+ noClone = false;
63
+ noCleanup = false;
64
+ filterFiles = ['.DS_Store'];
60
65
  constructor(options, logger) {
61
66
  this.logger = logger;
62
- this.noClone = false;
63
- this.noCleanup = false;
64
- this.filterFiles = ['.DS_Store'];
65
- this.options = Object.assign(Object.assign({}, defaultOptions), options);
67
+ this.options = { ...defaultOptions, ...options };
66
68
  this.readEnvVars();
67
69
  if (!this.options.repositoryUrl && !this.options.externalDir) {
68
70
  throw new Error('Option "repositoryUrl" or "externalDir" required');
@@ -118,7 +120,6 @@ class CopyConfig {
118
120
  });
119
121
  }
120
122
  async copyDirOrFile(source, destination) {
121
- var _a, _b, _c;
122
123
  const filter = (src) => {
123
124
  for (const fileName in this.filterFiles) {
124
125
  if (src.endsWith(fileName)) {
@@ -132,18 +133,18 @@ class CopyConfig {
132
133
  throw new Error('Cannot copy a directory into a file.');
133
134
  }
134
135
  if (isGlob(source)) {
135
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.info(`Resolving "${source}"`);
136
+ this.logger?.info(`Resolving "${source}"`);
136
137
  const copiedFiles = await utils.copyAsync(source, destination);
137
138
  for (const copiedFile of copiedFiles) {
138
139
  const [copiedFrom, copiedTo] = copiedFile.history;
139
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug(`Copying "${copiedFrom}" -> "${copiedTo}"`);
140
+ this.logger?.debug(`Copying "${copiedFrom}" -> "${copiedTo}"`);
140
141
  }
141
142
  return copiedFiles.map(file => file.path);
142
143
  }
143
144
  if (utils.isFile(source) && !utils.isFile(destination)) {
144
145
  destination = path_1.default.join(destination, path_1.default.basename(source));
145
146
  }
146
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug(`Copying "${source}" -> "${destination}"`);
147
+ this.logger?.debug(`Copying "${source}" -> "${destination}"`);
147
148
  // Info: "fs.copy" creates all sub-folders which are needed along the way:
148
149
  // see https://github.com/jprichardson/node-fs-extra/blob/7.0.1/lib/copy/copy.js#L43
149
150
  // by default, fs.copy() copies folders recursively
@@ -151,7 +152,6 @@ class CopyConfig {
151
152
  return [destination];
152
153
  }
153
154
  async clone() {
154
- var _a, _b, _c;
155
155
  const repositoryData = this.options.repositoryUrl.split('#');
156
156
  let bareUrl = repositoryData[0];
157
157
  const branch = repositoryData[1] || 'master';
@@ -160,7 +160,7 @@ class CopyConfig {
160
160
  await this.removeBasedir();
161
161
  }
162
162
  if (stderrVersion) {
163
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(`No git installation found: (error: "${stderrVersion}"). Trying to download the zip file ...`);
163
+ this.logger?.error(`No git installation found: (error: "${stderrVersion}"). Trying to download the zip file ...`);
164
164
  }
165
165
  if (stderrVersion || this.options.forceDownload) {
166
166
  if (bareUrl.startsWith('git')) {
@@ -168,11 +168,11 @@ class CopyConfig {
168
168
  bareUrl = bareUrl.replace(gitProtocolRegex, 'https://$1$2/$3');
169
169
  }
170
170
  const url = `${bareUrl}/archive/${branch}.zip`;
171
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(`Downloading "${url}" ...`);
171
+ this.logger?.info(`Downloading "${url}" ...`);
172
172
  await utils.downloadFileAsync(url, this.options.baseDir);
173
173
  }
174
174
  else {
175
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.info(`Cloning "${bareUrl}" (branch "${branch}") ...`);
175
+ this.logger?.info(`Cloning "${bareUrl}" (branch "${branch}") ...`);
176
176
  const command = `git clone --depth 1 -b ${branch} ${bareUrl} ${this.options.baseDir}`;
177
177
  const { stderr: stderrClone } = await utils.execAsync(command);
178
178
  if (stderrClone.includes('fatal')) {
@@ -181,8 +181,7 @@ class CopyConfig {
181
181
  }
182
182
  }
183
183
  async removeBasedir() {
184
- var _a;
185
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(`Cleaning up "${this.options.baseDir}" ...`);
184
+ this.logger?.debug(`Cleaning up "${this.options.baseDir}" ...`);
186
185
  await utils.rimrafAsync(this.options.baseDir);
187
186
  }
188
187
  async copy() {
package/lib/cli.js CHANGED
@@ -30,7 +30,7 @@ const _1 = require("./");
30
30
  const configExplorer = (0, cosmiconfig_1.cosmiconfig)('copyconfig');
31
31
  const configFile = await configExplorer.search();
32
32
  const config = configFile ? configFile.config : undefined;
33
- const logLevel = (config === null || config === void 0 ? void 0 : config.logLevel) || 'info';
33
+ const logLevel = config?.logLevel || 'info';
34
34
  const logger = logLevel !== 'silent' ? (0, logdown_1.default)('@wireapp/copy-config', { markdown: false }) : undefined;
35
35
  if (logger) {
36
36
  logger.state.isEnabled = true;
@@ -44,7 +44,7 @@ const _1 = require("./");
44
44
  }
45
45
  const copiedFiles = await new _1.CopyConfig(config, logger).copy();
46
46
  const copyMessage = copiedFiles.length ? `Copied ${copiedFiles.length}` : "Didn't copy any";
47
- logger === null || logger === void 0 ? void 0 : logger.info(`${copyMessage} file${copiedFiles.length === 1 ? '' : 's'}.`);
47
+ logger?.info(`${copyMessage} file${copiedFiles.length === 1 ? '' : 's'}.`);
48
48
  })().catch(error => {
49
49
  console.error(error);
50
50
  process.exit(1);
package/lib/utils.d.ts CHANGED
@@ -1,34 +1,33 @@
1
- /// <reference types="node" />
2
1
  import File from 'vinyl';
3
2
  import { exec } from 'child_process';
4
3
  export declare function copyAsync(source: string, destination: string): Promise<File[]>;
5
4
  export declare function downloadFileAsync(url: string, baseDir: string): Promise<void>;
6
5
  export declare function extractAsync(zipFile: string, destination: string): Promise<void>;
7
6
  export declare const isFile: (path: string) => boolean;
8
- export declare const rimrafAsync: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
9
- rimraf: (path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>;
10
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
11
- rimrafSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
12
- manual: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
13
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
7
+ export declare const rimrafAsync: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
8
+ rimraf: (path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>;
9
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
10
+ rimrafSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
11
+ manual: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
12
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
14
13
  };
15
- manualSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
16
- native: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
17
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
14
+ manualSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
15
+ native: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
16
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
18
17
  };
19
- nativeSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
20
- posix: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
21
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
18
+ nativeSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
19
+ posix: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
20
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
22
21
  };
23
- posixSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
24
- windows: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
25
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
22
+ posixSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
23
+ windows: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
24
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
26
25
  };
27
- windowsSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
28
- moveRemove: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions | undefined) => Promise<boolean>) & {
29
- sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
26
+ windowsSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
27
+ moveRemove: ((path: string | string[], opt?: import("rimraf").RimrafAsyncOptions) => Promise<boolean>) & {
28
+ sync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
30
29
  };
31
- moveRemoveSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions | undefined) => boolean;
30
+ moveRemoveSync: (path: string | string[], opt?: import("rimraf").RimrafSyncOptions) => boolean;
32
31
  };
33
32
  export declare const execAsync: typeof exec.__promisify__;
34
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAwBA,OAAO,IAAI,MAAM,OAAO,CAAC;AAEzB,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AAInC,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAUpF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtF;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,YAA0B,CAAC;AAC9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;CAAS,CAAC;AAClC,eAAO,MAAM,SAAS,2BAAkB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAwBA,OAAO,IAAI,MAAM,OAAO,CAAC;AAEzB,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AAInC,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAUpF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtF;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,YAA0B,CAAC;AAC9D,eAAO,MAAM,WAAW;yCAzBhB,CAAC;uCACP,CAAA;6CAGgB,CAAC;0CAGjB,CAAD;2CACoC,CAAC;;6CAGvB,CAAC;0CAEO,CAAC;2CAEhB,CAAL;;6CAE2B,CAAC;yCACiB,CAAC;2CAOjD,CAAC;;4CAEO,CAAC;2CAA4E,CAAC;2CAA0F,CAAC;;8CAAsF,CAAC;8CAA+E,CAAC;2CAA0F,CAAC;;iDAAyF,CAAC;CAF5e,CAAC;AAClC,eAAO,MAAM,SAAS,2BAAkB,CAAC"}
package/lib/utils.js CHANGED
@@ -21,7 +21,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  return (mod && mod.__esModule) ? mod : { "default": mod };
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.execAsync = exports.rimrafAsync = exports.isFile = exports.extractAsync = exports.downloadFileAsync = exports.copyAsync = void 0;
24
+ exports.execAsync = exports.rimrafAsync = exports.isFile = void 0;
25
+ exports.copyAsync = copyAsync;
26
+ exports.downloadFileAsync = downloadFileAsync;
27
+ exports.extractAsync = extractAsync;
25
28
  const axios_1 = __importDefault(require("axios"));
26
29
  const copy_1 = __importDefault(require("copy"));
27
30
  const fs_extra_1 = require("fs-extra");
@@ -39,7 +42,6 @@ async function copyAsync(source, destination) {
39
42
  }
40
43
  return new Promise((resolve, reject) => (0, copy_1.default)(source, destination, (error, files = []) => (error ? reject(error) : resolve(files))));
41
44
  }
42
- exports.copyAsync = copyAsync;
43
45
  async function downloadFileAsync(url, baseDir) {
44
46
  const zipFile = path_1.default.join(baseDir, 'archive.zip');
45
47
  await (0, fs_extra_1.ensureDir)(baseDir);
@@ -58,7 +60,6 @@ async function downloadFileAsync(url, baseDir) {
58
60
  await extractAsync(zipFile, baseDir);
59
61
  await (0, fs_extra_1.remove)(zipFile);
60
62
  }
61
- exports.downloadFileAsync = downloadFileAsync;
62
63
  async function extractAsync(zipFile, destination) {
63
64
  const jszip = new jszip_1.default();
64
65
  await (0, fs_extra_1.ensureDir)(destination);
@@ -78,7 +79,6 @@ async function extractAsync(zipFile, destination) {
78
79
  }
79
80
  }));
80
81
  }
81
- exports.extractAsync = extractAsync;
82
82
  const isFile = (path) => /\w\.\w+$/.test(path);
83
83
  exports.isFile = isFile;
84
84
  exports.rimrafAsync = rimraf_1.rimraf;
package/package.json CHANGED
@@ -9,13 +9,13 @@
9
9
  "main": "lib/index",
10
10
  "bin": "lib/cli.js",
11
11
  "dependencies": {
12
- "axios": "1.7.2",
12
+ "axios": "1.7.3",
13
13
  "copy": "0.3.2",
14
14
  "cosmiconfig": "9.0.0",
15
15
  "fs-extra": "11.2.0",
16
16
  "jszip": "3.10.1",
17
17
  "logdown": "3.3.1",
18
- "rimraf": "5.0.7"
18
+ "rimraf": "6.0.1"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@swc/core": "^1.3.10",
@@ -35,6 +35,6 @@
35
35
  "test": "jest",
36
36
  "test:coverage": "jest --coverage"
37
37
  },
38
- "version": "2.2.2",
39
- "gitHead": "a106d98232b52392791c21fc90591bcb24347216"
38
+ "version": "2.2.4",
39
+ "gitHead": "770b4a01d2b88aa3e07a0f737c481fcb0819bcc6"
40
40
  }