@umijs/mfsu 4.0.2 → 4.0.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 (33) hide show
  1. package/dist/babelPlugins/awaitImport/MFImport.d.ts +24 -0
  2. package/dist/babelPlugins/awaitImport/MFImport.js +68 -0
  3. package/dist/babelPlugins/awaitImport/checkMatch.d.ts +1 -0
  4. package/dist/babelPlugins/awaitImport/checkMatch.js +1 -0
  5. package/dist/babelPlugins/awaitImport/getAliasedPath.d.ts +5 -2
  6. package/dist/babelPlugins/awaitImport/getAliasedPath.js +16 -2
  7. package/dist/dep/dep.d.ts +1 -1
  8. package/dist/dep/dep.js +1 -1
  9. package/dist/depBuilder/depBuilder.d.ts +1 -1
  10. package/dist/depInfo.d.ts +18 -4
  11. package/dist/depInfo.js +7 -0
  12. package/dist/esbuildHandlers/awaitImport/index.d.ts +3 -0
  13. package/dist/esbuildHandlers/awaitImport/index.js +30 -0
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/{mfsu.d.ts → mfsu/mfsu.d.ts} +22 -25
  17. package/dist/{mfsu.js → mfsu/mfsu.js} +69 -75
  18. package/dist/mfsu/strategyCompileTime.d.ts +20 -0
  19. package/dist/mfsu/strategyCompileTime.js +100 -0
  20. package/dist/mfsu/strategyStaticAnalyze.d.ts +24 -0
  21. package/dist/mfsu/strategyStaticAnalyze.js +122 -0
  22. package/dist/moduleGraph.d.ts +3 -8
  23. package/dist/staticDepInfo/importParser.d.ts +4 -0
  24. package/dist/staticDepInfo/importParser.js +8 -0
  25. package/dist/staticDepInfo/simulations/babel-plugin-import.d.ts +15 -0
  26. package/dist/staticDepInfo/simulations/babel-plugin-import.js +99 -0
  27. package/dist/staticDepInfo/staticDepInfo.d.ts +43 -0
  28. package/dist/staticDepInfo/staticDepInfo.js +198 -0
  29. package/dist/webpackPlugins/buildDepPlugin.d.ts +4 -3
  30. package/dist/webpackPlugins/buildDepPlugin.js +10 -4
  31. package/package.json +11 -9
  32. package/vendors/importParser/_importParser.js +683 -0
  33. package/vendors/importParser/importParser.jison +105 -0
@@ -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 ;