@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.
Files changed (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +30 -3
  3. package/dist/cjs/src/driver-import.d.ts +14 -1
  4. package/dist/cjs/src/driver-import.d.ts.map +1 -1
  5. package/dist/cjs/src/driver-import.js +48 -0
  6. package/dist/cjs/src/driver-import.js.map +1 -1
  7. package/dist/cjs/src/entry-point.d.ts +20 -0
  8. package/dist/cjs/src/entry-point.d.ts.map +1 -0
  9. package/dist/cjs/src/entry-point.js +63 -0
  10. package/dist/cjs/src/entry-point.js.map +1 -0
  11. package/dist/cjs/src/errors.d.ts +23 -0
  12. package/dist/cjs/src/errors.d.ts.map +1 -1
  13. package/dist/cjs/src/errors.js +29 -1
  14. package/dist/cjs/src/errors.js.map +1 -1
  15. package/dist/cjs/src/index.d.ts +1 -1
  16. package/dist/cjs/src/index.d.ts.map +1 -1
  17. package/dist/cjs/src/index.js +2 -1
  18. package/dist/cjs/src/index.js.map +1 -1
  19. package/dist/cjs/src/loader.d.ts +10 -6
  20. package/dist/cjs/src/loader.d.ts.map +1 -1
  21. package/dist/cjs/src/loader.js +24 -69
  22. package/dist/cjs/src/loader.js.map +1 -1
  23. package/dist/cjs/src/local-package.d.ts +19 -0
  24. package/dist/cjs/src/local-package.d.ts.map +1 -0
  25. package/dist/cjs/src/local-package.js +50 -0
  26. package/dist/cjs/src/local-package.js.map +1 -0
  27. package/dist/cjs/src/module-errors.d.ts +24 -0
  28. package/dist/cjs/src/module-errors.d.ts.map +1 -1
  29. package/dist/cjs/src/module-errors.js +55 -0
  30. package/dist/cjs/src/module-errors.js.map +1 -1
  31. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  32. package/dist/esm/src/driver-import.d.ts +14 -1
  33. package/dist/esm/src/driver-import.d.ts.map +1 -1
  34. package/dist/esm/src/driver-import.js +49 -2
  35. package/dist/esm/src/driver-import.js.map +1 -1
  36. package/dist/esm/src/entry-point.d.ts +20 -0
  37. package/dist/esm/src/entry-point.d.ts.map +1 -0
  38. package/dist/esm/src/entry-point.js +59 -0
  39. package/dist/esm/src/entry-point.js.map +1 -0
  40. package/dist/esm/src/errors.d.ts +23 -0
  41. package/dist/esm/src/errors.d.ts.map +1 -1
  42. package/dist/esm/src/errors.js +27 -0
  43. package/dist/esm/src/errors.js.map +1 -1
  44. package/dist/esm/src/index.d.ts +1 -1
  45. package/dist/esm/src/index.d.ts.map +1 -1
  46. package/dist/esm/src/index.js +1 -1
  47. package/dist/esm/src/index.js.map +1 -1
  48. package/dist/esm/src/loader.d.ts +10 -6
  49. package/dist/esm/src/loader.d.ts.map +1 -1
  50. package/dist/esm/src/loader.js +26 -71
  51. package/dist/esm/src/loader.js.map +1 -1
  52. package/dist/esm/src/local-package.d.ts +19 -0
  53. package/dist/esm/src/local-package.d.ts.map +1 -0
  54. package/dist/esm/src/local-package.js +47 -0
  55. package/dist/esm/src/local-package.js.map +1 -0
  56. package/dist/esm/src/module-errors.d.ts +24 -0
  57. package/dist/esm/src/module-errors.d.ts.map +1 -1
  58. package/dist/esm/src/module-errors.js +54 -0
  59. package/dist/esm/src/module-errors.js.map +1 -1
  60. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  61. 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"}