release-monorepo-semantically 1.9.4 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -2
- package/dist/cli/Application.d.ts +1 -1
- package/dist/cli/Application.js +1 -1
- package/dist/cli/decorators.d.ts +1 -7
- package/dist/cli/decorators.d.ts.map +1 -1
- package/dist/cli/decorators.js +1 -5
- package/dist/cli/decorators.js.map +1 -1
- package/dist/cli/execute.d.ts +4 -6
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +5 -26
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/domain/ConventionalCommit.d.ts +22 -3
- package/dist/domain/ConventionalCommit.d.ts.map +1 -1
- package/dist/domain/ConventionalCommit.js +39 -7
- package/dist/domain/ConventionalCommit.js.map +1 -1
- package/dist/domain/PackageJSON.d.ts +24 -0
- package/dist/domain/PackageJSON.d.ts.map +1 -1
- package/dist/domain/PackageJSON.js +29 -1
- package/dist/domain/PackageJSON.js.map +1 -1
- package/dist/exceptions/DomainException.d.ts +9 -0
- package/dist/exceptions/DomainException.d.ts.map +1 -1
- package/dist/exceptions/DomainException.js +15 -0
- package/dist/exceptions/DomainException.js.map +1 -1
- package/dist/exceptions/ExceptionHandler.js +2 -2
- package/dist/exceptions/ExceptionHandler.js.map +1 -1
- package/dist/features/changelog/ChangelogController.d.ts.map +1 -1
- package/dist/features/changelog/ChangelogController.js +7 -7
- package/dist/features/changelog/ChangelogController.js.map +1 -1
- package/dist/features/changelog/changelog.hbs +10 -0
- package/dist/features/packageJson/PackageController.d.ts.map +1 -1
- package/dist/features/packageJson/PackageController.js +7 -7
- package/dist/features/packageJson/PackageController.js.map +1 -1
- package/dist/features/packageManager/PackageManagerController.d.ts +14 -1
- package/dist/features/packageManager/PackageManagerController.d.ts.map +1 -1
- package/dist/features/packageManager/PackageManagerController.js +31 -13
- package/dist/features/packageManager/PackageManagerController.js.map +1 -1
- package/dist/features/packageManager/services/PNPMPackageManager.d.ts +0 -1
- package/dist/features/packageManager/services/PNPMPackageManager.d.ts.map +1 -1
- package/dist/features/packageManager/services/PNPMPackageManager.js +2 -8
- package/dist/features/packageManager/services/PNPMPackageManager.js.map +1 -1
- package/dist/features/packageManager/services/PackageManager.d.ts +0 -1
- package/dist/features/packageManager/services/PackageManager.d.ts.map +1 -1
- package/dist/features/packageManager/services/PackageManager.js.map +1 -1
- package/dist/features/releaseNotes/ReleaseNotesController.d.ts.map +1 -1
- package/dist/features/releaseNotes/ReleaseNotesController.js +7 -7
- package/dist/features/releaseNotes/ReleaseNotesController.js.map +1 -1
- package/dist/features/releaseNotes/services/GithubService.js +2 -2
- package/dist/features/releaseNotes/services/GithubService.js.map +1 -1
- package/dist/features/report/ReportConfig.d.ts +26 -0
- package/dist/features/report/ReportConfig.d.ts.map +1 -0
- package/dist/features/report/ReportConfig.js +19 -0
- package/dist/features/report/ReportConfig.js.map +1 -0
- package/dist/features/report/ReportController.d.ts +4 -5
- package/dist/features/report/ReportController.d.ts.map +1 -1
- package/dist/features/report/ReportController.js +29 -19
- package/dist/features/report/ReportController.js.map +1 -1
- package/dist/features/vcs/VCSController.d.ts.map +1 -1
- package/dist/features/vcs/VCSController.js +9 -11
- package/dist/features/vcs/VCSController.js.map +1 -1
- package/dist/features/vcs/services/GitService.js +2 -2
- package/dist/features/vcs/services/GitService.js.map +1 -1
- package/dist/services/ConsoleLogger.d.ts.map +1 -1
- package/dist/services/ConsoleLogger.js +2 -2
- package/dist/services/ConsoleLogger.js.map +1 -1
- package/dist/services/HandlebarsRenderService.d.ts +2 -0
- package/dist/services/HandlebarsRenderService.d.ts.map +1 -1
- package/dist/services/HandlebarsRenderService.js +21 -3
- package/dist/services/HandlebarsRenderService.js.map +1 -1
- package/dist/services/NodeFileSystemService.d.ts +17 -1
- package/dist/services/NodeFileSystemService.d.ts.map +1 -1
- package/dist/services/NodeFileSystemService.js +32 -8
- package/dist/services/NodeFileSystemService.js.map +1 -1
- package/dist/services/OutputService.d.ts.map +1 -1
- package/dist/services/OutputService.js +2 -2
- package/dist/services/OutputService.js.map +1 -1
- package/dist/services/PluginsConfigService.d.ts.map +1 -1
- package/dist/services/PluginsConfigService.js +2 -2
- package/dist/services/PluginsConfigService.js.map +1 -1
- package/dist/utils/cli.d.ts +7 -1
- package/dist/utils/cli.d.ts.map +1 -1
- package/dist/utils/cli.js +10 -0
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/ts-ioc-container.d.ts +8 -0
- package/dist/utils/ts-ioc-container.d.ts.map +1 -0
- package/dist/utils/ts-ioc-container.js +7 -0
- package/dist/utils/ts-ioc-container.js.map +1 -0
- package/dist/utils/utils.d.ts +0 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +0 -1
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/zod.d.ts +7 -0
- package/dist/utils/zod.d.ts.map +1 -0
- package/dist/utils/zod.js +6 -0
- package/dist/utils/zod.js.map +1 -0
- 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
|
|
|
@@ -75,6 +84,8 @@ Non-release types: `docs`, `test`, `ci`, `chore`, `refactor`, `style`.
|
|
|
75
84
|
|
|
76
85
|
Package scope is matched by package name.
|
|
77
86
|
|
|
87
|
+
This mapping is `report`'s default configuration, not a fixed rule — see [Configuring release rules](#configuring-release-rules) to change or extend it.
|
|
88
|
+
|
|
78
89
|
## Steps
|
|
79
90
|
|
|
80
91
|
Every step accepts `--context <json>` (except `report`, which produces it) and `--dry-run` (preview only; no files, git state, or publishes change). Steps run in a fresh process each time, so `--context` is how state passes between them.
|
|
@@ -83,7 +94,7 @@ Every step accepts `--context <json>` (except `report`, which produces it) and `
|
|
|
83
94
|
| ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
84
95
|
| `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
96
|
| `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)_ |
|
|
97
|
+
| `package-manager` | _(default)_ | Writes each released package's new version into its `package.json`. |
|
|
87
98
|
| `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
99
|
| `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
100
|
| `vcs` | _(default)_ | Runs `commit`, `tag`, and `push` in that order in one invocation. |
|
|
@@ -101,6 +112,14 @@ Steps read settings from a `release` section in the root `package.json`, a root
|
|
|
101
112
|
```json
|
|
102
113
|
{
|
|
103
114
|
"release": {
|
|
115
|
+
"report": {
|
|
116
|
+
"bumps": {
|
|
117
|
+
"patch": [
|
|
118
|
+
{ "type": "fix", "scope": "<package>" },
|
|
119
|
+
{ "type": "perf", "scope": "<package>" }
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
104
123
|
"vcs": { "template": "templates/release-commit-msg.hbs" },
|
|
105
124
|
"changelog": { "template": "templates/changelog.hbs", "changelogName": "CHANGELOG.md" },
|
|
106
125
|
"release-notes": { "repository": "acme/repo", "token": "..." },
|
|
@@ -119,6 +138,54 @@ Steps read settings from a `release` section in the root `package.json`, a root
|
|
|
119
138
|
|
|
120
139
|
`dryRun: true` in any section makes that step always preview, equivalent to always passing `--dry-run` to it.
|
|
121
140
|
|
|
141
|
+
## Configuring release rules
|
|
142
|
+
|
|
143
|
+
`report`'s `bumps` config decides which commits release a package and at what level, replacing the hard-coded `feat`/`fix`/`perf`/breaking mapping from [Commit conventions](#commit-conventions). Each level (`major`, `minor`, `patch`) is a list of matchers; a commit matching **any** matcher at a level triggers that bump, and a commit matching matchers at more than one level resolves to the highest.
|
|
144
|
+
|
|
145
|
+
A matcher:
|
|
146
|
+
|
|
147
|
+
| Field | Meaning | Omitted |
|
|
148
|
+
| ---------- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
149
|
+
| `type` | conventional-commit type (`feat`, `docs`, …) | matches any type |
|
|
150
|
+
| `scope` | literal scope, or the reserved token `"<package>"` meaning "equals the name of the package being considered" | matches any scope |
|
|
151
|
+
| `breaking` | `true` matches `!` or a `BREAKING CHANGE` body, `false` matches its absence | not considered |
|
|
152
|
+
| `packages` | which packages a match releases: `"*"` for every public package, or an explicit list. Ignored when `scope` is `"<package>"` | falls back to `scope === <the package being considered>`, i.e. today's behaviour |
|
|
153
|
+
|
|
154
|
+
The default, applied when `bumps` isn't configured, is exactly [Commit conventions](#commit-conventions):
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"major": [{ "breaking": true }],
|
|
159
|
+
"minor": [{ "type": "feat", "scope": "<package>" }],
|
|
160
|
+
"patch": [
|
|
161
|
+
{ "type": "fix", "scope": "<package>" },
|
|
162
|
+
{ "type": "perf", "scope": "<package>" }
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
A configured `bumps` replaces the defaults **per level**, not by merging into them — configuring `patch` doesn't touch the default `major`/`minor` matchers, but it does replace the default `patch` matchers entirely (so a repository can also decide `perf` no longer releases). A commit matching no matcher is not a release trigger.
|
|
168
|
+
|
|
169
|
+
Example: a repository that keeps cross-package specs in `specs/` and wants a `docs(specs)` commit to patch-bump every public package, in `.release.json`:
|
|
170
|
+
|
|
171
|
+
```json
|
|
172
|
+
{
|
|
173
|
+
"report": {
|
|
174
|
+
"bumps": {
|
|
175
|
+
"patch": [
|
|
176
|
+
{ "type": "fix", "scope": "<package>" },
|
|
177
|
+
{ "type": "perf", "scope": "<package>" },
|
|
178
|
+
{ "type": "docs", "scope": "specs", "packages": "*" }
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Note the `patch` list above repeats the default `fix`/`perf` matchers — since `bumps.patch` replaces rather than merges, the defaults have to be spelled out alongside the new rule to keep them.
|
|
186
|
+
|
|
187
|
+
The default changelog template only renders `feat`/`fix`/`perf`/breaking commits under their own headings; anything else (including a newly release-triggering type like `docs`) renders under a generic "Other Changes" section (via the `hasOthers`/`findOthers` template helpers). Override `changelog`'s template if you want different grouping for a custom type.
|
|
188
|
+
|
|
122
189
|
## Templates
|
|
123
190
|
|
|
124
191
|
Default templates ship with the package and are used automatically. Override per step with `--template <path>` (relative to the working directory) or the matching config section:
|
|
@@ -127,7 +194,7 @@ Default templates ship with the package and are used automatically. Override per
|
|
|
127
194
|
- `vcs` (used by the `commit` action) — release commit message
|
|
128
195
|
- `release-notes` — GitHub release notes body
|
|
129
196
|
|
|
130
|
-
Templates are [Handlebars](https://handlebarsjs.com/), with `now`, `hasBreakingChanges`, `hasFeatures`, `hasFixes`, `hasPerformance`, `findBreakingChanges`, `findFeatures`, `findFixes`, `findPerformance`, `lookup`, and `call` helpers registered.
|
|
197
|
+
Templates are [Handlebars](https://handlebarsjs.com/), with `now`, `hasBreakingChanges`, `hasFeatures`, `hasFixes`, `hasPerformance`, `hasOthers`, `findBreakingChanges`, `findFeatures`, `findFixes`, `findPerformance`, `findOthers`, `lookup`, and `call` helpers registered. `hasOthers`/`findOthers` cover any commit type that isn't `feat`, `fix`, or `perf` — the bucket a custom `report.bumps` matcher (e.g. `docs`) lands in.
|
|
131
198
|
|
|
132
199
|
## Development
|
|
133
200
|
|
|
@@ -145,3 +212,4 @@ pnpm run lint
|
|
|
145
212
|
- Tag format is fixed: `<package-name>@<version>`.
|
|
146
213
|
- Private packages (`"private": true`) are never released.
|
|
147
214
|
- `--dry-run` on any step performs no file, git, or registry mutation for that step.
|
|
215
|
+
- 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
|
|
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
|
*/
|
package/dist/cli/Application.js
CHANGED
|
@@ -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
|
|
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
|
*/
|
package/dist/cli/decorators.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { type HookType
|
|
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,
|
|
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"}
|
package/dist/cli/decorators.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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,
|
|
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"}
|
package/dist/cli/execute.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { type HookFn } from 'ts-ioc-container';
|
|
2
2
|
/**
|
|
3
|
-
* Hook that
|
|
4
|
-
* the
|
|
5
|
-
*
|
|
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;
|
|
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"}
|
package/dist/cli/execute.js
CHANGED
|
@@ -1,31 +1,10 @@
|
|
|
1
|
-
import { getCommand, getSchema } from './decorators.js';
|
|
2
1
|
/**
|
|
3
|
-
* Hook that
|
|
4
|
-
* the
|
|
5
|
-
*
|
|
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
|
-
|
|
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
|
package/dist/cli/execute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { action,
|
|
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';
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
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,
|
|
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';
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
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"}
|
|
@@ -6,6 +6,21 @@ export interface ConventionalCommitJSON {
|
|
|
6
6
|
isBreaking: boolean;
|
|
7
7
|
hash: string | null;
|
|
8
8
|
}
|
|
9
|
+
export declare const PACKAGE_TOKEN = "<package>";
|
|
10
|
+
export interface BumpMatcherRule {
|
|
11
|
+
type?: string;
|
|
12
|
+
scope?: string;
|
|
13
|
+
breaking?: boolean;
|
|
14
|
+
packages?: '*' | string[];
|
|
15
|
+
}
|
|
16
|
+
export interface BumpMatchers {
|
|
17
|
+
major: BumpMatcherRule[];
|
|
18
|
+
minor: BumpMatcherRule[];
|
|
19
|
+
patch: BumpMatcherRule[];
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_MAJOR_MATCHERS: BumpMatcherRule[];
|
|
22
|
+
export declare const DEFAULT_MINOR_MATCHERS: BumpMatcherRule[];
|
|
23
|
+
export declare const DEFAULT_PATCH_MATCHERS: BumpMatcherRule[];
|
|
9
24
|
export declare class ConventionalCommit {
|
|
10
25
|
readonly type: string;
|
|
11
26
|
readonly scope: string | null;
|
|
@@ -16,9 +31,13 @@ export declare class ConventionalCommit {
|
|
|
16
31
|
toJSON(): ConventionalCommitJSON;
|
|
17
32
|
static fromJSON(data: ConventionalCommitJSON): ConventionalCommit;
|
|
18
33
|
static parse(raw: string): ConventionalCommit;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
34
|
+
/** Highest bump level this commit triggers for the given package, or NONE if it matches nothing. */
|
|
35
|
+
bumpMatch(bumpConfig: BumpMatchers, packageName: string): SemVerBumpType;
|
|
36
|
+
/** Whether this commit matches any of the given matchers for the given package. */
|
|
37
|
+
private matchesAny;
|
|
38
|
+
private matchesCriteria;
|
|
39
|
+
private matchesAttribution;
|
|
22
40
|
}
|
|
23
41
|
export declare const filterCommitsByType: (commits: ConventionalCommit[], type: string) => ConventionalCommit[];
|
|
42
|
+
export declare const filterCommitsExcludingTypes: (commits: ConventionalCommit[], types: string[]) => ConventionalCommit[];
|
|
24
43
|
//# sourceMappingURL=ConventionalCommit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConventionalCommit.d.ts","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;gBAJnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,MAAM,GAAG,IAAW;IAGrC,MAAM,IAAI,sBAAsB;IAIhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAIjE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiB7C,
|
|
1
|
+
{"version":3,"file":"ConventionalCommit.d.ts","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAGD,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAAyB,CAAC;AAC9E,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAA6C,CAAC;AAClG,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAGnD,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;gBAJnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,MAAM,GAAG,IAAW;IAGrC,MAAM,IAAI,sBAAsB;IAIhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAIjE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiB7C,oGAAoG;IACpG,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc;IAOxE,mFAAmF;IACnF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;CAM3B;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,EAAE,EAAE,MAAM,MAAM,KAAG,kBAAkB,EAAsD,CAAC;AAE3J,eAAO,MAAM,2BAA2B,GAAI,SAAS,kBAAkB,EAAE,EAAE,OAAO,MAAM,EAAE,KAAG,kBAAkB,EACrD,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { SemVerBumpType } from './SemVerBumpType.js';
|
|
2
|
+
// Reserved scope token meaning "equals the name of the package being considered".
|
|
3
|
+
export const PACKAGE_TOKEN = '<package>';
|
|
4
|
+
export const DEFAULT_MAJOR_MATCHERS = [{ breaking: true }];
|
|
5
|
+
export const DEFAULT_MINOR_MATCHERS = [{ type: 'feat', scope: PACKAGE_TOKEN }];
|
|
6
|
+
export const DEFAULT_PATCH_MATCHERS = [
|
|
7
|
+
{ type: 'fix', scope: PACKAGE_TOKEN },
|
|
8
|
+
{ type: 'perf', scope: PACKAGE_TOKEN },
|
|
9
|
+
];
|
|
2
10
|
export class ConventionalCommit {
|
|
3
11
|
type;
|
|
4
12
|
scope;
|
|
@@ -31,21 +39,45 @@ export class ConventionalCommit {
|
|
|
31
39
|
const isBreaking = !!bang || commitMessage.includes('BREAKING CHANGE');
|
|
32
40
|
return new ConventionalCommit(type, scope || null, subject, isBreaking, commitHash);
|
|
33
41
|
}
|
|
34
|
-
|
|
35
|
-
|
|
42
|
+
/** Highest bump level this commit triggers for the given package, or NONE if it matches nothing. */
|
|
43
|
+
bumpMatch(bumpConfig, packageName) {
|
|
44
|
+
if (this.matchesAny(bumpConfig.major, packageName))
|
|
36
45
|
return SemVerBumpType.MAJOR;
|
|
37
|
-
if (this.
|
|
46
|
+
if (this.matchesAny(bumpConfig.minor, packageName))
|
|
38
47
|
return SemVerBumpType.MINOR;
|
|
39
|
-
if (this.
|
|
48
|
+
if (this.matchesAny(bumpConfig.patch, packageName))
|
|
40
49
|
return SemVerBumpType.PATCH;
|
|
41
50
|
return SemVerBumpType.NONE;
|
|
42
51
|
}
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
/** Whether this commit matches any of the given matchers for the given package. */
|
|
53
|
+
matchesAny(matchers, packageName) {
|
|
54
|
+
return matchers.some((matcher) => this.matchesCriteria(matcher, packageName) && this.matchesAttribution(matcher, packageName));
|
|
45
55
|
}
|
|
46
|
-
|
|
56
|
+
matchesCriteria(matcher, packageName) {
|
|
57
|
+
if (matcher.type !== undefined && this.type !== matcher.type)
|
|
58
|
+
return false;
|
|
59
|
+
if (matcher.breaking !== undefined && this.isBreaking !== matcher.breaking)
|
|
60
|
+
return false;
|
|
61
|
+
if (matcher.scope !== undefined) {
|
|
62
|
+
const expectedScope = matcher.scope === PACKAGE_TOKEN ? packageName : matcher.scope;
|
|
63
|
+
if (this.scope !== expectedScope)
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
// Scope decides which commits match; `packages` (or, absent it, the scope-equals-package
|
|
69
|
+
// fallback) decides which packages a match releases. The `<package>` token ties both to the
|
|
70
|
+
// same package, so it needs no separate attribution check.
|
|
71
|
+
matchesAttribution(matcher, packageName) {
|
|
72
|
+
if (matcher.scope === PACKAGE_TOKEN)
|
|
73
|
+
return true;
|
|
74
|
+
if (matcher.packages === '*')
|
|
75
|
+
return true;
|
|
76
|
+
if (Array.isArray(matcher.packages))
|
|
77
|
+
return matcher.packages.includes(packageName);
|
|
47
78
|
return this.scope === packageName;
|
|
48
79
|
}
|
|
49
80
|
}
|
|
50
81
|
export const filterCommitsByType = (commits, type) => commits.filter((commit) => commit.type === type);
|
|
82
|
+
export const filterCommitsExcludingTypes = (commits, types) => commits.filter((commit) => !types.includes(commit.type));
|
|
51
83
|
//# sourceMappingURL=ConventionalCommit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConventionalCommit.js","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IACA;IACA;IALX,YACW,IAAY,EACZ,KAAoB,EACpB,OAAe,EACf,UAAmB,EACnB,OAAsB,IAAI;QAJ1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAe;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAS;QACnB,SAAI,GAAJ,IAAI,CAAsB;IAClC,CAAC;IAEJ,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA4B;QAC1C,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEvE,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"ConventionalCommit.js","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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"}
|
|
@@ -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 {
|
|
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(
|
|
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,
|
|
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;
|
|
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"}
|