@modern-js/utils 1.6.0 → 1.7.0
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 +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/format.js +6 -1
- 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 +4 -1
- package/dist/nodeEnv.js +24 -39
- package/dist/runtimeExports.js +1 -1
- package/dist/watch.js +9 -18
- package/package.json +33 -10
- 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
@@ -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
@@ -31,7 +31,10 @@ const isMonorepo = (root) => (0, exports.isLerna)(root) || (0, exports.isYarnWor
|
|
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;
|
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;
|
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.0",
|
15
15
|
"jsnext:source": "./src/index.ts",
|
16
16
|
"types": "./dist/index.d.ts",
|
17
17
|
"main": "./dist/index.js",
|
@@ -35,14 +35,15 @@
|
|
35
35
|
"jsnext:source": "./src/ssr.ts",
|
36
36
|
"default": "./dist/ssr.js"
|
37
37
|
},
|
38
|
-
"./
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
"./
|
43
|
-
|
44
|
-
|
45
|
-
|
38
|
+
"./chalk": "./compiled/chalk/index.js",
|
39
|
+
"./json5": "./compiled/json5/index.js",
|
40
|
+
"./semver": "./compiled/semver/index.js",
|
41
|
+
"./lodash": "./compiled/lodash/index.js",
|
42
|
+
"./globby": "./compiled/globby/index.js",
|
43
|
+
"./fast-glob": "./compiled/fast-glob/index.js",
|
44
|
+
"./gzip-size": "./compiled/gzip-size/index.js",
|
45
|
+
"./mime-types": "./compiled/mime-types/index.js",
|
46
|
+
"./strip-ansi": "./compiled/strip-ansi/index.js"
|
46
47
|
},
|
47
48
|
"typesVersions": {
|
48
49
|
"*": {
|
@@ -55,9 +56,30 @@
|
|
55
56
|
"ssr": [
|
56
57
|
"./dist/ssr.d.ts"
|
57
58
|
],
|
59
|
+
"chalk": [
|
60
|
+
"./compiled/chalk/index.d.ts"
|
61
|
+
],
|
62
|
+
"json5": [
|
63
|
+
"./compiled/json5/index.d.ts"
|
64
|
+
],
|
65
|
+
"semver": [
|
66
|
+
"./compiled/semver/index.d.ts"
|
67
|
+
],
|
58
68
|
"lodash": [
|
59
69
|
"./compiled/lodash/index.d.ts"
|
60
70
|
],
|
71
|
+
"globby": [
|
72
|
+
"./compiled/globby/index.d.ts"
|
73
|
+
],
|
74
|
+
"fast-glob": [
|
75
|
+
"./compiled/fast-glob/index.d.ts"
|
76
|
+
],
|
77
|
+
"gzip-size": [
|
78
|
+
"./compiled/gzip-size/index.d.ts"
|
79
|
+
],
|
80
|
+
"mime-types": [
|
81
|
+
"./compiled/mime-types/index.d.ts"
|
82
|
+
],
|
61
83
|
"strip-ansi": [
|
62
84
|
"./compiled/strip-ansi/index.d.ts"
|
63
85
|
]
|
@@ -65,10 +87,11 @@
|
|
65
87
|
},
|
66
88
|
"dependencies": {
|
67
89
|
"caniuse-lite": "^1.0.30001332",
|
90
|
+
"lodash": "^4.17.21",
|
68
91
|
"typescript": "^4"
|
69
92
|
},
|
70
93
|
"devDependencies": {
|
71
|
-
"@modern-js/types": "1.5.
|
94
|
+
"@modern-js/types": "1.5.2",
|
72
95
|
"@scripts/build": "0.0.0",
|
73
96
|
"@scripts/jest-config": "0.0.0",
|
74
97
|
"@types/jest": "^26",
|
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;
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import * as fsStat from '../../@nodelib/fs.stat';
|
2
|
-
import * as fs from './adapters/fs';
|
3
|
-
export interface Options {
|
4
|
-
followSymbolicLinks?: boolean;
|
5
|
-
fs?: Partial<fs.FileSystemAdapter>;
|
6
|
-
pathSegmentSeparator?: string;
|
7
|
-
stats?: boolean;
|
8
|
-
throwErrorOnBrokenSymbolicLink?: boolean;
|
9
|
-
}
|
10
|
-
export default class Settings {
|
11
|
-
private readonly _options;
|
12
|
-
readonly followSymbolicLinks: boolean;
|
13
|
-
readonly fs: fs.FileSystemAdapter;
|
14
|
-
readonly pathSegmentSeparator: string;
|
15
|
-
readonly stats: boolean;
|
16
|
-
readonly throwErrorOnBrokenSymbolicLink: boolean;
|
17
|
-
readonly fsStatSettings: fsStat.Settings;
|
18
|
-
constructor(_options?: Options);
|
19
|
-
private _getValue;
|
20
|
-
}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import type * as fs from 'fs';
|
3
|
-
export interface Entry {
|
4
|
-
dirent: Dirent;
|
5
|
-
name: string;
|
6
|
-
path: string;
|
7
|
-
stats?: Stats;
|
8
|
-
}
|
9
|
-
export declare type Stats = fs.Stats;
|
10
|
-
export declare type ErrnoException = NodeJS.ErrnoException;
|
11
|
-
export interface Dirent {
|
12
|
-
isBlockDevice: () => boolean;
|
13
|
-
isCharacterDevice: () => boolean;
|
14
|
-
isDirectory: () => boolean;
|
15
|
-
isFIFO: () => boolean;
|
16
|
-
isFile: () => boolean;
|
17
|
-
isSocket: () => boolean;
|
18
|
-
isSymbolicLink: () => boolean;
|
19
|
-
name: string;
|
20
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import * as fs from 'fs';
|
3
|
-
import type { ErrnoException } from '../types';
|
4
|
-
export declare type StatAsynchronousMethod = (path: string, callback: (error: ErrnoException | null, stats: fs.Stats) => void) => void;
|
5
|
-
export declare type StatSynchronousMethod = (path: string) => fs.Stats;
|
6
|
-
export interface FileSystemAdapter {
|
7
|
-
lstat: StatAsynchronousMethod;
|
8
|
-
stat: StatAsynchronousMethod;
|
9
|
-
lstatSync: StatSynchronousMethod;
|
10
|
-
statSync: StatSynchronousMethod;
|
11
|
-
}
|
12
|
-
export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
|
13
|
-
export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import type { FileSystemAdapter, StatAsynchronousMethod, StatSynchronousMethod } from './adapters/fs';
|
2
|
-
import * as async from './providers/async';
|
3
|
-
import Settings, { Options } from './settings';
|
4
|
-
import type { Stats } from './types';
|
5
|
-
declare type AsyncCallback = async.AsyncCallback;
|
6
|
-
declare function stat(path: string, callback: AsyncCallback): void;
|
7
|
-
declare function stat(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
|
8
|
-
declare namespace stat {
|
9
|
-
function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Stats>;
|
10
|
-
}
|
11
|
-
declare function statSync(path: string, optionsOrSettings?: Options | Settings): Stats;
|
12
|
-
export { Settings, stat, statSync, AsyncCallback, FileSystemAdapter, StatAsynchronousMethod, StatSynchronousMethod, Options, Stats };
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import type Settings from '../settings';
|
2
|
-
import type { ErrnoException, Stats } from '../types';
|
3
|
-
export declare type AsyncCallback = (error: ErrnoException, stats: Stats) => void;
|
4
|
-
export declare function read(path: string, settings: Settings, callback: AsyncCallback): void;
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import * as fs from './adapters/fs';
|
2
|
-
export interface Options {
|
3
|
-
followSymbolicLink?: boolean;
|
4
|
-
fs?: Partial<fs.FileSystemAdapter>;
|
5
|
-
markSymbolicLink?: boolean;
|
6
|
-
throwErrorOnBrokenSymbolicLink?: boolean;
|
7
|
-
}
|
8
|
-
export default class Settings {
|
9
|
-
private readonly _options;
|
10
|
-
readonly followSymbolicLink: boolean;
|
11
|
-
readonly fs: fs.FileSystemAdapter;
|
12
|
-
readonly markSymbolicLink: boolean;
|
13
|
-
readonly throwErrorOnBrokenSymbolicLink: boolean;
|
14
|
-
constructor(_options?: Options);
|
15
|
-
private _getValue;
|
16
|
-
}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import type { Readable } from 'stream';
|
3
|
-
import type { Dirent, FileSystemAdapter } from '../../@nodelib/fs.scandir';
|
4
|
-
import { AsyncCallback } from './providers/async';
|
5
|
-
import Settings, { DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction, Options } from './settings';
|
6
|
-
import type { Entry } from './types';
|
7
|
-
declare function walk(directory: string, callback: AsyncCallback): void;
|
8
|
-
declare function walk(directory: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
|
9
|
-
declare namespace walk {
|
10
|
-
function __promisify__(directory: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
|
11
|
-
}
|
12
|
-
declare function walkSync(directory: string, optionsOrSettings?: Options | Settings): Entry[];
|
13
|
-
declare function walkStream(directory: string, optionsOrSettings?: Options | Settings): Readable;
|
14
|
-
export { walk, walkSync, walkStream, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, Options, DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction };
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import AsyncReader from '../readers/async';
|
2
|
-
import type Settings from '../settings';
|
3
|
-
import type { Entry, Errno } from '../types';
|
4
|
-
export declare type AsyncCallback = (error: Errno, entries: Entry[]) => void;
|
5
|
-
export default class AsyncProvider {
|
6
|
-
private readonly _root;
|
7
|
-
private readonly _settings;
|
8
|
-
protected readonly _reader: AsyncReader;
|
9
|
-
private readonly _storage;
|
10
|
-
constructor(_root: string, _settings: Settings);
|
11
|
-
read(callback: AsyncCallback): void;
|
12
|
-
}
|