@modern-js/utils 1.3.1 → 1.3.4
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 +21 -0
- package/dist/js/modern/constants.js +43 -6
- package/dist/js/modern/emptyDir.js +6 -0
- package/dist/js/modern/{formatWebpackMessages.js → format.js} +35 -1
- package/dist/js/modern/index.js +3 -2
- package/dist/js/modern/printBuildError.js +0 -1
- package/dist/js/node/constants.js +43 -6
- package/dist/js/node/emptyDir.js +18 -0
- package/dist/js/node/{formatWebpackMessages.js → format.js} +34 -1
- package/dist/js/node/index.js +18 -4
- package/dist/js/node/printBuildError.js +0 -2
- package/dist/js/treeshaking/constants.js +43 -6
- package/dist/js/treeshaking/emptyDir.js +37 -0
- package/dist/js/treeshaking/{formatWebpackMessages.js → format.js} +43 -1
- package/dist/js/treeshaking/index.js +3 -2
- package/dist/js/treeshaking/printBuildError.js +0 -1
- package/dist/types/constants.d.ts +38 -2
- package/dist/types/emptyDir.d.ts +1 -0
- package/dist/types/{formatWebpackMessages.d.ts → format.d.ts} +4 -1
- package/dist/types/index.d.ts +3 -2
- package/jest.config.js +4 -0
- package/package.json +8 -7
- package/tests/format.test.ts +60 -0
- package/tests/generateMetaTags.test.ts +19 -0
- package/tests/index.test.ts +2 -0
- package/tests/isType.test.ts +17 -0
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
# @modern-js/utils
|
2
2
|
|
3
|
+
## 1.3.4
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- db43dce6: expose plugin-unbundle configs
|
8
|
+
|
9
|
+
## 1.3.3
|
10
|
+
|
11
|
+
### Patch Changes
|
12
|
+
|
13
|
+
- 4c792f68: feat(plugin-garfish): Sub-applications automatically increment basename
|
14
|
+
feat(plugin-garfish): export common generate code function
|
15
|
+
fix(plugin-garfish): modify plugin-garfish schema config
|
16
|
+
- a7f42f48: new user config for plugin-unbundle
|
17
|
+
|
18
|
+
## 1.3.2
|
19
|
+
|
20
|
+
### Patch Changes
|
21
|
+
|
22
|
+
- deeaa602: support svg/proxy/multi-version in unbundled
|
23
|
+
|
3
24
|
## 1.3.1
|
4
25
|
|
5
26
|
### Patch Changes
|
@@ -151,6 +151,9 @@ export const INTERNAL_PLUGINS = {
|
|
151
151
|
},
|
152
152
|
'@modern-js/plugin-nocode': {
|
153
153
|
cli: '@modern-js/plugin-nocode/cli'
|
154
|
+
},
|
155
|
+
'@modern-js/plugin-design-token': {
|
156
|
+
cli: '@modern-js/plugin-design-token/cli'
|
154
157
|
}
|
155
158
|
};
|
156
159
|
/**
|
@@ -222,11 +225,6 @@ export const PLUGIN_SCHEMAS = {
|
|
222
225
|
schema: {
|
223
226
|
typeof: ['object', 'function']
|
224
227
|
}
|
225
|
-
}, {
|
226
|
-
target: 'source.designSystem',
|
227
|
-
schema: {
|
228
|
-
typeof: ['object']
|
229
|
-
}
|
230
228
|
}],
|
231
229
|
'@modern-js/plugin-proxy': [{
|
232
230
|
target: 'dev.proxy',
|
@@ -244,6 +242,28 @@ export const PLUGIN_SCHEMAS = {
|
|
244
242
|
schema: {
|
245
243
|
type: 'boolean'
|
246
244
|
}
|
245
|
+
}, {
|
246
|
+
target: 'dev.unbundle',
|
247
|
+
schema: {
|
248
|
+
type: 'object',
|
249
|
+
properties: {
|
250
|
+
ignore: {
|
251
|
+
type: ['string', 'array'],
|
252
|
+
items: {
|
253
|
+
type: 'string'
|
254
|
+
}
|
255
|
+
},
|
256
|
+
ignoreModuleCache: {
|
257
|
+
type: 'boolean'
|
258
|
+
},
|
259
|
+
clearPdnCache: {
|
260
|
+
type: 'boolean'
|
261
|
+
},
|
262
|
+
pdnHost: {
|
263
|
+
type: 'string'
|
264
|
+
}
|
265
|
+
}
|
266
|
+
}
|
247
267
|
}],
|
248
268
|
'@modern-js/plugin-ssg': [{
|
249
269
|
target: 'output.ssg',
|
@@ -269,6 +289,18 @@ export const PLUGIN_SCHEMAS = {
|
|
269
289
|
type: ['boolean', 'object']
|
270
290
|
}
|
271
291
|
}],
|
292
|
+
'@modern-js/plugin-design-token': [// Legacy Features
|
293
|
+
{
|
294
|
+
target: 'source.designSystem',
|
295
|
+
schema: {
|
296
|
+
typeof: ['object']
|
297
|
+
}
|
298
|
+
}, {
|
299
|
+
target: 'source.designSystem.supportStyledComponents',
|
300
|
+
schema: {
|
301
|
+
type: ['boolean']
|
302
|
+
}
|
303
|
+
}],
|
272
304
|
'@modern-js/plugin-router': [{
|
273
305
|
target: 'runtime.router',
|
274
306
|
schema: {
|
@@ -289,13 +321,18 @@ export const PLUGIN_SCHEMAS = {
|
|
289
321
|
'@modern-js/plugin-garfish': [{
|
290
322
|
target: 'runtime.masterApp',
|
291
323
|
schema: {
|
292
|
-
type: ['object']
|
324
|
+
type: ['boolean', 'object']
|
293
325
|
}
|
294
326
|
}, {
|
295
327
|
target: 'dev.withMasterApp',
|
296
328
|
schema: {
|
297
329
|
type: ['object']
|
298
330
|
}
|
331
|
+
}, {
|
332
|
+
target: 'deploy.microFrontend',
|
333
|
+
schema: {
|
334
|
+
type: ['boolean', 'object']
|
335
|
+
}
|
299
336
|
}],
|
300
337
|
'@modern-js/plugin-nocode': []
|
301
338
|
};
|
@@ -1,3 +1,9 @@
|
|
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
|
+
|
1
7
|
/* eslint-disable no-param-reassign */
|
2
8
|
|
3
9
|
/* eslint-disable max-statements */
|
@@ -100,4 +106,32 @@ function formatWebpackMessages(json) {
|
|
100
106
|
export { formatWebpackMessages };
|
101
107
|
/* eslint-enable max-statements */
|
102
108
|
|
103
|
-
/* eslint-enable no-param-reassign */
|
109
|
+
/* eslint-enable no-param-reassign */
|
110
|
+
|
111
|
+
function formatProxyOptions(proxyOptions) {
|
112
|
+
const formatedProxy = [];
|
113
|
+
|
114
|
+
if (!Array.isArray(proxyOptions)) {
|
115
|
+
if ('target' in proxyOptions) {
|
116
|
+
formatedProxy.push(proxyOptions);
|
117
|
+
} else {
|
118
|
+
Array.prototype.push.apply(formatedProxy, Object.keys(proxyOptions).reduce((total, source) => {
|
119
|
+
const option = proxyOptions[source];
|
120
|
+
total.push(_objectSpread({
|
121
|
+
context: source,
|
122
|
+
changeOrigin: true,
|
123
|
+
logLevel: 'warn'
|
124
|
+
}, typeof option === 'string' ? {
|
125
|
+
target: option
|
126
|
+
} : option));
|
127
|
+
return total;
|
128
|
+
}, []));
|
129
|
+
}
|
130
|
+
} else {
|
131
|
+
formatedProxy.push(...proxyOptions);
|
132
|
+
}
|
133
|
+
|
134
|
+
return formatedProxy;
|
135
|
+
}
|
136
|
+
|
137
|
+
export { formatProxyOptions };
|
package/dist/js/modern/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as _fs from 'fs-extra';
|
2
2
|
export { _fs as fs };
|
3
3
|
export * from "./chalk";
|
4
|
-
export * from "./
|
4
|
+
export * from "./format";
|
5
5
|
export * from "./FileSizeReporter";
|
6
6
|
export * from "./printBuildError";
|
7
7
|
export * from "./debug";
|
@@ -30,4 +30,5 @@ export * from "./alias";
|
|
30
30
|
export * from "./import";
|
31
31
|
export * from "./watch";
|
32
32
|
export * from "./nodeEnv";
|
33
|
-
export * from "./wait";
|
33
|
+
export * from "./wait";
|
34
|
+
export * from "./emptyDir";
|
@@ -169,6 +169,9 @@ const INTERNAL_PLUGINS = {
|
|
169
169
|
},
|
170
170
|
'@modern-js/plugin-nocode': {
|
171
171
|
cli: '@modern-js/plugin-nocode/cli'
|
172
|
+
},
|
173
|
+
'@modern-js/plugin-design-token': {
|
174
|
+
cli: '@modern-js/plugin-design-token/cli'
|
172
175
|
}
|
173
176
|
};
|
174
177
|
/**
|
@@ -241,11 +244,6 @@ const PLUGIN_SCHEMAS = {
|
|
241
244
|
schema: {
|
242
245
|
typeof: ['object', 'function']
|
243
246
|
}
|
244
|
-
}, {
|
245
|
-
target: 'source.designSystem',
|
246
|
-
schema: {
|
247
|
-
typeof: ['object']
|
248
|
-
}
|
249
247
|
}],
|
250
248
|
'@modern-js/plugin-proxy': [{
|
251
249
|
target: 'dev.proxy',
|
@@ -263,6 +261,28 @@ const PLUGIN_SCHEMAS = {
|
|
263
261
|
schema: {
|
264
262
|
type: 'boolean'
|
265
263
|
}
|
264
|
+
}, {
|
265
|
+
target: 'dev.unbundle',
|
266
|
+
schema: {
|
267
|
+
type: 'object',
|
268
|
+
properties: {
|
269
|
+
ignore: {
|
270
|
+
type: ['string', 'array'],
|
271
|
+
items: {
|
272
|
+
type: 'string'
|
273
|
+
}
|
274
|
+
},
|
275
|
+
ignoreModuleCache: {
|
276
|
+
type: 'boolean'
|
277
|
+
},
|
278
|
+
clearPdnCache: {
|
279
|
+
type: 'boolean'
|
280
|
+
},
|
281
|
+
pdnHost: {
|
282
|
+
type: 'string'
|
283
|
+
}
|
284
|
+
}
|
285
|
+
}
|
266
286
|
}],
|
267
287
|
'@modern-js/plugin-ssg': [{
|
268
288
|
target: 'output.ssg',
|
@@ -288,6 +308,18 @@ const PLUGIN_SCHEMAS = {
|
|
288
308
|
type: ['boolean', 'object']
|
289
309
|
}
|
290
310
|
}],
|
311
|
+
'@modern-js/plugin-design-token': [// Legacy Features
|
312
|
+
{
|
313
|
+
target: 'source.designSystem',
|
314
|
+
schema: {
|
315
|
+
typeof: ['object']
|
316
|
+
}
|
317
|
+
}, {
|
318
|
+
target: 'source.designSystem.supportStyledComponents',
|
319
|
+
schema: {
|
320
|
+
type: ['boolean']
|
321
|
+
}
|
322
|
+
}],
|
291
323
|
'@modern-js/plugin-router': [{
|
292
324
|
target: 'runtime.router',
|
293
325
|
schema: {
|
@@ -308,13 +340,18 @@ const PLUGIN_SCHEMAS = {
|
|
308
340
|
'@modern-js/plugin-garfish': [{
|
309
341
|
target: 'runtime.masterApp',
|
310
342
|
schema: {
|
311
|
-
type: ['object']
|
343
|
+
type: ['boolean', 'object']
|
312
344
|
}
|
313
345
|
}, {
|
314
346
|
target: 'dev.withMasterApp',
|
315
347
|
schema: {
|
316
348
|
type: ['object']
|
317
349
|
}
|
350
|
+
}, {
|
351
|
+
target: 'deploy.microFrontend',
|
352
|
+
schema: {
|
353
|
+
type: ['boolean', 'object']
|
354
|
+
}
|
318
355
|
}],
|
319
356
|
'@modern-js/plugin-nocode': []
|
320
357
|
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.emptyDir = void 0;
|
7
|
+
|
8
|
+
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
|
12
|
+
const emptyDir = async dir => {
|
13
|
+
if (await _fsExtra.default.pathExists(dir)) {
|
14
|
+
await _fsExtra.default.emptyDir(dir);
|
15
|
+
}
|
16
|
+
};
|
17
|
+
|
18
|
+
exports.emptyDir = emptyDir;
|
@@ -3,8 +3,15 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
+
exports.formatProxyOptions = formatProxyOptions;
|
6
7
|
exports.formatWebpackMessages = formatWebpackMessages;
|
7
8
|
|
9
|
+
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; }
|
10
|
+
|
11
|
+
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; }
|
12
|
+
|
13
|
+
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; }
|
14
|
+
|
8
15
|
/* eslint-disable no-param-reassign */
|
9
16
|
|
10
17
|
/* eslint-disable max-statements */
|
@@ -103,6 +110,32 @@ function formatWebpackMessages(json) {
|
|
103
110
|
|
104
111
|
return result;
|
105
112
|
}
|
113
|
+
|
106
114
|
/* eslint-enable max-statements */
|
107
115
|
|
108
|
-
/* eslint-enable no-param-reassign */
|
116
|
+
/* eslint-enable no-param-reassign */
|
117
|
+
function formatProxyOptions(proxyOptions) {
|
118
|
+
const formatedProxy = [];
|
119
|
+
|
120
|
+
if (!Array.isArray(proxyOptions)) {
|
121
|
+
if ('target' in proxyOptions) {
|
122
|
+
formatedProxy.push(proxyOptions);
|
123
|
+
} else {
|
124
|
+
Array.prototype.push.apply(formatedProxy, Object.keys(proxyOptions).reduce((total, source) => {
|
125
|
+
const option = proxyOptions[source];
|
126
|
+
total.push(_objectSpread({
|
127
|
+
context: source,
|
128
|
+
changeOrigin: true,
|
129
|
+
logLevel: 'warn'
|
130
|
+
}, typeof option === 'string' ? {
|
131
|
+
target: option
|
132
|
+
} : option));
|
133
|
+
return total;
|
134
|
+
}, []));
|
135
|
+
}
|
136
|
+
} else {
|
137
|
+
formatedProxy.push(...proxyOptions);
|
138
|
+
}
|
139
|
+
|
140
|
+
return formatedProxy;
|
141
|
+
}
|
package/dist/js/node/index.js
CHANGED
@@ -26,16 +26,16 @@ Object.keys(_chalk).forEach(function (key) {
|
|
26
26
|
});
|
27
27
|
});
|
28
28
|
|
29
|
-
var
|
29
|
+
var _format = require("./format");
|
30
30
|
|
31
|
-
Object.keys(
|
31
|
+
Object.keys(_format).forEach(function (key) {
|
32
32
|
if (key === "default" || key === "__esModule") return;
|
33
33
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
34
|
-
if (key in exports && exports[key] ===
|
34
|
+
if (key in exports && exports[key] === _format[key]) return;
|
35
35
|
Object.defineProperty(exports, key, {
|
36
36
|
enumerable: true,
|
37
37
|
get: function () {
|
38
|
-
return
|
38
|
+
return _format[key];
|
39
39
|
}
|
40
40
|
});
|
41
41
|
});
|
@@ -446,6 +446,20 @@ Object.keys(_wait).forEach(function (key) {
|
|
446
446
|
});
|
447
447
|
});
|
448
448
|
|
449
|
+
var _emptyDir = require("./emptyDir");
|
450
|
+
|
451
|
+
Object.keys(_emptyDir).forEach(function (key) {
|
452
|
+
if (key === "default" || key === "__esModule") return;
|
453
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
454
|
+
if (key in exports && exports[key] === _emptyDir[key]) return;
|
455
|
+
Object.defineProperty(exports, key, {
|
456
|
+
enumerable: true,
|
457
|
+
get: function () {
|
458
|
+
return _emptyDir[key];
|
459
|
+
}
|
460
|
+
});
|
461
|
+
});
|
462
|
+
|
449
463
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
450
464
|
|
451
465
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
@@ -153,6 +153,9 @@ export var INTERNAL_PLUGINS = {
|
|
153
153
|
},
|
154
154
|
'@modern-js/plugin-nocode': {
|
155
155
|
cli: '@modern-js/plugin-nocode/cli'
|
156
|
+
},
|
157
|
+
'@modern-js/plugin-design-token': {
|
158
|
+
cli: '@modern-js/plugin-design-token/cli'
|
156
159
|
}
|
157
160
|
};
|
158
161
|
/**
|
@@ -222,11 +225,6 @@ export var PLUGIN_SCHEMAS = {
|
|
222
225
|
schema: {
|
223
226
|
"typeof": ['object', 'function']
|
224
227
|
}
|
225
|
-
}, {
|
226
|
-
target: 'source.designSystem',
|
227
|
-
schema: {
|
228
|
-
"typeof": ['object']
|
229
|
-
}
|
230
228
|
}],
|
231
229
|
'@modern-js/plugin-proxy': [{
|
232
230
|
target: 'dev.proxy',
|
@@ -244,6 +242,28 @@ export var PLUGIN_SCHEMAS = {
|
|
244
242
|
schema: {
|
245
243
|
type: 'boolean'
|
246
244
|
}
|
245
|
+
}, {
|
246
|
+
target: 'dev.unbundle',
|
247
|
+
schema: {
|
248
|
+
type: 'object',
|
249
|
+
properties: {
|
250
|
+
ignore: {
|
251
|
+
type: ['string', 'array'],
|
252
|
+
items: {
|
253
|
+
type: 'string'
|
254
|
+
}
|
255
|
+
},
|
256
|
+
ignoreModuleCache: {
|
257
|
+
type: 'boolean'
|
258
|
+
},
|
259
|
+
clearPdnCache: {
|
260
|
+
type: 'boolean'
|
261
|
+
},
|
262
|
+
pdnHost: {
|
263
|
+
type: 'string'
|
264
|
+
}
|
265
|
+
}
|
266
|
+
}
|
247
267
|
}],
|
248
268
|
'@modern-js/plugin-ssg': [{
|
249
269
|
target: 'output.ssg',
|
@@ -269,6 +289,18 @@ export var PLUGIN_SCHEMAS = {
|
|
269
289
|
type: ['boolean', 'object']
|
270
290
|
}
|
271
291
|
}],
|
292
|
+
'@modern-js/plugin-design-token': [// Legacy Features
|
293
|
+
{
|
294
|
+
target: 'source.designSystem',
|
295
|
+
schema: {
|
296
|
+
"typeof": ['object']
|
297
|
+
}
|
298
|
+
}, {
|
299
|
+
target: 'source.designSystem.supportStyledComponents',
|
300
|
+
schema: {
|
301
|
+
type: ['boolean']
|
302
|
+
}
|
303
|
+
}],
|
272
304
|
'@modern-js/plugin-router': [{
|
273
305
|
target: 'runtime.router',
|
274
306
|
schema: {
|
@@ -289,13 +321,18 @@ export var PLUGIN_SCHEMAS = {
|
|
289
321
|
'@modern-js/plugin-garfish': [{
|
290
322
|
target: 'runtime.masterApp',
|
291
323
|
schema: {
|
292
|
-
type: ['object']
|
324
|
+
type: ['boolean', 'object']
|
293
325
|
}
|
294
326
|
}, {
|
295
327
|
target: 'dev.withMasterApp',
|
296
328
|
schema: {
|
297
329
|
type: ['object']
|
298
330
|
}
|
331
|
+
}, {
|
332
|
+
target: 'deploy.microFrontend',
|
333
|
+
schema: {
|
334
|
+
type: ['boolean', 'object']
|
335
|
+
}
|
299
336
|
}],
|
300
337
|
'@modern-js/plugin-nocode': []
|
301
338
|
};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
2
|
+
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
4
|
+
|
5
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
6
|
+
|
7
|
+
import fs from 'fs-extra';
|
8
|
+
export var emptyDir = /*#__PURE__*/function () {
|
9
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(dir) {
|
10
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
11
|
+
while (1) {
|
12
|
+
switch (_context.prev = _context.next) {
|
13
|
+
case 0:
|
14
|
+
_context.next = 2;
|
15
|
+
return fs.pathExists(dir);
|
16
|
+
|
17
|
+
case 2:
|
18
|
+
if (!_context.sent) {
|
19
|
+
_context.next = 5;
|
20
|
+
break;
|
21
|
+
}
|
22
|
+
|
23
|
+
_context.next = 5;
|
24
|
+
return fs.emptyDir(dir);
|
25
|
+
|
26
|
+
case 5:
|
27
|
+
case "end":
|
28
|
+
return _context.stop();
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}, _callee);
|
32
|
+
}));
|
33
|
+
|
34
|
+
return function emptyDir(_x) {
|
35
|
+
return _ref.apply(this, arguments);
|
36
|
+
};
|
37
|
+
}();
|
@@ -1,3 +1,17 @@
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
+
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
+
|
5
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
6
|
+
|
7
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
8
|
+
|
9
|
+
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; }
|
10
|
+
|
11
|
+
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; }
|
12
|
+
|
13
|
+
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; }
|
14
|
+
|
1
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
2
16
|
|
3
17
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -122,4 +136,32 @@ function formatWebpackMessages(json) {
|
|
122
136
|
export { formatWebpackMessages };
|
123
137
|
/* eslint-enable max-statements */
|
124
138
|
|
125
|
-
/* eslint-enable no-param-reassign */
|
139
|
+
/* eslint-enable no-param-reassign */
|
140
|
+
|
141
|
+
function formatProxyOptions(proxyOptions) {
|
142
|
+
var formatedProxy = [];
|
143
|
+
|
144
|
+
if (!Array.isArray(proxyOptions)) {
|
145
|
+
if ('target' in proxyOptions) {
|
146
|
+
formatedProxy.push(proxyOptions);
|
147
|
+
} else {
|
148
|
+
Array.prototype.push.apply(formatedProxy, Object.keys(proxyOptions).reduce(function (total, source) {
|
149
|
+
var option = proxyOptions[source];
|
150
|
+
total.push(_objectSpread({
|
151
|
+
context: source,
|
152
|
+
changeOrigin: true,
|
153
|
+
logLevel: 'warn'
|
154
|
+
}, typeof option === 'string' ? {
|
155
|
+
target: option
|
156
|
+
} : option));
|
157
|
+
return total;
|
158
|
+
}, []));
|
159
|
+
}
|
160
|
+
} else {
|
161
|
+
formatedProxy.push.apply(formatedProxy, _toConsumableArray(proxyOptions));
|
162
|
+
}
|
163
|
+
|
164
|
+
return formatedProxy;
|
165
|
+
}
|
166
|
+
|
167
|
+
export { formatProxyOptions };
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as _fs from 'fs-extra';
|
2
2
|
export { _fs as fs };
|
3
3
|
export * from "./chalk";
|
4
|
-
export * from "./
|
4
|
+
export * from "./format";
|
5
5
|
export * from "./FileSizeReporter";
|
6
6
|
export * from "./printBuildError";
|
7
7
|
export * from "./debug";
|
@@ -30,4 +30,5 @@ export * from "./alias";
|
|
30
30
|
export * from "./import";
|
31
31
|
export * from "./watch";
|
32
32
|
export * from "./nodeEnv";
|
33
|
-
export * from "./wait";
|
33
|
+
export * from "./wait";
|
34
|
+
export * from "./emptyDir";
|
@@ -131,12 +131,35 @@ export declare const PLUGIN_SCHEMAS: {
|
|
131
131
|
typeof: string[];
|
132
132
|
};
|
133
133
|
}[];
|
134
|
-
'@modern-js/plugin-unbundle': {
|
134
|
+
'@modern-js/plugin-unbundle': ({
|
135
135
|
target: string;
|
136
136
|
schema: {
|
137
137
|
type: string;
|
138
|
+
properties?: undefined;
|
138
139
|
};
|
139
|
-
}
|
140
|
+
} | {
|
141
|
+
target: string;
|
142
|
+
schema: {
|
143
|
+
type: string;
|
144
|
+
properties: {
|
145
|
+
ignore: {
|
146
|
+
type: string[];
|
147
|
+
items: {
|
148
|
+
type: string;
|
149
|
+
};
|
150
|
+
};
|
151
|
+
ignoreModuleCache: {
|
152
|
+
type: string;
|
153
|
+
};
|
154
|
+
clearPdnCache: {
|
155
|
+
type: string;
|
156
|
+
};
|
157
|
+
pdnHost: {
|
158
|
+
type: string;
|
159
|
+
};
|
160
|
+
};
|
161
|
+
};
|
162
|
+
})[];
|
140
163
|
'@modern-js/plugin-ssg': {
|
141
164
|
target: string;
|
142
165
|
schema: {
|
@@ -161,6 +184,19 @@ export declare const PLUGIN_SCHEMAS: {
|
|
161
184
|
type: string[];
|
162
185
|
};
|
163
186
|
}[];
|
187
|
+
'@modern-js/plugin-design-token': ({
|
188
|
+
target: string;
|
189
|
+
schema: {
|
190
|
+
typeof: string[];
|
191
|
+
type?: undefined;
|
192
|
+
};
|
193
|
+
} | {
|
194
|
+
target: string;
|
195
|
+
schema: {
|
196
|
+
type: string[];
|
197
|
+
typeof?: undefined;
|
198
|
+
};
|
199
|
+
})[];
|
164
200
|
'@modern-js/plugin-router': {
|
165
201
|
target: string;
|
166
202
|
schema: {
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const emptyDir: (dir: string) => Promise<void>;
|
@@ -6,8 +6,11 @@
|
|
6
6
|
* https://github.com/facebook/create-react-app/blob/master/LICENSE
|
7
7
|
*/
|
8
8
|
import { StatsCompilation } from 'webpack';
|
9
|
+
import { ProxyDetail, ProxyOptions } from '@modern-js/types';
|
9
10
|
declare function formatWebpackMessages(json: StatsCompilation): {
|
10
11
|
errors: string[];
|
11
12
|
warnings: string[];
|
12
13
|
};
|
13
|
-
export { formatWebpackMessages };
|
14
|
+
export { formatWebpackMessages };
|
15
|
+
declare function formatProxyOptions(proxyOptions: ProxyOptions): ProxyDetail[];
|
16
|
+
export { formatProxyOptions };
|
package/dist/types/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
export * as fs from 'fs-extra';
|
2
2
|
export * from './chalk';
|
3
|
-
export * from './
|
3
|
+
export * from './format';
|
4
4
|
export * from './FileSizeReporter';
|
5
5
|
export * from './printBuildError';
|
6
6
|
export * from './debug';
|
@@ -29,4 +29,5 @@ export * from './alias';
|
|
29
29
|
export * from './import';
|
30
30
|
export * from './watch';
|
31
31
|
export * from './nodeEnv';
|
32
|
-
export * from './wait';
|
32
|
+
export * from './wait';
|
33
|
+
export * from './emptyDir';
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
"modern",
|
12
12
|
"modern.js"
|
13
13
|
],
|
14
|
-
"version": "1.3.
|
14
|
+
"version": "1.3.4",
|
15
15
|
"jsnext:source": "./src/index.ts",
|
16
16
|
"types": "./dist/types/index.d.ts",
|
17
17
|
"main": "./dist/js/node/index.js",
|
@@ -26,9 +26,9 @@
|
|
26
26
|
},
|
27
27
|
"default": "./dist/js/treeshaking/index.js"
|
28
28
|
},
|
29
|
-
"./
|
30
|
-
"jsnext:source": "./src/
|
31
|
-
"default": "./dist/js/treeshaking/
|
29
|
+
"./format": {
|
30
|
+
"jsnext:source": "./src/format.ts",
|
31
|
+
"default": "./dist/js/treeshaking/format.js"
|
32
32
|
},
|
33
33
|
"./constants": {
|
34
34
|
"jsnext:source": "./src/constants.ts",
|
@@ -37,8 +37,8 @@
|
|
37
37
|
},
|
38
38
|
"typesVersions": {
|
39
39
|
"*": {
|
40
|
-
"
|
41
|
-
"./dist/types/
|
40
|
+
"format": [
|
41
|
+
"./dist/types/format.d.ts"
|
42
42
|
],
|
43
43
|
"constants": [
|
44
44
|
"./dist/types/constants.d.ts"
|
@@ -75,7 +75,8 @@
|
|
75
75
|
"webpack": "^5.54.0",
|
76
76
|
"@scripts/build": "0.0.0",
|
77
77
|
"jest": "^27",
|
78
|
-
"@scripts/jest-config": "0.0.0"
|
78
|
+
"@scripts/jest-config": "0.0.0",
|
79
|
+
"@modern-js/types": "^1.3.4"
|
79
80
|
},
|
80
81
|
"sideEffects": false,
|
81
82
|
"publishConfig": {
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { formatProxyOptions } from '../src/format';
|
2
|
+
|
3
|
+
describe('test format', () => {
|
4
|
+
it('should format correctly use simply options', async () => {
|
5
|
+
const proxy = {
|
6
|
+
'/simple': `http://localhost`,
|
7
|
+
};
|
8
|
+
|
9
|
+
const options = formatProxyOptions(proxy);
|
10
|
+
expect(options).toEqual([
|
11
|
+
{
|
12
|
+
context: '/simple',
|
13
|
+
changeOrigin: true,
|
14
|
+
logLevel: 'warn',
|
15
|
+
target: 'http://localhost',
|
16
|
+
},
|
17
|
+
]);
|
18
|
+
});
|
19
|
+
|
20
|
+
it('should format correctly use simply options', async () => {
|
21
|
+
const proxy = {
|
22
|
+
'/simple-obj': {
|
23
|
+
target: `http://localhost`,
|
24
|
+
},
|
25
|
+
};
|
26
|
+
const options = formatProxyOptions(proxy);
|
27
|
+
expect(options).toEqual([
|
28
|
+
{
|
29
|
+
context: '/simple-obj',
|
30
|
+
changeOrigin: true,
|
31
|
+
logLevel: 'warn',
|
32
|
+
target: 'http://localhost',
|
33
|
+
},
|
34
|
+
]);
|
35
|
+
});
|
36
|
+
|
37
|
+
it('should format correctly use simply options', async () => {
|
38
|
+
const proxy = {
|
39
|
+
context: '/context',
|
40
|
+
target: `http://localhost`,
|
41
|
+
};
|
42
|
+
const options = formatProxyOptions(proxy);
|
43
|
+
expect(options).toEqual([
|
44
|
+
{ context: '/context', target: 'http://localhost' },
|
45
|
+
]);
|
46
|
+
});
|
47
|
+
|
48
|
+
it('should format correctly use simply options', async () => {
|
49
|
+
const proxy = [
|
50
|
+
{
|
51
|
+
context: '/array',
|
52
|
+
target: `http://localhost`,
|
53
|
+
},
|
54
|
+
];
|
55
|
+
const options = formatProxyOptions(proxy);
|
56
|
+
expect(options).toEqual([
|
57
|
+
{ context: '/array', target: 'http://localhost' },
|
58
|
+
]);
|
59
|
+
});
|
60
|
+
});
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { generateMetaTags } from '../src/generateMetaTags';
|
2
|
+
|
3
|
+
describe('generateMetaTags', () => {
|
4
|
+
it('should return empty string when params is empty', () => {
|
5
|
+
expect(generateMetaTags()).toEqual('');
|
6
|
+
});
|
7
|
+
|
8
|
+
it('should generate meta tag correctly', () => {
|
9
|
+
const options = {
|
10
|
+
foo: {
|
11
|
+
name: 'viewport',
|
12
|
+
content: 'width=500, initial-scale=1',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
expect(generateMetaTags(options).trim()).toEqual(
|
16
|
+
'<meta name="viewport" content="width=500, initial-scale=1">',
|
17
|
+
);
|
18
|
+
});
|
19
|
+
});
|
package/tests/index.test.ts
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
import { isString, isUndefined } from '../src/is/type';
|
2
|
+
|
3
|
+
describe('validate type', () => {
|
4
|
+
it('should validate string correctly', () => {
|
5
|
+
expect(isString('')).toBeTruthy();
|
6
|
+
expect(isString('foo')).toBeTruthy();
|
7
|
+
expect(isString(null)).toBeFalsy();
|
8
|
+
expect(isString(123)).toBeFalsy();
|
9
|
+
});
|
10
|
+
|
11
|
+
it('should validate undeinfed correctly', () => {
|
12
|
+
expect(isUndefined(undefined)).toBeTruthy();
|
13
|
+
expect(isUndefined(null)).toBeFalsy();
|
14
|
+
expect(isUndefined('')).toBeFalsy();
|
15
|
+
expect(isUndefined(123)).toBeFalsy();
|
16
|
+
});
|
17
|
+
});
|