@umijs/mfsu 4.0.0-beta.8 → 4.0.0-canary-20240513.3

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 (100) hide show
  1. package/compiled/is-absolute-url/LICENSE +9 -0
  2. package/compiled/is-absolute-url/index.d.ts +20 -0
  3. package/compiled/is-absolute-url/index.js +1 -0
  4. package/compiled/is-absolute-url/package.json +1 -0
  5. package/compiled/mrmime/package.json +1 -1
  6. package/compiled/webpack-virtual-modules/index.js +1 -1
  7. package/compiled/webpack-virtual-modules/package.json +1 -1
  8. package/dist/babelPlugins/awaitImport/MFImport.d.ts +24 -0
  9. package/dist/babelPlugins/awaitImport/MFImport.js +66 -0
  10. package/dist/babelPlugins/awaitImport/awaitImport.d.ts +1 -1
  11. package/dist/babelPlugins/awaitImport/awaitImport.js +111 -112
  12. package/dist/babelPlugins/awaitImport/checkMatch.d.ts +3 -1
  13. package/dist/babelPlugins/awaitImport/checkMatch.js +166 -109
  14. package/dist/babelPlugins/awaitImport/getAliasedPath.d.ts +2 -2
  15. package/dist/babelPlugins/awaitImport/getAliasedPath.js +44 -33
  16. package/dist/babelPlugins/awaitImport/getRealPath.js +42 -21
  17. package/dist/babelPlugins/awaitImport/isExternals.js +55 -26
  18. package/dist/babelPlugins/awaitImport/parseSpecifiers.js +62 -47
  19. package/dist/constants.d.ts +1 -0
  20. package/dist/constants.js +50 -10
  21. package/dist/dep/dep.d.ts +11 -4
  22. package/dist/dep/dep.js +118 -80
  23. package/dist/dep/getCJSExports.js +83 -47
  24. package/dist/dep/getExposeFromContent.d.ts +0 -1
  25. package/dist/dep/getExposeFromContent.js +99 -74
  26. package/dist/dep/getModuleExports.js +58 -43
  27. package/dist/depBuilder/depBuilder.d.ts +6 -2
  28. package/dist/depBuilder/depBuilder.js +222 -158
  29. package/dist/depBuilder/getESBuildEntry.d.ts +1 -1
  30. package/dist/depBuilder/getESBuildEntry.js +50 -14
  31. package/dist/depInfo.d.ts +20 -6
  32. package/dist/depInfo.js +90 -39
  33. package/dist/esbuildHandlers/autoCssModules.d.ts +2 -0
  34. package/dist/esbuildHandlers/autoCssModules.js +48 -0
  35. package/dist/esbuildHandlers/awaitImport/index.d.ts +15 -0
  36. package/dist/esbuildHandlers/awaitImport/index.js +86 -0
  37. package/dist/index.d.ts +3 -2
  38. package/dist/index.js +35 -13
  39. package/dist/loader/esbuild.d.ts +5 -0
  40. package/dist/loader/esbuild.js +79 -0
  41. package/dist/mfsu/mfsu.d.ts +69 -0
  42. package/dist/mfsu/mfsu.js +319 -0
  43. package/dist/mfsu/strategyCompileTime.d.ts +20 -0
  44. package/dist/mfsu/strategyCompileTime.js +142 -0
  45. package/dist/mfsu/strategyStaticAnalyze.d.ts +24 -0
  46. package/dist/mfsu/strategyStaticAnalyze.js +196 -0
  47. package/dist/moduleGraph.d.ts +6 -9
  48. package/dist/moduleGraph.js +228 -178
  49. package/dist/staticDepInfo/importParser.d.ts +4 -0
  50. package/dist/staticDepInfo/importParser.js +28 -0
  51. package/dist/staticDepInfo/simulations/babel-plugin-import.d.ts +15 -0
  52. package/dist/staticDepInfo/simulations/babel-plugin-import.js +118 -0
  53. package/dist/staticDepInfo/staticDepInfo.d.ts +61 -0
  54. package/dist/staticDepInfo/staticDepInfo.js +274 -0
  55. package/dist/types.d.ts +12 -0
  56. package/dist/types.js +33 -8
  57. package/dist/utils/makeArray.js +29 -5
  58. package/dist/utils/resolveUtils.d.ts +1 -0
  59. package/dist/utils/resolveUtils.js +104 -0
  60. package/dist/utils/trimFileContent.js +29 -5
  61. package/dist/utils/webpackUtils.d.ts +3 -0
  62. package/dist/utils/webpackUtils.js +80 -0
  63. package/dist/webpackPlugins/buildDepPlugin.d.ts +4 -3
  64. package/dist/webpackPlugins/buildDepPlugin.js +61 -17
  65. package/dist/webpackPlugins/depChunkIdPrefixPlugin.d.ts +1 -1
  66. package/dist/webpackPlugins/depChunkIdPrefixPlugin.js +47 -19
  67. package/dist/webpackPlugins/stripSourceMapUrlPlugin.js +55 -27
  68. package/dist/webpackPlugins/writeCachePlugin.js +45 -15
  69. package/package.json +32 -28
  70. package/vendors/importParser/_importParser.js +683 -0
  71. package/vendors/importParser/importParser.jison +105 -0
  72. package/dist/babelPlugins/autoExport.d.ts +0 -7
  73. package/dist/babelPlugins/autoExport.d.ts.map +0 -1
  74. package/dist/babelPlugins/autoExport.js +0 -61
  75. package/dist/babelPlugins/awaitImport/awaitImport.d.ts.map +0 -1
  76. package/dist/babelPlugins/awaitImport/checkMatch.d.ts.map +0 -1
  77. package/dist/babelPlugins/awaitImport/getAliasedPath.d.ts.map +0 -1
  78. package/dist/babelPlugins/awaitImport/getRealPath.d.ts.map +0 -1
  79. package/dist/babelPlugins/awaitImport/isExternals.d.ts.map +0 -1
  80. package/dist/babelPlugins/awaitImport/parseSpecifiers.d.ts.map +0 -1
  81. package/dist/constants.d.ts.map +0 -1
  82. package/dist/dep/dep.d.ts.map +0 -1
  83. package/dist/dep/getCJSExports.d.ts.map +0 -1
  84. package/dist/dep/getExposeFromContent.d.ts.map +0 -1
  85. package/dist/dep/getModuleExports.d.ts.map +0 -1
  86. package/dist/depBuilder/depBuilder.d.ts.map +0 -1
  87. package/dist/depBuilder/getESBuildEntry.d.ts.map +0 -1
  88. package/dist/depInfo.d.ts.map +0 -1
  89. package/dist/index.d.ts.map +0 -1
  90. package/dist/mfsu.d.ts +0 -55
  91. package/dist/mfsu.d.ts.map +0 -1
  92. package/dist/mfsu.js +0 -173
  93. package/dist/moduleGraph.d.ts.map +0 -1
  94. package/dist/types.d.ts.map +0 -1
  95. package/dist/utils/makeArray.d.ts.map +0 -1
  96. package/dist/utils/trimFileContent.d.ts.map +0 -1
  97. package/dist/webpackPlugins/buildDepPlugin.d.ts.map +0 -1
  98. package/dist/webpackPlugins/depChunkIdPrefixPlugin.d.ts.map +0 -1
  99. package/dist/webpackPlugins/stripSourceMapUrlPlugin.d.ts.map +0 -1
  100. package/dist/webpackPlugins/writeCachePlugin.d.ts.map +0 -1
