@bernierllc/changeset-manager 0.1.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/LICENSE +7 -0
- package/README.md +320 -0
- package/dist/changeset-manager.d.ts +47 -0
- package/dist/changeset-manager.d.ts.map +1 -0
- package/dist/changeset-manager.js +387 -0
- package/dist/changeset-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +66 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/package.json +46 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Bernier LLC
|
|
3
|
+
|
|
4
|
+
This file is licensed to the client under a limited-use license.
|
|
5
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
6
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
7
|
+
*/
|
package/README.md
ADDED
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
# @bernierllc/changeset-manager
|
|
2
|
+
|
|
3
|
+
Pure changeset management utilities for versioning and changelog generation in monorepos.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Changeset Creation**: Create and manage changeset files with proper formatting
|
|
8
|
+
- **Version Bump Calculation**: Calculate appropriate version bumps based on changesets
|
|
9
|
+
- **Changelog Generation**: Generate comprehensive changelogs from changeset data
|
|
10
|
+
- **Workspace Integration**: Read package versions from npm workspaces
|
|
11
|
+
- **Breaking Changes Support**: Handle breaking changes with proper versioning
|
|
12
|
+
- **Real Filesystem Operations**: No mocks - uses real filesystem for testing
|
|
13
|
+
- **TypeScript Support**: Full TypeScript support with strict typing
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install @bernierllc/changeset-manager
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { ChangesetManager } from '@bernierllc/changeset-manager';
|
|
25
|
+
|
|
26
|
+
// Initialize with custom changesets directory
|
|
27
|
+
const changesetManager = new ChangesetManager('.changeset');
|
|
28
|
+
|
|
29
|
+
// Create a new changeset
|
|
30
|
+
const result = changesetManager.createChangeset({
|
|
31
|
+
packages: ['@myorg/package-1', '@myorg/package-2'],
|
|
32
|
+
bumpType: 'minor',
|
|
33
|
+
summary: 'Add new feature to both packages'
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
// Read existing changesets
|
|
37
|
+
const changesets = changesetManager.readChangesets();
|
|
38
|
+
|
|
39
|
+
// Generate changelog
|
|
40
|
+
const changelog = changesetManager.generateChangelog(
|
|
41
|
+
changesets.changesets,
|
|
42
|
+
changesetManager.getPackageVersions('./')
|
|
43
|
+
);
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## API Reference
|
|
47
|
+
|
|
48
|
+
### ChangesetManager
|
|
49
|
+
|
|
50
|
+
#### Constructor
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
new ChangesetManager(changesetsDir?: string, config?: Partial<ChangesetConfig>)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- `changesetsDir`: Directory to store changeset files (default: `.changeset`)
|
|
57
|
+
- `config`: Optional configuration object
|
|
58
|
+
|
|
59
|
+
#### Methods
|
|
60
|
+
|
|
61
|
+
##### createChangeset(options: ChangesetOptions): ChangesetResult
|
|
62
|
+
|
|
63
|
+
Create a new changeset entry.
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const result = changesetManager.createChangeset({
|
|
67
|
+
packages: ['@myorg/package-1'],
|
|
68
|
+
bumpType: 'patch',
|
|
69
|
+
summary: 'Fix critical bug',
|
|
70
|
+
breaking: false,
|
|
71
|
+
dependencies: ['@myorg/other-package'],
|
|
72
|
+
dryRun: false
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
##### readChangesets(): ChangesetResult
|
|
77
|
+
|
|
78
|
+
Read all existing changeset files.
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
const result = changesetManager.readChangesets();
|
|
82
|
+
console.log(result.changesets); // Array of ChangesetEntry objects
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
##### deleteChangeset(changesetId: string): boolean
|
|
86
|
+
|
|
87
|
+
Delete a specific changeset file.
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
const deleted = changesetManager.deleteChangeset('changeset-id');
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
##### getPackageVersions(workspaceRoot: string): PackageVersion[]
|
|
94
|
+
|
|
95
|
+
Read package versions from npm workspace.
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
const packages = changesetManager.getPackageVersions('./');
|
|
99
|
+
console.log(packages); // Array of package information
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
##### calculateVersionBumps(changesets: ChangesetEntry[], packages: PackageVersion[]): Map<string, VersionBumpType>
|
|
103
|
+
|
|
104
|
+
Calculate version bumps for packages based on changesets.
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
const versionBumps = changesetManager.calculateVersionBumps(changesets, packages);
|
|
108
|
+
console.log(versionBumps.get('@myorg/package-1')); // 'major' | 'minor' | 'patch' | 'none'
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
##### generateChangelog(changesets: ChangesetEntry[], packages: PackageVersion[]): string
|
|
112
|
+
|
|
113
|
+
Generate changelog content from changesets and package information.
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
const changelog = changesetManager.generateChangelog(changesets, packages);
|
|
117
|
+
console.log(changelog); // Markdown formatted changelog
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
##### getConfig(): ChangesetConfig
|
|
121
|
+
|
|
122
|
+
Get current configuration.
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
const config = changesetManager.getConfig();
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
##### updateConfig(newConfig: Partial<ChangesetConfig>): void
|
|
129
|
+
|
|
130
|
+
Update configuration.
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
changesetManager.updateConfig({
|
|
134
|
+
changelog: {
|
|
135
|
+
title: 'Custom Changelog'
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Types
|
|
141
|
+
|
|
142
|
+
### ChangesetOptions
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
interface ChangesetOptions {
|
|
146
|
+
packages?: string[]; // Package names to include
|
|
147
|
+
bumpType?: VersionBumpType; // Version bump type
|
|
148
|
+
summary?: string; // Changeset summary
|
|
149
|
+
breaking?: boolean; // Is this a breaking change?
|
|
150
|
+
dependencies?: string[]; // Dependent packages
|
|
151
|
+
dryRun?: boolean; // Don't write files
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### ChangesetEntry
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
interface ChangesetEntry {
|
|
159
|
+
id: string; // Unique identifier
|
|
160
|
+
summary: string; // Changeset summary
|
|
161
|
+
packages: string[]; // Affected packages
|
|
162
|
+
bumpType: VersionBumpType; // Version bump type
|
|
163
|
+
timestamp: Date; // Creation timestamp
|
|
164
|
+
author?: string; // Author information
|
|
165
|
+
breaking?: boolean; // Breaking change flag
|
|
166
|
+
dependencies?: string[]; // Dependent packages
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### VersionBumpType
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
type VersionBumpType = 'major' | 'minor' | 'patch' | 'none';
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Configuration
|
|
177
|
+
|
|
178
|
+
### ChangesetConfig
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
interface ChangesetConfig {
|
|
182
|
+
baseBranch: string; // Git base branch
|
|
183
|
+
access: 'public' | 'restricted'; // Package access level
|
|
184
|
+
ignore: string[]; // Patterns to ignore
|
|
185
|
+
changelog: {
|
|
186
|
+
repo: string; // Repository URL
|
|
187
|
+
title: string; // Changelog title
|
|
188
|
+
};
|
|
189
|
+
commit: {
|
|
190
|
+
message: string; // Commit message template
|
|
191
|
+
};
|
|
192
|
+
linked: string[][]; // Linked packages
|
|
193
|
+
updateInternalDependencies: 'patch' | 'minor'; // Internal dependency updates
|
|
194
|
+
___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH: {
|
|
195
|
+
onlyUpdatePeerDependentsWhenOutOfRange: boolean;
|
|
196
|
+
updateInternalDependents: 'always' | 'out-of-range';
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Examples
|
|
202
|
+
|
|
203
|
+
### Basic Usage
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
import { ChangesetManager } from '@bernierllc/changeset-manager';
|
|
207
|
+
|
|
208
|
+
const manager = new ChangesetManager();
|
|
209
|
+
|
|
210
|
+
// Create a simple changeset
|
|
211
|
+
const result = manager.createChangeset({
|
|
212
|
+
packages: ['@myorg/core'],
|
|
213
|
+
bumpType: 'patch',
|
|
214
|
+
summary: 'Fix authentication bug'
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
if (result.success) {
|
|
218
|
+
console.log('Changeset created successfully');
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Breaking Changes
|
|
223
|
+
|
|
224
|
+
```typescript
|
|
225
|
+
// Create a breaking changeset
|
|
226
|
+
const breakingResult = manager.createChangeset({
|
|
227
|
+
packages: ['@myorg/api'],
|
|
228
|
+
bumpType: 'major',
|
|
229
|
+
summary: 'Remove deprecated API methods',
|
|
230
|
+
breaking: true
|
|
231
|
+
});
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Multiple Packages
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
// Update multiple packages
|
|
238
|
+
const multiResult = manager.createChangeset({
|
|
239
|
+
packages: ['@myorg/core', '@myorg/utils', '@myorg/types'],
|
|
240
|
+
bumpType: 'minor',
|
|
241
|
+
summary: 'Add new utility functions to all packages'
|
|
242
|
+
});
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Changelog Generation
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
// Generate a complete changelog
|
|
249
|
+
const changesets = manager.readChangesets();
|
|
250
|
+
const packages = manager.getPackageVersions('./');
|
|
251
|
+
|
|
252
|
+
const changelog = manager.generateChangelog(changesets.changesets, packages);
|
|
253
|
+
console.log(changelog);
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Custom Configuration
|
|
257
|
+
|
|
258
|
+
```typescript
|
|
259
|
+
const customManager = new ChangesetManager('.changeset', {
|
|
260
|
+
changelog: {
|
|
261
|
+
title: 'Release Notes',
|
|
262
|
+
repo: 'https://github.com/myorg/myrepo'
|
|
263
|
+
},
|
|
264
|
+
commit: {
|
|
265
|
+
message: 'chore: release packages'
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Testing
|
|
271
|
+
|
|
272
|
+
The package includes comprehensive tests that use real filesystem operations:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
npm test
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Tests cover:
|
|
279
|
+
- Changeset creation and validation
|
|
280
|
+
- File parsing and formatting
|
|
281
|
+
- Version bump calculations
|
|
282
|
+
- Changelog generation
|
|
283
|
+
- Configuration management
|
|
284
|
+
- Error handling
|
|
285
|
+
|
|
286
|
+
## Error Handling
|
|
287
|
+
|
|
288
|
+
All methods return structured results with success flags and error arrays:
|
|
289
|
+
|
|
290
|
+
```typescript
|
|
291
|
+
const result = manager.createChangeset({
|
|
292
|
+
packages: [],
|
|
293
|
+
summary: 'Test'
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
if (!result.success) {
|
|
297
|
+
console.error('Errors:', result.errors);
|
|
298
|
+
console.warn('Warnings:', result.warnings);
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Best Practices
|
|
303
|
+
|
|
304
|
+
1. **Use Descriptive Summaries**: Write clear, concise summaries that explain the change
|
|
305
|
+
2. **Group Related Changes**: Include multiple packages in a single changeset when changes are related
|
|
306
|
+
3. **Mark Breaking Changes**: Always set `breaking: true` for API changes that require major version bumps
|
|
307
|
+
4. **Review Before Publishing**: Use `dryRun: true` to preview changes before applying them
|
|
308
|
+
5. **Keep Changesets Focused**: Each changeset should represent a single logical change
|
|
309
|
+
|
|
310
|
+
## Contributing
|
|
311
|
+
|
|
312
|
+
This package follows the project's development standards:
|
|
313
|
+
- No mocks in tests - use real filesystem operations
|
|
314
|
+
- Comprehensive TypeScript typing
|
|
315
|
+
- Clear documentation and examples
|
|
316
|
+
- Proper error handling and validation
|
|
317
|
+
|
|
318
|
+
## License
|
|
319
|
+
|
|
320
|
+
This package is licensed under the same terms as the parent project.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChangesetEntry, ChangesetConfig, PackageVersion, ChangesetResult, ChangesetOptions, VersionBumpType } from './types';
|
|
2
|
+
export declare class ChangesetManager {
|
|
3
|
+
private config;
|
|
4
|
+
private changesetsDir;
|
|
5
|
+
constructor(changesetsDir?: string, config?: Partial<ChangesetConfig>);
|
|
6
|
+
private initializeConfig;
|
|
7
|
+
/**
|
|
8
|
+
* Create a new changeset entry
|
|
9
|
+
*/
|
|
10
|
+
createChangeset(options: ChangesetOptions): ChangesetResult;
|
|
11
|
+
/**
|
|
12
|
+
* Read all changeset files
|
|
13
|
+
*/
|
|
14
|
+
readChangesets(): ChangesetResult;
|
|
15
|
+
/**
|
|
16
|
+
* Delete a changeset file
|
|
17
|
+
*/
|
|
18
|
+
deleteChangeset(changesetId: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get package versions from workspace
|
|
21
|
+
*/
|
|
22
|
+
getPackageVersions(workspaceRoot: string): PackageVersion[];
|
|
23
|
+
/**
|
|
24
|
+
* Calculate version bumps based on changesets
|
|
25
|
+
*/
|
|
26
|
+
calculateVersionBumps(changesets: ChangesetEntry[], packages: PackageVersion[]): Map<string, VersionBumpType>;
|
|
27
|
+
/**
|
|
28
|
+
* Generate changelog content
|
|
29
|
+
*/
|
|
30
|
+
generateChangelog(changesets: ChangesetEntry[], packages: PackageVersion[]): string;
|
|
31
|
+
/**
|
|
32
|
+
* Get configuration
|
|
33
|
+
*/
|
|
34
|
+
getConfig(): ChangesetConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Update configuration
|
|
37
|
+
*/
|
|
38
|
+
updateConfig(newConfig: Partial<ChangesetConfig>): void;
|
|
39
|
+
private ensureChangesetsDirectory;
|
|
40
|
+
private writeChangesetFile;
|
|
41
|
+
private formatChangesetContent;
|
|
42
|
+
private parseChangesetFile;
|
|
43
|
+
private readWorkspaceConfig;
|
|
44
|
+
private getHighestBumpType;
|
|
45
|
+
private groupChangesByPackage;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=changeset-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changeset-manager.d.ts","sourceRoot":"","sources":["../src/changeset-manager.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAGhB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,GAAE,MAAqB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAKnF,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe;IAyDlE;;OAEG;IACI,cAAc,IAAI,eAAe;IAgDxC;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAcpD;;OAEG;IACI,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,EAAE;IA4DlE;;OAEG;IACI,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAcpH;;OAEG;IACI,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM;IAiC1F;;OAEG;IACI,SAAS,IAAI,eAAe;IAInC;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAI9D,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,qBAAqB;CAc9B"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.ChangesetManager = void 0;
|
|
44
|
+
const fs = __importStar(require("fs"));
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const uuid_1 = require("uuid");
|
|
47
|
+
class ChangesetManager {
|
|
48
|
+
constructor(changesetsDir = '.changeset', config) {
|
|
49
|
+
this.changesetsDir = changesetsDir;
|
|
50
|
+
this.config = this.initializeConfig(config);
|
|
51
|
+
}
|
|
52
|
+
initializeConfig(config) {
|
|
53
|
+
const defaultConfig = {
|
|
54
|
+
baseBranch: 'main',
|
|
55
|
+
access: 'public',
|
|
56
|
+
ignore: [],
|
|
57
|
+
changelog: {
|
|
58
|
+
repo: '',
|
|
59
|
+
title: 'Changelog'
|
|
60
|
+
},
|
|
61
|
+
commit: {
|
|
62
|
+
message: 'chore: update changelog'
|
|
63
|
+
},
|
|
64
|
+
linked: [],
|
|
65
|
+
updateInternalDependencies: 'patch',
|
|
66
|
+
___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH: {
|
|
67
|
+
onlyUpdatePeerDependentsWhenOutOfRange: false,
|
|
68
|
+
updateInternalDependents: 'always'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
return { ...defaultConfig, ...config };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create a new changeset entry
|
|
75
|
+
*/
|
|
76
|
+
createChangeset(options) {
|
|
77
|
+
try {
|
|
78
|
+
const { packages = [], bumpType = 'patch', summary = '', breaking = false, dependencies = [], dryRun = false } = options;
|
|
79
|
+
if (!packages.length) {
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
changesets: [],
|
|
83
|
+
packages: [],
|
|
84
|
+
errors: ['No packages specified for changeset'],
|
|
85
|
+
warnings: []
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (!summary.trim()) {
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
changesets: [],
|
|
92
|
+
packages: [],
|
|
93
|
+
errors: ['Changeset summary is required'],
|
|
94
|
+
warnings: []
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const changesetEntry = {
|
|
98
|
+
id: (0, uuid_1.v4)(),
|
|
99
|
+
summary: summary.trim(),
|
|
100
|
+
packages,
|
|
101
|
+
bumpType,
|
|
102
|
+
timestamp: new Date(),
|
|
103
|
+
breaking,
|
|
104
|
+
dependencies
|
|
105
|
+
};
|
|
106
|
+
if (!dryRun) {
|
|
107
|
+
this.ensureChangesetsDirectory();
|
|
108
|
+
this.writeChangesetFile(changesetEntry);
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
changesets: [changesetEntry],
|
|
113
|
+
packages: [],
|
|
114
|
+
errors: [],
|
|
115
|
+
warnings: []
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
return {
|
|
120
|
+
success: false,
|
|
121
|
+
changesets: [],
|
|
122
|
+
packages: [],
|
|
123
|
+
errors: [`Failed to create changeset: ${error instanceof Error ? error.message : 'Unknown error'}`],
|
|
124
|
+
warnings: []
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Read all changeset files
|
|
130
|
+
*/
|
|
131
|
+
readChangesets() {
|
|
132
|
+
try {
|
|
133
|
+
if (!fs.existsSync(this.changesetsDir)) {
|
|
134
|
+
return {
|
|
135
|
+
success: true,
|
|
136
|
+
changesets: [],
|
|
137
|
+
packages: [],
|
|
138
|
+
errors: [],
|
|
139
|
+
warnings: ['Changesets directory does not exist']
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const changesetFiles = fs.readdirSync(this.changesetsDir)
|
|
143
|
+
.filter(file => file.endsWith('.md') && file !== 'README.md');
|
|
144
|
+
const changesets = [];
|
|
145
|
+
const errors = [];
|
|
146
|
+
const warnings = [];
|
|
147
|
+
for (const file of changesetFiles) {
|
|
148
|
+
try {
|
|
149
|
+
const filePath = path.join(this.changesetsDir, file);
|
|
150
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
151
|
+
const changeset = this.parseChangesetFile(content, file);
|
|
152
|
+
changesets.push(changeset);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
errors.push(`Failed to parse changeset file ${file}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
success: errors.length === 0,
|
|
160
|
+
changesets,
|
|
161
|
+
packages: [],
|
|
162
|
+
errors,
|
|
163
|
+
warnings
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
return {
|
|
168
|
+
success: false,
|
|
169
|
+
changesets: [],
|
|
170
|
+
packages: [],
|
|
171
|
+
errors: [`Failed to read changesets: ${error instanceof Error ? error.message : 'Unknown error'}`],
|
|
172
|
+
warnings: []
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Delete a changeset file
|
|
178
|
+
*/
|
|
179
|
+
deleteChangeset(changesetId) {
|
|
180
|
+
try {
|
|
181
|
+
const filePath = path.join(this.changesetsDir, `${changesetId}.md`);
|
|
182
|
+
if (fs.existsSync(filePath)) {
|
|
183
|
+
fs.unlinkSync(filePath);
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
console.error(`Failed to delete changeset ${changesetId}:`, error);
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get package versions from workspace
|
|
195
|
+
*/
|
|
196
|
+
getPackageVersions(workspaceRoot) {
|
|
197
|
+
try {
|
|
198
|
+
const packages = [];
|
|
199
|
+
const workspaceConfig = this.readWorkspaceConfig(workspaceRoot);
|
|
200
|
+
for (const packagePath of workspaceConfig.workspaces || []) {
|
|
201
|
+
// Handle glob patterns like 'packages/*'
|
|
202
|
+
if (packagePath.includes('*')) {
|
|
203
|
+
const basePath = packagePath.replace(/\*.*$/, '');
|
|
204
|
+
const fullBasePath = path.join(workspaceRoot, basePath);
|
|
205
|
+
if (fs.existsSync(fullBasePath)) {
|
|
206
|
+
const items = fs.readdirSync(fullBasePath);
|
|
207
|
+
for (const item of items) {
|
|
208
|
+
const itemPath = path.join(fullBasePath, item);
|
|
209
|
+
const stat = fs.statSync(itemPath);
|
|
210
|
+
if (stat.isDirectory()) {
|
|
211
|
+
const packageJsonPath = path.join(itemPath, 'package.json');
|
|
212
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
213
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
214
|
+
packages.push({
|
|
215
|
+
name: packageJson.name,
|
|
216
|
+
version: packageJson.version,
|
|
217
|
+
private: packageJson.private || false,
|
|
218
|
+
dependencies: packageJson.dependencies,
|
|
219
|
+
devDependencies: packageJson.devDependencies,
|
|
220
|
+
peerDependencies: packageJson.peerDependencies
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// Handle direct paths
|
|
229
|
+
const fullPath = path.join(workspaceRoot, packagePath);
|
|
230
|
+
if (fs.existsSync(fullPath)) {
|
|
231
|
+
const packageJsonPath = path.join(fullPath, 'package.json');
|
|
232
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
233
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
234
|
+
packages.push({
|
|
235
|
+
name: packageJson.name,
|
|
236
|
+
version: packageJson.version,
|
|
237
|
+
private: packageJson.private || false,
|
|
238
|
+
dependencies: packageJson.dependencies,
|
|
239
|
+
devDependencies: packageJson.devDependencies,
|
|
240
|
+
peerDependencies: packageJson.peerDependencies
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return packages;
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
console.error('Failed to get package versions:', error);
|
|
250
|
+
return [];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Calculate version bumps based on changesets
|
|
255
|
+
*/
|
|
256
|
+
calculateVersionBumps(changesets, packages) {
|
|
257
|
+
const versionBumps = new Map();
|
|
258
|
+
for (const changeset of changesets) {
|
|
259
|
+
for (const packageName of changeset.packages) {
|
|
260
|
+
const currentBump = versionBumps.get(packageName) || 'none';
|
|
261
|
+
const newBump = this.getHighestBumpType(currentBump, changeset.bumpType);
|
|
262
|
+
versionBumps.set(packageName, newBump);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return versionBumps;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Generate changelog content
|
|
269
|
+
*/
|
|
270
|
+
generateChangelog(changesets, packages) {
|
|
271
|
+
const groupedChanges = this.groupChangesByPackage(changesets);
|
|
272
|
+
let changelog = `# ${this.config.changelog.title}\n\n`;
|
|
273
|
+
for (const [packageName, changes] of groupedChanges) {
|
|
274
|
+
const packageInfo = packages.find(p => p.name === packageName);
|
|
275
|
+
if (!packageInfo)
|
|
276
|
+
continue;
|
|
277
|
+
changelog += `## ${packageName}@${packageInfo.version}\n\n`;
|
|
278
|
+
const breakingChanges = changes.filter(c => c.breaking);
|
|
279
|
+
const regularChanges = changes.filter(c => !c.breaking);
|
|
280
|
+
if (breakingChanges.length > 0) {
|
|
281
|
+
changelog += '### Breaking Changes\n\n';
|
|
282
|
+
for (const change of breakingChanges) {
|
|
283
|
+
changelog += `- ${change.summary}\n`;
|
|
284
|
+
}
|
|
285
|
+
changelog += '\n';
|
|
286
|
+
}
|
|
287
|
+
if (regularChanges.length > 0) {
|
|
288
|
+
changelog += '### Changes\n\n';
|
|
289
|
+
for (const change of regularChanges) {
|
|
290
|
+
changelog += `- ${change.summary}\n`;
|
|
291
|
+
}
|
|
292
|
+
changelog += '\n';
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return changelog;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Get configuration
|
|
299
|
+
*/
|
|
300
|
+
getConfig() {
|
|
301
|
+
return { ...this.config };
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Update configuration
|
|
305
|
+
*/
|
|
306
|
+
updateConfig(newConfig) {
|
|
307
|
+
this.config = { ...this.config, ...newConfig };
|
|
308
|
+
}
|
|
309
|
+
ensureChangesetsDirectory() {
|
|
310
|
+
if (!fs.existsSync(this.changesetsDir)) {
|
|
311
|
+
fs.mkdirSync(this.changesetsDir, { recursive: true });
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
writeChangesetFile(changeset) {
|
|
315
|
+
const filePath = path.join(this.changesetsDir, `${changeset.id}.md`);
|
|
316
|
+
const content = this.formatChangesetContent(changeset);
|
|
317
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
318
|
+
}
|
|
319
|
+
formatChangesetContent(changeset) {
|
|
320
|
+
let content = `---
|
|
321
|
+
${changeset.packages.map(pkg => `"${pkg}": ${changeset.bumpType}`).join('\n')}
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
${changeset.summary}
|
|
325
|
+
`;
|
|
326
|
+
if (changeset.breaking) {
|
|
327
|
+
content += '\nBREAKING CHANGE: This is a breaking change.\n';
|
|
328
|
+
}
|
|
329
|
+
return content;
|
|
330
|
+
}
|
|
331
|
+
parseChangesetFile(content, filename) {
|
|
332
|
+
const lines = content.split('\n');
|
|
333
|
+
const frontMatterStart = lines.findIndex(line => line.trim() === '---');
|
|
334
|
+
const frontMatterEnd = lines.findIndex((line, index) => index > frontMatterStart && line.trim() === '---');
|
|
335
|
+
if (frontMatterStart === -1 || frontMatterEnd === -1) {
|
|
336
|
+
throw new Error('Invalid changeset file format');
|
|
337
|
+
}
|
|
338
|
+
const frontMatter = lines.slice(frontMatterStart + 1, frontMatterEnd);
|
|
339
|
+
const summary = lines.slice(frontMatterEnd + 1).join('\n').trim();
|
|
340
|
+
const packages = [];
|
|
341
|
+
let bumpType = 'patch';
|
|
342
|
+
for (const line of frontMatter) {
|
|
343
|
+
const match = line.match(/"([^"]+)":\s*(major|minor|patch|none)/);
|
|
344
|
+
if (match && match[1]) {
|
|
345
|
+
packages.push(match[1]);
|
|
346
|
+
bumpType = match[2];
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const breaking = content.includes('BREAKING CHANGE');
|
|
350
|
+
return {
|
|
351
|
+
id: path.basename(filename, '.md'),
|
|
352
|
+
summary,
|
|
353
|
+
packages,
|
|
354
|
+
bumpType,
|
|
355
|
+
timestamp: new Date(),
|
|
356
|
+
breaking
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
readWorkspaceConfig(workspaceRoot) {
|
|
360
|
+
const packageJsonPath = path.join(workspaceRoot, 'package.json');
|
|
361
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
362
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
363
|
+
return { workspaces: packageJson.workspaces || [] };
|
|
364
|
+
}
|
|
365
|
+
return { workspaces: [] };
|
|
366
|
+
}
|
|
367
|
+
getHighestBumpType(current, newBump) {
|
|
368
|
+
const bumpOrder = ['none', 'patch', 'minor', 'major'];
|
|
369
|
+
const currentIndex = bumpOrder.indexOf(current);
|
|
370
|
+
const newIndex = bumpOrder.indexOf(newBump);
|
|
371
|
+
return bumpOrder[Math.max(currentIndex, newIndex)];
|
|
372
|
+
}
|
|
373
|
+
groupChangesByPackage(changesets) {
|
|
374
|
+
const grouped = new Map();
|
|
375
|
+
for (const changeset of changesets) {
|
|
376
|
+
for (const packageName of changeset.packages) {
|
|
377
|
+
if (!grouped.has(packageName)) {
|
|
378
|
+
grouped.set(packageName, []);
|
|
379
|
+
}
|
|
380
|
+
grouped.get(packageName).push(changeset);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return grouped;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
exports.ChangesetManager = ChangesetManager;
|
|
387
|
+
//# sourceMappingURL=changeset-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changeset-manager.js","sourceRoot":"","sources":["../src/changeset-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.ChangesetManager = void 0;
|
|
25
|
+
var changeset_manager_1 = require("./changeset-manager");
|
|
26
|
+
Object.defineProperty(exports, "ChangesetManager", { enumerable: true, get: function () { return changeset_manager_1.ChangesetManager; } });
|
|
27
|
+
__exportStar(require("./types"), exports);
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;;;;;;;;;;;;;;;AAEF,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,0CAAwB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type VersionBumpType = 'major' | 'minor' | 'patch' | 'none';
|
|
2
|
+
export interface ChangesetEntry {
|
|
3
|
+
id: string;
|
|
4
|
+
summary: string;
|
|
5
|
+
packages: string[];
|
|
6
|
+
bumpType: VersionBumpType;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
author?: string;
|
|
9
|
+
breaking?: boolean;
|
|
10
|
+
dependencies?: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface ChangesetConfig {
|
|
13
|
+
baseBranch: string;
|
|
14
|
+
access: 'public' | 'restricted';
|
|
15
|
+
ignore: string[];
|
|
16
|
+
changelog: {
|
|
17
|
+
repo: string;
|
|
18
|
+
title: string;
|
|
19
|
+
};
|
|
20
|
+
commit: {
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
linked: string[][];
|
|
24
|
+
updateInternalDependencies: 'patch' | 'minor';
|
|
25
|
+
___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH: {
|
|
26
|
+
onlyUpdatePeerDependentsWhenOutOfRange: boolean;
|
|
27
|
+
updateInternalDependents: 'always' | 'out-of-range';
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface PackageVersion {
|
|
31
|
+
name: string;
|
|
32
|
+
version: string;
|
|
33
|
+
private: boolean;
|
|
34
|
+
dependencies?: Record<string, string>;
|
|
35
|
+
devDependencies?: Record<string, string>;
|
|
36
|
+
peerDependencies?: Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
export interface ChangesetResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
changesets: ChangesetEntry[];
|
|
41
|
+
packages: PackageVersion[];
|
|
42
|
+
errors: string[];
|
|
43
|
+
warnings: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface ChangesetOptions {
|
|
46
|
+
packages?: string[];
|
|
47
|
+
bumpType?: VersionBumpType;
|
|
48
|
+
summary?: string;
|
|
49
|
+
breaking?: boolean;
|
|
50
|
+
dependencies?: string[];
|
|
51
|
+
dryRun?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface VersionResult {
|
|
54
|
+
success: boolean;
|
|
55
|
+
updatedPackages: PackageVersion[];
|
|
56
|
+
changesetFiles: string[];
|
|
57
|
+
errors: string[];
|
|
58
|
+
warnings: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface PublishResult {
|
|
61
|
+
success: boolean;
|
|
62
|
+
publishedPackages: string[];
|
|
63
|
+
errors: string[];
|
|
64
|
+
warnings: string[];
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,0BAA0B,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9C,iDAAiD,EAAE;QACjD,sCAAsC,EAAE,OAAO,CAAC;QAChD,wBAAwB,EAAE,QAAQ,GAAG,cAAc,CAAC;KACrD,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;EAME"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bernierllc/changeset-manager",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Pure changeset management utilities for versioning and changelog generation",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"test": "jest",
|
|
11
|
+
"lint": "eslint src/**/*.ts",
|
|
12
|
+
"type-check": "tsc --noEmit",
|
|
13
|
+
"clean": "rm -rf dist"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"changeset",
|
|
17
|
+
"versioning",
|
|
18
|
+
"changelog",
|
|
19
|
+
"release",
|
|
20
|
+
"semver",
|
|
21
|
+
"monorepo"
|
|
22
|
+
],
|
|
23
|
+
"author": "Bernier LLC",
|
|
24
|
+
"license": "Bernier LLC",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/bernierllc/tools.git",
|
|
28
|
+
"directory": "packages/core/changeset-manager"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"uuid": "^9.0.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/jest": "^29.5.0",
|
|
35
|
+
"@types/node": "^20.0.0",
|
|
36
|
+
"@types/uuid": "^9.0.0",
|
|
37
|
+
"jest": "^29.5.0",
|
|
38
|
+
"ts-jest": "^29.1.0",
|
|
39
|
+
"typescript": "^5.0.0"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist/**/*",
|
|
43
|
+
"README.md",
|
|
44
|
+
"LICENSE"
|
|
45
|
+
]
|
|
46
|
+
}
|