pm-auto 1.0.3 → 1.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.
Files changed (43) hide show
  1. package/README.md +91 -36
  2. package/dist/build_command.js +1 -1
  3. package/dist/build_command.js.map +1 -1
  4. package/dist/config_path.d.ts +0 -1
  5. package/dist/config_path.d.ts.map +1 -1
  6. package/dist/config_path.js +0 -5
  7. package/dist/config_path.js.map +1 -1
  8. package/dist/config_reader.d.ts +3 -1
  9. package/dist/config_reader.d.ts.map +1 -1
  10. package/dist/config_reader.js +54 -6
  11. package/dist/config_reader.js.map +1 -1
  12. package/dist/display.d.ts +5 -2
  13. package/dist/display.d.ts.map +1 -1
  14. package/dist/display.js +5 -21
  15. package/dist/display.js.map +1 -1
  16. package/dist/index.js +30 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/install.d.ts +1 -1
  19. package/dist/install.d.ts.map +1 -1
  20. package/dist/install.js +3 -8
  21. package/dist/install.js.map +1 -1
  22. package/dist/orchestrator.d.ts.map +1 -1
  23. package/dist/orchestrator.js +4 -5
  24. package/dist/orchestrator.js.map +1 -1
  25. package/dist/types/index.d.ts +1 -0
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/package.json +5 -3
  28. package/src/build_command.ts +119 -119
  29. package/src/config_path.ts +48 -54
  30. package/src/config_reader.ts +68 -10
  31. package/src/display.ts +1 -7
  32. package/src/index.ts +33 -2
  33. package/src/install.ts +3 -5
  34. package/src/orchestrator.ts +5 -6
  35. package/src/types/index.ts +17 -16
  36. package/test.json +87 -94
  37. package/tests/build_command.test.ts +37 -0
  38. package/tests/config_path.test.ts +120 -0
  39. package/tests/config_reader.test.ts +179 -0
  40. package/tests/display.test.ts +83 -0
  41. package/tests/install.test.ts +200 -0
  42. package/tsconfig.json +3 -2
  43. package/vitest.config.js +8 -0
package/README.md CHANGED
@@ -58,62 +58,62 @@ yarn global add pm-auto
58
58
 
59
59
  ## Quick Start
60
60
 
61
- **1. Create a config file** (e.g., `pm-auto-config.json`):
61
+ **1. Create a config file** (e.g., `config.json`):
62
62
 
63
63
  ```json
64
64
  {
65
- "react-stack": {
66
- "name": "react-stack",
65
+ "InstallVite": {
66
+ "name": "vite",
67
+ "description": "Vite configuration",
67
68
  "packageManager": "npm",
68
69
  "packages": [
69
70
  {
70
- "command": "react react-dom",
71
- "interactive": false
72
- },
73
- {
74
- "command": "@types/react @types/react-dom --save-dev",
75
- "interactive": false
76
- },
77
- {
78
- "command": "vite @vitejs/plugin-react --save-dev",
79
- "interactive": false
80
- },
81
- {
82
- "command": "create-next-app@latest my-app",
71
+ "command": "create-vite@latest my-app",
83
72
  "interactive": true
84
73
  }
85
74
  ]
86
75
  },
87
- "express-api": {
88
- "name": "express-api",
76
+
77
+ "Next.js": {
78
+ "name": "next",
79
+ "description": "Next.js configuration",
89
80
  "packageManager": "pnpm",
90
81
  "packages": [
91
82
  {
92
- "command": "express dotenv cors helmet",
83
+ "command": "three --save-dev",
84
+ "interactive": false
85
+ },
86
+ {
87
+ "command": "@react-three/drei",
93
88
  "interactive": false
94
89
  },
95
90
  {
96
- "command": "@types/express @types/node --save-dev",
91
+ "command": "framer-motion",
97
92
  "interactive": false
93
+ },
94
+ {
95
+ "command": "create-next-app@latest my-app",
96
+ "interactive": true
98
97
  }
99
98
  ]
100
99
  }
101
100
  }
101
+
102
102
  ```
