@modern-js/utils 1.3.4 → 1.3.7-alpha.prebundle.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 +18 -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/{types/FileSizeReporter.d.ts → FileSizeReporter.d.ts} +5 -5
- package/dist/FileSizeReporter.js +151 -0
- package/dist/{types/alias.d.ts → alias.d.ts} +12 -14
- 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/{types/compatRequire.d.ts → compatRequire.d.ts} +1 -1
- package/dist/compatRequire.js +28 -0
- package/dist/compiled/upath/index.d.ts +225 -0
- package/dist/compiled/upath/index.js +1 -0
- package/dist/compiled.d.ts +21 -0
- package/dist/compiled.js +33 -0
- package/dist/constants.d.ts +209 -0
- package/dist/constants.js +264 -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/{types/ensureAbsolutePath.d.ts → ensureAbsolutePath.d.ts} +1 -1
- package/dist/ensureAbsolutePath.js +15 -0
- package/dist/{types/findExists.d.ts → findExists.d.ts} +1 -1
- package/dist/findExists.js +21 -0
- package/dist/{types/format.d.ts → format.d.ts} +5 -5
- package/dist/format.js +113 -0
- package/dist/{types/generateMetaTags.d.ts → generateMetaTags.d.ts} +3 -3
- package/dist/generateMetaTags.js +48 -0
- package/dist/{types/getBrowserslist.d.ts → getBrowserslist.d.ts} +1 -1
- package/dist/getBrowserslist.js +7 -0
- package/dist/{types/getCacheIdentifier.d.ts → getCacheIdentifier.d.ts} +3 -3
- package/dist/getCacheIdentifier.js +24 -0
- package/dist/{types/getEntryOptions.d.ts → getEntryOptions.d.ts} +1 -1
- package/dist/getEntryOptions.js +26 -0
- package/dist/{types/getPackageManager.d.ts → getPackageManager.d.ts} +1 -1
- package/dist/getPackageManager.js +47 -0
- package/dist/{types/getPort.d.ts → getPort.d.ts} +1 -1
- package/dist/getPort.js +62 -0
- package/dist/{types/import.d.ts → import.d.ts} +2 -2
- package/dist/import.js +10 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +43 -0
- package/dist/{types/is → is}/index.d.ts +1 -4
- package/dist/is/index.js +82 -0
- package/dist/{types/is → is}/node-env.d.ts +1 -1
- 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/logger.d.ts +63 -0
- package/dist/logger.js +128 -0
- package/dist/{types/monorepo.d.ts → monorepo.d.ts} +3 -3
- package/dist/monorepo.js +80 -0
- package/dist/{types/nodeEnv.d.ts → nodeEnv.d.ts} +1 -1
- package/dist/nodeEnv.js +49 -0
- package/dist/{types/path.d.ts → path.d.ts} +1 -1
- 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/{types/prettyInstructions.d.ts → prettyInstructions.d.ts} +2 -2
- package/dist/prettyInstructions.js +64 -0
- package/dist/{types/printBuildError.d.ts → printBuildError.d.ts} +1 -1
- package/dist/printBuildError.js +43 -0
- package/dist/{types/readTsConfig.d.ts → readTsConfig.d.ts} +1 -1
- package/dist/readTsConfig.js +19 -0
- package/dist/{types/removeSlash.d.ts → removeSlash.d.ts} +1 -1
- package/dist/removeSlash.js +9 -0
- package/dist/{types/runtimeExports.d.ts → runtimeExports.d.ts} +3 -3
- package/dist/runtimeExports.js +53 -0
- package/dist/src/FileSizeReporter.d.ts +16 -0
- package/dist/src/FileSizeReporter.js +152 -0
- package/dist/src/alias.d.ts +21 -0
- package/dist/src/alias.js +62 -0
- package/dist/src/applyOptionsChain.d.ts +6 -0
- package/dist/src/applyOptionsChain.js +30 -0
- package/dist/src/clearConsole.d.ts +1 -0
- package/dist/src/clearConsole.js +9 -0
- package/dist/src/compatRequire.d.ts +8 -0
- package/dist/src/compatRequire.js +28 -0
- package/dist/src/compiled.d.ts +7 -0
- package/dist/src/compiled.js +19 -0
- package/dist/src/constants.d.ts +209 -0
- package/dist/src/constants.js +264 -0
- package/dist/{types → src}/debug.d.ts +1 -2
- package/dist/src/debug.js +14 -0
- package/dist/src/emptyDir.d.ts +1 -0
- package/dist/src/emptyDir.js +22 -0
- package/dist/{js/modern/ensureAbsolutePath.js → src/ensureAbsolutePath.d.ts} +1 -3
- package/dist/src/ensureAbsolutePath.js +15 -0
- package/dist/src/findExists.d.ts +6 -0
- package/dist/src/findExists.js +21 -0
- package/dist/src/format.d.ts +16 -0
- package/dist/src/format.js +115 -0
- package/dist/src/generateMetaTags.d.ts +16 -0
- package/dist/src/generateMetaTags.js +48 -0
- package/dist/src/getBrowserslist.d.ts +2 -0
- package/dist/src/getBrowserslist.js +7 -0
- package/dist/src/getCacheIdentifier.d.ts +7 -0
- package/dist/src/getCacheIdentifier.js +24 -0
- package/dist/src/getEntryOptions.d.ts +1 -0
- package/dist/src/getEntryOptions.js +26 -0
- package/dist/src/getPackageManager.d.ts +1 -0
- package/dist/src/getPackageManager.js +47 -0
- package/dist/src/getPort.d.ts +7 -0
- package/dist/src/getPort.js +62 -0
- package/dist/src/import.d.ts +5 -0
- package/dist/src/import.js +10 -0
- package/dist/{types → src}/index.d.ts +2 -3
- package/dist/src/index.js +57 -0
- package/dist/src/is/index.d.ts +34 -0
- package/dist/src/is/index.js +82 -0
- package/dist/src/is/node-env.d.ts +4 -0
- package/dist/src/is/node-env.js +12 -0
- package/dist/src/is/platform.d.ts +2 -0
- package/dist/src/is/platform.js +10 -0
- package/dist/src/is/type.d.ts +8 -0
- package/dist/src/is/type.js +38 -0
- package/dist/src/logger.d.ts +63 -0
- package/dist/src/logger.js +129 -0
- package/dist/src/monorepo.d.ts +11 -0
- package/dist/src/monorepo.js +81 -0
- package/dist/src/nodeEnv.d.ts +3 -0
- package/dist/src/nodeEnv.js +52 -0
- package/dist/src/path.d.ts +3 -0
- package/dist/src/path.js +14 -0
- package/dist/src/prettyInstructions.d.ts +6 -0
- package/dist/src/prettyInstructions.js +64 -0
- package/dist/src/printBuildError.d.ts +8 -0
- package/dist/src/printBuildError.js +43 -0
- package/dist/src/readTsConfig.d.ts +2 -0
- package/dist/src/readTsConfig.js +19 -0
- package/dist/src/removeSlash.d.ts +3 -0
- package/dist/src/removeSlash.js +9 -0
- package/dist/src/runtimeExports.d.ts +4 -0
- package/dist/src/runtimeExports.js +53 -0
- package/dist/{types → src}/wait.d.ts +1 -1
- package/dist/src/wait.js +7 -0
- package/dist/{types → src}/watch.d.ts +3 -3
- package/dist/src/watch.js +65 -0
- 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 +55 -39
- package/tests/debug.test.ts +2 -2
- package/tests/is.test.ts +27 -0
- package/tests/isPlatform.test.ts +19 -0
- package/tests/isType.test.ts +70 -2
- 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 -338
- 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 -28
- package/dist/js/modern/logger.js +0 -152
- package/dist/js/modern/monorepo.js +0 -84
- 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 -358
- 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 -49
- package/dist/js/node/logger.js +0 -162
- package/dist/js/node/monorepo.js +0 -118
- 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 -338
- 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 -30
- package/dist/js/treeshaking/logger.js +0 -188
- package/dist/js/treeshaking/monorepo.js +0 -95
- 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/applyOptionsChain.d.ts +0 -6
- package/dist/types/chalk.d.ts +0 -2
- package/dist/types/clearConsole.d.ts +0 -1
- package/dist/types/constants.d.ts +0 -219
- package/dist/types/emptyDir.d.ts +0 -1
- package/dist/types/is/platform.d.ts +0 -2
- package/dist/types/is/type.d.ts +0 -8
- package/dist/types/logger.d.ts +0 -63
@@ -0,0 +1,152 @@
|
|
1
|
+
/* eslint-disable eslint-comments/no-unlimited-disable */
|
2
|
+
/* eslint-disable */
|
3
|
+
/**
|
4
|
+
* Copyright (c) 2015-present, Facebook, Inc.
|
5
|
+
*
|
6
|
+
* This source code is licensed under the MIT license found in the
|
7
|
+
* LICENSE file at
|
8
|
+
* https://github.com/facebook/create-react-app/blob/master/LICENSE
|
9
|
+
*/
|
10
|
+
// Modified by Chao Xu (xuchaobei)
|
11
|
+
'use strict';
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
14
|
+
};
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
16
|
+
exports.printFileSizesAfterBuild = exports.measureFileSizesBeforeBuild = void 0;
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
18
|
+
const path_1 = __importDefault(require("path"));
|
19
|
+
const compiled_1 = require("./compiled");
|
20
|
+
const recursive_readdir_1 = __importDefault(require("recursive-readdir"));
|
21
|
+
const logger_1 = require("./logger");
|
22
|
+
function canReadAsset(asset) {
|
23
|
+
return (/\.(js|css)$/.test(asset) &&
|
24
|
+
!/service-worker\.js/.test(asset) &&
|
25
|
+
!/precache-manifest\.[0-9a-f]+\.js/.test(asset));
|
26
|
+
}
|
27
|
+
// Prints a detailed summary of build files.
|
28
|
+
function printFileSizesAfterBuild(webpackStats, previousSizeMap, buildFolder, maxBundleGzipSize, maxChunkGzipSize) {
|
29
|
+
var root = previousSizeMap.root;
|
30
|
+
var sizes = previousSizeMap.sizes;
|
31
|
+
var assets = (webpackStats.stats || [webpackStats])
|
32
|
+
.map((stats) => stats
|
33
|
+
.toJson({ all: false, assets: true })
|
34
|
+
.assets.filter((asset) => canReadAsset(asset.name))
|
35
|
+
.map((asset) => {
|
36
|
+
var fileContents = fs_1.default.readFileSync(path_1.default.join(root, asset.name));
|
37
|
+
var size = fileContents.length;
|
38
|
+
var gzippedSize = compiled_1.gzipSize.sync(fileContents);
|
39
|
+
var [previousSize, previousGzipSize] = sizes[removeFileNameHash(root, asset.name)] || [];
|
40
|
+
var sizeDifference = getDifferenceLabel(size, previousSize);
|
41
|
+
var gzipSizeDifference = getDifferenceLabel(gzippedSize, previousGzipSize);
|
42
|
+
return {
|
43
|
+
folder: path_1.default.join(path_1.default.basename(buildFolder), path_1.default.dirname(asset.name)),
|
44
|
+
name: path_1.default.basename(asset.name),
|
45
|
+
gzippedSize: gzippedSize,
|
46
|
+
sizeLabel: (0, compiled_1.filesize)(size) +
|
47
|
+
(sizeDifference ? ' (' + sizeDifference + ')' : ''),
|
48
|
+
gzipSizeLabel: (0, compiled_1.filesize)(gzippedSize) +
|
49
|
+
(gzipSizeDifference ? ' (' + gzipSizeDifference + ')' : ''),
|
50
|
+
};
|
51
|
+
}))
|
52
|
+
.reduce((single, all) => all.concat(single), []);
|
53
|
+
assets.sort((a, b) => b.size - a.size);
|
54
|
+
var longestSizeLabelLength = Math.max.apply(null, assets.map((a) => (0, compiled_1.stripAnsi)(a.sizeLabel).length));
|
55
|
+
var longestFileNameLength = Math.max.apply(null, assets.map((a) => (0, compiled_1.stripAnsi)(a.folder + path_1.default.sep + a.name).length));
|
56
|
+
printFileSizesHeader(longestFileNameLength, longestSizeLabelLength);
|
57
|
+
var suggestBundleSplitting = false;
|
58
|
+
assets.forEach((asset) => {
|
59
|
+
var { folder, name, sizeLabel, gzipSizeLabel, gzippedSize } = asset;
|
60
|
+
var fileNameLength = (0, compiled_1.stripAnsi)(folder + path_1.default.sep + name).length;
|
61
|
+
var sizeLength = (0, compiled_1.stripAnsi)(sizeLabel).length;
|
62
|
+
if (sizeLength < longestSizeLabelLength) {
|
63
|
+
var rightPadding = ' '.repeat(longestSizeLabelLength - sizeLength);
|
64
|
+
sizeLabel += rightPadding;
|
65
|
+
}
|
66
|
+
var fileNameLabel = compiled_1.chalk.dim(asset.folder + path_1.default.sep) + compiled_1.chalk.cyan(asset.name);
|
67
|
+
if (fileNameLength < longestFileNameLength) {
|
68
|
+
var rightPadding = ' '.repeat(longestFileNameLength - fileNameLength);
|
69
|
+
fileNameLabel += rightPadding;
|
70
|
+
}
|
71
|
+
var isMainBundle = asset.name.indexOf('main.') === 0;
|
72
|
+
var maxRecommendedSize = isMainBundle
|
73
|
+
? maxBundleGzipSize
|
74
|
+
: maxChunkGzipSize;
|
75
|
+
var isLarge = maxRecommendedSize && gzippedSize > maxRecommendedSize;
|
76
|
+
if (isLarge && path_1.default.extname(asset.name) === '.js') {
|
77
|
+
suggestBundleSplitting = true;
|
78
|
+
}
|
79
|
+
logger_1.logger.log(' ' +
|
80
|
+
fileNameLabel +
|
81
|
+
' ' +
|
82
|
+
sizeLabel +
|
83
|
+
' ' +
|
84
|
+
(isLarge ? compiled_1.chalk.yellow(gzipSizeLabel) : gzipSizeLabel));
|
85
|
+
});
|
86
|
+
if (suggestBundleSplitting) {
|
87
|
+
logger_1.logger.log();
|
88
|
+
logger_1.logger.warn('The bundle size is significantly larger than recommended.');
|
89
|
+
}
|
90
|
+
}
|
91
|
+
exports.printFileSizesAfterBuild = printFileSizesAfterBuild;
|
92
|
+
function printFileSizesHeader(longestFileNameLength, longestSizeLabelLength) {
|
93
|
+
const longestLengths = [longestFileNameLength, longestSizeLabelLength];
|
94
|
+
const headerRow = ['File', 'Size', 'Gzipped'].reduce((prev, cur, index) => {
|
95
|
+
const length = longestLengths[index];
|
96
|
+
let curLabel = cur;
|
97
|
+
if (length) {
|
98
|
+
curLabel =
|
99
|
+
cur.length < length ? cur + ' '.repeat(length - cur.length) : cur;
|
100
|
+
}
|
101
|
+
return prev + curLabel + ' ';
|
102
|
+
}, ' ');
|
103
|
+
logger_1.logger.log(compiled_1.chalk.bold(compiled_1.chalk.blue(headerRow)));
|
104
|
+
}
|
105
|
+
function removeFileNameHash(buildFolder, fileName) {
|
106
|
+
return fileName
|
107
|
+
.replace(buildFolder, '')
|
108
|
+
.replace(/\\/g, '/')
|
109
|
+
.replace(/\/?(.*)(\.[0-9a-f]+)(\.chunk)?(\.js|\.css)/, (match, p1, p2, p3, p4) => p1 + p4);
|
110
|
+
}
|
111
|
+
// Input: 1024, 2048
|
112
|
+
// Output: "(+1 KB)"
|
113
|
+
function getDifferenceLabel(currentSize, previousSize) {
|
114
|
+
var FIFTY_KILOBYTES = 1024 * 50;
|
115
|
+
var difference = currentSize - previousSize;
|
116
|
+
var fileSize = !Number.isNaN(difference) ? (0, compiled_1.filesize)(difference) : 0;
|
117
|
+
if (difference >= FIFTY_KILOBYTES) {
|
118
|
+
return compiled_1.chalk.red('+' + fileSize);
|
119
|
+
}
|
120
|
+
else if (difference < FIFTY_KILOBYTES && difference > 0) {
|
121
|
+
return compiled_1.chalk.yellow('+' + fileSize);
|
122
|
+
}
|
123
|
+
else if (difference < 0) {
|
124
|
+
return compiled_1.chalk.green(fileSize);
|
125
|
+
}
|
126
|
+
else {
|
127
|
+
return '';
|
128
|
+
}
|
129
|
+
}
|
130
|
+
function measureFileSizesBeforeBuild(buildFolder) {
|
131
|
+
return new Promise(resolve => {
|
132
|
+
(0, recursive_readdir_1.default)(buildFolder, (err, fileNames) => {
|
133
|
+
var sizes;
|
134
|
+
if (!err && fileNames) {
|
135
|
+
sizes = fileNames
|
136
|
+
.filter(canReadAsset)
|
137
|
+
.reduce((memo, fileName) => {
|
138
|
+
var contents = fs_1.default.readFileSync(fileName);
|
139
|
+
var key = removeFileNameHash(buildFolder, fileName);
|
140
|
+
// save both the original size and gzip size
|
141
|
+
memo[key] = [contents.length, compiled_1.gzipSize.sync(contents)];
|
142
|
+
return memo;
|
143
|
+
}, {});
|
144
|
+
}
|
145
|
+
resolve({
|
146
|
+
root: buildFolder,
|
147
|
+
sizes: sizes || {},
|
148
|
+
});
|
149
|
+
});
|
150
|
+
});
|
151
|
+
}
|
152
|
+
exports.measureFileSizesBeforeBuild = measureFileSizesBeforeBuild;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
declare type AliasOption = Record<string, string> | ((aliases: Record<string, string>) => Record<string, unknown>) | Record<string, string> | undefined;
|
2
|
+
interface NormalizedConfig {
|
3
|
+
source: {
|
4
|
+
alias?: AliasOption | Array<AliasOption>;
|
5
|
+
};
|
6
|
+
}
|
7
|
+
interface IAliasConfig {
|
8
|
+
absoluteBaseUrl: string;
|
9
|
+
paths?: Record<string, string | string[]>;
|
10
|
+
isTsPath?: boolean;
|
11
|
+
isTsProject?: boolean;
|
12
|
+
}
|
13
|
+
export declare const validAlias: <T extends NormalizedConfig>(modernConfig: T, { tsconfigPath }: {
|
14
|
+
tsconfigPath: string;
|
15
|
+
}) => string | null;
|
16
|
+
export declare const getAlias: (aliasOption: AliasOption | Array<AliasOption>, option: {
|
17
|
+
appDirectory: string;
|
18
|
+
tsconfigPath: string;
|
19
|
+
}) => IAliasConfig;
|
20
|
+
export declare const getUserAlias: (alias?: Record<string, string | string[]>) => Record<string, string | string[]>;
|
21
|
+
export {};
|
@@ -0,0 +1,62 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.getUserAlias = exports.getAlias = exports.validAlias = void 0;
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
8
|
+
const path_1 = __importDefault(require("path"));
|
9
|
+
const compiled_1 = require("./compiled");
|
10
|
+
const readTsConfig_1 = require("./readTsConfig");
|
11
|
+
const applyOptionsChain_1 = require("./applyOptionsChain");
|
12
|
+
const validAlias = (modernConfig, { tsconfigPath }) => {
|
13
|
+
const { source: { alias }, } = modernConfig;
|
14
|
+
if (!alias) {
|
15
|
+
return null;
|
16
|
+
}
|
17
|
+
const isTsProject = fs_1.default.existsSync(tsconfigPath);
|
18
|
+
if (!isTsProject) {
|
19
|
+
return null;
|
20
|
+
}
|
21
|
+
const userAlias = (0, exports.getUserAlias)(alias);
|
22
|
+
if (Object.keys(userAlias).length > 0) {
|
23
|
+
return compiled_1.chalk.red('Note: Please use `compilerOptions.paths` in "tsconfig.json" file replace `source.alias` config in "modern.config.js/ts" when project is typescript');
|
24
|
+
}
|
25
|
+
return null;
|
26
|
+
};
|
27
|
+
exports.validAlias = validAlias;
|
28
|
+
const getAlias = (aliasOption, option) => {
|
29
|
+
var _a, _b;
|
30
|
+
const isTsProject = fs_1.default.existsSync(option.tsconfigPath);
|
31
|
+
let aliasConfig;
|
32
|
+
if (!isTsProject) {
|
33
|
+
aliasConfig = {
|
34
|
+
absoluteBaseUrl: option.appDirectory,
|
35
|
+
paths: (0, applyOptionsChain_1.applyOptionsChain)({ '@': ['./src'] }, aliasOption),
|
36
|
+
isTsPath: false,
|
37
|
+
isTsProject,
|
38
|
+
};
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
const tsconfig = (0, readTsConfig_1.readTsConfigByFile)(option.tsconfigPath);
|
42
|
+
const baseUrl = (_a = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.baseUrl;
|
43
|
+
aliasConfig = {
|
44
|
+
absoluteBaseUrl: baseUrl
|
45
|
+
? path_1.default.join(option.appDirectory, baseUrl)
|
46
|
+
: option.appDirectory,
|
47
|
+
paths: Object.assign(Object.assign({}, (aliasOption || {})), (_b = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.paths),
|
48
|
+
isTsPath: true,
|
49
|
+
isTsProject,
|
50
|
+
};
|
51
|
+
}
|
52
|
+
return aliasConfig;
|
53
|
+
};
|
54
|
+
exports.getAlias = getAlias;
|
55
|
+
// filter invalid ts paths that are not array
|
56
|
+
const getUserAlias = (alias = {}) => Object.keys(alias).reduce((o, k) => {
|
57
|
+
if (Array.isArray(alias[k])) {
|
58
|
+
o[k] = alias[k];
|
59
|
+
}
|
60
|
+
return o;
|
61
|
+
}, {});
|
62
|
+
exports.getUserAlias = getUserAlias;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export declare const applyOptionsChain: <T, U>(defaults: T, options?: T | (T | ((config: T, utils?: U | undefined) => void | T))[] | ((config: T, utils?: U | undefined) => void | T) | undefined, utils?: U | undefined, mergeFn?: {
|
2
|
+
<T_1, U_1>(target: T_1, source: U_1): T_1 & U_1;
|
3
|
+
<T_2, U_2, V>(target: T_2, source1: U_2, source2: V): T_2 & U_2 & V;
|
4
|
+
<T_3, U_3, V_1, W>(target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W;
|
5
|
+
(target: object, ...sources: any[]): any;
|
6
|
+
}) => T;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.applyOptionsChain = void 0;
|
4
|
+
// eslint-disable-next-line import/no-useless-path-segments
|
5
|
+
const index_1 = require("./index");
|
6
|
+
const applyOptionsChain = (defaults, options, utils, mergeFn = Object.assign) => {
|
7
|
+
if (!options) {
|
8
|
+
return defaults;
|
9
|
+
}
|
10
|
+
if ((0, index_1.isPlainObject)(options)) {
|
11
|
+
return mergeFn(defaults, options);
|
12
|
+
}
|
13
|
+
else if ((0, index_1.isFunction)(options)) {
|
14
|
+
const ret = options(defaults, utils);
|
15
|
+
if (ret) {
|
16
|
+
if (!(0, index_1.isPlainObject)(ret)) {
|
17
|
+
index_1.logger.warn(`${options.name}: Function should mutate the config and return nothing, Or return a cloned or merged version of config object.`);
|
18
|
+
}
|
19
|
+
return ret;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
else if (Array.isArray(options)) {
|
23
|
+
return options.reduce((memo, cur) => (0, exports.applyOptionsChain)(memo, cur, utils, mergeFn), defaults);
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
throw new Error(`applyOptionsChain error:\ndefault options is: ${JSON.stringify(defaults)}`);
|
27
|
+
}
|
28
|
+
return defaults;
|
29
|
+
};
|
30
|
+
exports.applyOptionsChain = applyOptionsChain;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const clearConsole: () => void;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.clearConsole = void 0;
|
4
|
+
const clearConsole = () => {
|
5
|
+
if (process.stdout.isTTY && !process.env.DEBUG) {
|
6
|
+
process.stdout.write('\x1B[H\x1B[2J');
|
7
|
+
}
|
8
|
+
};
|
9
|
+
exports.clearConsole = clearConsole;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Require function compatible with esm and cjs module.
|
3
|
+
* @param filePath - File to required.
|
4
|
+
* @returns module export object.
|
5
|
+
*/
|
6
|
+
export declare const compatRequire: (filePath: string) => any;
|
7
|
+
export declare const requireExistModule: (filename: string, extensions?: string[]) => any;
|
8
|
+
export declare const cleanRequireCache: (filelist: string[]) => void;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.cleanRequireCache = exports.requireExistModule = exports.compatRequire = void 0;
|
4
|
+
const findExists_1 = require("./findExists");
|
5
|
+
/**
|
6
|
+
* Require function compatible with esm and cjs module.
|
7
|
+
* @param filePath - File to required.
|
8
|
+
* @returns module export object.
|
9
|
+
*/
|
10
|
+
const compatRequire = (filePath) => {
|
11
|
+
const mod = require(filePath);
|
12
|
+
return (mod === null || mod === void 0 ? void 0 : mod.__esModule) ? mod.default : mod;
|
13
|
+
};
|
14
|
+
exports.compatRequire = compatRequire;
|
15
|
+
const requireExistModule = (filename, extensions = ['.ts', '.js']) => {
|
16
|
+
const exist = (0, findExists_1.findExists)(extensions.map(ext => `${filename}${ext}`));
|
17
|
+
if (!exist) {
|
18
|
+
return null;
|
19
|
+
}
|
20
|
+
return (0, exports.compatRequire)(exist);
|
21
|
+
};
|
22
|
+
exports.requireExistModule = requireExistModule;
|
23
|
+
const cleanRequireCache = (filelist) => {
|
24
|
+
filelist.forEach(filepath => {
|
25
|
+
delete require.cache[filepath];
|
26
|
+
});
|
27
|
+
};
|
28
|
+
exports.cleanRequireCache = cleanRequireCache;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import chalk from '../compiled/chalk';
|
2
|
+
import upath from '../compiled/upath';
|
3
|
+
import pkgUp from '../compiled/pkg-up';
|
4
|
+
import gzipSize from '../compiled/gzip-size';
|
5
|
+
declare const filesize: typeof import('../compiled/filesize');
|
6
|
+
declare const stripAnsi: typeof import('../compiled/strip-ansi');
|
7
|
+
export { chalk, upath, pkgUp, filesize, stripAnsi, gzipSize };
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.gzipSize = exports.stripAnsi = exports.filesize = exports.pkgUp = exports.upath = exports.chalk = void 0;
|
7
|
+
const chalk_1 = __importDefault(require("../compiled/chalk"));
|
8
|
+
exports.chalk = chalk_1.default;
|
9
|
+
const upath_1 = __importDefault(require("../compiled/upath"));
|
10
|
+
exports.upath = upath_1.default;
|
11
|
+
const pkg_up_1 = __importDefault(require("../compiled/pkg-up"));
|
12
|
+
exports.pkgUp = pkg_up_1.default;
|
13
|
+
const gzip_size_1 = __importDefault(require("../compiled/gzip-size"));
|
14
|
+
exports.gzipSize = gzip_size_1.default;
|
15
|
+
const import_1 = require("./import");
|
16
|
+
const filesize = import_1.Import.lazy('../compiled/filesize', require);
|
17
|
+
exports.filesize = filesize;
|
18
|
+
const stripAnsi = import_1.Import.lazy('../compiled/strip-ansi', require);
|
19
|
+
exports.stripAnsi = stripAnsi;
|
@@ -0,0 +1,209 @@
|
|
1
|
+
/**
|
2
|
+
* hmr socket connect path
|
3
|
+
*/
|
4
|
+
export declare const HMR_SOCK_PATH = "/_modern_js_hmr_ws";
|
5
|
+
/**
|
6
|
+
* route specification file
|
7
|
+
*/
|
8
|
+
export declare const ROUTE_SPEC_FILE = "route.json";
|
9
|
+
/**
|
10
|
+
* main entry name
|
11
|
+
*/
|
12
|
+
export declare const MAIN_ENTRY_NAME = "main";
|
13
|
+
/**
|
14
|
+
* open editor request path
|
15
|
+
*/
|
16
|
+
export declare const LAUNCH_EDITOR_ENDPOINT = "/__open-stack-frame-in-editor";
|
17
|
+
/**
|
18
|
+
* server side bundles directory, which relative to dist.
|
19
|
+
*/
|
20
|
+
export declare const SERVER_BUNDLE_DIRECTORY = "bundles";
|
21
|
+
/**
|
22
|
+
* entry name pattern used for ajv pattern properties.
|
23
|
+
*/
|
24
|
+
export declare const ENTRY_NAME_PATTERN = "^[a-zA-Z0-9_-]+$";
|
25
|
+
/**
|
26
|
+
* SSR server render function name
|
27
|
+
*/
|
28
|
+
export declare const SERVER_RENDER_FUNCTION_NAME = "serverRender";
|
29
|
+
/**
|
30
|
+
* loadbale manifest json file
|
31
|
+
*/
|
32
|
+
export declare const LOADABLE_STATS_FILE = "loadable-stats.json";
|
33
|
+
/**
|
34
|
+
* internal specified folder
|
35
|
+
*/
|
36
|
+
export declare const API_DIR = "api";
|
37
|
+
export declare const SERVER_DIR = "server";
|
38
|
+
export declare const SHARED_DIR = "shared";
|
39
|
+
/**
|
40
|
+
* Internal plugins that work as soon as they are installed.
|
41
|
+
*/
|
42
|
+
export declare const INTERNAL_PLUGINS: {
|
43
|
+
[name: string]: {
|
44
|
+
cli?: string;
|
45
|
+
server?: string;
|
46
|
+
};
|
47
|
+
};
|
48
|
+
/**
|
49
|
+
* The schema registered in the plugin.
|
50
|
+
*/
|
51
|
+
export declare const PLUGIN_SCHEMAS: {
|
52
|
+
'@modern-js/runtime': ({
|
53
|
+
target: string;
|
54
|
+
schema: {
|
55
|
+
type: string;
|
56
|
+
additionalProperties: boolean;
|
57
|
+
patternProperties?: undefined;
|
58
|
+
};
|
59
|
+
} | {
|
60
|
+
target: string;
|
61
|
+
schema: {
|
62
|
+
type: string;
|
63
|
+
patternProperties: {
|
64
|
+
"^[a-zA-Z0-9_-]+$": {
|
65
|
+
type: string;
|
66
|
+
};
|
67
|
+
};
|
68
|
+
additionalProperties: boolean;
|
69
|
+
};
|
70
|
+
})[];
|
71
|
+
'@modern-js/plugin-bff': {
|
72
|
+
target: string;
|
73
|
+
schema: {
|
74
|
+
type: string;
|
75
|
+
properties: {
|
76
|
+
prefix: {
|
77
|
+
type: string[];
|
78
|
+
items: {
|
79
|
+
type: string;
|
80
|
+
};
|
81
|
+
};
|
82
|
+
fetcher: {
|
83
|
+
type: string;
|
84
|
+
};
|
85
|
+
proxy: {
|
86
|
+
type: string;
|
87
|
+
};
|
88
|
+
requestCreator: {
|
89
|
+
type: string;
|
90
|
+
};
|
91
|
+
};
|
92
|
+
};
|
93
|
+
}[];
|
94
|
+
'@modern-js/plugin-esbuild': {
|
95
|
+
target: string;
|
96
|
+
schema: {
|
97
|
+
typeof: string[];
|
98
|
+
};
|
99
|
+
}[];
|
100
|
+
'@modern-js/plugin-less': {
|
101
|
+
target: string;
|
102
|
+
schema: {
|
103
|
+
typeof: string[];
|
104
|
+
};
|
105
|
+
}[];
|
106
|
+
'@modern-js/plugin-sass': {
|
107
|
+
target: string;
|
108
|
+
schema: {
|
109
|
+
typeof: string[];
|
110
|
+
};
|
111
|
+
}[];
|
112
|
+
'@modern-js/plugin-tailwindcss': {
|
113
|
+
target: string;
|
114
|
+
schema: {
|
115
|
+
typeof: string[];
|
116
|
+
};
|
117
|
+
}[];
|
118
|
+
'@modern-js/plugin-proxy': {
|
119
|
+
target: string;
|
120
|
+
schema: {
|
121
|
+
typeof: string[];
|
122
|
+
};
|
123
|
+
}[];
|
124
|
+
'@modern-js/plugin-unbundle': ({
|
125
|
+
target: string;
|
126
|
+
schema: {
|
127
|
+
type: string;
|
128
|
+
properties?: undefined;
|
129
|
+
};
|
130
|
+
} | {
|
131
|
+
target: string;
|
132
|
+
schema: {
|
133
|
+
type: string;
|
134
|
+
properties: {
|
135
|
+
ignore: {
|
136
|
+
type: string[];
|
137
|
+
items: {
|
138
|
+
type: string;
|
139
|
+
};
|
140
|
+
};
|
141
|
+
ignoreModuleCache: {
|
142
|
+
type: string;
|
143
|
+
};
|
144
|
+
clearPdnCache: {
|
145
|
+
type: string;
|
146
|
+
};
|
147
|
+
pdnHost: {
|
148
|
+
type: string;
|
149
|
+
};
|
150
|
+
};
|
151
|
+
};
|
152
|
+
})[];
|
153
|
+
'@modern-js/plugin-ssg': {
|
154
|
+
target: string;
|
155
|
+
schema: {
|
156
|
+
oneOf: ({
|
157
|
+
type: string;
|
158
|
+
instanceof?: undefined;
|
159
|
+
} | {
|
160
|
+
instanceof: string;
|
161
|
+
type?: undefined;
|
162
|
+
})[];
|
163
|
+
};
|
164
|
+
}[];
|
165
|
+
'@modern-js/plugin-ssr': {
|
166
|
+
target: string;
|
167
|
+
schema: {
|
168
|
+
type: string[];
|
169
|
+
};
|
170
|
+
}[];
|
171
|
+
'@modern-js/plugin-state': {
|
172
|
+
target: string;
|
173
|
+
schema: {
|
174
|
+
type: string[];
|
175
|
+
};
|
176
|
+
}[];
|
177
|
+
'@modern-js/plugin-design-token': ({
|
178
|
+
target: string;
|
179
|
+
schema: {
|
180
|
+
typeof: string[];
|
181
|
+
type?: undefined;
|
182
|
+
};
|
183
|
+
} | {
|
184
|
+
target: string;
|
185
|
+
schema: {
|
186
|
+
type: string[];
|
187
|
+
typeof?: undefined;
|
188
|
+
};
|
189
|
+
})[];
|
190
|
+
'@modern-js/plugin-router': {
|
191
|
+
target: string;
|
192
|
+
schema: {
|
193
|
+
type: string[];
|
194
|
+
};
|
195
|
+
}[];
|
196
|
+
'@modern-js/plugin-testing': {
|
197
|
+
target: string;
|
198
|
+
schema: {
|
199
|
+
typeof: string[];
|
200
|
+
};
|
201
|
+
}[];
|
202
|
+
'@modern-js/plugin-garfish': {
|
203
|
+
target: string;
|
204
|
+
schema: {
|
205
|
+
type: string[];
|
206
|
+
};
|
207
|
+
}[];
|
208
|
+
'@modern-js/plugin-nocode': never[];
|
209
|
+
};
|