@modern-js/utils 1.6.0 → 1.7.1-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +10 -0
- package/compiled/globby/index.d.ts +1 -1
- package/compiled/lodash/index.js +4 -8
- package/compiled/semver/classes/comparator.d.ts +17 -0
- package/compiled/semver/classes/range.d.ts +21 -0
- package/compiled/semver/classes/semver.d.ts +62 -0
- package/compiled/semver/functions/clean.d.ts +8 -0
- package/compiled/semver/functions/cmp.d.ts +16 -0
- package/compiled/semver/functions/coerce.d.ts +12 -0
- package/compiled/semver/functions/compare-build.d.ts +16 -0
- package/compiled/semver/functions/compare-loose.d.ts +5 -0
- package/compiled/semver/functions/compare.d.ts +20 -0
- package/compiled/semver/functions/diff.d.ts +13 -0
- package/compiled/semver/functions/eq.d.ts +9 -0
- package/compiled/semver/functions/gt.d.ts +9 -0
- package/compiled/semver/functions/gte.d.ts +9 -0
- package/compiled/semver/functions/inc.d.ts +15 -0
- package/compiled/semver/functions/lt.d.ts +9 -0
- package/compiled/semver/functions/lte.d.ts +8 -0
- package/compiled/semver/functions/major.d.ts +9 -0
- package/compiled/semver/functions/minor.d.ts +9 -0
- package/compiled/semver/functions/neq.d.ts +9 -0
- package/compiled/semver/functions/parse.d.ts +12 -0
- package/compiled/semver/functions/patch.d.ts +9 -0
- package/compiled/semver/functions/prerelease.d.ts +12 -0
- package/compiled/semver/functions/rcompare.d.ts +15 -0
- package/compiled/semver/functions/rsort.d.ts +9 -0
- package/compiled/semver/functions/satisfies.d.ts +14 -0
- package/compiled/semver/functions/sort.d.ts +9 -0
- package/compiled/semver/functions/valid.d.ts +11 -0
- package/compiled/semver/index.d.ts +133 -0
- package/compiled/semver/index.js +1 -0
- package/compiled/semver/internals/identifiers.d.ts +13 -0
- package/compiled/semver/license +15 -0
- package/compiled/semver/package.json +1 -0
- package/compiled/semver/ranges/gtr.d.ts +14 -0
- package/compiled/semver/ranges/intersects.d.ts +13 -0
- package/compiled/semver/ranges/ltr.d.ts +14 -0
- package/compiled/semver/ranges/max-satisfying.d.ts +14 -0
- package/compiled/semver/ranges/min-satisfying.d.ts +14 -0
- package/compiled/semver/ranges/min-version.d.ts +10 -0
- package/compiled/semver/ranges/outside.d.ts +15 -0
- package/compiled/semver/ranges/simplify.d.ts +14 -0
- package/compiled/semver/ranges/subset.d.ts +13 -0
- package/compiled/semver/ranges/to-comparators.d.ts +9 -0
- package/compiled/semver/ranges/valid.d.ts +12 -0
- package/dist/alias.js +4 -1
- package/dist/analyzeProject.js +3 -12
- package/dist/compiled.d.ts +1 -0
- package/dist/compiled.js +3 -1
- package/dist/emptyDir.js +4 -13
- package/dist/ensureAbsolutePath.d.ts +1 -1
- package/dist/ensureAbsolutePath.js +1 -1
- package/dist/findExists.d.ts +1 -1
- package/dist/findExists.js +1 -1
- package/dist/format.js +11 -6
- package/dist/getEntryOptions.js +2 -1
- package/dist/getPackageManager.js +19 -30
- package/dist/getPort.js +3 -12
- package/dist/getServerConfig.js +2 -11
- package/dist/logger.d.ts +3 -0
- package/dist/logger.js +21 -6
- package/dist/monorepo.js +9 -6
- package/dist/nodeEnv.js +24 -39
- package/dist/prettyInstructions.js +1 -1
- package/dist/readTsConfig.js +2 -2
- package/dist/runtimeExports.js +1 -1
- package/dist/watch.js +9 -18
- package/package.json +41 -30
- package/tsconfig.json +1 -0
- package/compiled/globby/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
- package/compiled/globby/@nodelib/fs.scandir/out/index.d.ts +0 -12
- package/compiled/globby/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
- package/compiled/globby/@nodelib/fs.scandir/out/settings.d.ts +0 -20
- package/compiled/globby/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
- package/compiled/globby/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
- package/compiled/globby/@nodelib/fs.stat/out/index.d.ts +0 -12
- package/compiled/globby/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
- package/compiled/globby/@nodelib/fs.stat/out/settings.d.ts +0 -16
- package/compiled/globby/@nodelib/fs.stat/out/types/index.d.ts +0 -4
- package/compiled/globby/@nodelib/fs.walk/out/index.d.ts +0 -14
- package/compiled/globby/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
- package/compiled/globby/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
- package/compiled/globby/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
- package/compiled/globby/@nodelib/fs.walk/out/settings.d.ts +0 -30
- package/compiled/globby/@nodelib/fs.walk/out/types/index.d.ts +0 -8
- package/compiled/globby/fast-glob/index.d.ts +0 -27
- package/compiled/globby/fast-glob/managers/tasks.d.ts +0 -22
- package/compiled/globby/fast-glob/settings.d.ts +0 -164
- package/compiled/globby/fast-glob/types/index.d.ts +0 -31
package/dist/format.js
CHANGED
@@ -92,22 +92,27 @@ function formatWebpackMessages(json) {
|
|
92
92
|
exports.formatWebpackMessages = formatWebpackMessages;
|
93
93
|
/* eslint-enable no-param-reassign */
|
94
94
|
function formatProxyOptions(proxyOptions) {
|
95
|
-
const
|
95
|
+
const formattedProxy = [];
|
96
96
|
if (!Array.isArray(proxyOptions)) {
|
97
97
|
if ('target' in proxyOptions) {
|
98
|
-
|
98
|
+
formattedProxy.push(proxyOptions);
|
99
99
|
}
|
100
100
|
else {
|
101
|
-
Array.prototype.push.apply(
|
101
|
+
Array.prototype.push.apply(formattedProxy, Object.keys(proxyOptions).reduce((total, source) => {
|
102
102
|
const option = proxyOptions[source];
|
103
|
-
total.push(
|
103
|
+
total.push({
|
104
|
+
context: source,
|
105
|
+
changeOrigin: true,
|
106
|
+
logLevel: 'warn',
|
107
|
+
...(typeof option === 'string' ? { target: option } : option),
|
108
|
+
});
|
104
109
|
return total;
|
105
110
|
}, []));
|
106
111
|
}
|
107
112
|
}
|
108
113
|
else {
|
109
|
-
|
114
|
+
formattedProxy.push(...proxyOptions);
|
110
115
|
}
|
111
|
-
return
|
116
|
+
return formattedProxy;
|
112
117
|
}
|
113
118
|
exports.formatProxyOptions = formatProxyOptions;
|
package/dist/getEntryOptions.js
CHANGED
@@ -15,7 +15,8 @@ const getEntryOptions = (name, baseOptions, optionsByEntries, packageName) => {
|
|
15
15
|
// eslint-disable-next-line no-nested-ternary
|
16
16
|
return optionsByEntry !== undefined
|
17
17
|
? (0, is_1.isPlainObject)(optionsByEntry) && (0, is_1.isPlainObject)(baseOptions)
|
18
|
-
?
|
18
|
+
? { ...baseOptions, ...optionsByEntry }
|
19
|
+
: optionsByEntry
|
19
20
|
: baseOptions;
|
20
21
|
}
|
21
22
|
else {
|
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -18,30 +9,28 @@ const path_1 = __importDefault(require("path"));
|
|
18
9
|
const compiled_1 = require("./compiled");
|
19
10
|
const nodeEnv_1 = require("./nodeEnv");
|
20
11
|
const MAX_TIMES = 5;
|
21
|
-
function getPackageManager(cwd = process.cwd()) {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'pnpm-lock.yaml'))) {
|
28
|
-
return 'pnpm';
|
29
|
-
}
|
30
|
-
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'yarn.lock'))) {
|
31
|
-
return 'yarn';
|
32
|
-
}
|
33
|
-
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'package-lock.json'))) {
|
34
|
-
return 'npm';
|
35
|
-
}
|
36
|
-
appDirectory = path_1.default.join(appDirectory, '..');
|
37
|
-
}
|
38
|
-
if (yield (0, nodeEnv_1.canUsePnpm)()) {
|
12
|
+
async function getPackageManager(cwd = process.cwd()) {
|
13
|
+
let appDirectory = cwd;
|
14
|
+
let times = 0;
|
15
|
+
while (os_1.default.homedir() !== appDirectory && times < MAX_TIMES) {
|
16
|
+
times++;
|
17
|
+
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'pnpm-lock.yaml'))) {
|
39
18
|
return 'pnpm';
|
40
19
|
}
|
41
|
-
if (
|
20
|
+
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'yarn.lock'))) {
|
42
21
|
return 'yarn';
|
43
22
|
}
|
44
|
-
|
45
|
-
|
23
|
+
if (compiled_1.fs.existsSync(path_1.default.resolve(appDirectory, 'package-lock.json'))) {
|
24
|
+
return 'npm';
|
25
|
+
}
|
26
|
+
appDirectory = path_1.default.join(appDirectory, '..');
|
27
|
+
}
|
28
|
+
if (await (0, nodeEnv_1.canUsePnpm)()) {
|
29
|
+
return 'pnpm';
|
30
|
+
}
|
31
|
+
if (await (0, nodeEnv_1.canUseYarn)()) {
|
32
|
+
return 'yarn';
|
33
|
+
}
|
34
|
+
return 'npm';
|
46
35
|
}
|
47
36
|
exports.getPackageManager = getPackageManager;
|
package/dist/getPort.js
CHANGED
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -23,7 +14,7 @@ const logger_1 = require("./logger");
|
|
23
14
|
* @returns Available port number.
|
24
15
|
*/
|
25
16
|
/* eslint-disable no-param-reassign, @typescript-eslint/no-loop-func */
|
26
|
-
const getPort = (port, tryLimits = 20) =>
|
17
|
+
const getPort = async (port, tryLimits = 20) => {
|
27
18
|
if (typeof port === 'string') {
|
28
19
|
port = parseInt(port, 10);
|
29
20
|
}
|
@@ -32,7 +23,7 @@ const getPort = (port, tryLimits = 20) => __awaiter(void 0, void 0, void 0, func
|
|
32
23
|
let attempts = 0;
|
33
24
|
while (!found && attempts <= tryLimits) {
|
34
25
|
try {
|
35
|
-
|
26
|
+
await new Promise((resolve, reject) => {
|
36
27
|
const server = net_1.default.createServer();
|
37
28
|
server.unref();
|
38
29
|
server.on('error', reject);
|
@@ -57,6 +48,6 @@ const getPort = (port, tryLimits = 20) => __awaiter(void 0, void 0, void 0, func
|
|
57
48
|
logger_1.logger.info(compiled_1.chalk.red(`Something is already running on port ${original}. ${compiled_1.chalk.yellow(`Use port ${port} instead.`)}`));
|
58
49
|
}
|
59
50
|
return port;
|
60
|
-
}
|
51
|
+
};
|
61
52
|
exports.getPort = getPort;
|
62
53
|
/* eslint-enable no-param-reassign, @typescript-eslint/no-loop-func */
|
package/dist/getServerConfig.js
CHANGED
@@ -18,22 +18,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
18
|
__setModuleDefault(result, mod);
|
19
19
|
return result;
|
20
20
|
};
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
28
|
-
});
|
29
|
-
};
|
30
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
31
22
|
exports.getServerConfig = void 0;
|
32
23
|
const path = __importStar(require("path"));
|
33
24
|
const constants_1 = require("./constants");
|
34
25
|
const findExists_1 = require("./findExists");
|
35
|
-
const getServerConfig = (appDirectory, configFile) =>
|
26
|
+
const getServerConfig = async (appDirectory, configFile) => {
|
36
27
|
const configFilePath = (0, findExists_1.findExists)(constants_1.CONFIG_FILE_EXTENSIONS.map(extension => path.resolve(appDirectory, `${configFile}${extension}`)));
|
37
28
|
return configFilePath;
|
38
|
-
}
|
29
|
+
};
|
39
30
|
exports.getServerConfig = getServerConfig;
|
package/dist/logger.d.ts
CHANGED
@@ -12,6 +12,7 @@ interface InstanceConfiguration {
|
|
12
12
|
}
|
13
13
|
interface ConstructorOptions {
|
14
14
|
config?: InstanceConfiguration;
|
15
|
+
level?: string;
|
15
16
|
types?: Record<string, LoggerConfiguration>;
|
16
17
|
}
|
17
18
|
declare type LoggerFunction = (message?: number | string | Error, ...args: any[]) => void;
|
@@ -42,6 +43,7 @@ declare const LOG_TYPES: {
|
|
42
43
|
};
|
43
44
|
declare class Logger {
|
44
45
|
private readonly logCount;
|
46
|
+
private readonly level;
|
45
47
|
private history;
|
46
48
|
private readonly config;
|
47
49
|
private readonly types;
|
@@ -59,5 +61,6 @@ declare type LoggerInterface = {
|
|
59
61
|
[key in keyof typeof LOG_TYPES]: LoggerFunction;
|
60
62
|
};
|
61
63
|
declare const logger: Logger & LoggerInterface;
|
64
|
+
export { Logger };
|
62
65
|
export { logger };
|
63
66
|
export type { LoggerInterface };
|
package/dist/logger.js
CHANGED
@@ -3,9 +3,16 @@ 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.logger = void 0;
|
6
|
+
exports.logger = exports.Logger = void 0;
|
7
7
|
const chalk_1 = __importDefault(require("../compiled/chalk"));
|
8
8
|
const { grey, underline } = chalk_1.default;
|
9
|
+
const LOG_LEVEL = {
|
10
|
+
error: 0,
|
11
|
+
warn: 1,
|
12
|
+
info: 2,
|
13
|
+
debug: 3,
|
14
|
+
log: 4,
|
15
|
+
};
|
9
16
|
const LOG_TYPES = {
|
10
17
|
error: {
|
11
18
|
color: 'red',
|
@@ -27,7 +34,7 @@ const LOG_TYPES = {
|
|
27
34
|
label: 'debug',
|
28
35
|
level: 'debug',
|
29
36
|
},
|
30
|
-
log: { level: '
|
37
|
+
log: { level: 'log' },
|
31
38
|
};
|
32
39
|
const DEFAULT_CONFIG = {
|
33
40
|
displayLabel: true,
|
@@ -38,8 +45,12 @@ class Logger {
|
|
38
45
|
constructor(options = {}) {
|
39
46
|
this.logCount = 200;
|
40
47
|
this.history = {};
|
41
|
-
this.
|
42
|
-
this.
|
48
|
+
this.level = options.level || LOG_TYPES.log.level;
|
49
|
+
this.config = { ...DEFAULT_CONFIG, ...(options.config || {}) };
|
50
|
+
this.types = {
|
51
|
+
...LOG_TYPES,
|
52
|
+
...(options.types || {}),
|
53
|
+
};
|
43
54
|
this.longestLabel = this.getLongestLabel();
|
44
55
|
Object.keys(this.types).forEach(type => {
|
45
56
|
this[type] = this._log.bind(this, type);
|
@@ -54,12 +65,15 @@ class Logger {
|
|
54
65
|
this.history[type].shift();
|
55
66
|
}
|
56
67
|
}
|
57
|
-
_log(type, message) {
|
68
|
+
_log(type, message, ...args) {
|
58
69
|
if (message === undefined) {
|
59
70
|
// eslint-disable-next-line no-console
|
60
71
|
console.log();
|
61
72
|
return;
|
62
73
|
}
|
74
|
+
if (LOG_LEVEL[type] > LOG_LEVEL[this.level]) {
|
75
|
+
return;
|
76
|
+
}
|
63
77
|
let label = '';
|
64
78
|
let text = '';
|
65
79
|
const logType = this.types[type];
|
@@ -94,7 +108,7 @@ class Logger {
|
|
94
108
|
}
|
95
109
|
const log = label.length > 0 ? `${label} ${text}` : text;
|
96
110
|
// eslint-disable-next-line no-console
|
97
|
-
console.log(log);
|
111
|
+
console.log(log, ...args);
|
98
112
|
}
|
99
113
|
getLongestLabel() {
|
100
114
|
let longestLabel = '';
|
@@ -123,6 +137,7 @@ class Logger {
|
|
123
137
|
}
|
124
138
|
}
|
125
139
|
}
|
140
|
+
exports.Logger = Logger;
|
126
141
|
const logger = new Logger();
|
127
142
|
exports.logger = logger;
|
128
143
|
logger.Logger = Logger;
|
package/dist/monorepo.js
CHANGED
@@ -8,16 +8,16 @@ const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
9
9
|
const compiled_1 = require("./compiled");
|
10
10
|
const PACKAGE_MAX_DEPTH = 5;
|
11
|
-
const
|
11
|
+
const WORKSPACES_FILES = {
|
12
12
|
YARN: 'package.json',
|
13
13
|
PNPM: 'pnpm-workspaces.yaml',
|
14
14
|
LERNA: 'lerna.json',
|
15
15
|
};
|
16
|
-
const isLerna = (root) => fs_1.default.existsSync(path_1.default.join(root,
|
16
|
+
const isLerna = (root) => fs_1.default.existsSync(path_1.default.join(root, WORKSPACES_FILES.LERNA));
|
17
17
|
exports.isLerna = isLerna;
|
18
18
|
const isYarnWorkspaces = (root) => {
|
19
19
|
var _a;
|
20
|
-
const pkg = path_1.default.join(root,
|
20
|
+
const pkg = path_1.default.join(root, WORKSPACES_FILES.YARN);
|
21
21
|
if (!fs_1.default.existsSync(pkg)) {
|
22
22
|
return false;
|
23
23
|
}
|
@@ -25,13 +25,16 @@ const isYarnWorkspaces = (root) => {
|
|
25
25
|
return Boolean((_a = json.workspaces) === null || _a === void 0 ? void 0 : _a.packages);
|
26
26
|
};
|
27
27
|
exports.isYarnWorkspaces = isYarnWorkspaces;
|
28
|
-
const isPnpmWorkspaces = (root) => fs_1.default.existsSync(path_1.default.join(root,
|
28
|
+
const isPnpmWorkspaces = (root) => fs_1.default.existsSync(path_1.default.join(root, WORKSPACES_FILES.PNPM));
|
29
29
|
exports.isPnpmWorkspaces = isPnpmWorkspaces;
|
30
30
|
const isMonorepo = (root) => (0, exports.isLerna)(root) || (0, exports.isYarnWorkspaces)(root) || (0, exports.isPnpmWorkspaces)(root);
|
31
31
|
exports.isMonorepo = isMonorepo;
|
32
32
|
const isModernjsMonorepo = (root) => {
|
33
33
|
const json = JSON.parse(fs_1.default.readFileSync(path_1.default.join(root, 'package.json'), 'utf8'));
|
34
|
-
const deps =
|
34
|
+
const deps = {
|
35
|
+
...(json.dependencies || {}),
|
36
|
+
...(json.devDependencies || {}),
|
37
|
+
};
|
35
38
|
return Boolean(deps['@modern-js/monorepo-tools']);
|
36
39
|
};
|
37
40
|
exports.isModernjsMonorepo = isModernjsMonorepo;
|
@@ -59,7 +62,7 @@ const getMonorepoPackages = (root) => {
|
|
59
62
|
({ packages } = json);
|
60
63
|
}
|
61
64
|
else {
|
62
|
-
({ packages } = compiled_1.yaml.load(fs_1.default.readFileSync(path_1.default.join(root,
|
65
|
+
({ packages } = compiled_1.yaml.load(fs_1.default.readFileSync(path_1.default.join(root, WORKSPACES_FILES.PNPM), 'utf8')));
|
63
66
|
}
|
64
67
|
if (packages) {
|
65
68
|
return packages
|
package/dist/nodeEnv.js
CHANGED
@@ -1,49 +1,34 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
3
|
exports.canUsePnpm = exports.canUseYarn = exports.canUseNpm = void 0;
|
13
4
|
const compiled_1 = require("./compiled");
|
14
|
-
function canUseNpm() {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
}
|
23
|
-
});
|
5
|
+
async function canUseNpm() {
|
6
|
+
try {
|
7
|
+
await (0, compiled_1.execa)('npm', ['--version'], { env: process.env });
|
8
|
+
return true;
|
9
|
+
}
|
10
|
+
catch (e) {
|
11
|
+
return false;
|
12
|
+
}
|
24
13
|
}
|
25
14
|
exports.canUseNpm = canUseNpm;
|
26
|
-
function canUseYarn() {
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
}
|
35
|
-
});
|
15
|
+
async function canUseYarn() {
|
16
|
+
try {
|
17
|
+
await (0, compiled_1.execa)('yarn', ['--version'], { env: process.env });
|
18
|
+
return true;
|
19
|
+
}
|
20
|
+
catch (e) {
|
21
|
+
return false;
|
22
|
+
}
|
36
23
|
}
|
37
24
|
exports.canUseYarn = canUseYarn;
|
38
|
-
function canUsePnpm() {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
}
|
47
|
-
});
|
25
|
+
async function canUsePnpm() {
|
26
|
+
try {
|
27
|
+
await (0, compiled_1.execa)('pnpm', ['--version'], { env: process.env });
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
catch (e) {
|
31
|
+
return false;
|
32
|
+
}
|
48
33
|
}
|
49
34
|
exports.canUsePnpm = canUsePnpm;
|
@@ -57,7 +57,7 @@ const prettyInstructions = (appContext, config) => {
|
|
57
57
|
});
|
58
58
|
message += '\n';
|
59
59
|
message += compiled_1.chalk.cyanBright(' λ (Server) server-side renders at runtime\n');
|
60
|
-
message += compiled_1.chalk.cyanBright(' ○ (Static) client-side
|
60
|
+
message += compiled_1.chalk.cyanBright(' ○ (Static) client-side renders as static HTML\n');
|
61
61
|
}
|
62
62
|
return message;
|
63
63
|
};
|
package/dist/readTsConfig.js
CHANGED
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.readTsConfigByFile = exports.readTsConfig = void 0;
|
7
7
|
const path_1 = __importDefault(require("path"));
|
8
8
|
const readTsConfig = (root) => {
|
9
|
-
// import typescript from 'typescript' cause eslint
|
9
|
+
// import typescript from 'typescript' cause eslint format error.
|
10
10
|
const typescript = require('typescript');
|
11
11
|
return typescript.readConfigFile(path_1.default.resolve(root, './tsconfig.json'), typescript.sys.readFile).config;
|
12
12
|
};
|
13
13
|
exports.readTsConfig = readTsConfig;
|
14
14
|
const readTsConfigByFile = (filename) => {
|
15
|
-
// import typescript from 'typescript' cause eslint
|
15
|
+
// import typescript from 'typescript' cause eslint format error.
|
16
16
|
const typescript = require('typescript');
|
17
17
|
return typescript.readConfigFile(path_1.default.resolve(filename), typescript.sys.readFile).config;
|
18
18
|
};
|
package/dist/runtimeExports.js
CHANGED
package/dist/watch.js
CHANGED
@@ -18,15 +18,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
18
|
__setModuleDefault(result, mod);
|
19
19
|
return result;
|
20
20
|
};
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
28
|
-
});
|
29
|
-
};
|
30
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
31
22
|
exports.watch = exports.WatchChangeType = void 0;
|
32
23
|
const path = __importStar(require("path"));
|
@@ -42,20 +33,20 @@ const watch = (watchDir, runTask, ignored = []) => {
|
|
42
33
|
ignored,
|
43
34
|
});
|
44
35
|
watcher.on('ready', () => (ready = true));
|
45
|
-
watcher.on('change', (filePath) =>
|
36
|
+
watcher.on('change', async (filePath) => {
|
46
37
|
const changedFilePath = path.resolve(filePath);
|
47
|
-
|
48
|
-
})
|
49
|
-
watcher.on('add', (filePath) =>
|
38
|
+
await runTask({ changedFilePath, changeType: exports.WatchChangeType.CHANGE });
|
39
|
+
});
|
40
|
+
watcher.on('add', async (filePath) => {
|
50
41
|
const changedFilePath = path.resolve(filePath);
|
51
42
|
if (ready) {
|
52
|
-
|
43
|
+
await runTask({ changedFilePath, changeType: exports.WatchChangeType.ADD });
|
53
44
|
}
|
54
|
-
})
|
55
|
-
watcher.on('unlink', (filePath) =>
|
45
|
+
});
|
46
|
+
watcher.on('unlink', async (filePath) => {
|
56
47
|
const changedFilePath = path.resolve(filePath);
|
57
|
-
|
58
|
-
})
|
48
|
+
await runTask({ changedFilePath, changeType: exports.WatchChangeType.UNLINK });
|
49
|
+
});
|
59
50
|
watcher.on('error', err => {
|
60
51
|
throw err;
|
61
52
|
});
|
package/package.json
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
"modern",
|
12
12
|
"modern.js"
|
13
13
|
],
|
14
|
-
"version": "1.
|
14
|
+
"version": "1.7.1-alpha.1",
|
15
15
|
"jsnext:source": "./src/index.ts",
|
16
16
|
"types": "./dist/index.d.ts",
|
17
17
|
"main": "./dist/index.js",
|
@@ -19,30 +19,23 @@
|
|
19
19
|
"jsnext:modern": "./dist/index.js",
|
20
20
|
"_comment": "Provide ESM and CJS exports, ESM is used by runtime package, for treeshaking",
|
21
21
|
"exports": {
|
22
|
-
".":
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
"./
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
"./
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
"./
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
"
|
39
|
-
"jsnext:source": "./compiled/lodash/index.js",
|
40
|
-
"default": "./compiled/lodash/index.js"
|
41
|
-
},
|
42
|
-
"./strip-ansi": {
|
43
|
-
"jsnext:source": "./compiled/strip-ansi/index.js",
|
44
|
-
"default": "./compiled/strip-ansi/index.js"
|
45
|
-
}
|
22
|
+
".": "./dist/index.js",
|
23
|
+
"./format": "./dist/format.js",
|
24
|
+
"./constants": "./dist/constants.js",
|
25
|
+
"./ssr": "./dist/ssr.js",
|
26
|
+
"./chalk": "./compiled/chalk/index.js",
|
27
|
+
"./json5": "./compiled/json5/index.js",
|
28
|
+
"./semver": "./compiled/semver/index.js",
|
29
|
+
"./lodash": "./compiled/lodash/index.js",
|
30
|
+
"./globby": "./compiled/globby/index.js",
|
31
|
+
"./fast-glob": "./compiled/fast-glob/index.js",
|
32
|
+
"./gzip-size": "./compiled/gzip-size/index.js",
|
33
|
+
"./mime-types": "./compiled/mime-types/index.js",
|
34
|
+
"./strip-ansi": "./compiled/strip-ansi/index.js"
|
35
|
+
},
|
36
|
+
"publishConfig": {
|
37
|
+
"registry": "https://registry.npmjs.org/",
|
38
|
+
"access": "public"
|
46
39
|
},
|
47
40
|
"typesVersions": {
|
48
41
|
"*": {
|
@@ -55,9 +48,30 @@
|
|
55
48
|
"ssr": [
|
56
49
|
"./dist/ssr.d.ts"
|
57
50
|
],
|
51
|
+
"chalk": [
|
52
|
+
"./compiled/chalk/index.d.ts"
|
53
|
+
],
|
54
|
+
"json5": [
|
55
|
+
"./compiled/json5/index.d.ts"
|
56
|
+
],
|
57
|
+
"semver": [
|
58
|
+
"./compiled/semver/index.d.ts"
|
59
|
+
],
|
58
60
|
"lodash": [
|
59
61
|
"./compiled/lodash/index.d.ts"
|
60
62
|
],
|
63
|
+
"globby": [
|
64
|
+
"./compiled/globby/index.d.ts"
|
65
|
+
],
|
66
|
+
"fast-glob": [
|
67
|
+
"./compiled/fast-glob/index.d.ts"
|
68
|
+
],
|
69
|
+
"gzip-size": [
|
70
|
+
"./compiled/gzip-size/index.d.ts"
|
71
|
+
],
|
72
|
+
"mime-types": [
|
73
|
+
"./compiled/mime-types/index.d.ts"
|
74
|
+
],
|
61
75
|
"strip-ansi": [
|
62
76
|
"./compiled/strip-ansi/index.d.ts"
|
63
77
|
]
|
@@ -65,10 +79,11 @@
|
|
65
79
|
},
|
66
80
|
"dependencies": {
|
67
81
|
"caniuse-lite": "^1.0.30001332",
|
82
|
+
"lodash": "^4.17.21",
|
68
83
|
"typescript": "^4"
|
69
84
|
},
|
70
85
|
"devDependencies": {
|
71
|
-
"@modern-js/types": "1.5.
|
86
|
+
"@modern-js/types": "1.5.2",
|
72
87
|
"@scripts/build": "0.0.0",
|
73
88
|
"@scripts/jest-config": "0.0.0",
|
74
89
|
"@types/jest": "^26",
|
@@ -77,10 +92,6 @@
|
|
77
92
|
"webpack": "^5.71.0"
|
78
93
|
},
|
79
94
|
"sideEffects": false,
|
80
|
-
"publishConfig": {
|
81
|
-
"registry": "https://registry.npmjs.org/",
|
82
|
-
"access": "public"
|
83
|
-
},
|
84
95
|
"scripts": {
|
85
96
|
"new": "modern new",
|
86
97
|
"dev": "tsc --watch",
|
package/tsconfig.json
CHANGED
@@ -1,20 +0,0 @@
|
|
1
|
-
import type * as fsStat from '../../../@nodelib/fs.stat';
|
2
|
-
import type { Dirent, ErrnoException } from '../types';
|
3
|
-
export interface ReaddirAsynchronousMethod {
|
4
|
-
(filepath: string, options: {
|
5
|
-
withFileTypes: true;
|
6
|
-
}, callback: (error: ErrnoException | null, files: Dirent[]) => void): void;
|
7
|
-
(filepath: string, callback: (error: ErrnoException | null, files: string[]) => void): void;
|
8
|
-
}
|
9
|
-
export interface ReaddirSynchronousMethod {
|
10
|
-
(filepath: string, options: {
|
11
|
-
withFileTypes: true;
|
12
|
-
}): Dirent[];
|
13
|
-
(filepath: string): string[];
|
14
|
-
}
|
15
|
-
export declare type FileSystemAdapter = fsStat.FileSystemAdapter & {
|
16
|
-
readdir: ReaddirAsynchronousMethod;
|
17
|
-
readdirSync: ReaddirSynchronousMethod;
|
18
|
-
};
|
19
|
-
export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
|
20
|
-
export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import type { FileSystemAdapter, ReaddirAsynchronousMethod, ReaddirSynchronousMethod } from './adapters/fs';
|
2
|
-
import * as async from './providers/async';
|
3
|
-
import Settings, { Options } from './settings';
|
4
|
-
import type { Dirent, Entry } from './types';
|
5
|
-
declare type AsyncCallback = async.AsyncCallback;
|
6
|
-
declare function scandir(path: string, callback: AsyncCallback): void;
|
7
|
-
declare function scandir(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
|
8
|
-
declare namespace scandir {
|
9
|
-
function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
|
10
|
-
}
|
11
|
-
declare function scandirSync(path: string, optionsOrSettings?: Options | Settings): Entry[];
|
12
|
-
export { scandir, scandirSync, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, ReaddirAsynchronousMethod, ReaddirSynchronousMethod, Options };
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import type Settings from '../settings';
|
3
|
-
import type { Entry } from '../types';
|
4
|
-
export declare type AsyncCallback = (error: NodeJS.ErrnoException, entries: Entry[]) => void;
|
5
|
-
export declare function read(directory: string, settings: Settings, callback: AsyncCallback): void;
|
6
|
-
export declare function readdirWithFileTypes(directory: string, settings: Settings, callback: AsyncCallback): void;
|
7
|
-
export declare function readdir(directory: string, settings: Settings, callback: AsyncCallback): void;
|