@launch77/cli 1.5.0 → 1.6.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cli.js +16 -14
  3. package/dist/cli.js.map +1 -1
  4. package/dist/modules/app/commands/create-app.d.ts +1 -1
  5. package/dist/modules/app/commands/create-app.js +1 -1
  6. package/dist/modules/app/commands/delete-app.d.ts +1 -1
  7. package/dist/modules/app/commands/delete-app.js +1 -1
  8. package/dist/modules/app/index.d.ts +2 -3
  9. package/dist/modules/app/index.d.ts.map +1 -1
  10. package/dist/modules/app/index.js +2 -3
  11. package/dist/modules/app/index.js.map +1 -1
  12. package/dist/modules/catalog/commands/generate.d.ts +1 -1
  13. package/dist/modules/catalog/commands/generate.d.ts.map +1 -1
  14. package/dist/modules/catalog/commands/generate.js +1 -1
  15. package/dist/modules/catalog/commands/generate.js.map +1 -1
  16. package/dist/modules/catalog/commands/scan.d.ts +1 -1
  17. package/dist/modules/catalog/commands/scan.d.ts.map +1 -1
  18. package/dist/modules/catalog/commands/scan.js +1 -1
  19. package/dist/modules/catalog/commands/scan.js.map +1 -1
  20. package/dist/modules/library/commands/delete-library.d.ts +3 -0
  21. package/dist/modules/library/commands/delete-library.d.ts.map +1 -0
  22. package/dist/modules/library/commands/delete-library.js +111 -0
  23. package/dist/modules/library/commands/delete-library.js.map +1 -0
  24. package/dist/modules/library/errors/library-errors.d.ts +7 -0
  25. package/dist/modules/library/errors/library-errors.d.ts.map +1 -0
  26. package/dist/modules/library/errors/library-errors.js +13 -0
  27. package/dist/modules/library/errors/library-errors.js.map +1 -0
  28. package/dist/modules/library/index.d.ts +5 -0
  29. package/dist/modules/library/index.d.ts.map +1 -0
  30. package/dist/modules/library/index.js +7 -0
  31. package/dist/modules/library/index.js.map +1 -0
  32. package/dist/modules/library/services/library-svc.d.ts +9 -0
  33. package/dist/modules/library/services/library-svc.d.ts.map +1 -0
  34. package/dist/modules/library/services/library-svc.js +38 -0
  35. package/dist/modules/library/services/library-svc.js.map +1 -0
  36. package/dist/modules/library/types/library-types.d.ts +7 -0
  37. package/dist/modules/library/types/library-types.d.ts.map +1 -0
  38. package/dist/modules/library/types/library-types.js +2 -0
  39. package/dist/modules/library/types/library-types.js.map +1 -0
  40. package/dist/modules/plugin/commands/delete-plugin.d.ts +3 -0
  41. package/dist/modules/plugin/commands/delete-plugin.d.ts.map +1 -0
  42. package/dist/modules/plugin/commands/delete-plugin.js +113 -0
  43. package/dist/modules/plugin/commands/delete-plugin.js.map +1 -0
  44. package/dist/modules/plugin/errors/plugin-errors.d.ts +12 -0
  45. package/dist/modules/plugin/errors/plugin-errors.d.ts.map +1 -1
  46. package/dist/modules/plugin/errors/plugin-errors.js +18 -0
  47. package/dist/modules/plugin/errors/plugin-errors.js.map +1 -1
  48. package/dist/modules/plugin/index.d.ts +1 -0
  49. package/dist/modules/plugin/index.d.ts.map +1 -1
  50. package/dist/modules/plugin/index.js +1 -0
  51. package/dist/modules/plugin/index.js.map +1 -1
  52. package/dist/modules/plugin/services/plugin-svc.d.ts +5 -1
  53. package/dist/modules/plugin/services/plugin-svc.d.ts.map +1 -1
  54. package/dist/modules/plugin/services/plugin-svc.js +34 -1
  55. package/dist/modules/plugin/services/plugin-svc.js.map +1 -1
  56. package/dist/modules/plugin/types/plugin-types.d.ts +6 -0
  57. package/dist/modules/plugin/types/plugin-types.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/src/cli.ts +16 -14
  60. package/src/modules/app/commands/create-app.ts +1 -1
  61. package/src/modules/app/commands/delete-app.ts +1 -1
  62. package/src/modules/app/index.ts +2 -3
  63. package/src/modules/catalog/commands/generate.ts +1 -1
  64. package/src/modules/catalog/commands/scan.ts +1 -1
  65. package/src/modules/library/commands/delete-library.ts +126 -0
  66. package/src/modules/library/errors/library-errors.ts +13 -0
  67. package/src/modules/library/index.ts +11 -0
  68. package/src/modules/library/services/library-svc.ts +50 -0
  69. package/src/modules/library/types/library-types.ts +7 -0
  70. package/src/modules/plugin/commands/delete-plugin.ts +128 -0
  71. package/src/modules/plugin/errors/plugin-errors.ts +20 -0
  72. package/src/modules/plugin/index.ts +1 -0
  73. package/src/modules/plugin/services/plugin-svc.ts +43 -2
  74. package/src/modules/plugin/types/plugin-types.ts +8 -0
  75. package/dist/modules/app/commands/validate-manifest.d.ts +0 -3
  76. package/dist/modules/app/commands/validate-manifest.d.ts.map +0 -1
  77. package/dist/modules/app/commands/validate-manifest.js +0 -67
  78. package/dist/modules/app/commands/validate-manifest.js.map +0 -1
  79. package/src/modules/app/commands/validate-manifest.ts +0 -77
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @launch77/cli
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 231f581: Added new delete commands, removed uneccessary commands around manifest files, and commented out commands for deploying until we come back and fix issues here
8
+
3
9
  ## 1.5.0
