@my-devkit/cli 2.1.2 → 2.1.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.
package/dist/utils/npm.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.Npm = void 0;
4
13
  const child_process_1 = require("child_process");
@@ -6,6 +15,7 @@ const fs = require("fs");
6
15
  const file_system_1 = require("./file-system");
7
16
  const gist_1 = require("./gist");
8
17
  const logger_1 = require("./logger");
18
+ const retry_1 = require("./retry");
9
19
  class Npm {
10
20
  prefix;
11
21
  constructor(prefix) {
@@ -46,7 +56,7 @@ class Npm {
46
56
  }
47
57
  async install() {
48
58
  logger_1.Logger.debug('Install package dependencies', 2);
49
- await this.execCmd(`node --max-old-space-size=8000 $(which npm) install --prefix=./my-devkit/packages/cli`);
59
+ await this.execCmd(`npm install --prefix=${this.prefix}`);
50
60
  }
51
61
  async build() {
52
62
  logger_1.Logger.debug('Build package', 2);
@@ -118,4 +128,10 @@ class Npm {
118
128
  }
119
129
  }
120
130
  exports.Npm = Npm;
131
+ __decorate([
132
+ (0, retry_1.Retryable)({ exponential: true }),
133
+ __metadata("design:type", Function),
134
+ __metadata("design:paramtypes", []),
135
+ __metadata("design:returntype", Promise)
136
+ ], Npm.prototype, "install", null);
121
137
  //# sourceMappingURL=npm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Retry operation
3
+ * @param operation
4
+ * @param options
5
+ */
6
+ export declare function retry<T>(operation: () => Promise<T>, options?: retry.Options): Promise<T>;
7
+ export declare function Retryable(options?: retry.Options): MethodDecorator;
8
+ export declare namespace retry {
9
+ interface Options {
10
+ /**
11
+ * Condition callback
12
+ */
13
+ condition?: (error: any) => boolean;
14
+ maxAttempts?: number;
15
+ exponential?: boolean;
16
+ continueWithoutError?: boolean;
17
+ }
18
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.retry = retry;
4
+ exports.Retryable = Retryable;
5
+ const logger_1 = require("./logger");
6
+ const sleep_1 = require("./sleep");
7
+ /**
8
+ * Retry operation
9
+ * @param operation
10
+ * @param options
11
+ */
12
+ async function retry(operation, options) {
13
+ options = { maxAttempts: 6, exponential: false, condition: () => true, continueWithoutError: false, ...options };
14
+ let continueTrying = true;
15
+ let retryCount = 0;
16
+ do {
17
+ try {
18
+ return await operation();
19
+ }
20
+ catch (e) {
21
+ continueTrying = retryCount < options.maxAttempts && options.condition(e);
22
+ if (!continueTrying && options.continueWithoutError) {
23
+ return;
24
+ }
25
+ if (!continueTrying && !options.continueWithoutError) {
26
+ throw e;
27
+ }
28
+ if (options.exponential) {
29
+ await (0, sleep_1.sleep)(Math.pow(2, retryCount) * 1000 + Math.round(Math.random() * 1000));
30
+ }
31
+ retryCount++;
32
+ logger_1.Logger.info(`Retry: retrying... ${retryCount}/${options.maxAttempts}`);
33
+ }
34
+ } while (continueTrying);
35
+ }
36
+ function Retryable(options) {
37
+ return (_target, _propertyKey, descriptor) => {
38
+ const originalMethod = descriptor.value;
39
+ descriptor.value = async function (...args) {
40
+ return retry(async () => await originalMethod.apply(this, args), options);
41
+ };
42
+ };
43
+ }
44
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":";;AAQA,sBAwBC;AAED,8BAQC;AA1CD,qCAAkC;AAClC,mCAAgC;AAEhC;;;;GAIG;AACI,KAAK,UAAU,KAAK,CAAI,SAA2B,EAAE,OAAuB;IAC/E,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjH,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC;QACA,IAAI,CAAC;YACD,OAAO,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,cAAc,GAAG,UAAU,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACnD,MAAM,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,UAAU,EAAE,CAAC;YACb,eAAM,CAAC,IAAI,CAAC,sBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC,QAAQ,cAAc,EAAC;AAC5B,CAAC;AAED,SAAgB,SAAS,CAAC,OAAuB;IAC7C,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;QACzC,MAAM,cAAc,GAAQ,UAAU,CAAC,KAAK,CAAC;QAE5C,UAAkB,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAe;YAC1D,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Wait specified miliseconds
3
+ * @param miliseconds
4
+ */
5
+ export declare const sleep: (miliseconds: number) => Promise<void>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = void 0;
4
+ const logger_1 = require("./logger");
5
+ /**
6
+ * Wait specified miliseconds
7
+ * @param miliseconds
8
+ */
9
+ const sleep = async (miliseconds) => {
10
+ logger_1.Logger.info(`Sleeping ${miliseconds} ms`);
11
+ return new Promise(resolve => setTimeout(() => resolve(), miliseconds));
12
+ };
13
+ exports.sleep = sleep;
14
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAElC;;;GAGG;AACI,MAAM,KAAK,GAAG,KAAK,EAAE,WAAmB,EAAiB,EAAE;IAC9D,eAAM,CAAC,IAAI,CAAC,YAAY,WAAW,KAAK,CAAC,CAAC;IAC1C,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;AAClF,CAAC,CAAA;AAHY,QAAA,KAAK,SAGjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/cli",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "My Devkit: command line tools for mdk apps",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
package/src/utils/npm.ts CHANGED
@@ -4,6 +4,7 @@ import * as fs from 'fs';
4
4
  import { FileSystem } from './file-system';
5
5
  import { Gist } from './gist';
6
6
  import { Logger } from './logger';
7
+ import { Retryable } from './retry';
7
8
 
8
9
  export class Npm {
9
10
  constructor(private prefix: string) {
@@ -52,9 +53,10 @@ export class Npm {
52
53
  }
53
54
  }
54
55
 
56
+ @Retryable({ exponential: true })
55
57
  public async install(): Promise<void> {
56
58
  Logger.debug('Install package dependencies', 2);
57
- await this.execCmd(`node --max-old-space-size=8000 $(which npm) install --prefix=./my-devkit/packages/cli`);
59
+ await this.execCmd(`npm install --prefix=${this.prefix}`);
58
60
  }
59
61
 
60
62
  public async build(): Promise<void> {
@@ -0,0 +1,56 @@
1
+ import { Logger } from './logger';
2
+ import { sleep } from './sleep';
3
+
4
+ /**
5
+ * Retry operation
6
+ * @param operation
7
+ * @param options
8
+ */
9
+ export async function retry<T>(operation: () => Promise<T>, options?: retry.Options): Promise<T> {
10
+ options = { maxAttempts: 6, exponential: false, condition: () => true, continueWithoutError: false, ...options };
11
+
12
+ let continueTrying = true;
13
+ let retryCount = 0;
14
+ do {
15
+ try {
16
+ return await operation();
17
+ } catch (e) {
18
+ continueTrying = retryCount < options.maxAttempts && options.condition(e);
19
+ if (!continueTrying && options.continueWithoutError) {
20
+ return;
21
+ }
22
+ if (!continueTrying && !options.continueWithoutError) {
23
+ throw e;
24
+ }
25
+ if (options.exponential) {
26
+ await sleep(Math.pow(2, retryCount) * 1000 + Math.round(Math.random() * 1000));
27
+ }
28
+
29
+ retryCount++;
30
+ Logger.info(`Retry: retrying... ${retryCount}/${options.maxAttempts}`);
31
+ }
32
+ } while (continueTrying)
33
+ }
34
+
35
+ export function Retryable(options?: retry.Options): MethodDecorator {
36
+ return (_target, _propertyKey, descriptor) => {
37
+ const originalMethod: any = descriptor.value;
38
+
39
+ (descriptor as any).value = async function (...args: unknown[]) {
40
+ return retry(async () => await originalMethod.apply(this, args), options);
41
+ };
42
+ };
43
+ }
44
+
45
+
46
+ export namespace retry {
47
+ export interface Options {
48
+ /**
49
+ * Condition callback
50
+ */
51
+ condition?: (error: any) => boolean;
52
+ maxAttempts?: number;
53
+ exponential?: boolean;
54
+ continueWithoutError?: boolean;
55
+ }
56
+ }
@@ -0,0 +1,10 @@
1
+ import { Logger } from './logger';
2
+
3
+ /**
4
+ * Wait specified miliseconds
5
+ * @param miliseconds
6
+ */
7
+ export const sleep = async (miliseconds: number): Promise<void> => {
8
+ Logger.info(`Sleeping ${miliseconds} ms`);
9
+ return new Promise<void>(resolve => setTimeout(() => resolve(), miliseconds));
10
+ }