@bleedingdev/modern-js-plugin-bff-extensions 3.9.0-ultramodern.2 → 3.9.0-ultramodern.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/cjs/effect-source-loader/index.js +4 -0
- package/dist/cjs/effect-source-loader/loader.js +4 -25
- package/dist/cjs/effect-source-loader/worker-runtime-source.js +71 -0
- package/dist/esm/effect-source-loader/index.mjs +1 -0
- package/dist/esm/effect-source-loader/loader.mjs +4 -25
- package/dist/esm/effect-source-loader/worker-runtime-source.mjs +23 -0
- package/dist/esm-node/effect-source-loader/index.mjs +1 -0
- package/dist/esm-node/effect-source-loader/loader.mjs +4 -25
- package/dist/esm-node/effect-source-loader/worker-runtime-source.mjs +24 -0
- package/dist/types/effect-source-loader/index.d.ts +1 -0
- package/dist/types/effect-source-loader/worker-runtime-source.d.ts +4 -0
- package/package.json +8 -8
- package/src/effect-source-loader/index.ts +1 -0
- package/src/effect-source-loader/loader.ts +2 -24
- package/src/effect-source-loader/worker-runtime-source.ts +34 -0
|
@@ -29,19 +29,23 @@ var __webpack_exports__ = {};
|
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
bundleEffectEntryForNode: ()=>external_loader_js_namespaceObject.bundleEffectEntryForNode,
|
|
32
|
+
bundleEffectWorkerRuntimeSource: ()=>external_worker_runtime_source_js_namespaceObject.bundleEffectWorkerRuntimeSource,
|
|
32
33
|
generateEffectClientCode: ()=>external_worker_runtime_wrapper_js_namespaceObject.generateEffectClientCode,
|
|
33
34
|
generateEffectWorkerRuntimeWrapper: ()=>external_worker_runtime_wrapper_js_namespaceObject.generateEffectWorkerRuntimeWrapper,
|
|
34
35
|
resolveEffectEntryFile: ()=>paths_js_namespaceObject.resolveEffectEntryFile
|
|
35
36
|
});
|
|
36
37
|
const paths_js_namespaceObject = require("../client-generator/paths.js");
|
|
37
38
|
const external_loader_js_namespaceObject = require("./loader.js");
|
|
39
|
+
const external_worker_runtime_source_js_namespaceObject = require("./worker-runtime-source.js");
|
|
38
40
|
const external_worker_runtime_wrapper_js_namespaceObject = require("./worker-runtime-wrapper.js");
|
|
39
41
|
exports.bundleEffectEntryForNode = __webpack_exports__.bundleEffectEntryForNode;
|
|
42
|
+
exports.bundleEffectWorkerRuntimeSource = __webpack_exports__.bundleEffectWorkerRuntimeSource;
|
|
40
43
|
exports.generateEffectClientCode = __webpack_exports__.generateEffectClientCode;
|
|
41
44
|
exports.generateEffectWorkerRuntimeWrapper = __webpack_exports__.generateEffectWorkerRuntimeWrapper;
|
|
42
45
|
exports.resolveEffectEntryFile = __webpack_exports__.resolveEffectEntryFile;
|
|
43
46
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
44
47
|
"bundleEffectEntryForNode",
|
|
48
|
+
"bundleEffectWorkerRuntimeSource",
|
|
45
49
|
"generateEffectClientCode",
|
|
46
50
|
"generateEffectWorkerRuntimeWrapper",
|
|
47
51
|
"resolveEffectEntryFile"
|
|
@@ -145,7 +145,6 @@ function isBareSpecifier(specifier) {
|
|
|
145
145
|
return !specifier.startsWith('.') && !specifier.startsWith('/') && !external_node_path_default().isAbsolute(specifier);
|
|
146
146
|
}
|
|
147
147
|
function externalizeInstalledDependencies(options) {
|
|
148
|
-
const runtimeRequire = (0, external_node_module_namespaceObject.createRequire)(external_node_path_default().join(options.runtimeResolveDir, '__modern_effect_entry.cjs'));
|
|
149
148
|
return {
|
|
150
149
|
name: 'modern-js-effect-installed-dependencies',
|
|
151
150
|
setup (buildApi) {
|
|
@@ -185,28 +184,10 @@ function externalizeInstalledDependencies(options) {
|
|
|
185
184
|
},
|
|
186
185
|
resolveDir: options.runtimeResolveDir
|
|
187
186
|
});
|
|
188
|
-
if (0 === runtimeResolution.errors.length && runtimeResolution.path) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
requiredPath = runtimeRequire.resolve(args.path);
|
|
193
|
-
} catch {
|
|
194
|
-
requiredPath = runtimeResolution.path;
|
|
195
|
-
}
|
|
196
|
-
if (await isEsmOnlyFile(requiredPath)) return {
|
|
197
|
-
namespace: resolution.namespace,
|
|
198
|
-
path: resolution.path,
|
|
199
|
-
pluginData: resolution.pluginData,
|
|
200
|
-
sideEffects: resolution.sideEffects,
|
|
201
|
-
suffix: resolution.suffix,
|
|
202
|
-
warnings: resolution.warnings
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
return {
|
|
206
|
-
external: true,
|
|
207
|
-
path: args.path
|
|
208
|
-
};
|
|
209
|
-
}
|
|
187
|
+
if (0 === runtimeResolution.errors.length && runtimeResolution.path) return {
|
|
188
|
+
external: true,
|
|
189
|
+
path: args.path
|
|
190
|
+
};
|
|
210
191
|
}
|
|
211
192
|
return {
|
|
212
193
|
namespace: resolution.namespace,
|
|
@@ -234,7 +215,6 @@ async function bundleEffectEntryForNode(options) {
|
|
|
234
215
|
platform: 'node',
|
|
235
216
|
plugins: [
|
|
236
217
|
externalizeInstalledDependencies({
|
|
237
|
-
format: options.format,
|
|
238
218
|
runtimeResolveDir: options.appDir
|
|
239
219
|
}),
|
|
240
220
|
preserveSourceModuleSemantics()
|
|
@@ -308,7 +288,6 @@ async function loadEffectSourceModule(options) {
|
|
|
308
288
|
platform: 'node',
|
|
309
289
|
plugins: [
|
|
310
290
|
externalizeInstalledDependencies({
|
|
311
|
-
format: 'esm',
|
|
312
291
|
runtimeResolveDir: appDir
|
|
313
292
|
}),
|
|
314
293
|
preserveSourceModuleSemantics()
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
bundleEffectWorkerRuntimeSource: ()=>bundleEffectWorkerRuntimeSource
|
|
41
|
+
});
|
|
42
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
43
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
44
|
+
const external_esbuild_namespaceObject = require("esbuild");
|
|
45
|
+
async function bundleEffectWorkerRuntimeSource(source, resourcePath, loader) {
|
|
46
|
+
const result = await (0, external_esbuild_namespaceObject.build)({
|
|
47
|
+
absWorkingDir: external_node_path_default().dirname(resourcePath),
|
|
48
|
+
bundle: true,
|
|
49
|
+
format: 'esm',
|
|
50
|
+
metafile: true,
|
|
51
|
+
packages: 'external',
|
|
52
|
+
platform: 'neutral',
|
|
53
|
+
stdin: {
|
|
54
|
+
contents: source,
|
|
55
|
+
loader: 'js',
|
|
56
|
+
resolveDir: external_node_path_default().dirname(resourcePath),
|
|
57
|
+
sourcefile: resourcePath
|
|
58
|
+
},
|
|
59
|
+
target: 'es2024',
|
|
60
|
+
write: false
|
|
61
|
+
});
|
|
62
|
+
for (const dependency of Object.keys(result.metafile.inputs))if ('<stdin>' !== dependency) loader.addDependency(external_node_path_default().resolve(external_node_path_default().dirname(resourcePath), dependency));
|
|
63
|
+
return result.outputFiles[0].text;
|
|
64
|
+
}
|
|
65
|
+
exports.bundleEffectWorkerRuntimeSource = __webpack_exports__.bundleEffectWorkerRuntimeSource;
|
|
66
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
67
|
+
"bundleEffectWorkerRuntimeSource"
|
|
68
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
69
|
+
Object.defineProperty(exports, '__esModule', {
|
|
70
|
+
value: true
|
|
71
|
+
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { resolveEffectEntryFile } from "../client-generator/paths.mjs";
|
|
2
2
|
export { bundleEffectEntryForNode } from "./loader.mjs";
|
|
3
|
+
export { bundleEffectWorkerRuntimeSource } from "./worker-runtime-source.mjs";
|
|
3
4
|
export { generateEffectClientCode, generateEffectWorkerRuntimeWrapper } from "./worker-runtime-wrapper.mjs";
|
|
@@ -99,7 +99,6 @@ function isBareSpecifier(specifier) {
|
|
|
99
99
|
return !specifier.startsWith('.') && !specifier.startsWith('/') && !node_path.isAbsolute(specifier);
|
|
100
100
|
}
|
|
101
101
|
function externalizeInstalledDependencies(options) {
|
|
102
|
-
const runtimeRequire = createRequire(node_path.join(options.runtimeResolveDir, '__modern_effect_entry.cjs'));
|
|
103
102
|
return {
|
|
104
103
|
name: 'modern-js-effect-installed-dependencies',
|
|
105
104
|
setup (buildApi) {
|
|
@@ -139,28 +138,10 @@ function externalizeInstalledDependencies(options) {
|
|
|
139
138
|
},
|
|
140
139
|
resolveDir: options.runtimeResolveDir
|
|
141
140
|
});
|
|
142
|
-
if (0 === runtimeResolution.errors.length && runtimeResolution.path) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
requiredPath = runtimeRequire.resolve(args.path);
|
|
147
|
-
} catch {
|
|
148
|
-
requiredPath = runtimeResolution.path;
|
|
149
|
-
}
|
|
150
|
-
if (await isEsmOnlyFile(requiredPath)) return {
|
|
151
|
-
namespace: resolution.namespace,
|
|
152
|
-
path: resolution.path,
|
|
153
|
-
pluginData: resolution.pluginData,
|
|
154
|
-
sideEffects: resolution.sideEffects,
|
|
155
|
-
suffix: resolution.suffix,
|
|
156
|
-
warnings: resolution.warnings
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
external: true,
|
|
161
|
-
path: args.path
|
|
162
|
-
};
|
|
163
|
-
}
|
|
141
|
+
if (0 === runtimeResolution.errors.length && runtimeResolution.path) return {
|
|
142
|
+
external: true,
|
|
143
|
+
path: args.path
|
|
144
|
+
};
|
|
164
145
|
}
|
|
165
146
|
return {
|
|
166
147
|
namespace: resolution.namespace,
|
|
@@ -188,7 +169,6 @@ async function bundleEffectEntryForNode(options) {
|
|
|
188
169
|
platform: 'node',
|
|
189
170
|
plugins: [
|
|
190
171
|
externalizeInstalledDependencies({
|
|
191
|
-
format: options.format,
|
|
192
172
|
runtimeResolveDir: options.appDir
|
|
193
173
|
}),
|
|
194
174
|
preserveSourceModuleSemantics()
|
|
@@ -262,7 +242,6 @@ async function loadEffectSourceModule(options) {
|
|
|
262
242
|
platform: 'node',
|
|
263
243
|
plugins: [
|
|
264
244
|
externalizeInstalledDependencies({
|
|
265
|
-
format: 'esm',
|
|
266
245
|
runtimeResolveDir: appDir
|
|
267
246
|
}),
|
|
268
247
|
preserveSourceModuleSemantics()
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import node_path from "node:path";
|
|
2
|
+
import { build } from "esbuild";
|
|
3
|
+
async function bundleEffectWorkerRuntimeSource(source, resourcePath, loader) {
|
|
4
|
+
const result = await build({
|
|
5
|
+
absWorkingDir: node_path.dirname(resourcePath),
|
|
6
|
+
bundle: true,
|
|
7
|
+
format: 'esm',
|
|
8
|
+
metafile: true,
|
|
9
|
+
packages: 'external',
|
|
10
|
+
platform: 'neutral',
|
|
11
|
+
stdin: {
|
|
12
|
+
contents: source,
|
|
13
|
+
loader: 'js',
|
|
14
|
+
resolveDir: node_path.dirname(resourcePath),
|
|
15
|
+
sourcefile: resourcePath
|
|
16
|
+
},
|
|
17
|
+
target: 'es2024',
|
|
18
|
+
write: false
|
|
19
|
+
});
|
|
20
|
+
for (const dependency of Object.keys(result.metafile.inputs))if ('<stdin>' !== dependency) loader.addDependency(node_path.resolve(node_path.dirname(resourcePath), dependency));
|
|
21
|
+
return result.outputFiles[0].text;
|
|
22
|
+
}
|
|
23
|
+
export { bundleEffectWorkerRuntimeSource };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "node:module";
|
|
2
2
|
export { resolveEffectEntryFile } from "../client-generator/paths.mjs";
|
|
3
3
|
export { bundleEffectEntryForNode } from "./loader.mjs";
|
|
4
|
+
export { bundleEffectWorkerRuntimeSource } from "./worker-runtime-source.mjs";
|
|
4
5
|
export { generateEffectClientCode, generateEffectWorkerRuntimeWrapper } from "./worker-runtime-wrapper.mjs";
|
|
@@ -100,7 +100,6 @@ function isBareSpecifier(specifier) {
|
|
|
100
100
|
return !specifier.startsWith('.') && !specifier.startsWith('/') && !node_path.isAbsolute(specifier);
|
|
101
101
|
}
|
|
102
102
|
function externalizeInstalledDependencies(options) {
|
|
103
|
-
const runtimeRequire = createRequire(node_path.join(options.runtimeResolveDir, '__modern_effect_entry.cjs'));
|
|
104
103
|
return {
|
|
105
104
|
name: 'modern-js-effect-installed-dependencies',
|
|
106
105
|
setup (buildApi) {
|
|
@@ -140,28 +139,10 @@ function externalizeInstalledDependencies(options) {
|
|
|
140
139
|
},
|
|
141
140
|
resolveDir: options.runtimeResolveDir
|
|
142
141
|
});
|
|
143
|
-
if (0 === runtimeResolution.errors.length && runtimeResolution.path) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
requiredPath = runtimeRequire.resolve(args.path);
|
|
148
|
-
} catch {
|
|
149
|
-
requiredPath = runtimeResolution.path;
|
|
150
|
-
}
|
|
151
|
-
if (await isEsmOnlyFile(requiredPath)) return {
|
|
152
|
-
namespace: resolution.namespace,
|
|
153
|
-
path: resolution.path,
|
|
154
|
-
pluginData: resolution.pluginData,
|
|
155
|
-
sideEffects: resolution.sideEffects,
|
|
156
|
-
suffix: resolution.suffix,
|
|
157
|
-
warnings: resolution.warnings
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
external: true,
|
|
162
|
-
path: args.path
|
|
163
|
-
};
|
|
164
|
-
}
|
|
142
|
+
if (0 === runtimeResolution.errors.length && runtimeResolution.path) return {
|
|
143
|
+
external: true,
|
|
144
|
+
path: args.path
|
|
145
|
+
};
|
|
165
146
|
}
|
|
166
147
|
return {
|
|
167
148
|
namespace: resolution.namespace,
|
|
@@ -189,7 +170,6 @@ async function bundleEffectEntryForNode(options) {
|
|
|
189
170
|
platform: 'node',
|
|
190
171
|
plugins: [
|
|
191
172
|
externalizeInstalledDependencies({
|
|
192
|
-
format: options.format,
|
|
193
173
|
runtimeResolveDir: options.appDir
|
|
194
174
|
}),
|
|
195
175
|
preserveSourceModuleSemantics()
|
|
@@ -263,7 +243,6 @@ async function loadEffectSourceModule(options) {
|
|
|
263
243
|
platform: 'node',
|
|
264
244
|
plugins: [
|
|
265
245
|
externalizeInstalledDependencies({
|
|
266
|
-
format: 'esm',
|
|
267
246
|
runtimeResolveDir: appDir
|
|
268
247
|
}),
|
|
269
248
|
preserveSourceModuleSemantics()
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
import node_path from "node:path";
|
|
3
|
+
import { build } from "esbuild";
|
|
4
|
+
async function bundleEffectWorkerRuntimeSource(source, resourcePath, loader) {
|
|
5
|
+
const result = await build({
|
|
6
|
+
absWorkingDir: node_path.dirname(resourcePath),
|
|
7
|
+
bundle: true,
|
|
8
|
+
format: 'esm',
|
|
9
|
+
metafile: true,
|
|
10
|
+
packages: 'external',
|
|
11
|
+
platform: 'neutral',
|
|
12
|
+
stdin: {
|
|
13
|
+
contents: source,
|
|
14
|
+
loader: 'js',
|
|
15
|
+
resolveDir: node_path.dirname(resourcePath),
|
|
16
|
+
sourcefile: resourcePath
|
|
17
|
+
},
|
|
18
|
+
target: 'es2024',
|
|
19
|
+
write: false
|
|
20
|
+
});
|
|
21
|
+
for (const dependency of Object.keys(result.metafile.inputs))if ('<stdin>' !== dependency) loader.addDependency(node_path.resolve(node_path.dirname(resourcePath), dependency));
|
|
22
|
+
return result.outputFiles[0].text;
|
|
23
|
+
}
|
|
24
|
+
export { bundleEffectWorkerRuntimeSource };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { resolveEffectEntryFile } from '../client-generator/paths.js';
|
|
2
2
|
export { bundleEffectEntryForNode } from './loader.js';
|
|
3
|
+
export { bundleEffectWorkerRuntimeSource } from './worker-runtime-source.js';
|
|
3
4
|
export { generateEffectClientCode, generateEffectWorkerRuntimeWrapper, } from './worker-runtime-wrapper.js';
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"modern.js",
|
|
19
19
|
"ultramodern.js"
|
|
20
20
|
],
|
|
21
|
-
"version": "3.9.0-ultramodern.
|
|
21
|
+
"version": "3.9.0-ultramodern.4",
|
|
22
22
|
"files": [
|
|
23
23
|
"dist",
|
|
24
24
|
"src"
|
|
@@ -169,13 +169,13 @@
|
|
|
169
169
|
"node": ">=26.7.0"
|
|
170
170
|
},
|
|
171
171
|
"dependencies": {
|
|
172
|
-
"@modern-js/bff-core": "npm:@bleedingdev/modern-js-bff-core@3.9.0-ultramodern.
|
|
173
|
-
"@modern-js/bff-effect": "npm:@bleedingdev/modern-js-bff-effect@3.9.0-ultramodern.
|
|
174
|
-
"@modern-js/runtime-extensions": "npm:@bleedingdev/modern-js-runtime-extensions@3.9.0-ultramodern.
|
|
175
|
-
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.9.0-ultramodern.
|
|
176
|
-
"@modern-js/server-runtime-extensions": "npm:@bleedingdev/modern-js-server-runtime-extensions@3.9.0-ultramodern.
|
|
177
|
-
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.9.0-ultramodern.
|
|
178
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.9.0-ultramodern.
|
|
172
|
+
"@modern-js/bff-core": "npm:@bleedingdev/modern-js-bff-core@3.9.0-ultramodern.4",
|
|
173
|
+
"@modern-js/bff-effect": "npm:@bleedingdev/modern-js-bff-effect@3.9.0-ultramodern.4",
|
|
174
|
+
"@modern-js/runtime-extensions": "npm:@bleedingdev/modern-js-runtime-extensions@3.9.0-ultramodern.4",
|
|
175
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.9.0-ultramodern.4",
|
|
176
|
+
"@modern-js/server-runtime-extensions": "npm:@bleedingdev/modern-js-server-runtime-extensions@3.9.0-ultramodern.4",
|
|
177
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.9.0-ultramodern.4",
|
|
178
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.9.0-ultramodern.4",
|
|
179
179
|
"@module-federation/runtime": "2.9.0",
|
|
180
180
|
"esbuild": "^0.28.2"
|
|
181
181
|
},
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { resolveEffectEntryFile } from '../client-generator/paths';
|
|
2
2
|
export { bundleEffectEntryForNode } from './loader';
|
|
3
|
+
export { bundleEffectWorkerRuntimeSource } from './worker-runtime-source';
|
|
3
4
|
export {
|
|
4
5
|
generateEffectClientCode,
|
|
5
6
|
generateEffectWorkerRuntimeWrapper,
|
|
@@ -125,12 +125,8 @@ function isBareSpecifier(specifier: string) {
|
|
|
125
125
|
* generated entry is relocatable and directly executable by Node 26.7.
|
|
126
126
|
*/
|
|
127
127
|
function externalizeInstalledDependencies(options: {
|
|
128
|
-
format: 'cjs' | 'esm';
|
|
129
128
|
runtimeResolveDir: string;
|
|
130
129
|
}): Plugin {
|
|
131
|
-
const runtimeRequire = createRequire(
|
|
132
|
-
path.join(options.runtimeResolveDir, '__modern_effect_entry.cjs'),
|
|
133
|
-
);
|
|
134
130
|
return {
|
|
135
131
|
name: 'modern-js-effect-installed-dependencies',
|
|
136
132
|
setup(buildApi) {
|
|
@@ -176,24 +172,8 @@ function externalizeInstalledDependencies(options: {
|
|
|
176
172
|
resolveDir: options.runtimeResolveDir,
|
|
177
173
|
});
|
|
178
174
|
if (runtimeResolution.errors.length === 0 && runtimeResolution.path) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
try {
|
|
182
|
-
requiredPath = runtimeRequire.resolve(args.path);
|
|
183
|
-
} catch {
|
|
184
|
-
requiredPath = runtimeResolution.path;
|
|
185
|
-
}
|
|
186
|
-
if (await isEsmOnlyFile(requiredPath)) {
|
|
187
|
-
return {
|
|
188
|
-
namespace: resolution.namespace,
|
|
189
|
-
path: resolution.path,
|
|
190
|
-
pluginData: resolution.pluginData,
|
|
191
|
-
sideEffects: resolution.sideEffects,
|
|
192
|
-
suffix: resolution.suffix,
|
|
193
|
-
warnings: resolution.warnings,
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
}
|
|
175
|
+
// Node 26 loads installed ESM from CommonJS natively. Rebundling
|
|
176
|
+
// it here would split dependency identity from the BFF runtime.
|
|
197
177
|
return { external: true, path: args.path };
|
|
198
178
|
}
|
|
199
179
|
}
|
|
@@ -227,7 +207,6 @@ export async function bundleEffectEntryForNode(options: {
|
|
|
227
207
|
platform: 'node',
|
|
228
208
|
plugins: [
|
|
229
209
|
externalizeInstalledDependencies({
|
|
230
|
-
format: options.format,
|
|
231
210
|
runtimeResolveDir: options.appDir,
|
|
232
211
|
}),
|
|
233
212
|
preserveSourceModuleSemantics(),
|
|
@@ -365,7 +344,6 @@ export async function loadEffectSourceModule(
|
|
|
365
344
|
platform: 'node',
|
|
366
345
|
plugins: [
|
|
367
346
|
externalizeInstalledDependencies({
|
|
368
|
-
format: 'esm',
|
|
369
347
|
runtimeResolveDir: appDir,
|
|
370
348
|
}),
|
|
371
349
|
preserveSourceModuleSemantics(),
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { build } from 'esbuild';
|
|
3
|
+
|
|
4
|
+
/** Keep the worker implementation graph out of the API-to-client loader. */
|
|
5
|
+
export async function bundleEffectWorkerRuntimeSource(
|
|
6
|
+
source: string,
|
|
7
|
+
resourcePath: string,
|
|
8
|
+
loader: { addDependency: (dependency: string) => void },
|
|
9
|
+
) {
|
|
10
|
+
const result = await build({
|
|
11
|
+
absWorkingDir: path.dirname(resourcePath),
|
|
12
|
+
bundle: true,
|
|
13
|
+
format: 'esm',
|
|
14
|
+
metafile: true,
|
|
15
|
+
packages: 'external',
|
|
16
|
+
platform: 'neutral',
|
|
17
|
+
stdin: {
|
|
18
|
+
contents: source,
|
|
19
|
+
loader: 'js',
|
|
20
|
+
resolveDir: path.dirname(resourcePath),
|
|
21
|
+
sourcefile: resourcePath,
|
|
22
|
+
},
|
|
23
|
+
target: 'es2024',
|
|
24
|
+
write: false,
|
|
25
|
+
});
|
|
26
|
+
for (const dependency of Object.keys(result.metafile.inputs)) {
|
|
27
|
+
if (dependency !== '<stdin>') {
|
|
28
|
+
loader.addDependency(
|
|
29
|
+
path.resolve(path.dirname(resourcePath), dependency),
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return result.outputFiles[0].text;
|
|
34
|
+
}
|