@modern-js/utils 1.3.6 → 1.3.7-alpha.prebundle.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) hide show
  1. package/.eslintrc.js +9 -0
  2. package/CHANGELOG.md +6 -0
  3. package/compiled/browserslist/index.d.ts +178 -0
  4. package/compiled/browserslist/index.js +1 -0
  5. package/compiled/browserslist/license +20 -0
  6. package/compiled/browserslist/package.json +1 -0
  7. package/compiled/chalk/index.d.ts +415 -0
  8. package/compiled/chalk/index.js +1 -0
  9. package/compiled/chalk/license +9 -0
  10. package/compiled/chalk/package.json +1 -0
  11. package/compiled/chokidar/anymatch/index.d.ts +19 -0
  12. package/compiled/chokidar/fsevents.node +0 -0
  13. package/compiled/chokidar/index.js +40 -0
  14. package/compiled/chokidar/license +21 -0
  15. package/compiled/chokidar/package.json +1 -0
  16. package/compiled/chokidar/types/index.d.ts +188 -0
  17. package/compiled/commander/index.js +1 -0
  18. package/compiled/commander/license +22 -0
  19. package/compiled/commander/package.json +1 -0
  20. package/compiled/commander/typings/index.d.ts +774 -0
  21. package/compiled/debug/index.d.ts +54 -0
  22. package/compiled/debug/index.js +1 -0
  23. package/compiled/debug/license +20 -0
  24. package/compiled/debug/ms/index.d.ts +25 -0
  25. package/compiled/debug/package.json +1 -0
  26. package/compiled/execa/index.d.ts +564 -0
  27. package/compiled/execa/index.js +1 -0
  28. package/compiled/execa/license +9 -0
  29. package/compiled/execa/package.json +1 -0
  30. package/compiled/filesize/filesize.d.ts +131 -0
  31. package/compiled/filesize/index.js +9 -0
  32. package/compiled/filesize/license +28 -0
  33. package/compiled/filesize/package.json +1 -0
  34. package/compiled/fs-extra/index.d.ts +563 -0
  35. package/compiled/fs-extra/index.js +1 -0
  36. package/compiled/fs-extra/license +15 -0
  37. package/compiled/fs-extra/package.json +1 -0
  38. package/compiled/glob/index.d.ts +91 -0
  39. package/compiled/glob/index.js +1 -0
  40. package/compiled/glob/license +21 -0
  41. package/compiled/glob/minimatch/index.d.ts +204 -0
  42. package/compiled/glob/package.json +1 -0
  43. package/compiled/gzip-size/index.d.ts +96 -0
  44. package/compiled/gzip-size/index.js +1 -0
  45. package/compiled/gzip-size/license +9 -0
  46. package/compiled/gzip-size/package.json +1 -0
  47. package/compiled/import-lazy/index.d.ts +26 -0
  48. package/compiled/import-lazy/index.js +1 -0
  49. package/compiled/import-lazy/license +9 -0
  50. package/compiled/import-lazy/package.json +1 -0
  51. package/compiled/js-yaml/index.d.ts +154 -0
  52. package/compiled/js-yaml/index.js +1 -0
  53. package/compiled/js-yaml/license +21 -0
  54. package/compiled/js-yaml/package.json +1 -0
  55. package/compiled/lodash/common/array.d.ts +2126 -0
  56. package/compiled/lodash/common/collection.d.ts +1930 -0
  57. package/compiled/lodash/common/common.d.ts +280 -0
  58. package/compiled/lodash/common/date.d.ts +23 -0
  59. package/compiled/lodash/common/function.d.ts +1446 -0
  60. package/compiled/lodash/common/lang.d.ts +1693 -0
  61. package/compiled/lodash/common/math.d.ts +405 -0
  62. package/compiled/lodash/common/number.d.ts +131 -0
  63. package/compiled/lodash/common/object.d.ts +2519 -0
  64. package/compiled/lodash/common/seq.d.ts +210 -0
  65. package/compiled/lodash/common/string.d.ts +788 -0
  66. package/compiled/lodash/common/util.d.ts +1220 -0
  67. package/compiled/lodash/index.d.ts +46 -0
  68. package/compiled/lodash/index.js +9 -0
  69. package/compiled/lodash/license +47 -0
  70. package/compiled/lodash/package.json +1 -0
  71. package/compiled/pkg-up/index.d.ts +48 -0
  72. package/compiled/pkg-up/index.js +1 -0
  73. package/compiled/pkg-up/license +9 -0
  74. package/compiled/pkg-up/package.json +1 -0
  75. package/compiled/recursive-readdir/index.d.ts +21 -0
  76. package/compiled/recursive-readdir/index.js +1 -0
  77. package/compiled/recursive-readdir/license +21 -0
  78. package/compiled/recursive-readdir/package.json +1 -0
  79. package/compiled/signale/index.d.ts +162 -0
  80. package/compiled/signale/index.js +1 -0
  81. package/compiled/signale/package.json +1 -0
  82. package/compiled/strip-ansi/index.d.ts +17 -0
  83. package/compiled/strip-ansi/index.js +1 -0
  84. package/compiled/strip-ansi/license +9 -0
  85. package/compiled/strip-ansi/package.json +1 -0
  86. package/compiled/upath/index.js +1 -0
  87. package/compiled/upath/license +22 -0
  88. package/compiled/upath/package.json +1 -0
  89. package/compiled/upath/upath.d.ts +241 -0
  90. package/dist/{types/FileSizeReporter.d.ts → FileSizeReporter.d.ts} +5 -5
  91. package/dist/FileSizeReporter.js +151 -0
  92. package/dist/{types/alias.d.ts → alias.d.ts} +12 -14
  93. package/dist/alias.js +62 -0
  94. package/dist/applyOptionsChain.d.ts +6 -0
  95. package/dist/applyOptionsChain.js +30 -0
  96. package/dist/clearConsole.d.ts +1 -0
  97. package/dist/clearConsole.js +9 -0
  98. package/dist/{types/compatRequire.d.ts → compatRequire.d.ts} +1 -1
  99. package/dist/compatRequire.js +28 -0
  100. package/dist/compiled/upath/index.d.ts +225 -0
  101. package/dist/compiled/upath/index.js +1 -0
  102. package/dist/compiled.d.ts +21 -0
  103. package/dist/compiled.js +33 -0
  104. package/dist/constants.d.ts +209 -0
  105. package/dist/constants.js +264 -0
  106. package/dist/{js/modern/debug.js → debug.d.ts} +1 -3
  107. package/dist/debug.js +11 -0
  108. package/dist/emptyDir.d.ts +1 -0
  109. package/dist/emptyDir.js +19 -0
  110. package/dist/{types/ensureAbsolutePath.d.ts → ensureAbsolutePath.d.ts} +1 -1
  111. package/dist/ensureAbsolutePath.js +15 -0
  112. package/dist/{types/findExists.d.ts → findExists.d.ts} +1 -1
  113. package/dist/findExists.js +21 -0
  114. package/dist/{types/format.d.ts → format.d.ts} +5 -5
  115. package/dist/format.js +113 -0
  116. package/dist/{types/generateMetaTags.d.ts → generateMetaTags.d.ts} +3 -3
  117. package/dist/generateMetaTags.js +48 -0
  118. package/dist/{types/getBrowserslist.d.ts → getBrowserslist.d.ts} +1 -1
  119. package/dist/getBrowserslist.js +7 -0
  120. package/dist/{types/getCacheIdentifier.d.ts → getCacheIdentifier.d.ts} +3 -3
  121. package/dist/getCacheIdentifier.js +24 -0
  122. package/dist/{types/getEntryOptions.d.ts → getEntryOptions.d.ts} +1 -1
  123. package/dist/getEntryOptions.js +26 -0
  124. package/dist/{types/getPackageManager.d.ts → getPackageManager.d.ts} +1 -1
  125. package/dist/getPackageManager.js +47 -0
  126. package/dist/{types/getPort.d.ts → getPort.d.ts} +1 -1
  127. package/dist/getPort.js +62 -0
  128. package/dist/{types/import.d.ts → import.d.ts} +2 -2
  129. package/dist/import.js +10 -0
  130. package/dist/index.d.ts +31 -0
  131. package/dist/index.js +43 -0
  132. package/dist/{types/is → is}/index.d.ts +1 -4
  133. package/dist/is/index.js +82 -0
  134. package/dist/{types/is → is}/node-env.d.ts +1 -1
  135. package/dist/is/node-env.js +12 -0
  136. package/dist/is/platform.d.ts +2 -0
  137. package/dist/is/platform.js +10 -0
  138. package/dist/{types/is → is}/type.d.ts +1 -1
  139. package/dist/is/type.js +38 -0
  140. package/dist/logger.d.ts +63 -0
  141. package/dist/logger.js +128 -0
  142. package/dist/{types/monorepo.d.ts → monorepo.d.ts} +3 -3
  143. package/dist/monorepo.js +80 -0
  144. package/dist/{types/nodeEnv.d.ts → nodeEnv.d.ts} +1 -1
  145. package/dist/nodeEnv.js +49 -0
  146. package/dist/{types/path.d.ts → path.d.ts} +1 -1
  147. package/dist/path.js +14 -0
  148. package/dist/{types/pkgUp.d.ts → pkgUp.d.ts} +1 -1
  149. package/dist/pkgUp.js +8 -0
  150. package/dist/{types/prettyInstructions.d.ts → prettyInstructions.d.ts} +2 -2
  151. package/dist/prettyInstructions.js +64 -0
  152. package/dist/{types/printBuildError.d.ts → printBuildError.d.ts} +1 -1
  153. package/dist/printBuildError.js +43 -0
  154. package/dist/{types/readTsConfig.d.ts → readTsConfig.d.ts} +1 -1
  155. package/dist/readTsConfig.js +19 -0
  156. package/dist/{types/removeSlash.d.ts → removeSlash.d.ts} +1 -1
  157. package/dist/removeSlash.js +9 -0
  158. package/dist/{types/runtimeExports.d.ts → runtimeExports.d.ts} +3 -3
  159. package/dist/runtimeExports.js +53 -0
  160. package/dist/src/FileSizeReporter.d.ts +16 -0
  161. package/dist/src/FileSizeReporter.js +152 -0
  162. package/dist/src/alias.d.ts +21 -0
  163. package/dist/src/alias.js +62 -0
  164. package/dist/src/applyOptionsChain.d.ts +6 -0
  165. package/dist/src/applyOptionsChain.js +30 -0
  166. package/dist/src/clearConsole.d.ts +1 -0
  167. package/dist/src/clearConsole.js +9 -0
  168. package/dist/src/compatRequire.d.ts +8 -0
  169. package/dist/src/compatRequire.js +28 -0
  170. package/dist/src/compiled.d.ts +7 -0
  171. package/dist/src/compiled.js +19 -0
  172. package/dist/src/constants.d.ts +209 -0
  173. package/dist/src/constants.js +264 -0
  174. package/dist/{types → src}/debug.d.ts +1 -2
  175. package/dist/src/debug.js +14 -0
  176. package/dist/src/emptyDir.d.ts +1 -0
  177. package/dist/src/emptyDir.js +22 -0
  178. package/dist/{js/modern/ensureAbsolutePath.js → src/ensureAbsolutePath.d.ts} +1 -3
  179. package/dist/src/ensureAbsolutePath.js +15 -0
  180. package/dist/src/findExists.d.ts +6 -0
  181. package/dist/src/findExists.js +21 -0
  182. package/dist/src/format.d.ts +16 -0
  183. package/dist/src/format.js +115 -0
  184. package/dist/src/generateMetaTags.d.ts +16 -0
  185. package/dist/src/generateMetaTags.js +48 -0
  186. package/dist/src/getBrowserslist.d.ts +2 -0
  187. package/dist/src/getBrowserslist.js +7 -0
  188. package/dist/src/getCacheIdentifier.d.ts +7 -0
  189. package/dist/src/getCacheIdentifier.js +24 -0
  190. package/dist/src/getEntryOptions.d.ts +1 -0
  191. package/dist/src/getEntryOptions.js +26 -0
  192. package/dist/src/getPackageManager.d.ts +1 -0
  193. package/dist/src/getPackageManager.js +47 -0
  194. package/dist/src/getPort.d.ts +7 -0
  195. package/dist/src/getPort.js +62 -0
  196. package/dist/src/import.d.ts +5 -0
  197. package/dist/src/import.js +10 -0
  198. package/dist/{types → src}/index.d.ts +2 -3
  199. package/dist/src/index.js +57 -0
  200. package/dist/src/is/index.d.ts +34 -0
  201. package/dist/src/is/index.js +82 -0
  202. package/dist/src/is/node-env.d.ts +4 -0
  203. package/dist/src/is/node-env.js +12 -0
  204. package/dist/src/is/platform.d.ts +2 -0
  205. package/dist/src/is/platform.js +10 -0
  206. package/dist/src/is/type.d.ts +8 -0
  207. package/dist/src/is/type.js +38 -0
  208. package/dist/src/logger.d.ts +63 -0
  209. package/dist/src/logger.js +129 -0
  210. package/dist/src/monorepo.d.ts +11 -0
  211. package/dist/src/monorepo.js +81 -0
  212. package/dist/src/nodeEnv.d.ts +3 -0
  213. package/dist/src/nodeEnv.js +52 -0
  214. package/dist/src/path.d.ts +3 -0
  215. package/dist/src/path.js +14 -0
  216. package/dist/src/prettyInstructions.d.ts +6 -0
  217. package/dist/src/prettyInstructions.js +64 -0
  218. package/dist/src/printBuildError.d.ts +8 -0
  219. package/dist/src/printBuildError.js +43 -0
  220. package/dist/src/readTsConfig.d.ts +2 -0
  221. package/dist/src/readTsConfig.js +19 -0
  222. package/dist/src/removeSlash.d.ts +3 -0
  223. package/dist/src/removeSlash.js +9 -0
  224. package/dist/src/runtimeExports.d.ts +4 -0
  225. package/dist/src/runtimeExports.js +53 -0
  226. package/dist/{types → src}/wait.d.ts +1 -1
  227. package/dist/src/wait.js +7 -0
  228. package/dist/{types → src}/watch.d.ts +3 -3
  229. package/dist/src/watch.js +65 -0
  230. package/dist/wait.d.ts +2 -0
  231. package/dist/wait.js +7 -0
  232. package/dist/watch.d.ts +8 -0
  233. package/dist/watch.js +64 -0
  234. package/jest.config.js +0 -1
  235. package/package.json +55 -39
  236. package/tests/debug.test.ts +2 -2
  237. package/tests/is.test.ts +27 -0
  238. package/tests/isPlatform.test.ts +19 -0
  239. package/tests/prettyInstructions.test.ts +1 -1
  240. package/tsconfig.json +3 -5
  241. package/dist/js/modern/FileSizeReporter.js +0 -156
  242. package/dist/js/modern/alias.js +0 -74
  243. package/dist/js/modern/applyOptionsChain.js +0 -27
  244. package/dist/js/modern/chalk.js +0 -2
  245. package/dist/js/modern/clearConsole.js +0 -5
  246. package/dist/js/modern/compatRequire.js +0 -26
  247. package/dist/js/modern/constants.js +0 -333
  248. package/dist/js/modern/emptyDir.js +0 -6
  249. package/dist/js/modern/findExists.js +0 -16
  250. package/dist/js/modern/format.js +0 -137
  251. package/dist/js/modern/generateMetaTags.js +0 -49
  252. package/dist/js/modern/getBrowserslist.js +0 -5
  253. package/dist/js/modern/getCacheIdentifier.js +0 -20
  254. package/dist/js/modern/getEntryOptions.js +0 -24
  255. package/dist/js/modern/getPackageManager.js +0 -37
  256. package/dist/js/modern/getPort.js +0 -52
  257. package/dist/js/modern/import.js +0 -11
  258. package/dist/js/modern/index.js +0 -34
  259. package/dist/js/modern/is/index.js +0 -77
  260. package/dist/js/modern/is/node-env.js +0 -5
  261. package/dist/js/modern/is/platform.js +0 -2
  262. package/dist/js/modern/is/type.js +0 -27
  263. package/dist/js/modern/logger.js +0 -152
  264. package/dist/js/modern/monorepo.js +0 -84
  265. package/dist/js/modern/nodeEnv.js +0 -31
  266. package/dist/js/modern/path.js +0 -5
  267. package/dist/js/modern/pkgUp.js +0 -2
  268. package/dist/js/modern/prettyInstructions.js +0 -79
  269. package/dist/js/modern/printBuildError.js +0 -40
  270. package/dist/js/modern/readTsConfig.js +0 -13
  271. package/dist/js/modern/removeSlash.js +0 -3
  272. package/dist/js/modern/runtimeExports.js +0 -52
  273. package/dist/js/modern/wait.js +0 -5
  274. package/dist/js/modern/watch.js +0 -43
  275. package/dist/js/node/FileSizeReporter.js +0 -175
  276. package/dist/js/node/alias.js +0 -97
  277. package/dist/js/node/applyOptionsChain.js +0 -37
  278. package/dist/js/node/chalk.js +0 -15
  279. package/dist/js/node/clearConsole.js +0 -14
  280. package/dist/js/node/compatRequire.js +0 -41
  281. package/dist/js/node/constants.js +0 -353
  282. package/dist/js/node/debug.js +0 -19
  283. package/dist/js/node/emptyDir.js +0 -18
  284. package/dist/js/node/ensureAbsolutePath.js +0 -20
  285. package/dist/js/node/findExists.js +0 -27
  286. package/dist/js/node/format.js +0 -141
  287. package/dist/js/node/generateMetaTags.js +0 -58
  288. package/dist/js/node/getBrowserslist.js +0 -17
  289. package/dist/js/node/getCacheIdentifier.js +0 -27
  290. package/dist/js/node/getEntryOptions.js +0 -35
  291. package/dist/js/node/getPackageManager.js +0 -51
  292. package/dist/js/node/getPort.js +0 -67
  293. package/dist/js/node/import.js +0 -19
  294. package/dist/js/node/index.js +0 -465
  295. package/dist/js/node/is/index.js +0 -150
  296. package/dist/js/node/is/node-env.js +0 -23
  297. package/dist/js/node/is/platform.js +0 -14
  298. package/dist/js/node/is/type.js +0 -48
  299. package/dist/js/node/logger.js +0 -162
  300. package/dist/js/node/monorepo.js +0 -118
  301. package/dist/js/node/nodeEnv.js +0 -45
  302. package/dist/js/node/path.js +0 -24
  303. package/dist/js/node/pkgUp.js +0 -15
  304. package/dist/js/node/prettyInstructions.js +0 -95
  305. package/dist/js/node/printBuildError.js +0 -52
  306. package/dist/js/node/readTsConfig.js +0 -28
  307. package/dist/js/node/removeSlash.js +0 -18
  308. package/dist/js/node/runtimeExports.js +0 -68
  309. package/dist/js/node/wait.js +0 -12
  310. package/dist/js/node/watch.js +0 -61
  311. package/dist/js/treeshaking/FileSizeReporter.js +0 -185
  312. package/dist/js/treeshaking/alias.js +0 -72
  313. package/dist/js/treeshaking/applyOptionsChain.js +0 -31
  314. package/dist/js/treeshaking/chalk.js +0 -2
  315. package/dist/js/treeshaking/clearConsole.js +0 -5
  316. package/dist/js/treeshaking/compatRequire.js +0 -29
  317. package/dist/js/treeshaking/constants.js +0 -333
  318. package/dist/js/treeshaking/debug.js +0 -10
  319. package/dist/js/treeshaking/emptyDir.js +0 -37
  320. package/dist/js/treeshaking/ensureAbsolutePath.js +0 -11
  321. package/dist/js/treeshaking/findExists.js +0 -33
  322. package/dist/js/treeshaking/format.js +0 -167
  323. package/dist/js/treeshaking/generateMetaTags.js +0 -55
  324. package/dist/js/treeshaking/getBrowserslist.js +0 -7
  325. package/dist/js/treeshaking/getCacheIdentifier.js +0 -35
  326. package/dist/js/treeshaking/getEntryOptions.js +0 -26
  327. package/dist/js/treeshaking/getPackageManager.js +0 -101
  328. package/dist/js/treeshaking/getPort.js +0 -103
  329. package/dist/js/treeshaking/import.js +0 -11
  330. package/dist/js/treeshaking/index.js +0 -34
  331. package/dist/js/treeshaking/is/index.js +0 -81
  332. package/dist/js/treeshaking/is/node-env.js +0 -13
  333. package/dist/js/treeshaking/is/platform.js +0 -6
  334. package/dist/js/treeshaking/is/type.js +0 -29
  335. package/dist/js/treeshaking/logger.js +0 -188
  336. package/dist/js/treeshaking/monorepo.js +0 -95
  337. package/dist/js/treeshaking/nodeEnv.js +0 -108
  338. package/dist/js/treeshaking/path.js +0 -11
  339. package/dist/js/treeshaking/pkgUp.js +0 -2
  340. package/dist/js/treeshaking/prettyInstructions.js +0 -100
  341. package/dist/js/treeshaking/printBuildError.js +0 -40
  342. package/dist/js/treeshaking/readTsConfig.js +0 -13
  343. package/dist/js/treeshaking/removeSlash.js +0 -9
  344. package/dist/js/treeshaking/runtimeExports.js +0 -61
  345. package/dist/js/treeshaking/wait.js +0 -8
  346. package/dist/js/treeshaking/watch.js +0 -112
  347. package/dist/types/applyOptionsChain.d.ts +0 -6
  348. package/dist/types/chalk.d.ts +0 -2
  349. package/dist/types/clearConsole.d.ts +0 -1
  350. package/dist/types/constants.d.ts +0 -219
  351. package/dist/types/emptyDir.d.ts +0 -1
  352. package/dist/types/is/platform.d.ts +0 -2
  353. package/dist/types/logger.d.ts +0 -63
