@modern-js/utils 1.21.5 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -3
- package/dist/alias.d.ts +4 -2
- package/dist/alias.js +21 -22
- package/dist/chainId.d.ts +10 -0
- package/dist/chainId.js +10 -0
- package/dist/compatRequire.d.ts +5 -2
- package/dist/compatRequire.js +11 -5
- package/dist/constants.d.ts +11 -53
- package/dist/constants.js +44 -89
- package/dist/format.d.ts +1 -1
- package/dist/format.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/is/index.js +8 -1
- package/dist/path.d.ts +11 -0
- package/dist/path.js +44 -1
- package/dist/pathSerializer.d.ts +16 -0
- package/dist/pathSerializer.js +50 -0
- package/dist/plugin.d.ts +2 -0
- package/dist/plugin.js +27 -0
- package/dist/routes.d.ts +2 -0
- package/dist/routes.js +20 -0
- package/package.json +6 -29
package/CHANGELOG.md
CHANGED
@@ -1,10 +1,90 @@
|
|
1
1
|
# @modern-js/utils
|
2
2
|
|
3
|
-
##
|
3
|
+
## 2.0.0-beta.1
|
4
4
|
|
5
|
-
|
5
|
+
### Major Changes
|
6
6
|
|
7
|
-
|
7
|
+
- dda38c9: chore: v2
|
8
|
+
|
9
|
+
### Minor Changes
|
10
|
+
|
11
|
+
- 92f0ead: feat:
|
12
|
+
|
13
|
+
1. core: 增加 test 函数
|
14
|
+
2. module plugins: 增加 `babel`, `mainField`, `target` 插件
|
15
|
+
3. storybook: 修改部分逻辑并且增加 tspath webpack 插件
|
16
|
+
4. 增加 designSystem 配置
|
17
|
+
|
18
|
+
feat:
|
19
|
+
|
20
|
+
1. core: add test method
|
21
|
+
2. module plugins: add `babel`, `mainField`, `target` plugin
|
22
|
+
3. storybook: change some logic and add tspath webpack plugin
|
23
|
+
4. add `designSystem` config
|
24
|
+
|
25
|
+
- edd1cfb1af: feat: modernjs Access builder compiler
|
26
|
+
feat: modernjs 接入 builder 构建
|
27
|
+
- d5a31df781: refactor: remove unbundle configs and types
|
28
|
+
|
29
|
+
refactor: 移除 unbundle 相关的配置项和类型定义
|
30
|
+
|
31
|
+
- 543be9558e: feat: compile server loader and support handle loader request
|
32
|
+
feat: 编译 server loader 并支持处理 loader 的请求
|
33
|
+
|
34
|
+
### Patch Changes
|
35
|
+
|
36
|
+
- cc971eabfc: refactor: move server plugin load logic in `@modern-js/core`
|
37
|
+
refactor:移除在 `@modern-js/core` 中的 server 插件加载逻辑
|
38
|
+
- 5b9049f: feat: inject async js chunk when streaming ssr
|
39
|
+
feat: streaming ssr 时, 注入 async 类型的 js chunk
|
40
|
+
- 92004d1: feat: support load chunks parallelly
|
41
|
+
feat: 支持并行加载 chunks
|
42
|
+
- b8bbe036c7: feat: change type logic
|
43
|
+
feat: 修改类型相关的逻辑
|
44
|
+
- 3bbea92b2a: feat: support Hook、Middleware new API
|
45
|
+
feat: 支持 Hook、Middleware 的新 API
|
46
|
+
- abf3421: fix(dev-server): isDepsExists add non pkgPath judege
|
47
|
+
|
48
|
+
修复: isDepsExists 方法添加 package.json 不存在的兜底
|
49
|
+
|
50
|
+
- 14b712d: fix: use consistent alias type and default value across packages
|
51
|
+
|
52
|
+
fix: 在各个包中使用一致的 alias 类型定义和默认值
|
53
|
+
|
54
|
+
## 2.0.0-beta.0
|
55
|
+
|
56
|
+
### Major Changes
|
57
|
+
|
58
|
+
- dda38c9: chore: v2
|
59
|
+
|
60
|
+
### Minor Changes
|
61
|
+
|
62
|
+
- edd1cfb1a: feat: modernjs Access builder compiler
|
63
|
+
feat: modernjs 接入 builder 构建
|
64
|
+
- d5a31df78: refactor: remove unbundle configs and types
|
65
|
+
|
66
|
+
refactor: 移除 unbundle 相关的配置项和类型定义
|
67
|
+
|
68
|
+
- 543be95: feat: compile server loader and support handle loader request
|
69
|
+
feat: 编译 server loader 并支持处理 loader 的请求
|
70
|
+
|
71
|
+
### Patch Changes
|
72
|
+
|
73
|
+
- cc971eabf: refactor: move server plugin load logic in `@modern-js/core`
|
74
|
+
refactor:移除在 `@modern-js/core` 中的 server 插件加载逻辑
|
75
|
+
- 5b9049f: feat: inject async js chunk when streaming ssr
|
76
|
+
feat: streaming ssr 时, 注入 async 类型的 js chunk
|
77
|
+
- b8bbe036c: feat: change type logic
|
78
|
+
feat: 修改类型相关的逻辑
|
79
|
+
- 3bbea92b2: feat: support Hook、Middleware new API
|
80
|
+
feat: 支持 Hook、Middleware 的新 API
|
81
|
+
- abf3421: fix(dev-server): isDepsExists add non pkgPath judege
|
82
|
+
|
83
|
+
修复: isDepsExists 方法添加 package.json 不存在的兜底
|
84
|
+
|
85
|
+
- 14b712d: fix: use consistent alias type and default value across packages
|
86
|
+
|
87
|
+
fix: 在各个包中使用一致的 alias 类型定义和默认值
|
8
88
|
|
9
89
|
## 1.21.2
|
10
90
|
|
package/dist/alias.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
declare type
|
1
|
+
export declare type Alias = Record<string, string | string[]>;
|
2
|
+
export declare type AliasOption = Alias | ((aliases: Alias) => Alias | void);
|
2
3
|
interface NormalizedConfig {
|
3
4
|
source: {
|
4
5
|
alias?: AliasOption | Array<AliasOption>;
|
@@ -13,7 +14,8 @@ interface IAliasConfig {
|
|
13
14
|
export declare const validAlias: <T extends NormalizedConfig>(modernConfig: T, { tsconfigPath }: {
|
14
15
|
tsconfigPath: string;
|
15
16
|
}) => string | null;
|
16
|
-
export declare const
|
17
|
+
export declare const mergeAlias: (alias: NormalizedConfig['source']['alias']) => Alias;
|
18
|
+
export declare const getAliasConfig: (aliasOption: NormalizedConfig['source']['alias'], option: {
|
17
19
|
appDirectory: string;
|
18
20
|
tsconfigPath: string;
|
19
21
|
}) => IAliasConfig;
|
package/dist/alias.js
CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.getUserAlias = exports.
|
6
|
+
exports.getUserAlias = exports.getAliasConfig = exports.mergeAlias = exports.validAlias = void 0;
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
8
8
|
const path_1 = __importDefault(require("path"));
|
9
9
|
const compiled_1 = require("./compiled");
|
@@ -25,36 +25,35 @@ const validAlias = (modernConfig, { tsconfigPath }) => {
|
|
25
25
|
return null;
|
26
26
|
};
|
27
27
|
exports.validAlias = validAlias;
|
28
|
-
const
|
28
|
+
const mergeAlias = (alias) => (0, applyOptionsChain_1.applyOptionsChain)({}, alias);
|
29
|
+
exports.mergeAlias = mergeAlias;
|
30
|
+
const getAliasConfig = (aliasOption, option) => {
|
29
31
|
var _a, _b;
|
30
32
|
const isTsProject = fs_1.default.existsSync(option.tsconfigPath);
|
31
|
-
|
33
|
+
const alias = (0, exports.mergeAlias)(aliasOption);
|
32
34
|
if (!isTsProject) {
|
33
|
-
|
35
|
+
return {
|
34
36
|
absoluteBaseUrl: option.appDirectory,
|
35
|
-
paths:
|
37
|
+
paths: alias,
|
36
38
|
isTsPath: false,
|
37
39
|
isTsProject,
|
38
40
|
};
|
39
41
|
}
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
};
|
54
|
-
}
|
55
|
-
return aliasConfig;
|
42
|
+
const tsconfig = (0, readTsConfig_1.readTsConfigByFile)(option.tsconfigPath);
|
43
|
+
const baseUrl = (_a = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _a === void 0 ? void 0 : _a.baseUrl;
|
44
|
+
return {
|
45
|
+
absoluteBaseUrl: baseUrl
|
46
|
+
? path_1.default.join(option.appDirectory, baseUrl)
|
47
|
+
: option.appDirectory,
|
48
|
+
paths: {
|
49
|
+
...alias,
|
50
|
+
...(_b = tsconfig === null || tsconfig === void 0 ? void 0 : tsconfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.paths,
|
51
|
+
},
|
52
|
+
isTsPath: true,
|
53
|
+
isTsProject,
|
54
|
+
};
|
56
55
|
};
|
57
|
-
exports.
|
56
|
+
exports.getAliasConfig = getAliasConfig;
|
58
57
|
// filter invalid ts paths that are not array
|
59
58
|
const getUserAlias = (alias = {}) => Object.keys(alias).reduce((o, k) => {
|
60
59
|
if (Array.isArray(alias[k])) {
|
package/dist/chainId.d.ts
CHANGED
@@ -31,6 +31,8 @@ export declare const CHAIN_ID: {
|
|
31
31
|
readonly TOML: "toml";
|
32
32
|
/** Rule for yaml */
|
33
33
|
readonly YAML: "yaml";
|
34
|
+
/** Rule for bff */
|
35
|
+
readonly JS_BFF_API: "js-bff-api";
|
34
36
|
};
|
35
37
|
/** Predefined rule groups */
|
36
38
|
readonly ONE_OF: {
|
@@ -83,12 +85,16 @@ export declare const CHAIN_ID: {
|
|
83
85
|
readonly BABEL: "babel";
|
84
86
|
/** esbuild-loader */
|
85
87
|
readonly ESBUILD: "esbuild";
|
88
|
+
/** swc-loader */
|
89
|
+
readonly SWC: "swc";
|
86
90
|
/** style-loader */
|
87
91
|
readonly STYLE: "style-loader";
|
88
92
|
/** postcss-loader */
|
89
93
|
readonly POSTCSS: "postcss";
|
90
94
|
/** markdown-loader */
|
91
95
|
readonly MARKDOWN: "markdown";
|
96
|
+
/** ignore-css-loader */
|
97
|
+
readonly IGNORE_CSS: "ignore-css";
|
92
98
|
/** css-modules-typescript-loader */
|
93
99
|
readonly CSS_MODULES_TS: "css-modules-typescript";
|
94
100
|
/** mini-css-extract-plugin.loader */
|
@@ -140,6 +146,8 @@ export declare const CHAIN_ID: {
|
|
140
146
|
readonly ASSETS_RETRY: "ASSETS_RETRY";
|
141
147
|
/** AutoSetRootFontSizePlugin */
|
142
148
|
readonly AUTO_SET_ROOT_SIZE: "auto-set-root-size";
|
149
|
+
/** HtmlAsyncChunkPlugin */
|
150
|
+
readonly HTML_ASYNC_CHUNK: "html-async-chunk";
|
143
151
|
};
|
144
152
|
/** Predefined minimizers */
|
145
153
|
readonly MINIMIZER: {
|
@@ -149,6 +157,8 @@ export declare const CHAIN_ID: {
|
|
149
157
|
readonly CSS: "css";
|
150
158
|
/** ESBuildPlugin */
|
151
159
|
readonly ESBUILD: "js-css";
|
160
|
+
/** SWCPlugin */
|
161
|
+
readonly SWC: "swc";
|
152
162
|
};
|
153
163
|
/** Predefined resolve plugins */
|
154
164
|
readonly RESOLVE_PLUGIN: {
|
package/dist/chainId.js
CHANGED
@@ -34,6 +34,8 @@ exports.CHAIN_ID = {
|
|
34
34
|
TOML: 'toml',
|
35
35
|
/** Rule for yaml */
|
36
36
|
YAML: 'yaml',
|
37
|
+
/** Rule for bff */
|
38
|
+
JS_BFF_API: 'js-bff-api',
|
37
39
|
},
|
38
40
|
/** Predefined rule groups */
|
39
41
|
ONE_OF: {
|
@@ -86,12 +88,16 @@ exports.CHAIN_ID = {
|
|
86
88
|
BABEL: 'babel',
|
87
89
|
/** esbuild-loader */
|
88
90
|
ESBUILD: 'esbuild',
|
91
|
+
/** swc-loader */
|
92
|
+
SWC: 'swc',
|
89
93
|
/** style-loader */
|
90
94
|
STYLE: 'style-loader',
|
91
95
|
/** postcss-loader */
|
92
96
|
POSTCSS: 'postcss',
|
93
97
|
/** markdown-loader */
|
94
98
|
MARKDOWN: 'markdown',
|
99
|
+
/** ignore-css-loader */
|
100
|
+
IGNORE_CSS: 'ignore-css',
|
95
101
|
/** css-modules-typescript-loader */
|
96
102
|
CSS_MODULES_TS: 'css-modules-typescript',
|
97
103
|
/** mini-css-extract-plugin.loader */
|
@@ -143,6 +149,8 @@ exports.CHAIN_ID = {
|
|
143
149
|
ASSETS_RETRY: 'ASSETS_RETRY',
|
144
150
|
/** AutoSetRootFontSizePlugin */
|
145
151
|
AUTO_SET_ROOT_SIZE: 'auto-set-root-size',
|
152
|
+
/** HtmlAsyncChunkPlugin */
|
153
|
+
HTML_ASYNC_CHUNK: 'html-async-chunk',
|
146
154
|
},
|
147
155
|
/** Predefined minimizers */
|
148
156
|
MINIMIZER: {
|
@@ -152,6 +160,8 @@ exports.CHAIN_ID = {
|
|
152
160
|
CSS: 'css',
|
153
161
|
/** ESBuildPlugin */
|
154
162
|
ESBUILD: 'js-css',
|
163
|
+
/** SWCPlugin */
|
164
|
+
SWC: 'swc',
|
155
165
|
},
|
156
166
|
/** Predefined resolve plugins */
|
157
167
|
RESOLVE_PLUGIN: {
|
package/dist/compatRequire.d.ts
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
* @param filePath - File to required.
|
4
4
|
* @returns module export object.
|
5
5
|
*/
|
6
|
-
export declare const compatRequire: (filePath: string) => any;
|
7
|
-
export declare const requireExistModule: (filename: string,
|
6
|
+
export declare const compatRequire: (filePath: string, interop?: boolean) => any;
|
7
|
+
export declare const requireExistModule: (filename: string, opt?: {
|
8
|
+
extensions?: string[];
|
9
|
+
interop?: boolean;
|
10
|
+
}) => any;
|
8
11
|
export declare const cleanRequireCache: (filelist: string[]) => void;
|
package/dist/compatRequire.js
CHANGED
@@ -7,17 +7,23 @@ const findExists_1 = require("./findExists");
|
|
7
7
|
* @param filePath - File to required.
|
8
8
|
* @returns module export object.
|
9
9
|
*/
|
10
|
-
const compatRequire = (filePath) => {
|
10
|
+
const compatRequire = (filePath, interop = true) => {
|
11
11
|
const mod = require(filePath);
|
12
|
-
|
12
|
+
const rtnESMDefault = interop && (mod === null || mod === void 0 ? void 0 : mod.__esModule);
|
13
|
+
return rtnESMDefault ? mod.default : mod;
|
13
14
|
};
|
14
15
|
exports.compatRequire = compatRequire;
|
15
|
-
const requireExistModule = (filename,
|
16
|
-
const
|
16
|
+
const requireExistModule = (filename, opt) => {
|
17
|
+
const final = {
|
18
|
+
extensions: ['.ts', '.js'],
|
19
|
+
interop: true,
|
20
|
+
...opt,
|
21
|
+
};
|
22
|
+
const exist = (0, findExists_1.findExists)(final.extensions.map(ext => `${filename}${ext}`));
|
17
23
|
if (!exist) {
|
18
24
|
return null;
|
19
25
|
}
|
20
|
-
return (0, exports.compatRequire)(exist);
|
26
|
+
return (0, exports.compatRequire)(exist, final.interop);
|
21
27
|
};
|
22
28
|
exports.requireExistModule = requireExistModule;
|
23
29
|
const cleanRequireCache = (filelist) => {
|
package/dist/constants.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { InternalPlugins } from '@modern-js/types';
|
1
2
|
/**
|
2
3
|
* hmr socket connect path
|
3
4
|
*/
|
@@ -49,15 +50,19 @@ export declare const OUTPUT_CONFIG_FILE = "modern.config.json";
|
|
49
50
|
* Default server config basename
|
50
51
|
*/
|
51
52
|
export declare const DEFAULT_SERVER_CONFIG = "modern.server-runtime.config";
|
53
|
+
/**
|
54
|
+
* Routes manifest filename
|
55
|
+
*/
|
56
|
+
export declare const ROUTE_MINIFEST_FILE = "routes-manifest.json";
|
57
|
+
/**
|
58
|
+
* Property mounted on window that describes route manifest
|
59
|
+
*/
|
60
|
+
export declare const ROUTE_MANIFEST = "_MODERNJS_ROUTE_MANIFEST";
|
52
61
|
/**
|
53
62
|
* Internal plugins that work as soon as they are installed.
|
54
63
|
*/
|
55
|
-
export declare const
|
56
|
-
|
57
|
-
cli?: string;
|
58
|
-
server?: string;
|
59
|
-
};
|
60
|
-
};
|
64
|
+
export declare const INTERNAL_CLI_PLUGINS: InternalPlugins;
|
65
|
+
export declare const INTERNAL_SERVER_PLUGINS: InternalPlugins;
|
61
66
|
/**
|
62
67
|
* The schema registered in the plugin.
|
63
68
|
*/
|
@@ -104,24 +109,6 @@ export declare const PLUGIN_SCHEMAS: {
|
|
104
109
|
};
|
105
110
|
};
|
106
111
|
}[];
|
107
|
-
'@modern-js/plugin-esbuild': {
|
108
|
-
target: string;
|
109
|
-
schema: {
|
110
|
-
typeof: string[];
|
111
|
-
};
|
112
|
-
}[];
|
113
|
-
'@modern-js/plugin-less': {
|
114
|
-
target: string;
|
115
|
-
schema: {
|
116
|
-
typeof: string[];
|
117
|
-
};
|
118
|
-
}[];
|
119
|
-
'@modern-js/plugin-sass': {
|
120
|
-
target: string;
|
121
|
-
schema: {
|
122
|
-
typeof: string[];
|
123
|
-
};
|
124
|
-
}[];
|
125
112
|
'@modern-js/plugin-tailwindcss': {
|
126
113
|
target: string;
|
127
114
|
schema: {
|
@@ -134,35 +121,6 @@ export declare const PLUGIN_SCHEMAS: {
|
|
134
121
|
typeof: string[];
|
135
122
|
};
|
136
123
|
}[];
|
137
|
-
'@modern-js/plugin-unbundle': ({
|
138
|
-
target: string;
|
139
|
-
schema: {
|
140
|
-
type: string;
|
141
|
-
properties?: undefined;
|
142
|
-
};
|
143
|
-
} | {
|
144
|
-
target: string;
|
145
|
-
schema: {
|
146
|
-
type: string;
|
147
|
-
properties: {
|
148
|
-
ignore: {
|
149
|
-
type: string[];
|
150
|
-
items: {
|
151
|
-
type: string;
|
152
|
-
};
|
153
|
-
};
|
154
|
-
ignoreModuleCache: {
|
155
|
-
type: string;
|
156
|
-
};
|
157
|
-
clearPdnCache: {
|
158
|
-
type: string;
|
159
|
-
};
|
160
|
-
pdnHost: {
|
161
|
-
type: string;
|
162
|
-
};
|
163
|
-
};
|
164
|
-
};
|
165
|
-
})[];
|
166
124
|
'@modern-js/plugin-ssg': {
|
167
125
|
target: string;
|
168
126
|
schema: {
|
package/dist/constants.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.PLUGIN_SCHEMAS = exports.
|
3
|
+
exports.PLUGIN_SCHEMAS = exports.INTERNAL_SERVER_PLUGINS = exports.INTERNAL_CLI_PLUGINS = exports.ROUTE_MANIFEST = exports.ROUTE_MINIFEST_FILE = exports.DEFAULT_SERVER_CONFIG = exports.OUTPUT_CONFIG_FILE = exports.CONFIG_FILE_EXTENSIONS = exports.CONFIG_CACHE_DIR = exports.SHARED_DIR = exports.SERVER_DIR = exports.API_DIR = exports.LOADABLE_STATS_FILE = exports.SERVER_RENDER_FUNCTION_NAME = exports.ENTRY_NAME_PATTERN = exports.SERVER_BUNDLE_DIRECTORY = exports.LAUNCH_EDITOR_ENDPOINT = exports.MAIN_ENTRY_NAME = exports.ROUTE_SPEC_FILE = exports.HMR_SOCK_PATH = void 0;
|
4
4
|
/**
|
5
5
|
* hmr socket connect path
|
6
6
|
*/
|
@@ -52,58 +52,49 @@ exports.OUTPUT_CONFIG_FILE = 'modern.config.json';
|
|
52
52
|
* Default server config basename
|
53
53
|
*/
|
54
54
|
exports.DEFAULT_SERVER_CONFIG = 'modern.server-runtime.config';
|
55
|
+
/**
|
56
|
+
* Routes manifest filename
|
57
|
+
*/
|
58
|
+
exports.ROUTE_MINIFEST_FILE = 'routes-manifest.json';
|
59
|
+
/**
|
60
|
+
* Property mounted on window that describes route manifest
|
61
|
+
*/
|
62
|
+
exports.ROUTE_MANIFEST = `_MODERNJS_ROUTE_MANIFEST`;
|
55
63
|
/**
|
56
64
|
* Internal plugins that work as soon as they are installed.
|
57
65
|
*/
|
58
|
-
exports.
|
59
|
-
'@modern-js/app-tools':
|
60
|
-
'@modern-js/monorepo-tools':
|
61
|
-
'@modern-js/module-tools':
|
62
|
-
'@modern-js/
|
63
|
-
'@modern-js/
|
64
|
-
'@modern-js/plugin-
|
65
|
-
'@modern-js/plugin-
|
66
|
-
'@modern-js/plugin-
|
67
|
-
'@modern-js/plugin-
|
68
|
-
'@modern-js/plugin-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
'@modern-js/plugin-
|
73
|
-
'@modern-js/plugin-
|
74
|
-
'@modern-js/plugin-
|
75
|
-
'@modern-js/plugin-
|
76
|
-
|
77
|
-
server: '@modern-js/plugin-express',
|
78
|
-
},
|
79
|
-
'@modern-js/plugin-egg': {
|
80
|
-
cli: '@modern-js/plugin-egg/cli',
|
81
|
-
server: '@modern-js/plugin-egg',
|
82
|
-
},
|
83
|
-
'@modern-js/plugin-koa': {
|
84
|
-
cli: '@modern-js/plugin-koa/cli',
|
85
|
-
server: '@modern-js/plugin-koa',
|
86
|
-
},
|
87
|
-
'@modern-js/plugin-nest': {
|
88
|
-
cli: '@modern-js/plugin-nest/cli',
|
89
|
-
server: '@modern-js/plugin-nest/server',
|
90
|
-
},
|
91
|
-
// TODO: remove unbundle configs after we completely deprecate it.
|
92
|
-
'@modern-js/plugin-unbundle': { cli: '@modern-js/plugin-unbundle' },
|
93
|
-
'@modern-js/plugin-server': {
|
94
|
-
cli: '@modern-js/plugin-server/cli',
|
95
|
-
server: '@modern-js/plugin-server/server',
|
96
|
-
},
|
97
|
-
'@modern-js/plugin-garfish': {
|
98
|
-
cli: '@modern-js/plugin-garfish/cli',
|
99
|
-
},
|
100
|
-
'@modern-js/plugin-tailwindcss': { cli: '@modern-js/plugin-tailwindcss/cli' },
|
101
|
-
'@modern-js/plugin-polyfill': {
|
102
|
-
cli: '@modern-js/plugin-polyfill/cli',
|
103
|
-
server: '@modern-js/plugin-polyfill',
|
104
|
-
},
|
66
|
+
exports.INTERNAL_CLI_PLUGINS = {
|
67
|
+
'@modern-js/app-tools': '@modern-js/app-tools/cli',
|
68
|
+
'@modern-js/monorepo-tools': '@modern-js/monorepo-tools/cli',
|
69
|
+
'@modern-js/module-tools': '@modern-js/module-tools/cli',
|
70
|
+
'@modern-js/module-tools-v2': '@modern-js/module-tools-v2',
|
71
|
+
'@modern-js/runtime': '@modern-js/runtime/cli',
|
72
|
+
'@modern-js/plugin-proxy': '@modern-js/plugin-proxy/cli',
|
73
|
+
'@modern-js/plugin-ssg': '@modern-js/plugin-ssg/cli',
|
74
|
+
'@modern-js/plugin-bff': '@modern-js/plugin-bff/cli',
|
75
|
+
'@modern-js/plugin-testing': '@modern-js/plugin-testing/cli',
|
76
|
+
'@modern-js/plugin-storybook': '@modern-js/plugin-storybook/cli',
|
77
|
+
'@modern-js/plugin-express': '@modern-js/plugin-express/cli',
|
78
|
+
'@modern-js/plugin-egg': '@modern-js/plugin-egg/cli',
|
79
|
+
'@modern-js/plugin-koa': '@modern-js/plugin-koa/cli',
|
80
|
+
'@modern-js/plugin-nest': '@modern-js/plugin-nest/cli',
|
81
|
+
'@modern-js/plugin-server': '@modern-js/plugin-server/cli',
|
82
|
+
'@modern-js/plugin-garfish': '@modern-js/plugin-garfish/cli',
|
83
|
+
'@modern-js/plugin-tailwindcss': '@modern-js/plugin-tailwindcss/cli',
|
84
|
+
'@modern-js/plugin-polyfill': '@modern-js/plugin-polyfill/cli',
|
105
85
|
// TODO: Maybe can remove it
|
106
|
-
'@modern-js/plugin-nocode':
|
86
|
+
'@modern-js/plugin-nocode': '@modern-js/plugin-nocode/cli',
|
87
|
+
// legacy router (inner react-router-dom v5)
|
88
|
+
'@modern-js/plugin-router-legacy': '@modern-js/plugin-router-legacy/cli',
|
89
|
+
};
|
90
|
+
exports.INTERNAL_SERVER_PLUGINS = {
|
91
|
+
'@modern-js/plugin-bff': '@modern-js/plugin-bff/server',
|
92
|
+
'@modern-js/plugin-express': '@modern-js/plugin-express',
|
93
|
+
'@modern-js/plugin-egg': '@modern-js/plugin-egg',
|
94
|
+
'@modern-js/plugin-koa': '@modern-js/plugin-koa',
|
95
|
+
'@modern-js/plugin-nest': '@modern-js/plugin-nest/server',
|
96
|
+
'@modern-js/plugin-server': '@modern-js/plugin-server/server',
|
97
|
+
'@modern-js/plugin-polyfill': '@modern-js/plugin-polyfill',
|
107
98
|
};
|
108
99
|
/**
|
109
100
|
* The schema registered in the plugin.
|
@@ -143,24 +134,6 @@ exports.PLUGIN_SCHEMAS = {
|
|
143
134
|
},
|
144
135
|
},
|
145
136
|
],
|
146
|
-
'@modern-js/plugin-esbuild': [
|
147
|
-
{
|
148
|
-
target: 'tools.esbuild',
|
149
|
-
schema: { typeof: ['object'] },
|
150
|
-
},
|
151
|
-
],
|
152
|
-
'@modern-js/plugin-less': [
|
153
|
-
{
|
154
|
-
target: 'tools.less',
|
155
|
-
schema: { typeof: ['object', 'function'] },
|
156
|
-
},
|
157
|
-
],
|
158
|
-
'@modern-js/plugin-sass': [
|
159
|
-
{
|
160
|
-
target: 'tools.sass',
|
161
|
-
schema: { typeof: ['object', 'function'] },
|
162
|
-
},
|
163
|
-
],
|
164
137
|
'@modern-js/plugin-tailwindcss': [
|
165
138
|
{
|
166
139
|
target: 'tools.tailwindcss',
|
@@ -173,28 +146,6 @@ exports.PLUGIN_SCHEMAS = {
|
|
173
146
|
schema: { typeof: ['string', 'object'] },
|
174
147
|
},
|
175
148
|
],
|
176
|
-
// TODO: remove unbundle configs after we completely deprecate it.
|
177
|
-
'@modern-js/plugin-unbundle': [
|
178
|
-
{
|
179
|
-
target: 'output.disableAutoImportStyle',
|
180
|
-
schema: { type: 'boolean' },
|
181
|
-
},
|
182
|
-
{
|
183
|
-
target: 'dev.unbundle',
|
184
|
-
schema: {
|
185
|
-
type: 'object',
|
186
|
-
properties: {
|
187
|
-
ignore: {
|
188
|
-
type: ['string', 'array'],
|
189
|
-
items: { type: 'string' },
|
190
|
-
},
|
191
|
-
ignoreModuleCache: { type: 'boolean' },
|
192
|
-
clearPdnCache: { type: 'boolean' },
|
193
|
-
pdnHost: { type: 'string' },
|
194
|
-
},
|
195
|
-
},
|
196
|
-
},
|
197
|
-
],
|
198
149
|
'@modern-js/plugin-ssg': [
|
199
150
|
{
|
200
151
|
target: 'output.ssg',
|
@@ -223,6 +174,10 @@ exports.PLUGIN_SCHEMAS = {
|
|
223
174
|
target: 'source.designSystem.supportStyledComponents',
|
224
175
|
schema: { type: ['boolean'] },
|
225
176
|
},
|
177
|
+
{
|
178
|
+
target: 'designSystem',
|
179
|
+
schema: { typeof: ['object'] },
|
180
|
+
},
|
226
181
|
],
|
227
182
|
'@modern-js/plugin-router': [
|
228
183
|
{
|
package/dist/format.d.ts
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* https://github.com/facebook/create-react-app/blob/master/LICENSE
|
7
7
|
*/
|
8
8
|
import type { StatsCompilation } from 'webpack';
|
9
|
-
declare function formatWebpackMessages(json
|
9
|
+
declare function formatWebpackMessages(json?: Pick<StatsCompilation, 'errors' | 'warnings'>): {
|
10
10
|
errors: string[];
|
11
11
|
warnings: string[];
|
12
12
|
};
|
package/dist/format.js
CHANGED
@@ -69,8 +69,8 @@ function formatMessage(stats) {
|
|
69
69
|
}
|
70
70
|
function formatWebpackMessages(json) {
|
71
71
|
var _a, _b, _c;
|
72
|
-
const formattedErrors = (_a = json.errors) === null || _a === void 0 ? void 0 : _a.map(formatMessage);
|
73
|
-
const formattedWarnings = (_b = json.warnings) === null || _b === void 0 ? void 0 : _b.map(formatMessage);
|
72
|
+
const formattedErrors = (_a = json === null || json === void 0 ? void 0 : json.errors) === null || _a === void 0 ? void 0 : _a.map(formatMessage);
|
73
|
+
const formattedWarnings = (_b = json === null || json === void 0 ? void 0 : json.warnings) === null || _b === void 0 ? void 0 : _b.map(formatMessage);
|
74
74
|
const result = {
|
75
75
|
errors: formattedErrors || [],
|
76
76
|
warnings: formattedWarnings || [],
|
package/dist/index.d.ts
CHANGED
@@ -21,6 +21,7 @@ export * from './getPackageManager';
|
|
21
21
|
export * from './runtimeExports';
|
22
22
|
export * from './readTsConfig';
|
23
23
|
export * from './path';
|
24
|
+
export * from './pathSerializer';
|
24
25
|
export * from './generateMetaTags';
|
25
26
|
export * from './prettyInstructions';
|
26
27
|
export * from './alias';
|
@@ -35,3 +36,5 @@ export * from './tryResolve';
|
|
35
36
|
export * from './analyzeProject';
|
36
37
|
export * from './chainId';
|
37
38
|
export * from './version';
|
39
|
+
export * from './plugin';
|
40
|
+
export * from './routes';
|
package/dist/index.js
CHANGED
@@ -37,6 +37,7 @@ __exportStar(require("./getPackageManager"), exports);
|
|
37
37
|
__exportStar(require("./runtimeExports"), exports);
|
38
38
|
__exportStar(require("./readTsConfig"), exports);
|
39
39
|
__exportStar(require("./path"), exports);
|
40
|
+
__exportStar(require("./pathSerializer"), exports);
|
40
41
|
__exportStar(require("./generateMetaTags"), exports);
|
41
42
|
__exportStar(require("./prettyInstructions"), exports);
|
42
43
|
__exportStar(require("./alias"), exports);
|
@@ -51,3 +52,5 @@ __exportStar(require("./tryResolve"), exports);
|
|
51
52
|
__exportStar(require("./analyzeProject"), exports);
|
52
53
|
__exportStar(require("./chainId"), exports);
|
53
54
|
__exportStar(require("./version"), exports);
|
55
|
+
__exportStar(require("./plugin"), exports);
|
56
|
+
__exportStar(require("./routes"), exports);
|
package/dist/is/index.js
CHANGED
@@ -20,7 +20,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.isFastRefresh = exports.isUseSSRBundle = exports.isSSR = exports.isEmpty = exports.isTypescript = exports.isDepExists = void 0;
|
21
21
|
const fs_1 = __importDefault(require("fs"));
|
22
22
|
const path_1 = __importDefault(require("path"));
|
23
|
+
const debug_1 = require("../debug");
|
23
24
|
const node_env_1 = require("./node-env");
|
25
|
+
const debug = (0, debug_1.createDebugger)('judge-depExists');
|
24
26
|
/**
|
25
27
|
* Check if the package name is in dependencies or devDependencies.
|
26
28
|
*
|
@@ -29,7 +31,12 @@ const node_env_1 = require("./node-env");
|
|
29
31
|
* @returns True if the name is in dependencies or devDependencies, false otherwise.
|
30
32
|
*/
|
31
33
|
const isDepExists = (appDirectory, name) => {
|
32
|
-
const
|
34
|
+
const pkgPath = path_1.default.resolve(appDirectory, './package.json');
|
35
|
+
if (!fs_1.default.existsSync(pkgPath)) {
|
36
|
+
debug(`can't find package.json under: %s`, appDirectory);
|
37
|
+
return false;
|
38
|
+
}
|
39
|
+
const json = require(pkgPath);
|
33
40
|
const { dependencies = {}, devDependencies = {} } = json;
|
34
41
|
return (dependencies.hasOwnProperty(name) || devDependencies.hasOwnProperty(name));
|
35
42
|
};
|
package/dist/path.d.ts
CHANGED
@@ -1,5 +1,16 @@
|
|
1
|
+
import { lodash as _ } from './compiled';
|
1
2
|
export declare const isPathString: (test: string) => boolean;
|
2
3
|
export declare const isRelativePath: (test: string) => boolean;
|
3
4
|
export declare const normalizeOutputPath: (s: string) => string;
|
4
5
|
export declare const normalizeToPosixPath: (p: string | undefined) => string;
|
5
6
|
export declare const getTemplatePath: (prefix?: string) => string;
|
7
|
+
/**
|
8
|
+
* Compile path string to RegExp.
|
9
|
+
* @note Only support posix path.
|
10
|
+
*/
|
11
|
+
export declare function compilePathMatcherRegExp(match: string | RegExp): RegExp;
|
12
|
+
/** @internal @see {@link upwardPaths} */
|
13
|
+
export declare const _joinPathParts: (_part: unknown, i: number, parts: _.List<string>) => string;
|
14
|
+
export declare function upwardPaths(start: string): string[];
|
15
|
+
export declare function getRealTemporaryDirectory(): string | null;
|
16
|
+
export declare function splitPathString(str: string): string[];
|
package/dist/path.js
CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.getTemplatePath = exports.normalizeToPosixPath = exports.normalizeOutputPath = exports.isRelativePath = exports.isPathString = void 0;
|
6
|
+
exports.splitPathString = exports.getRealTemporaryDirectory = exports.upwardPaths = exports._joinPathParts = exports.compilePathMatcherRegExp = exports.getTemplatePath = exports.normalizeToPosixPath = exports.normalizeOutputPath = exports.isRelativePath = exports.isPathString = void 0;
|
7
7
|
const path_1 = __importDefault(require("path"));
|
8
8
|
const os_1 = __importDefault(require("os"));
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
@@ -26,3 +26,46 @@ const getTemplatePath = (prefix) => {
|
|
26
26
|
return path_1.default.resolve(...parts);
|
27
27
|
};
|
28
28
|
exports.getTemplatePath = getTemplatePath;
|
29
|
+
/**
|
30
|
+
* Compile path string to RegExp.
|
31
|
+
* @note Only support posix path.
|
32
|
+
*/
|
33
|
+
function compilePathMatcherRegExp(match) {
|
34
|
+
if (typeof match !== 'string') {
|
35
|
+
return match;
|
36
|
+
}
|
37
|
+
const escaped = compiled_1.lodash.escapeRegExp(match);
|
38
|
+
return new RegExp(`(?<=\\W|^)${escaped}(?=\\W|$)`);
|
39
|
+
}
|
40
|
+
exports.compilePathMatcherRegExp = compilePathMatcherRegExp;
|
41
|
+
/** @internal @see {@link upwardPaths} */
|
42
|
+
const _joinPathParts = (_part, i, parts) => (0, compiled_1.lodash)(parts)
|
43
|
+
.filter(part => !['/', '\\'].includes(part))
|
44
|
+
.tap(parts => parts.unshift(''))
|
45
|
+
.slice(0, i + 2)
|
46
|
+
.join('/');
|
47
|
+
exports._joinPathParts = _joinPathParts;
|
48
|
+
function upwardPaths(start) {
|
49
|
+
return (0, compiled_1.lodash)(start)
|
50
|
+
.split(/[/\\]/)
|
51
|
+
.filter(Boolean)
|
52
|
+
.map(exports._joinPathParts)
|
53
|
+
.reverse()
|
54
|
+
.push('/')
|
55
|
+
.value();
|
56
|
+
}
|
57
|
+
exports.upwardPaths = upwardPaths;
|
58
|
+
function getRealTemporaryDirectory() {
|
59
|
+
let ret = null;
|
60
|
+
try {
|
61
|
+
ret = os_1.default.tmpdir();
|
62
|
+
ret = fs_1.default.realpathSync(ret);
|
63
|
+
}
|
64
|
+
catch { }
|
65
|
+
return ret;
|
66
|
+
}
|
67
|
+
exports.getRealTemporaryDirectory = getRealTemporaryDirectory;
|
68
|
+
function splitPathString(str) {
|
69
|
+
return str.split(/[\\/]/);
|
70
|
+
}
|
71
|
+
exports.splitPathString = splitPathString;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/** Different from */
|
2
|
+
export declare type PathMatchExpression = string | RegExp;
|
3
|
+
export interface PathMatcher {
|
4
|
+
match: PathMatchExpression;
|
5
|
+
mark: string | ((substring: string, ...args: any[]) => string);
|
6
|
+
}
|
7
|
+
export declare const matchUpwardPathsAsUnknown: (p: string) => {
|
8
|
+
match: string;
|
9
|
+
mark: string;
|
10
|
+
}[];
|
11
|
+
export interface ApplyPathMatcherOptions {
|
12
|
+
minPartials?: number;
|
13
|
+
}
|
14
|
+
export declare function applyPathMatcher(matcher: PathMatcher, str: string, options?: ApplyPathMatcherOptions): string;
|
15
|
+
export declare function applyMatcherReplacement(matchers: PathMatcher[], str: string, options?: ApplyPathMatcherOptions): string;
|
16
|
+
export declare const createDefaultPathMatchers: (root: string) => PathMatcher[];
|
@@ -0,0 +1,50 @@
|
|
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.createDefaultPathMatchers = exports.applyMatcherReplacement = exports.applyPathMatcher = exports.matchUpwardPathsAsUnknown = void 0;
|
7
|
+
const os_1 = __importDefault(require("os"));
|
8
|
+
const lodash_1 = __importDefault(require("../compiled/lodash"));
|
9
|
+
const path_1 = require("./path");
|
10
|
+
const matchUpwardPathsAsUnknown = (p) => (0, lodash_1.default)((0, path_1.upwardPaths)((0, path_1.normalizeToPosixPath)(p)))
|
11
|
+
.map(match => ({ match, mark: 'unknown' }))
|
12
|
+
.slice(1, -1)
|
13
|
+
.value();
|
14
|
+
exports.matchUpwardPathsAsUnknown = matchUpwardPathsAsUnknown;
|
15
|
+
function applyPathMatcher(matcher, str, options = {}) {
|
16
|
+
const regex = (0, path_1.compilePathMatcherRegExp)(matcher.match);
|
17
|
+
const replacer = (substring, ...args) => {
|
18
|
+
if (options.minPartials &&
|
19
|
+
(0, path_1.splitPathString)(substring).length < options.minPartials) {
|
20
|
+
return substring;
|
21
|
+
}
|
22
|
+
const ret = typeof matcher.mark === 'string'
|
23
|
+
? matcher.mark
|
24
|
+
: matcher.mark(substring, ...args);
|
25
|
+
return `<${lodash_1.default.snakeCase(ret).toUpperCase()}>`;
|
26
|
+
};
|
27
|
+
return str.replace(regex, replacer);
|
28
|
+
}
|
29
|
+
exports.applyPathMatcher = applyPathMatcher;
|
30
|
+
function applyMatcherReplacement(matchers, str, options = {}) {
|
31
|
+
return matchers.reduce((ret, matcher) => {
|
32
|
+
return applyPathMatcher(matcher, ret, options);
|
33
|
+
}, str);
|
34
|
+
}
|
35
|
+
exports.applyMatcherReplacement = applyMatcherReplacement;
|
36
|
+
const createDefaultPathMatchers = (root) => {
|
37
|
+
const ret = [
|
38
|
+
{
|
39
|
+
match: /(?<=\/)(\.pnpm\/.+?\/node_modules)(?=\/)/,
|
40
|
+
mark: 'pnpmInner',
|
41
|
+
},
|
42
|
+
];
|
43
|
+
const tmpdir = (0, path_1.getRealTemporaryDirectory)();
|
44
|
+
tmpdir && ret.push({ match: tmpdir, mark: 'temp' });
|
45
|
+
ret.push({ match: os_1.default.tmpdir(), mark: 'temp' });
|
46
|
+
ret.push({ match: os_1.default.homedir(), mark: 'home' });
|
47
|
+
ret.push(...(0, exports.matchUpwardPathsAsUnknown)(root));
|
48
|
+
return ret;
|
49
|
+
};
|
50
|
+
exports.createDefaultPathMatchers = createDefaultPathMatchers;
|
package/dist/plugin.d.ts
ADDED
package/dist/plugin.js
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getInternalPlugins = void 0;
|
4
|
+
const constants_1 = require("./constants");
|
5
|
+
const is_1 = require("./is");
|
6
|
+
function getInternalPlugins(appDirectory, internalPlugins = constants_1.INTERNAL_CLI_PLUGINS) {
|
7
|
+
return [
|
8
|
+
...Object.keys(internalPlugins)
|
9
|
+
.filter(name => {
|
10
|
+
const config = internalPlugins[name];
|
11
|
+
if (typeof config !== 'string' && config.forced === true) {
|
12
|
+
return true;
|
13
|
+
}
|
14
|
+
return (0, is_1.isDepExists)(appDirectory, name);
|
15
|
+
})
|
16
|
+
.map(name => {
|
17
|
+
const config = internalPlugins[name];
|
18
|
+
if (typeof config !== 'string') {
|
19
|
+
return config.path;
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
return config;
|
23
|
+
}
|
24
|
+
}),
|
25
|
+
];
|
26
|
+
}
|
27
|
+
exports.getInternalPlugins = getInternalPlugins;
|
package/dist/routes.d.ts
ADDED
package/dist/routes.js
ADDED
@@ -0,0 +1,20 @@
|
|
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.getRouteId = exports.getPathWithoutExt = void 0;
|
7
|
+
const path_1 = __importDefault(require("path"));
|
8
|
+
const path_2 = require("./path");
|
9
|
+
const getPathWithoutExt = (filename) => {
|
10
|
+
const extname = path_1.default.extname(filename);
|
11
|
+
return filename.slice(0, -extname.length);
|
12
|
+
};
|
13
|
+
exports.getPathWithoutExt = getPathWithoutExt;
|
14
|
+
const getRouteId = (componentPath, routesDir, entryName) => {
|
15
|
+
const relativePath = (0, path_2.normalizeToPosixPath)(path_1.default.relative(routesDir, componentPath));
|
16
|
+
const pathWithoutExt = (0, exports.getPathWithoutExt)(relativePath);
|
17
|
+
const id = `${entryName}_${pathWithoutExt}`;
|
18
|
+
return id;
|
19
|
+
};
|
20
|
+
exports.getRouteId = getRouteId;
|
package/package.json
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
"modern",
|
12
12
|
"modern.js"
|
13
13
|
],
|
14
|
-
"version": "
|
14
|
+
"version": "2.0.0-beta.1",
|
15
15
|
"jsnext:source": "./src/index.ts",
|
16
16
|
"types": "./dist/index.d.ts",
|
17
17
|
"main": "./dist/index.js",
|
@@ -134,38 +134,15 @@
|
|
134
134
|
"typescript": "^4",
|
135
135
|
"jest": "^27",
|
136
136
|
"webpack": "^5.74.0",
|
137
|
-
"@modern-js/types": "
|
138
|
-
"@scripts/build": "
|
139
|
-
"@scripts/jest-config": "
|
137
|
+
"@modern-js/types": "2.0.0-beta.1",
|
138
|
+
"@scripts/build": "2.0.0-beta.1",
|
139
|
+
"@scripts/jest-config": "2.0.0-beta.1"
|
140
140
|
},
|
141
141
|
"sideEffects": false,
|
142
|
-
"wireit": {
|
143
|
-
"build": {
|
144
|
-
"command": "tsc",
|
145
|
-
"files": [
|
146
|
-
"src/**/*",
|
147
|
-
"tsconfig.json",
|
148
|
-
"package.json"
|
149
|
-
],
|
150
|
-
"output": [
|
151
|
-
"dist/**/*"
|
152
|
-
]
|
153
|
-
},
|
154
|
-
"test": {
|
155
|
-
"command": "jest --passWithNoTests",
|
156
|
-
"files": [
|
157
|
-
"src/**/*",
|
158
|
-
"tsconfig.json",
|
159
|
-
"package.json",
|
160
|
-
"tests/**/*"
|
161
|
-
],
|
162
|
-
"output": []
|
163
|
-
}
|
164
|
-
},
|
165
142
|
"scripts": {
|
166
143
|
"new": "modern new",
|
167
144
|
"dev": "tsc --watch",
|
168
|
-
"build": "
|
169
|
-
"test": "
|
145
|
+
"build": "tsc",
|
146
|
+
"test": "jest --passWithNoTests"
|
170
147
|
}
|
171
148
|
}
|