@modern-js/utils 1.3.6 → 1.3.8-canary.0

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