release-monorepo-semantically 1.9.3 → 1.10.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 (93) hide show
  1. package/README.md +11 -1
  2. package/dist/cli/Application.d.ts +1 -1
  3. package/dist/cli/Application.js +1 -1
  4. package/dist/cli/decorators.d.ts +1 -7
  5. package/dist/cli/decorators.d.ts.map +1 -1
  6. package/dist/cli/decorators.js +1 -5
  7. package/dist/cli/decorators.js.map +1 -1
  8. package/dist/cli/execute.d.ts +4 -6
  9. package/dist/cli/execute.d.ts.map +1 -1
  10. package/dist/cli/execute.js +5 -26
  11. package/dist/cli/execute.js.map +1 -1
  12. package/dist/cli/index.d.ts +1 -1
  13. package/dist/cli/index.d.ts.map +1 -1
  14. package/dist/cli/index.js +1 -1
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/domain/PackageJSON.d.ts +24 -0
  17. package/dist/domain/PackageJSON.d.ts.map +1 -1
  18. package/dist/domain/PackageJSON.js +29 -1
  19. package/dist/domain/PackageJSON.js.map +1 -1
  20. package/dist/domain/ReleaseTypes.d.ts +8 -0
  21. package/dist/domain/ReleaseTypes.d.ts.map +1 -1
  22. package/dist/domain/ReleaseTypes.js +10 -0
  23. package/dist/domain/ReleaseTypes.js.map +1 -1
  24. package/dist/exceptions/DomainException.d.ts +9 -0
  25. package/dist/exceptions/DomainException.d.ts.map +1 -1
  26. package/dist/exceptions/DomainException.js +15 -0
  27. package/dist/exceptions/DomainException.js.map +1 -1
  28. package/dist/exceptions/ExceptionHandler.js +2 -2
  29. package/dist/exceptions/ExceptionHandler.js.map +1 -1
  30. package/dist/features/changelog/ChangelogController.d.ts.map +1 -1
  31. package/dist/features/changelog/ChangelogController.js +7 -7
  32. package/dist/features/changelog/ChangelogController.js.map +1 -1
  33. package/dist/features/packageJson/PackageController.d.ts.map +1 -1
  34. package/dist/features/packageJson/PackageController.js +25 -9
  35. package/dist/features/packageJson/PackageController.js.map +1 -1
  36. package/dist/features/packageManager/PackageManagerController.d.ts +14 -1
  37. package/dist/features/packageManager/PackageManagerController.d.ts.map +1 -1
  38. package/dist/features/packageManager/PackageManagerController.js +31 -13
  39. package/dist/features/packageManager/PackageManagerController.js.map +1 -1
  40. package/dist/features/packageManager/services/PNPMPackageManager.d.ts +0 -1
  41. package/dist/features/packageManager/services/PNPMPackageManager.d.ts.map +1 -1
  42. package/dist/features/packageManager/services/PNPMPackageManager.js +2 -8
  43. package/dist/features/packageManager/services/PNPMPackageManager.js.map +1 -1
  44. package/dist/features/packageManager/services/PackageManager.d.ts +0 -1
  45. package/dist/features/packageManager/services/PackageManager.d.ts.map +1 -1
  46. package/dist/features/packageManager/services/PackageManager.js.map +1 -1
  47. package/dist/features/releaseNotes/ReleaseNotesController.d.ts.map +1 -1
  48. package/dist/features/releaseNotes/ReleaseNotesController.js +7 -7
  49. package/dist/features/releaseNotes/ReleaseNotesController.js.map +1 -1
  50. package/dist/features/releaseNotes/services/GithubService.js +2 -2
  51. package/dist/features/releaseNotes/services/GithubService.js.map +1 -1
  52. package/dist/features/report/ReportController.d.ts +0 -4
  53. package/dist/features/report/ReportController.d.ts.map +1 -1
  54. package/dist/features/report/ReportController.js +15 -15
  55. package/dist/features/report/ReportController.js.map +1 -1
  56. package/dist/features/vcs/VCSController.d.ts.map +1 -1
  57. package/dist/features/vcs/VCSController.js +9 -11
  58. package/dist/features/vcs/VCSController.js.map +1 -1
  59. package/dist/features/vcs/services/GitService.js +2 -2
  60. package/dist/features/vcs/services/GitService.js.map +1 -1
  61. package/dist/services/ConsoleLogger.d.ts.map +1 -1
  62. package/dist/services/ConsoleLogger.js +2 -2
  63. package/dist/services/ConsoleLogger.js.map +1 -1
  64. package/dist/services/HandlebarsRenderService.d.ts.map +1 -1
  65. package/dist/services/HandlebarsRenderService.js +2 -2
  66. package/dist/services/HandlebarsRenderService.js.map +1 -1
  67. package/dist/services/NodeFileSystemService.d.ts +17 -1
  68. package/dist/services/NodeFileSystemService.d.ts.map +1 -1
  69. package/dist/services/NodeFileSystemService.js +32 -8
  70. package/dist/services/NodeFileSystemService.js.map +1 -1
  71. package/dist/services/OutputService.d.ts.map +1 -1
  72. package/dist/services/OutputService.js +2 -2
  73. package/dist/services/OutputService.js.map +1 -1
  74. package/dist/services/PluginsConfigService.d.ts.map +1 -1
  75. package/dist/services/PluginsConfigService.js +2 -2
  76. package/dist/services/PluginsConfigService.js.map +1 -1
  77. package/dist/utils/cli.d.ts +7 -1
  78. package/dist/utils/cli.d.ts.map +1 -1
  79. package/dist/utils/cli.js +10 -0
  80. package/dist/utils/cli.js.map +1 -1
  81. package/dist/utils/ts-ioc-container.d.ts +8 -0
  82. package/dist/utils/ts-ioc-container.d.ts.map +1 -0
  83. package/dist/utils/ts-ioc-container.js +7 -0
  84. package/dist/utils/ts-ioc-container.js.map +1 -0
  85. package/dist/utils/utils.d.ts +0 -1
  86. package/dist/utils/utils.d.ts.map +1 -1
  87. package/dist/utils/utils.js +0 -1
  88. package/dist/utils/utils.js.map +1 -1
  89. package/dist/utils/zod.d.ts +7 -0
  90. package/dist/utils/zod.d.ts.map +1 -0
  91. package/dist/utils/zod.js +6 -0
  92. package/dist/utils/zod.js.map +1 -0
  93. package/package.json +2 -2
