@ya-modbus/driver-loader 0.10.0 → 0.11.1
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/CHANGELOG.md +12 -0
- package/README.md +30 -3
- package/dist/cjs/src/driver-import.d.ts +14 -1
- package/dist/cjs/src/driver-import.d.ts.map +1 -1
- package/dist/cjs/src/driver-import.js +48 -0
- package/dist/cjs/src/driver-import.js.map +1 -1
- package/dist/cjs/src/entry-point.d.ts +20 -0
- package/dist/cjs/src/entry-point.d.ts.map +1 -0
- package/dist/cjs/src/entry-point.js +63 -0
- package/dist/cjs/src/entry-point.js.map +1 -0
- package/dist/cjs/src/errors.d.ts +23 -0
- package/dist/cjs/src/errors.d.ts.map +1 -1
- package/dist/cjs/src/errors.js +29 -1
- package/dist/cjs/src/errors.js.map +1 -1
- package/dist/cjs/src/index.d.ts +1 -1
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +2 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/loader.d.ts +10 -6
- package/dist/cjs/src/loader.d.ts.map +1 -1
- package/dist/cjs/src/loader.js +24 -69
- package/dist/cjs/src/loader.js.map +1 -1
- package/dist/cjs/src/local-package.d.ts +19 -0
- package/dist/cjs/src/local-package.d.ts.map +1 -0
- package/dist/cjs/src/local-package.js +50 -0
- package/dist/cjs/src/local-package.js.map +1 -0
- package/dist/cjs/src/module-errors.d.ts +24 -0
- package/dist/cjs/src/module-errors.d.ts.map +1 -1
- package/dist/cjs/src/module-errors.js +55 -0
- package/dist/cjs/src/module-errors.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/driver-import.d.ts +14 -1
- package/dist/esm/src/driver-import.d.ts.map +1 -1
- package/dist/esm/src/driver-import.js +49 -2
- package/dist/esm/src/driver-import.js.map +1 -1
- package/dist/esm/src/entry-point.d.ts +20 -0
- package/dist/esm/src/entry-point.d.ts.map +1 -0
- package/dist/esm/src/entry-point.js +59 -0
- package/dist/esm/src/entry-point.js.map +1 -0
- package/dist/esm/src/errors.d.ts +23 -0
- package/dist/esm/src/errors.d.ts.map +1 -1
- package/dist/esm/src/errors.js +27 -0
- package/dist/esm/src/errors.js.map +1 -1
- package/dist/esm/src/index.d.ts +1 -1
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/loader.d.ts +10 -6
- package/dist/esm/src/loader.d.ts.map +1 -1
- package/dist/esm/src/loader.js +26 -71
- package/dist/esm/src/loader.js.map +1 -1
- package/dist/esm/src/local-package.d.ts +19 -0
- package/dist/esm/src/local-package.d.ts.map +1 -0
- package/dist/esm/src/local-package.js +47 -0
- package/dist/esm/src/local-package.js.map +1 -0
- package/dist/esm/src/module-errors.d.ts +24 -0
- package/dist/esm/src/module-errors.d.ts.map +1 -1
- package/dist/esm/src/module-errors.js +54 -0
- package/dist/esm/src/module-errors.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
const NOT_FOUND_CODES = new Set(['ERR_MODULE_NOT_FOUND', 'MODULE_NOT_FOUND']);
|
|
2
|
+
/** Node does not know TypeScript files: too old, or type stripping is off */
|
|
3
|
+
const UNKNOWN_TYPESCRIPT = /Unknown file extension "\.[cm]?ts"/;
|
|
4
|
+
/**
|
|
5
|
+
* What Node could not find (a package name, or the absolute path of a file on POSIX or
|
|
6
|
+
* Windows), and the file that wanted it (not in the CommonJS wording)
|
|
7
|
+
*/
|
|
8
|
+
const MISSING_TARGET = /Cannot find (?:module|package) '([^']+)'(?: imported from ([^\n]+))?/;
|
|
9
|
+
const ABSOLUTE_PATH = /^(?:[/\\]|[A-Za-z]:)/;
|
|
10
|
+
const TYPESCRIPT_FILE = /\.[cm]?tsx?$/;
|
|
2
11
|
/**
|
|
3
12
|
* Check if an import failed because the package itself is not installed
|
|
4
13
|
*
|
|
@@ -16,4 +25,49 @@ export function isMissingPackageError(error, packageName) {
|
|
|
16
25
|
typeof message === 'string' &&
|
|
17
26
|
message.includes(`'${packageName}'`));
|
|
18
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Find out if an import failed because the driver is not built
|
|
30
|
+
*
|
|
31
|
+
* A missing file counts when Node names it by its absolute path. A package that is not
|
|
32
|
+
* installed, or a missing dependency, is named by its package name, so neither matches.
|
|
33
|
+
* With `entryPoint` (a local driver) only the entry file itself counts. Another missing
|
|
34
|
+
* file of a built driver is a bug in the driver, which building does not fix, unless
|
|
35
|
+
* TypeScript source asks for it (importing `./x.js` when only `x.ts` exists).
|
|
36
|
+
*
|
|
37
|
+
* @param error - What the import threw
|
|
38
|
+
* @param entryPoint - Absolute path of the entry file, if it is known
|
|
39
|
+
* @returns The cause, or undefined if the error is about something else
|
|
40
|
+
*/
|
|
41
|
+
export function getNotBuiltCause(error, entryPoint) {
|
|
42
|
+
if (typeof error !== 'object' || error === null) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const { code, message } = error;
|
|
46
|
+
if (code === 'ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING') {
|
|
47
|
+
return 'typescript-in-node-modules';
|
|
48
|
+
}
|
|
49
|
+
if (code === 'ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX') {
|
|
50
|
+
return 'typescript-unsupported';
|
|
51
|
+
}
|
|
52
|
+
if (typeof code !== 'string' || typeof message !== 'string') {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
if (code === 'ERR_UNKNOWN_FILE_EXTENSION') {
|
|
56
|
+
if (!UNKNOWN_TYPESCRIPT.test(message)) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
return message.includes('node_modules') ? 'typescript-in-node-modules' : 'typescript';
|
|
60
|
+
}
|
|
61
|
+
if (!NOT_FOUND_CODES.has(code)) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const [, missing, importer = ''] = MISSING_TARGET.exec(message) ?? [];
|
|
65
|
+
if (missing === undefined || !ABSOLUTE_PATH.test(missing)) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
if (TYPESCRIPT_FILE.test(importer)) {
|
|
69
|
+
return 'typescript-unsupported';
|
|
70
|
+
}
|
|
71
|
+
return entryPoint === undefined || missing === entryPoint ? 'missing-file' : undefined;
|
|
72
|
+
}
|
|
19
73
|
//# sourceMappingURL=module-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-errors.js","sourceRoot":"","sources":["../../../src/module-errors.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,WAAmB;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAA8C,CAAA;IACxE,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,GAAG,CAAC,CACrC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"module-errors.js","sourceRoot":"","sources":["../../../src/module-errors.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAE7E,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,oCAAoC,CAAA;AAE/D;;;GAGG;AACH,MAAM,cAAc,GAAG,sEAAsE,CAAA;AAC7F,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAC5C,MAAM,eAAe,GAAG,cAAc,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,WAAmB;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAA8C,CAAA;IACxE,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,GAAG,CAAC,CACrC,CAAA;AACH,CAAC;AAaD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,UAAmB;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAA8C,CAAA;IACxE,IAAI,IAAI,KAAK,6CAA6C,EAAE,CAAC;QAC3D,OAAO,4BAA4B,CAAA;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,mCAAmC,EAAE,CAAC;QACjD,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,YAAY,CAAA;IACvF,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,OAAO,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;AACxF,CAAC"}
|