@simon_he/pi 0.0.5 → 0.0.6

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 CHANGED
@@ -1,9 +1,18 @@
1
1
  <span ><p align="center">![kv](/assets/pi.png)</p></span>
2
2
 
3
3
  ## PI
4
- 一个带有自定义loading样式的smart包管理器,让你安装依赖时更加美观:),支持pnpm、yarn、npm、rust、go的执行
4
+ 一个带有自定义loading样式的smart包管理器,让你安装依赖时更加美观:)
5
+
6
+ ## 聪明的包管理器
7
+ - 支持go mod 的依赖和执行
8
+ - 支持Cargo 的依赖和执行
9
+ - 支持npm 的依赖和执行
10
+ - 支持pnpm 的依赖和执行
11
+ - 支持yarn 的依赖和执行
12
+
13
+
14
+ https://user-images.githubusercontent.com/57086651/203143603-9e78f686-399e-4c3d-ae53-56638501b276.mov
5
15
 
6
- https://user-images.githubusercontent.com/57086651/200901242-34bc9576-b21c-4e2e-8e9c-9d858c9ffb12.mov
7
16
 
8
17
  ## 安装
9
18
  ```
package/dist/index.cjs CHANGED
@@ -14,37 +14,25 @@ const path__default = /*#__PURE__*/_interopDefaultLegacy(path);
14
14
  const process__default = /*#__PURE__*/_interopDefaultLegacy(process);
15
15
  const ora__default = /*#__PURE__*/_interopDefaultLegacy(ora);
16
16
 
17
- const version = "0.0.5";
17
+ const version = "0.0.6";
18
18
 
19
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)));
20
20
  const __dirname$1 = path__default.dirname(__filename$1);
21
21
  const url = path__default.resolve(__dirname$1, "./seprateThread.mjs");
22
- async function pi(argv) {
23
- returnVersion(argv);
24
- const { color, spinner } = await getStyle();
25
- const params = argv.join(" ");
26
- const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
22
+ async function pi(params, pkg) {
27
23
  const text = pkg ? `Installing ${pkg} ...
28
24
  ` : "\u6B63\u5728\u66F4\u65B0\u4F9D\u8D56...\n";
29
25
  const successMsg = pkg ? `Installed ${pkg} successfully! \u{1F60A}` : "\u66F4\u65B0\u4F9D\u8D56\u6210\u529F! \u{1F60A}";
30
26
  const failMsg = pkg ? `Failed to install ${pkg} , v\u621150 \u{1F62D}` : "\u66F4\u65B0\u4F9D\u8D56\u5931\u8D25! \u{1F62D}";
31
- const loading = ora__default({
32
- text,
33
- spinner,
34
- color
35
- }).start();
27
+ const { succeed, fail } = await loading(text);
36
28
  const { status } = await simonJsTool.useNodeWorker(url, { params, operate: "install" });
37
29
  if (status === 0)
38
- loading.succeed(successMsg);
30
+ succeed(successMsg);
39
31
  else
40
- loading.fail(failMsg);
32
+ fail(failMsg);
41
33
  process__default.exit();
42
34
  }
43
- async function pui(argv) {
44
- returnVersion(argv);
45
- const { color, spinner } = await getStyle();
46
- const params = argv.join(" ");
47
- const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
35
+ async function pui(params, pkg) {
48
36
  const text = `Uninstalling ${pkg} ...
