@modern-js/utils 2.12.0 → 2.12.1-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. package/dist/{alias.js → cjs/alias.js} +4 -15
  2. package/dist/{analyzeProject.js → cjs/analyzeProject.js} +5 -25
  3. package/dist/{babel.js → cjs/babel.js} +9 -16
  4. package/dist/{compatRequire.js → cjs/compatRequire.js} +4 -17
  5. package/dist/{compiled.js → cjs/compiled.js} +3 -3
  6. package/dist/cjs/emptyDir.js +32 -0
  7. package/dist/{getEntryOptions.js → cjs/getEntryOptions.js} +1 -15
  8. package/dist/{getPackageManager.js → cjs/getPackageManager.js} +19 -41
  9. package/dist/{getPort.js → cjs/getPort.js} +4 -24
  10. package/dist/{getServerConfig.js → cjs/getServerConfig.js} +2 -22
  11. package/dist/{import.js → cjs/import.js} +1 -1
  12. package/dist/{logger.js → cjs/logger.js} +5 -16
  13. package/dist/{monorepo.js → cjs/monorepo.js} +4 -15
  14. package/dist/cjs/nodeEnv.js +55 -0
  15. package/dist/{path.js → cjs/path.js} +1 -1
  16. package/dist/{pathSerializer.js → cjs/pathSerializer.js} +1 -1
  17. package/dist/{react.js → cjs/react.js} +4 -15
  18. package/dist/{runtimeExports.js → cjs/runtimeExports.js} +1 -1
  19. package/dist/{universal → cjs/universal}/nestedRoutes.js +2 -19
  20. package/dist/cjs/version.js +59 -0
  21. package/dist/{watch.js → cjs/watch.js} +9 -29
  22. package/dist/esm/FileSizeReporter.js +180 -0
  23. package/dist/esm/alias.js +83 -0
  24. package/dist/esm/analyzeProject.js +168 -0
  25. package/dist/esm/applyOptionsChain.js +26 -0
  26. package/dist/esm/babel.js +169 -0
  27. package/dist/esm/chainId.js +92 -0
  28. package/dist/esm/clearConsole.js +6 -0
  29. package/dist/esm/commands.js +17 -0
  30. package/dist/esm/compatRequire.js +68 -0
  31. package/dist/esm/compiled.js +34 -0
  32. package/dist/esm/constants.js +317 -0
  33. package/dist/esm/debug.js +5 -0
  34. package/dist/esm/emptyDir.js +158 -0
  35. package/dist/esm/ensureAbsolutePath.js +5 -0
  36. package/dist/esm/ensureArray.js +9 -0
  37. package/dist/esm/findExists.js +27 -0
  38. package/dist/esm/generateMetaTags.js +40 -0
  39. package/dist/esm/getBrowserslist.js +12 -0
  40. package/dist/esm/getCoreJsVersion.js +57 -0
  41. package/dist/esm/getEntryOptions.js +45 -0
  42. package/dist/esm/getPackageManager.js +187 -0
  43. package/dist/esm/getPort.js +215 -0
  44. package/dist/esm/getServerConfig.js +145 -0
  45. package/dist/esm/getTargetDir.js +6 -0
  46. package/dist/esm/import.js +8 -0
  47. package/dist/esm/index.js +44 -0
  48. package/dist/esm/is/index.js +85 -0
  49. package/dist/esm/is/nodeEnv.js +16 -0
  50. package/dist/esm/is/platform.js +7 -0
  51. package/dist/esm/is/type.js +25 -0
  52. package/dist/esm/logger.js +207 -0
  53. package/dist/esm/monorepo.js +109 -0
  54. package/dist/esm/nodeEnv.js +258 -0
  55. package/dist/esm/path.js +85 -0
  56. package/dist/esm/pathSerializer.js +85 -0
  57. package/dist/esm/plugin.js +45 -0
  58. package/dist/esm/prettyInstructions.js +96 -0
  59. package/dist/esm/printBuildError.js +24 -0
  60. package/dist/esm/react.js +43 -0
  61. package/dist/esm/readTsConfig.js +10 -0
  62. package/dist/esm/removeSlash.js +10 -0
  63. package/dist/esm/resolve.js +42 -0
  64. package/dist/esm/routes.js +19 -0
  65. package/dist/esm/runtimeExports.js +65 -0
  66. package/dist/esm/ssr.js +3 -0
  67. package/dist/esm/storage.js +36 -0
  68. package/dist/esm/testUtils.js +13 -0
  69. package/dist/esm/types.js +1 -0
  70. package/dist/esm/universal/constants.js +3 -0
  71. package/dist/esm/universal/formatWebpack.js +108 -0
  72. package/dist/esm/universal/nestedRoutes.js +174 -0
  73. package/dist/esm/universal/remixRouter.js +1 -0
  74. package/dist/esm/universal/serialize.js +7 -0
  75. package/dist/esm/version.js +193 -0
  76. package/dist/esm/wait.js +7 -0
  77. package/dist/esm/watch.js +230 -0
  78. package/dist/esm-node/FileSizeReporter.js +133 -0
  79. package/dist/esm-node/alias.js +61 -0
  80. package/dist/esm-node/analyzeProject.js +17 -0
  81. package/dist/esm-node/applyOptionsChain.js +35 -0
  82. package/dist/esm-node/babel.js +105 -0
  83. package/dist/esm-node/chainId.js +173 -0
  84. package/dist/esm-node/clearConsole.js +8 -0
  85. package/dist/esm-node/commands.js +22 -0
  86. package/dist/esm-node/compatRequire.js +42 -0
  87. package/dist/esm-node/compiled.js +77 -0
  88. package/dist/esm-node/constants.js +264 -0
  89. package/dist/esm-node/debug.js +5 -0
  90. package/dist/esm-node/emptyDir.js +9 -0
  91. package/dist/esm-node/ensureAbsolutePath.js +5 -0
  92. package/dist/esm-node/ensureArray.js +9 -0
  93. package/dist/esm-node/findExists.js +12 -0
  94. package/dist/esm-node/generateMetaTags.js +38 -0
  95. package/dist/esm-node/getBrowserslist.js +7 -0
  96. package/dist/esm-node/getCoreJsVersion.js +13 -0
  97. package/dist/esm-node/getEntryOptions.js +17 -0
  98. package/dist/esm-node/getPackageManager.js +32 -0
  99. package/dist/esm-node/getPort.js +59 -0
  100. package/dist/esm-node/getServerConfig.js +14 -0
  101. package/dist/esm-node/getTargetDir.js +8 -0
  102. package/dist/esm-node/import.js +9 -0
  103. package/dist/esm-node/index.js +44 -0
  104. package/dist/esm-node/is/index.js +71 -0
  105. package/dist/esm-node/is/nodeEnv.js +12 -0
  106. package/dist/esm-node/is/platform.js +6 -0
  107. package/dist/esm-node/is/type.js +34 -0
  108. package/dist/esm-node/logger.js +100 -0
  109. package/dist/esm-node/monorepo.js +87 -0
  110. package/dist/esm-node/nodeEnv.js +30 -0
  111. package/dist/esm-node/path.js +50 -0
  112. package/dist/esm-node/pathSerializer.js +46 -0
  113. package/dist/esm-node/plugin.js +23 -0
  114. package/dist/esm-node/prettyInstructions.js +77 -0
  115. package/dist/esm-node/printBuildError.js +34 -0
  116. package/dist/esm-node/react.js +20 -0
  117. package/dist/esm-node/readTsConfig.js +13 -0
  118. package/dist/esm-node/removeSlash.js +8 -0
  119. package/dist/esm-node/resolve.js +38 -0
  120. package/dist/esm-node/routes.js +24 -0
  121. package/dist/esm-node/runtimeExports.js +40 -0
  122. package/dist/esm-node/ssr.js +6 -0
  123. package/dist/esm-node/storage.js +42 -0
  124. package/dist/esm-node/testUtils.js +15 -0
  125. package/dist/esm-node/types.js +0 -0
  126. package/dist/esm-node/universal/constants.js +6 -0
  127. package/dist/esm-node/universal/formatWebpack.js +77 -0
  128. package/dist/esm-node/universal/nestedRoutes.js +93 -0
  129. package/dist/esm-node/universal/remixRouter.js +1 -0
  130. package/dist/esm-node/universal/serialize.js +7 -0
  131. package/dist/esm-node/version.js +25 -0
  132. package/dist/esm-node/wait.js +6 -0
  133. package/dist/esm-node/watch.js +36 -0
  134. package/dist/types/compiled.d.ts +43 -0
  135. package/dist/{debug.d.ts → types/debug.d.ts} +1 -1
  136. package/dist/{logger.d.ts → types/logger.d.ts} +1 -1
  137. package/package.json +53 -21
  138. package/dist/compiled.d.ts +0 -43
  139. package/dist/emptyDir.js +0 -52
  140. package/dist/nodeEnv.js +0 -81
  141. package/dist/version.js +0 -92
  142. /package/dist/{FileSizeReporter.js → cjs/FileSizeReporter.js} +0 -0
  143. /package/dist/{applyOptionsChain.js → cjs/applyOptionsChain.js} +0 -0
  144. /package/dist/{chainId.js → cjs/chainId.js} +0 -0
  145. /package/dist/{clearConsole.js → cjs/clearConsole.js} +0 -0
  146. /package/dist/{commands.js → cjs/commands.js} +0 -0
  147. /package/dist/{constants.js → cjs/constants.js} +0 -0
  148. /package/dist/{debug.js → cjs/debug.js} +0 -0
  149. /package/dist/{ensureAbsolutePath.js → cjs/ensureAbsolutePath.js} +0 -0
  150. /package/dist/{ensureArray.js → cjs/ensureArray.js} +0 -0
  151. /package/dist/{findExists.js → cjs/findExists.js} +0 -0
  152. /package/dist/{generateMetaTags.js → cjs/generateMetaTags.js} +0 -0
  153. /package/dist/{getBrowserslist.js → cjs/getBrowserslist.js} +0 -0
  154. /package/dist/{getCoreJsVersion.js → cjs/getCoreJsVersion.js} +0 -0
  155. /package/dist/{getTargetDir.js → cjs/getTargetDir.js} +0 -0
  156. /package/dist/{index.js → cjs/index.js} +0 -0
  157. /package/dist/{is → cjs/is}/index.js +0 -0
  158. /package/dist/{is → cjs/is}/nodeEnv.js +0 -0
  159. /package/dist/{is → cjs/is}/platform.js +0 -0
  160. /package/dist/{is → cjs/is}/type.js +0 -0
  161. /package/dist/{plugin.js → cjs/plugin.js} +0 -0
  162. /package/dist/{prettyInstructions.js → cjs/prettyInstructions.js} +0 -0
  163. /package/dist/{printBuildError.js → cjs/printBuildError.js} +0 -0
  164. /package/dist/{readTsConfig.js → cjs/readTsConfig.js} +0 -0
  165. /package/dist/{removeSlash.js → cjs/removeSlash.js} +0 -0
  166. /package/dist/{resolve.js → cjs/resolve.js} +0 -0
  167. /package/dist/{routes.js → cjs/routes.js} +0 -0
  168. /package/dist/{ssr.js → cjs/ssr.js} +0 -0
  169. /package/dist/{storage.js → cjs/storage.js} +0 -0
  170. /package/dist/{testUtils.js → cjs/testUtils.js} +0 -0
  171. /package/dist/{types.js → cjs/types.js} +0 -0
  172. /package/dist/{universal → cjs/universal}/constants.js +0 -0
  173. /package/dist/{universal → cjs/universal}/formatWebpack.js +0 -0
  174. /package/dist/{universal → cjs/universal}/remixRouter.js +0 -0
  175. /package/dist/{universal → cjs/universal}/serialize.js +0 -0
  176. /package/dist/{wait.js → cjs/wait.js} +0 -0
  177. /package/dist/{FileSizeReporter.d.ts → types/FileSizeReporter.d.ts} +0 -0
  178. /package/dist/{alias.d.ts → types/alias.d.ts} +0 -0
  179. /package/dist/{analyzeProject.d.ts → types/analyzeProject.d.ts} +0 -0
  180. /package/dist/{applyOptionsChain.d.ts → types/applyOptionsChain.d.ts} +0 -0
  181. /package/dist/{babel.d.ts → types/babel.d.ts} +0 -0
  182. /package/dist/{chainId.d.ts → types/chainId.d.ts} +0 -0
  183. /package/dist/{clearConsole.d.ts → types/clearConsole.d.ts} +0 -0
  184. /package/dist/{commands.d.ts → types/commands.d.ts} +0 -0
  185. /package/dist/{compatRequire.d.ts → types/compatRequire.d.ts} +0 -0
  186. /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
  187. /package/dist/{emptyDir.d.ts → types/emptyDir.d.ts} +0 -0
  188. /package/dist/{ensureAbsolutePath.d.ts → types/ensureAbsolutePath.d.ts} +0 -0
  189. /package/dist/{ensureArray.d.ts → types/ensureArray.d.ts} +0 -0
  190. /package/dist/{findExists.d.ts → types/findExists.d.ts} +0 -0
  191. /package/dist/{generateMetaTags.d.ts → types/generateMetaTags.d.ts} +0 -0
  192. /package/dist/{getBrowserslist.d.ts → types/getBrowserslist.d.ts} +0 -0
  193. /package/dist/{getCoreJsVersion.d.ts → types/getCoreJsVersion.d.ts} +0 -0
  194. /package/dist/{getEntryOptions.d.ts → types/getEntryOptions.d.ts} +0 -0
  195. /package/dist/{getPackageManager.d.ts → types/getPackageManager.d.ts} +0 -0
  196. /package/dist/{getPort.d.ts → types/getPort.d.ts} +0 -0
  197. /package/dist/{getServerConfig.d.ts → types/getServerConfig.d.ts} +0 -0
  198. /package/dist/{getTargetDir.d.ts → types/getTargetDir.d.ts} +0 -0
  199. /package/dist/{import.d.ts → types/import.d.ts} +0 -0
  200. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  201. /package/dist/{is → types/is}/index.d.ts +0 -0
  202. /package/dist/{is → types/is}/nodeEnv.d.ts +0 -0
  203. /package/dist/{is → types/is}/platform.d.ts +0 -0
  204. /package/dist/{is → types/is}/type.d.ts +0 -0
  205. /package/dist/{monorepo.d.ts → types/monorepo.d.ts} +0 -0
  206. /package/dist/{nodeEnv.d.ts → types/nodeEnv.d.ts} +0 -0
  207. /package/dist/{path.d.ts → types/path.d.ts} +0 -0
  208. /package/dist/{pathSerializer.d.ts → types/pathSerializer.d.ts} +0 -0
  209. /package/dist/{plugin.d.ts → types/plugin.d.ts} +0 -0
  210. /package/dist/{prettyInstructions.d.ts → types/prettyInstructions.d.ts} +0 -0
  211. /package/dist/{printBuildError.d.ts → types/printBuildError.d.ts} +0 -0
  212. /package/dist/{react.d.ts → types/react.d.ts} +0 -0
  213. /package/dist/{readTsConfig.d.ts → types/readTsConfig.d.ts} +0 -0
  214. /package/dist/{removeSlash.d.ts → types/removeSlash.d.ts} +0 -0
  215. /package/dist/{resolve.d.ts → types/resolve.d.ts} +0 -0
  216. /package/dist/{routes.d.ts → types/routes.d.ts} +0 -0
  217. /package/dist/{runtimeExports.d.ts → types/runtimeExports.d.ts} +0 -0
  218. /package/dist/{ssr.d.ts → types/ssr.d.ts} +0 -0
  219. /package/dist/{storage.d.ts → types/storage.d.ts} +0 -0
  220. /package/dist/{testUtils.d.ts → types/testUtils.d.ts} +0 -0
  221. /package/dist/{types.d.ts → types/types.d.ts} +0 -0
  222. /package/dist/{universal → types/universal}/constants.d.ts +0 -0
  223. /package/dist/{universal → types/universal}/formatWebpack.d.ts +0 -0
  224. /package/dist/{universal → types/universal}/nestedRoutes.d.ts +0 -0
  225. /package/dist/{universal → types/universal}/remixRouter.d.ts +0 -0
  226. /package/dist/{universal → types/universal}/serialize.d.ts +0 -0
  227. /package/dist/{version.d.ts → types/version.d.ts} +0 -0
  228. /package/dist/{wait.d.ts → types/wait.d.ts} +0 -0
  229. /package/dist/{watch.d.ts → types/watch.d.ts} +0 -0