@@ -0,0 +1,152 @@
1
+ /* eslint-disable eslint-comments/no-unlimited-disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Copyright (c) 2015-present, Facebook, Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file at
8
+ * https://github.com/facebook/create-react-app/blob/master/LICENSE
9
+ */
10
+ // Modified by Chao Xu (xuchaobei)
11
+ 'use strict';
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.printFileSizesAfterBuild = exports.measureFileSizesBeforeBuild = void 0;
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ const compiled_1 = require("./compiled");
20
+ const recursive_readdir_1 = __importDefault(require("recursive-readdir"));
21
+ const logger_1 = require("./logger");
22
+ function canReadAsset(asset) {
23
+ return (/\.(js|css)$/.test(asset) &&
24
+ !/service-worker\.js/.test(asset) &&
25
+ !/precache-manifest\.[0-9a-f]+\.js/.test(asset));
26
+ }
27
+ // Prints a detailed summary of build files.
28
+ function printFileSizesAfterBuild(webpackStats, previousSizeMap, buildFolder, maxBundleGzipSize, maxChunkGzipSize) {
29
+ var root = previousSizeMap.root;
30
+ var sizes = previousSizeMap.sizes;
31
+ var assets = (webpackStats.stats || [webpackStats])
32
+ .map((stats) => stats
33
+ .toJson({ all: false, assets: true })
34
+ .assets.filter((asset) => canReadAsset(asset.name))
35
+ .map((asset) => {
36
+ var fileContents = fs_1.default.readFileSync(path_1.default.join(root, asset.name));
37
+ var size = fileContents.length;
38
+ var gzippedSize = compiled_1.gzipSize.sync(fileContents);
39
+ var [previousSize, previousGzipSize] = sizes[removeFileNameHash(root, asset.name)] || [];
40
+ var sizeDifference = getDifferenceLabel(size, previousSize);
41
+ var gzipSizeDifference = getDifferenceLabel(gzippedSize, previousGzipSize);
42
+ return {
43
+ folder: path_1.default.join(path_1.default.basename(buildFolder), path_1.default.dirname(asset.name)),
44
+ name: path_1.default.basename(asset.name),
45
+ gzippedSize: gzippedSize,
46
+ sizeLabel: (0, compiled_1.filesize)(size) +
47
+ (sizeDifference ? ' (' + sizeDifference + ')' : ''),
48
+ gzipSizeLabel: (0, compiled_1.filesize)(gzippedSize) +
49
+ (gzipSizeDifference ? ' (' + gzipSizeDifference + ')' : ''),
50
+ };
51
+ }))
52
+ .reduce((single, all) => all.concat(single), []);
53
+ assets.sort((a, b) => b.size - a.size);
54
+ var longestSizeLabelLength = Math.max.apply(null, assets.map((a) => (0, compiled_1.stripAnsi)(a.sizeLabel).length));
55
+ var longestFileNameLength = Math.max.apply(null, assets.map((a) => (0, compiled_1.stripAnsi)(a.folder + path_1.default.sep + a.name).length));
56
+ printFileSizesHeader(longestFileNameLength, longestSizeLabelLength);
57
+ var suggestBundleSplitting = false;
58
+ assets.forEach((asset) => {
59
+ var { folder, name, sizeLabel, gzipSizeLabel, gzippedSize } = asset;
60
+ var fileNameLength = (0, compiled_1.stripAnsi)(folder + path_1.default.sep + name).length;
61
+ var sizeLength = (0, compiled_1.stripAnsi)(sizeLabel).length;
62
+ if (sizeLength < longestSizeLabelLength) {
63
+ var rightPadding = ' '.repeat(longestSizeLabelLength - sizeLength);
64
+ sizeLabel += rightPadding;
65
+ }
66
+ var fileNameLabel = compiled_1.chalk.dim(asset.folder + path_1.default.sep) + compiled_1.chalk.cyan(asset.name);
67
+ if (fileNameLength < longestFileNameLength) {
68
+ var rightPadding = ' '.repeat(longestFileNameLength - fileNameLength);
69
+ fileNameLabel += rightPadding;
70
+ }
71
+ var isMainBundle = asset.name.indexOf('main.') === 0;
72
+ var maxRecommendedSize = isMainBundle
73
+ ? maxBundleGzipSize
74
+ : maxChunkGzipSize;
75
+ var isLarge = maxRecommendedSize && gzippedSize > maxRecommendedSize;
76
+ if (isLarge && path_1.default.extname(asset.name) === '.js') {
77
+ suggestBundleSplitting = true;
78
+ }
79
+ logger_1.logger.log(' ' +
80
+ fileNameLabel +
81
+ ' ' +
82
+ sizeLabel +
83
+ ' ' +
84
+ (isLarge ? compiled_1.chalk.yellow(gzipSizeLabel) : gzipSizeLabel));
85
+ });
86
+ if (suggestBundleSplitting) {
87
+ logger_1.logger.log();
88
+ logger_1.logger.warn('The bundle size is significantly larger than recommended.');
89
+ }
90
+ }
91
+ exports.printFileSizesAfterBuild = printFileSizesAfterBuild;
92
+ function printFileSizesHeader(longestFileNameLength, longestSizeLabelLength) {
93
+ const longestLengths = [longestFileNameLength, longestSizeLabelLength];
94
+ const headerRow = ['File', 'Size', 'Gzipped'].reduce((prev, cur, index) => {
95
+ const length = longestLengths[index];
96
+ let curLabel = cur;
97
+ if (length) {
98
+ curLabel =
99
+ cur.length < length ? cur + ' '.repeat(length - cur.length) : cur;
100
+ }
101
+ return prev + curLabel + ' ';
102
+ }, ' ');
103
+ logger_1.logger.log(compiled_1.chalk.bold(compiled_1.chalk.blue(headerRow)));
104
+ }
105
+ function removeFileNameHash(buildFolder, fileName) {
106
+ return fileName
107
+ .replace(buildFolder, '')
108
+ .replace(/\\/g, '/')
109
+ .replace(/\/?(.*)(\.[0-9a-f]+)(\.chunk)?(\.js|\.css)/, (match, p1, p2, p3, p4) => p1 + p4);
110
+ }
111
+ // Input: 1024, 2048
112
+ // Output: "(+1 KB)"
113
+ function getDifferenceLabel(currentSize, previousSize) {
114
+ var FIFTY_KILOBYTES = 1024 * 50;
115
+ var difference = currentSize - previousSize;
116
+ var fileSize = !Number.isNaN(difference) ? (0, compiled_1.filesize)(difference) : 0;
117
+ if (difference >= FIFTY_KILOBYTES) {
118
+ return compiled_1.chalk.red('+' + fileSize);
119
+ }
120
+ else if (difference < FIFTY_KILOBYTES && difference > 0) {
121
+ return compiled_1.chalk.yellow('+' + fileSize);
122
+ }
123
+ else if (difference < 0) {
124
+ return compiled_1.chalk.green(fileSize);
125
+ }
126
+ else {
127
+ return '';
128
+ }
129
+ }
130
+ function measureFileSizesBeforeBuild(buildFolder) {
131
+ return new Promise(resolve => {
132
+ (0, recursive_readdir_1.default)(buildFolder, (err, fileNames) => {
133
+ var sizes;
134
+ if (!err && fileNames) {
135
+ sizes = fileNames
136
+ .filter(canReadAsset)
137
+ .reduce((memo, fileName) => {
138
+ var contents = fs_1.default.readFileSync(fileName);
139
+ var key = removeFileNameHash(buildFolder, fileName);
140
+ // save both the original size and gzip size
141
+ memo[key] = [contents.length, compiled_1.gzipSize.sync(contents)];
142
+ return memo;
143
+ }, {});
144
+ }
145
+ resolve({
146
+ root: buildFolder,
147
+ sizes: sizes || {},
148
+ });
149
+ });
150
+ });
151
+ }
152
+ exports.measureFileSizesBeforeBuild = measureFileSizesBeforeBuild;
@@ -0,0 +1,21 @@
1
+ declare type AliasOption = Record<string, string> | ((aliases: Record<string, string>) => Record<string, unknown>) | Record<string, string> | undefined;
2
+ interface NormalizedConfig {
3
+ source: {
4
+ alias?: AliasOption | Array<AliasOption>;
5
+ };
6
+ }
7
+ interface IAliasConfig {
8
+ absoluteBaseUrl: string;
9
+ paths?: Record<string, string | string[]>;
10
+ isTsPath?: boolean;
11
+ isTsProject?: boolean;
12
+ }
13
+ export declare const validAlias: <T extends NormalizedConfig>(modernConfig: T, { tsconfigPath }: {
14
+ tsconfigPath: string;
15
+ }) => string | null;
16
+ export declare const getAlias: (aliasOption: AliasOption | Array<AliasOption>, option: {
17
+ appDirectory: string;
18
+ tsconfigPath: string;
19
+ }) => IAliasConfig;
20
+ export declare const getUserAlias: (alias?: Record<string, string | string[]>) => Record<string, string | string[]>;
21
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getUserAlias = exports.getAlias = exports.validAlias = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const compiled_1 = require("./compiled");
10
+ const readTsConfig_1 = require("./readTsConfig");
11
+ const applyOptionsChain_1 = require("./applyOptionsChain");
12
+ const validAlias = (modernConfig, { tsconfigPath }) => {
13
+ const { source: { alias }, } = modernConfig;
14
+ if (!alias) {
15
+ return null;
16
+ }
17
+ const isTsProject = fs_1.default.existsSync(tsconfigPath);
18
+ if (!isTsProject) {
19
+ return null;
20
+ }
21
+ const userAlias = (0, exports.getUserAlias)(alias);
22
+ if (Object.keys(userAlias).length > 0) {
23
+ return compiled_1.chalk.red('Note: Please use `compilerOptions.paths` in "tsconfig.json" file replace `source.alias` config in "modern.config.js/ts" when project is typescript');
24
+ }
25
+ return null;
26
+ };
27
+ exports.validAlias = validAlias;
28
+ const getAlias = (aliasOption, option) => {
29
+ var _a, _b;
30
+ const isTsProject = fs_1.default.existsSync(option.tsconfigPath);
31
+ let aliasConfig;
32
+ if (!isTsProject) {
33
+ aliasConfig = {
34
+ absoluteBaseUrl: option.appDirectory,
35
+ paths: (0, applyOptionsChain_1.applyOptionsChain)({ '@': ['./src'] }, aliasOption),
36
+ isTsPath: false,
37
+ isTsProject,
38
+ };
39
+ }
40
+ else {
41
+ const tsconfig = (0, readTsConfig_1.readTsConfigByFile)(option.tsconfigPath);
42
+ const baseUrl = (_a = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.baseUrl;
43
+ aliasConfig = {
44
+ absoluteBaseUrl: baseUrl
45
+ ? path_1.default.join(option.appDirectory, baseUrl)
46
+ : option.appDirectory,
47
+ paths: Object.assign(Object.assign({}, (aliasOption || {})), (_b = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.paths),
48
+ isTsPath: true,
49
+ isTsProject,
50
+ };
51
+ }
52
+ return aliasConfig;
53
+ };
54
+ exports.getAlias = getAlias;
55
+ // filter invalid ts paths that are not array
56
+ const getUserAlias = (alias = {}) => Object.keys(alias).reduce((o, k) => {
57
+ if (Array.isArray(alias[k])) {
58
+ o[k] = alias[k];
59
+ }
60
+ return o;
61
+ }, {});
62
+ exports.getUserAlias = getUserAlias;
@@ -0,0 +1,6 @@
1
+ export declare const applyOptionsChain: <T, U>(defaults: T, options?: T | (T | ((config: T, utils?: U | undefined) => void | T))[] | ((config: T, utils?: U | undefined) => void | T) | undefined, utils?: U | undefined, mergeFn?: {
2
+ <T_1, U_1>(target: T_1, source: U_1): T_1 & U_1;
3
+ <T_2, U_2, V>(target: T_2, source1: U_2, source2: V): T_2 & U_2 & V;
4
+ <T_3, U_3, V_1, W>(target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W;
5
+ (target: object, ...sources: any[]): any;
6
+ }) => T;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyOptionsChain = void 0;
4
+ // eslint-disable-next-line import/no-useless-path-segments
5
+ const index_1 = require("./index");
6
+ const applyOptionsChain = (defaults, options, utils, mergeFn = Object.assign) => {
7
+ if (!options) {
8
+ return defaults;
9
+ }
10
+ if ((0, index_1.isPlainObject)(options)) {
11
+ return mergeFn(defaults, options);
12
+ }
13
+ else if ((0, index_1.isFunction)(options)) {
14
+ const ret = options(defaults, utils);
15
+ if (ret) {
16
+ if (!(0, index_1.isPlainObject)(ret)) {
17
+ index_1.logger.warn(`${options.name}: Function should mutate the config and return nothing, Or return a cloned or merged version of config object.`);
18
+ }
19
+ return ret;
20
+ }
21
+ }
22
+ else if (Array.isArray(options)) {
23
+ return options.reduce((memo, cur) => (0, exports.applyOptionsChain)(memo, cur, utils, mergeFn), defaults);
24
+ }
25
+ else {
26
+ throw new Error(`applyOptionsChain error:\ndefault options is: ${JSON.stringify(defaults)}`);
27
+ }
28
+ return defaults;
29
+ };
30
+ exports.applyOptionsChain = applyOptionsChain;
@@ -0,0 +1 @@
1
+ export declare const clearConsole: () => void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearConsole = void 0;
4
+ const clearConsole = () => {
5
+ if (process.stdout.isTTY && !process.env.DEBUG) {
6
+ process.stdout.write('\x1B[H\x1B[2J');
7
+ }
8
+ };
9
+ exports.clearConsole = clearConsole;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Require function compatible with esm and cjs module.
3
+ * @param filePath - File to required.
4
+ * @returns module export object.
5
+ */
6
+ export declare const compatRequire: (filePath: string) => any;
7
+ export declare const requireExistModule: (filename: string, extensions?: string[]) => any;
8
+ export declare const cleanRequireCache: (filelist: string[]) => void;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanRequireCache = exports.requireExistModule = exports.compatRequire = void 0;
4
+ const findExists_1 = require("./findExists");
5
+ /**
6
+ * Require function compatible with esm and cjs module.
7
+ * @param filePath - File to required.
8
+ * @returns module export object.
9
+ */
10
+ const compatRequire = (filePath) => {
11
+ const mod = require(filePath);
12
+ return (mod === null || mod === void 0 ? void 0 : mod.__esModule) ? mod.default : mod;
13
+ };
14
+ exports.compatRequire = compatRequire;
15
+ const requireExistModule = (filename, extensions = ['.ts', '.js']) => {
16
+ const exist = (0, findExists_1.findExists)(extensions.map(ext => `${filename}${ext}`));
17
+ if (!exist) {
18
+ return null;
19
+ }
20
+ return (0, exports.compatRequire)(exist);
21
+ };
22
+ exports.requireExistModule = requireExistModule;
23
+ const cleanRequireCache = (filelist) => {
24
+ filelist.forEach(filepath => {
25
+ delete require.cache[filepath];
26
+ });
27
+ };
28
+ exports.cleanRequireCache = cleanRequireCache;
@@ -0,0 +1,7 @@
1
+ import chalk from '../compiled/chalk';
2
+ import upath from '../compiled/upath';
3
+ import pkgUp from '../compiled/pkg-up';
4
+ import gzipSize from '../compiled/gzip-size';
5
+ declare const filesize: typeof import('../compiled/filesize');
6
+ declare const stripAnsi: typeof import('../compiled/strip-ansi');
7
+ export { chalk, upath, pkgUp, filesize, stripAnsi, gzipSize };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.gzipSize = exports.stripAnsi = exports.filesize = exports.pkgUp = exports.upath = exports.chalk = void 0;
7
+ const chalk_1 = __importDefault(require("../compiled/chalk"));
8
+ exports.chalk = chalk_1.default;
9
+ const upath_1 = __importDefault(require("../compiled/upath"));
10
+ exports.upath = upath_1.default;
11
+ const pkg_up_1 = __importDefault(require("../compiled/pkg-up"));
12
+ exports.pkgUp = pkg_up_1.default;
13
+ const gzip_size_1 = __importDefault(require("../compiled/gzip-size"));
14
+ exports.gzipSize = gzip_size_1.default;
15
+ const import_1 = require("./import");
16
+ const filesize = import_1.Import.lazy('../compiled/filesize', require);
17
+ exports.filesize = filesize;
18
+ const stripAnsi = import_1.Import.lazy('../compiled/strip-ansi', require);
19
+ exports.stripAnsi = stripAnsi;
@@ -0,0 +1,209 @@
1
+ /**
2
+ * hmr socket connect path
3
+ */
4
+ export declare const HMR_SOCK_PATH = "/_modern_js_hmr_ws";
5
+ /**
6
+ * route specification file
7
+ */
8
+ export declare const ROUTE_SPEC_FILE = "route.json";
9
+ /**
10
+ * main entry name
11
+ */
12
+ export declare const MAIN_ENTRY_NAME = "main";
13
+ /**
14
+ * open editor request path
15
+ */
16
+ export declare const LAUNCH_EDITOR_ENDPOINT = "/__open-stack-frame-in-editor";
17
+ /**
18
+ * server side bundles directory, which relative to dist.
19
+ */
20
+ export declare const SERVER_BUNDLE_DIRECTORY = "bundles";
21
+ /**
22
+ * entry name pattern used for ajv pattern properties.
23
+ */
24
+ export declare const ENTRY_NAME_PATTERN = "^[a-zA-Z0-9_-]+$";
25
+ /**
26
+ * SSR server render function name
27
+ */
28
+ export declare const SERVER_RENDER_FUNCTION_NAME = "serverRender";
29
+ /**
30
+ * loadbale manifest json file
31
+ */
32
+ export declare const LOADABLE_STATS_FILE = "loadable-stats.json";
33
+ /**
34
+ * internal specified folder
35
+ */
36
+ export declare const API_DIR = "api";
37
+ export declare const SERVER_DIR = "server";
38
+ export declare const SHARED_DIR = "shared";
39
+ /**
40
+ * Internal plugins that work as soon as they are installed.
41
+ */
42
+ export declare const INTERNAL_PLUGINS: {
43
+ [name: string]: {
44
+ cli?: string;
45
+ server?: string;
46
+ };
47
+ };
48
+ /**
49
+ * The schema registered in the plugin.
50
+ */
51
+ export declare const PLUGIN_SCHEMAS: {
52
+ '@modern-js/runtime': ({
53
+ target: string;
54
+ schema: {
55
+ type: string;
56
+ additionalProperties: boolean;
57
+ patternProperties?: undefined;
58
+ };
59
+ } | {
60
+ target: string;
61
+ schema: {
62
+ type: string;
63
+ patternProperties: {
64
+ "^[a-zA-Z0-9_-]+$": {
65
+ type: string;
66
+ };
67
+ };
68
+ additionalProperties: boolean;
69
+ };
70
+ })[];
71
+ '@modern-js/plugin-bff': {
72
+ target: string;
73
+ schema: {
74
+ type: string;
75
+ properties: {
76
+ prefix: {
77
+ type: string[];
78
+ items: {
79
+ type: string;
80
+ };
81
+ };
82
+ fetcher: {
83
+ type: string;
84
+ };
85
+ proxy: {
86
+ type: string;
87
+ };
88
+ requestCreator: {
89
+ type: string;
90
+ };
91
+ };
92
+ };
93
+ }[];
94
+ '@modern-js/plugin-esbuild': {
95
+ target: string;
96
+ schema: {
97
+ typeof: string[];
98
+ };
99
+ }[];
100
+ '@modern-js/plugin-less': {
101
+ target: string;
102
+ schema: {
103
+ typeof: string[];
104
+ };
105
+ }[];
106
+ '@modern-js/plugin-sass': {
107
+ target: string;
108
+ schema: {
109
+ typeof: string[];
110
+ };
111
+ }[];
112
+ '@modern-js/plugin-tailwindcss': {
113
+ target: string;
114
+ schema: {
115
+ typeof: string[];
116
+ };
117
+ }[];
118
+ '@modern-js/plugin-proxy': {
119
+ target: string;
120
+ schema: {
121
+ typeof: string[];
122
+ };
123
+ }[];
124
+ '@modern-js/plugin-unbundle': ({
125
+ target: string;
126
+ schema: {
127
+ type: string;
128
+ properties?: undefined;
129
+ };
130
+ } | {
131
+ target: string;
132
+ schema: {
133
+ type: string;
134
+ properties: {
135
+ ignore: {
136
+ type: string[];
137
+ items: {
138
+ type: string;
139
+ };
140
+ };
141
+ ignoreModuleCache: {
142
+ type: string;
143
+ };
144
+ clearPdnCache: {
145
+ type: string;
146
+ };
147
+ pdnHost: {
148
+ type: string;
149
+ };
150
+ };
151
+ };
152
+ })[];
153
+ '@modern-js/plugin-ssg': {
154
+ target: string;
155
+ schema: {
156
+ oneOf: ({
157
+ type: string;
158
+ instanceof?: undefined;
159
+ } | {
160
+ instanceof: string;
161
+ type?: undefined;
162
+ })[];
163
+ };
164
+ }[];
165
+ '@modern-js/plugin-ssr': {
166
+ target: string;
167
+ schema: {
168
+ type: string[];
169
+ };
170
+ }[];
171
+ '@modern-js/plugin-state': {
172
+ target: string;
173
+ schema: {
174
+ type: string[];
175
+ };
176
+ }[];
177
+ '@modern-js/plugin-design-token': ({
178
+ target: string;
179
+ schema: {
180
+ typeof: string[];
181
+ type?: undefined;
182
+ };
183
+ } | {
184
+ target: string;
185
+ schema: {
186
+ type: string[];
187
+ typeof?: undefined;
188
+ };
189
+ })[];
190
+ '@modern-js/plugin-router': {
191
+ target: string;
192
+ schema: {
193
+ type: string[];
194
+ };
195
+ }[];
196
+ '@modern-js/plugin-testing': {
197
+ target: string;
198
+ schema: {
199
+ typeof: string[];
200
+ };
201
+ }[];
202
+ '@modern-js/plugin-garfish': {
203
+ target: string;
204
+ schema: {
205
+ type: string[];
206
+ };
207
+ }[];
208
+ '@modern-js/plugin-nocode': never[];
209
+ };