49
37
  `;
50
38
  const successMsg = `unInstalled ${pkg} successfully! \u{1F60A}`;
@@ -53,23 +41,33 @@ async function pui(argv) {
53
41
  console.log("\u8BF7\u8F93\u5165\u8981\u5378\u8F7D\u7684\u5305\u540D");
54
42
  process__default.exit(1);
55
43
  }
56
- const loading = ora__default({
57
- text,
58
- spinner,
59
- color
60
- }).start();
44
+ const { succeed, fail } = await loading(text);
61
45
  const { status } = await simonJsTool.useNodeWorker(url, { params, operate: "uninstall" });
62
46
  if (status === 0)
63
- loading.succeed(successMsg);
47
+ succeed(successMsg);
64
48
  else
65
- loading.fail(failMsg);
49
+ fail(failMsg);
66
50
  process__default.exit();
67
51
  }
68
- function prun(argv) {
69
- returnVersion(argv);
70
- const params = argv.join(" ");
52
+ function prun(params, pkg) {
71
53
  simonJsTool.jsShell(`ccommand ${params}`);
72
54
  }
55
+ function pinit(params, pkg) {
56
+ console.log("\u6B63\u5728\u521D\u59CB\u5316\u9879\u76EE...");
57
+ switch (simonJsTool.getPkgTool()) {
58
+ case "npm":
59
+ simonJsTool.jsShell("npm init -y");
60
+ return;
61
+ case "yarn":
62
+ simonJsTool.jsShell("yarn init -y");
63
+ return;
64
+ case "pnpm":
65
+ simonJsTool.jsShell("pnpm init -y");
66
+ return;
67
+ default:
68
+ simonJsTool.jsShell("npm init -y");
69
+ }
70
+ }
73
71
  async function getStyle() {
74
72
  const { result: _color = "yellow" } = await simonJsTool.jsShell("echo $PI_COLOR", "pipe");
75
73
  const color = _color;
@@ -94,14 +92,15 @@ function returnVersion(argv) {
94
92
  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}'`);
95
93
  process__default.exit(0);
96
94
  } else if (arg === "-h" || arg === "--help") {
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'`);
95
+ 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' 'pinit: package init' 'pbuild: go build | cargo build'`);
98
96
  process__default.exit(0);
99
97
  }
100
98
  }
101
99
  const runMap = {
102
100
  pi,
103
101
  pui,
104
- prun
102
+ prun,
103
+ pinit
105
104
  };
