@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.
- package/.eslintrc.js +9 -0
- package/CHANGELOG.md +6 -0
- package/compiled/browserslist/index.d.ts +178 -0
- package/compiled/browserslist/index.js +1 -0
- package/compiled/browserslist/license +20 -0
- package/compiled/browserslist/package.json +1 -0
- package/compiled/chalk/index.d.ts +415 -0
- package/compiled/chalk/index.js +1 -0
- package/compiled/chalk/license +9 -0
- package/compiled/chalk/package.json +1 -0
- package/compiled/chokidar/anymatch/index.d.ts +19 -0
- package/compiled/chokidar/fsevents.node +0 -0
- package/compiled/chokidar/index.js +40 -0
- package/compiled/chokidar/license +21 -0
- package/compiled/chokidar/package.json +1 -0
- package/compiled/chokidar/types/index.d.ts +188 -0
- package/compiled/commander/index.js +1 -0
- package/compiled/commander/license +22 -0
- package/compiled/commander/package.json +1 -0
- package/compiled/commander/typings/index.d.ts +774 -0
- package/compiled/debug/index.d.ts +54 -0
- package/compiled/debug/index.js +1 -0
- package/compiled/debug/license +20 -0
- package/compiled/debug/ms/index.d.ts +25 -0
- package/compiled/debug/package.json +1 -0
- package/compiled/execa/index.d.ts +564 -0
- package/compiled/execa/index.js +1 -0
- package/compiled/execa/license +9 -0
- package/compiled/execa/package.json +1 -0
- package/compiled/filesize/filesize.d.ts +131 -0
- package/compiled/filesize/index.js +9 -0
- package/compiled/filesize/license +28 -0
- package/compiled/filesize/package.json +1 -0
- package/compiled/fs-extra/index.d.ts +563 -0
- package/compiled/fs-extra/index.js +1 -0
- package/compiled/fs-extra/license +15 -0
- package/compiled/fs-extra/package.json +1 -0
- package/compiled/glob/index.d.ts +91 -0
- package/compiled/glob/index.js +1 -0
- package/compiled/glob/license +21 -0
- package/compiled/glob/minimatch/index.d.ts +204 -0
- package/compiled/glob/package.json +1 -0
- package/compiled/gzip-size/index.d.ts +96 -0
- package/compiled/gzip-size/index.js +1 -0
- package/compiled/gzip-size/license +9 -0
- package/compiled/gzip-size/package.json +1 -0
- package/compiled/import-lazy/index.d.ts +26 -0
- package/compiled/import-lazy/index.js +1 -0
- package/compiled/import-lazy/license +9 -0
- package/compiled/import-lazy/package.json +1 -0
- package/compiled/js-yaml/index.d.ts +154 -0
- package/compiled/js-yaml/index.js +1 -0
- package/compiled/js-yaml/license +21 -0
- package/compiled/js-yaml/package.json +1 -0
- package/compiled/lodash/common/array.d.ts +2126 -0
- package/compiled/lodash/common/collection.d.ts +1930 -0
- package/compiled/lodash/common/common.d.ts +280 -0
- package/compiled/lodash/common/date.d.ts +23 -0
- package/compiled/lodash/common/function.d.ts +1446 -0
- package/compiled/lodash/common/lang.d.ts +1693 -0
- package/compiled/lodash/common/math.d.ts +405 -0
- package/compiled/lodash/common/number.d.ts +131 -0
- package/compiled/lodash/common/object.d.ts +2519 -0
- package/compiled/lodash/common/seq.d.ts +210 -0
- package/compiled/lodash/common/string.d.ts +788 -0
- package/compiled/lodash/common/util.d.ts +1220 -0
- package/compiled/lodash/index.d.ts +46 -0
- package/compiled/lodash/index.js +9 -0
- package/compiled/lodash/license +47 -0
- package/compiled/lodash/package.json +1 -0
- package/compiled/pkg-up/index.d.ts +48 -0
- package/compiled/pkg-up/index.js +1 -0
- package/compiled/pkg-up/license +9 -0
- package/compiled/pkg-up/package.json +1 -0
- package/compiled/recursive-readdir/index.d.ts +21 -0
- package/compiled/recursive-readdir/index.js +1 -0
- package/compiled/recursive-readdir/license +21 -0
- package/compiled/recursive-readdir/package.json +1 -0
- package/compiled/signale/index.d.ts +162 -0
- package/compiled/signale/index.js +1 -0
- package/compiled/signale/package.json +1 -0
- package/compiled/strip-ansi/index.d.ts +17 -0
- package/compiled/strip-ansi/index.js +1 -0
- package/compiled/strip-ansi/license +9 -0
- package/compiled/strip-ansi/package.json +1 -0
- package/compiled/upath/index.js +1 -0
- package/compiled/upath/license +22 -0
- package/compiled/upath/package.json +1 -0
- package/compiled/upath/upath.d.ts +241 -0
- package/dist/FileSizeReporter.d.ts +16 -0
- package/dist/FileSizeReporter.js +151 -0
- package/dist/alias.d.ts +21 -0
- package/dist/alias.js +62 -0
- package/dist/applyOptionsChain.d.ts +6 -0
- package/dist/applyOptionsChain.js +30 -0
- package/dist/clearConsole.d.ts +1 -0
- package/dist/clearConsole.js +9 -0
- package/dist/compatRequire.d.ts +8 -0
- package/dist/compatRequire.js +28 -0
- package/dist/compiled.d.ts +21 -0
- package/dist/compiled.js +33 -0
- package/dist/constants.d.ts +222 -0
- package/dist/constants.js +277 -0
- package/dist/{js/modern/debug.js → debug.d.ts} +1 -3
- package/dist/debug.js +11 -0
- package/dist/emptyDir.d.ts +1 -0
- package/dist/emptyDir.js +19 -0
- package/dist/{js/modern/ensureAbsolutePath.js → ensureAbsolutePath.d.ts} +1 -3
- package/dist/ensureAbsolutePath.js +15 -0
- package/dist/findExists.d.ts +6 -0
- package/dist/findExists.js +21 -0
- package/dist/format.d.ts +16 -0
- package/dist/format.js +113 -0
- package/dist/generateMetaTags.d.ts +16 -0
- package/dist/generateMetaTags.js +48 -0
- package/dist/getBrowserslist.d.ts +2 -0
- package/dist/getBrowserslist.js +7 -0
- package/dist/getCacheIdentifier.d.ts +7 -0
- package/dist/getCacheIdentifier.js +24 -0
- package/dist/getEntryOptions.d.ts +1 -0
- package/dist/getEntryOptions.js +26 -0
- package/dist/getPackageManager.d.ts +1 -0
- package/dist/getPackageManager.js +47 -0
- package/dist/getPort.d.ts +7 -0
- package/dist/getPort.js +62 -0
- package/dist/getServerConfig.d.ts +1 -0
- package/dist/getServerConfig.js +39 -0
- package/dist/import.d.ts +5 -0
- package/dist/import.js +10 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +45 -0
- package/dist/is/index.d.ts +34 -0
- package/dist/is/index.js +82 -0
- package/dist/is/node-env.d.ts +4 -0
- package/dist/is/node-env.js +12 -0
- package/dist/is/platform.d.ts +2 -0
- package/dist/is/platform.js +10 -0
- package/dist/is/type.d.ts +8 -0
- package/dist/is/type.js +38 -0
- package/dist/js/modern/monorepo.js +4 -5
- package/dist/js/node/monorepo.js +5 -7
- package/dist/js/treeshaking/monorepo.js +7 -6
- package/dist/logger.d.ts +63 -0
- package/dist/logger.js +128 -0
- package/dist/monorepo.d.ts +11 -0
- package/dist/monorepo.js +80 -0
- package/dist/nodeEnv.d.ts +3 -0
- package/dist/nodeEnv.js +49 -0
- package/dist/path.d.ts +3 -0
- package/dist/path.js +14 -0
- package/dist/{types/pkgUp.d.ts → pkgUp.d.ts} +1 -1
- package/dist/pkgUp.js +8 -0
- package/dist/prettyInstructions.d.ts +6 -0
- package/dist/prettyInstructions.js +64 -0
- package/dist/printBuildError.d.ts +8 -0
- package/dist/printBuildError.js +43 -0
- package/dist/readTsConfig.d.ts +2 -0
- package/dist/readTsConfig.js +19 -0
- package/dist/removeSlash.d.ts +3 -0
- package/dist/removeSlash.js +9 -0
- package/dist/runtimeExports.d.ts +4 -0
- package/dist/runtimeExports.js +53 -0
- package/dist/ssrHelpers.d.ts +4 -0
- package/dist/ssrHelpers.js +7 -0
- package/dist/storage.d.ts +5 -0
- package/dist/storage.js +61 -0
- package/dist/types/FileSizeReporter.d.ts +5 -5
- package/dist/types/alias.d.ts +12 -14
- package/dist/types/applyOptionsChain.d.ts +5 -5
- package/dist/types/clearConsole.d.ts +1 -1
- package/dist/types/compatRequire.d.ts +1 -1
- package/dist/types/compiled.d.ts +17 -0
- package/dist/types/constants.d.ts +165 -162
- package/dist/types/debug.d.ts +1 -3
- package/dist/types/emptyDir.d.ts +1 -1
- package/dist/types/ensureAbsolutePath.d.ts +1 -1
- package/dist/types/findExists.d.ts +1 -1
- package/dist/types/format.d.ts +5 -5
- package/dist/types/generateMetaTags.d.ts +3 -3
- package/dist/types/getBrowserslist.d.ts +1 -1
- package/dist/types/getCacheIdentifier.d.ts +3 -3
- package/dist/types/getEntryOptions.d.ts +1 -1
- package/dist/types/getPackageManager.d.ts +1 -1
- package/dist/types/getPort.d.ts +1 -1
- package/dist/types/getServerConfig.d.ts +1 -0
- package/dist/types/import.d.ts +2 -2
- package/dist/types/index.d.ts +3 -4
- package/dist/types/is/index.d.ts +1 -4
- package/dist/types/is/node-env.d.ts +1 -1
- package/dist/types/is/platform.d.ts +1 -1
- package/dist/types/is/type.d.ts +1 -1
- package/dist/types/logger.d.ts +49 -49
- package/dist/types/monorepo.d.ts +3 -3
- package/dist/types/nodeEnv.d.ts +1 -1
- package/dist/types/path.d.ts +1 -1
- package/dist/types/prettyInstructions.d.ts +2 -2
- package/dist/types/printBuildError.d.ts +1 -1
- package/dist/types/readTsConfig.d.ts +1 -1
- package/dist/types/removeSlash.d.ts +1 -1
- package/dist/types/runtimeExports.d.ts +3 -3
- package/dist/types/wait.d.ts +1 -1
- package/dist/types/watch.d.ts +4 -4
- package/dist/wait.d.ts +2 -0
- package/dist/wait.js +7 -0
- package/dist/watch.d.ts +8 -0
- package/dist/watch.js +64 -0
- package/jest.config.js +0 -1
- package/package.json +57 -40
- package/tests/debug.test.ts +2 -2
- package/tests/is.test.ts +27 -0
- package/tests/isPlatform.test.ts +19 -0
- package/tests/prettyInstructions.test.ts +1 -1
- package/tsconfig.json +3 -5
- package/dist/js/modern/FileSizeReporter.js +0 -156
- package/dist/js/modern/alias.js +0 -74
- package/dist/js/modern/applyOptionsChain.js +0 -27
- package/dist/js/modern/chalk.js +0 -2
- package/dist/js/modern/clearConsole.js +0 -5
- package/dist/js/modern/compatRequire.js +0 -26
- package/dist/js/modern/constants.js +0 -333
- package/dist/js/modern/emptyDir.js +0 -6
- package/dist/js/modern/findExists.js +0 -16
- package/dist/js/modern/format.js +0 -137
- package/dist/js/modern/generateMetaTags.js +0 -49
- package/dist/js/modern/getBrowserslist.js +0 -5
- package/dist/js/modern/getCacheIdentifier.js +0 -20
- package/dist/js/modern/getEntryOptions.js +0 -24
- package/dist/js/modern/getPackageManager.js +0 -37
- package/dist/js/modern/getPort.js +0 -52
- package/dist/js/modern/import.js +0 -11
- package/dist/js/modern/index.js +0 -34
- package/dist/js/modern/is/index.js +0 -77
- package/dist/js/modern/is/node-env.js +0 -5
- package/dist/js/modern/is/platform.js +0 -2
- package/dist/js/modern/is/type.js +0 -27
- package/dist/js/modern/logger.js +0 -152
- package/dist/js/modern/nodeEnv.js +0 -31
- package/dist/js/modern/path.js +0 -5
- package/dist/js/modern/pkgUp.js +0 -2
- package/dist/js/modern/prettyInstructions.js +0 -79
- package/dist/js/modern/printBuildError.js +0 -40
- package/dist/js/modern/readTsConfig.js +0 -13
- package/dist/js/modern/removeSlash.js +0 -3
- package/dist/js/modern/runtimeExports.js +0 -52
- package/dist/js/modern/wait.js +0 -5
- package/dist/js/modern/watch.js +0 -43
- package/dist/js/node/FileSizeReporter.js +0 -175
- package/dist/js/node/alias.js +0 -97
- package/dist/js/node/applyOptionsChain.js +0 -37
- package/dist/js/node/chalk.js +0 -15
- package/dist/js/node/clearConsole.js +0 -14
- package/dist/js/node/compatRequire.js +0 -41
- package/dist/js/node/constants.js +0 -353
- package/dist/js/node/debug.js +0 -19
- package/dist/js/node/emptyDir.js +0 -18
- package/dist/js/node/ensureAbsolutePath.js +0 -20
- package/dist/js/node/findExists.js +0 -27
- package/dist/js/node/format.js +0 -141
- package/dist/js/node/generateMetaTags.js +0 -58
- package/dist/js/node/getBrowserslist.js +0 -17
- package/dist/js/node/getCacheIdentifier.js +0 -27
- package/dist/js/node/getEntryOptions.js +0 -35
- package/dist/js/node/getPackageManager.js +0 -51
- package/dist/js/node/getPort.js +0 -67
- package/dist/js/node/import.js +0 -19
- package/dist/js/node/index.js +0 -465
- package/dist/js/node/is/index.js +0 -150
- package/dist/js/node/is/node-env.js +0 -23
- package/dist/js/node/is/platform.js +0 -14
- package/dist/js/node/is/type.js +0 -48
- package/dist/js/node/logger.js +0 -162
- package/dist/js/node/nodeEnv.js +0 -45
- package/dist/js/node/path.js +0 -24
- package/dist/js/node/pkgUp.js +0 -15
- package/dist/js/node/prettyInstructions.js +0 -95
- package/dist/js/node/printBuildError.js +0 -52
- package/dist/js/node/readTsConfig.js +0 -28
- package/dist/js/node/removeSlash.js +0 -18
- package/dist/js/node/runtimeExports.js +0 -68
- package/dist/js/node/wait.js +0 -12
- package/dist/js/node/watch.js +0 -61
- package/dist/js/treeshaking/FileSizeReporter.js +0 -185
- package/dist/js/treeshaking/alias.js +0 -72
- package/dist/js/treeshaking/applyOptionsChain.js +0 -31
- package/dist/js/treeshaking/chalk.js +0 -2
- package/dist/js/treeshaking/clearConsole.js +0 -5
- package/dist/js/treeshaking/compatRequire.js +0 -29
- package/dist/js/treeshaking/constants.js +0 -333
- package/dist/js/treeshaking/debug.js +0 -10
- package/dist/js/treeshaking/emptyDir.js +0 -37
- package/dist/js/treeshaking/ensureAbsolutePath.js +0 -11
- package/dist/js/treeshaking/findExists.js +0 -33
- package/dist/js/treeshaking/format.js +0 -167
- package/dist/js/treeshaking/generateMetaTags.js +0 -55
- package/dist/js/treeshaking/getBrowserslist.js +0 -7
- package/dist/js/treeshaking/getCacheIdentifier.js +0 -35
- package/dist/js/treeshaking/getEntryOptions.js +0 -26
- package/dist/js/treeshaking/getPackageManager.js +0 -101
- package/dist/js/treeshaking/getPort.js +0 -103
- package/dist/js/treeshaking/import.js +0 -11
- package/dist/js/treeshaking/index.js +0 -34
- package/dist/js/treeshaking/is/index.js +0 -81
- package/dist/js/treeshaking/is/node-env.js +0 -13
- package/dist/js/treeshaking/is/platform.js +0 -6
- package/dist/js/treeshaking/is/type.js +0 -29
- package/dist/js/treeshaking/logger.js +0 -188
- package/dist/js/treeshaking/nodeEnv.js +0 -108
- package/dist/js/treeshaking/path.js +0 -11
- package/dist/js/treeshaking/pkgUp.js +0 -2
- package/dist/js/treeshaking/prettyInstructions.js +0 -100
- package/dist/js/treeshaking/printBuildError.js +0 -40
- package/dist/js/treeshaking/readTsConfig.js +0 -13
- package/dist/js/treeshaking/removeSlash.js +0 -9
- package/dist/js/treeshaking/runtimeExports.js +0 -61
- package/dist/js/treeshaking/wait.js +0 -8
- package/dist/js/treeshaking/watch.js +0 -112
- 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 */
|
package/dist/js/modern/alias.js
DELETED
@@ -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
|
-
};
|
package/dist/js/modern/chalk.js
DELETED
@@ -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,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
|
-
};
|