@@ -0,0 +1,105 @@
1
+ /* reference https://262.ecma-international.org/12.0/#prod-ImportsList */
2
+ /* https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-exports*/
3
+ /* lexical grammar */
4
+ %lex
5
+ %%
6
+ \s+ /* skip whitespace */
7
+ "//".* /* IGNORE line comment */
8
+ "/*"((\*+[^/*])|([^*]))*\**"*/" /* IGNORE block comment */
9
+ "*" return 'STAR'
10
+ "as" return 'AS'
11
+ "from" return 'FROM'
12
+ "import" return 'IMPORT'
13
+ "export" return 'EXPORT'
14
+ "{" return 'LBRACE'
15
+ "}" return 'RBRACE'
16
+ "," return 'COMMA'
17
+ ";" return 'SEMICOLON'
18
+ \"[^\"]*\"|\'[^\']*\' yytext = yytext.substr(1,yyleng-2); return 'STRING';
19
+ [a-zA-Z_]\w* return 'ID';
20
+ /lex
21
+
22
+ %start Program
23
+
24
+ %% /* language grammar */
25
+
26
+ Program
27
+ : ImportStatements { return $1}
28
+ ;
29
+
30
+ ImportStatements
31
+ : ImportStatement { $$ = [ $1 ] }
32
+ | ImportStatements ImportStatement { $$ = [ ...$1, $2 ] }
33
+ ;
34
+
35
+ ImportStatement
36
+ : IMPORT ModuleSpecifier { $$ = { from: $2, imports: []} }
37
+ | IMPORT ImportClause FromClause { $$ = { from: $3, imports: $2 } }
38
+ | ExportFromStatement
39
+ ;
40
+
41
+ ImportClause
42
+ : ImportedDefaultBinding { $$ = [ $1 ] }
43
+ | NameSpaceImport { $$ = [ $1 ] }
44
+ | NamedImports
45
+ | ImportedDefaultBinding COMMA NameSpaceImport { $$ = [ $1, $3] }
46
+ | ImportedDefaultBinding COMMA NamedImports { $$ = [ $1, ...$3]}
47
+ ;
48
+
49
+ ImportedDefaultBinding
50
+ : ID { $$ = 'default' }
51
+ ;
52
+
53
+ NamedImports
54
+ : LBRACE ImportsList RBRACE { $$=$2}
55
+ | LBRACE ImportsList COMMA RBRACE { $$=$2 }
56
+ ;
57
+
58
+ NameSpaceImport
59
+ : STAR AS ID { $$ = '*' }
60
+ ;
61
+
62
+ ImportsList
63
+ : ImportSpecifier { $$ = [ $1 ]}
64
+ | ImportsList COMMA ImportSpecifier { $$= [ ...$1, $3 ] }
65
+ ;
66
+
67
+ ImportSpecifier
68
+ : ID
69
+ | ID AS ID { $$ = $1 }
70
+ ;
71
+
72
+ FromClause
73
+ : FROM ModuleSpecifier { $$=$2 }
74
+ ;
75
+
76
+ ModuleSpecifier
77
+ : STRING Semicolon { $$=$1 }
78
+ ;
79
+
80
+ ExportFromStatement
81
+ : EXPORT ExportFromClause FromClause { $$ = {from: $3, imports: $2 } }
82
+ ;
83
+
84
+ ExportFromClause
85
+ : STAR { $$ = [ '*' ] }
86
+ | STAR AS ID { $$ = [ '*' ] }
87
+ | NamedExports
88
+ ;
89
+
90
+ NamedExports
91
+ : LBRACE ExportsList RBRACE { $$ = $2 }
92
+ | LBRACE ExportsList COMMA RBRACE { $$ = $2 }
93
+ ;
94
+
95
+ ExportsList
96
+ : ExportSpecifier { $$ = [ $1 ] }
97
+ | ExportsList COMMA ExportSpecifier { $$ = [ ...$1, $3 ] }
98
+ ;
99
+
100
+ ExportSpecifier
101
+ : ID
102
+ | ID AS ID { $$ = $1 }
103
+ ;
104
+
105
+ Semicolon: | SEMICOLON ;
@@ -1,7 +0,0 @@
1
- import * as Babel from '@umijs/bundler-utils/compiled/babel/core';
2
- import * as t from '@umijs/bundler-utils/compiled/babel/types';
3
- export default function (): {
4
- visitor: {
5
- Program(path: Babel.NodePath<t.Program>): void;
6
- };
7
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoExport.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/autoExport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,CAAC,MAAM,2CAA2C,CAAC;AAE/D,MAAM,CAAC,OAAO;;sBAGM,MAAM,QAAQ,CAAC,EAAE,OAAO,CAAC;;EA2C5C"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- const t = __importStar(require("@umijs/bundler-utils/compiled/babel/types"));
23
- function default_1() {
24
- return {
25
- visitor: {
26
- Program(path) {
27
- let hasExport = false;
28
- path.node.body.forEach((node) => {
29
- if (
30
- // esm
31
- t.isExportNamedDeclaration(node) ||
32
- t.isExportDefaultDeclaration(node) ||
33
- t.isExportAllDeclaration(node) ||
34
- // cjs
35
- (t.isExpressionStatement(node) &&
36
- t.isAssignmentExpression(node.expression) &&
37
- t.isMemberExpression(node.expression.left) &&
38
- // exports.xxx =
39
- (t.isIdentifier(node.expression.left.object, {
40
- name: 'exports',
41
- }) ||
42
- // module.exports =
43
- (t.isIdentifier(node.expression.left.object, {
44
- name: 'module',
45
- }) &&
46
- t.isIdentifier(node.expression.left.property, {
47
- name: 'exports',
48
- }))))) {
49
- hasExport = true;
50
- }
51
- });
52
- if (!hasExport) {
53
- path.node.body.push(t.exportNamedDeclaration(t.variableDeclaration('const', [
54
- t.variableDeclarator(t.identifier('__mfsu'), t.numericLiteral(1)),
55
- ])));
56
- }
57
- },
58
- },
59
- };
60
- }
61
- exports.default = default_1;
@@ -1 +0,0 @@
1
- {"version":3,"file":"awaitImport.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/awaitImport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,CAAC,MAAM,2CAA2C,CAAC;AAG/D,MAAM,WAAW,KAAK;IACpB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,CAAC,OAAO;;gBAME,GAAG;;;uBAaA,MAAM,QAAQ,CAAC,EAAE,OAAO,CAAC;sBAAoB,KAAK;;;;uBAwDrD,MAAM,QAAQ,CAAC,EAAE,cAAc,CAAC;sBACpB,KAAK;;;;EAuBhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkMatch.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/checkMatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAIlE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQ3C,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAoG7C;AAGD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,UAQtE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAliasedPath.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/getAliasedPath.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,sBAwBA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRealPath.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/getRealPath.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,iBAe9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isExternals.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/isExternals.ts"],"names":[],"mappings":"AAAA,aAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AACnD,aAAK,UAAU,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC;AAE1C,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,WAQA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,WAYA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseSpecifiers.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/awaitImport/parseSpecifiers.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAyBhD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,gBAAgB,QAAkC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dep.d.ts","sourceRoot":"","sources":["../../src/dep/dep.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAoB/B,qBAAa,GAAG;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;gBACN,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;KACZ;IAUK,kBAAkB;IA8BlB,WAAW;IAUjB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACxD,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;KACZ;CASF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCJSExports.d.ts","sourceRoot":"","sources":["../../src/dep/getCJSExports.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,YAoE7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getExposeFromContent.d.ts","sourceRoot":"","sources":["../../src/dep/getExposeFromContent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,mBAoEA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getModuleExports.d.ts","sourceRoot":"","sources":["../../src/dep/getModuleExports.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;;;GA4BA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"depBuilder.d.ts","sourceRoot":"","sources":["../../src/depBuilder/depBuilder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAK/B,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,UAAU;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,EAAE,QAAQ,EAAE,CAAM;IAC7B,UAAU,UAAS;gBACd,IAAI,EAAE,KAAK;IAIjB,gBAAgB,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAwBjE,gBAAgB,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAwBjE,KAAK,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAkBjC,eAAe,CAAC,EAAE,EAAE,QAAQ;IAQtB,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;IAaxC,gBAAgB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE;CA0DvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getESBuildEntry.d.ts","sourceRoot":"","sources":["../../src/depBuilder/getESBuildEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,UAuSpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"depInfo.d.ts","sourceRoot":"","sources":["../src/depInfo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,CAAQ;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAqB;IAC7C,eAAe,EAAE,MAAM,CAAM;gBACxB,IAAI,EAAE,KAAK;IAKvB,WAAW;IAiBX,QAAQ;IAKR,SAAS;IAUT,UAAU;CAeX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
package/dist/mfsu.d.ts DELETED
@@ -1,55 +0,0 @@
1
- import type { NextFunction, Request, Response } from 'express';
2
- import webpack, { Configuration } from 'webpack';
3
- import autoExport from './babelPlugins/autoExport';
4
- import awaitImport from './babelPlugins/awaitImport/awaitImport';
5
- import { DepBuilder } from './depBuilder/depBuilder';
6
- import { DepInfo } from './depInfo';
7
- import { Mode } from './types';
8
- interface IOpts {
9
- cwd?: string;
10
- excludeNodeNatives?: boolean;
11
- exportAllMembers?: Record<string, string[]>;
12
- getCacheDependency?: Function;
13
- mfName?: string;
14
- mode?: Mode;
15
- tmpBase?: string;
16
- unMatchLibs?: string[];
17
- implementor: typeof webpack;
18
- buildDepWithESBuild?: boolean;
19
- }
20
- export declare class MFSU {
21
- opts: IOpts;
22
- alias: Record<string, string>;
23
- externals: (Record<string, string> | Function)[];
24
- depInfo: DepInfo;
25
- depBuilder: DepBuilder;
26
- depConfig: Configuration | null;
27
- constructor(opts: IOpts);
28
- setWebpackConfig(opts: {
29
- config: Configuration;
30
- depConfig: Configuration;
31
- }): void;
32
- buildDeps(): Promise<void>;
33
- getMiddlewares(): ((req: Request, res: Response, next: NextFunction) => void)[];
34
- getBabelPlugins(): (typeof autoExport | (typeof awaitImport | {
35
- onTransformDeps: () => void;
36
- onCollect: ({ file, data, }: {
37
- file: string;
38
- data: {
39
- unMatched: Set<{
40
- sourceValue: string;
41
- }>;
42
- matched: Set<{
43
- sourceValue: string;
44
- }>;
45
- };
46
- }) => void;
47
- exportAllMembers: Record<string, string[]> | undefined;
48
- unMatchLibs: string[] | undefined;
49
- remoteName: string | undefined;
50
- alias: Record<string, string>;
51
- externals: (Function | Record<string, string>)[];
52
- })[])[];
53
- }
54
- export {};
55
- //# sourceMappingURL=mfsu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mfsu.d.ts","sourceRoot":"","sources":["../src/mfsu.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AAYjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAK/B,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,IAAI;IACR,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACnC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAM;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAClC,IAAI,EAAE,KAAK;IAYvB,gBAAgB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,aAAa,CAAA;KAAE;IAyDpE,SAAS;IAaf,cAAc,WAEJ,OAAO,OAAO,QAAQ,QAAQ,YAAY;IAgCpD,eAAe;;;kBAWC,MAAM;kBACN;gBACJ,SAAS,EAAE,IAAI;oBAAE,WAAW,EAAE,MAAM,CAAA;iBAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,IAAI;oBAAE,WAAW,EAAE,MAAM,CAAA;iBAAE,CAAC,CAAC;aACvC;;;;;;;;CA4BZ"}
package/dist/mfsu.js DELETED
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MFSU = void 0;
16
- const utils_1 = require("@umijs/utils");
17
- const fs_1 = require("fs");
18
- const path_1 = require("path");
19
- const mrmime_1 = require("../compiled/mrmime");
20
- // @ts-ignore
21
- const webpack_virtual_modules_1 = __importDefault(require("../compiled/webpack-virtual-modules"));
22
- const autoExport_1 = __importDefault(require("./babelPlugins/autoExport"));
23
- const awaitImport_1 = __importDefault(require("./babelPlugins/awaitImport/awaitImport"));
24
- const getRealPath_1 = require("./babelPlugins/awaitImport/getRealPath");
25
- const constants_1 = require("./constants");
26
- const dep_1 = require("./dep/dep");
27
- const depBuilder_1 = require("./depBuilder/depBuilder");
28
- const depInfo_1 = require("./depInfo");
29
- const types_1 = require("./types");
30
- const makeArray_1 = require("./utils/makeArray");
31
- const buildDepPlugin_1 = require("./webpackPlugins/buildDepPlugin");
32
- const writeCachePlugin_1 = require("./webpackPlugins/writeCachePlugin");
33
- class MFSU {
34
- constructor(opts) {
35
- this.alias = {};
36
- this.externals = [];
37
- this.depConfig = null;
38
- this.opts = opts;
39
- this.opts.mfName = this.opts.mfName || constants_1.DEFAULT_MF_NAME;
40
- this.opts.tmpBase =
41
- this.opts.tmpBase || (0, path_1.join)(process.cwd(), constants_1.DEFAULT_TMP_DIR_NAME);
42
- this.opts.mode = this.opts.mode || types_1.Mode.development;
43
- this.opts.getCacheDependency = this.opts.getCacheDependency || (() => ({}));
44
- this.opts.cwd = this.opts.cwd || process.cwd();
45
- this.depInfo = new depInfo_1.DepInfo({ mfsu: this });
46
- this.depBuilder = new depBuilder_1.DepBuilder({ mfsu: this });
47
- }
48
- setWebpackConfig(opts) {
49
- var _a;
50
- const { mfName } = this.opts;
51
- /**
52
- * config
53
- */
54
- // set alias and externals with reference for babel plugin
55
- Object.assign(this.alias, ((_a = opts.config.resolve) === null || _a === void 0 ? void 0 : _a.alias) || {});
56
- this.externals.push(...(0, makeArray_1.makeArray)(opts.config.externals || []));
57
- // entry
58
- const entry = {};
59
- const virtualModules = {};
60
- Object.keys(opts.config.entry).forEach((key) => {
61
- const virtualPath = `./mfsu-virtual-entry/${key}.js`;
62
- virtualModules[virtualPath] =
63
- // @ts-ignore
64
- opts.config
65
- .entry[key].map((entry) => `await import('${entry}')`)
66
- .join('\n') + `\nexport default 1;`;
67
- entry[key] = virtualPath;
68
- });
69
- opts.config.entry = entry;
70
- // plugins
71
- opts.config.plugins = opts.config.plugins || [];
72
- opts.config.plugins.push(...[
73
- new webpack_virtual_modules_1.default(virtualModules),
74
- new this.opts.implementor.container.ModuleFederationPlugin({
75
- name: '__',
76
- remotes: {
77
- // TODO: support runtime public path
78
- [mfName]: `${mfName}@${opts.config.output.publicPath}${constants_1.REMOTE_FILE_FULL}`,
79
- },
80
- }),
81
- new buildDepPlugin_1.BuildDepPlugin({
82
- onCompileDone: () => {
83
- this.buildDeps().catch((e) => {
84
- utils_1.logger.error(e);
85
- });
86
- },
87
- }),
88
- new writeCachePlugin_1.WriteCachePlugin({
89
- onWriteCache: () => {
90
- this.depInfo.writeCache();
91
- },
92
- }),
93
- ]);
94
- /**
95
- * depConfig
96
- */
97
- this.depConfig = opts.depConfig;
98
- }
99
- buildDeps() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- if (!this.depInfo.shouldBuild())
102
- return;
103
- this.depInfo.snapshot();
104
- const deps = dep_1.Dep.buildDeps({
105
- deps: this.depInfo.moduleGraph.depSnapshotModules,
106
- cwd: this.opts.cwd,
107
- mfsu: this,
108
- });
109
- yield this.depBuilder.build({
110
- deps,
111
- });
112
- });
113
- }
114
- getMiddlewares() {
115
- return [
116
- (req, res, next) => {
117
- const publicPath = '/';
118
- const isMF = req.path.startsWith(`${publicPath}${constants_1.MF_VA_PREFIX}`) ||
119
- req.path.startsWith(`${publicPath}${constants_1.MF_DEP_PREFIX}`) ||
120
- req.path.startsWith(`${publicPath}${constants_1.MF_STATIC_PREFIX}`);
121
- if (isMF) {
122
- this.depBuilder.onBuildComplete(() => {
123
- if (!req.path.includes(constants_1.REMOTE_FILE)) {
124
- res.setHeader('cache-control', 'max-age=31536000,immutable');
125
- }
126
- res.setHeader('content-type', (0, mrmime_1.lookup)((0, path_1.extname)(req.path)) || 'text/plain');
127
- const relativePath = req.path.replace(new RegExp(`^${publicPath}`), '/');
128
- const content = (0, fs_1.readFileSync)((0, path_1.join)(this.opts.tmpBase, relativePath), 'utf-8');
129
- res.send(content);
130
- });
131
- }
132
- else {
133
- next();
134
- }
135
- },
136
- ];
137
- }
138
- getBabelPlugins() {
139
- return [
140
- autoExport_1.default,
141
- [
142
- awaitImport_1.default,
143
- {
144
- onTransformDeps: () => { },
145
- onCollect: ({ file, data, }) => {
146
- this.depInfo.moduleGraph.onFileChange({
147
- file,
148
- deps: [
149
- ...Array.from(data.matched).map((item) => ({
150
- file: item.sourceValue,
151
- isDependency: true,
152
- })),
153
- ...Array.from(data.unMatched).map((item) => ({
154
- file: (0, getRealPath_1.getRealPath)({
155
- file,
156
- dep: item.sourceValue,
157
- }),
158
- isDependency: false,
159
- })),
160
- ],
161
- });
162
- },
163
- exportAllMembers: this.opts.exportAllMembers,
164
- unMatchLibs: this.opts.unMatchLibs,
165
- remoteName: this.opts.mfName,
166
- alias: this.alias,
167
- externals: this.externals,
168
- },
169
- ],
170
- ];
171
- }
172
- }
173
- exports.MFSU = MFSU;
@@ -1 +0,0 @@
1
- {"version":3,"file":"moduleGraph.d.ts","sourceRoot":"","sources":["../src/moduleGraph.ts"],"names":[],"mappings":"AAEA,cAAM,UAAU;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,kBAAyB;IAClC,eAAe,kBAAyB;IACxC,YAAY,EAAE,OAAO,CAAS;IAC9B,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAClB,IAAI,EAAE,MAAM;CAGzB;AAED,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,aAAa,0BAAiC;IAC9C,YAAY,0BAAiC;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAC3E,WAAW,kBAAyB;;IAGpC,OAAO,CAAC,IAAI,EAAE;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,WAAW,EAAE,GAAG,CAAC;QACjB,UAAU,EAAE,GAAG,CAAC;QAChB,kBAAkB,EAAE,GAAG,CAAC;KACzB;IAiCD,MAAM;;;2BAE+C,MAAM,EAAE;;;qBACf,MAAM,GAAG,IAAI;;;;;;;IAwB3D,YAAY;IAIZ,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;cAEd,MAAM;iBAAW,MAAM;;IAOlD,UAAU,CAAC,GAAG,EAAE,UAAU;;;;IAO1B,aAAa;IAKb,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,EAAE,CAAA;KAAE;IAuBjD,YAAY,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,IAAI,EAAE,CAAA;KAAE;IA8BpD,OAAO,CAAC,IAAI,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,OAAO,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB;IAoBD,UAAU,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE;CAiB3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,IAAI;IACd,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeArray.d.ts","sourceRoot":"","sources":["../../src/utils/makeArray.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,SAElC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trimFileContent.d.ts","sourceRoot":"","sources":["../../src/utils/trimFileContent.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAE9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildDepPlugin.d.ts","sourceRoot":"","sources":["../../src/webpackPlugins/buildDepPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,SAAS,CAAC;AAE/C,UAAU,KAAK;IACb,aAAa,EAAE,QAAQ,CAAC;CACzB;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAQ;gBACR,IAAI,EAAE,KAAK;IAGvB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAOhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"depChunkIdPrefixPlugin.d.ts","sourceRoot":"","sources":["../../src/webpackPlugins/depChunkIdPrefixPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,qBAAa,sBAAsB;;IAEjC,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAUzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripSourceMapUrlPlugin.d.ts","sourceRoot":"","sources":["../../src/webpackPlugins/stripSourceMapUrlPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,KAAK;IACb,OAAO,EAAE,GAAG,CAAC;CACd;AAED,qBAAa,uBAAuB;IAClC,IAAI,EAAE,KAAK,CAAC;gBACA,IAAI,EAAE,KAAK;IAIvB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAyBhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeCachePlugin.d.ts","sourceRoot":"","sources":["../../src/webpackPlugins/writeCachePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,KAAK;IACb,YAAY,EAAE,QAAQ,CAAC;CACxB;AAID,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAQ;gBACR,IAAI,EAAE,KAAK;IAGvB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAQhC"}