4
10
 
5
11
  ### Minor Changes
package/dist/cli.js CHANGED
@@ -1,33 +1,35 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { createAppCommand, deleteAppCommand, validateManifestCommand } from './modules/app/index.js';
4
- import { scanCommand, createGenerateCommand } from './modules/catalog/index.js';
5
- import { deployInitCommand, deployLogsCommand, deployStatusCommand } from './modules/deploy/index.js';
3
+ import { appCreateCommand, appDeleteCommand } from './modules/app/index.js';
4
+ // import { catalogScanCommand, catalogGenerateCommand } from './modules/catalog/index.js'
5
+ // import { deployInitCommand, deployLogsCommand, deployStatusCommand } from './modules/deploy/index.js'
6
6
  import { gitConnectCommand } from './modules/git/index.js';
7
- import { pluginInstallCommand, pluginCreateCommand } from './modules/plugin/index.js';
7
+ import { libraryDeleteCommand } from './modules/library/index.js';
8
+ import { pluginInstallCommand, pluginCreateCommand, pluginDeleteCommand } from './modules/plugin/index.js';
8
9
  import { releaseInitCommand } from './modules/release/index.js';
9
- import { getPackageVersion } from './utils/version.js';
10
10
  import { initWorkspaceCommand } from './modules/workspace/index.js';
11
+ import { getPackageVersion } from './utils/version.js';
11
12
  const program = new Command()
12
13
  .name('launch77')
13
14
  .description('Launch77 Platform CLI')
14
15
  .version(getPackageVersion(import.meta.url));
15
16
  // Register module commands
16
17
  program.addCommand(initWorkspaceCommand());
17
- program.addCommand(createAppCommand());
18
- program.addCommand(deleteAppCommand());
19
- program.addCommand(validateManifestCommand());
20
- program.addCommand(pluginInstallCommand());
18
+ program.addCommand(appCreateCommand());
19
+ program.addCommand(appDeleteCommand());
20
+ program.addCommand(libraryDeleteCommand());
21
21
  program.addCommand(pluginCreateCommand());
