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

Sign up to get free protection for your applications and to get access to all the features.
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
- };