my-pnpm 1.3.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/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # 😁 my-pnpm
2
+
3
+ Quickly enter commands for pnpm/nub/...
4
+
5
+ āŒ `pnpm install -D @types/lodash-es @types/node`
6
+
7
+ āœ… `nt lodash-es node`
8
+
9
+ ## šŸ“¦ Install
10
+
11
+ ```bash
12
+ npm install -g my-pnpm
13
+ ```
14
+
15
+ ## šŸš€ Usage
16
+
17
+ ### n
18
+
19
+ n = pnpm
20
+
21
+ ```bash
22
+ n
23
+ // pnpm install
24
+
25
+ n i react
26
+ // pnpm i react
27
+
28
+ n -h
29
+ // pnpm -h
30
+ ```
31
+
32
+ ### nd
33
+
34
+ devDependencies
35
+
36
+ ```bash
37
+ nd webpack
38
+ // pnpm i -D webpack
39
+
40
+ nd eslint typescript
41
+ // pnpm i -D eslint typescript
42
+ ```
43
+
44
+ ### nt
45
+
46
+ `@types` devDependencies
47
+
48
+ ```bash
49
+ nt react
50
+ // pnpm i -D @types/react
51
+
52
+ nt lodash-es node
53
+ // pnpm i -D @types/lodash-es @types/node
54
+
55
+ ```
56
+
57
+ ### nx
58
+
59
+ local bin runner `node_modules/.bin`
60
+
61
+ ```bash
62
+ nx tsc -v
63
+ // pnpm exec tsc -v
64
+ ```
65
+
66
+ ### nr
67
+
68
+ scripts runner
69
+
70
+ ```bash
71
+ nr dev
72
+ // pnpm run dev / pnpm dev
73
+ // nub run dev
74
+ ```
75
+
76
+ ### switch bin name
77
+
78
+ default `pnpm`
79
+
80
+ ```bash
81
+ n -use nub
82
+ n -use pnpm
83
+ ```
84
+
85
+ ### help
86
+
87
+ ```bash
88
+ n -h
89
+ ```
90
+
91
+ ### other
92
+
93
+ use `n`
package/dist/n.mjs ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import { a as run, n as getArgs, o as saveBinName, r as getBinName, s as showHelp, t as execCmd } from "./utils-CiJP_bsX.mjs";
3
+ //#region src/n.ts
4
+ async function main() {
5
+ let args = getArgs();
6
+ if (args[0] == "-use" && args[1] != void 0) {
7
+ saveBinName(args[1]);
8
+ return;
9
+ } else if (args[0] == "-h" && args[1] == void 0) showHelp();
10
+ else if (args.length == 0) args.push("install");
11
+ await execCmd([getBinName(), ...args]);
12
+ }
13
+ run(main);
14
+ //#endregion
15
+ export {};
package/dist/nd.mjs ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import { a as run, i as getRequireArgs, r as getBinName, t as execCmd } from "./utils-CiJP_bsX.mjs";
3
+ //#region src/nd.ts
4
+ async function main() {
5
+ let args = getRequireArgs();
6
+ await execCmd([
7
+ getBinName(),
8
+ "i",
9
+ "-D",
10
+ ...args
11
+ ]);
12
+ }
13
+ run(main);
14
+ //#endregion
15
+ export {};
package/dist/nr.mjs ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { a as run, i as getRequireArgs, r as getBinName, t as execCmd } from "./utils-CiJP_bsX.mjs";
3
+ //#region src/nr.ts
4
+ async function main() {
5
+ let args = getRequireArgs();
6
+ await execCmd([
7
+ getBinName(),
8
+ "run",
9
+ ...args
10
+ ]);
11
+ }
12
+ run(main);
13
+ //#endregion
14
+ export {};
package/dist/nt.mjs ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ import { a as run, i as getRequireArgs, r as getBinName, t as execCmd } from "./utils-CiJP_bsX.mjs";
3
+ //#region src/nt.ts
4
+ async function main() {
5
+ let args = getRequireArgs();
6
+ let typesStr = "@types/";
7
+ for (let i = 0; i < args.length; i++) {
8
+ if (args[i].startsWith(typesStr)) continue;
9
+ args[i] = typesStr + args[i];
10
+ }
11
+ await execCmd([
12
+ getBinName(),
13
+ "i",
14
+ "-D",
15
+ ...args
16
+ ]);
17
+ }
18
+ run(main);
19
+ //#endregion
20
+ export {};
package/dist/nx.mjs ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { a as run, i as getRequireArgs, r as getBinName, t as execCmd } from "./utils-CiJP_bsX.mjs";
3
+ //#region src/nx.ts
4
+ async function main() {
5
+ let args = getRequireArgs();
6
+ await execCmd([
7
+ getBinName(),
8
+ "exec",
9
+ ...args
10
+ ]);
11
+ }
12
+ run(main);
13
+ //#endregion
14
+ export {};
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env node
2
+ import { execa } from "execa";
3
+ import { join } from "node:path";
4
+ import { homedir } from "node:os";
5
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
6
+ //#region src/utils/index.ts
7
+ async function execCmd(cmd) {
8
+ const [file, ...args] = cmd;
9
+ console.log("------------");
10
+ console.log("Command: ", cmd.join(" "));
11
+ console.log("------------");
12
+ await execa(file, args, {
13
+ stdio: "inherit",
14
+ cleanup: true
15
+ });
16
+ }
17
+ function getArgs() {
18
+ return process.argv.slice(2);
19
+ }
20
+ function getRequireArgs() {
21
+ let args = getArgs();
22
+ if (args.length == 0) throw new Error("args is null !");
23
+ return args;
24
+ }
25
+ function run(main) {
26
+ main().catch((error) => {
27
+ if (error?.isTerminated) return;
28
+ if (error?.exitCode !== void 0) {
29
+ console.error(`\n✘ Command failed with exit code ${error.exitCode}`);
30
+ process.exit(error.exitCode);
31
+ }
32
+ console.error(error);
33
+ process.exit(1);
34
+ });
35
+ }
36
+ const configPath = join(homedir(), ".my-pnpm-config");
37
+ function getBinName() {
38
+ if (existsSync(configPath)) return readFileSync(configPath, { encoding: "utf-8" }).trim();
39
+ return "pnpm";
40
+ }
41
+ function saveBinName(name = "pnpm") {
42
+ writeFileSync(configPath, name.trim(), { encoding: "utf-8" });
43
+ }
44
+ function showHelp() {
45
+ console.log(`
46
+ ## help
47
+ n -h
48
+
49
+ ## switch bin
50
+ n -use nub
51
+ n -use pnpm
52
+
53
+ ## n = pnpm
54
+
55
+ eg:
56
+
57
+ n
58
+ pnpm install
59
+
60
+ n i react
61
+ pnpm i react
62
+
63
+ n -h
64
+ pnpm -h
65
+
66
+ and more
67
+
68
+ ## short commands
69
+
70
+ nd eslint typescript
71
+ pnpm i -D eslint typescript
72
+
73
+ nt lodash-es node
74
+ pnpm i -D @types/lodash-es @types/node
75
+
76
+ nx tsc -v
77
+ pnpm exec tsc -v
78
+
79
+ nr dev
80
+ pnpm run dev
81
+ `);
82
+ }
83
+ //#endregion
84
+ export { run as a, getRequireArgs as i, getArgs as n, saveBinName as o, getBinName as r, showHelp as s, execCmd as t };
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "my-pnpm",
3
+ "version": "1.3.0",
4
+ "type": "module",
5
+ "description": "Quickly enter commands for pnpm/nub",
6
+ "keywords": [
7
+ "pnpm",
8
+ "nub"
9
+ ],
10
+ "author": "xxxxue <1659809758@qq.com>",
11
+ "license": "MIT",
12
+ "homepage": "https://github.com/xxxxue/my-pnpm#readme",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/xxxxue/my-pnpm.git"
16
+ },
17
+ "bugs": {
18
+ "url": "https://github.com/xxxxue/my-pnpm/issues"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "bin": {
24
+ "n": "dist/n.mjs",
25
+ "nd": "dist/nd.mjs",
26
+ "nt": "dist/nt.mjs",
27
+ "nx": "dist/nx.mjs",
28
+ "nr": "dist/nr.mjs"
29
+ },
30
+ "scripts": {
31
+ "build": "tsdown",
32
+ "dev": "tsdown --watch",
33
+ "npm-publish": "npm publish --registry=https://registry.npmjs.org",
34
+ "dev-link": "npm link",
35
+ "dev-unlink": "npm uninstall -g my-pnpm",
36
+ "format": "prettier --write .",
37
+ "format-list": "prettier --list-different ."
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^26.0.0",
41
+ "tsdown": "^0.22.0",
42
+ "typescript": "^6.0.3"
43
+ },
44
+ "dependencies": {
45
+ "execa": "^9.6.1"
46
+ },
47
+ "engines": {
48
+ "node": ">=18"
49
+ }
50
+ }