@faasjs/load 6.5.0 → 6.7.0

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/README.md CHANGED
@@ -16,6 +16,7 @@ npm install @faasjs/load
16
16
  - [detectNodeRuntime](functions/detectNodeRuntime.md)
17
17
  - [loadConfig](functions/loadConfig.md)
18
18
  - [loadPackage](functions/loadPackage.md)
19
+ - [resetRuntime](functions/resetRuntime.md)
19
20
 
20
21
  ## Type Aliases
21
22
 
package/dist/index.cjs CHANGED
@@ -57,6 +57,9 @@ function loadConfig(root, filename, staging, logger2) {
57
57
  return new Config(root, filename, logger2).get(staging);
58
58
  }
59
59
  var _runtime = null;
60
+ function resetRuntime() {
61
+ _runtime = null;
62
+ }
60
63
  function detectNodeRuntime() {
61
64
  if (_runtime) return _runtime;
62
65
  if (typeof globalThis.require === "function" && typeof module !== "undefined")
@@ -66,7 +69,7 @@ function detectNodeRuntime() {
66
69
  }
67
70
  var tsxLoaded = null;
68
71
  var logger = new logger$1.Logger("loadPackage");
69
- async function loadPackage(name) {
72
+ async function loadPackage(name, defaultNames = "default") {
70
73
  const runtime = detectNodeRuntime();
71
74
  let module2;
72
75
  if (runtime === "module") {
@@ -82,7 +85,10 @@ async function loadPackage(name) {
82
85
  }
83
86
  }
84
87
  module2 = await import(name);
85
- return module2.default ? module2.default : module2;
88
+ if (typeof defaultNames === "string")
89
+ return defaultNames in module2 ? module2[defaultNames] : module2;
90
+ for (const key of defaultNames) if (key in module2) return module2[key];
91
+ return module2;
86
92
  }
87
93
  if (runtime === "commonjs") {
88
94
  if (tsxLoaded === null) {
@@ -97,7 +103,10 @@ async function loadPackage(name) {
97
103
  }
98
104
  }
99
105
  module2 = globalThis.require(name);
100
- return module2.default ? module2.default : module2;
106
+ if (typeof defaultNames === "string")
107
+ return defaultNames in module2 ? module2[defaultNames] : module2;
108
+ for (const key of defaultNames) if (key in module2) return module2[key];
109
+ return module2;
101
110
  }
102
111
  throw Error("Unknown runtime");
103
112
  }
@@ -105,3 +114,4 @@ async function loadPackage(name) {
105
114
  exports.detectNodeRuntime = detectNodeRuntime;
106
115
  exports.loadConfig = loadConfig;
107
116
  exports.loadPackage = loadPackage;
117
+ exports.resetRuntime = resetRuntime;
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import { Logger } from '@faasjs/logger';
7
7
  declare function loadConfig(root: string, filename: string, staging: string, logger?: Logger): Config;
8
8
 
9
9
  type NodeRuntime = 'commonjs' | 'module';
10
+ declare function resetRuntime(): void;
10
11
  /**
11
12
  * Detect the current JavaScript runtime environment.
12
13
  *
@@ -33,6 +34,6 @@ declare function detectNodeRuntime(): NodeRuntime;
33
34
  * const myModule = await loadPackage<MyModuleType>('my-module');
34
35
  * ```
35
36
  */
36
- declare function loadPackage<T = unknown>(name: string): Promise<T>;
37
+ declare function loadPackage<T = unknown>(name: string, defaultNames?: string | string[]): Promise<T>;
37
38
 
38
- export { type NodeRuntime, detectNodeRuntime, loadConfig, loadPackage };
39
+ export { type NodeRuntime, detectNodeRuntime, loadConfig, loadPackage, resetRuntime };
package/dist/index.mjs CHANGED
@@ -54,6 +54,9 @@ function loadConfig(root, filename, staging, logger2) {
54
54
  return new Config(root, filename, logger2).get(staging);
55
55
  }
56
56
  var _runtime = null;
57
+ function resetRuntime() {
58
+ _runtime = null;
59
+ }
57
60
  function detectNodeRuntime() {
58
61
  if (_runtime) return _runtime;
59
62
  if (typeof globalThis.require === "function" && typeof module !== "undefined")
@@ -63,7 +66,7 @@ function detectNodeRuntime() {
63
66
  }
64
67
  var tsxLoaded = null;
65
68
  var logger = new Logger("loadPackage");
66
- async function loadPackage(name) {
69
+ async function loadPackage(name, defaultNames = "default") {
67
70
  const runtime = detectNodeRuntime();
68
71
  let module2;
69
72
  if (runtime === "module") {
@@ -79,7 +82,10 @@ async function loadPackage(name) {
79
82
  }
80
83
  }
81
84
  module2 = await import(name);
82
- return module2.default ? module2.default : module2;
85
+ if (typeof defaultNames === "string")
86
+ return defaultNames in module2 ? module2[defaultNames] : module2;
87
+ for (const key of defaultNames) if (key in module2) return module2[key];
88
+ return module2;
83
89
  }
84
90
  if (runtime === "commonjs") {
85
91
  if (tsxLoaded === null) {
@@ -94,9 +100,12 @@ async function loadPackage(name) {
94
100
  }
95
101
  }
96
102
  module2 = globalThis.require(name);
97
- return module2.default ? module2.default : module2;
103
+ if (typeof defaultNames === "string")
104
+ return defaultNames in module2 ? module2[defaultNames] : module2;
105
+ for (const key of defaultNames) if (key in module2) return module2[key];
106
+ return module2;
98
107
  }
99
108
  throw Error("Unknown runtime");
100
109
  }
101
110
 
102
- export { detectNodeRuntime, loadConfig, loadPackage };
111
+ export { detectNodeRuntime, loadConfig, loadPackage, resetRuntime };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/load",
3
- "version": "6.5.0",
3
+ "version": "6.7.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -32,15 +32,15 @@
32
32
  "peerDependencies": {
33
33
  "js-yaml": "*",
34
34
  "tsx": "*",
35
- "@faasjs/deep_merge": "6.5.0",
36
- "@faasjs/func": "6.5.0"
35
+ "@faasjs/deep_merge": "6.7.0",
36
+ "@faasjs/func": "6.7.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "js-yaml": "*",
40
40
  "tsx": "*",
41
41
  "@types/js-yaml": "*",
42
- "@faasjs/deep_merge": "6.5.0",
43
- "@faasjs/func": "6.5.0"
42
+ "@faasjs/deep_merge": "6.7.0",
43
+ "@faasjs/func": "6.7.0"
44
44
  },
45
45
  "engines": {
46
46
  "node": ">=22.0.0",