22
- program.addCommand(scanCommand());
23
- program.addCommand(createGenerateCommand());
22
+ program.addCommand(pluginDeleteCommand());
23
+ program.addCommand(pluginInstallCommand());
24
+ // program.addCommand(catalogGenerateCommand())
25
+ // program.addCommand(catalogScanCommand())
24
26
  // Git commands
25
27
  program.addCommand(gitConnectCommand());
26
28
  // Release commands
27
29
  program.addCommand(releaseInitCommand());
28
30
  // Deploy commands
29
- program.addCommand(deployInitCommand());
30
- program.addCommand(deployStatusCommand());
31
- program.addCommand(deployLogsCommand());
31
+ // program.addCommand(deployInitCommand())
32
+ // program.addCommand(deployStatusCommand())
33
+ // program.addCommand(deployLogsCommand())
32
34
  program.parse();
33
35
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,uBAAuB,CAAC;KACpC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9C,2BAA2B;AAC3B,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACtC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACtC,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAA;AAC7C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;AACzC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;AACjC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAE3C,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;AAEvC,mBAAmB;AACnB,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAExC,kBAAkB;AAClB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;AACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;AACzC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;AAEvC,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,0FAA0F;AAC1F,wGAAwG;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,uBAAuB,CAAC;KACpC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9C,2BAA2B;AAC3B,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACtC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACtC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;AACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAA;AACzC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA;AAC1C,+CAA+C;AAC/C,2CAA2C;AAE3C,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAA;AAEvC,mBAAmB;AACnB,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAExC,kBAAkB;AAClB,0CAA0C;AAC1C,4CAA4C;AAC5C,0CAA0C;AAE1C,OAAO,CAAC,KAAK,EAAE,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { Command } from 'commander';
2
- export declare function createAppCommand(): Command;
2
+ export declare function appCreateCommand(): Command;
3
3
  //# sourceMappingURL=create-app.d.ts.map
@@ -5,7 +5,7 @@ import { Command } from 'commander';
5
5
  import ora from 'ora';
6
6
  import { detectLaunch77Context } from '@launch77/plugin-runtime';
7
7
  import { AppService } from '../services/app-svc.js';
