@aneuhold/core-ts-lib 2.3.10 → 2.3.11
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/CHANGELOG.md +8 -0
- package/lib/services/DependencyService.d.ts +27 -0
- package/lib/services/DependencyService.d.ts.map +1 -1
- package/lib/services/DependencyService.js +91 -0
- package/lib/services/DependencyService.js.map +1 -1
- package/lib/services/DependencyService.ts +119 -0
- package/lib/types/PackageJson.d.ts +1 -0
- package/lib/types/PackageJson.d.ts.map +1 -1
- package/lib/types/PackageJson.ts +1 -0
- package/package.json +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## 🔖 [2.3.11] (2025-11-23)
|
|
9
|
+
|
|
10
|
+
### ✅ Added
|
|
11
|
+
|
|
12
|
+
- Added `propagatePackageVersion` and `validatePackageDependents` utilities to `DependencyService` for automated version propagation and validation across workspace packages.
|
|
13
|
+
- Updated type definitions for `PackageJson` to include `scripts` property.
|
|
14
|
+
|
|
8
15
|
## 🔖 [2.3.10] (2025-11-09)
|
|
9
16
|
|
|
10
17
|
### 🏗️ Changed
|
|
@@ -127,6 +134,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
127
134
|
|
|
128
135
|
<!-- Link References -->
|
|
129
136
|
|
|
137
|
+
[2.3.11]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.3.10...core-ts-lib-v2.3.11
|
|
130
138
|
[2.3.10]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.3.9...core-ts-lib-v2.3.10
|
|
131
139
|
[2.3.9]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.3.8...core-ts-lib-v2.3.9
|
|
132
140
|
[2.3.8]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.3.7...core-ts-lib-v2.3.8
|
|
@@ -26,5 +26,32 @@ export default class DependencyService {
|
|
|
26
26
|
* (e.g., "../") or absolute. Defaults to current working directory.
|
|
27
27
|
*/
|
|
28
28
|
static getChildPackageJsons(searchDirectory?: string): Promise<PackageJsonMap>;
|
|
29
|
+
/**
|
|
30
|
+
* Propagates the version of a specific package to all other packages in the workspace
|
|
31
|
+
* that depend on it.
|
|
32
|
+
*
|
|
33
|
+
* @param packageName The name of the package whose version should be propagated
|
|
34
|
+
* @param version The version to propagate
|
|
35
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
36
|
+
*/
|
|
37
|
+
static propagatePackageVersion(packageName: string, version: string, workspaceRoot?: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Validates that all other packages in the workspace that depend on the specified package
|
|
40
|
+
* are using the correct version.
|
|
41
|
+
*
|
|
42
|
+
* @param packageName The name of the package to validate dependents for
|
|
43
|
+
* @param version The expected version
|
|
44
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
45
|
+
*/
|
|
46
|
+
static validatePackageDependents(packageName: string, version: string, workspaceRoot?: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Internal helper to process dependents of a package, either updating them or validating them.
|
|
49
|
+
*
|
|
50
|
+
* @param packageName The name of the package to process dependents for
|
|
51
|
+
* @param version The version to use for update or validation
|
|
52
|
+
* @param mode Whether to update the dependents or just validate them
|
|
53
|
+
* @param workspaceRoot Optional workspace root path
|
|
54
|
+
*/
|
|
55
|
+
private static processPackageDependents;
|
|
29
56
|
}
|
|
30
57
|
//# sourceMappingURL=DependencyService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyService.d.ts","sourceRoot":"","sources":["../../src/services/DependencyService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;OAIG;WACU,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDrD;;;;;OAKG;WACU,WAAW,CAAC,WAAW,GAAE,WAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCrF;;;;;;OAMG;WACU,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DependencyService.d.ts","sourceRoot":"","sources":["../../src/services/DependencyService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;OAIG;WACU,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDrD;;;;;OAKG;WACU,WAAW,CAAC,WAAW,GAAE,WAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCrF;;;;;;OAMG;WACU,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCpF;;;;;;;OAOG;WACU,uBAAuB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;OAOG;WACU,yBAAyB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;OAOG;mBACkB,wBAAwB;CA8E9C"}
|
|
@@ -136,5 +136,96 @@ export default class DependencyService {
|
|
|
136
136
|
}));
|
|
137
137
|
return childPackages;
|
|
138
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Propagates the version of a specific package to all other packages in the workspace
|
|
141
|
+
* that depend on it.
|
|
142
|
+
*
|
|
143
|
+
* @param packageName The name of the package whose version should be propagated
|
|
144
|
+
* @param version The version to propagate
|
|
145
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
146
|
+
*/
|
|
147
|
+
static async propagatePackageVersion(packageName, version, workspaceRoot) {
|
|
148
|
+
await this.processPackageDependents(packageName, version, 'update', workspaceRoot);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Validates that all other packages in the workspace that depend on the specified package
|
|
152
|
+
* are using the correct version.
|
|
153
|
+
*
|
|
154
|
+
* @param packageName The name of the package to validate dependents for
|
|
155
|
+
* @param version The expected version
|
|
156
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
157
|
+
*/
|
|
158
|
+
static async validatePackageDependents(packageName, version, workspaceRoot) {
|
|
159
|
+
await this.processPackageDependents(packageName, version, 'validate', workspaceRoot);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Internal helper to process dependents of a package, either updating them or validating them.
|
|
163
|
+
*
|
|
164
|
+
* @param packageName The name of the package to process dependents for
|
|
165
|
+
* @param version The version to use for update or validation
|
|
166
|
+
* @param mode Whether to update the dependents or just validate them
|
|
167
|
+
* @param workspaceRoot Optional workspace root path
|
|
168
|
+
*/
|
|
169
|
+
static async processPackageDependents(packageName, version, mode, workspaceRoot) {
|
|
170
|
+
const actionName = mode === 'update' ? 'Propagating' : 'Validating';
|
|
171
|
+
DR.logger.info(`${actionName} version ${version} for ${packageName}...`);
|
|
172
|
+
const pnpmWorkspacePath = await FileSystemService.findFileUpTree(workspaceRoot || process.cwd(), 'pnpm-workspace.yaml');
|
|
173
|
+
if (!pnpmWorkspacePath) {
|
|
174
|
+
throw new Error('Could not find pnpm-workspace.yaml');
|
|
175
|
+
}
|
|
176
|
+
const rootDir = path.dirname(pnpmWorkspacePath);
|
|
177
|
+
const childPackages = await this.getChildPackageJsons(rootDir);
|
|
178
|
+
let updatedCount = 0;
|
|
179
|
+
let errorCount = 0;
|
|
180
|
+
await Promise.all(Object.values(childPackages).map(async (childPackageInfo) => {
|
|
181
|
+
const { packageJsonContents, packageJsonPath } = childPackageInfo;
|
|
182
|
+
let modified = false;
|
|
183
|
+
const processDeps = (type, deps) => {
|
|
184
|
+
if (!deps)
|
|
185
|
+
return;
|
|
186
|
+
if (deps[packageName]) {
|
|
187
|
+
const currentDep = deps[packageName];
|
|
188
|
+
const newDep = `^${version}`;
|
|
189
|
+
if (currentDep !== newDep) {
|
|
190
|
+
if (mode === 'update') {
|
|
191
|
+
DR.logger.info(` Updating ${packageJsonContents.name}: ${packageName} ${currentDep} -> ${newDep}`);
|
|
192
|
+
deps[packageName] = newDep;
|
|
193
|
+
modified = true;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
DR.logger.error(`${packageJsonContents.name} has invalid ${type} for ${packageName}: found "${currentDep}", expected "${newDep}"`);
|
|
197
|
+
errorCount++;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
processDeps('dependencies', packageJsonContents.dependencies);
|
|
203
|
+
processDeps('devDependencies', packageJsonContents.devDependencies);
|
|
204
|
+
processDeps('peerDependencies', packageJsonContents.peerDependencies);
|
|
205
|
+
processDeps('optionalDependencies', packageJsonContents.optionalDependencies);
|
|
206
|
+
// TBH, I don't know why ESLint is saying `modified` is only true. That isn't the case.
|
|
207
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
208
|
+
if (modified && mode === 'update') {
|
|
209
|
+
await writeFile(packageJsonPath, JSON.stringify(packageJsonContents, null, 2));
|
|
210
|
+
updatedCount++;
|
|
211
|
+
}
|
|
212
|
+
}));
|
|
213
|
+
if (mode === 'update') {
|
|
214
|
+
if (updatedCount > 0) {
|
|
215
|
+
DR.logger.success(`Updated ${updatedCount} packages.`);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
DR.logger.info(`No packages needed updating.`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
if (errorCount > 0) {
|
|
223
|
+
throw new Error(`Found ${errorCount} dependency version mismatches for ${packageName}.`);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
DR.logger.success(`All dependents of ${packageName} are using the correct version.`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
139
230
|
}
|
|
140
231
|
//# sourceMappingURL=DependencyService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyService.js","sourceRoot":"","sources":["../../src/services/DependencyService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DependencyService.js","sourceRoot":"","sources":["../../src/services/DependencyService.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,4 +160,123 @@ export default class DependencyService {
|
|
|
160
160
|
);
|
|
161
161
|
return childPackages;
|
|
162
162
|
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Propagates the version of a specific package to all other packages in the workspace
|
|
166
|
+
* that depend on it.
|
|
167
|
+
*
|
|
168
|
+
* @param packageName The name of the package whose version should be propagated
|
|
169
|
+
* @param version The version to propagate
|
|
170
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
171
|
+
*/
|
|
172
|
+
static async propagatePackageVersion(
|
|
173
|
+
packageName: string,
|
|
174
|
+
version: string,
|
|
175
|
+
workspaceRoot?: string
|
|
176
|
+
): Promise<void> {
|
|
177
|
+
await this.processPackageDependents(packageName, version, 'update', workspaceRoot);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Validates that all other packages in the workspace that depend on the specified package
|
|
182
|
+
* are using the correct version.
|
|
183
|
+
*
|
|
184
|
+
* @param packageName The name of the package to validate dependents for
|
|
185
|
+
* @param version The expected version
|
|
186
|
+
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
187
|
+
*/
|
|
188
|
+
static async validatePackageDependents(
|
|
189
|
+
packageName: string,
|
|
190
|
+
version: string,
|
|
191
|
+
workspaceRoot?: string
|
|
192
|
+
): Promise<void> {
|
|
193
|
+
await this.processPackageDependents(packageName, version, 'validate', workspaceRoot);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Internal helper to process dependents of a package, either updating them or validating them.
|
|
198
|
+
*
|
|
199
|
+
* @param packageName The name of the package to process dependents for
|
|
200
|
+
* @param version The version to use for update or validation
|
|
201
|
+
* @param mode Whether to update the dependents or just validate them
|
|
202
|
+
* @param workspaceRoot Optional workspace root path
|
|
203
|
+
*/
|
|
204
|
+
private static async processPackageDependents(
|
|
205
|
+
packageName: string,
|
|
206
|
+
version: string,
|
|
207
|
+
mode: 'update' | 'validate',
|
|
208
|
+
workspaceRoot?: string
|
|
209
|
+
): Promise<void> {
|
|
210
|
+
const actionName = mode === 'update' ? 'Propagating' : 'Validating';
|
|
211
|
+
DR.logger.info(`${actionName} version ${version} for ${packageName}...`);
|
|
212
|
+
|
|
213
|
+
const pnpmWorkspacePath = await FileSystemService.findFileUpTree(
|
|
214
|
+
workspaceRoot || process.cwd(),
|
|
215
|
+
'pnpm-workspace.yaml'
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
if (!pnpmWorkspacePath) {
|
|
219
|
+
throw new Error('Could not find pnpm-workspace.yaml');
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
const rootDir = path.dirname(pnpmWorkspacePath);
|
|
223
|
+
const childPackages = await this.getChildPackageJsons(rootDir);
|
|
224
|
+
let updatedCount = 0;
|
|
225
|
+
let errorCount = 0;
|
|
226
|
+
|
|
227
|
+
await Promise.all(
|
|
228
|
+
Object.values(childPackages).map(async (childPackageInfo) => {
|
|
229
|
+
const { packageJsonContents, packageJsonPath } = childPackageInfo;
|
|
230
|
+
let modified = false;
|
|
231
|
+
|
|
232
|
+
const processDeps = (type: string, deps: Record<string, string> | undefined) => {
|
|
233
|
+
if (!deps) return;
|
|
234
|
+
if (deps[packageName]) {
|
|
235
|
+
const currentDep = deps[packageName];
|
|
236
|
+
const newDep = `^${version}`;
|
|
237
|
+
if (currentDep !== newDep) {
|
|
238
|
+
if (mode === 'update') {
|
|
239
|
+
DR.logger.info(
|
|
240
|
+
` Updating ${packageJsonContents.name}: ${packageName} ${currentDep} -> ${newDep}`
|
|
241
|
+
);
|
|
242
|
+
deps[packageName] = newDep;
|
|
243
|
+
modified = true;
|
|
244
|
+
} else {
|
|
245
|
+
DR.logger.error(
|
|
246
|
+
`${packageJsonContents.name} has invalid ${type} for ${packageName}: found "${currentDep}", expected "${newDep}"`
|
|
247
|
+
);
|
|
248
|
+
errorCount++;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
processDeps('dependencies', packageJsonContents.dependencies);
|
|
255
|
+
processDeps('devDependencies', packageJsonContents.devDependencies);
|
|
256
|
+
processDeps('peerDependencies', packageJsonContents.peerDependencies);
|
|
257
|
+
processDeps('optionalDependencies', packageJsonContents.optionalDependencies);
|
|
258
|
+
|
|
259
|
+
// TBH, I don't know why ESLint is saying `modified` is only true. That isn't the case.
|
|
260
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
261
|
+
if (modified && mode === 'update') {
|
|
262
|
+
await writeFile(packageJsonPath, JSON.stringify(packageJsonContents, null, 2));
|
|
263
|
+
updatedCount++;
|
|
264
|
+
}
|
|
265
|
+
})
|
|
266
|
+
);
|
|
267
|
+
|
|
268
|
+
if (mode === 'update') {
|
|
269
|
+
if (updatedCount > 0) {
|
|
270
|
+
DR.logger.success(`Updated ${updatedCount} packages.`);
|
|
271
|
+
} else {
|
|
272
|
+
DR.logger.info(`No packages needed updating.`);
|
|
273
|
+
}
|
|
274
|
+
} else {
|
|
275
|
+
if (errorCount > 0) {
|
|
276
|
+
throw new Error(`Found ${errorCount} dependency version mismatches for ${packageName}.`);
|
|
277
|
+
} else {
|
|
278
|
+
DR.logger.success(`All dependents of ${packageName} are using the correct version.`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
163
282
|
}
|
|
@@ -6,6 +6,7 @@ import type { JsonWithVersionProperty } from './JsonWithVersionProperty.js';
|
|
|
6
6
|
export interface PackageJson extends JsonWithVersionProperty {
|
|
7
7
|
name: string;
|
|
8
8
|
packageManager?: string;
|
|
9
|
+
scripts?: Record<string, string>;
|
|
9
10
|
dependencies?: Record<string, string>;
|
|
10
11
|
devDependencies?: Record<string, string>;
|
|
11
12
|
peerDependencies?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageJson.d.ts","sourceRoot":"","sources":["../../src/types/PackageJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,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;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C"}
|
|
1
|
+
{"version":3,"file":"PackageJson.d.ts","sourceRoot":"","sources":["../../src/types/PackageJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,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;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C"}
|
package/lib/types/PackageJson.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { JsonWithVersionProperty } from './JsonWithVersionProperty.js';
|
|
|
7
7
|
export interface PackageJson extends JsonWithVersionProperty {
|
|
8
8
|
name: string;
|
|
9
9
|
packageManager?: string;
|
|
10
|
+
scripts?: Record<string, string>;
|
|
10
11
|
dependencies?: Record<string, string>;
|
|
11
12
|
devDependencies?: Record<string, string>;
|
|
12
13
|
peerDependencies?: Record<string, string>;
|
package/package.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"name": "@aneuhold/core-ts-lib",
|
|
3
3
|
"author": "Anton G. Neuhold Jr.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "2.3.
|
|
5
|
+
"version": "2.3.11",
|
|
6
6
|
"description": "A core library for all of my TypeScript projects",
|
|
7
7
|
"packageManager": "pnpm@10.12.1",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "rimraf lib &&
|
|
11
|
-
"
|
|
10
|
+
"build": "rimraf lib && pnpm build:withoutClean",
|
|
11
|
+
"build:withoutClean": "tsc --project tsconfig.build.json && tsx ./scripts/copyTsFiles.ts && pnpm propagateVersion",
|
|
12
|
+
"propagateVersion": "tsx ../../scripts/propagateVersion.ts",
|
|
13
|
+
"watch": "nodemon --ignore lib/ -e ts --exec \"pnpm build:withoutClean\"",
|
|
12
14
|
"lint": "eslint",
|
|
13
15
|
"test": "vitest run",
|
|
14
16
|
"preparePkg": "tsx ./scripts/bumpVersionAndInitializeChangelog.ts",
|
|
15
17
|
"jsr:validate": "tsx ./scripts/validateJsrPublish.ts",
|
|
16
18
|
"npm:validate": "tsx ./scripts/validateNpmPublish.ts",
|
|
19
|
+
"versionPropagation:validate": "tsx ../../scripts/validatePackageVersions.ts",
|
|
17
20
|
"checkAll": "pnpm build && pnpm lint && pnpm test && pnpm jsr:validate",
|
|
18
21
|
"jsr:publish": "tsx ./scripts/publishJsr.ts",
|
|
19
22
|
"npm:publish": "npm publish --access public",
|
|
@@ -74,4 +77,4 @@
|
|
|
74
77
|
"typescript": "~5.9.3",
|
|
75
78
|
"vitest": "^4.0.8"
|
|
76
79
|
}
|
|
77
|
-
}
|
|
80
|
+
}
|