@module-federation/vite 1.0.0-alpha-661e052 → 1.0.0-alpha-1aa30c0
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/lib/index.cjs +58 -12
- package/lib/index.esm.js +58 -13
- package/lib/index.modern.js +45 -10
- package/lib/index.umd.js +58 -12
- package/lib/utils/VirtualModule.d.ts +2 -1
- package/lib/utils/localSharedImportMap_windows.d.ts +2 -0
- package/lib/virtualModules/virtualShared_preBuild.d.ts +1 -1
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -27,6 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
|
|
28
28
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
29
29
|
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
30
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
30
31
|
var MagicString__default = /*#__PURE__*/_interopDefaultLegacy(MagicString);
|
|
31
32
|
|
|
32
33
|
var addEntry = function addEntry(_ref) {
|
|
@@ -338,6 +339,7 @@ fs.writeFileSync(path.resolve(nodeModulesDir, virtualPackageName, "package.json"
|
|
|
338
339
|
var VirtualModule = /*#__PURE__*/function () {
|
|
339
340
|
function VirtualModule(name) {
|
|
340
341
|
this.originName = void 0;
|
|
342
|
+
this.inited = false;
|
|
341
343
|
this.originName = name;
|
|
342
344
|
}
|
|
343
345
|
var _proto = VirtualModule.prototype;
|
|
@@ -347,7 +349,11 @@ var VirtualModule = /*#__PURE__*/function () {
|
|
|
347
349
|
_proto.getImportId = function getImportId() {
|
|
348
350
|
return virtualPackageName + "/" + packageNameEncode(this.originName);
|
|
349
351
|
};
|
|
350
|
-
_proto.writeSync = function writeSync(code) {
|
|
352
|
+
_proto.writeSync = function writeSync(code, force) {
|
|
353
|
+
if (!force && this.inited) return;
|
|
354
|
+
if (!this.inited) {
|
|
355
|
+
this.inited = true;
|
|
356
|
+
}
|
|
351
357
|
fs.writeFileSync(this.getPath() + ".js", code);
|
|
352
358
|
};
|
|
353
359
|
_proto.write = function write(code) {
|
|
@@ -356,6 +362,26 @@ var VirtualModule = /*#__PURE__*/function () {
|
|
|
356
362
|
return VirtualModule;
|
|
357
363
|
}();
|
|
358
364
|
|
|
365
|
+
/**
|
|
366
|
+
* https://github.com/module-federation/vite/issues/68
|
|
367
|
+
*/
|
|
368
|
+
function getLocalSharedImportMapPath_windows() {
|
|
369
|
+
var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
|
|
370
|
+
name = _getNormalizeModuleFe.name;
|
|
371
|
+
return path__default["default"].resolve(".__mf__win", packageNameEncode(name), "localSharedImportMap");
|
|
372
|
+
}
|
|
373
|
+
function writeLocalSharedImportMap_windows(content) {
|
|
374
|
+
var localSharedImportMapId = getLocalSharedImportMapPath_windows();
|
|
375
|
+
createFile(localSharedImportMapId + ".js", "\n// Windows temporarily needs this file, https://github.com/module-federation/vite/issues/68\n" + content);
|
|
376
|
+
}
|
|
377
|
+
function createFile(filePath, content) {
|
|
378
|
+
var dir = path__default["default"].dirname(filePath);
|
|
379
|
+
fs.mkdirSync(dir, {
|
|
380
|
+
recursive: true
|
|
381
|
+
});
|
|
382
|
+
fs.writeFileSync(filePath, content);
|
|
383
|
+
}
|
|
384
|
+
|
|
359
385
|
/**
|
|
360
386
|
* Even the resolveId hook cannot interfere with vite pre-build,
|
|
361
387
|
* and adding query parameter virtual modules will also fail.
|
|
@@ -377,14 +403,28 @@ var generateLocalSharedImportMap = function generateLocalSharedImportMap() {
|
|
|
377
403
|
// *** __loadShare__
|
|
378
404
|
var writeLocalSharedImportMap = function writeLocalSharedImportMap() {
|
|
379
405
|
try {
|
|
406
|
+
var _exit;
|
|
380
407
|
var sharedCount = shareds.size;
|
|
381
408
|
return Promise.resolve(function () {
|
|
382
409
|
if (prevSharedCount !== sharedCount) {
|
|
410
|
+
var _temp2 = function _temp2(_result) {
|
|
411
|
+
if (_exit) return _result;
|
|
412
|
+
var _writeSync = localSharedImportMapModule.writeSync;
|
|
413
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI2) {
|
|
414
|
+
return _writeSync.call(localSharedImportMapModule, _generateLocalSharedI2, true);
|
|
415
|
+
});
|
|
416
|
+
};
|
|
383
417
|
prevSharedCount = sharedCount;
|
|
384
|
-
var
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
418
|
+
var _temp = function () {
|
|
419
|
+
if (process.platform === "win32") {
|
|
420
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI) {
|
|
421
|
+
var _writeLocalSharedImpo = writeLocalSharedImportMap_windows(_generateLocalSharedI);
|
|
422
|
+
_exit = 1;
|
|
423
|
+
return _writeLocalSharedImpo;
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
}();
|
|
427
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
|
388
428
|
}
|
|
389
429
|
}());
|
|
390
430
|
} catch (e) {
|
|
@@ -409,7 +449,10 @@ function addShare(pkg) {
|
|
|
409
449
|
// *** Expose locally provided shared modules here
|
|
410
450
|
var localSharedImportMapModule = new VirtualModule("localSharedImportMap");
|
|
411
451
|
localSharedImportMapModule.writeSync("");
|
|
412
|
-
function
|
|
452
|
+
function getLocalSharedImportMapPath() {
|
|
453
|
+
if (process.platform === "win32") {
|
|
454
|
+
return getLocalSharedImportMapPath_windows();
|
|
455
|
+
}
|
|
413
456
|
return localSharedImportMapModule.getPath();
|
|
414
457
|
}
|
|
415
458
|
var prevSharedCount = 0;
|
|
@@ -433,7 +476,7 @@ function generateRemoteEntry(options) {
|
|
|
433
476
|
return item[1];
|
|
434
477
|
}).join('\n') + "\n\n const exposesMap = {\n " + Object.keys(options.exposes).map(function (key) {
|
|
435
478
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
436
|
-
}).join(',') + "\n }\n import localSharedImportMap from \"" +
|
|
479
|
+
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapPath() + "\"\n async function init(shared = {}) {\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
437
480
|
var remote = options.remotes[key];
|
|
438
481
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
439
482
|
}).join(',') + "\n ],\n shared: localSharedImportMap,\n plugins: [" + pluginImportNames.map(function (item) {
|
|
@@ -606,15 +649,15 @@ function proxySharedModule(options) {
|
|
|
606
649
|
name: "generateLocalSharedImportMap",
|
|
607
650
|
enforce: "post",
|
|
608
651
|
resolveId: function resolveId(id) {
|
|
609
|
-
if (id.includes(
|
|
652
|
+
if (id.includes(getLocalSharedImportMapPath())) return id;
|
|
610
653
|
},
|
|
611
654
|
load: function load(id) {
|
|
612
|
-
if (id.includes(
|
|
655
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
613
656
|
return generateLocalSharedImportMap();
|
|
614
657
|
}
|
|
615
658
|
},
|
|
616
659
|
transform: function transform(code, id) {
|
|
617
|
-
if (id.includes(
|
|
660
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
618
661
|
return generateLocalSharedImportMap();
|
|
619
662
|
}
|
|
620
663
|
}
|
|
@@ -690,6 +733,9 @@ function proxySharedModule(options) {
|
|
|
690
733
|
name: "watchLocalSharedImportMap",
|
|
691
734
|
apply: "serve",
|
|
692
735
|
config: function config(_config2) {
|
|
736
|
+
_config2.optimizeDeps = defu.defu(_config2.optimizeDeps, {
|
|
737
|
+
exclude: [getLocalSharedImportMapPath()]
|
|
738
|
+
});
|
|
693
739
|
_config2.server = defu.defu(_config2.server, {
|
|
694
740
|
watch: {
|
|
695
741
|
ignored: []
|
|
@@ -697,7 +743,7 @@ function proxySharedModule(options) {
|
|
|
697
743
|
});
|
|
698
744
|
var watch = _config2.server.watch;
|
|
699
745
|
watch.ignored = [].concat(watch.ignored);
|
|
700
|
-
watch.ignored.push("
|
|
746
|
+
watch.ignored.push("!**" + getLocalSharedImportMapPath() + "**");
|
|
701
747
|
}
|
|
702
748
|
}, {
|
|
703
749
|
name: "prebuild-top-level-await",
|
|
@@ -811,7 +857,7 @@ function federation(mfUserOptions) {
|
|
|
811
857
|
entryName: 'hostInit',
|
|
812
858
|
entryPath: HOST_AUTO_INIT_PATH
|
|
813
859
|
}), [pluginProxyRemoteEntry(), pluginProxyRemotes(options)], pluginModuleParseEnd(function (id) {
|
|
814
|
-
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(
|
|
860
|
+
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(getLocalSharedImportMapPath());
|
|
815
861
|
}), proxySharedModule({
|
|
816
862
|
shared: shared
|
|
817
863
|
}), [{
|
package/lib/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync, writeFile } from 'fs';
|
|
3
3
|
import * as path from 'pathe';
|
|
4
|
-
import { parse, join, dirname, resolve } from 'pathe';
|
|
4
|
+
import path__default, { parse, join, dirname, resolve } from 'pathe';
|
|
5
5
|
import { createFilter } from '@rollup/pluginutils';
|
|
6
6
|
import { defu } from 'defu';
|
|
7
7
|
import { walk } from 'estree-walker';
|
|
@@ -316,6 +316,7 @@ writeFileSync(resolve(nodeModulesDir, virtualPackageName, "package.json"), JSON.
|
|
|
316
316
|
var VirtualModule = /*#__PURE__*/function () {
|
|
317
317
|
function VirtualModule(name) {
|
|
318
318
|
this.originName = void 0;
|
|
319
|
+
this.inited = false;
|
|
319
320
|
this.originName = name;
|
|
320
321
|
}
|
|
321
322
|
var _proto = VirtualModule.prototype;
|
|
@@ -325,7 +326,11 @@ var VirtualModule = /*#__PURE__*/function () {
|
|
|
325
326
|
_proto.getImportId = function getImportId() {
|
|
326
327
|
return virtualPackageName + "/" + packageNameEncode(this.originName);
|
|
327
328
|
};
|
|
328
|
-
_proto.writeSync = function writeSync(code) {
|
|
329
|
+
_proto.writeSync = function writeSync(code, force) {
|
|
330
|
+
if (!force && this.inited) return;
|
|
331
|
+
if (!this.inited) {
|
|
332
|
+
this.inited = true;
|
|
333
|
+
}
|
|
329
334
|
writeFileSync(this.getPath() + ".js", code);
|
|
330
335
|
};
|
|
331
336
|
_proto.write = function write(code) {
|
|
@@ -334,6 +339,26 @@ var VirtualModule = /*#__PURE__*/function () {
|
|
|
334
339
|
return VirtualModule;
|
|
335
340
|
}();
|
|
336
341
|
|
|
342
|
+
/**
|
|
343
|
+
* https://github.com/module-federation/vite/issues/68
|
|
344
|
+
*/
|
|
345
|
+
function getLocalSharedImportMapPath_windows() {
|
|
346
|
+
var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
|
|
347
|
+
name = _getNormalizeModuleFe.name;
|
|
348
|
+
return path__default.resolve(".__mf__win", packageNameEncode(name), "localSharedImportMap");
|
|
349
|
+
}
|
|
350
|
+
function writeLocalSharedImportMap_windows(content) {
|
|
351
|
+
var localSharedImportMapId = getLocalSharedImportMapPath_windows();
|
|
352
|
+
createFile(localSharedImportMapId + ".js", "\n// Windows temporarily needs this file, https://github.com/module-federation/vite/issues/68\n" + content);
|
|
353
|
+
}
|
|
354
|
+
function createFile(filePath, content) {
|
|
355
|
+
var dir = path__default.dirname(filePath);
|
|
356
|
+
mkdirSync(dir, {
|
|
357
|
+
recursive: true
|
|
358
|
+
});
|
|
359
|
+
writeFileSync(filePath, content);
|
|
360
|
+
}
|
|
361
|
+
|
|
337
362
|
/**
|
|
338
363
|
* Even the resolveId hook cannot interfere with vite pre-build,
|
|
339
364
|
* and adding query parameter virtual modules will also fail.
|
|
@@ -355,14 +380,28 @@ var generateLocalSharedImportMap = function generateLocalSharedImportMap() {
|
|
|
355
380
|
// *** __loadShare__
|
|
356
381
|
var writeLocalSharedImportMap = function writeLocalSharedImportMap() {
|
|
357
382
|
try {
|
|
383
|
+
var _exit;
|
|
358
384
|
var sharedCount = shareds.size;
|
|
359
385
|
return Promise.resolve(function () {
|
|
360
386
|
if (prevSharedCount !== sharedCount) {
|
|
387
|
+
var _temp2 = function _temp2(_result) {
|
|
388
|
+
if (_exit) return _result;
|
|
389
|
+
var _writeSync = localSharedImportMapModule.writeSync;
|
|
390
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI2) {
|
|
391
|
+
return _writeSync.call(localSharedImportMapModule, _generateLocalSharedI2, true);
|
|
392
|
+
});
|
|
393
|
+
};
|
|
361
394
|
prevSharedCount = sharedCount;
|
|
362
|
-
var
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
395
|
+
var _temp = function () {
|
|
396
|
+
if (process.platform === "win32") {
|
|
397
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI) {
|
|
398
|
+
var _writeLocalSharedImpo = writeLocalSharedImportMap_windows(_generateLocalSharedI);
|
|
399
|
+
_exit = 1;
|
|
400
|
+
return _writeLocalSharedImpo;
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}();
|
|
404
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
|
366
405
|
}
|
|
367
406
|
}());
|
|
368
407
|
} catch (e) {
|
|
@@ -387,7 +426,10 @@ function addShare(pkg) {
|
|
|
387
426
|
// *** Expose locally provided shared modules here
|
|
388
427
|
var localSharedImportMapModule = new VirtualModule("localSharedImportMap");
|
|
389
428
|
localSharedImportMapModule.writeSync("");
|
|
390
|
-
function
|
|
429
|
+
function getLocalSharedImportMapPath() {
|
|
430
|
+
if (process.platform === "win32") {
|
|
431
|
+
return getLocalSharedImportMapPath_windows();
|
|
432
|
+
}
|
|
391
433
|
return localSharedImportMapModule.getPath();
|
|
392
434
|
}
|
|
393
435
|
var prevSharedCount = 0;
|
|
@@ -411,7 +453,7 @@ function generateRemoteEntry(options) {
|
|
|
411
453
|
return item[1];
|
|
412
454
|
}).join('\n') + "\n\n const exposesMap = {\n " + Object.keys(options.exposes).map(function (key) {
|
|
413
455
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
414
|
-
}).join(',') + "\n }\n import localSharedImportMap from \"" +
|
|
456
|
+
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapPath() + "\"\n async function init(shared = {}) {\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
415
457
|
var remote = options.remotes[key];
|
|
416
458
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
417
459
|
}).join(',') + "\n ],\n shared: localSharedImportMap,\n plugins: [" + pluginImportNames.map(function (item) {
|
|
@@ -584,15 +626,15 @@ function proxySharedModule(options) {
|
|
|
584
626
|
name: "generateLocalSharedImportMap",
|
|
585
627
|
enforce: "post",
|
|
586
628
|
resolveId: function resolveId(id) {
|
|
587
|
-
if (id.includes(
|
|
629
|
+
if (id.includes(getLocalSharedImportMapPath())) return id;
|
|
588
630
|
},
|
|
589
631
|
load: function load(id) {
|
|
590
|
-
if (id.includes(
|
|
632
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
591
633
|
return generateLocalSharedImportMap();
|
|
592
634
|
}
|
|
593
635
|
},
|
|
594
636
|
transform: function transform(code, id) {
|
|
595
|
-
if (id.includes(
|
|
637
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
596
638
|
return generateLocalSharedImportMap();
|
|
597
639
|
}
|
|
598
640
|
}
|
|
@@ -668,6 +710,9 @@ function proxySharedModule(options) {
|
|
|
668
710
|
name: "watchLocalSharedImportMap",
|
|
669
711
|
apply: "serve",
|
|
670
712
|
config: function config(_config2) {
|
|
713
|
+
_config2.optimizeDeps = defu(_config2.optimizeDeps, {
|
|
714
|
+
exclude: [getLocalSharedImportMapPath()]
|
|
715
|
+
});
|
|
671
716
|
_config2.server = defu(_config2.server, {
|
|
672
717
|
watch: {
|
|
673
718
|
ignored: []
|
|
@@ -675,7 +720,7 @@ function proxySharedModule(options) {
|
|
|
675
720
|
});
|
|
676
721
|
var watch = _config2.server.watch;
|
|
677
722
|
watch.ignored = [].concat(watch.ignored);
|
|
678
|
-
watch.ignored.push("
|
|
723
|
+
watch.ignored.push("!**" + getLocalSharedImportMapPath() + "**");
|
|
679
724
|
}
|
|
680
725
|
}, {
|
|
681
726
|
name: "prebuild-top-level-await",
|
|
@@ -789,7 +834,7 @@ function federation(mfUserOptions) {
|
|
|
789
834
|
entryName: 'hostInit',
|
|
790
835
|
entryPath: HOST_AUTO_INIT_PATH
|
|
791
836
|
}), [pluginProxyRemoteEntry(), pluginProxyRemotes(options)], pluginModuleParseEnd(function (id) {
|
|
792
|
-
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(
|
|
837
|
+
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(getLocalSharedImportMapPath());
|
|
793
838
|
}), proxySharedModule({
|
|
794
839
|
shared: shared
|
|
795
840
|
}), [{
|
package/lib/index.modern.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync, writeFile } from 'fs';
|
|
3
3
|
import * as path from 'pathe';
|
|
4
|
-
import { parse, join, dirname, resolve } from 'pathe';
|
|
4
|
+
import path__default, { parse, join, dirname, resolve } from 'pathe';
|
|
5
5
|
import { createFilter } from '@rollup/pluginutils';
|
|
6
6
|
import { defu } from 'defu';
|
|
7
7
|
import { walk } from 'estree-walker';
|
|
@@ -318,6 +318,7 @@ writeFileSync(resolve(nodeModulesDir, virtualPackageName, "package.json"), JSON.
|
|
|
318
318
|
class VirtualModule {
|
|
319
319
|
constructor(name) {
|
|
320
320
|
this.originName = void 0;
|
|
321
|
+
this.inited = false;
|
|
321
322
|
this.originName = name;
|
|
322
323
|
}
|
|
323
324
|
getPath() {
|
|
@@ -326,7 +327,11 @@ class VirtualModule {
|
|
|
326
327
|
getImportId() {
|
|
327
328
|
return `${virtualPackageName}/${packageNameEncode(this.originName)}`;
|
|
328
329
|
}
|
|
329
|
-
writeSync(code) {
|
|
330
|
+
writeSync(code, force) {
|
|
331
|
+
if (!force && this.inited) return;
|
|
332
|
+
if (!this.inited) {
|
|
333
|
+
this.inited = true;
|
|
334
|
+
}
|
|
330
335
|
writeFileSync(this.getPath() + ".js", code);
|
|
331
336
|
}
|
|
332
337
|
write(code) {
|
|
@@ -334,6 +339,27 @@ class VirtualModule {
|
|
|
334
339
|
}
|
|
335
340
|
}
|
|
336
341
|
|
|
342
|
+
/**
|
|
343
|
+
* https://github.com/module-federation/vite/issues/68
|
|
344
|
+
*/
|
|
345
|
+
function getLocalSharedImportMapPath_windows() {
|
|
346
|
+
const {
|
|
347
|
+
name
|
|
348
|
+
} = getNormalizeModuleFederationOptions();
|
|
349
|
+
return path__default.resolve(".__mf__win", packageNameEncode(name), "localSharedImportMap");
|
|
350
|
+
}
|
|
351
|
+
function writeLocalSharedImportMap_windows(content) {
|
|
352
|
+
const localSharedImportMapId = getLocalSharedImportMapPath_windows();
|
|
353
|
+
createFile(localSharedImportMapId + ".js", "\n// Windows temporarily needs this file, https://github.com/module-federation/vite/issues/68\n" + content);
|
|
354
|
+
}
|
|
355
|
+
function createFile(filePath, content) {
|
|
356
|
+
const dir = path__default.dirname(filePath);
|
|
357
|
+
mkdirSync(dir, {
|
|
358
|
+
recursive: true
|
|
359
|
+
});
|
|
360
|
+
writeFileSync(filePath, content);
|
|
361
|
+
}
|
|
362
|
+
|
|
337
363
|
/**
|
|
338
364
|
* Even the resolveId hook cannot interfere with vite pre-build,
|
|
339
365
|
* and adding query parameter virtual modules will also fail.
|
|
@@ -358,7 +384,10 @@ function addShare(pkg) {
|
|
|
358
384
|
// *** Expose locally provided shared modules here
|
|
359
385
|
const localSharedImportMapModule = new VirtualModule("localSharedImportMap");
|
|
360
386
|
localSharedImportMapModule.writeSync("");
|
|
361
|
-
function
|
|
387
|
+
function getLocalSharedImportMapPath() {
|
|
388
|
+
if (process.platform === "win32") {
|
|
389
|
+
return getLocalSharedImportMapPath_windows();
|
|
390
|
+
}
|
|
362
391
|
return localSharedImportMapModule.getPath();
|
|
363
392
|
}
|
|
364
393
|
let prevSharedCount = 0;
|
|
@@ -366,7 +395,10 @@ async function writeLocalSharedImportMap() {
|
|
|
366
395
|
const sharedCount = shareds.size;
|
|
367
396
|
if (prevSharedCount !== sharedCount) {
|
|
368
397
|
prevSharedCount = sharedCount;
|
|
369
|
-
|
|
398
|
+
if (process.platform === "win32") {
|
|
399
|
+
return writeLocalSharedImportMap_windows(await generateLocalSharedImportMap());
|
|
400
|
+
}
|
|
401
|
+
return localSharedImportMapModule.writeSync(await generateLocalSharedImportMap(), true);
|
|
370
402
|
}
|
|
371
403
|
}
|
|
372
404
|
async function generateLocalSharedImportMap() {
|
|
@@ -465,7 +497,7 @@ function generateRemoteEntry(options) {
|
|
|
465
497
|
`;
|
|
466
498
|
}).join(',')}
|
|
467
499
|
}
|
|
468
|
-
import localSharedImportMap from "${
|
|
500
|
+
import localSharedImportMap from "${getLocalSharedImportMapPath()}"
|
|
469
501
|
async function init(shared = {}) {
|
|
470
502
|
const initRes = runtimeInit({
|
|
471
503
|
name: ${JSON.stringify(options.name)},
|
|
@@ -664,15 +696,15 @@ function proxySharedModule(options) {
|
|
|
664
696
|
name: "generateLocalSharedImportMap",
|
|
665
697
|
enforce: "post",
|
|
666
698
|
resolveId(id) {
|
|
667
|
-
if (id.includes(
|
|
699
|
+
if (id.includes(getLocalSharedImportMapPath())) return id;
|
|
668
700
|
},
|
|
669
701
|
load(id) {
|
|
670
|
-
if (id.includes(
|
|
702
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
671
703
|
return generateLocalSharedImportMap();
|
|
672
704
|
}
|
|
673
705
|
},
|
|
674
706
|
transform(code, id) {
|
|
675
|
-
if (id.includes(
|
|
707
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
676
708
|
return generateLocalSharedImportMap();
|
|
677
709
|
}
|
|
678
710
|
}
|
|
@@ -740,6 +772,9 @@ function proxySharedModule(options) {
|
|
|
740
772
|
name: "watchLocalSharedImportMap",
|
|
741
773
|
apply: "serve",
|
|
742
774
|
config(config) {
|
|
775
|
+
config.optimizeDeps = defu(config.optimizeDeps, {
|
|
776
|
+
exclude: [getLocalSharedImportMapPath()]
|
|
777
|
+
});
|
|
743
778
|
config.server = defu(config.server, {
|
|
744
779
|
watch: {
|
|
745
780
|
ignored: []
|
|
@@ -747,7 +782,7 @@ function proxySharedModule(options) {
|
|
|
747
782
|
});
|
|
748
783
|
const watch = config.server.watch;
|
|
749
784
|
watch.ignored = [].concat(watch.ignored);
|
|
750
|
-
watch.ignored.push(
|
|
785
|
+
watch.ignored.push(`!**${getLocalSharedImportMapPath()}**`);
|
|
751
786
|
}
|
|
752
787
|
}, {
|
|
753
788
|
name: "prebuild-top-level-await",
|
|
@@ -874,7 +909,7 @@ function federation(mfUserOptions) {
|
|
|
874
909
|
entryName: 'hostInit',
|
|
875
910
|
entryPath: HOST_AUTO_INIT_PATH
|
|
876
911
|
}), pluginProxyRemoteEntry(), pluginProxyRemotes(options), ...pluginModuleParseEnd(id => {
|
|
877
|
-
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(
|
|
912
|
+
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(getLocalSharedImportMapPath());
|
|
878
913
|
}), ...proxySharedModule({
|
|
879
914
|
shared
|
|
880
915
|
}), {
|
package/lib/index.umd.js
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
27
27
|
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
28
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
28
29
|
var MagicString__default = /*#__PURE__*/_interopDefaultLegacy(MagicString);
|
|
29
30
|
|
|
30
31
|
var addEntry = function addEntry(_ref) {
|
|
@@ -336,6 +337,7 @@
|
|
|
336
337
|
var VirtualModule = /*#__PURE__*/function () {
|
|
337
338
|
function VirtualModule(name) {
|
|
338
339
|
this.originName = void 0;
|
|
340
|
+
this.inited = false;
|
|
339
341
|
this.originName = name;
|
|
340
342
|
}
|
|
341
343
|
var _proto = VirtualModule.prototype;
|
|
@@ -345,7 +347,11 @@
|
|
|
345
347
|
_proto.getImportId = function getImportId() {
|
|
346
348
|
return virtualPackageName + "/" + packageNameEncode(this.originName);
|
|
347
349
|
};
|
|
348
|
-
_proto.writeSync = function writeSync(code) {
|
|
350
|
+
_proto.writeSync = function writeSync(code, force) {
|
|
351
|
+
if (!force && this.inited) return;
|
|
352
|
+
if (!this.inited) {
|
|
353
|
+
this.inited = true;
|
|
354
|
+
}
|
|
349
355
|
fs.writeFileSync(this.getPath() + ".js", code);
|
|
350
356
|
};
|
|
351
357
|
_proto.write = function write(code) {
|
|
@@ -354,6 +360,26 @@
|
|
|
354
360
|
return VirtualModule;
|
|
355
361
|
}();
|
|
356
362
|
|
|
363
|
+
/**
|
|
364
|
+
* https://github.com/module-federation/vite/issues/68
|
|
365
|
+
*/
|
|
366
|
+
function getLocalSharedImportMapPath_windows() {
|
|
367
|
+
var _getNormalizeModuleFe = getNormalizeModuleFederationOptions(),
|
|
368
|
+
name = _getNormalizeModuleFe.name;
|
|
369
|
+
return path__default["default"].resolve(".__mf__win", packageNameEncode(name), "localSharedImportMap");
|
|
370
|
+
}
|
|
371
|
+
function writeLocalSharedImportMap_windows(content) {
|
|
372
|
+
var localSharedImportMapId = getLocalSharedImportMapPath_windows();
|
|
373
|
+
createFile(localSharedImportMapId + ".js", "\n// Windows temporarily needs this file, https://github.com/module-federation/vite/issues/68\n" + content);
|
|
374
|
+
}
|
|
375
|
+
function createFile(filePath, content) {
|
|
376
|
+
var dir = path__default["default"].dirname(filePath);
|
|
377
|
+
fs.mkdirSync(dir, {
|
|
378
|
+
recursive: true
|
|
379
|
+
});
|
|
380
|
+
fs.writeFileSync(filePath, content);
|
|
381
|
+
}
|
|
382
|
+
|
|
357
383
|
/**
|
|
358
384
|
* Even the resolveId hook cannot interfere with vite pre-build,
|
|
359
385
|
* and adding query parameter virtual modules will also fail.
|
|
@@ -375,14 +401,28 @@
|
|
|
375
401
|
// *** __loadShare__
|
|
376
402
|
var writeLocalSharedImportMap = function writeLocalSharedImportMap() {
|
|
377
403
|
try {
|
|
404
|
+
var _exit;
|
|
378
405
|
var sharedCount = shareds.size;
|
|
379
406
|
return Promise.resolve(function () {
|
|
380
407
|
if (prevSharedCount !== sharedCount) {
|
|
408
|
+
var _temp2 = function _temp2(_result) {
|
|
409
|
+
if (_exit) return _result;
|
|
410
|
+
var _writeSync = localSharedImportMapModule.writeSync;
|
|
411
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI2) {
|
|
412
|
+
return _writeSync.call(localSharedImportMapModule, _generateLocalSharedI2, true);
|
|
413
|
+
});
|
|
414
|
+
};
|
|
381
415
|
prevSharedCount = sharedCount;
|
|
382
|
-
var
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
416
|
+
var _temp = function () {
|
|
417
|
+
if (process.platform === "win32") {
|
|
418
|
+
return Promise.resolve(generateLocalSharedImportMap()).then(function (_generateLocalSharedI) {
|
|
419
|
+
var _writeLocalSharedImpo = writeLocalSharedImportMap_windows(_generateLocalSharedI);
|
|
420
|
+
_exit = 1;
|
|
421
|
+
return _writeLocalSharedImpo;
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
}();
|
|
425
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
|
386
426
|
}
|
|
387
427
|
}());
|
|
388
428
|
} catch (e) {
|
|
@@ -407,7 +447,10 @@
|
|
|
407
447
|
// *** Expose locally provided shared modules here
|
|
408
448
|
var localSharedImportMapModule = new VirtualModule("localSharedImportMap");
|
|
409
449
|
localSharedImportMapModule.writeSync("");
|
|
410
|
-
function
|
|
450
|
+
function getLocalSharedImportMapPath() {
|
|
451
|
+
if (process.platform === "win32") {
|
|
452
|
+
return getLocalSharedImportMapPath_windows();
|
|
453
|
+
}
|
|
411
454
|
return localSharedImportMapModule.getPath();
|
|
412
455
|
}
|
|
413
456
|
var prevSharedCount = 0;
|
|
@@ -431,7 +474,7 @@
|
|
|
431
474
|
return item[1];
|
|
432
475
|
}).join('\n') + "\n\n const exposesMap = {\n " + Object.keys(options.exposes).map(function (key) {
|
|
433
476
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
434
|
-
}).join(',') + "\n }\n import localSharedImportMap from \"" +
|
|
477
|
+
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapPath() + "\"\n async function init(shared = {}) {\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
435
478
|
var remote = options.remotes[key];
|
|
436
479
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
437
480
|
}).join(',') + "\n ],\n shared: localSharedImportMap,\n plugins: [" + pluginImportNames.map(function (item) {
|
|
@@ -604,15 +647,15 @@
|
|
|
604
647
|
name: "generateLocalSharedImportMap",
|
|
605
648
|
enforce: "post",
|
|
606
649
|
resolveId: function resolveId(id) {
|
|
607
|
-
if (id.includes(
|
|
650
|
+
if (id.includes(getLocalSharedImportMapPath())) return id;
|
|
608
651
|
},
|
|
609
652
|
load: function load(id) {
|
|
610
|
-
if (id.includes(
|
|
653
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
611
654
|
return generateLocalSharedImportMap();
|
|
612
655
|
}
|
|
613
656
|
},
|
|
614
657
|
transform: function transform(code, id) {
|
|
615
|
-
if (id.includes(
|
|
658
|
+
if (id.includes(getLocalSharedImportMapPath())) {
|
|
616
659
|
return generateLocalSharedImportMap();
|
|
617
660
|
}
|
|
618
661
|
}
|
|
@@ -688,6 +731,9 @@
|
|
|
688
731
|
name: "watchLocalSharedImportMap",
|
|
689
732
|
apply: "serve",
|
|
690
733
|
config: function config(_config2) {
|
|
734
|
+
_config2.optimizeDeps = defu.defu(_config2.optimizeDeps, {
|
|
735
|
+
exclude: [getLocalSharedImportMapPath()]
|
|
736
|
+
});
|
|
691
737
|
_config2.server = defu.defu(_config2.server, {
|
|
692
738
|
watch: {
|
|
693
739
|
ignored: []
|
|
@@ -695,7 +741,7 @@
|
|
|
695
741
|
});
|
|
696
742
|
var watch = _config2.server.watch;
|
|
697
743
|
watch.ignored = [].concat(watch.ignored);
|
|
698
|
-
watch.ignored.push("
|
|
744
|
+
watch.ignored.push("!**" + getLocalSharedImportMapPath() + "**");
|
|
699
745
|
}
|
|
700
746
|
}, {
|
|
701
747
|
name: "prebuild-top-level-await",
|
|
@@ -809,7 +855,7 @@
|
|
|
809
855
|
entryName: 'hostInit',
|
|
810
856
|
entryPath: HOST_AUTO_INIT_PATH
|
|
811
857
|
}), [pluginProxyRemoteEntry(), pluginProxyRemotes(options)], pluginModuleParseEnd(function (id) {
|
|
812
|
-
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(
|
|
858
|
+
return id.includes(HOST_AUTO_INIT_QUERY_STR) || id.includes(WRAP_REMOTE_ENTRY_QUERY_STR) || id.includes(REMOTE_ENTRY_ID) || id.includes(getLocalSharedImportMapPath());
|
|
813
859
|
}), proxySharedModule({
|
|
814
860
|
shared: shared
|
|
815
861
|
}), [{
|
|
@@ -4,9 +4,10 @@ export declare const virtualPackageName = "__mf__virtual";
|
|
|
4
4
|
*/
|
|
5
5
|
export default class VirtualModule {
|
|
6
6
|
originName: string;
|
|
7
|
+
inited: boolean;
|
|
7
8
|
constructor(name: string);
|
|
8
9
|
getPath(): string;
|
|
9
10
|
getImportId(): string;
|
|
10
|
-
writeSync(code: string): void;
|
|
11
|
+
writeSync(code: string, force?: boolean): void;
|
|
11
12
|
write(code: string): void;
|
|
12
13
|
}
|
|
@@ -15,7 +15,7 @@ export declare function writePreBuildLibPath(pkg: string): void;
|
|
|
15
15
|
export declare function getPreBuildLibImportId(pkg: string): string;
|
|
16
16
|
export declare function addShare(pkg: string): void;
|
|
17
17
|
export declare const localSharedImportMapModule: VirtualModule;
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function getLocalSharedImportMapPath(): string;
|
|
19
19
|
export declare function writeLocalSharedImportMap(): Promise<void>;
|
|
20
20
|
export declare function generateLocalSharedImportMap(): Promise<string>;
|
|
21
21
|
export declare const LOAD_SHARE_TAG = "__loadShare__";
|