@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 CHANGED
@@ -1,7 +1,7 @@
1
1
  <span ><p align="center">![kv](/assets/pi.png)</p></span>
2
2
 
3
3
  ## PI
4
- 一个带有loading样式的包安装器,让你安装依赖时更加美观:)
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.3";
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.js");
21
- async function pi() {
22
- const argv2 = process.argv.slice(2);
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 = argv2.join(" ");
27
- const pkg = argv2.filter((v) => !v.startsWith("-")).join(" ");
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
- process.exit();
41
+ process__default.exit();
43
42
  }
44
- async function pui() {
45
- const argv2 = process.argv.slice(2);
46
- await installDeps();
47
- returnVersion(argv2);
43
+ async function pui(argv) {
44
+ returnVersion(argv);
48
45
  const { color, spinner } = await getStyle();
49
- const params = argv2.join(" ");
50
- const pkg = argv2.filter((v) => !v.startsWith("-")).join(" ");
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
- process.exit(1);
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
- process.exit();
66
+ process__default.exit();
70
67
  }
71
- async function prun() {
72
- const argv2 = process.argv.slice(2);
73
- await installDeps();
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(argv2) {
97
- const arg = argv2[0];
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
- process.exit(0);
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
- process.exit(0);
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 runner() {
112
- const cmd = process$1.argv[1];
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
- runMap[exec]?.();
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(): Promise<void>;
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.3";
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.js");
12
- async function pi() {
13
- const argv2 = process.argv.slice(2);
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 = argv2.join(" ");
18
- const pkg = argv2.filter((v) => !v.startsWith("-")).join(" ");
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
- const argv2 = process.argv.slice(2);
37
- await installDeps();
38
- returnVersion(argv2);
33
+ async function pui(argv) {
34
+ returnVersion(argv);
39
35
  const { color, spinner } = await getStyle();
40
- const params = argv2.join(" ");
41
- const pkg = argv2.filter((v) => !v.startsWith("-")).join(" ");
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
- async function prun() {
63
- const argv2 = process.argv.slice(2);
64
- await installDeps();
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(argv2) {
88
- const arg = argv2[0];
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 runner() {
103
- const cmd = argv[1];
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
- runMap[exec]?.();
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,5 @@
1
+ 'use strict';
2
+
3
+ const simonJsTool = require('simon-js-tool');
4
+
5
+ simonJsTool.useProcressNodeWorker(async ({ params, operate }) => simonJsTool.jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe"));
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,3 @@
1
+ import { useProcressNodeWorker, jsShell } from 'simon-js-tool';
2
+
3
+ useProcressNodeWorker(async ({ params, operate }) => jsShell(`${operate === "install" ? "ni" : "nun"} ${params}`, "pipe"));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simon_he/pi",
3
3
  "type": "module",
4
- "version": "0.0.3",
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",