@simon_he/pi 0.0.3 → 0.0.5
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/README.md +2 -1
- package/dist/index.cjs +67 -30
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +61 -25
- package/dist/seprateThread.cjs +5 -0
- package/dist/seprateThread.d.ts +1 -0
- package/dist/seprateThread.mjs +3 -0
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<span ><p align="center"></p></span>
|
|
2
2
|
|
|
3
3
|
## PI
|
|
4
|
-
|
|
4
|
+
一个带有自定义loading样式的smart包管理器,让你安装依赖时更加美观:),支持pnpm、yarn、npm、rust、go的执行
|
|
5
5
|
|
|
6
6
|
https://user-images.githubusercontent.com/57086651/200901242-34bc9576-b21c-4e2e-8e9c-9d858c9ffb12.mov
|
|
7
7
|
|
|
@@ -12,6 +12,7 @@ https://user-images.githubusercontent.com/57086651/200901242-34bc9576-b21c-4e2e-
|
|
|
12
12
|
|
|
13
13
|
## 使用
|
|
14
14
|
```
|
|
15
|
+
# 根据当前目录的环境去分析使用哪种包管理器,go、rust、pnpm、yarn、npm
|
|
15
16
|
# 安装依赖
|
|
16
17
|
pi xxx
|
|
17
18
|
# 卸载依赖
|
package/dist/index.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const process$1 = require('process');
|
|
6
5
|
const path = require('path');
|
|
6
|
+
const process = require('process');
|
|
7
7
|
const url$1 = require('url');
|
|
8
8
|
const simonJsTool = require('simon-js-tool');
|
|
9
9
|
const ora = require('ora');
|
|
@@ -11,20 +11,19 @@ const ora = require('ora');
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
12
12
|
|
|
13
13
|
const path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
14
|
+
const process__default = /*#__PURE__*/_interopDefaultLegacy(process);
|
|
14
15
|
const ora__default = /*#__PURE__*/_interopDefaultLegacy(ora);
|
|
15
16
|
|
|
16
|
-
const version = "0.0.
|
|
17
|
+
const version = "0.0.5";
|
|
17
18
|
|
|
18
19
|
const __filename$1 = url$1.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.cjs', document.baseURI).href)));
|
|
19
20
|
const __dirname$1 = path__default.dirname(__filename$1);
|
|
20
|
-
const url = path__default.resolve(__dirname$1, "./seprateThread.
|
|
21
|
-
async function pi() {
|
|
22
|
-
|
|
23
|
-
await installDeps();
|
|
24
|
-
returnVersion(argv2);
|
|
21
|
+
const url = path__default.resolve(__dirname$1, "./seprateThread.mjs");
|
|
22
|
+
async function pi(argv) {
|
|
23
|
+
returnVersion(argv);
|
|
25
24
|
const { color, spinner } = await getStyle();
|
|
26
|
-
const params =
|
|
27
|
-
const pkg =
|
|
25
|
+
const params = argv.join(" ");
|
|
26
|
+
const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
|
|
28
27
|
const text = pkg ? `Installing ${pkg} ...
|
|
29
28
|
` : "\u6B63\u5728\u66F4\u65B0\u4F9D\u8D56...\n";
|
|
30
29
|
const successMsg = pkg ? `Installed ${pkg} successfully! \u{1F60A}` : "\u66F4\u65B0\u4F9D\u8D56\u6210\u529F! \u{1F60A}";
|
|
@@ -39,22 +38,20 @@ async function pi() {
|
|
|
39
38
|
loading.succeed(successMsg);
|
|
40
39
|
else
|
|
41
40
|
loading.fail(failMsg);
|
|
42
|
-
|
|
41
|
+
process__default.exit();
|
|
43
42
|
}
|
|
44
|
-
async function pui() {
|
|
45
|
-
|
|
46
|
-
await installDeps();
|
|
47
|
-
returnVersion(argv2);
|
|
43
|
+
async function pui(argv) {
|
|
44
|
+
returnVersion(argv);
|
|
48
45
|
const { color, spinner } = await getStyle();
|
|
49
|
-
const params =
|
|
50
|
-
const pkg =
|
|
46
|
+
const params = argv.join(" ");
|
|
47
|
+
const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
|
|
51
48
|
const text = `Uninstalling ${pkg} ...
|
|
52
49
|
`;
|
|
53
50
|
const successMsg = `unInstalled ${pkg} successfully! \u{1F60A}`;
|
|
54
51
|
const failMsg = `Failed to uninstall ${pkg} \u{1F62D}`;
|
|
55
52
|
if (!pkg) {
|
|
56
53
|
console.log("\u8BF7\u8F93\u5165\u8981\u5378\u8F7D\u7684\u5305\u540D");
|
|
57
|
-
|
|
54
|
+
process__default.exit(1);
|
|
58
55
|
}
|
|
59
56
|
const loading = ora__default({
|
|
60
57
|
text,
|
|
@@ -66,13 +63,11 @@ async function pui() {
|
|
|
66
63
|
loading.succeed(successMsg);
|
|
67
64
|
else
|
|
68
65
|
loading.fail(failMsg);
|
|
69
|
-
|
|
66
|
+
process__default.exit();
|
|
70
67
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
returnVersion(argv2);
|
|
75
|
-
const params = argv2.join(" ");
|
|
68
|
+
function prun(argv) {
|
|
69
|
+
returnVersion(argv);
|
|
70
|
+
const params = argv.join(" ");
|
|
76
71
|
simonJsTool.jsShell(`ccommand ${params}`);
|
|
77
72
|
}
|
|
78
73
|
async function getStyle() {
|
|
@@ -93,14 +88,14 @@ async function installDeps() {
|
|
|
93
88
|
if (hasCcommand === 1)
|
|
94
89
|
await simonJsTool.jsShell("npm i -g ccommand", "pipe");
|
|
95
90
|
}
|
|
96
|
-
function returnVersion(
|
|
97
|
-
const arg =
|
|
91
|
+
function returnVersion(argv) {
|
|
92
|
+
const arg = argv[0];
|
|
98
93
|
if (arg === "-v" || arg === "--version") {
|
|
99
94
|
simonJsTool.jsShell(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" 'pi version:${version}' '\u8BF7\u4E3A\u6211\u7684\u52AA\u529B\u70B9\u4E2Astar\u{1F31F}'`);
|
|
100
|
-
|
|
95
|
+
process__default.exit(0);
|
|
101
96
|
} else if (arg === "-h" || arg === "--help") {
|
|
102
97
|
simonJsTool.jsShell(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "1 1" 'PI Commands:' 'pi: install package' 'pui: uninstall package' 'prun: run package script'`);
|
|
103
|
-
|
|
98
|
+
process__default.exit(0);
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
101
|
const runMap = {
|
|
@@ -108,11 +103,53 @@ const runMap = {
|
|
|
108
103
|
pui,
|
|
109
104
|
prun
|
|
110
105
|
};
|
|
111
|
-
function
|
|
112
|
-
const
|
|
106
|
+
function isGo() {
|
|
107
|
+
const { result } = simonJsTool.jsShell('test -f "go.mod" && echo "0"|| echo "1"', "pipe");
|
|
108
|
+
return result === "0";
|
|
109
|
+
}
|
|
110
|
+
function isRust() {
|
|
111
|
+
const { result } = simonJsTool.jsShell('test -f "Cargo.toml" && echo "0"|| echo "1"', "pipe");
|
|
112
|
+
return result === "0";
|
|
113
|
+
}
|
|
114
|
+
async function runner() {
|
|
115
|
+
const cmd = process__default.argv[1];
|
|
113
116
|
const last = cmd.lastIndexOf("/") + 1;
|
|
114
117
|
const exec = cmd.slice(last, cmd.length);
|
|
115
|
-
|
|
118
|
+
const argv = process__default.argv.slice(2);
|
|
119
|
+
if (isGo()) {
|
|
120
|
+
if (exec === "pi") {
|
|
121
|
+
simonJsTool.jsShell(`go get ${argv.join(" ")}`);
|
|
122
|
+
return;
|
|
123
|
+
} else if (exec === "pui") {
|
|
124
|
+
simonJsTool.jsShell(`go clean ${argv.join(" ")}`);
|
|
125
|
+
return;
|
|
126
|
+
} else if (exec === "prun") {
|
|
127
|
+
simonJsTool.jsShell(`go run ${argv.join(" ")}`);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
console.log("go mod \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (isRust()) {
|
|
134
|
+
if (exec === "pi") {
|
|
135
|
+
simonJsTool.jsShell(`cargo install ${argv.join(" ")}`);
|
|
136
|
+
return;
|
|
137
|
+
} else if (exec === "pui") {
|
|
138
|
+
simonJsTool.jsShell(`cargo uninstall ${argv.join(" ")}`);
|
|
139
|
+
return;
|
|
140
|
+
} else if (exec === "prun") {
|
|
141
|
+
simonJsTool.jsShell(`cargo run ${argv.join(" ")}`);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
console.log("Cargo \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (!runMap[exec]) {
|
|
148
|
+
console.log("\u547D\u4EE4\u4E0D\u5B58\u5728,\u8BF7\u6267\u884Cpi -h\u67E5\u770B\u5E2E\u52A9");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
await installDeps();
|
|
152
|
+
runMap[exec](argv);
|
|
116
153
|
}
|
|
117
154
|
runner();
|
|
118
155
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
declare function pi(): Promise<void>;
|
|
2
|
-
declare function pui(): Promise<void>;
|
|
3
|
-
declare function prun():
|
|
4
|
-
declare function runner(): void
|
|
1
|
+
declare function pi(argv: string[]): Promise<void>;
|
|
2
|
+
declare function pui(argv: string[]): Promise<void>;
|
|
3
|
+
declare function prun(argv: string[]): void;
|
|
4
|
+
declare function runner(): Promise<void>;
|
|
5
5
|
|
|
6
6
|
export { pi, prun, pui, runner };
|
package/dist/index.mjs
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
import { argv } from 'process';
|
|
2
1
|
import path from 'path';
|
|
2
|
+
import process from 'process';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { useNodeWorker, jsShell } from 'simon-js-tool';
|
|
5
5
|
import ora from 'ora';
|
|
6
6
|
|
|
7
|
-
const version = "0.0.
|
|
7
|
+
const version = "0.0.5";
|
|
8
8
|
|
|
9
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
10
|
const __dirname = path.dirname(__filename);
|
|
11
|
-
const url = path.resolve(__dirname, "./seprateThread.
|
|
12
|
-
async function pi() {
|
|
13
|
-
|
|
14
|
-
await installDeps();
|
|
15
|
-
returnVersion(argv2);
|
|
11
|
+
const url = path.resolve(__dirname, "./seprateThread.mjs");
|
|
12
|
+
async function pi(argv) {
|
|
13
|
+
returnVersion(argv);
|
|
16
14
|
const { color, spinner } = await getStyle();
|
|
17
|
-
const params =
|
|
18
|
-
const pkg =
|
|
15
|
+
const params = argv.join(" ");
|
|
16
|
+
const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
|
|
19
17
|
const text = pkg ? `Installing ${pkg} ...
|
|
20
18
|
` : "\u6B63\u5728\u66F4\u65B0\u4F9D\u8D56...\n";
|
|
21
19
|
const successMsg = pkg ? `Installed ${pkg} successfully! \u{1F60A}` : "\u66F4\u65B0\u4F9D\u8D56\u6210\u529F! \u{1F60A}";
|
|
@@ -32,13 +30,11 @@ async function pi() {
|
|
|
32
30
|
loading.fail(failMsg);
|
|
33
31
|
process.exit();
|
|
34
32
|
}
|
|
35
|
-
async function pui() {
|
|
36
|
-
|
|
37
|
-
await installDeps();
|
|
38
|
-
returnVersion(argv2);
|
|
33
|
+
async function pui(argv) {
|
|
34
|
+
returnVersion(argv);
|
|
39
35
|
const { color, spinner } = await getStyle();
|
|
40
|
-
const params =
|
|
41
|
-
const pkg =
|
|
36
|
+
const params = argv.join(" ");
|
|
37
|
+
const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
|
|
42
38
|
const text = `Uninstalling ${pkg} ...
|
|
43
39
|
`;
|
|
44
40
|
const successMsg = `unInstalled ${pkg} successfully! \u{1F60A}`;
|
|
@@ -59,11 +55,9 @@ async function pui() {
|
|
|
59
55
|
loading.fail(failMsg);
|
|
60
56
|
process.exit();
|
|
61
57
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
returnVersion(argv2);
|
|
66
|
-
const params = argv2.join(" ");
|
|
58
|
+
function prun(argv) {
|
|
59
|
+
returnVersion(argv);
|
|
60
|
+
const params = argv.join(" ");
|
|
67
61
|
jsShell(`ccommand ${params}`);
|
|
68
62
|
}
|
|
69
63
|
async function getStyle() {
|
|
@@ -84,8 +78,8 @@ async function installDeps() {
|
|
|
84
78
|
if (hasCcommand === 1)
|
|
85
79
|
await jsShell("npm i -g ccommand", "pipe");
|
|
86
80
|
}
|
|
87
|
-
function returnVersion(
|
|
88
|
-
const arg =
|
|
81
|
+
function returnVersion(argv) {
|
|
82
|
+
const arg = argv[0];
|
|
89
83
|
if (arg === "-v" || arg === "--version") {
|
|
90
84
|
jsShell(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" 'pi version:${version}' '\u8BF7\u4E3A\u6211\u7684\u52AA\u529B\u70B9\u4E2Astar\u{1F31F}'`);
|
|
91
85
|
process.exit(0);
|
|
@@ -99,11 +93,53 @@ const runMap = {
|
|
|
99
93
|
pui,
|
|
100
94
|
prun
|
|
101
95
|
};
|
|
102
|
-
function
|
|
103
|
-
const
|
|
96
|
+
function isGo() {
|
|
97
|
+
const { result } = jsShell('test -f "go.mod" && echo "0"|| echo "1"', "pipe");
|
|
98
|
+
return result === "0";
|
|
99
|
+
}
|
|
100
|
+
function isRust() {
|
|
101
|
+
const { result } = jsShell('test -f "Cargo.toml" && echo "0"|| echo "1"', "pipe");
|
|
102
|
+
return result === "0";
|
|
103
|
+
}
|
|
104
|
+
async function runner() {
|
|
105
|
+
const cmd = process.argv[1];
|
|
104
106
|
const last = cmd.lastIndexOf("/") + 1;
|
|
105
107
|
const exec = cmd.slice(last, cmd.length);
|
|
106
|
-
|
|
108
|
+
const argv = process.argv.slice(2);
|
|
109
|
+
if (isGo()) {
|
|
110
|
+
if (exec === "pi") {
|
|
111
|
+
jsShell(`go get ${argv.join(" ")}`);
|
|
112
|
+
return;
|
|
113
|
+
} else if (exec === "pui") {
|
|
114
|
+
jsShell(`go clean ${argv.join(" ")}`);
|
|
115
|
+
return;
|
|
116
|
+
} else if (exec === "prun") {
|
|
117
|
+
jsShell(`go run ${argv.join(" ")}`);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
console.log("go mod \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (isRust()) {
|
|
124
|
+
if (exec === "pi") {
|
|
125
|
+
jsShell(`cargo install ${argv.join(" ")}`);
|
|
126
|
+
return;
|
|
127
|
+
} else if (exec === "pui") {
|
|
128
|
+
jsShell(`cargo uninstall ${argv.join(" ")}`);
|
|
129
|
+
return;
|
|
130
|
+
} else if (exec === "prun") {
|
|
131
|
+
jsShell(`cargo run ${argv.join(" ")}`);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
console.log("Cargo \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (!runMap[exec]) {
|
|
138
|
+
console.log("\u547D\u4EE4\u4E0D\u5B58\u5728,\u8BF7\u6267\u884Cpi -h\u67E5\u770B\u5E2E\u52A9");
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
await installDeps();
|
|
142
|
+
runMap[exec](argv);
|
|
107
143
|
}
|
|
108
144
|
runner();
|
|
109
145
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simon_he/pi",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.5",
|
|
5
5
|
"packageManager": "pnpm@7.2.1",
|
|
6
6
|
"description": "",
|
|
7
7
|
"author": "Simon He",
|
|
@@ -62,8 +62,7 @@
|
|
|
62
62
|
"simon-js-tool": "^4.1.24",
|
|
63
63
|
"terminal-kit": "^3.0.0",
|
|
64
64
|
"terminal-link": "^3.0.0",
|
|
65
|
-
"vitest": "^0.25.1"
|
|
66
|
-
"vivid-typing": "^1.1.26"
|
|
65
|
+
"vitest": "^0.25.1"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
69
68
|
"@antfu/eslint-config": "^0.25.1",
|