@lenne.tech/cli-plugin-helper 0.0.12 → 0.0.13
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.
|
@@ -29,11 +29,16 @@ export declare class Npm {
|
|
|
29
29
|
errorMessage?: string;
|
|
30
30
|
showError?: boolean;
|
|
31
31
|
}): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Detect which package manager is used in the project
|
|
34
|
+
*/
|
|
35
|
+
detectPackageManager(projectPath: string): 'npm' | 'pnpm' | 'yarn';
|
|
32
36
|
/**
|
|
33
37
|
* Install npm packages
|
|
34
38
|
*/
|
|
35
39
|
install(options?: {
|
|
36
40
|
cwd?: string;
|
|
41
|
+
detectPackageManager?: boolean;
|
|
37
42
|
errorMessage?: string;
|
|
38
43
|
showError?: boolean;
|
|
39
44
|
}): Promise<boolean>;
|
|
@@ -73,6 +73,21 @@ class Npm {
|
|
|
73
73
|
return path;
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Detect which package manager is used in the project
|
|
78
|
+
*/
|
|
79
|
+
detectPackageManager(projectPath) {
|
|
80
|
+
const { filesystem } = this.toolbox;
|
|
81
|
+
// Check for lock files in the project directory
|
|
82
|
+
if (filesystem.exists(`${projectPath}/pnpm-lock.yaml`)) {
|
|
83
|
+
return 'pnpm';
|
|
84
|
+
}
|
|
85
|
+
if (filesystem.exists(`${projectPath}/yarn.lock`)) {
|
|
86
|
+
return 'yarn';
|
|
87
|
+
}
|
|
88
|
+
// Default to npm
|
|
89
|
+
return 'npm';
|
|
90
|
+
}
|
|
76
91
|
/**
|
|
77
92
|
* Install npm packages
|
|
78
93
|
*/
|
|
@@ -83,6 +98,7 @@ class Npm {
|
|
|
83
98
|
// Prepare options
|
|
84
99
|
const opts = Object.assign({
|
|
85
100
|
cwd: filesystem.cwd(),
|
|
101
|
+
detectPackageManager: true,
|
|
86
102
|
errorMessage: 'No package.json found!',
|
|
87
103
|
showError: false,
|
|
88
104
|
}, options);
|
|
@@ -91,10 +107,25 @@ class Npm {
|
|
|
91
107
|
if (!path) {
|
|
92
108
|
return false;
|
|
93
109
|
}
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
const projectDir = (0, path_1.dirname)(path);
|
|
111
|
+
const packageManager = opts.detectPackageManager ? this.detectPackageManager(projectDir) : 'npm';
|
|
112
|
+
// Install packages with the appropriate package manager
|
|
113
|
+
const installSpin = spin(`Install packages using ${packageManager}`);
|
|
114
|
+
let installCommand;
|
|
115
|
+
switch (packageManager) {
|
|
116
|
+
case 'pnpm':
|
|
117
|
+
installCommand = 'pnpm install';
|
|
118
|
+
break;
|
|
119
|
+
case 'yarn':
|
|
120
|
+
installCommand = 'yarn install';
|
|
121
|
+
break;
|
|
122
|
+
case 'npm':
|
|
123
|
+
default:
|
|
124
|
+
installCommand = 'npm i';
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
yield system.run(`cd ${projectDir} && ${installCommand}`);
|
|
128
|
+
installSpin.succeed();
|
|
98
129
|
return true;
|
|
99
130
|
});
|
|
100
131
|
}
|
|
@@ -129,8 +160,23 @@ class Npm {
|
|
|
129
160
|
updateSpin.succeed();
|
|
130
161
|
// Install packages
|
|
131
162
|
if (opts.install) {
|
|
132
|
-
const
|
|
133
|
-
|
|
163
|
+
const projectDir = (0, path_1.dirname)(path);
|
|
164
|
+
const packageManager = this.detectPackageManager(projectDir);
|
|
165
|
+
const installSpin = spin(`Install packages using ${packageManager}`);
|
|
166
|
+
let installCommand;
|
|
167
|
+
switch (packageManager) {
|
|
168
|
+
case 'pnpm':
|
|
169
|
+
installCommand = 'pnpm install';
|
|
170
|
+
break;
|
|
171
|
+
case 'yarn':
|
|
172
|
+
installCommand = 'yarn install';
|
|
173
|
+
break;
|
|
174
|
+
case 'npm':
|
|
175
|
+
default:
|
|
176
|
+
installCommand = 'npm i';
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
yield system.run(`cd ${projectDir} && ${installCommand}`);
|
|
134
180
|
installSpin.succeed();
|
|
135
181
|
}
|
|
136
182
|
// Success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.extension.js","sourceRoot":"","sources":["../../src/extensions/npm.extension.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAqC;AACrC,yBAAyB;AACzB,+BAA+B;AAI/B;;GAEG;AACH,MAAa,GAAG;IACd;;OAEG;IACH,YAAsB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAEhE;;OAEG;IACU,cAAc;6DACzB,UAAwE,EAAE;YAE1E,mBAAmB;YACnB,MAAM,EACJ,UAAU,EACV,MAAM,EACN,KAAK,EAAE,EAAE,KAAK,EAAE,GACjB,GAAG,IAAI,CAAC,OAAO,CAAC;YAEjB,kBAAkB;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB;gBACE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,wBAAwB;gBACtC,SAAS,EAAE,KAAK;aACjB,EACD,OAAO,CACR,CAAC;YAEF,oBAAoB;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAClC,CAAC;YAED,gBAAgB;YAChB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC;KAAA;IAED;;OAEG;IACU,cAAc;6DACzB,IAAqC,EACrC,UAII,EAAE;YAEN,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,uBAAuB;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,QAAQ;YACR,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO;YACP,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;OAEG;IACU,OAAO;6DAAC,
|
|
1
|
+
{"version":3,"file":"npm.extension.js","sourceRoot":"","sources":["../../src/extensions/npm.extension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/cli-plugin-helper",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Helper plugin for Gluegun CLI Projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lenne.Tech",
|
|
@@ -39,24 +39,24 @@
|
|
|
39
39
|
"@lenne.tech/gluegun-menu": "0.0.7"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@lenne.tech/eslint-config-ts": "2.
|
|
42
|
+
"@lenne.tech/eslint-config-ts": "2.1.3",
|
|
43
43
|
"@lenne.tech/npm-package-helper": "0.0.12",
|
|
44
|
-
"@types/jest": "
|
|
45
|
-
"@types/node": "
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
47
|
-
"@typescript-eslint/parser": "8.
|
|
48
|
-
"eslint": "9.
|
|
49
|
-
"eslint-config-prettier": "10.1.
|
|
44
|
+
"@types/jest": "30.0.0",
|
|
45
|
+
"@types/node": "24.3.0",
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "8.40.0",
|
|
47
|
+
"@typescript-eslint/parser": "8.40.0",
|
|
48
|
+
"eslint": "9.33.0",
|
|
49
|
+
"eslint-config-prettier": "10.1.8",
|
|
50
50
|
"find-file-up": "2.0.1",
|
|
51
51
|
"gluegun": "5.2.0",
|
|
52
52
|
"husky": "9.1.7",
|
|
53
|
-
"jest": "
|
|
54
|
-
"prettier": "3.
|
|
55
|
-
"pretty-quick": "4.
|
|
53
|
+
"jest": "30.0.5",
|
|
54
|
+
"prettier": "3.6.2",
|
|
55
|
+
"pretty-quick": "4.2.2",
|
|
56
56
|
"rimraf": "6.0.1",
|
|
57
|
-
"ts-jest": "29.
|
|
57
|
+
"ts-jest": "29.4.1",
|
|
58
58
|
"ts-node": "10.9.2",
|
|
59
|
-
"typescript": "5.
|
|
59
|
+
"typescript": "5.9.2"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"find-file-up": ">=2",
|
|
@@ -66,7 +66,9 @@
|
|
|
66
66
|
"apisauce@*": "3.1.1",
|
|
67
67
|
"cross-spawn@*": "7.0.6",
|
|
68
68
|
"ejs@*": "3.1.10",
|
|
69
|
-
"semver@*": "7.7.1"
|
|
69
|
+
"semver@*": "7.7.1",
|
|
70
|
+
"lodash.trim@*": "npm:lodash@4.17.21",
|
|
71
|
+
"lodash.trimend@*": "npm:lodash@4.17.21"
|
|
70
72
|
},
|
|
71
73
|
"jest": {
|
|
72
74
|
"preset": "ts-jest",
|
|
@@ -82,10 +82,27 @@ export class Npm {
|
|
|
82
82
|
return path;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Detect which package manager is used in the project
|
|
87
|
+
*/
|
|
88
|
+
public detectPackageManager(projectPath: string): 'npm' | 'pnpm' | 'yarn' {
|
|
89
|
+
const { filesystem } = this.toolbox;
|
|
90
|
+
|
|
91
|
+
// Check for lock files in the project directory
|
|
92
|
+
if (filesystem.exists(`${projectPath}/pnpm-lock.yaml`)) {
|
|
93
|
+
return 'pnpm';
|
|
94
|
+
}
|
|
95
|
+
if (filesystem.exists(`${projectPath}/yarn.lock`)) {
|
|
96
|
+
return 'yarn';
|
|
97
|
+
}
|
|
98
|
+
// Default to npm
|
|
99
|
+
return 'npm';
|
|
100
|
+
}
|
|
101
|
+
|
|
85
102
|
/**
|
|
86
103
|
* Install npm packages
|
|
87
104
|
*/
|
|
88
|
-
public async install(options: { cwd?: string; errorMessage?: string; showError?: boolean } = {}) {
|
|
105
|
+
public async install(options: { cwd?: string; detectPackageManager?: boolean; errorMessage?: string; showError?: boolean } = {}) {
|
|
89
106
|
// Toolbox features
|
|
90
107
|
const {
|
|
91
108
|
filesystem,
|
|
@@ -97,6 +114,7 @@ export class Npm {
|
|
|
97
114
|
const opts = Object.assign(
|
|
98
115
|
{
|
|
99
116
|
cwd: filesystem.cwd(),
|
|
117
|
+
detectPackageManager: true,
|
|
100
118
|
errorMessage: 'No package.json found!',
|
|
101
119
|
showError: false,
|
|
102
120
|
},
|
|
@@ -109,10 +127,28 @@ export class Npm {
|
|
|
109
127
|
return false;
|
|
110
128
|
}
|
|
111
129
|
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
130
|
+
const projectDir = dirname(path);
|
|
131
|
+
const packageManager = opts.detectPackageManager ? this.detectPackageManager(projectDir) : 'npm';
|
|
132
|
+
|
|
133
|
+
// Install packages with the appropriate package manager
|
|
134
|
+
const installSpin = spin(`Install packages using ${packageManager}`);
|
|
135
|
+
|
|
136
|
+
let installCommand: string;
|
|
137
|
+
switch (packageManager) {
|
|
138
|
+
case 'pnpm':
|
|
139
|
+
installCommand = 'pnpm install';
|
|
140
|
+
break;
|
|
141
|
+
case 'yarn':
|
|
142
|
+
installCommand = 'yarn install';
|
|
143
|
+
break;
|
|
144
|
+
case 'npm':
|
|
145
|
+
default:
|
|
146
|
+
installCommand = 'npm i';
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
await system.run(`cd ${projectDir} && ${installCommand}`);
|
|
151
|
+
installSpin.succeed();
|
|
116
152
|
return true;
|
|
117
153
|
}
|
|
118
154
|
|
|
@@ -165,8 +201,25 @@ export class Npm {
|
|
|
165
201
|
|
|
166
202
|
// Install packages
|
|
167
203
|
if (opts.install) {
|
|
168
|
-
const
|
|
169
|
-
|
|
204
|
+
const projectDir = dirname(path);
|
|
205
|
+
const packageManager = this.detectPackageManager(projectDir);
|
|
206
|
+
const installSpin = spin(`Install packages using ${packageManager}`);
|
|
207
|
+
|
|
208
|
+
let installCommand: string;
|
|
209
|
+
switch (packageManager) {
|
|
210
|
+
case 'pnpm':
|
|
211
|
+
installCommand = 'pnpm install';
|
|
212
|
+
break;
|
|
213
|
+
case 'yarn':
|
|
214
|
+
installCommand = 'yarn install';
|
|
215
|
+
break;
|
|
216
|
+
case 'npm':
|
|
217
|
+
default:
|
|
218
|
+
installCommand = 'npm i';
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
await system.run(`cd ${projectDir} && ${installCommand}`);
|
|
170
223
|
installSpin.succeed();
|
|
171
224
|
}
|
|
172
225
|
|