8
- export function createAppCommand() {
8
+ export function appCreateCommand() {
9
9
  const command = new Command('app:create')
10
10
  .argument('<template>', 'App template name (e.g., webapp, api, marketing-site)')
11
11
  .argument('<app-name>', 'Name of the application')
@@ -1,3 +1,3 @@
1
1
  import { Command } from 'commander';
2
- export declare function deleteAppCommand(): Command;
2
+ export declare function appDeleteCommand(): Command;
3
3
  //# sourceMappingURL=delete-app.d.ts.map
@@ -6,7 +6,7 @@ import inquirer from 'inquirer';
6
6
  import ora from 'ora';
7
7
  import { detectLaunch77Context } from '@launch77/plugin-runtime';
8
8
  import { AppService } from '../services/app-svc.js';
9
- export function deleteAppCommand() {
9
+ export function appDeleteCommand() {
10
10
  const command = new Command('app:delete')
11
11
  .argument('<app-name>', 'Name of the app to delete')
12
12
  .description('Delete an app from the workspace (requires confirmation)')
@@ -3,7 +3,6 @@ export { ManifestService } from './services/manifest-svc.js';
3
3
  export type { CreateAppRequest, CreateAppResult, DeleteAppRequest, DeleteAppResult } from './types/app-types.js';
4
4
  export type { AppManifest, DeploymentConfig } from './lib/manifest-schema.js';
5
5
  export { AppAlreadyExistsError, AppNotFoundError, InvalidAppNameError, TemplateNotFoundError, ManifestNotFoundError, InvalidManifestError } from './errors/app-errors.js';
6
- export { createAppCommand } from './commands/create-app.js';
7
- export { deleteAppCommand } from './commands/delete-app.js';
8
- export { validateManifestCommand } from './commands/validate-manifest.js';
6
+ export { appCreateCommand } from './commands/create-app.js';
7
+ export { appDeleteCommand } from './commands/delete-app.js';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/app/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChH,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG7E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/app/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG5D,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChH,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG7E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -4,7 +4,6 @@ export { ManifestService } from './services/manifest-svc.js';
4
4
  // Errors
5
5
  export { AppAlreadyExistsError, AppNotFoundError, InvalidAppNameError, TemplateNotFoundError, ManifestNotFoundError, InvalidManifestError } from './errors/app-errors.js';
6
6
  // Commands
7
- export { createAppCommand } from './commands/create-app.js';
8
- export { deleteAppCommand } from './commands/delete-app.js';
9
- export { validateManifestCommand } from './commands/validate-manifest.js';
7
+ export { appCreateCommand } from './commands/create-app.js';
8
+ export { appDeleteCommand } from './commands/delete-app.js';
10
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/app/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAM5D,SAAS;AACT,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEzK,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/app/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAM5D,SAAS;AACT,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEzK,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -5,5 +5,5 @@ import { Command } from 'commander';
5
5
  /**
6
6
  * Create the catalog:generate command
7
7
  */
8
- export declare function createGenerateCommand(): Command;
8
+ export declare function catalogGenerateCommand(): Command;
9
9
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAqB/C"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAqBhD"}
@@ -11,7 +11,7 @@ import { printQualityReport } from '../utils/quality-reporter.js';
11
11
  /**
12
12
  * Create the catalog:generate command
13
13
  */
14
- export function createGenerateCommand() {
14
+ export function catalogGenerateCommand() {
15
15
  const command = new Command('catalog:generate')
16
16
  .description('Generate catalog metadata for a component library')
17
17
  .option('-l, --library <path>', 'Library directory path', process.cwd())
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ import { Command } from 'commander';
5
5
  * Scans UI components, libraries, plugins, and utilities from the Launch77 monorepo
6
6
  * and generates a machine-readable catalog for AI discovery.
7
7
  */
8
- export declare function scanCommand(): Command;
8
+ export declare function catalogScanCommand(): Command;
9
9
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAmCrC"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAmC5C"}
@@ -8,7 +8,7 @@ import { CatalogService } from '../services/catalog-svc.js';
8
8
  * Scans UI components, libraries, plugins, and utilities from the Launch77 monorepo
9
9
  * and generates a machine-readable catalog for AI discovery.
10
10
  */
11
- export function scanCommand() {
11
+ export function catalogScanCommand() {
12
12
  const command = new Command('catalog:scan')
13
13
  .description('Scan Launch77 artifacts and generate catalog.json')
14
14
  .option('--no-strict', 'Skip validation errors and generate catalog anyway')
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;SACxC,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,aAAa,EAAE,oDAAoD,CAAC;SAC3E,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YAE1D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;YAE3C,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE;gBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAEtE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;gBACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC,CAAA;YAC1G,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/modules/catalog/commands/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;SACxC,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,aAAa,EAAE,oDAAoD,CAAC;SAC3E,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YAE1D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAA;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;YAE3C,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE;gBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAEtE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;gBACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC,CAAA;YAC1G,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function libraryDeleteCommand(): Command;
3
+ //# sourceMappingURL=delete-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-library.d.ts","sourceRoot":"","sources":["../../../../src/modules/library/commands/delete-library.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,wBAAgB,oBAAoB,IAAI,OAAO,CAkH9C"}
@@ -0,0 +1,111 @@
1
+ /* eslint-disable no-console */
2
+ import * as path from 'path';
3
+ import chalk from 'chalk';
4
+ import { Command } from 'commander';
5
+ import inquirer from 'inquirer';
6
+ import ora from 'ora';
7
+ import { detectLaunch77Context } from '@launch77/plugin-runtime';
8
+ import { LibraryService } from '../services/library-svc.js';
9
+ export function libraryDeleteCommand() {
10
+ const command = new Command('library:delete')
11
+ .argument('<library-name>', 'Name of the library to delete')
12
+ .description('Delete a library from the workspace (requires confirmation)')
13
+ .action(async (libraryName) => {
14
+ try {
15
+ console.log(chalk.yellow(`\n⚠️ WARNING: You are about to delete the library '${libraryName}'\n`));
16
+ // Detect context
17
+ const context = await detectLaunch77Context(process.cwd());
18
+ // Create library service
19
+ const libraryService = new LibraryService();
20
+ // Get library path for display (before deletion)
21
+ const libraryPath = path.join(context.workspaceRoot, 'libraries', libraryName);
22
+ // Display what will be deleted
23
+ console.log(chalk.red('Library location:'), libraryPath);
24
+ console.log(chalk.red('\nThis will permanently delete:'));
25
+ console.log(chalk.gray(' • All source code and configuration files'));
26
+ console.log(chalk.gray(' • All node_modules (will be cleaned from monorepo)'));
27
+ console.log(chalk.gray(' • All build artifacts'));
28
+ console.log(chalk.yellow('\n⚠️ Important notes:'));
29
+ console.log(chalk.gray(' • Check if other packages depend on this library'));
30
+ console.log(chalk.gray(' • If published to npm, you may want to deprecate/unpublish it manually'));
31
+ console.log(chalk.gray(' • Update import statements in dependent packages manually'));
32
+ console.log(chalk.red('\n⚠️ THIS ACTION CANNOT BE UNDONE!\n'));
33
+ // First confirmation: Type library name
34
+ const { confirmName } = await inquirer.prompt([
35
+ {
36
+ type: 'input',
37
+ name: 'confirmName',
38
+ message: `Type the library name to confirm:`,
39
+ validate: (input) => {
40
+ if (input === libraryName) {
41
+ return true;
42
+ }
43
+ return `Please type '${libraryName}' exactly to confirm`;
44
+ },
45
+ },
46
+ ]);
47
+ if (confirmName !== libraryName) {
48
+ console.log(chalk.gray('\n✖ Deletion cancelled\n'));
49
+ return;
50
+ }
51
+ // Second confirmation: Type DELETE
52
+ const { confirmDelete } = await inquirer.prompt([
53
+ {
54
+ type: 'input',
55
+ name: 'confirmDelete',
56
+ message: 'Type DELETE (all caps) to confirm permanent deletion:',
57
+ validate: (input) => {
58
+ if (input === 'DELETE') {
59
+ return true;
60
+ }
61
+ return 'Please type DELETE (all caps) to confirm';
62
+ },
63
+ },
64
+ ]);
65
+ if (confirmDelete !== 'DELETE') {
66
+ console.log(chalk.gray('\n✖ Deletion cancelled\n'));
67
+ return;
68
+ }
69
+ // Delete the library
70
+ const deleteSpinner = ora('Deleting library directory...').start();
71
+ try {
72
+ await libraryService.deleteLibrary({ libraryName }, context);
73
+ deleteSpinner.succeed('Library directory deleted');
74
+ }
75
+ catch (error) {
76
+ deleteSpinner.fail('Failed to delete library directory');
77
+ throw error;
78
+ }
79
+ // Update dependencies
80
+ const installSpinner = ora('Updating workspace dependencies...').start();
81
+ try {
82
+ // This is already done by library service, just show spinner for consistency
83
+ installSpinner.succeed('Dependencies updated (package-lock.json cleaned)');
84
+ }
85
+ catch (error) {
86
+ installSpinner.fail('Failed to update dependencies');
87
+ console.log(chalk.yellow('\n⚠️ You may need to run "npm install" manually at the workspace root\n'));
88
+ }
89
+ // Success message
90
+ console.log(chalk.green(`\n✅ Library '${libraryName}' has been deleted\n`));
91
+ // Reminder about cleanup
92
+ console.log(chalk.yellow('📝 Remember to:'));
93
+ console.log(chalk.gray(' • Check and update dependent packages (remove from dependencies)'));
94
+ console.log(chalk.gray(' • Update import statements in code that used this library'));
95
+ console.log(chalk.gray(' • Consider deprecating/unpublishing from npm if published'));
96
+ console.log();
97
+ // Reminder about Git
98
+ console.log(chalk.yellow('📝 Remember to commit the deletion:'));
99
+ console.log(chalk.gray(' git add -A'));
100
+ console.log(chalk.gray(` git commit -m "Remove ${libraryName} library"`));
101
+ console.log();
102
+ }
103
+ catch (error) {
104
+ const message = error instanceof Error ? error.message : String(error);
105
+ console.error(chalk.red('Error:'), message);
106
+ process.exit(1);
107
+ }
108
+ });
109
+ return command;
110
+ }
111
+ //# sourceMappingURL=delete-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-library.js","sourceRoot":"","sources":["../../../../src/modules/library/commands/delete-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class LibraryNotFoundError extends Error {
2
+ constructor(libraryName: string, expectedPath: string);
3
+ }
4
+ export declare class InvalidLibraryNameError extends Error {
5
+ constructor(message: string);
6
+ }
7
+ //# sourceMappingURL=library-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-errors.d.ts","sourceRoot":"","sources":["../../../../src/modules/library/errors/library-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAItD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,13 @@
1
+ export class LibraryNotFoundError extends Error {
2
+ constructor(libraryName, expectedPath) {
3
+ super(`Library '${libraryName}' does not exist.\n\n` + `Expected location: ${expectedPath}\n\n` + `Available libraries:\n` + ` cd libraries/\n` + ` ls`);
4
+ this.name = 'LibraryNotFoundError';
5
+ }
6
+ }
7
+ export class InvalidLibraryNameError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = 'InvalidLibraryNameError';
11
+ }
12
+ }
13
+ //# sourceMappingURL=library-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-errors.js","sourceRoot":"","sources":["../../../../src/modules/library/errors/library-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,WAAmB,EAAE,YAAoB;QACnD,KAAK,CAAC,YAAY,WAAW,uBAAuB,GAAG,sBAAsB,YAAY,MAAM,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,MAAM,CAAC,CAAA;QAC1J,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export { LibraryService } from './services/library-svc.js';
2
+ export type { DeleteLibraryRequest, DeleteLibraryResult } from './types/library-types.js';
3
+ export { LibraryNotFoundError, InvalidLibraryNameError } from './errors/library-errors.js';
4
+ export { libraryDeleteCommand } from './commands/delete-library.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/library/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG1D,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAGzF,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAG1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,7 @@
1
+ // Services
2
+ export { LibraryService } from './services/library-svc.js';
3
+ // Errors
4
+ export { LibraryNotFoundError, InvalidLibraryNameError } from './errors/library-errors.js';
5
+ // Commands
6
+ export { libraryDeleteCommand } from './commands/delete-library.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/library/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,SAAS;AACT,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAE1F,WAAW;AACX,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { DeleteLibraryRequest, DeleteLibraryResult } from '../types/library-types.js';
2
+ import type { Launch77Context } from '@launch77/plugin-runtime';
3
+ export declare class LibraryService {
4
+ /**
5
+ * Delete a library from the workspace
6
+ */
7
+ deleteLibrary(request: DeleteLibraryRequest, context: Launch77Context): Promise<DeleteLibraryResult>;
8
+ }
9
+ //# sourceMappingURL=library-svc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-svc.d.ts","sourceRoot":"","sources":["../../../../src/modules/library/services/library-svc.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,qBAAa,cAAc;IACzB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiC3G"}
@@ -0,0 +1,38 @@
1
+ import * as path from 'path';
2
+ import fs from 'fs-extra';
3
+ import * as npm from '../../../infrastructure/npm.js';
4
+ import { validateWorkspaceContext } from '../../../utils/launch77-validation.js';
5
+ import { validateAppName } from '../../../utils/validation.js';
6
+ import { LibraryNotFoundError, InvalidLibraryNameError } from '../errors/library-errors.js';
7
+ export class LibraryService {
8
+ /**
9
+ * Delete a library from the workspace
10
+ */
11
+ async deleteLibrary(request, context) {
12
+ const { libraryName } = request;
13
+ // 1. Validate library name (reusing app name validation since format is the same)
14
+ const nameValidation = validateAppName(libraryName);
15
+ if (!nameValidation.valid) {
16
+ throw new InvalidLibraryNameError(nameValidation.errorMessage || 'Invalid library name');
17
+ }
18
+ // 2. Validate workspace context
19
+ const contextValidation = validateWorkspaceContext(context);
20
+ if (!contextValidation.valid) {
21
+ throw new Error(contextValidation.errorMessage || 'Invalid workspace context');
22
+ }
23
+ // 3. Determine library path
24
+ const libraryPath = path.join(context.workspaceRoot, 'libraries', libraryName);
25
+ // 4. Check if library exists
26
+ if (!(await fs.pathExists(libraryPath))) {
27
+ throw new LibraryNotFoundError(libraryName, libraryPath);
28
+ }
29
+ // 5. Delete the library directory
30
+ await fs.remove(libraryPath);
31
+ // 6. Update dependencies
32
+ await npm.install(context.workspaceRoot);
33
+ return {
34
+ libraryName,
35
+ };
36
+ }
37
+ }
38
+ //# sourceMappingURL=library-svc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-svc.js","sourceRoot":"","sources":["../../../../src/modules/library/services/library-svc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAK3F,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B,EAAE,OAAwB;QACzE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QAE/B,kFAAkF;QAClF,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;QACnD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,uBAAuB,CAAC,cAAc,CAAC,YAAY,IAAI,sBAAsB,CAAC,CAAA;QAC1F,CAAC;QAED,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,YAAY,IAAI,2BAA2B,CAAC,CAAA;QAChF,CAAC;QAED,4BAA4B;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QAE9E,6BAA6B;QAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;QAED,kCAAkC;QAClC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE5B,yBAAyB;QACzB,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAExC,OAAO;YACL,WAAW;SACZ,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export interface DeleteLibraryRequest {
2
+ libraryName: string;
3
+ }
4
+ export interface DeleteLibraryResult {
5
+ libraryName: string;
6
+ }
7
+ //# sourceMappingURL=library-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-types.d.ts","sourceRoot":"","sources":["../../../../src/modules/library/types/library-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=library-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-types.js","sourceRoot":"","sources":["../../../../src/modules/library/types/library-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function pluginDeleteCommand(): Command;
3
+ //# sourceMappingURL=delete-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-plugin.d.ts","sourceRoot":"","sources":["../../../../src/modules/plugin/commands/delete-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,wBAAgB,mBAAmB,IAAI,OAAO,CAoH7C"}
@@ -0,0 +1,113 @@
1
+ /* eslint-disable no-console */
2
+ import * as path from 'path';
3
+ import chalk from 'chalk';
4
+ import { Command } from 'commander';
5
+ import inquirer from 'inquirer';
6
+ import ora from 'ora';
7
+ import { detectLaunch77Context } from '@launch77/plugin-runtime';
8
+ import { PluginService } from '../services/plugin-svc.js';
9
+ export function pluginDeleteCommand() {
10
+ const command = new Command('plugin:delete')
11
+ .argument('<plugin-name>', 'Name of the plugin to delete')
12
+ .description('Delete a plugin from the workspace (requires confirmation)')
13
+ .action(async (pluginName) => {
14
+ try {
15
+ console.log(chalk.yellow(`\n⚠️ WARNING: You are about to delete the plugin '${pluginName}'\n`));
16
+ // Detect context
17
+ const context = await detectLaunch77Context(process.cwd());
18
+ // Create plugin service
19
+ const pluginService = new PluginService();
20
+ // Get plugin path for display (before deletion)
21
+ const pluginPath = path.join(context.workspaceRoot, 'plugins', pluginName);
22
+ // Display what will be deleted
23
+ console.log(chalk.red('Plugin location:'), pluginPath);
24
+ console.log(chalk.red('\nThis will permanently delete:'));
25
+ console.log(chalk.gray(' • All source code and configuration files'));
26
+ console.log(chalk.gray(' • All node_modules (will be cleaned from monorepo)'));
27
+ console.log(chalk.gray(' • All build artifacts'));
28
+ console.log(chalk.gray(' • Plugin templates and generators'));
29
+ console.log(chalk.yellow('\n⚠️ Important notes:'));
30
+ console.log(chalk.gray(' • Check if plugin is installed in other packages'));
31
+ console.log(chalk.gray(' • If published to npm, you may want to deprecate/unpublish it manually'));
32
+ console.log(chalk.gray(' • Remove plugin from launch77.installedPlugins in dependent packages manually'));
33
+ console.log(chalk.red('\n⚠️ THIS ACTION CANNOT BE UNDONE!\n'));
34
+ // First confirmation: Type plugin name
35
+ const { confirmName } = await inquirer.prompt([
36
+ {
37
+ type: 'input',
38
+ name: 'confirmName',
39
+ message: `Type the plugin name to confirm:`,
40
+ validate: (input) => {
41
+ if (input === pluginName) {
42
+ return true;
43
+ }
44
+ return `Please type '${pluginName}' exactly to confirm`;
45
+ },
46
+ },
47
+ ]);
48
+ if (confirmName !== pluginName) {
49
+ console.log(chalk.gray('\n✖ Deletion cancelled\n'));
50
+ return;
51
+ }
52
+ // Second confirmation: Type DELETE
53
+ const { confirmDelete } = await inquirer.prompt([
54
+ {
55
+ type: 'input',
56
+ name: 'confirmDelete',
57
+ message: 'Type DELETE (all caps) to confirm permanent deletion:',
58
+ validate: (input) => {
59
+ if (input === 'DELETE') {
60
+ return true;
61
+ }
62
+ return 'Please type DELETE (all caps) to confirm';
63
+ },
64
+ },
65
+ ]);
66
+ if (confirmDelete !== 'DELETE') {
67
+ console.log(chalk.gray('\n✖ Deletion cancelled\n'));
68
+ return;
69
+ }
70
+ // Delete the plugin
71
+ const deleteSpinner = ora('Deleting plugin directory...').start();
72
+ try {
73
+ await pluginService.deletePlugin({ pluginName }, context);
74
+ deleteSpinner.succeed('Plugin directory deleted');
75
+ }
76
+ catch (error) {
77
+ deleteSpinner.fail('Failed to delete plugin directory');
78
+ throw error;
79
+ }
80
+ // Update dependencies
81
+ const installSpinner = ora('Updating workspace dependencies...').start();
82
+ try {
83
+ // This is already done by plugin service, just show spinner for consistency
84
+ installSpinner.succeed('Dependencies updated (package-lock.json cleaned)');
85
+ }
86
+ catch (error) {
87
+ installSpinner.fail('Failed to update dependencies');
88
+ console.log(chalk.yellow('\n⚠️ You may need to run "npm install" manually at the workspace root\n'));
89
+ }
90
+ // Success message
91
+ console.log(chalk.green(`\n✅ Plugin '${pluginName}' has been deleted\n`));
92
+ // Reminder about cleanup
93
+ console.log(chalk.yellow('📝 Remember to:'));
94
+ console.log(chalk.gray(' • Check packages that had this plugin installed'));
95
+ console.log(chalk.gray(' • Remove plugin from launch77.installedPlugins in package.json files'));
96
+ console.log(chalk.gray(' • Remove any plugin-generated files if needed'));
97
+ console.log(chalk.gray(' • Consider deprecating/unpublishing from npm if published'));
98
+ console.log();
99
+ // Reminder about Git
100
+ console.log(chalk.yellow('📝 Remember to commit the deletion:'));
101
+ console.log(chalk.gray(' git add -A'));
102
+ console.log(chalk.gray(` git commit -m "Remove ${pluginName} plugin"`));
103
+ console.log();
104
+ }
105
+ catch (error) {
106
+ const message = error instanceof Error ? error.message : String(error);
107
+ console.error(chalk.red('Error:'), message);
108
+ process.exit(1);
109
+ }
110
+ });
111
+ return command;
112
+ }
113
+ //# sourceMappingURL=delete-plugin.js.map