@oclif/core 4.0.0-beta.1 → 4.0.0-beta.10
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/lib/args.d.ts +4 -4
- package/lib/cache.d.ts +3 -3
- package/lib/cache.js +1 -1
- package/lib/command.d.ts +18 -18
- package/lib/command.js +11 -20
- package/lib/config/config.d.ts +12 -37
- package/lib/config/config.js +82 -118
- package/lib/config/plugin-loader.d.ts +6 -6
- package/lib/config/plugin-loader.js +4 -28
- package/lib/config/plugin.d.ts +3 -3
- package/lib/config/plugin.js +9 -11
- package/lib/config/ts-path.d.ts +1 -1
- package/lib/config/ts-path.js +6 -7
- package/lib/config/util.d.ts +1 -1
- package/lib/config/util.js +5 -21
- package/lib/errors/error.js +3 -3
- package/lib/errors/errors/cli.d.ts +5 -5
- package/lib/errors/errors/cli.js +2 -2
- package/lib/errors/errors/pretty-print.d.ts +2 -2
- package/lib/errors/errors/pretty-print.js +2 -2
- package/lib/errors/handle.js +4 -11
- package/lib/errors/index.d.ts +0 -2
- package/lib/errors/index.js +1 -5
- package/lib/errors/warn.d.ts +2 -8
- package/lib/errors/warn.js +12 -11
- package/lib/flags.d.ts +4 -4
- package/lib/flush.js +2 -2
- package/lib/help/formatter.d.ts +3 -3
- package/lib/help/index.d.ts +1 -0
- package/lib/help/index.js +19 -10
- package/lib/index.d.ts +5 -5
- package/lib/index.js +4 -2
- package/lib/interfaces/config.d.ts +9 -21
- package/lib/interfaces/errors.d.ts +5 -5
- package/lib/interfaces/flags.d.ts +2 -2
- package/lib/interfaces/index.d.ts +2 -1
- package/lib/interfaces/logger.d.ts +9 -0
- package/lib/interfaces/logger.js +2 -0
- package/lib/interfaces/parser.d.ts +6 -6
- package/lib/interfaces/pjson.d.ts +217 -150
- package/lib/interfaces/plugin.d.ts +26 -24
- package/lib/interfaces/topic.d.ts +2 -2
- package/lib/logger.d.ts +14 -0
- package/lib/logger.js +90 -0
- package/lib/main.js +5 -3
- package/lib/parser/errors.d.ts +1 -1
- package/lib/parser/parse.js +2 -1
- package/lib/performance.js +3 -2
- package/lib/settings.d.ts +5 -11
- package/lib/util/determine-priority.d.ts +21 -0
- package/lib/util/determine-priority.js +55 -0
- package/lib/util/find-root.d.ts +1 -0
- package/lib/util/find-root.js +19 -19
- package/lib/util/fs.js +12 -0
- package/lib/util/ids.d.ts +1 -1
- package/lib/util/read-pjson.d.ts +7 -0
- package/lib/util/read-pjson.js +60 -0
- package/lib/util/read-tsconfig.js +4 -9
- package/lib/ux/colorize-json.d.ts +2 -2
- package/lib/ux/index.d.ts +7 -2
- package/lib/ux/index.js +15 -3
- package/lib/ux/theme.d.ts +1 -1
- package/package.json +30 -14
- package/flush.d.ts +0 -3
- package/flush.js +0 -1
- package/handle.js +0 -1
- package/lib/errors/config.d.ts +0 -6
- package/lib/errors/config.js +0 -38
- package/lib/errors/logger.d.ts +0 -8
- package/lib/errors/logger.js +0 -48
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oclif/core",
|
|
3
3
|
"description": "base library for oclif CLIs",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.10",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/oclif/core/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"ansis": "^3.0.1",
|
|
10
10
|
"clean-stack": "^3.0.1",
|
|
11
11
|
"cli-spinners": "^2.9.2",
|
|
12
|
+
"cosmiconfig": "^9.0.0",
|
|
12
13
|
"debug": "^4.3.4",
|
|
13
14
|
"ejs": "^3.1.10",
|
|
14
15
|
"get-package-type": "^0.1.0",
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
"is-wsl": "^2.2.0",
|
|
18
19
|
"minimatch": "^9.0.4",
|
|
19
20
|
"string-width": "^4.2.3",
|
|
21
|
+
"supports-color": "^9.4.0",
|
|
20
22
|
"widest-line": "^3.1.0",
|
|
21
23
|
"wordwrap": "^1.0.0",
|
|
22
24
|
"wrap-ansi": "^7.0.0"
|
|
@@ -26,6 +28,7 @@
|
|
|
26
28
|
"@oclif/plugin-help": "^6",
|
|
27
29
|
"@oclif/plugin-plugins": "^5",
|
|
28
30
|
"@oclif/prettier-config": "^0.2.1",
|
|
31
|
+
"@oclif/test": "^4",
|
|
29
32
|
"@types/benchmark": "^2.1.5",
|
|
30
33
|
"@types/chai": "^4.3.11",
|
|
31
34
|
"@types/chai-as-promised": "^7.1.8",
|
|
@@ -45,10 +48,9 @@
|
|
|
45
48
|
"commitlint": "^19",
|
|
46
49
|
"cross-env": "^7.0.3",
|
|
47
50
|
"eslint": "^8.57.0",
|
|
48
|
-
"eslint-config-oclif": "^5.
|
|
49
|
-
"eslint-config-oclif-typescript": "^3.1.
|
|
51
|
+
"eslint-config-oclif": "^5.2.0",
|
|
52
|
+
"eslint-config-oclif-typescript": "^3.1.7",
|
|
50
53
|
"eslint-config-prettier": "^9.1.0",
|
|
51
|
-
"globby": "^11.1.0",
|
|
52
54
|
"husky": "^9",
|
|
53
55
|
"lint-staged": "^15",
|
|
54
56
|
"madge": "^6.1.0",
|
|
@@ -56,7 +58,7 @@
|
|
|
56
58
|
"nyc": "^15.1.0",
|
|
57
59
|
"prettier": "^3.2.5",
|
|
58
60
|
"shx": "^0.3.4",
|
|
59
|
-
"sinon": "^
|
|
61
|
+
"sinon": "^18",
|
|
60
62
|
"ts-node": "^10.9.2",
|
|
61
63
|
"tsd": "^0.31.0",
|
|
62
64
|
"typescript": "^5"
|
|
@@ -65,10 +67,7 @@
|
|
|
65
67
|
"node": ">=18.0.0"
|
|
66
68
|
},
|
|
67
69
|
"files": [
|
|
68
|
-
"/lib"
|
|
69
|
-
"/flush.js",
|
|
70
|
-
"/flush.d.ts",
|
|
71
|
-
"/handle.js"
|
|
70
|
+
"/lib"
|
|
72
71
|
],
|
|
73
72
|
"homepage": "https://github.com/oclif/core",
|
|
74
73
|
"keywords": [
|
|
@@ -81,7 +80,26 @@
|
|
|
81
80
|
"argv"
|
|
82
81
|
],
|
|
83
82
|
"license": "MIT",
|
|
84
|
-
"
|
|
83
|
+
"exports": {
|
|
84
|
+
".": "./lib/index.js",
|
|
85
|
+
"./args": "./lib/args.js",
|
|
86
|
+
"./command": "./lib/command.js",
|
|
87
|
+
"./config": "./lib/config/index.js",
|
|
88
|
+
"./errors": "./lib/errors/index.js",
|
|
89
|
+
"./execute": "./lib/execute.js",
|
|
90
|
+
"./flags": "./lib/flags.js",
|
|
91
|
+
"./flush": "./lib/flush.js",
|
|
92
|
+
"./handle": "./lib/errors/handle.js",
|
|
93
|
+
"./help": "./lib/help/index.js",
|
|
94
|
+
"./hooks": "./lib/interfaces/hooks.js",
|
|
95
|
+
"./interfaces": "./lib/interfaces/index.js",
|
|
96
|
+
"./logger": "./lib/logger.js",
|
|
97
|
+
"./performance": "./lib/performance.js",
|
|
98
|
+
"./run": "./lib/main.js",
|
|
99
|
+
"./settings": "./lib/settings.js",
|
|
100
|
+
"./util/ids": "./lib/util/ids.js",
|
|
101
|
+
"./ux": "./lib/ux/index.js"
|
|
102
|
+
},
|
|
85
103
|
"repository": "oclif/core",
|
|
86
104
|
"oclif": {
|
|
87
105
|
"bin": "oclif",
|
|
@@ -95,20 +113,18 @@
|
|
|
95
113
|
},
|
|
96
114
|
"scripts": {
|
|
97
115
|
"build": "shx rm -rf lib && tsc",
|
|
98
|
-
"commitlint": "commitlint",
|
|
99
116
|
"compile": "tsc",
|
|
100
117
|
"format": "prettier --write \"+(src|test)/**/*.+(ts|js|json)\"",
|
|
101
118
|
"lint": "eslint . --ext .ts",
|
|
102
119
|
"posttest": "yarn lint && yarn test:circular-deps",
|
|
103
120
|
"prepack": "yarn run build",
|
|
104
121
|
"prepare": "husky",
|
|
105
|
-
"
|
|
106
|
-
"test:circular-deps": "madge lib/ -c",
|
|
122
|
+
"test:circular-deps": "yarn build && madge lib/ -c",
|
|
107
123
|
"test:debug": "nyc mocha --debug-brk --inspect \"test/**/*.test.ts\"",
|
|
108
124
|
"test:integration": "mocha --forbid-only \"test/**/*.integration.ts\" --parallel --timeout 1200000",
|
|
109
125
|
"test:interoperability": "cross-env DEBUG=integration:* ts-node test/integration/interop.ts",
|
|
110
126
|
"test:perf": "ts-node test/perf/parser.perf.ts",
|
|
111
|
-
"test": "nyc mocha --forbid-only \"test/**/*.test.ts\""
|
|
127
|
+
"test": "nyc mocha --forbid-only \"test/**/*.test.ts\" --parallel"
|
|
112
128
|
},
|
|
113
129
|
"types": "lib/index.d.ts"
|
|
114
130
|
}
|
package/flush.d.ts
DELETED
package/flush.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('./lib/cli-ux/flush').flush
|
package/handle.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = async error => require('./lib/errors/handle').handle(error)
|
package/lib/errors/config.d.ts
DELETED
package/lib/errors/config.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.config = void 0;
|
|
4
|
-
const settings_1 = require("../settings");
|
|
5
|
-
const logger_1 = require("./logger");
|
|
6
|
-
function displayWarnings() {
|
|
7
|
-
if (process.listenerCount('warning') > 1)
|
|
8
|
-
return;
|
|
9
|
-
process.on('warning', (warning) => {
|
|
10
|
-
console.error(warning.stack);
|
|
11
|
-
if (warning.detail)
|
|
12
|
-
console.error(warning.detail);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
exports.config = {
|
|
16
|
-
get debug() {
|
|
17
|
-
return Boolean(settings_1.settings.debug);
|
|
18
|
-
},
|
|
19
|
-
set debug(enabled) {
|
|
20
|
-
settings_1.settings.debug = enabled;
|
|
21
|
-
if (enabled)
|
|
22
|
-
displayWarnings();
|
|
23
|
-
},
|
|
24
|
-
get errlog() {
|
|
25
|
-
return settings_1.settings.errlog;
|
|
26
|
-
},
|
|
27
|
-
set errlog(errlog) {
|
|
28
|
-
if (errlog) {
|
|
29
|
-
this.errorLogger = new logger_1.Logger(errlog);
|
|
30
|
-
settings_1.settings.errlog = errlog;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
delete this.errorLogger;
|
|
34
|
-
delete settings_1.settings.errlog;
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
errorLogger: undefined,
|
|
38
|
-
};
|
package/lib/errors/logger.d.ts
DELETED
package/lib/errors/logger.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
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.Logger = void 0;
|
|
7
|
-
const ansis_1 = __importDefault(require("ansis"));
|
|
8
|
-
const promises_1 = require("node:fs/promises");
|
|
9
|
-
const node_path_1 = require("node:path");
|
|
10
|
-
const timestamp = () => new Date().toISOString();
|
|
11
|
-
let timer;
|
|
12
|
-
const wait = (ms) => new Promise((resolve) => {
|
|
13
|
-
if (timer)
|
|
14
|
-
timer.unref();
|
|
15
|
-
timer = setTimeout(() => resolve(null), ms);
|
|
16
|
-
});
|
|
17
|
-
function chomp(s) {
|
|
18
|
-
if (s.endsWith('\n'))
|
|
19
|
-
return s.replace(/\n$/, '');
|
|
20
|
-
return s;
|
|
21
|
-
}
|
|
22
|
-
class Logger {
|
|
23
|
-
file;
|
|
24
|
-
buffer = [];
|
|
25
|
-
flushing = Promise.resolve();
|
|
26
|
-
constructor(file) {
|
|
27
|
-
this.file = file;
|
|
28
|
-
}
|
|
29
|
-
async flush(waitForMs = 0) {
|
|
30
|
-
await wait(waitForMs);
|
|
31
|
-
this.flushing = this.flushing.then(async () => {
|
|
32
|
-
if (this.buffer.length === 0)
|
|
33
|
-
return;
|
|
34
|
-
const mylines = this.buffer;
|
|
35
|
-
this.buffer = [];
|
|
36
|
-
await (0, promises_1.mkdir)((0, node_path_1.dirname)(this.file), { recursive: true });
|
|
37
|
-
await (0, promises_1.appendFile)(this.file, mylines.join('\n') + '\n');
|
|
38
|
-
});
|
|
39
|
-
await this.flushing;
|
|
40
|
-
}
|
|
41
|
-
log(msg) {
|
|
42
|
-
msg = ansis_1.default.strip(chomp(msg));
|
|
43
|
-
const lines = msg.split('\n').map((l) => `${timestamp()} ${l}`.trimEnd());
|
|
44
|
-
this.buffer.push(...lines);
|
|
45
|
-
this.flush(50).catch(console.error);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.Logger = Logger;
|