@@ -0,0 +1,173 @@
1
+ const CHAIN_ID = {
2
+ /** Predefined rules */
3
+ RULE: {
4
+ /** Rule for .mjs */
5
+ MJS: "mjs",
6
+ /** Rule for predefined loaders */
7
+ LOADERS: "loaders",
8
+ /** Rule for fonts */
9
+ FONT: "font",
10
+ /** Rule for images */
11
+ IMAGE: "image",
12
+ /** Rule for media */
13
+ MEDIA: "media",
14
+ /** Rule for js */
15
+ JS: "js",
16
+ /** Rule for data uri encoded javascript */
17
+ JS_DATA_URI: "js-data-uri",
18
+ /** Rule for ts */
19
+ TS: "ts",
20
+ /** Rule for css */
21
+ CSS: "css",
22
+ /** Rule for less */
23
+ LESS: "less",
24
+ /** Rule for sass */
25
+ SASS: "sass",
26
+ /** Rule for stylus */
27
+ STYLUS: "stylus",
28
+ /** Rule for svg */
29
+ SVG: "svg",
30
+ /** Rule for pug */
31
+ PUG: "pug",
32
+ /** Rule for toml */
33
+ TOML: "toml",
34
+ /** Rule for yaml */
35
+ YAML: "yaml",
36
+ /** Rule for bff */
37
+ JS_BFF_API: "js-bff-api"
38
+ },
39
+ /** Predefined rule groups */
40
+ ONE_OF: {
41
+ SVG: "svg",
42
+ SVG_URL: "svg-url",
43
+ SVG_ASSET: "svg-asset",
44
+ SVG_INLINE: "svg-inline"
45
+ },
46
+ /** Predefined loaders */
47
+ USE: {
48
+ /** ts-loader */
49
+ TS: "ts",
50
+ /** css-loader */
51
+ CSS: "css",
52
+ /** sass-loader */
53
+ SASS: "sass",
54
+ /** less-loader */
55
+ LESS: "less",
56
+ /** stylus-loader */
57
+ STYLUS: "stylus",
58
+ /** url-loader */
59
+ URL: "url",
60
+ /** pug-loader */
61
+ PUG: "pug",
62
+ /** file-loader */
63
+ FILE: "file",
64
+ /** @svgr/webpack */
65
+ SVGR: "svgr",
66
+ /** yaml-loader */
67
+ YAML: "yaml",
68
+ /** toml-loader */
69
+ TOML: "toml",
70
+ /** html-loader */
71
+ HTML: "html",
72
+ /** babel-loader */
73
+ BABEL: "babel",
74
+ /** esbuild-loader */
75
+ ESBUILD: "esbuild",
76
+ /** swc-loader */
77
+ SWC: "swc",
78
+ /** style-loader */
79
+ STYLE: "style-loader",
80
+ /** postcss-loader */
81
+ POSTCSS: "postcss",
82
+ /** markdown-loader */
83
+ MARKDOWN: "markdown",
84
+ /** ignore-css-loader */
85
+ IGNORE_CSS: "ignore-css",
86
+ /** css-modules-typescript-loader */
87
+ CSS_MODULES_TS: "css-modules-typescript",
88
+ /** mini-css-extract-plugin.loader */
89
+ MINI_CSS_EXTRACT: "mini-css-extract",
90
+ /** builder-plugin-image-compress.loader */
91
+ IMAGE_COMPRESS: "image-compress",
92
+ /** builder-plugin-image-compress svgo-loader */
93
+ SVGO: "svgo",
94
+ /** builder-plugin-imagex */
95
+ IMAGEX: "imagex"
96
+ },
97
+ /** Predefined plugins */
98
+ PLUGIN: {
99
+ /** HotModuleReplacementPlugin */
100
+ HMR: "hmr",
101
+ /** CopyWebpackPlugin */
102
+ COPY: "copy",
103
+ /** HtmlWebpackPlugin */
104
+ HTML: "html",
105
+ /** DefinePlugin */
106
+ DEFINE: "define",
107
+ /** IgnorePlugin */
108
+ IGNORE: "ignore",
109
+ /** BannerPlugin */
110
+ BANNER: "banner",
111
+ /** Webpackbar */
112
+ PROGRESS: "progress",
113
+ /** Inspector */
114
+ INSPECTOR: "inspector",
115
+ /** AppIconPlugin */
116
+ APP_ICON: "app-icon",
117
+ /** FaviconUrlPlugin */
118
+ FAVICON_URL: "favicon-url",
119
+ /** LoadableWebpackPlugin */
120
+ LOADABLE: "loadable",
121
+ /** WebpackManifestPlugin */
122
+ MANIFEST: "webpack-manifest",
123
+ /** ForkTsCheckerWebpackPlugin */
124
+ TS_CHECKER: "ts-checker",
125
+ /** InlineChunkHtmlPlugin */
126
+ INLINE_HTML: "inline-html",
127
+ /** WebpackBundleAnalyzer */
128
+ BUNDLE_ANALYZER: "bundle-analyze",
129
+ /** BottomTemplatePlugin */
130
+ BOTTOM_TEMPLATE: "bottom-template",
131
+ /** HtmlCrossOriginPlugin */
132
+ HTML_CROSS_ORIGIN: "html-cross-origin",
133
+ /** MiniCssExtractPlugin */
134
+ MINI_CSS_EXTRACT: "mini-css-extract",
135
+ /** ReactFastRefreshPlugin */
136
+ REACT_FAST_REFRESH: "react-fast-refresh",
137
+ /** ProvidePlugin for node polyfill */
138
+ NODE_POLYFILL_PROVIDE: "node-polyfill-provide",
139
+ /** WebpackSRIPlugin */
140
+ SUBRESOURCE_INTEGRITY: "subresource-integrity",
141
+ /** WebpackAssetsRetryPlugin */
142
+ ASSETS_RETRY: "ASSETS_RETRY",
143
+ /** AutoSetRootFontSizePlugin */
144
+ AUTO_SET_ROOT_SIZE: "auto-set-root-size",
145
+ /** HtmlAsyncChunkPlugin */
146
+ HTML_ASYNC_CHUNK: "html-async-chunk",
147
+ /** SWC_POLYFILL_CHECKER */
148
+ SWC_POLYFILL_CHECKER: "swc-polyfill-checker-plugin",
149
+ /** HtmlTagsPlugin */
150
+ HTML_TAGS: "html-tags"
151
+ },
152
+ /** Predefined minimizers */
153
+ MINIMIZER: {
154
+ /** TerserWebpackPlugin */
155
+ JS: "js",
156
+ /** CssMinimizerWebpackPlugin */
157
+ CSS: "css",
158
+ /** ESBuildPlugin */
159
+ ESBUILD: "js-css",
160
+ /** SWCPlugin */
161
+ SWC: "swc"
162
+ },
163
+ /** Predefined resolve plugins */
164
+ RESOLVE_PLUGIN: {
165
+ /** ModuleScopePlugin */
166
+ MODULE_SCOPE: "module-scope",
167
+ /** TsConfigPathsPlugin */
168
+ TS_CONFIG_PATHS: "ts-config-paths"
169
+ }
170
+ };
171
+ export {
172
+ CHAIN_ID
173
+ };
@@ -0,0 +1,8 @@
1
+ const clearConsole = () => {
2
+ if (process.stdout.isTTY && !process.env.DEBUG) {
3
+ process.stdout.write("\x1B[H\x1B[2J");
4
+ }
5
+ };
6
+ export {
7
+ clearConsole
8
+ };
@@ -0,0 +1,22 @@
1
+ const getFullArgv = () => {
2
+ var _a;
3
+ return ((_a = process.env.MODERN_ARGV) == null ? void 0 : _a.split(" ")) || process.argv;
4
+ };
5
+ const getArgv = () => {
6
+ return getFullArgv().slice(2);
7
+ };
8
+ const getCommand = () => {
9
+ const args = getArgv();
10
+ const command = args[0];
11
+ return command;
12
+ };
13
+ const isDevCommand = () => {
14
+ const command = getCommand();
15
+ return command === "dev" || command === "start";
16
+ };
17
+ export {
18
+ getArgv,
19
+ getCommand,
20
+ getFullArgv,
21
+ isDevCommand
22
+ };
@@ -0,0 +1,42 @@
1
+ import { findExists } from "./findExists";
2
+ const compatRequire = (filePath, interop = true) => {
3
+ const mod = require(filePath);
4
+ const rtnESMDefault = interop && (mod == null ? void 0 : mod.__esModule);
5
+ return rtnESMDefault ? mod.default : mod;
6
+ };
7
+ const dynamicImport = new Function(
8
+ "modulePath",
9
+ "return import(modulePath)"
10
+ );
11
+ const requireExistModule = (filename, opt) => {
12
+ const final = {
13
+ extensions: [".ts", ".js"],
14
+ interop: true,
15
+ ...opt
16
+ };
17
+ const exist = findExists(final.extensions.map((ext) => `${filename}${ext}`));
18
+ if (!exist) {
19
+ return null;
20
+ }
21
+ return compatRequire(exist, final.interop);
22
+ };
23
+ const cleanRequireCache = (filelist) => {
24
+ filelist.forEach((filepath) => {
25
+ delete require.cache[filepath];
26
+ });
27
+ };
28
+ function deleteRequireCache(path) {
29
+ if (require.cache[path]) {
30
+ delete require.cache[path];
31
+ }
32
+ if (module.children) {
33
+ module.children = module.children.filter((item) => item.filename !== path);
34
+ }
35
+ }
36
+ export {
37
+ cleanRequireCache,
38
+ compatRequire,
39
+ deleteRequireCache,
40
+ dynamicImport,
41
+ requireExistModule
42
+ };
@@ -0,0 +1,77 @@
1
+ import { Import } from "./import";
2
+ import { default as default2 } from "../compiled/fs-extra";
3
+ import { default as default3 } from "../compiled/ora";
4
+ import { default as default4 } from "../compiled/glob";
5
+ import { default as default5 } from "../compiled/js-yaml";
6
+ import { default as default6 } from "../compiled/chalk";
7
+ import { default as default7 } from "../compiled/debug";
8
+ import { default as default8 } from "../compiled/slash";
9
+ import { default as default9 } from "../compiled/execa";
10
+ import { default as default10 } from "../compiled/json5";
11
+ import { default as default11 } from "../compiled/upath";
12
+ import { default as default12 } from "../compiled/pkg-up";
13
+ import { nanoid } from "../compiled/nanoid";
14
+ import { default as default13 } from "../compiled/semver";
15
+ import { default as default14 } from "../compiled/dotenv";
16
+ import { default as default15 } from "../compiled/lodash";
17
+ import { default as default16 } from "../compiled/globby";
18
+ import { default as default17 } from "../compiled/address";
19
+ import { default as default18 } from "../compiled/signale";
20
+ import { default as default19 } from "../compiled/url-join";
21
+ import { default as default20 } from "../compiled/minimist";
22
+ import { default as default21 } from "../compiled/fast-glob";
23
+ import { default as default22 } from "../compiled/filesize";
24
+ import { default as default23 } from "../compiled/gzip-size";
25
+ import { default as default24 } from "../compiled/strip-ansi";
26
+ import { default as default25 } from "../compiled/dotenv-expand";
27
+ import { default as default26 } from "../compiled/browserslist";
28
+ import { default as default27 } from "../compiled/recursive-readdir";
29
+ import { program, Command } from "../compiled/commander";
30
+ import { Signale } from "../compiled/signale";
31
+ const mime = Import.lazy(
32
+ "@compiled/mime-types",
33
+ require
34
+ );
35
+ const chokidar = Import.lazy(
36
+ "@compiled/chokidar",
37
+ require
38
+ );
39
+ const inquirer = Import.lazy(
40
+ "@compiled/inquirer",
41
+ require
42
+ );
43
+ export {
44
+ Command,
45
+ Signale,
46
+ default17 as address,
47
+ default26 as browserslist,
48
+ default6 as chalk,
49
+ chokidar,
50
+ default7 as debug,
51
+ default14 as dotenv,
52
+ default25 as dotenvExpand,
53
+ default9 as execa,
54
+ default21 as fastGlob,
55
+ default22 as filesize,
56
+ default2 as fs,
57
+ default4 as glob,
58
+ default16 as globby,
59
+ default23 as gzipSize,
60
+ inquirer,
61
+ default10 as json5,
62
+ default15 as lodash,
63
+ mime,
64
+ default20 as minimist,
65
+ nanoid,
66
+ default3 as ora,
67
+ default12 as pkgUp,
68
+ program,
69
+ default27 as recursiveReaddir,
70
+ default13 as semver,
71
+ default18 as signale,
72
+ default8 as slash,
73
+ default24 as stripAnsi,
74
+ default11 as upath,
75
+ default19 as urlJoin,
76
+ default5 as yaml
77
+ };
@@ -0,0 +1,264 @@
1
+ const ROUTE_SPEC_FILE = "route.json";
2
+ const MAIN_ENTRY_NAME = "main";
3
+ const LAUNCH_EDITOR_ENDPOINT = "/__open-stack-frame-in-editor";
4
+ const SERVER_BUNDLE_DIRECTORY = "bundles";
5
+ const SERVER_WORKER_BUNDLE_DIRECTORY = "worker";
6
+ const ENTRY_NAME_PATTERN = "^[a-zA-Z0-9_-]+$";
7
+ const SERVER_RENDER_FUNCTION_NAME = "serverRender";
8
+ const LOADABLE_STATS_FILE = "loadable-stats.json";
9
+ const API_DIR = "api";
10
+ const SERVER_DIR = "server";
11
+ const SHARED_DIR = "shared";
12
+ const CONFIG_CACHE_DIR = "./node_modules/.cache/node-bundle-require";
13
+ const CONFIG_FILE_EXTENSIONS = [".js", ".ts", ".mjs"];
14
+ const OUTPUT_CONFIG_FILE = "modern.config.json";
15
+ const DEFAULT_SERVER_CONFIG = "modern.server-runtime.config";
16
+ const ROUTE_MANIFEST_FILE = "routes-manifest.json";
17
+ const LOADER_ROUTES_DIR = `loader-routes`;
18
+ const DEFAULT_DEV_HOST = "0.0.0.0";
19
+ const INTERNAL_APP_TOOLS_PLUGINS = {
20
+ "@modern-js/app-tools": "@modern-js/app-tools/cli",
21
+ "@modern-js/plugin-proxy": "@modern-js/plugin-proxy/cli",
22
+ "@modern-js/plugin-ssg": "@modern-js/plugin-ssg/cli",
23
+ "@modern-js/plugin-bff": "@modern-js/plugin-bff/cli",
24
+ "@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
25
+ "@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
26
+ "@modern-js/plugin-express": "@modern-js/plugin-express/cli",
27
+ "@modern-js/plugin-egg": "@modern-js/plugin-egg/cli",
28
+ "@modern-js/plugin-koa": "@modern-js/plugin-koa/cli",
29
+ "@modern-js/plugin-nest": "@modern-js/plugin-nest/cli",
30
+ "@modern-js/plugin-server": "@modern-js/plugin-server/cli",
31
+ "@modern-js/plugin-garfish": "@modern-js/plugin-garfish/cli",
32
+ "@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
33
+ "@modern-js/plugin-polyfill": "@modern-js/plugin-polyfill/cli",
34
+ // legacy router (inner react-router-dom v5)
35
+ "@modern-js/plugin-router-v5": "@modern-js/plugin-router-v5/cli"
36
+ };
37
+ const INTERNAL_APP_TOOLS_RUNTIME_PLUGINS = {
38
+ "@modern-js/runtime": "@modern-js/runtime/cli"
39
+ };
40
+ const INTERNAL_MODULE_TOOLS_PLUGINS = {
41
+ "@modern-js/module-tools": "@modern-js/module-tools",
42
+ "@modern-js/doc-tools": "@modern-js/doc-tools",
43
+ "@modern-js/runtime": "@modern-js/runtime/cli",
44
+ "@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
45
+ "@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
46
+ "@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
47
+ // TODO: Maybe can remove it
48
+ "@modern-js/plugin-nocode": "@modern-js/plugin-nocode/cli",
49
+ // legacy router (inner react-router-dom v5)
50
+ "@modern-js/plugin-router-legacy": "@modern-js/plugin-router-legacy/cli"
51
+ };
52
+ const INTERNAL_MONOREPO_TOOLS_PLUGINS = {
53
+ "@modern-js/monorepo-tools": "@modern-js/monorepo-tools/cli",
54
+ "@modern-js/plugin-testing": "@modern-js/plugin-testing/cli"
55
+ };
56
+ const INTERNAL_DOC_TOOLS_PLUGINS = {
57
+ "@modern-js/doc-tools": "@modern-js/doc-tools",
58
+ "@modern-js/runtime": "@modern-js/runtime/cli",
59
+ "@modern-js/plugin-testing": "@modern-js/plugin-testing/cli"
60
+ };
61
+ const INTERNAL_CLI_PLUGINS = {
62
+ "@modern-js/app-tools": "@modern-js/app-tools/cli",
63
+ "@modern-js/monorepo-tools": "@modern-js/monorepo-tools/cli",
64
+ "@modern-js/module-tools": "@modern-js/module-tools",
65
+ "@modern-js/doc-tools": "@modern-js/doc-tools",
66
+ "@modern-js/runtime": "@modern-js/runtime/cli",
67
+ "@modern-js/plugin-proxy": "@modern-js/plugin-proxy/cli",
68
+ "@modern-js/plugin-ssg": "@modern-js/plugin-ssg/cli",
69
+ "@modern-js/plugin-bff": "@modern-js/plugin-bff/cli",
70
+ "@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
71
+ "@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
72
+ "@modern-js/plugin-express": "@modern-js/plugin-express/cli",
73
+ "@modern-js/plugin-egg": "@modern-js/plugin-egg/cli",
74
+ "@modern-js/plugin-koa": "@modern-js/plugin-koa/cli",
75
+ "@modern-js/plugin-nest": "@modern-js/plugin-nest/cli",
76
+ "@modern-js/plugin-server": "@modern-js/plugin-server/cli",
77
+ "@modern-js/plugin-swc": "@modern-js/plugin-swc",
78
+ "@modern-js/plugin-garfish": "@modern-js/plugin-garfish/cli",
79
+ "@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
80
+ "@modern-js/plugin-polyfill": "@modern-js/plugin-polyfill/cli",
81
+ // TODO: Maybe can remove it
82
+ "@modern-js/plugin-nocode": "@modern-js/plugin-nocode/cli",
83
+ // legacy router (inner react-router-dom v5)
84
+ "@modern-js/plugin-router-v5": "@modern-js/plugin-router-v5/cli"
85
+ };
86
+ const SERVER_PLUGIN_BFF = "@modern-js/plugin-bff";
87
+ const SERVER_PLUGIN_EXPRESS = "@modern-js/plugin-express";
88
+ const SERVER_PLUGIN_EGG = "@modern-js/plugin-egg";
89
+ const SERVER_PLUGIN_KOA = "@modern-js/plugin-koa";
90
+ const SERVER_PLUGIN_NEST = "@modern-js/plugin-nest";
91
+ const SERVER_PLUGIN_SERVER = "@modern-js/plugin-server";
92
+ const SERVER_PLUGIN_POLYFILL = "@modern-js/plugin-polyfill";
93
+ const INTERNAL_SERVER_PLUGINS = {
94
+ [SERVER_PLUGIN_BFF]: "@modern-js/plugin-bff/server",
95
+ [SERVER_PLUGIN_EXPRESS]: "@modern-js/plugin-express/server",
96
+ [SERVER_PLUGIN_EGG]: "@modern-js/plugin-egg/server",
97
+ [SERVER_PLUGIN_KOA]: "@modern-js/plugin-koa/server",
98
+ [SERVER_PLUGIN_NEST]: "@modern-js/plugin-nest/server",
99
+ [SERVER_PLUGIN_SERVER]: "@modern-js/plugin-server/server",
100
+ [SERVER_PLUGIN_POLYFILL]: "@modern-js/plugin-polyfill/server"
101
+ };
102
+ const PLUGIN_SCHEMAS = {
103
+ "@modern-js/runtime": [
104
+ {
105
+ target: "runtime",
106
+ schema: {
107
+ type: "object",
108
+ additionalProperties: false
109
+ }
110
+ },
111
+ {
112
+ target: "runtimeByEntries",
113
+ schema: {
114
+ type: "object",
115
+ patternProperties: { [ENTRY_NAME_PATTERN]: { type: "object" } },
116
+ additionalProperties: false
117
+ }
118
+ }
119
+ ],
120
+ "@modern-js/plugin-swc": [
121
+ {
122
+ target: "tools.swc",
123
+ schema: { typeof: ["object"] }
124
+ }
125
+ ],
126
+ "@modern-js/plugin-bff": [
127
+ {
128
+ target: "bff",
129
+ schema: {
130
+ type: "object",
131
+ properties: {
132
+ prefix: {
133
+ type: ["string", "array"],
134
+ items: { type: "string" }
135
+ },
136
+ fetcher: { type: "string" },
137
+ proxy: { type: "object" },
138
+ requestCreator: { type: "string" }
139
+ }
140
+ }
141
+ }
142
+ ],
143
+ "@modern-js/plugin-tailwindcss": [
144
+ {
145
+ target: "tools.tailwindcss",
146
+ schema: { typeof: ["object", "function"] }
147
+ }
148
+ ],
149
+ "@modern-js/plugin-proxy": [
150
+ {
151
+ target: "dev.proxy",
152
+ schema: { typeof: ["string", "object"] }
153
+ }
154
+ ],
155
+ "@modern-js/plugin-ssg": [
156
+ {
157
+ target: "output.ssg",
158
+ schema: {
159
+ oneOf: [
160
+ { type: "boolean" },
161
+ { type: "object" },
162
+ { instanceof: "Function" }
163
+ ]
164
+ }
165
+ }
166
+ ],
167
+ "@modern-js/plugin-state": [
168
+ {
169
+ target: "runtime.state",
170
+ schema: { type: ["boolean", "object"] }
171
+ }
172
+ ],
173
+ "@modern-js/plugin-design-token": [
174
+ // Legacy Features
175
+ {
176
+ target: "source.designSystem",
177
+ schema: { typeof: ["object"] }
178
+ },
179
+ {
180
+ target: "source.designSystem.supportStyledComponents",
181
+ schema: { type: ["boolean"] }
182
+ },
183
+ {
184
+ target: "designSystem",
185
+ schema: { typeof: ["object"] }
186
+ }
187
+ ],
188
+ "@modern-js/plugin-router": [
189
+ {
190
+ target: "runtime.router",
191
+ schema: { type: ["boolean", "object"] }
192
+ }
193
+ ],
194
+ "@modern-js/plugin-testing": [
195
+ {
196
+ target: "testing",
197
+ schema: { typeof: ["object"] }
198
+ },
199
+ {
200
+ target: "tools.jest",
201
+ schema: { typeof: ["object", "function"] }
202
+ }
203
+ ],
204
+ "@modern-js/plugin-garfish": [
205
+ {
206
+ target: "runtime.masterApp",
207
+ schema: { type: ["boolean", "object"] }
208
+ },
209
+ {
210
+ target: "dev.withMasterApp",
211
+ schema: { type: ["object"] }
212
+ },
213
+ {
214
+ target: "deploy.microFrontend",
215
+ schema: { type: ["boolean", "object"] }
216
+ }
217
+ ],
218
+ "@modern-js/plugin-nocode": []
219
+ };
220
+ const DEFAULT_BABEL_PRESET_TYPESCRIPT_OPTIONS = {
221
+ allowNamespaces: true,
222
+ allExtensions: true,
223
+ allowDeclareFields: true,
224
+ // aligns Babel's behavior with TypeScript's default behavior.
225
+ // https://babeljs.io/docs/en/babel-preset-typescript#optimizeconstenums
226
+ optimizeConstEnums: true,
227
+ isTSX: true
228
+ };
229
+ export {
230
+ API_DIR,
231
+ CONFIG_CACHE_DIR,
232
+ CONFIG_FILE_EXTENSIONS,
233
+ DEFAULT_BABEL_PRESET_TYPESCRIPT_OPTIONS,
234
+ DEFAULT_DEV_HOST,
235
+ DEFAULT_SERVER_CONFIG,
236
+ ENTRY_NAME_PATTERN,
237
+ INTERNAL_APP_TOOLS_PLUGINS,
238
+ INTERNAL_APP_TOOLS_RUNTIME_PLUGINS,
239
+ INTERNAL_CLI_PLUGINS,
240
+ INTERNAL_DOC_TOOLS_PLUGINS,
241
+ INTERNAL_MODULE_TOOLS_PLUGINS,
242
+ INTERNAL_MONOREPO_TOOLS_PLUGINS,
243
+ INTERNAL_SERVER_PLUGINS,
244
+ LAUNCH_EDITOR_ENDPOINT,
245
+ LOADABLE_STATS_FILE,
246
+ LOADER_ROUTES_DIR,
247
+ MAIN_ENTRY_NAME,
248
+ OUTPUT_CONFIG_FILE,
249
+ PLUGIN_SCHEMAS,
250
+ ROUTE_MANIFEST_FILE,
251
+ ROUTE_SPEC_FILE,
252
+ SERVER_BUNDLE_DIRECTORY,
253
+ SERVER_DIR,
254
+ SERVER_PLUGIN_BFF,
255
+ SERVER_PLUGIN_EGG,
256
+ SERVER_PLUGIN_EXPRESS,
257
+ SERVER_PLUGIN_KOA,
258
+ SERVER_PLUGIN_NEST,
259
+ SERVER_PLUGIN_POLYFILL,
260
+ SERVER_PLUGIN_SERVER,
261
+ SERVER_RENDER_FUNCTION_NAME,
262
+ SERVER_WORKER_BUNDLE_DIRECTORY,
263
+ SHARED_DIR
264
+ };
@@ -0,0 +1,5 @@
1
+ import { debug } from "../compiled/debug";
2
+ const createDebugger = (scope) => debug(`modern-js:${scope}`);
3
+ export {
4
+ createDebugger
5
+ };
@@ -0,0 +1,9 @@
1
+ import { fs } from "./compiled";
2
+ const emptyDir = async (dir) => {
3
+ if (await fs.pathExists(dir)) {
4
+ await fs.emptyDir(dir);
5
+ }
6
+ };
7
+ export {
8
+ emptyDir
9
+ };
@@ -0,0 +1,5 @@
1
+ import path from "path";
2
+ const ensureAbsolutePath = (base, filePath) => path.isAbsolute(filePath) ? filePath : path.resolve(base, filePath);
3
+ export {
4
+ ensureAbsolutePath
5
+ };
@@ -0,0 +1,9 @@
1
+ const ensureArray = (params) => {
2
+ if (Array.isArray(params)) {
3
+ return params;
4
+ }
5
+ return [params];
6
+ };
7
+ export {
8
+ ensureArray
9
+ };
@@ -0,0 +1,12 @@
1
+ import fs from "fs";
2
+ const findExists = (files) => {
3
+ for (const file of files) {
4
+ if (fs.existsSync(file) && fs.statSync(file).isFile()) {
5
+ return file;
6
+ }
7
+ }
8
+ return false;
9
+ };
10
+ export {
11
+ findExists
12
+ };
@@ -0,0 +1,38 @@
1
+ const tagObjectToString = (tagDefinition) => {
2
+ const attributes = Object.keys(tagDefinition.attributes || {}).filter((attributeName) => tagDefinition.attributes[attributeName] !== false).map((attributeName) => {
3
+ if (tagDefinition.attributes[attributeName] === true) {
4
+ return attributeName;
5
+ }
6
+ return `${attributeName}="${tagDefinition.attributes[attributeName]}"`;
7
+ });
8
+ return `<${[tagDefinition.tagName].concat(attributes).join(" ")}>${tagDefinition.innerHTML || ""}${tagDefinition.voidTag ? "" : `</${tagDefinition.tagName}>`}`;
9
+ };
10
+ const generateMetaTags = (metaOptions) => {
11
+ if (!metaOptions) {
12
+ return "";
13
+ }
14
+ const metaTagAttributeObjects = Object.keys(metaOptions).map((metaName) => {
15
+ const metaTagContent = metaOptions[metaName];
16
+ return typeof metaTagContent === "string" ? {
17
+ name: metaName,
18
+ content: metaTagContent
19
+ } : metaTagContent;
20
+ }).filter((attribute) => attribute !== false);
21
+ return metaTagAttributeObjects.map((metaTagAttributes) => {
22
+ if (metaTagAttributes === false) {
23
+ throw new Error("Invalid meta tag");
24
+ }
25
+ return {
26
+ tagName: "meta",
27
+ voidTag: true,
28
+ attributes: metaTagAttributes
29
+ };
30
+ }).reduce(
31
+ (memo, tagObject) => `${memo}
32
+ ${tagObjectToString(tagObject)}`,
33
+ ""
34
+ );
35
+ };
36
+ export {
37
+ generateMetaTags
38
+ };
@@ -0,0 +1,7 @@
1
+ import { browserslist } from "./compiled";
2
+ const defaults = ["> 0.01%", "not dead", "not op_mini all"];
3
+ const getBrowserslist = (appDirectory) => browserslist.loadConfig({ path: appDirectory }) || defaults;
4
+ export {
5
+ defaults,
6
+ getBrowserslist
7
+ };