103
103
 
104
104
  **2. Set your config path:**
105
105
 
106
106
  ```bash
107
- pm-auto config ./pm-auto-config.json
107
+ pm-auto config ./config.json
108
108
  ```
109
109
 
110
110
  **3. Install your stack:**
111
111
 
112
112
  ```bash
113
- pm-auto install
113
+ pm-auto install vite
114
114
  ```
115
115
 
116
- That's it! All packages from your config are installed automatically.
116
+ That's it! The vite package from your config is installed automatically.
117
117
 
118
118
  ## Why PM-Auto?
119
119
 
@@ -161,7 +161,7 @@ pm-auto install|i|add [options] [packages...]
161
161
  pm-auto install
162
162
 
163
163
  # Install specific packages to all presets
164
- pm-auto install lodash axios
164
+ pm-auto install vite next
165
165
 
166
166
  # Install from existing package.json
167
167
  pm-auto install --pkg-json
@@ -169,8 +169,8 @@ pm-auto install --pkg-json
169
169
  # Preview what would be installed
170
170
  pm-auto install --dry-run
171
171
 
172
- # Add custom flags (e.g., for peer dependency issues)
173
- pm-auto install --add-command "--legacy-peer-deps"
172
+ # Add custom flags for non interactive commands(e.g., for peer dependency issues)
173
+ pm-auto install vite --add-command "--legacy-peer-deps"
174
174
  ```
175
175
 
176
176
  ### `pm-auto uninstall`
@@ -190,13 +190,13 @@ pm-auto uninstall|u|remove [options] <packages...>
190
190
 
191
191
  ```bash
192
192
  # Uninstall single package
193
- pm-auto uninstall lodash
193
+ pm-auto uninstall vite
194
194
 
195
195
  # Uninstall multiple packages
196
- pm-auto uninstall lodash axios moment
196
+ pm-auto uninstall vite next
197
197
 
198
- # Force uninstall
199
- pm-auto uninstall lodash --add-command "--force"
198
+ # Force uninstall for non interactive commands
199
+ pm-auto uninstall vite --add-command "--force"
200
200
  ```
201
201
 
202
202
  ### `pm-auto config`
@@ -213,12 +213,63 @@ pm-auto config <path>
213
213
  # Set config with relative path
214
214
  pm-auto config ./pm-auto-config.json
215
215
 
216
- # Set config with absolute path
217
- pm-auto config /home/user/configs/pm-auto-config.json
218
216
  ```
219
217
 
220
218
  **Note:** The config path is stored persistently. If you move your config file, run `pm-auto config <new-path>` again.
221
219
 
220
+ ### `pm-auto list`
221
+ List all packages from the config file
222
+ ```bash
223
+ pm-auto list|ls
224
+ ```
225
+ **Options:**
226
+
227
+ - `-D, --desc <command>` - Display packages description
228
+ - `-h, --help` - Display help
229
+
230
+ **Examples:**
231
+
232
+ ```bash
233
+ # List all presets
234
+ pm-auto list
235
+
236
+ ```
237
+
238
+ ### `pm-auto describe`
239
+ Display description of the package
240
+ ```bash
241
+ pm-auto describe <package-name>
242
+ ```
243
+ **Options:**
244
+
245
+ - `-h, --help` - Display help
246
+
247
+ **Examples:**
248
+
249
+ ```bash
250
+ # List all presets
251
+ pm-auto describe vite
252
+
253
+ ```
254
+ ### `pm-auto config-path`
255
+
256
+ Display path to the config file
257
+ ```bash
258
+ pm-auto config-path|cp
259
+ ```
260
+ **Options:**
261
+
262
+ - `-h, --help` - Display help
263
+
264
+ **Examples:**
265
+
266
+ ```bash
267
+ # List all presets
268
+ pm-auto config-path
269
+
270
+ ```
271
+
272
+
222
273
  ## Configuration
223
274
 
224
275
  Create a JSON config file to define your tech stack presets.
@@ -227,8 +278,9 @@ Create a JSON config file to define your tech stack presets.
227
278
 