package/README.md CHANGED
@@ -11,6 +11,15 @@ The tool is a set of discrete steps rather than a single command: one step analy
11
11
  - Node.js: `>=20.11`
12
12
  - pnpm
13
13
  - Git repository with conventional commits
14
+ - A root `package.json` declaring `workspaces` (the globs the packages live under, e.g. `["packages/*"]`)
15
+ - A `name` and a `major.minor.patch` `version` in every workspace package's `package.json`
16
+
17
+ Every manifest is validated when it is read, and a missing or malformed field
18
+ fails the step that read it with an explicit error — `INVALID_ROOT_PACKAGE_JSON`
19
+ for the workspace root, `INVALID_PACKAGE_JSON` for a package,
20
+ `MISSING_PACKAGE_JSON` when the file is not there — naming the file and the
21
+ field. A root without `workspaces` used to resolve to zero packages and report
22
+ "nothing to release".
14
23
 
15
24
  ## Installation
16
25
 
@@ -83,7 +92,7 @@ Every step accepts `--context <json>` (except `report`, which produces it) and `
83
92
  | ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
84
93
  | `report` | (only one) | Discovers workspace packages, computes version bumps from commits since each package's last release tag, fails if the working tree isn't clean. Writes the release context as JSON to stdout. |
85
94
  | `package-json` | (only one) | Updates internal dependency versions in each released package's `package.json` to exact versions, in the `dependencies`/`devDependencies` block each was declared in (peer ranges are left alone), then refreshes the workspace lockfile. |
86
- | `package-manager` | _(default)_ | Bumps each released package's version via `pnpm version`. |
95
+ | `package-manager` | _(default)_ | Writes each released package's new version into its `package.json`. |
87
96
  | `package-manager` | `publish` | Publishes each released package via `pnpm publish`. Kept separate from the version bump so a pipeline can't reach the registry by accident. |
88
97
  | `changelog` | (only one) | Renders and prepends a changelog entry per released package. `--template <path>` and `--changelog-name <value>` (default `CHANGELOG.md`) override the defaults. |
89
98
  | `vcs` | _(default)_ | Runs `commit`, `tag`, and `push` in that order in one invocation. |
@@ -145,3 +154,4 @@ pnpm run lint
145
154
  - Tag format is fixed: `<package-name>@<version>`.
146
155
  - Private packages (`"private": true`) are never released.
147
156
  - `--dry-run` on any step performs no file, git, or registry mutation for that step.
157
+ - The version bump is written into `package.json` directly rather than through `pnpm version`, which delegates to npm: npm resolves the whole workspace first, which fails on `workspace:*` specifiers and runs install lifecycle scripts.
@@ -1,7 +1,7 @@
1
1
  import { type IContainer } from 'ts-ioc-container';
2
2
  /**
3
3
  * Minimal replacement for ib-commander's Application: resolves a controller by
4
- * its bindTo name, runs the hooks registered under the requested action, and
4
+ * its @register key, runs the hooks registered under the requested action, and
5
5
  * routes failures to the bound IErrorHandler. Kept in-repo because ib-commander
6
6
  * pins ts-ioc-container ^47, which this project has moved past.
7
7
  */
@@ -20,7 +20,7 @@ function parseControllerAndAction(argv) {
20
20
  }
21
21
  /**
22
22
  * Minimal replacement for ib-commander's Application: resolves a controller by
23
- * its bindTo name, runs the hooks registered under the requested action, and
23
+ * its @register key, runs the hooks registered under the requested action, and
24
24
  * routes failures to the bound IErrorHandler. Kept in-repo because ib-commander
25
25
  * pins ts-ioc-container ^47, which this project has moved past.
26
26
  */
@@ -1,6 +1,4 @@
1
- import { type HookType, type IContainer } from 'ts-ioc-container';
2
- import { Command } from 'commander';
3
- import { ZodObject } from 'zod';
1
+ import { type HookType } from 'ts-ioc-container';
4
2
  export declare const DEFAULT_ACTION = "default";
5
3
  /**
6
4
  * Registers a method as a named CLI action, e.g. `@action('tag', execute())`
@@ -10,8 +8,4 @@ export declare const DEFAULT_ACTION = "default";
10
8
  export declare const action: (name: string, ...fns: HookType[]) => (target: object, propertyKey: string | symbol) => void;
11
9
  /** Runs when the controller is invoked without an action name. */
12
10
  export declare const onDefault: (...fns: HookType[]) => (target: object, propertyKey: string | symbol) => void;
13
- export declare const command: (createCmd: (c: IContainer) => Command) => MethodDecorator;
14
- export declare const getCommand: (instance: object, methodName: string) => ((c: IContainer) => Command) | undefined;
15
- export declare const schema: (createSchema: (c: IContainer) => ZodObject) => MethodDecorator;
16
- export declare const getSchema: (instance: object, methodName: string) => ((c: IContainer) => ZodObject) | undefined;
17
11
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,2DAA+B,CAAC;AAEvF,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC;AAEhF,eAAO,MAAM,OAAO,GAAI,WAAW,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,KAAG,eAA4D,CAAC;AAE7H,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAuD,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;AAE/J,eAAO,MAAM,MAAM,GAAI,cAAc,CAAC,CAAC,EAAE,UAAU,KAAK,SAAS,KAAG,eAA8D,CAAC;AAEnI,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAsD,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE/D,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,2DAA+B,CAAC;AAEvF,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { addMethodMeta, append, getMethodMeta, hook } from 'ts-ioc-container';
1
+ import { append, hook } from 'ts-ioc-container';
2
2
  export const DEFAULT_ACTION = 'default';
3
3
  /**
4
4
  * Registers a method as a named CLI action, e.g. `@action('tag', execute())`
@@ -8,8 +8,4 @@ export const DEFAULT_ACTION = 'default';
8
8
  export const action = (name, ...fns) => hook(name, append(...fns));
9
9
  /** Runs when the controller is invoked without an action name. */
10
10
  export const onDefault = (...fns) => action(DEFAULT_ACTION, ...fns);
11
- export const command = (createCmd) => addMethodMeta('command', () => createCmd);
12
- export const getCommand = (instance, methodName) => getMethodMeta('command', instance, methodName);
13
- export const schema = (createSchema) => addMethodMeta('schema', () => createSchema);
14
- export const getSchema = (instance, methodName) => getMethodMeta('schema', instance, methodName);
15
11
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAkC,MAAM,kBAAkB,CAAC;AAI9G,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAG,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEvF,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAe,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAqC,EAAmB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAE7H,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAA6C,CAAC;AAE/J,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAA0C,EAAmB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAEnI,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAA+C,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAiB,MAAM,kBAAkB,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAG,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEvF,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAe,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC"}
@@ -1,11 +1,9 @@
1
1
  import { type HookFn } from 'ts-ioc-container';
2
2
  /**
3
- * Hook that turns a decorated controller method into a CLI action: it parses
4
- * the process arguments with the method's `@command`, validates them with its
5
- * `@schema`, and calls the method with the resulting options object.
6
- *
7
- * Methods without a `@command` (lifecycle hooks such as `@onConstruct`) are
8
- * invoked with their injected arguments instead.
3
+ * Hook that runs a controller method as a CLI action. Its arguments come from
4
+ * the method's own parameter decorators, so an action that needs CLI options
5
+ * declares them itself, e.g.
6
+ * `@inject(commandArgs, parseOptions(stepCommand()), validate(STEP_OPTIONS))`.
9
7
  */
10
8
  export declare const execute: () => HookFn;
11
9
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,QAAO,MAuB1B,CAAC"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAO,MAE1B,CAAC"}
@@ -1,31 +1,10 @@
1
- import { getCommand, getSchema } from './decorators.js';
2
1
  /**
3
- * Hook that turns a decorated controller method into a CLI action: it parses
4
- * the process arguments with the method's `@command`, validates them with its
5
- * `@schema`, and calls the method with the resulting options object.
6
- *
7
- * Methods without a `@command` (lifecycle hooks such as `@onConstruct`) are
8
- * invoked with their injected arguments instead.
2
+ * Hook that runs a controller method as a CLI action. Its arguments come from
3
+ * the method's own parameter decorators, so an action that needs CLI options
4
+ * declares them itself, e.g.
5
+ * `@inject(commandArgs, parseOptions(stepCommand()), validate(STEP_OPTIONS))`.
9
6
  */
10
7
  export const execute = () => (ctx) => {
11
- // methodName is only absent when a hook runs outside a decorated method,
12
- // which never happens here — every hook site is a controller method.
13
- const methodName = ctx.methodName;
14
- const resolveCommand = getCommand(ctx.instance, methodName);
15
- if (!resolveCommand) {
16
- ctx.invokeMethod();
17
- return;
18
- }
19
- const command = resolveCommand(ctx.scope);
20
- // Initial args are the raw process arguments; everything from the first flag
21
- // onwards belongs to this action (what precedes it is controller/action).
22
- const rawArgs = ctx.getInitialArgs().map(String);
23
- const firstFlag = rawArgs.findIndex((arg) => arg.startsWith('-'));
24
- command.parse(firstFlag >= 0 ? ['node', 'script', ...rawArgs.slice(firstFlag)] : ['node', 'script']);
25
- const resolveSchema = getSchema(ctx.instance, methodName);
26
- const options = resolveSchema ? resolveSchema(ctx.scope).parse(command.opts()) : command.opts();
27
- // NOTE: passing args replaces injected parameters rather than merging with
28
- // them, so an action method must take the options object alone.
29
- ctx.invokeMethod({ args: [options] });
8
+ ctx.invokeMethod();
30
9
  };
31
10
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;IAC3C,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAW,CAAC;IACnC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErG,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEhG,2EAA2E;IAC3E,gEAAgE;IAChE,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;IAC3C,GAAG,CAAC,YAAY,EAAE,CAAC;AACrB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export { action, command, DEFAULT_ACTION, getCommand, getSchema, onDefault, schema } from './decorators.js';
1
+ export { action, DEFAULT_ACTION, onDefault } from './decorators.js';
2
2
  export { execute } from './execute.js';
3
3
  export { Application } from './Application.js';
4
4
  export { IErrorHandler, IErrorHandlerKey } from './IErrorHandler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { action, command, DEFAULT_ACTION, getCommand, getSchema, onDefault, schema } from './decorators.js';
1
+ export { action, DEFAULT_ACTION, onDefault } from './decorators.js';
2
2
  export { execute } from './execute.js';
3
3
  export { Application } from './Application.js';
4
4
  export { IErrorHandlerKey } from './IErrorHandler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  export interface PackageJSON {
2
3
  name: string;
3
4
  version: string;
@@ -7,4 +8,27 @@ export interface PackageJSON {
7
8
  peerDependencies?: Record<string, string>;
8
9
  workspaces?: string[];
9
10
  }
11
+ /** The workspace root declares its packages here; the `report` step has nothing to release without it. */
12
+ export type RootPackageJSON = PackageJSON & {
13
+ workspaces: string[];
14
+ };
15
+ /**
16
+ * What a released package's manifest has to declare. The schemas validate
17
+ * only: callers keep the object as it was parsed, so a manifest that is
18
+ * written back keeps its own field order and every field this tool does not
19
+ * model (`scripts`, `exports`, `publishConfig`, ...).
20
+ */
21
+ export declare const PACKAGE_JSON_SCHEMA: z.ZodObject<{
22
+ name: z.ZodString;
23
+ version: z.ZodString;
24
+ private: z.ZodOptional<z.ZodBoolean>;
25
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
26
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
27
+ peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
28
+ }, z.core.$strip>;
29
+ export declare const ROOT_PACKAGE_JSON_SCHEMA: z.ZodObject<{
30
+ workspaces: z.ZodArray<z.ZodString>;
31
+ }, z.core.$strip>;
32
+ /** `name: is required, version: must be a semantic version (major.minor.patch)` */
33
+ export declare function formatValidationIssues(error: z.ZodError): string;
10
34
  //# sourceMappingURL=PackageJSON.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageJSON.d.ts","sourceRoot":"","sources":["../../src/domain/PackageJSON.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"PackageJSON.d.ts","sourceRoot":"","sources":["../../src/domain/PackageJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,0GAA0G;AAC1G,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AASrE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;iBAInC,CAAC;AAEH,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAEhE"}
@@ -1,2 +1,30 @@
1
- export {};
1
+ import { z } from 'zod';
2
+ // `bumpVersion` reads a version as three numbers, so anything else — a
3
+ // prerelease tag, a range, a placeholder — silently produces `NaN` in the
4
+ // released version instead of failing.
5
+ const SEMVER = /^\d+\.\d+\.\d+$/;
6
+ const DEPENDENCY_BLOCK = z.record(z.string().min(1), z.string().min(1, 'must be a version specifier'));
7
+ /**
8
+ * What a released package's manifest has to declare. The schemas validate
9
+ * only: callers keep the object as it was parsed, so a manifest that is
10
+ * written back keeps its own field order and every field this tool does not
11
+ * model (`scripts`, `exports`, `publishConfig`, ...).
12
+ */
13
+ export const PACKAGE_JSON_SCHEMA = z.object({
14
+ name: z.string({ error: 'is required' }).min(1, 'is required'),
15
+ version: z.string({ error: 'is required' }).regex(SEMVER, 'must be a semantic version (major.minor.patch)'),
16
+ private: z.boolean().optional(),
17
+ dependencies: DEPENDENCY_BLOCK.optional(),
18
+ devDependencies: DEPENDENCY_BLOCK.optional(),
19
+ peerDependencies: DEPENDENCY_BLOCK.optional(),
20
+ });
21
+ export const ROOT_PACKAGE_JSON_SCHEMA = z.object({
22
+ workspaces: z
23
+ .array(z.string().min(1, 'must be a workspace glob'), { error: 'is required: list the globs the monorepo packages live under, e.g. ["packages/*"]' })
24
+ .min(1, 'must list at least one workspace glob'),
25
+ });
26
+ /** `name: is required, version: must be a semantic version (major.minor.patch)` */
27
+ export function formatValidationIssues(error) {
28
+ return error.issues.map((issue) => `${issue.path.join('.') || '<root>'}: ${issue.message}`).join(', ');
29
+ }
2
30
  //# sourceMappingURL=PackageJSON.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageJSON.js","sourceRoot":"","sources":["../../src/domain/PackageJSON.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"PackageJSON.js","sourceRoot":"","sources":["../../src/domain/PackageJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,uEAAuE;AACvE,0EAA0E;AAC1E,uCAAuC;AACvC,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC;AAEvG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,gDAAgD,CAAC;IAC3G,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC5C,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,mFAAmF,EAAE,CAAC;SACpJ,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC;CACnD,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzG,CAAC"}
@@ -8,6 +8,14 @@
8
8
  */
9
9
  export declare const DEPENDENCY_SECTIONS: readonly ["dependencies", "devDependencies"];
10
10
  export type DependencySection = (typeof DEPENDENCY_SECTIONS)[number];
11
+ /**
12
+ * A specifier using pnpm's `workspace:` protocol always points at the copy in
13
+ * this workspace, so it is never stale and must not be rewritten to an exact
14
+ * version. Rewriting it would replace a local link with a version that is only
15
+ * published later in the release, leaving the lockfile refresh with nothing to
16
+ * resolve. `pnpm publish` substitutes the real version into the tarball.
17
+ */
18
+ export declare function isWorkspaceProtocol(specifier: string): boolean;
11
19
  export interface DependencyVersionChange {
12
20
  packageName: string;
13
21
  oldVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ReleaseTypes.d.ts","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B"}
1
+ {"version":3,"file":"ReleaseTypes.d.ts","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B"}
@@ -7,4 +7,14 @@
7
7
  * released version would be wrong.
8
8
  */
9
9
  export const DEPENDENCY_SECTIONS = ['dependencies', 'devDependencies'];
10
+ /**
11
+ * A specifier using pnpm's `workspace:` protocol always points at the copy in
12
+ * this workspace, so it is never stale and must not be rewritten to an exact
13
+ * version. Rewriting it would replace a local link with a version that is only
14
+ * published later in the release, leaving the lockfile refresh with nothing to
15
+ * resolve. `pnpm publish` substitutes the real version into the tarball.
16
+ */
17
+ export function isWorkspaceProtocol(specifier) {
18
+ return specifier.startsWith('workspace:');
19
+ }
10
20
  //# sourceMappingURL=ReleaseTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReleaseTypes.js","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC"}
1
+ {"version":3,"file":"ReleaseTypes.js","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC;AAIhF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC"}
@@ -5,6 +5,15 @@ export declare abstract class DomainException extends Error {
5
5
  export declare class MissingDependencyVersionException extends DomainException {
6
6
  constructor(packageName: string, dependencyName: string);
7
7
  }
8
+ export declare class MissingPackageJsonException extends DomainException {
9
+ constructor(filePath: string);
10
+ }
11
+ export declare class InvalidPackageJsonException extends DomainException {
12
+ constructor(filePath: string, reason: string);
13
+ }
14
+ export declare class InvalidRootPackageJsonException extends DomainException {
15
+ constructor(filePath: string, reason: string);
16
+ }
8
17
  export declare class GithubCliUnavailableException extends DomainException {
9
18
  constructor();
10
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DomainException.d.ts","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAgB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;IADvB,SAAS,aACE,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAGxD;AAED,qBAAa,6BAA8B,SAAQ,eAAe;;CAIjE;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,kCAAmC,SAAQ,eAAe;gBACzD,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,yBAA0B,SAAQ,eAAe;;CAI7D;AAED,qBAAa,oCAAqC,SAAQ,eAAe;gBAC3D,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG5C;AAED,qBAAa,iCAAkC,SAAQ,eAAe;;CAOrE;AAED,qBAAa,0BAA2B,SAAQ,eAAe;;CAI9D"}
1
+ {"version":3,"file":"DomainException.d.ts","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAgB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;IADvB,SAAS,aACE,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAGxD;AAED,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C;AAED,qBAAa,+BAAgC,SAAQ,eAAe;gBACtD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG7C;AAED,qBAAa,6BAA8B,SAAQ,eAAe;;CAIjE;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,kCAAmC,SAAQ,eAAe;gBACzD,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,yBAA0B,SAAQ,eAAe;;CAI7D;AAED,qBAAa,oCAAqC,SAAQ,eAAe;gBAC3D,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG5C;AAED,qBAAa,iCAAkC,SAAQ,eAAe;;CAOrE;AAED,qBAAa,0BAA2B,SAAQ,eAAe;;CAI9D"}
@@ -11,6 +11,21 @@ export class MissingDependencyVersionException extends DomainException {
11
11
  super('MISSING_DEPENDENCY_VERSION', `Dependency ${dependencyName} not found in ${packageName}`);
12
12
  }
13
13
  }
14
+ export class MissingPackageJsonException extends DomainException {
15
+ constructor(filePath) {
16
+ super('MISSING_PACKAGE_JSON', `No package.json at ${filePath}`);
17
+ }
18
+ }
19
+ export class InvalidPackageJsonException extends DomainException {
20
+ constructor(filePath, reason) {
21
+ super('INVALID_PACKAGE_JSON', `Invalid package.json at ${filePath}: ${reason}`);
22
+ }
23
+ }
24
+ export class InvalidRootPackageJsonException extends DomainException {
25
+ constructor(filePath, reason) {
26
+ super('INVALID_ROOT_PACKAGE_JSON', `Invalid workspace root package.json at ${filePath}: ${reason}`);
27
+ }
28
+ }
14
29
  export class GithubCliUnavailableException extends DomainException {
15
30
  constructor() {
16
31
  super('GITHUB_CLI_UNAVAILABLE', 'GitHub release creation requires `gh` CLI when running in GitHub Actions');
@@ -1 +1 @@
1
- {"version":3,"file":"DomainException.js","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,eAAgB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE,YAAY,WAAmB,EAAE,cAAsB;QACrD,KAAK,CAAC,4BAA4B,EAAE,cAAc,cAAc,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAClG,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,eAAe;IAChE;QACE,KAAK,CAAC,wBAAwB,EAAE,0EAA0E,CAAC,CAAC;IAC9G,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE,YAAY,UAAkB;QAC5B,KAAK,CAAC,oCAAoC,EAAE,sBAAsB,UAAU,uBAAuB,CAAC,CAAC;IACvG,CAAC;CACF;AAED,MAAM,OAAO,kCAAmC,SAAQ,eAAe;IACrE,YAAY,UAAkB;QAC5B,KAAK,CAAC,8BAA8B,EAAE,UAAU,UAAU,oBAAoB,CAAC,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CAAC,oBAAoB,EAAE,6EAA6E,CAAC,CAAC;IAC7G,CAAC;CACF;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IACvE,YAAY,MAAc;QACxB,KAAK,CAAC,gCAAgC,EAAE,yCAAyC,MAAM,iEAAiE,CAAC,CAAC;IAC5J,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,gBAAgB,EAAE,sCAAsC,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE;QACE,KAAK,CACH,4BAA4B,EAC5B,sJAAsJ,CACvJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D;QACE,KAAK,CAAC,oBAAoB,EAAE,qEAAqE,CAAC,CAAC;IACrG,CAAC;CACF"}
1
+ {"version":3,"file":"DomainException.js","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,eAAgB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE,YAAY,WAAmB,EAAE,cAAsB;QACrD,KAAK,CAAC,4BAA4B,EAAE,cAAc,cAAc,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAClG,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,QAAgB;QAC1B,KAAK,CAAC,sBAAsB,EAAE,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,sBAAsB,EAAE,2BAA2B,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAClE,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,2BAA2B,EAAE,0CAA0C,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;IACtG,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,eAAe;IAChE;QACE,KAAK,CAAC,wBAAwB,EAAE,0EAA0E,CAAC,CAAC;IAC9G,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE,YAAY,UAAkB;QAC5B,KAAK,CAAC,oCAAoC,EAAE,sBAAsB,UAAU,uBAAuB,CAAC,CAAC;IACvG,CAAC;CACF;AAED,MAAM,OAAO,kCAAmC,SAAQ,eAAe;IACrE,YAAY,UAAkB;QAC5B,KAAK,CAAC,8BAA8B,EAAE,UAAU,UAAU,oBAAoB,CAAC,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CAAC,oBAAoB,EAAE,6EAA6E,CAAC,CAAC;IAC7G,CAAC;CACF;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IACvE,YAAY,MAAc;QACxB,KAAK,CAAC,gCAAgC,EAAE,yCAAyC,MAAM,iEAAiE,CAAC,CAAC;IAC5J,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,gBAAgB,EAAE,sCAAsC,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE;QACE,KAAK,CACH,4BAA4B,EAC5B,sJAAsJ,CACvJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D;QACE,KAAK,CAAC,oBAAoB,EAAE,qEAAqE,CAAC,CAAC;IACrG,CAAC;CACF"}
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import 'reflect-metadata';
8
8
  import { DomainException } from './DomainException.js';
9
- import { bindTo, register, singleton } from 'ts-ioc-container';
9
+ import { register, singleton } from 'ts-ioc-container';
10
10
  import { IErrorHandlerKey } from '../cli/IErrorHandler.js';
11
11
  // Application resolves IErrorHandlerKey and calls handleError() when a
12
12
  // command throws.
@@ -22,7 +22,7 @@ let ExceptionHandler = class ExceptionHandler {
22
22
  }
23
23
  };
24
24
  ExceptionHandler = __decorate([
25
- register(bindTo(IErrorHandlerKey), singleton())
25
+ register(IErrorHandlerKey, singleton())
26
26
  ], ExceptionHandler);
27
27
  export { ExceptionHandler };
28
28
  //# sourceMappingURL=ExceptionHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExceptionHandler.js","sourceRoot":"","sources":["../../src/exceptions/ExceptionHandler.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAiB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE1E,uEAAuE;AACvE,kBAAkB;AAEX,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,WAAW,CAAC,KAAc;QACxB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,gBAAgB;IAD5B,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;GACnC,gBAAgB,CAU5B"}
1
+ {"version":3,"file":"ExceptionHandler.js","sourceRoot":"","sources":["../../src/exceptions/ExceptionHandler.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAiB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE1E,uEAAuE;AACvE,kBAAkB;AAEX,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,WAAW,CAAC,KAAc;QACxB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,gBAAgB;IAD5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC;GAC3B,gBAAgB,CAU5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangelogController.d.ts","sourceRoot":"","sources":["../../../src/features/changelog/ChangelogController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAqB,MAAM,2CAA2C,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAc,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGxE,eAAO,MAAM,iBAAiB;;;;;iBAG5B,CAAC;AAOH,qBACa,mBAAmB;IAEoC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJoB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC/E,GAAG,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,EACzB,EAAE,EAAE,kBAAkB,EACf,MAAM,EAAE,OAAO;IAOxE,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GAAG,IAAI;CAsBpE"}
1
+ {"version":3,"file":"ChangelogController.d.ts","sourceRoot":"","sources":["../../../src/features/changelog/ChangelogController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAqB,MAAM,2CAA2C,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAc,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,eAAO,MAAM,iBAAiB;;;;;iBAG5B,CAAC;AAOH,qBACa,mBAAmB;IAEoC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJoB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC/E,GAAG,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,EACzB,EAAE,EAAE,kBAAkB,EACf,MAAM,EAAE,OAAO;IAKxE,iBAAiB,CAAqF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GAAG,IAAI;CAsBxJ"}
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { bindTo, inject, register } from 'ts-ioc-container';
13
+ import { inject, register } from 'ts-ioc-container';
14
14
  import { globalConfig } from '../../domain/GlobalConfig.js';
15
15
  import { IRenderServiceKey } from '../../services/HandlebarsRenderService.js';
16
16
  import { IFileSystemServiceKey } from '../../services/NodeFileSystemService.js';
@@ -18,11 +18,12 @@ import { ILoggerKey } from '../../services/ConsoleLogger.js';
18
18
  import { deserializeContext } from '../../domain/ReleaseControllerContext.js';
19
19
  import path from 'node:path';
20
20
  import { z } from 'zod';
21
- import { action, command, execute, onDefault, schema } from '../../cli/index.js';
22
- import { constant as c } from '../../utils/utils.js';
21
+ import { action, execute, onDefault } from '../../cli/index.js';
23
22
  import { pluginsConfigService } from '../../services/PluginsConfigService.js';
24
23
  import { CONFIG_KEY, PLUGIN_CONFIG_SCHEMA } from './ChangelogConfig.js';
25
- import { isDryRun, STEP_OPTIONS, stepCommand } from '../../utils/cli.js';
24
+ import { isDryRun, parseOptions, STEP_OPTIONS, stepCommand } from '../../utils/cli.js';
25
+ import { validate } from '../../utils/zod.js';
26
+ import { commandArgs } from '../../utils/ts-ioc-container.js';
26
27
  export const CHANGELOG_OPTIONS = STEP_OPTIONS.extend({
27
28
  template: z.string().trim().optional(),
28
29
  changelogName: z.string().trim().optional(),
@@ -65,15 +66,14 @@ let ChangelogController = class ChangelogController {
65
66
  };
66
67
  __decorate([
67
68
  onDefault(execute()),
68
- command(c(changelogCommand())),
69
- schema(c(CHANGELOG_OPTIONS)),
70
69
  action('generate', execute()),
70
+ __param(0, inject(commandArgs, parseOptions(changelogCommand()), validate(CHANGELOG_OPTIONS))),
71
71
  __metadata("design:type", Function),
72
72
  __metadata("design:paramtypes", [Object]),
73
73
  __metadata("design:returntype", void 0)
74
74
  ], ChangelogController.prototype, "generateChangelog", null);
75
75
  ChangelogController = __decorate([
76
- register(bindTo('changelog')),
76
+ register('changelog'),
77
77
  __param(0, inject(pluginsConfigService(CONFIG_KEY, PLUGIN_CONFIG_SCHEMA))),
78
78
  __param(1, inject(globalConfig('cwd'))),
79
79
  __param(2, inject(IRenderServiceKey)),
@@ -1 +1 @@
1
- {"version":3,"file":"ChangelogController.js","sourceRoot":"","sources":["../../../src/features/changelog/ChangelogController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangelogController.js","sourceRoot":"","sources":["../../../src/features/changelog/ChangelogController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageController.d.ts","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAqB,MAAM,8CAA8C,CAAC;AAGjG,qBACa,iBAAiB;IAEsC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJiB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC7E,EAAE,EAAE,kBAAkB,EAC1B,cAAc,EAAE,cAAc,EAC5B,GAAG,EAAE,MAAM,EACC,MAAM,EAAE,OAAO;IAO3E,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IA2C9C;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CASxB"}
1
+ {"version":3,"file":"PackageController.d.ts","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAqB,MAAM,8CAA8C,CAAC;AAMjG,qBACa,iBAAiB;IAEsC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJiB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC7E,EAAE,EAAE,kBAAkB,EAC1B,cAAc,EAAE,cAAc,EAC5B,GAAG,EAAE,MAAM,EACC,MAAM,EAAE,OAAO;IAK3E,kBAAkB,CAA2E,OAAO,EAAE,WAAW,GAAG,IAAI;IA4DxH;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CASxB"}
@@ -10,18 +10,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { bindTo, inject, register } from 'ts-ioc-container';
13
+ import { inject, register } from 'ts-ioc-container';
14
14
  import { IFileSystemServiceKey } from '../../services/NodeFileSystemService.js';
15
15
  import { ILoggerKey } from '../../services/ConsoleLogger.js';
16
16
  import { z } from 'zod';
17
17
  import { pluginsConfigService } from '../../services/PluginsConfigService.js';
18
18
  import { CONFIG_KEY, PLUGIN_CONFIG_SCHEMA } from './PackageJsonConfig.js';
19
- import { action, command, execute, onDefault, schema } from '../../cli/index.js';
20
- import { constant as c } from '../../utils/utils.js';
19
+ import { action, execute, onDefault } from '../../cli/index.js';
21
20
  import { deserializeContext } from '../../domain/ReleaseControllerContext.js';
22
- import { isDryRun, STEP_OPTIONS, stepCommand } from '../../utils/cli.js';
21
+ import { isDryRun, parseOptions, STEP_OPTIONS, stepCommand } from '../../utils/cli.js';
23
22
  import { PackageManagerKey } from '../packageManager/services/PackageManager.js';
24
23
  import { globalConfig } from '../../domain/GlobalConfig.js';
24
+ import { isWorkspaceProtocol } from '../../domain/ReleaseTypes.js';
25
+ import { validate } from '../../utils/zod.js';
26
+ import { commandArgs } from '../../utils/ts-ioc-container.js';
25
27
  let PackageController = class PackageController {
26
28
  config;
27
29
  fs;
@@ -45,19 +47,34 @@ let PackageController = class PackageController {
45
47
  continue;
46
48
  }
47
49
  const packageJson = this.fs.readPackageJsonOrFail(pkg.dirname);
50
+ let manifestRewritten = false;
48
51
  for (const change of changes) {
49
52
  // The bump goes back into the blocks the outdated version was read
50
53
  // from, and nowhere else. Writing it to `dependencies` unconditionally
51
54
  // left the devDependency it came from stale and handed consumers a
52
55
  // duplicate copy of a package they already had as a peer.
56
+ let changeApplied = false;
53
57
  for (const section of change.sections) {
54
58
  const declaredDependencies = packageJson[section];
55
- if (declaredDependencies?.[change.packageName] === undefined) {
59
+ if (declaredDependencies === undefined) {
60
+ continue;
61
+ }
62
+ const declaredVersion = declaredDependencies[change.packageName];
63
+ if (declaredVersion === undefined || isWorkspaceProtocol(declaredVersion)) {
56
64
  continue;
57
65
  }
58
66
  declaredDependencies[change.packageName] = change.newVersion;
67
+ changeApplied = true;
68
+ }
69
+ if (changeApplied) {
70
+ manifestRewritten = true;
71
+ this.logger.info(`BUMP ${change.packageName}@${change.newVersion}`);
59
72
  }
60
- this.logger.info(`BUMP ${change.packageName}@${change.newVersion}`);
73
+ }
74
+ // Every declaration was on the workspace protocol, so the manifest on
75
+ // disk is already correct and neither it nor the lockfile needs writing.
76
+ if (!manifestRewritten) {
77
+ continue;
61
78
  }
62
79
  if (dryRun) {
63
80
  this.logger.info(`SKIP SAVE ${pkg.name} package.json (dry-run)`);
@@ -88,15 +105,14 @@ let PackageController = class PackageController {
88
105
  };
89
106
  __decorate([
90
107
  onDefault(execute()),
91
- command(c(stepCommand())),
92
- schema(c(STEP_OPTIONS)),
93
108
  action('update-dependencies', execute()),
109
+ __param(0, inject(commandArgs, parseOptions(stepCommand()), validate(STEP_OPTIONS))),
94
110
  __metadata("design:type", Function),
95
111
  __metadata("design:paramtypes", [Object]),
96
112
  __metadata("design:returntype", void 0)
97
113
  ], PackageController.prototype, "updateDependencies", null);
98
114
  PackageController = __decorate([
99
- register(bindTo('package-json')),
115
+ register('package-json'),
100
116
  __param(0, inject(pluginsConfigService(CONFIG_KEY, PLUGIN_CONFIG_SCHEMA))),
101
117
  __param(1, inject(IFileSystemServiceKey)),
102
118
  __param(2, inject(PackageManagerKey)),
@@ -1 +1 @@
1
- {"version":3,"file":"PackageController.js","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PackageController.js","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"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"}