106
105
  function isGo() {
107
106
  const { result } = simonJsTool.jsShell('test -f "go.mod" && echo "0"|| echo "1"', "pipe");
@@ -111,20 +110,40 @@ function isRust() {
111
110
  const { result } = simonJsTool.jsShell('test -f "Cargo.toml" && echo "0"|| echo "1"', "pipe");
112
111
  return result === "0";
113
112
  }
113
+ async function loading(text) {
114
+ const { color, spinner } = await getStyle();
115
+ return ora__default({
116
+ text,
117
+ spinner,
118
+ color
119
+ }).start();
120
+ }
114
121
  async function runner() {
115
122
  const cmd = process__default.argv[1];
116
123
  const last = cmd.lastIndexOf("/") + 1;
117
124
  const exec = cmd.slice(last, cmd.length);
118
125
  const argv = process__default.argv.slice(2);
126
+ returnVersion(argv);
127
+ const params = argv.join(" ");
119
128
  if (isGo()) {
120
129
  if (exec === "pi") {
121
- simonJsTool.jsShell(`go get ${argv.join(" ")}`);
130
+ loading(`Installing ${params} ...
131
+ `);
132
+ simonJsTool.jsShell(`go get ${params}`);
122
133
  return;
123
134
  } else if (exec === "pui") {
124
- simonJsTool.jsShell(`go clean ${argv.join(" ")}`);
135
+ loading(`Uninstalling ${params} ...
136
+ `);
137
+ simonJsTool.jsShell(`go clean ${params}`);
125
138
  return;
126
139
  } else if (exec === "prun") {
127
- simonJsTool.jsShell(`go run ${argv.join(" ")}`);
140
+ simonJsTool.jsShell(`go run ${params}`);
141
+ return;
142
+ } else if (exec === "pinit") {
143
+ simonJsTool.jsShell(`go mod init ${params}`);
144
+ return;
145
+ } else if (exec === "pbuild") {
146
+ simonJsTool.jsShell(`go build ${params}`);
128
147
  return;
129
148
  }
130
149
  console.log("go mod \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
@@ -132,13 +151,23 @@ async function runner() {
132
151
  }
133
152
  if (isRust()) {
134
153
  if (exec === "pi") {
135
- simonJsTool.jsShell(`cargo install ${argv.join(" ")}`);
154
+ loading(`Installing ${params} ...
155
+ `);
156
+ simonJsTool.jsShell(`cargo install ${params}`);
136
157
  return;
137
158
  } else if (exec === "pui") {
138
- simonJsTool.jsShell(`cargo uninstall ${argv.join(" ")}`);
159
+ loading(`Uninstalling ${params} ...
160
+ `);
161
+ simonJsTool.jsShell(`cargo uninstall ${params}`);
139
162
  return;
140
163
  } else if (exec === "prun") {
141
- simonJsTool.jsShell(`cargo run ${argv.join(" ")}`);
164
+ simonJsTool.jsShell(`cargo run ${params}`);
165
+ return;
166
+ } else if (exec === "pinit") {
167
+ simonJsTool.jsShell(`cargo init ${params}`);
168
+ return;
169
+ } else if (exec === "pbuild") {
170
+ simonJsTool.jsShell(`cargo build ${params}`);
142
171
  return;
143
172
  }
144
173
  console.log("Cargo \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
@@ -148,12 +177,14 @@ async function runner() {
148
177
  console.log("\u547D\u4EE4\u4E0D\u5B58\u5728,\u8BF7\u6267\u884Cpi -h\u67E5\u770B\u5E2E\u52A9");
149
178
  return;
150
179
  }
180
+ const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
151
181
  await installDeps();
152
- runMap[exec](argv);
182
+ runMap[exec](params, pkg);
153
183
  }
154
184
  runner();
155
185
 
156
186
  exports.pi = pi;
187
+ exports.pinit = pinit;
157
188
  exports.prun = prun;
158
189
  exports.pui = pui;
159
190
  exports.runner = runner;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- declare function pi(argv: string[]): Promise<void>;
2
- declare function pui(argv: string[]): Promise<void>;
3
- declare function prun(argv: string[]): void;
1
+ declare function pi(params: string[], pkg: string): Promise<void>;
2
+ declare function pui(params: string[], pkg: string): Promise<void>;
3
+ declare function prun(params: string[], pkg?: string): void;
4
+ declare function pinit(params: string[], pkg?: string): void;
4
5
  declare function runner(): Promise<void>;
5
6
 
6
- export { pi, prun, pui, runner };
7
+ export { pi, pinit, prun, pui, runner };
package/dist/index.mjs CHANGED
@@ -1,40 +1,28 @@
1
1
  import path from 'path';
2
2
  import process from 'process';
3
3
  import { fileURLToPath } from 'url';
4
- import { useNodeWorker, jsShell } from 'simon-js-tool';
4
+ import { useNodeWorker, jsShell, getPkgTool } from 'simon-js-tool';
5
5
  import ora from 'ora';
6
6
 
7
- const version = "0.0.5";
7
+ const version = "0.0.6";
8
8
 
9
9
  const __filename = fileURLToPath(import.meta.url);
10
10
  const __dirname = path.dirname(__filename);
11
11
  const url = path.resolve(__dirname, "./seprateThread.mjs");
12
- async function pi(argv) {
13
- returnVersion(argv);
14
- const { color, spinner } = await getStyle();
15
- const params = argv.join(" ");
16
- const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
12
+ async function pi(params, pkg) {
17
13
  const text = pkg ? `Installing ${pkg} ...
18
14
  ` : "\u6B63\u5728\u66F4\u65B0\u4F9D\u8D56...\n";
19
15
  const successMsg = pkg ? `Installed ${pkg} successfully! \u{1F60A}` : "\u66F4\u65B0\u4F9D\u8D56\u6210\u529F! \u{1F60A}";
20
16
  const failMsg = pkg ? `Failed to install ${pkg} , v\u621150 \u{1F62D}` : "\u66F4\u65B0\u4F9D\u8D56\u5931\u8D25! \u{1F62D}";
21
- const loading = ora({
22
- text,
23
- spinner,
24
- color
25
- }).start();
17
+ const { succeed, fail } = await loading(text);
26
18
  const { status } = await useNodeWorker(url, { params, operate: "install" });
27
19
  if (status === 0)
28
- loading.succeed(successMsg);
20
+ succeed(successMsg);
29
21
  else
30
- loading.fail(failMsg);
22
+ fail(failMsg);
31
23
  process.exit();
32
24
  }
33
- async function pui(argv) {
34
- returnVersion(argv);
35
- const { color, spinner } = await getStyle();
36
- const params = argv.join(" ");
37
- const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
25
+ async function pui(params, pkg) {
38
26
  const text = `Uninstalling ${pkg} ...
39
27
  `;
40
28
  const successMsg = `unInstalled ${pkg} successfully! \u{1F60A}`;
@@ -43,23 +31,33 @@ async function pui(argv) {
43
31
  console.log("\u8BF7\u8F93\u5165\u8981\u5378\u8F7D\u7684\u5305\u540D");
44
32
  process.exit(1);
45
33
  }
46
- const loading = ora({
47
- text,
48
- spinner,
49
- color
50
- }).start();
34
+ const { succeed, fail } = await loading(text);
51
35
  const { status } = await useNodeWorker(url, { params, operate: "uninstall" });
52
36
  if (status === 0)
53
- loading.succeed(successMsg);
37
+ succeed(successMsg);
54
38
  else
55
- loading.fail(failMsg);
39
+ fail(failMsg);
56
40
  process.exit();
57
41
  }
58
- function prun(argv) {
59
- returnVersion(argv);
60
- const params = argv.join(" ");
42
+ function prun(params, pkg) {
61
43
  jsShell(`ccommand ${params}`);
62
44
  }
45
+ function pinit(params, pkg) {
46
+ console.log("\u6B63\u5728\u521D\u59CB\u5316\u9879\u76EE...");
47
+ switch (getPkgTool()) {
48
+ case "npm":
49
+ jsShell("npm init -y");
50
+ return;
51
+ case "yarn":
52
+ jsShell("yarn init -y");
53
+ return;
54
+ case "pnpm":
55
+ jsShell("pnpm init -y");
56
+ return;
57
+ default:
58
+ jsShell("npm init -y");
59
+ }
60
+ }
63
61
  async function getStyle() {
64
62
  const { result: _color = "yellow" } = await jsShell("echo $PI_COLOR", "pipe");
65
63
  const color = _color;
@@ -84,14 +82,15 @@ function returnVersion(argv) {
84
82
  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}'`);
85
83
  process.exit(0);
86
84
  } else if (arg === "-h" || arg === "--help") {
87
- 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'`);
85
+ 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' 'pinit: package init' 'pbuild: go build | cargo build'`);
88
86
  process.exit(0);
89
87
  }
90
88
  }
91
89
  const runMap = {
92
90
  pi,
93
91
  pui,
94
- prun
92
+ prun,
93
+ pinit
95
94
  };
96
95
  function isGo() {
97
96
  const { result } = jsShell('test -f "go.mod" && echo "0"|| echo "1"', "pipe");
@@ -101,20 +100,40 @@ function isRust() {
101
100
  const { result } = jsShell('test -f "Cargo.toml" && echo "0"|| echo "1"', "pipe");
102
101
  return result === "0";
103
102
  }
103
+ async function loading(text) {
104
+ const { color, spinner } = await getStyle();
105
+ return ora({
106
+ text,
107
+ spinner,
108
+ color
109
+ }).start();
110
+ }
104
111
  async function runner() {
105
112
  const cmd = process.argv[1];
106
113
  const last = cmd.lastIndexOf("/") + 1;
107
114
  const exec = cmd.slice(last, cmd.length);
108
115
  const argv = process.argv.slice(2);
116
+ returnVersion(argv);
117
+ const params = argv.join(" ");
109
118
  if (isGo()) {
110
119
  if (exec === "pi") {
111
- jsShell(`go get ${argv.join(" ")}`);
120
+ loading(`Installing ${params} ...
121
+ `);
122
+ jsShell(`go get ${params}`);
112
123
  return;
113
124
  } else if (exec === "pui") {
114
- jsShell(`go clean ${argv.join(" ")}`);
125
+ loading(`Uninstalling ${params} ...
126
+ `);
127
+ jsShell(`go clean ${params}`);
115
128
  return;
116
129
  } else if (exec === "prun") {
117
- jsShell(`go run ${argv.join(" ")}`);
130
+ jsShell(`go run ${params}`);
131
+ return;
132
+ } else if (exec === "pinit") {
133
+ jsShell(`go mod init ${params}`);
134
+ return;
135
+ } else if (exec === "pbuild") {
136
+ jsShell(`go build ${params}`);
118
137
  return;
119
138
  }
120
139
  console.log("go mod \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
@@ -122,13 +141,23 @@ async function runner() {
122
141
  }
123
142
  if (isRust()) {
124
143
  if (exec === "pi") {
125
- jsShell(`cargo install ${argv.join(" ")}`);
144
+ loading(`Installing ${params} ...
145
+ `);
146
+ jsShell(`cargo install ${params}`);
126
147
  return;
127
148
  } else if (exec === "pui") {
128
- jsShell(`cargo uninstall ${argv.join(" ")}`);
149
+ loading(`Uninstalling ${params} ...
150
+ `);
151
+ jsShell(`cargo uninstall ${params}`);
129
152
  return;
130
153
  } else if (exec === "prun") {
131
- jsShell(`cargo run ${argv.join(" ")}`);
154
+ jsShell(`cargo run ${params}`);
155
+ return;
156
+ } else if (exec === "pinit") {
157
+ jsShell(`cargo init ${params}`);
158
+ return;
159
+ } else if (exec === "pbuild") {
160
+ jsShell(`cargo build ${params}`);
132
161
  return;
133
162
  }
134
163
  console.log("Cargo \u9879\u76EE\u6682\u4E0D\u652F\u6301\u5176\u4ED6\u547D\u4EE4");
@@ -138,9 +167,10 @@ async function runner() {
138
167
  console.log("\u547D\u4EE4\u4E0D\u5B58\u5728,\u8BF7\u6267\u884Cpi -h\u67E5\u770B\u5E2E\u52A9");
139
168
  return;
140
169
  }
170
+ const pkg = argv.filter((v) => !v.startsWith("-")).join(" ");
141
171
  await installDeps();
142
- runMap[exec](argv);
172
+ runMap[exec](params, pkg);
143
173
  }
144
174
  runner();
145
175
 
146
- export { pi, prun, pui, runner };
176
+ export { pi, pinit, prun, pui, runner };
@@ -2,4 +2,6 @@
2
2
 
3
3
  const simonJsTool = require('simon-js-tool');
4
4
 
5
- simonJsTool.useProcressNodeWorker(async ({ params, operate }) => simonJsTool.jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe"));
5
+ simonJsTool.useProcressNodeWorker(
6
+ async ({ params, operate }) => simonJsTool.jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe")
7
+ );
@@ -1,3 +1,5 @@
1
1
  import { useProcressNodeWorker, jsShell } from 'simon-js-tool';
2
2
 
3
- useProcressNodeWorker(async ({ params, operate }) => jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe"));
3
+ useProcressNodeWorker(
4
+ async ({ params, operate }) => jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe")
5
+ );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simon_he/pi",
3
3
  "type": "module",
4
- "version": "0.0.5",
4
+ "version": "0.0.6",
5
5
  "packageManager": "pnpm@7.2.1",
6
6
  "description": "",
7
7
  "author": "Simon He",
@@ -36,7 +36,9 @@
36
36
  "bin": {
37
37
  "pi": "./cli.mjs",
38
38
  "pui": "./cli.mjs",
39
- "prun": "./cli.mjs"
39
+ "prun": "./cli.mjs",
40
+ "pinit": "./cli.mjs",
41
+ "pbuild": "./cli.mjs"
40
42
  },
41
43
  "files": [
42
44
  "dist"
@@ -59,22 +61,22 @@
59
61
  "dot-text": "^1.0.7",
60
62
  "libnpmsearch": "^6.0.0",
61
63
  "ora": "^6.1.2",
62
- "simon-js-tool": "^4.1.24",
64
+ "simon-js-tool": "^4.1.27",
63
65
  "terminal-kit": "^3.0.0",
64
66
  "terminal-link": "^3.0.0",
65
- "vitest": "^0.25.1"
67
+ "vitest": "^0.25.2"
66
68
  },
67
69
  "devDependencies": {
68
- "@antfu/eslint-config": "^0.25.1",
69
- "@antfu/ni": "^0.16.2",
70
+ "@antfu/eslint-config": "^0.25.2",
71
+ "@antfu/ni": "^0.16.3",
70
72
  "@antfu/utils": "^0.5.2",
71
- "@types/node": "^18.0.0",
73
+ "@types/node": "^18.11.9",
72
74
  "bumpp": "^8.2.1",
73
- "eslint": "^8.18.0",
75
+ "eslint": "^8.28.0",
74
76
  "esno": "^0.16.3",
75
- "pnpm": "^7.2.1",
77
+ "pnpm": "^7.17.0",
76
78
  "rimraf": "^3.0.2",
77
- "typescript": "^4.7.4",
78
- "unbuild": "^0.7.4"
79
+ "typescript": "^4.9.3",
80
+ "unbuild": "^0.7.6"
79
81
  }
80
82
  }