228
279
  ```json
229
280
  {
230
- "preset-name": {
281
+ "Key": {
231
282
  "name": "preset-name",
283
+ "description": "Description of the preset",
232
284
  "packageManager": "npm",
233
285
  "packages": [
234
286
  {
@@ -241,8 +293,9 @@ Create a JSON config file to define your tech stack presets.
241
293
  ```
242
294
 
243
295
  ### Config Fields
244
-
245
- - **`name`** - Identifier for the preset (should match the key)
296
+ - **`Key`** - Identifier for the preset (it can be anything)
297
+ - **`name`** - The preset name (should be simple for easy remembrance)
298
+ - **`description`** - Description of the preset
246
299
  - **`packageManager`** - Package manager to use: `npm`, `yarn`, or `pnpm`
247
300
  - **`packages`** - Array of package configurations
248
301
  - **`command`** - Package name(s) and flags (e.g., `lodash`, `typescript --save-dev`, `react react-dom`)
@@ -256,6 +309,7 @@ Create a JSON config file to define your tech stack presets.
256
309
  {
257
310
  "fullstack-ts": {
258
311
  "name": "fullstack-ts",
312
+ "description": "Full-stack TypeScript setup with Express and TypeScript",
259
313
  "packageManager": "npm",
260
314
  "packages": [
261
315
  {
@@ -285,6 +339,7 @@ Create a JSON config file to define your tech stack presets.
285
339
  {
286
340
  "threejs-react": {
287
341
  "name": "threejs-react",
342
+ "description": "Three.js + React project setup",
288
343
  "packageManager": "pnpm",
289
344
  "packages": [
290
345
  {
@@ -313,7 +368,7 @@ Set `"interactive": true` for commands that require user input during installati
313
368
 
314
369
  ### Config Tips
315
370
 
316
- 1. **Group related packages** - Combine packages that are always installed together in one command (e.g., `react react-dom`)
371
+ 1. **Group related packages** - Combine packages that are always installed together in one command (e.g., `react react-dom gsap`)
317
372
  2. **Use descriptive names** - Name presets by purpose: `api-starter`, `frontend-base`, `testing-setup`
318
373
  3. **Multiple presets** - Create different presets for different project types in the same config
319
374
  4. **Version control** - Commit your config file to share stacks across your team
@@ -77,7 +77,7 @@ export function buildUninstallCommands(projects) {
77
77
  };
78
78
  // Separate interactive from non-interactive packages
79
79
  const nonInteractive = [];
80
- const interactive = [];
80
+ // const interactive: PackageType[] = [];
81
81
  if (packages) {
82
82
  packages.forEach((pkg) => {
83
83
  if (!pkg.interactive) {
@@ -1 +1 @@
1
- {"version":3,"file":"build_command.js","sourceRoot":"","sources":["../src/build_command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build_command.js","sourceRoot":"","sources":["../src/build_command.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export declare function saveConfigPath(configPath: string): void;
2
2
  export declare function getConfigPath(): string | void;
3
- export declare function clearConfigPath(): void;
4
3
  //# sourceMappingURL=config_path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config_path.d.ts","sourceRoot":"","sources":["../src/config_path.ts"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAgBvD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAiB7C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC"}
1
+ {"version":3,"file":"config_path.d.ts","sourceRoot":"","sources":["../src/config_path.ts"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAgBvD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAiB7C"}
@@ -35,9 +35,4 @@ export function getConfigPath() {
35
35
  display(`Error reading config file path: ${error.message}`, "error");
36
36
  }
37
37
  }
38
- export function clearConfigPath() {
39
- if (fs.existsSync(SETTINGS_FILE)) {
40
- fs.unlinkSync(SETTINGS_FILE);
41
- }
42
- }
43
38
  //# sourceMappingURL=config_path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config_path.js","sourceRoot":"","sources":["../src/config_path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAM/D,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,uCAAuC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAChD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO,CAAC,2BAA2B,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,CACL,2EAA2E,EAC3E,MAAM,CACP,CAAC;QACF,OAAO,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config_path.js","sourceRoot":"","sources":["../src/config_path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAM/D,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,uCAAuC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAChD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO,CAAC,2BAA2B,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,CACL,2EAA2E,EAC3E,MAAM,CACP,CAAC;QACF,OAAO,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
@@ -5,9 +5,11 @@ type PackageManager = "npm" | "yarn" | "pnpm";
5
5
  */
6
6
  export declare function detectPackageManager(projectPath?: string): PackageManager | void;
7
7
  /**
8
- * Get the installation commands from the config file, transforms into a js object and with the options given
8
+ * Gets the required packages from the config file, transforms into a js object and with the options given
9
9
  * it modifies the object and returns it
10
10
  */
11
11
  export declare const getConfigObject: (packages: string[], options?: any) => Promise<ConfigType[] | CommandResult[]>;
12
+ export declare const getConfigKeys: (options: any) => Promise<void>;
13
+ export declare const getPackageDescription: (packageName: string) => Promise<void>;
12
14
  export {};
13
15
  //# sourceMappingURL=config_reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config_reader.d.ts","sourceRoot":"","sources":["../src/config_reader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlE,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;GAEG;AAEH,wBAAgB,oBAAoB,CAClC,WAAW,GAAE,MAAsB,GAClC,cAAc,GAAG,IAAI,CAgBvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAAE,EAClB,UAAU,GAAG,KACZ,OAAO,CAAC,UAAU,EAAE,GAAG,aAAa,EAAE,CAoFxC,CAAC"}
1
+ {"version":3,"file":"config_reader.d.ts","sourceRoot":"","sources":["../src/config_reader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlE,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;GAEG;AAEH,wBAAgB,oBAAoB,CAClC,WAAW,GAAE,MAAsB,GAClC,cAAc,GAAG,IAAI,CAgBvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAAE,EAClB,UAAU,GAAG,KACZ,OAAO,CAAC,UAAU,EAAE,GAAG,aAAa,EAAE,CAsFxC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,SAAS,GAAG,kBA2B/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,aAAa,MAAM,kBAyB9D,CAAC"}
@@ -22,7 +22,7 @@ export function detectPackageManager(projectPath = process.cwd()) {
22
22
  display("No Lock File Found", "error");
23
23
  }
24
24
  /**
25
- * Get the installation commands from the config file, transforms into a js object and with the options given
25
+ * Gets the required packages from the config file, transforms into a js object and with the options given
26
26
  * it modifies the object and returns it
27
27
  */
28
28
  export const getConfigObject = async (packages, options) => {
@@ -40,12 +40,15 @@ export const getConfigObject = async (packages, options) => {
40
40
  let result = Object.values(configObject);
41
41
  //filter the packages the user wants to install
42
42
  if (packages.length > 0) {
43
- result = packages.map((pkg) => {
44
- if (!configObject[pkg]) {
45
- display(`Package ${pkg} not found in the configuration file`, "warning");
43
+ result = packages
44
+ .map((pkgName) => {
45
+ const found = result.find((pkg) => pkg.name === pkgName);
46
+ if (!found) {
47
+ display(`Package '${pkgName}' not found in config`, "warning");
46
48
  }
47
- return configObject[pkg];
48
- });
49
+ return found;
50
+ })
51
+ .filter((pkg) => pkg !== undefined);
49
52
  }
50
53
  /*
51
54
  * Config object modification with the options given
@@ -97,4 +100,49 @@ export const getConfigObject = async (packages, options) => {
97
100
  return result;
98
101
  }
99
102
  };
103
+ export const getConfigKeys = async (options) => {
104
+ const configPath = getConfigPath();
105
+ //read config file content
106
+ let configContent = "";
107
+ try {
108
+ configContent = await fs.readFile(configPath, "utf8");
109
+ }
110
+ catch (error) {
111
+ display(`File not found ${error} Try updating the config file path`, "error");
112
+ }
113
+ const configObject = JSON.parse(configContent);
114
+ let keys = Object.keys(configObject);
115
+ keys.forEach((key) => {
116
+ if (options.desc) {
117
+ const description = !configObject[key].description
118
+ ? "No description"
119
+ : configObject[key].description;
120
+ display(`${key} - ${description}`, "info");
121
+ }
122
+ else {
123
+ display(`${key}`, "info");
124
+ }
125
+ });
126
+ };
127
+ export const getPackageDescription = async (packageName) => {
128
+ const configPath = getConfigPath();
129
+ //read config file content
130
+ let configContent = "";
131
+ try {
132
+ configContent = await fs.readFile(configPath, "utf8");
133
+ }
134
+ catch (error) {
135
+ display(`File not found ${error} Try updating the config file path`, "error");
136
+ }
137
+ const configObject = JSON.parse(configContent);
138
+ let keys = Object.keys(configObject);
139
+ keys.forEach((key) => {
140
+ if (key === packageName) {
141
+ const description = !configObject[key].description
142
+ ? "No description"
143
+ : configObject[key].description;
144
+ display(`${packageName} - ${description}`, "info");
145
+ }
146
+ });
147
+ };
100
148
  //# sourceMappingURL=config_reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config_reader.js","sourceRoot":"","sources":["../src/config_reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config_reader.js","sourceRoot":"","sources":["../src/config_reader.ts"],"names":[],"mappings":"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"}
package/dist/display.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  type DisplayType = "error" | "success" | "warning" | "info" | "loading" | "";
2
- export declare const display: (text: string, type: DisplayType) => void;
3
- export declare const stopSpinner: (text: string, code?: number) => void;
2
+ export declare const display: (text: string, type: DisplayType) => {
3
+ start: (msg?: string) => void;
4
+ stop: (msg?: string, code?: number) => void;
5
+ message: (msg?: string) => void;
6
+ } | undefined;
4
7
  export {};
5
8
  //# sourceMappingURL=display.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AASA,KAAK,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;AAI7E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,MAAM,WAAW,SAuBtD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,OAAM,MAAU,SAMzD,CAAC"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;AAE7E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,MAAM,WAAW;eA2BinG,CAAC;cAAiC,CAAC,cAAc,CAAC;iBAAoC,CAAC;aAD9vG,CAAC"}
package/dist/display.js CHANGED
@@ -1,22 +1,13 @@
1
- /**
2
- * Display a message with a specified type.
3
- *
4
- * @param text - The message to display.
5
- * @param type - The type of message to display to determine the color.
6
- */
7
1
  import { log, spinner } from "@clack/prompts";
8
2
  import chalk from "chalk";
9
- const s = spinner();
10
3
  export const display = (text, type) => {
11
4
  switch (type) {
12
5
  case "error":
13
6
  log.error(chalk.red(text));
14
- process.exit(1);
15
- case "success":
16
- if (s) {
17
- s.stop(chalk.green(text));
18
- }
19
7
  process.exit(0);
8
+ case "success":
9
+ log.success(chalk.green(text)); // Use log.success instead
10
+ break;
20
11
  case "warning":
21
12
  log.warn(chalk.yellow(text));
22
13
  break;
@@ -24,18 +15,11 @@ export const display = (text, type) => {
24
15
  log.info(chalk.blue(text));
25
16
  break;
26
17
  case "loading":
18
+ const s = spinner();
27
19
  s.start(text);
28
- break;
20
+ return s; // Return spinner so it can be stopped later
29
21
  default:
30
22
  log.message(text);
31
23
  }
32
24
  };
33
- export const stopSpinner = (text, code = 0) => {
34
- if (code === 0) {
35
- s.stop(chalk.green(text));
36
- }
37
- else {
38
- s.stop(chalk.red(text));
39
- }
40
- };
41
25
  //# sourceMappingURL=display.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;AAEpB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,SAAS;YACZ,IAAI,CAAC,EAAE,CAAC;gBACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,SAAS;YACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM;QACR,KAAK,SAAS;YACZ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR;YACE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,CAAC,EAAE,EAAE;IAC5D,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB,KAAK,SAAS;YACZ,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B;YAC1D,MAAM;QAER,KAAK,SAAS;YACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3B,MAAM;QAER,KAAK,SAAS;YACZ,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CAAC,CAAC,CAAC,4CAA4C;QAExD;YACE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander";
3
- import { saveConfigPath } from "./config_path.js";
3
+ import { getConfigPath, saveConfigPath } from "./config_path.js";
4
4
  import { intro } from "@clack/prompts";
5
5
  import { orchestrator } from "./orchestrator.js";
6
6
  import chalk from "chalk";
7
+ import { getConfigKeys, getPackageDescription } from "./config_reader.js";
8
+ import { display } from "./display.js";
7
9
  intro(chalk.inverse(" pm-auto "));
8
10
  const program = new Command();
9
11
  program
10
12
  .name("pm-auto")
11
- .version("1.0.1")
13
+ .version("1.0.5")
12
14
  .description("A CLI tool to define and install your tech stack presets with one command.");
13
15
  program
14
16
  .command("config <path>")
@@ -37,5 +39,31 @@ program
37
39
  .action((packages, options) => {
38
40
  orchestrator("uninstall", packages, options);
39
41
  });
42
+ //Listing config packages
43
+ program
44
+ .command("list")
45
+ .alias("ls")
46
+ .description("List all packages from the config file")
47
+ .option("-D, --desc", "Display packages description", false)
48
+ .action((options) => {
49
+ getConfigKeys(options);
50
+ });
51
+ //Displaying config details
52
+ program
53
+ .command("describe <package>")
54
+ .alias("desc")
55
+ .description("Display description of the package")
56
+ .action((packages) => {
57
+ getPackageDescription(packages);
58
+ });
59
+ //get config path
60
+ program
61
+ .command("config-path")
62
+ .alias("cp")
63
+ .description("Display the path to the configuration file")
64
+ .action(() => {
65
+ const path = getConfigPath();
66
+ display(`Config Path: ${path}`, "info");
67
+ });
40
68
  program.parse();
41
69
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAElC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,4EAA4E,CAC7E,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,cAAc,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,KAAK,CAAC,KAAK,CAAC;KACZ,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CACV,uEAAuE,CACxE;KACA,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;KAC9D,MAAM,CACL,6BAA6B,EAC7B,oEAAoE,CACrE;KACA,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CACV,6EAA6E,CAC9E;KACA,MAAM,CACL,6BAA6B,EAC7B,oEAAoE,CACrE;KACA,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAElC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,4EAA4E,CAC7E,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,cAAc,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,KAAK,CAAC,KAAK,CAAC;KACZ,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CACV,uEAAuE,CACxE;KACA,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;KAC9D,MAAM,CACL,6BAA6B,EAC7B,oEAAoE,CACrE;KACA,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CACV,6EAA6E,CAC9E;KACA,MAAM,CACL,6BAA6B,EAC7B,oEAAoE,CACrE;KACA,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,yBAAyB;AACzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,YAAY,EAAE,8BAA8B,EAAE,KAAK,CAAC;KAC3D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,aAAa,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,2BAA2B;AAC3B,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;IACnB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,gBAAgB,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/dist/install.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { CommandResult } from "./types/index.js";
2
2
  /**
3
- * Takes the interactive and non interactive command from each item in the CommandResult Array
3
+ * Install all commands
4
4
  */
5
5
  export declare function install(commands: CommandResult[]): Promise<void>;
6
6
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0BtD;;GAEG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,iBAwBtD"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAwBtD;;GAEG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,iBAqBtD"}
package/dist/install.js CHANGED
@@ -1,11 +1,9 @@
1
1
  import { execa } from "execa";
2
- import { display, stopSpinner } from "./display.js";
2
+ import { display } from "./display.js";
3
3
  async function runCommand(command, interactive = false) {
4
4
  try {
5
5
  const [commandName, ...args] = command.split(" ");
6
6
  if (interactive) {
7
- // Stop spinner before interactive command
8
- stopSpinner("Starting interactive command...", 0);
9
7
  await execa(commandName, args, {
10
8
  stdio: "inherit",
11
9
  });
@@ -26,7 +24,7 @@ async function runCommand(command, interactive = false) {
26
24
  }
27
25
  }
28
26
  /**
29
- * Takes the interactive and non interactive command from each item in the CommandResult Array
27
+ * Install all commands
30
28
  */
31
29
  export async function install(commands) {
32
30
  try {
@@ -34,15 +32,12 @@ export async function install(commands) {
34
32
  // Wait for all interactive commands to finish first
35
33
  if (command.interactive) {
36
34
  for (const interactiveCommand of command.interactive) {
37
- // Interactive commands need full terminal access
38
- // We don't start a spinner here, or we stop it immediately in runCommand
39
- // But better to just log info
40
35
  display(`Running interactive command: ${interactiveCommand}`, "info");
41
36
  await runCommand(interactiveCommand, true);
42
37
  }
43
38
  }
44
39
  // Then run non-interactive
45
- if (command.nonInteractive) {
40
+ if (command.nonInteractive.length > 0) {
46
41
  // For non-interactive, we show a spinner
47
42
  display(`Running command: ${command.nonInteractive[0]}`, "loading");
48
43
  await runCommand(command.nonInteractive[0], false);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpD,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,cAAuB,KAAK;IACrE,IAAI,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,WAAW,EAAE,CAAC;YAChB,0CAA0C;YAC1C,WAAW,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,WAAqB,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,WAAqB,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAyB;IACrD,IAAI,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,oDAAoD;YACpD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,KAAK,MAAM,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACrD,iDAAiD;oBACjD,yEAAyE;oBACzE,8BAA8B;oBAC9B,OAAO,CAAC,gCAAgC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;oBACtE,MAAM,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,yCAAyC;gBACzC,OAAO,CAAC,oBAAoB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAW,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,cAAuB,KAAK;IACrE,IAAI,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,WAAqB,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,WAAqB,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAyB;IACrD,IAAI,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,oDAAoD;YACpD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,KAAK,MAAM,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACrD,OAAO,CAAC,gCAAgC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;oBACtE,MAAM,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,yCAAyC;gBACzC,OAAO,CAAC,oBAAoB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAW,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,YAAY,GACvB,SAAS,MAAM,EACf,UAAU,MAAM,EAAE,EAClB,UAAU,GAAG,SA+Cd,CAAC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,YAAY,GACvB,SAAS,MAAM,EACf,UAAU,MAAM,EAAE,EAClB,UAAU,GAAG,SA8Cd,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { buildCommands, buildUninstallCommands } from "./build_command.js";
2
2
  import { getConfigObject } from "./config_reader.js";
3
- import { display, stopSpinner } from "./display.js";
3
+ import { display } from "./display.js";
4
4
  import { install } from "./install.js";
5
5
  import { outro } from "@clack/prompts";
6
6
  //Check if the value is an array of ConfigType objects
@@ -22,13 +22,12 @@ export const orchestrator = (command, packages, options) => {
22
22
  if (isConfigTypeArray(config)) {
23
23
  const commands = buildCommands(config);
24
24
  await install(commands);
25
- stopSpinner("Packages installed successfully");
26
- process.stdout.write("\x07");
25
+ display("Packages installed successfully", "success");
27
26
  outro("Done!");
28
27
  }
29
28
  else {
30
29
  await install(config);
31
- stopSpinner("Packages from package.json installed successfully");
30
+ display("Packages from package.json installed successfully", "success");
32
31
  outro("Done!");
33
32
  }
34
33
  });
@@ -43,7 +42,7 @@ export const orchestrator = (command, packages, options) => {
43
42
  if (isConfigTypeArray(config)) {
44
43
  const commands = buildUninstallCommands(config);
45
44
  await install(commands);
46
- stopSpinner("Packages uninstalled successfully");
45
+ display("Packages uninstalled successfully", "success");
47
46
  outro("Done!");
48
47
  }
49
48
  });