@contractual/changesets 0.1.0-dev.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 +21 -0
- package/dist/changesets/consume.d.ts +23 -0
- package/dist/changesets/consume.d.ts.map +1 -0
- package/dist/changesets/consume.js +89 -0
- package/dist/changesets/consume.js.map +1 -0
- package/dist/changesets/create.d.ts +23 -0
- package/dist/changesets/create.d.ts.map +1 -0
- package/dist/changesets/create.js +72 -0
- package/dist/changesets/create.js.map +1 -0
- package/dist/changesets/index.d.ts +5 -0
- package/dist/changesets/index.d.ts.map +1 -0
- package/dist/changesets/index.js +5 -0
- package/dist/changesets/index.js.map +1 -0
- package/dist/changesets/naming.d.ts +20 -0
- package/dist/changesets/naming.d.ts.map +1 -0
- package/dist/changesets/naming.js +115 -0
- package/dist/changesets/naming.js.map +1 -0
- package/dist/changesets/read.d.ts +37 -0
- package/dist/changesets/read.d.ts.map +1 -0
- package/dist/changesets/read.js +111 -0
- package/dist/changesets/read.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/versioning/changelog.d.ts +16 -0
- package/dist/versioning/changelog.d.ts.map +1 -0
- package/dist/versioning/changelog.js +63 -0
- package/dist/versioning/changelog.js.map +1 -0
- package/dist/versioning/index.d.ts +3 -0
- package/dist/versioning/index.d.ts.map +1 -0
- package/dist/versioning/index.js +3 -0
- package/dist/versioning/index.js.map +1 -0
- package/dist/versioning/manager.d.ts +149 -0
- package/dist/versioning/manager.d.ts.map +1 -0
- package/dist/versioning/manager.js +307 -0
- package/dist/versioning/manager.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, copyFileSync, unlinkSync } from 'node:fs';
|
|
2
|
+
import { join, extname } from 'node:path';
|
|
3
|
+
import * as semver from 'semver';
|
|
4
|
+
/**
|
|
5
|
+
* Default version for new contracts
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_VERSION = '0.0.0';
|
|
8
|
+
/**
|
|
9
|
+
* Supported spec file extensions for snapshot lookup
|
|
10
|
+
*/
|
|
11
|
+
export const SPEC_EXTENSIONS = ['.yaml', '.yml', '.json'];
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when version operations fail
|
|
14
|
+
*/
|
|
15
|
+
export class VersionError extends Error {
|
|
16
|
+
version;
|
|
17
|
+
bumpType;
|
|
18
|
+
constructor(message, version, bumpType) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.version = version;
|
|
21
|
+
this.bumpType = bumpType;
|
|
22
|
+
this.name = 'VersionError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Increment a version by a bump type
|
|
27
|
+
* @param version - The current version string (must be valid semver)
|
|
28
|
+
* @param bumpType - The type of version bump (major, minor, patch)
|
|
29
|
+
* @returns The new version string
|
|
30
|
+
* @throws {VersionError} If the version is invalid or increment fails
|
|
31
|
+
*/
|
|
32
|
+
export function incrementVersion(version, bumpType) {
|
|
33
|
+
if (!semver.valid(version)) {
|
|
34
|
+
throw new VersionError(`Invalid semver version: ${version}`, version, bumpType);
|
|
35
|
+
}
|
|
36
|
+
const newVersion = semver.inc(version, bumpType);
|
|
37
|
+
if (!newVersion) {
|
|
38
|
+
throw new VersionError(`Failed to increment version ${version} with type ${bumpType}`, version, bumpType);
|
|
39
|
+
}
|
|
40
|
+
return newVersion;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Filename for the versions registry
|
|
44
|
+
*/
|
|
45
|
+
export const VERSIONS_FILE = 'versions.json';
|
|
46
|
+
/**
|
|
47
|
+
* Directory name for snapshots
|
|
48
|
+
*/
|
|
49
|
+
export const SNAPSHOTS_DIR = 'snapshots';
|
|
50
|
+
/**
|
|
51
|
+
* Directory name for changesets
|
|
52
|
+
*/
|
|
53
|
+
export const CHANGESETS_DIR = 'changesets';
|
|
54
|
+
/**
|
|
55
|
+
* Filename for pre-release state
|
|
56
|
+
*/
|
|
57
|
+
export const PRE_RELEASE_FILE = 'pre.json';
|
|
58
|
+
/**
|
|
59
|
+
* Manages contract versions and snapshots
|
|
60
|
+
*/
|
|
61
|
+
export class VersionManager {
|
|
62
|
+
versionsPath;
|
|
63
|
+
snapshotsDir;
|
|
64
|
+
versions;
|
|
65
|
+
constructor(contractualDir) {
|
|
66
|
+
this.versionsPath = join(contractualDir, VERSIONS_FILE);
|
|
67
|
+
this.snapshotsDir = join(contractualDir, SNAPSHOTS_DIR);
|
|
68
|
+
this.versions = this.load();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Load versions.json from disk
|
|
72
|
+
* @throws {VersionError} If the file exists but contains invalid JSON
|
|
73
|
+
*/
|
|
74
|
+
load() {
|
|
75
|
+
if (!existsSync(this.versionsPath)) {
|
|
76
|
+
return {};
|
|
77
|
+
}
|
|
78
|
+
const content = readFileSync(this.versionsPath, 'utf-8');
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(content);
|
|
81
|
+
if (!this.isValidVersionsFile(parsed)) {
|
|
82
|
+
throw new VersionError(`Invalid versions.json format at ${this.versionsPath}`);
|
|
83
|
+
}
|
|
84
|
+
return parsed;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
if (error instanceof VersionError) {
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
91
|
+
throw new VersionError(`Failed to parse versions.json: ${message}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Type guard to validate VersionsFile structure
|
|
96
|
+
*/
|
|
97
|
+
isValidVersionsFile(value) {
|
|
98
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
for (const entry of Object.values(value)) {
|
|
102
|
+
if (!this.isValidVersionEntry(entry)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Type guard to validate SimpleVersionEntry structure
|
|
110
|
+
*/
|
|
111
|
+
isValidVersionEntry(value) {
|
|
112
|
+
if (typeof value !== 'object' || value === null) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
const entry = value;
|
|
116
|
+
return typeof entry.version === 'string' && typeof entry.released === 'string';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get current version for a contract
|
|
120
|
+
* @param contractName - The contract name to look up
|
|
121
|
+
* @returns The version string, or null if not found
|
|
122
|
+
*/
|
|
123
|
+
getVersion(contractName) {
|
|
124
|
+
const entry = this.versions[contractName];
|
|
125
|
+
return entry?.version ?? null;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get snapshot path for a contract
|
|
129
|
+
* @param contractName - The contract name to look up
|
|
130
|
+
* @returns The snapshot file path, or null if not found
|
|
131
|
+
*/
|
|
132
|
+
getSnapshotPath(contractName) {
|
|
133
|
+
for (const ext of SPEC_EXTENSIONS) {
|
|
134
|
+
const snapshotPath = join(this.snapshotsDir, `${contractName}${ext}`);
|
|
135
|
+
if (existsSync(snapshotPath)) {
|
|
136
|
+
return snapshotPath;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Bump version, update versions.json, and copy spec to snapshots
|
|
143
|
+
* @param contractName - The contract name to bump
|
|
144
|
+
* @param bumpType - The type of version bump (major, minor, patch)
|
|
145
|
+
* @param specPath - Path to the current spec file to snapshot
|
|
146
|
+
* @returns The old and new version strings
|
|
147
|
+
* @throws {VersionError} If the bump operation fails
|
|
148
|
+
*/
|
|
149
|
+
bump(contractName, bumpType, specPath) {
|
|
150
|
+
const currentEntry = this.versions[contractName];
|
|
151
|
+
const oldVersion = currentEntry?.version ?? DEFAULT_VERSION;
|
|
152
|
+
// Use the shared incrementVersion function for consistent error handling
|
|
153
|
+
const newVersion = incrementVersion(oldVersion, bumpType);
|
|
154
|
+
// Update versions entry
|
|
155
|
+
this.versions[contractName] = {
|
|
156
|
+
version: newVersion,
|
|
157
|
+
released: new Date().toISOString(),
|
|
158
|
+
};
|
|
159
|
+
// Copy spec to snapshots directory
|
|
160
|
+
const ext = extname(specPath) || '.yaml';
|
|
161
|
+
const snapshotPath = join(this.snapshotsDir, `${contractName}${ext}`);
|
|
162
|
+
copyFileSync(specPath, snapshotPath);
|
|
163
|
+
// Save versions.json
|
|
164
|
+
this.save();
|
|
165
|
+
return { oldVersion, newVersion };
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Set version for a contract (used for initial version setup)
|
|
169
|
+
* @param contractName - The contract name
|
|
170
|
+
* @param version - The version to set
|
|
171
|
+
* @param specPath - Path to the spec file to snapshot
|
|
172
|
+
*/
|
|
173
|
+
setVersion(contractName, version, specPath) {
|
|
174
|
+
if (!semver.valid(version)) {
|
|
175
|
+
throw new VersionError(`Invalid semver version: ${version}`, version);
|
|
176
|
+
}
|
|
177
|
+
// Update versions entry
|
|
178
|
+
this.versions[contractName] = {
|
|
179
|
+
version,
|
|
180
|
+
released: new Date().toISOString(),
|
|
181
|
+
};
|
|
182
|
+
// Copy spec to snapshots directory
|
|
183
|
+
const ext = extname(specPath) || '.yaml';
|
|
184
|
+
const snapshotPath = join(this.snapshotsDir, `${contractName}${ext}`);
|
|
185
|
+
copyFileSync(specPath, snapshotPath);
|
|
186
|
+
// Save versions.json
|
|
187
|
+
this.save();
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Save versions.json to disk
|
|
191
|
+
*/
|
|
192
|
+
save() {
|
|
193
|
+
const content = JSON.stringify(this.versions, null, 2);
|
|
194
|
+
writeFileSync(this.versionsPath, content, 'utf-8');
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get all contract versions
|
|
198
|
+
* @returns Map of contract names to versions
|
|
199
|
+
*/
|
|
200
|
+
getAllVersions() {
|
|
201
|
+
const result = {};
|
|
202
|
+
for (const [name, entry] of Object.entries(this.versions)) {
|
|
203
|
+
result[name] = entry.version;
|
|
204
|
+
}
|
|
205
|
+
return result;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Manages pre-release state
|
|
210
|
+
*/
|
|
211
|
+
export class PreReleaseManager {
|
|
212
|
+
prePath;
|
|
213
|
+
constructor(contractualDir) {
|
|
214
|
+
this.prePath = join(contractualDir, PRE_RELEASE_FILE);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Check if pre-release mode is active
|
|
218
|
+
*/
|
|
219
|
+
isActive() {
|
|
220
|
+
return existsSync(this.prePath);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get current pre-release state
|
|
224
|
+
* @returns The pre-release state, or null if not in pre-release mode
|
|
225
|
+
*/
|
|
226
|
+
getState() {
|
|
227
|
+
if (!this.isActive()) {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
const content = readFileSync(this.prePath, 'utf-8');
|
|
232
|
+
return JSON.parse(content);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Enter pre-release mode
|
|
240
|
+
* @param tag - The pre-release tag (e.g., "alpha", "beta", "rc")
|
|
241
|
+
* @param versionManager - VersionManager to get current versions
|
|
242
|
+
*/
|
|
243
|
+
enter(tag, versionManager) {
|
|
244
|
+
if (this.isActive()) {
|
|
245
|
+
throw new VersionError(`Already in pre-release mode. Run 'pre exit' first.`);
|
|
246
|
+
}
|
|
247
|
+
// Validate tag
|
|
248
|
+
if (!/^[a-zA-Z][a-zA-Z0-9-]*$/.test(tag)) {
|
|
249
|
+
throw new VersionError(`Invalid pre-release tag: ${tag}. Must start with letter, contain only letters, numbers, and hyphens.`);
|
|
250
|
+
}
|
|
251
|
+
const state = {
|
|
252
|
+
tag,
|
|
253
|
+
enteredAt: new Date().toISOString(),
|
|
254
|
+
initialVersions: versionManager.getAllVersions(),
|
|
255
|
+
};
|
|
256
|
+
writeFileSync(this.prePath, JSON.stringify(state, null, 2), 'utf-8');
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Exit pre-release mode
|
|
260
|
+
*/
|
|
261
|
+
exit() {
|
|
262
|
+
if (!this.isActive()) {
|
|
263
|
+
throw new VersionError('Not in pre-release mode.');
|
|
264
|
+
}
|
|
265
|
+
unlinkSync(this.prePath);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Get the pre-release tag
|
|
269
|
+
* @returns The tag, or null if not in pre-release mode
|
|
270
|
+
*/
|
|
271
|
+
getTag() {
|
|
272
|
+
const state = this.getState();
|
|
273
|
+
return state?.tag ?? null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Increment a version with pre-release support
|
|
278
|
+
* @param version - The current version string
|
|
279
|
+
* @param bumpType - The type of version bump
|
|
280
|
+
* @param preReleaseTag - Optional pre-release tag (e.g., "beta")
|
|
281
|
+
* @returns The new version string
|
|
282
|
+
*/
|
|
283
|
+
export function incrementVersionWithPreRelease(version, bumpType, preReleaseTag) {
|
|
284
|
+
if (!semver.valid(version)) {
|
|
285
|
+
throw new VersionError(`Invalid semver version: ${version}`, version, bumpType);
|
|
286
|
+
}
|
|
287
|
+
const parsed = semver.parse(version);
|
|
288
|
+
if (!parsed) {
|
|
289
|
+
throw new VersionError(`Failed to parse version: ${version}`, version, bumpType);
|
|
290
|
+
}
|
|
291
|
+
// If no pre-release tag, use normal increment
|
|
292
|
+
if (!preReleaseTag) {
|
|
293
|
+
return incrementVersion(version, bumpType);
|
|
294
|
+
}
|
|
295
|
+
// If already a pre-release with the same tag, just bump the pre-release number
|
|
296
|
+
if (parsed.prerelease.length > 0 && parsed.prerelease[0] === preReleaseTag) {
|
|
297
|
+
const newVersion = semver.inc(version, 'prerelease', preReleaseTag);
|
|
298
|
+
if (!newVersion) {
|
|
299
|
+
throw new VersionError(`Failed to increment pre-release version`, version, bumpType);
|
|
300
|
+
}
|
|
301
|
+
return newVersion;
|
|
302
|
+
}
|
|
303
|
+
// Otherwise, apply the bump type and start a new pre-release
|
|
304
|
+
const baseVersion = incrementVersion(version, bumpType);
|
|
305
|
+
return `${baseVersion}-${preReleaseTag}.0`;
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../versioning/manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@contractual/changesets",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.1.0-dev.0",
|
|
5
|
+
"description": "Changeset creation, parsing, and versioning utilities for Contractual",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./changesets": {
|
|
17
|
+
"types": "./dist/changesets/index.d.ts",
|
|
18
|
+
"import": "./dist/changesets/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./versioning": {
|
|
21
|
+
"types": "./dist/versioning/index.d.ts",
|
|
22
|
+
"import": "./dist/versioning/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"sideEffects": false,
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "https://github.com/contractual-dev/contractual.git",
|
|
29
|
+
"directory": "packages/changesets"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=20.0.0"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"prebuild": "pnpm rimraf dist",
|
|
36
|
+
"build": "tsc -p tsconfig.build.json"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist"
|
|
40
|
+
],
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@contractual/types": "0.1.0-dev.0",
|
|
43
|
+
"semver": "^7.7.1",
|
|
44
|
+
"yaml": "^2.7.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/semver": "^7.5.8"
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public",
|
|
51
|
+
"provenance": true
|
|
52
|
+
},
|
|
53
|
+
"gitHead": "a18dcec2397cf45cbd4ba86461d378ccd71ba657"
|
|
54
|
+
}
|