@e-mc/module 0.11.5 → 0.11.7

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 (3) hide show
  1. package/README.md +6 -6
  2. package/index.js +36 -42
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  ## Interface
11
11
 
12
- * [View Source](https://www.unpkg.com/@e-mc/types@0.11.5/lib/index.d.ts)
12
+ * [View Source](https://www.unpkg.com/@e-mc/types@0.11.7/lib/index.d.ts)
13
13
 
14
14
  ```typescript
15
15
  import type { LogStatus } from "./squared";
@@ -414,11 +414,11 @@ interface LoggerModule {
414
414
 
415
415
  ## References
416
416
 
417
- - https://www.unpkg.com/@e-mc/types@0.11.5/lib/core.d.ts
418
- - https://www.unpkg.com/@e-mc/types@0.11.5/lib/logger.d.ts
419
- - https://www.unpkg.com/@e-mc/types@0.11.5/lib/module.d.ts
420
- - https://www.unpkg.com/@e-mc/types@0.11.5/lib/node.d.ts
421
- - https://www.unpkg.com/@e-mc/types@0.11.5/lib/settings.d.ts
417
+ - https://www.unpkg.com/@e-mc/types@0.11.7/lib/core.d.ts
418
+ - https://www.unpkg.com/@e-mc/types@0.11.7/lib/logger.d.ts
419
+ - https://www.unpkg.com/@e-mc/types@0.11.7/lib/module.d.ts
420
+ - https://www.unpkg.com/@e-mc/types@0.11.7/lib/node.d.ts
421
+ - https://www.unpkg.com/@e-mc/types@0.11.7/lib/settings.d.ts
422
422
 
423
423
  * https://www.npmjs.com/package/@types/node
424
424
 
package/index.js CHANGED
@@ -941,6 +941,7 @@ function isPathUNC(value) {
941
941
  value = value.toString();
942
942
  return (VALUES["node.posix.strict"] && value.includes('/') ? /^\/\/[\w.-]+\/[\w-]+\$?\/[^\n]*?[^/]$/ : /^(?:\\\\|\/\/)[\w.-]+[\\/][\w-]+\$?[\\/][^\n]*?[^\\/]$/).test(value);
943
943
  }
944
+ const isErrorNo = (value) => value instanceof Error && (0, types_1.isString)(value.code);
944
945
  const formatLogMessage = (type, message, unit, ident) => !ident && (type & 256) ? (unit + LOG_DIVIDER + message).trimEnd() : unit ? (type & 256) && ident ? unit + LOG_DIVIDER + message : (message + (ident ? '' : ' ') + unit).trimStart() : message;
945
946
  const hideAbort = (err) => err.name === 'AbortError' && SETTINGS.abort === false;
946
947
  const asFile = (value) => typeof value === 'string' ? PLATFORM_WIN32 ? value.trim() : value : value instanceof URL && value.protocol === 'file:' ? (0, node_url_1.fileURLToPath)(value) : '';
@@ -983,7 +984,7 @@ class Module extends EventEmitter {
983
984
  this[_g] = null;
984
985
  }
985
986
  static get VERSION() {
986
- return "0.11.5";
987
+ return "0.11.7";
987
988
  }
988
989
  static get LOG_TYPE() {
989
990
  return types_1.LOG_TYPE;
@@ -1667,11 +1668,7 @@ class Module extends EventEmitter {
1667
1668
  }
1668
1669
  }
1669
1670
  static isErrorCode(err, ...code) {
1670
- if (err instanceof Error) {
1671
- const value = err.code;
1672
- return typeof value === 'string' && code.includes(value);
1673
- }
1674
- return false;
1671
+ return isErrorNo(err) && code.includes(err.code);
1675
1672
  }
1676
1673
  static resolveFile(value) {
1677
1674
  if (isFileURL(value = value instanceof URL ? value.toString() : value)) {
@@ -3516,10 +3513,13 @@ class Module extends EventEmitter {
3516
3513
  else if (result === false) {
3517
3514
  return;
3518
3515
  }
3519
- if (options.passThrough) {
3520
- message = null;
3521
- }
3522
- const args = [(type | 512), title, value, message, applyStyle(options, Module.LOG_STYLE_FAIL)];
3516
+ const args = [
3517
+ (type | 512),
3518
+ title,
3519
+ value,
3520
+ message,
3521
+ applyStyle(options, Module.LOG_STYLE_FAIL)
3522
+ ];
3523
3523
  applySessionId(this, options);
3524
3524
  if (options.queue !== false && !options.passThrough && !this._logFlushed) {
3525
3525
  if (VALUES["error.out"]) {
@@ -3648,12 +3648,12 @@ class Module extends EventEmitter {
3648
3648
  options = value;
3649
3649
  value = undefined;
3650
3650
  }
3651
- if (err instanceof Error && err.code === types_1.ERR_CODE.MODULE_NOT_FOUND && name) {
3651
+ if (name && isErrorNo(err) && err.code.endsWith(types_1.ERR_CODE.MODULE_NOT_FOUND)) {
3652
3652
  if (typeof options === 'number') {
3653
3653
  options = undefined;
3654
3654
  }
3655
3655
  const command = VALUES["node.settings.package_manager"] || (setPnpmVer() ? 'pnpm' : setYarnVer() ? 'yarn' : 'npm');
3656
- this.writeFail("Unknown", err, { ...options, type: types_1.LOG_TYPE.SYSTEM, code: types_1.ERR_CODE.MODULE_NOT_FOUND, exec: { command, args: [command === 'npm' ? 'i' : 'add', name] } });
3656
+ this.writeFail("Package not found", err, { ...options, type: types_1.LOG_TYPE.SYSTEM, code: err.code, exec: { command, args: [command === 'npm' ? 'i' : 'add', name] } });
3657
3657
  return true;
3658
3658
  }
3659
3659
  if (value) {
@@ -3662,38 +3662,32 @@ class Module extends EventEmitter {
3662
3662
  return false;
3663
3663
  }
3664
3664
  checkFail(message, options) {
3665
- const code = options.code;
3666
- if (code && message instanceof Error) {
3667
- const valid = message.code === code;
3668
- switch (code) {
3669
- case types_1.ERR_CODE.MODULE_NOT_FOUND: {
3670
- const exec = options.exec;
3671
- if (exec) {
3672
- if (valid && !this.aborted) {
3673
- const command = exec.command + (exec.args ? ' ' + exec.args.join(' ') : '');
3674
- const target = this.host || this;
3675
- let session = CACHE_EXEC.get(target);
3676
- if (!session) {
3677
- CACHE_EXEC.set(target, session = []);
3678
- }
3679
- if (session.includes(command)) {
3680
- return false;
3681
- }
3682
- session.push(command);
3683
- let type = options.type || 0;
3684
- type |= 4096;
3685
- type &= ~1;
3686
- if (options.passThrough) {
3687
- options.passThrough = false;
3688
- message = null;
3689
- }
3690
- return { type, value: ["Install required?", command], message };
3691
- }
3692
- delete options.exec;
3693
- }
3694
- break;
3665
+ let { code, exec } = options;
3666
+ if (!code && isErrorNo(message)) {
3667
+ code = message.code;
3668
+ }
3669
+ if (exec && code?.endsWith(types_1.ERR_CODE.MODULE_NOT_FOUND)) {
3670
+ if (!this.aborted) {
3671
+ const command = exec.command + (exec.args ? ' ' + exec.args.join(' ') : '');
3672
+ const target = this.host || this;
3673
+ let session = CACHE_EXEC.get(target);
3674
+ if (!session) {
3675
+ CACHE_EXEC.set(target, session = []);
3676
+ }
3677
+ if (session.includes(command)) {
3678
+ return false;
3679
+ }
3680
+ session.push(command);
3681
+ let type = options.type || 0;
3682
+ type |= 4096;
3683
+ type &= ~1;
3684
+ if (options.passThrough) {
3685
+ options.passThrough = false;
3686
+ message = null;
3695
3687
  }
3688
+ return { type, value: ["Install required?", command], message };
3696
3689
  }
3690
+ delete options.exec;
3697
3691
  }
3698
3692
  }
3699
3693
  writeLog(type, value, timeStamp, duration) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-mc/module",
3
- "version": "0.11.5",
3
+ "version": "0.11.7",
4
4
  "description": "Module base class for E-mc.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "license": "BSD-3-Clause",
21
21
  "homepage": "https://github.com/anpham6/e-mc#readme",
22
22
  "dependencies": {
23
- "@e-mc/types": "0.11.5",
23
+ "@e-mc/types": "0.11.7",
24
24
  "chalk": "4.1.2",
25
25
  "file-type": "^18.7.0",
26
26
  "js-yaml": "^4.1.0",