@aneuhold/core-ts-lib 2.2.5 → 2.2.6
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/lib/services/FileSystemService/FileSystemService.d.ts +12 -12
- package/lib/services/FileSystemService/FileSystemService.d.ts.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.js +61 -61
- package/lib/services/FileSystemService/FileSystemService.js.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.ts +73 -73
- package/lib/services/PackageService.d.ts +60 -4
- package/lib/services/PackageService.d.ts.map +1 -1
- package/lib/services/PackageService.js +178 -35
- package/lib/services/PackageService.js.map +1 -1
- package/lib/services/PackageService.ts +219 -34
- package/package.json +1 -1
|
@@ -43,14 +43,6 @@ export default class FileSystemService {
|
|
|
43
43
|
* in ['.ts']. Multi-part extensions like '.spec.ts' are also supported.
|
|
44
44
|
*/
|
|
45
45
|
static copyFolderContents(sourceFolderPath: string, targetFolderPath: string, ignoreExtensions?: string[]): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Checks if a file should be ignored based on the provided extensions.
|
|
48
|
-
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
49
|
-
*
|
|
50
|
-
* @param filePath the path to the file to check
|
|
51
|
-
* @param ignoreExtensions array of extensions to ignore
|
|
52
|
-
*/
|
|
53
|
-
private static shouldIgnoreFile;
|
|
54
46
|
static checkOrCreateFolder(folderPath: string): Promise<void>;
|
|
55
47
|
static deleteFolder(folderPath: string): Promise<void>;
|
|
56
48
|
/**
|
|
@@ -101,6 +93,13 @@ export default class FileSystemService {
|
|
|
101
93
|
* @param stopAt - Optional directory path to stop searching at (defaults to root)
|
|
102
94
|
*/
|
|
103
95
|
static findAllFilesUpTree(startDir: string, fileName: string, stopAt?: string): Promise<string[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Replaces all occurrences of a string in files within a directory.
|
|
98
|
+
* Supports glob patterns for including/excluding files and handles URL encoding.
|
|
99
|
+
*
|
|
100
|
+
* @param options Configuration object for the replacement operation
|
|
101
|
+
*/
|
|
102
|
+
static replaceInFiles(options: ReplaceInFilesOptions): Promise<void>;
|
|
104
103
|
/**
|
|
105
104
|
* Internal helper method that traverses up the directory tree looking for files.
|
|
106
105
|
*
|
|
@@ -111,11 +110,12 @@ export default class FileSystemService {
|
|
|
111
110
|
*/
|
|
112
111
|
private static traverseDirectoryTree;
|
|
113
112
|
/**
|
|
114
|
-
*
|
|
115
|
-
* Supports
|
|
113
|
+
* Checks if a file should be ignored based on the provided extensions.
|
|
114
|
+
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
116
115
|
*
|
|
117
|
-
* @param
|
|
116
|
+
* @param filePath the path to the file to check
|
|
117
|
+
* @param ignoreExtensions array of extensions to ignore
|
|
118
118
|
*/
|
|
119
|
-
static
|
|
119
|
+
private static shouldIgnoreFile;
|
|
120
120
|
}
|
|
121
121
|
//# sourceMappingURL=FileSystemService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemService.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;;OASG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"FileSystemService.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;;OASG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;WA4BH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAStD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;;;;OAQG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBhE;;;;;;;;OAQG;WACU,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWxE;;;;;OAKG;WACU,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlD;;;;;;;;;OASG;WACU,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUzB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB;;;;;OAKG;WACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E1E;;;;;;;OAOG;mBACkB,qBAAqB;IA2C1C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAchC"}
|
|
@@ -72,25 +72,6 @@ export default class FileSystemService {
|
|
|
72
72
|
await cp(sourceFile, targetFile, { recursive: true });
|
|
73
73
|
}));
|
|
74
74
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Checks if a file should be ignored based on the provided extensions.
|
|
77
|
-
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
78
|
-
*
|
|
79
|
-
* @param filePath the path to the file to check
|
|
80
|
-
* @param ignoreExtensions array of extensions to ignore
|
|
81
|
-
*/
|
|
82
|
-
static shouldIgnoreFile(filePath, ignoreExtensions) {
|
|
83
|
-
const fileName = path.basename(filePath);
|
|
84
|
-
return ignoreExtensions.some((extension) => {
|
|
85
|
-
// Handle multi-part extensions like '.spec.ts'
|
|
86
|
-
if (extension.includes('.', 1)) {
|
|
87
|
-
return fileName.endsWith(extension);
|
|
88
|
-
}
|
|
89
|
-
// Handle simple extensions like '.ts'
|
|
90
|
-
const fileExtension = StringService.getFileNameExtension(filePath);
|
|
91
|
-
return fileExtension === extension;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
75
|
static async checkOrCreateFolder(folderPath) {
|
|
95
76
|
try {
|
|
96
77
|
await access(folderPath);
|
|
@@ -197,48 +178,6 @@ export default class FileSystemService {
|
|
|
197
178
|
return this.traverseDirectoryTree(startDir, fileName, stopAt, false // findFirst = false
|
|
198
179
|
);
|
|
199
180
|
}
|
|
200
|
-
/**
|
|
201
|
-
* Internal helper method that traverses up the directory tree looking for files.
|
|
202
|
-
*
|
|
203
|
-
* @param startDir - The directory to start searching from
|
|
204
|
-
* @param fileName - The name of the file to search for
|
|
205
|
-
* @param stopAt - Optional directory path to stop searching at (defaults to root)
|
|
206
|
-
* @param findFirst - If true, stops after finding the first file
|
|
207
|
-
*/
|
|
208
|
-
static async traverseDirectoryTree(startDir, fileName, stopAt, findFirst = false) {
|
|
209
|
-
const results = [];
|
|
210
|
-
let currentDir = path.resolve(startDir);
|
|
211
|
-
const rootDir = stopAt ? path.resolve(stopAt) : path.parse(currentDir).root;
|
|
212
|
-
while (currentDir !== rootDir) {
|
|
213
|
-
const filePath = path.join(currentDir, fileName);
|
|
214
|
-
try {
|
|
215
|
-
await access(filePath);
|
|
216
|
-
results.push(filePath);
|
|
217
|
-
if (findFirst) {
|
|
218
|
-
return results;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
catch {
|
|
222
|
-
// File doesn't exist, continue searching
|
|
223
|
-
}
|
|
224
|
-
const parentDir = path.dirname(currentDir);
|
|
225
|
-
if (parentDir === currentDir) {
|
|
226
|
-
// Reached the root directory
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
currentDir = parentDir;
|
|
230
|
-
}
|
|
231
|
-
// Check the root/stop directory as well
|
|
232
|
-
const filePath = path.join(currentDir, fileName);
|
|
233
|
-
try {
|
|
234
|
-
await access(filePath);
|
|
235
|
-
results.push(filePath);
|
|
236
|
-
}
|
|
237
|
-
catch {
|
|
238
|
-
// File not found
|
|
239
|
-
}
|
|
240
|
-
return results;
|
|
241
|
-
}
|
|
242
181
|
/**
|
|
243
182
|
* Replaces all occurrences of a string in files within a directory.
|
|
244
183
|
* Supports glob patterns for including/excluding files and handles URL encoding.
|
|
@@ -292,5 +231,66 @@ export default class FileSystemService {
|
|
|
292
231
|
}
|
|
293
232
|
DR.logger.info(`${dryRun ? 'Would process' : 'Processed'} ${processedCount} files, ${dryRun ? 'would modify' : 'modified'} ${modifiedCount} files`);
|
|
294
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Internal helper method that traverses up the directory tree looking for files.
|
|
236
|
+
*
|
|
237
|
+
* @param startDir - The directory to start searching from
|
|
238
|
+
* @param fileName - The name of the file to search for
|
|
239
|
+
* @param stopAt - Optional directory path to stop searching at (defaults to root)
|
|
240
|
+
* @param findFirst - If true, stops after finding the first file
|
|
241
|
+
*/
|
|
242
|
+
static async traverseDirectoryTree(startDir, fileName, stopAt, findFirst = false) {
|
|
243
|
+
const results = [];
|
|
244
|
+
let currentDir = path.resolve(startDir);
|
|
245
|
+
const rootDir = stopAt ? path.resolve(stopAt) : path.parse(currentDir).root;
|
|
246
|
+
while (currentDir !== rootDir) {
|
|
247
|
+
const filePath = path.join(currentDir, fileName);
|
|
248
|
+
try {
|
|
249
|
+
await access(filePath);
|
|
250
|
+
results.push(filePath);
|
|
251
|
+
if (findFirst) {
|
|
252
|
+
return results;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// File doesn't exist, continue searching
|
|
257
|
+
}
|
|
258
|
+
const parentDir = path.dirname(currentDir);
|
|
259
|
+
if (parentDir === currentDir) {
|
|
260
|
+
// Reached the root directory
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
currentDir = parentDir;
|
|
264
|
+
}
|
|
265
|
+
// Check the root/stop directory as well
|
|
266
|
+
const filePath = path.join(currentDir, fileName);
|
|
267
|
+
try {
|
|
268
|
+
await access(filePath);
|
|
269
|
+
results.push(filePath);
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
// File not found
|
|
273
|
+
}
|
|
274
|
+
return results;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Checks if a file should be ignored based on the provided extensions.
|
|
278
|
+
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
279
|
+
*
|
|
280
|
+
* @param filePath the path to the file to check
|
|
281
|
+
* @param ignoreExtensions array of extensions to ignore
|
|
282
|
+
*/
|
|
283
|
+
static shouldIgnoreFile(filePath, ignoreExtensions) {
|
|
284
|
+
const fileName = path.basename(filePath);
|
|
285
|
+
return ignoreExtensions.some((extension) => {
|
|
286
|
+
// Handle multi-part extensions like '.spec.ts'
|
|
287
|
+
if (extension.includes('.', 1)) {
|
|
288
|
+
return fileName.endsWith(extension);
|
|
289
|
+
}
|
|
290
|
+
// Handle simple extensions like '.ts'
|
|
291
|
+
const fileExtension = StringService.getFileNameExtension(filePath);
|
|
292
|
+
return fileExtension === extension;
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
295
|
}
|
|
296
296
|
//# sourceMappingURL=FileSystemService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,28 +111,6 @@ export default class FileSystemService {
|
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
/**
|
|
115
|
-
* Checks if a file should be ignored based on the provided extensions.
|
|
116
|
-
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
117
|
-
*
|
|
118
|
-
* @param filePath the path to the file to check
|
|
119
|
-
* @param ignoreExtensions array of extensions to ignore
|
|
120
|
-
*/
|
|
121
|
-
private static shouldIgnoreFile(filePath: string, ignoreExtensions: string[]): boolean {
|
|
122
|
-
const fileName = path.basename(filePath);
|
|
123
|
-
|
|
124
|
-
return ignoreExtensions.some((extension) => {
|
|
125
|
-
// Handle multi-part extensions like '.spec.ts'
|
|
126
|
-
if (extension.includes('.', 1)) {
|
|
127
|
-
return fileName.endsWith(extension);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Handle simple extensions like '.ts'
|
|
131
|
-
const fileExtension = StringService.getFileNameExtension(filePath);
|
|
132
|
-
return fileExtension === extension;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
|
|
136
114
|
static async checkOrCreateFolder(folderPath: string): Promise<void> {
|
|
137
115
|
try {
|
|
138
116
|
await access(folderPath);
|
|
@@ -263,57 +241,6 @@ export default class FileSystemService {
|
|
|
263
241
|
);
|
|
264
242
|
}
|
|
265
243
|
|
|
266
|
-
/**
|
|
267
|
-
* Internal helper method that traverses up the directory tree looking for files.
|
|
268
|
-
*
|
|
269
|
-
* @param startDir - The directory to start searching from
|
|
270
|
-
* @param fileName - The name of the file to search for
|
|
271
|
-
* @param stopAt - Optional directory path to stop searching at (defaults to root)
|
|
272
|
-
* @param findFirst - If true, stops after finding the first file
|
|
273
|
-
*/
|
|
274
|
-
private static async traverseDirectoryTree(
|
|
275
|
-
startDir: string,
|
|
276
|
-
fileName: string,
|
|
277
|
-
stopAt?: string,
|
|
278
|
-
findFirst = false
|
|
279
|
-
): Promise<string[]> {
|
|
280
|
-
const results: string[] = [];
|
|
281
|
-
let currentDir = path.resolve(startDir);
|
|
282
|
-
const rootDir = stopAt ? path.resolve(stopAt) : path.parse(currentDir).root;
|
|
283
|
-
|
|
284
|
-
while (currentDir !== rootDir) {
|
|
285
|
-
const filePath = path.join(currentDir, fileName);
|
|
286
|
-
|
|
287
|
-
try {
|
|
288
|
-
await access(filePath);
|
|
289
|
-
results.push(filePath);
|
|
290
|
-
if (findFirst) {
|
|
291
|
-
return results;
|
|
292
|
-
}
|
|
293
|
-
} catch {
|
|
294
|
-
// File doesn't exist, continue searching
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
const parentDir = path.dirname(currentDir);
|
|
298
|
-
if (parentDir === currentDir) {
|
|
299
|
-
// Reached the root directory
|
|
300
|
-
break;
|
|
301
|
-
}
|
|
302
|
-
currentDir = parentDir;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
// Check the root/stop directory as well
|
|
306
|
-
const filePath = path.join(currentDir, fileName);
|
|
307
|
-
try {
|
|
308
|
-
await access(filePath);
|
|
309
|
-
results.push(filePath);
|
|
310
|
-
} catch {
|
|
311
|
-
// File not found
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
return results;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
244
|
/**
|
|
318
245
|
* Replaces all occurrences of a string in files within a directory.
|
|
319
246
|
* Supports glob patterns for including/excluding files and handles URL encoding.
|
|
@@ -394,4 +321,77 @@ export default class FileSystemService {
|
|
|
394
321
|
`${dryRun ? 'Would process' : 'Processed'} ${processedCount} files, ${dryRun ? 'would modify' : 'modified'} ${modifiedCount} files`
|
|
395
322
|
);
|
|
396
323
|
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Internal helper method that traverses up the directory tree looking for files.
|
|
327
|
+
*
|
|
328
|
+
* @param startDir - The directory to start searching from
|
|
329
|
+
* @param fileName - The name of the file to search for
|
|
330
|
+
* @param stopAt - Optional directory path to stop searching at (defaults to root)
|
|
331
|
+
* @param findFirst - If true, stops after finding the first file
|
|
332
|
+
*/
|
|
333
|
+
private static async traverseDirectoryTree(
|
|
334
|
+
startDir: string,
|
|
335
|
+
fileName: string,
|
|
336
|
+
stopAt?: string,
|
|
337
|
+
findFirst = false
|
|
338
|
+
): Promise<string[]> {
|
|
339
|
+
const results: string[] = [];
|
|
340
|
+
let currentDir = path.resolve(startDir);
|
|
341
|
+
const rootDir = stopAt ? path.resolve(stopAt) : path.parse(currentDir).root;
|
|
342
|
+
|
|
343
|
+
while (currentDir !== rootDir) {
|
|
344
|
+
const filePath = path.join(currentDir, fileName);
|
|
345
|
+
|
|
346
|
+
try {
|
|
347
|
+
await access(filePath);
|
|
348
|
+
results.push(filePath);
|
|
349
|
+
if (findFirst) {
|
|
350
|
+
return results;
|
|
351
|
+
}
|
|
352
|
+
} catch {
|
|
353
|
+
// File doesn't exist, continue searching
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
const parentDir = path.dirname(currentDir);
|
|
357
|
+
if (parentDir === currentDir) {
|
|
358
|
+
// Reached the root directory
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
currentDir = parentDir;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
// Check the root/stop directory as well
|
|
365
|
+
const filePath = path.join(currentDir, fileName);
|
|
366
|
+
try {
|
|
367
|
+
await access(filePath);
|
|
368
|
+
results.push(filePath);
|
|
369
|
+
} catch {
|
|
370
|
+
// File not found
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
return results;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Checks if a file should be ignored based on the provided extensions.
|
|
378
|
+
* Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
|
|
379
|
+
*
|
|
380
|
+
* @param filePath the path to the file to check
|
|
381
|
+
* @param ignoreExtensions array of extensions to ignore
|
|
382
|
+
*/
|
|
383
|
+
private static shouldIgnoreFile(filePath: string, ignoreExtensions: string[]): boolean {
|
|
384
|
+
const fileName = path.basename(filePath);
|
|
385
|
+
|
|
386
|
+
return ignoreExtensions.some((extension) => {
|
|
387
|
+
// Handle multi-part extensions like '.spec.ts'
|
|
388
|
+
if (extension.includes('.', 1)) {
|
|
389
|
+
return fileName.endsWith(extension);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// Handle simple extensions like '.ts'
|
|
393
|
+
const fileExtension = StringService.getFileNameExtension(filePath);
|
|
394
|
+
return fileExtension === extension;
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
397
|
}
|
|
@@ -8,15 +8,53 @@ export default class PackageService {
|
|
|
8
8
|
* project has any pending changes first, then update the version of the
|
|
9
9
|
* jsr.json to match the package.json file, then run the
|
|
10
10
|
* `jsr publish --dry-run` command, and finally cleanup the changes made.
|
|
11
|
+
*
|
|
12
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
13
|
+
*
|
|
14
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
15
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
16
|
+
*/
|
|
17
|
+
static validateJsrPublish(alternativePackageNames?: string[]): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Publishes the current project to JSR.
|
|
20
|
+
*
|
|
21
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
22
|
+
*
|
|
23
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
24
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
11
25
|
*/
|
|
12
|
-
static
|
|
13
|
-
static publishToJsr(): Promise<void>;
|
|
26
|
+
static publishToJsr(alternativePackageNames?: string[]): Promise<void>;
|
|
14
27
|
/**
|
|
15
28
|
* Validates the current project for publishing to npm. This will run
|
|
16
29
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
17
30
|
* on the npm registry.
|
|
31
|
+
*
|
|
32
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
33
|
+
*
|
|
34
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
35
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
36
|
+
*/
|
|
37
|
+
static validateNpmPublish(alternativePackageNames?: string[]): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Publishes the current project to npm.
|
|
40
|
+
*
|
|
41
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
42
|
+
*
|
|
43
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
44
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
18
45
|
*/
|
|
19
|
-
static
|
|
46
|
+
static publishToNpm(alternativePackageNames?: string[]): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Test method for string replacement functionality. This method allows testing
|
|
49
|
+
* the string replacement behavior without performing actual publishing operations.
|
|
50
|
+
*
|
|
51
|
+
* @param originalString The original string to replace
|
|
52
|
+
* @param newString The new string to replace it with
|
|
53
|
+
*
|
|
54
|
+
* **Warning:** This method uses simple string replacement, which may have unintended effects
|
|
55
|
+
* if the string appears in unexpected places. Use with caution.
|
|
56
|
+
*/
|
|
57
|
+
static testStringReplacement(originalString: string, newString: string): Promise<void>;
|
|
20
58
|
/**
|
|
21
59
|
* Updates the jsr.json file from the package.json file and resolves wildcard
|
|
22
60
|
* dependencies in package.json for JSR compatibility.
|
|
@@ -81,7 +119,6 @@ export default class PackageService {
|
|
|
81
119
|
* ```
|
|
82
120
|
*/
|
|
83
121
|
private static replaceMonorepoImportsWithNpmSpecifiers;
|
|
84
|
-
private static revertGitChanges;
|
|
85
122
|
/**
|
|
86
123
|
* Checks for version conflicts on JSR by looking up the current package
|
|
87
124
|
* and comparing versions. Throws an error if the current version already
|
|
@@ -99,5 +136,24 @@ export default class PackageService {
|
|
|
99
136
|
* @param registryName The name of the registry (for error messages)
|
|
100
137
|
*/
|
|
101
138
|
private static checkVersionConflict;
|
|
139
|
+
/**
|
|
140
|
+
* Replaces the package name in package.json and jsr.json files with a new name.
|
|
141
|
+
* Uses FileSystemService.replaceInFiles to perform the replacement.
|
|
142
|
+
*
|
|
143
|
+
* @param originalPackageName The original package name to replace
|
|
144
|
+
* @param newPackageName The new package name to use
|
|
145
|
+
*/
|
|
146
|
+
private static replacePackageName;
|
|
147
|
+
/**
|
|
148
|
+
* Performs a git reset to discard all changes in the working directory.
|
|
149
|
+
* This is used between alternative package name operations.
|
|
150
|
+
*/
|
|
151
|
+
private static resetGitChanges;
|
|
152
|
+
/**
|
|
153
|
+
* Publishes the current project to npm.
|
|
154
|
+
*
|
|
155
|
+
* @returns true if the publish was successful, false otherwise.
|
|
156
|
+
*/
|
|
157
|
+
private static publishNpm;
|
|
102
158
|
}
|
|
103
159
|
//# sourceMappingURL=PackageService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageService.d.ts","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC
|
|
1
|
+
{"version":3,"file":"PackageService.d.ts","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;;;;;;OAUG;WACU,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgClF;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5E;;;;;;;;;OASG;WACU,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClF;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5E;;;;;;;;;OASG;WACU,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F;;;;;OAKG;mBACkB,wBAAwB;IAyC7C;;;;;;;OAOG;mBACkB,wCAAwC;IAqC7D;;;;;;;;OAQG;mBACkB,gBAAgB;IAqBrC;;;;OAIG;mBACkB,UAAU;IAkB/B;;;;OAIG;mBACkB,cAAc;IA2BnC;;;;OAIG;mBACkB,gBAAgB;IAarC;;;;;OAKG;mBACkB,wBAAwB;IAkC7C;;;;;;;;;;;OAWG;mBACkB,uCAAuC;IAwG5D;;;;;;;OAOG;mBACkB,wBAAwB;IAmC7C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC;;;;;;OAMG;mBACkB,kBAAkB;IAoBvC;;;OAGG;mBACkB,eAAe;IAUpC;;;;OAIG;mBACkB,UAAU;CAiBhC"}
|
|
@@ -18,52 +18,148 @@ export default class PackageService {
|
|
|
18
18
|
* project has any pending changes first, then update the version of the
|
|
19
19
|
* jsr.json to match the package.json file, then run the
|
|
20
20
|
* `jsr publish --dry-run` command, and finally cleanup the changes made.
|
|
21
|
+
*
|
|
22
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
23
|
+
*
|
|
24
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
25
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
21
26
|
*/
|
|
22
|
-
static async validateJsrPublish() {
|
|
27
|
+
static async validateJsrPublish(alternativePackageNames) {
|
|
23
28
|
if (await FileSystemService.hasPendingChanges()) {
|
|
24
29
|
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
25
30
|
process.exit(1);
|
|
26
31
|
}
|
|
27
|
-
await PackageService.
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
33
|
+
const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
|
|
34
|
+
for (const packageName of packageNamesToValidate) {
|
|
35
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
36
|
+
DR.logger.info(`Validating JSR publishing for package: ${packageName}`);
|
|
37
|
+
if (isAlternativeName) {
|
|
38
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
39
|
+
}
|
|
40
|
+
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
41
|
+
const { version: currentVersion } = await PackageService.updateJsrFromPackageJson();
|
|
42
|
+
const successfulDryRun = await PackageService.publishJsrDryRun(packageName, currentVersion);
|
|
43
|
+
await PackageService.resetGitChanges();
|
|
44
|
+
if (!successfulDryRun) {
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
36
47
|
}
|
|
48
|
+
DR.logger.success('Successfully validated JSR publishing for all package names.');
|
|
37
49
|
}
|
|
38
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Publishes the current project to JSR.
|
|
52
|
+
*
|
|
53
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
54
|
+
*
|
|
55
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
56
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
57
|
+
*/
|
|
58
|
+
static async publishToJsr(alternativePackageNames) {
|
|
39
59
|
if (await FileSystemService.hasPendingChanges()) {
|
|
40
60
|
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
41
61
|
process.exit(1);
|
|
42
62
|
}
|
|
43
|
-
await PackageService.
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
63
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
64
|
+
const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
|
|
65
|
+
for (const packageName of packageNamesToPublish) {
|
|
66
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
67
|
+
DR.logger.info(`Publishing to JSR for package: ${packageName}`);
|
|
68
|
+
if (isAlternativeName) {
|
|
69
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
70
|
+
}
|
|
71
|
+
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
72
|
+
await PackageService.updateJsrFromPackageJson();
|
|
73
|
+
const result = await PackageService.publishJsr();
|
|
74
|
+
await PackageService.resetGitChanges();
|
|
75
|
+
if (!result) {
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
52
78
|
}
|
|
79
|
+
DR.logger.success('Successfully published to JSR for all package names.');
|
|
53
80
|
}
|
|
54
81
|
/**
|
|
55
82
|
* Validates the current project for publishing to npm. This will run
|
|
56
83
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
57
84
|
* on the npm registry.
|
|
85
|
+
*
|
|
86
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
87
|
+
*
|
|
88
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
89
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
90
|
+
*/
|
|
91
|
+
static async validateNpmPublish(alternativePackageNames) {
|
|
92
|
+
if (await FileSystemService.hasPendingChanges()) {
|
|
93
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
const { packageName: originalPackageName, version: currentVersion } = await PackageService.getPackageInfo();
|
|
97
|
+
const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
|
|
98
|
+
for (const packageName of packageNamesToValidate) {
|
|
99
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
100
|
+
DR.logger.info(`Validating npm publishing for package: ${packageName}`);
|
|
101
|
+
if (isAlternativeName) {
|
|
102
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
103
|
+
}
|
|
104
|
+
const successfulDryRun = await PackageService.publishNpmDryRun();
|
|
105
|
+
if (!successfulDryRun) {
|
|
106
|
+
if (isAlternativeName) {
|
|
107
|
+
await PackageService.resetGitChanges();
|
|
108
|
+
}
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
await PackageService.checkNpmVersionConflicts(packageName, currentVersion);
|
|
112
|
+
if (isAlternativeName) {
|
|
113
|
+
await PackageService.resetGitChanges();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
DR.logger.success('Successfully validated npm publishing for all package names.');
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Publishes the current project to npm.
|
|
120
|
+
*
|
|
121
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
122
|
+
*
|
|
123
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
124
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
58
125
|
*/
|
|
59
|
-
static async
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (!successfulDryRun) {
|
|
126
|
+
static async publishToNpm(alternativePackageNames) {
|
|
127
|
+
if (await FileSystemService.hasPendingChanges()) {
|
|
128
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
63
129
|
process.exit(1);
|
|
64
130
|
}
|
|
65
|
-
await PackageService.
|
|
66
|
-
|
|
131
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
132
|
+
const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
|
|
133
|
+
for (const packageName of packageNamesToPublish) {
|
|
134
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
135
|
+
DR.logger.info(`Publishing to npm for package: ${packageName}`);
|
|
136
|
+
if (isAlternativeName) {
|
|
137
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
138
|
+
}
|
|
139
|
+
const result = await PackageService.publishNpm();
|
|
140
|
+
if (isAlternativeName) {
|
|
141
|
+
await PackageService.resetGitChanges();
|
|
142
|
+
}
|
|
143
|
+
if (!result) {
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
DR.logger.success('Successfully published to npm for all package names.');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Test method for string replacement functionality. This method allows testing
|
|
151
|
+
* the string replacement behavior without performing actual publishing operations.
|
|
152
|
+
*
|
|
153
|
+
* @param originalString The original string to replace
|
|
154
|
+
* @param newString The new string to replace it with
|
|
155
|
+
*
|
|
156
|
+
* **Warning:** This method uses simple string replacement, which may have unintended effects
|
|
157
|
+
* if the string appears in unexpected places. Use with caution.
|
|
158
|
+
*/
|
|
159
|
+
static async testStringReplacement(originalString, newString) {
|
|
160
|
+
DR.logger.info(`Testing string replacement from "${originalString}" to "${newString}"`);
|
|
161
|
+
await PackageService.replacePackageName(originalString, newString);
|
|
162
|
+
DR.logger.info('Test completed - package name replacement has been applied');
|
|
67
163
|
}
|
|
68
164
|
/**
|
|
69
165
|
* Updates the jsr.json file from the package.json file and resolves wildcard
|
|
@@ -356,15 +452,6 @@ export default class PackageService {
|
|
|
356
452
|
}
|
|
357
453
|
DR.logger.info(`Completed monorepo import replacement: ${totalReplacements} total replacements made`);
|
|
358
454
|
}
|
|
359
|
-
static async revertGitChanges() {
|
|
360
|
-
DR.logger.info('Reverting changes made to jsr.json, package.json, and source files');
|
|
361
|
-
try {
|
|
362
|
-
await execAsync('git checkout -- jsr.json package.json src/');
|
|
363
|
-
}
|
|
364
|
-
catch (error) {
|
|
365
|
-
DR.logger.error(`Failed to revert changes: ${ErrorUtils.getErrorString(error)}`);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
455
|
/**
|
|
369
456
|
* Checks for version conflicts on JSR by looking up the current package
|
|
370
457
|
* and comparing versions. Throws an error if the current version already
|
|
@@ -418,5 +505,61 @@ export default class PackageService {
|
|
|
418
505
|
}
|
|
419
506
|
DR.logger.info('Version check passed - ready to publish.');
|
|
420
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Replaces the package name in package.json and jsr.json files with a new name.
|
|
510
|
+
* Uses FileSystemService.replaceInFiles to perform the replacement.
|
|
511
|
+
*
|
|
512
|
+
* @param originalPackageName The original package name to replace
|
|
513
|
+
* @param newPackageName The new package name to use
|
|
514
|
+
*/
|
|
515
|
+
static async replacePackageName(originalPackageName, newPackageName) {
|
|
516
|
+
DR.logger.info(`Replacing package name from "${originalPackageName}" to "${newPackageName}"`);
|
|
517
|
+
const rootDir = process.cwd();
|
|
518
|
+
// Replace in package.json and jsr.json files
|
|
519
|
+
await FileSystemService.replaceInFiles({
|
|
520
|
+
searchString: originalPackageName,
|
|
521
|
+
replaceString: newPackageName,
|
|
522
|
+
rootPath: rootDir,
|
|
523
|
+
includePatterns: ['package.json', 'jsr.json'],
|
|
524
|
+
excludePatterns: []
|
|
525
|
+
});
|
|
526
|
+
DR.logger.info(`Successfully replaced package name in configuration files`);
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Performs a git reset to discard all changes in the working directory.
|
|
530
|
+
* This is used between alternative package name operations.
|
|
531
|
+
*/
|
|
532
|
+
static async resetGitChanges() {
|
|
533
|
+
DR.logger.info('Resetting git changes');
|
|
534
|
+
try {
|
|
535
|
+
await execAsync('git reset --hard HEAD');
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
DR.logger.error(`Failed to reset git changes: ${ErrorUtils.getErrorString(error)}`);
|
|
539
|
+
throw error;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Publishes the current project to npm.
|
|
544
|
+
*
|
|
545
|
+
* @returns true if the publish was successful, false otherwise.
|
|
546
|
+
*/
|
|
547
|
+
static async publishNpm() {
|
|
548
|
+
DR.logger.info('Running `npm publish --access public`');
|
|
549
|
+
return new Promise((resolve) => {
|
|
550
|
+
const child = spawn('npm publish', ['--access', 'public'], {
|
|
551
|
+
stdio: 'inherit',
|
|
552
|
+
shell: true
|
|
553
|
+
});
|
|
554
|
+
child.on('exit', (code) => {
|
|
555
|
+
if (code === 0) {
|
|
556
|
+
resolve(true);
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
resolve(false);
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
});
|
|
563
|
+
}
|
|
421
564
|
}
|
|
422
565
|
//# sourceMappingURL=PackageService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageService.js","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PackageService.js","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,57 +22,187 @@ export default class PackageService {
|
|
|
22
22
|
* project has any pending changes first, then update the version of the
|
|
23
23
|
* jsr.json to match the package.json file, then run the
|
|
24
24
|
* `jsr publish --dry-run` command, and finally cleanup the changes made.
|
|
25
|
+
*
|
|
26
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
27
|
+
*
|
|
28
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
29
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
25
30
|
*/
|
|
26
|
-
static async validateJsrPublish(): Promise<void> {
|
|
31
|
+
static async validateJsrPublish(alternativePackageNames?: string[]): Promise<void> {
|
|
27
32
|
if (await FileSystemService.hasPendingChanges()) {
|
|
28
33
|
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
29
34
|
process.exit(1);
|
|
30
35
|
}
|
|
31
|
-
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
32
|
-
const { packageName, version: currentVersion } =
|
|
33
|
-
await PackageService.updateJsrFromPackageJson();
|
|
34
|
-
const successfulDryRun = await PackageService.publishJsrDryRun(packageName, currentVersion);
|
|
35
|
-
await PackageService.revertGitChanges();
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
38
|
+
const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
|
|
39
|
+
|
|
40
|
+
for (const packageName of packageNamesToValidate) {
|
|
41
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
42
|
+
|
|
43
|
+
DR.logger.info(`Validating JSR publishing for package: ${packageName}`);
|
|
44
|
+
|
|
45
|
+
if (isAlternativeName) {
|
|
46
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
50
|
+
const { version: currentVersion } = await PackageService.updateJsrFromPackageJson();
|
|
51
|
+
const successfulDryRun = await PackageService.publishJsrDryRun(packageName, currentVersion);
|
|
52
|
+
|
|
53
|
+
await PackageService.resetGitChanges();
|
|
54
|
+
|
|
55
|
+
if (!successfulDryRun) {
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
41
58
|
}
|
|
59
|
+
|
|
60
|
+
DR.logger.success('Successfully validated JSR publishing for all package names.');
|
|
42
61
|
}
|
|
43
62
|
|
|
44
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Publishes the current project to JSR.
|
|
65
|
+
*
|
|
66
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
67
|
+
*
|
|
68
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
69
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
70
|
+
*/
|
|
71
|
+
static async publishToJsr(alternativePackageNames?: string[]): Promise<void> {
|
|
45
72
|
if (await FileSystemService.hasPendingChanges()) {
|
|
46
73
|
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
47
74
|
process.exit(1);
|
|
48
75
|
}
|
|
49
|
-
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
50
|
-
await PackageService.updateJsrFromPackageJson();
|
|
51
|
-
const result = await PackageService.publishJsr();
|
|
52
|
-
await PackageService.revertGitChanges();
|
|
53
76
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
77
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
78
|
+
const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
|
|
79
|
+
|
|
80
|
+
for (const packageName of packageNamesToPublish) {
|
|
81
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
82
|
+
|
|
83
|
+
DR.logger.info(`Publishing to JSR for package: ${packageName}`);
|
|
84
|
+
|
|
85
|
+
if (isAlternativeName) {
|
|
86
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
|
|
90
|
+
await PackageService.updateJsrFromPackageJson();
|
|
91
|
+
const result = await PackageService.publishJsr();
|
|
92
|
+
|
|
93
|
+
await PackageService.resetGitChanges();
|
|
94
|
+
|
|
95
|
+
if (!result) {
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
58
98
|
}
|
|
99
|
+
|
|
100
|
+
DR.logger.success('Successfully published to JSR for all package names.');
|
|
59
101
|
}
|
|
60
102
|
|
|
61
103
|
/**
|
|
62
104
|
* Validates the current project for publishing to npm. This will run
|
|
63
105
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
64
106
|
* on the npm registry.
|
|
107
|
+
*
|
|
108
|
+
* @param alternativePackageNames Optional array of alternative package names to validate publishing under
|
|
109
|
+
*
|
|
110
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
111
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
65
112
|
*/
|
|
66
|
-
static async validateNpmPublish(): Promise<void> {
|
|
67
|
-
|
|
113
|
+
static async validateNpmPublish(alternativePackageNames?: string[]): Promise<void> {
|
|
114
|
+
if (await FileSystemService.hasPendingChanges()) {
|
|
115
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const { packageName: originalPackageName, version: currentVersion } =
|
|
120
|
+
await PackageService.getPackageInfo();
|
|
121
|
+
const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
|
|
122
|
+
|
|
123
|
+
for (const packageName of packageNamesToValidate) {
|
|
124
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
125
|
+
|
|
126
|
+
DR.logger.info(`Validating npm publishing for package: ${packageName}`);
|
|
68
127
|
|
|
69
|
-
|
|
70
|
-
|
|
128
|
+
if (isAlternativeName) {
|
|
129
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const successfulDryRun = await PackageService.publishNpmDryRun();
|
|
133
|
+
if (!successfulDryRun) {
|
|
134
|
+
if (isAlternativeName) {
|
|
135
|
+
await PackageService.resetGitChanges();
|
|
136
|
+
}
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
await PackageService.checkNpmVersionConflicts(packageName, currentVersion);
|
|
141
|
+
|
|
142
|
+
if (isAlternativeName) {
|
|
143
|
+
await PackageService.resetGitChanges();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
DR.logger.success('Successfully validated npm publishing for all package names.');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Publishes the current project to npm.
|
|
152
|
+
*
|
|
153
|
+
* @param alternativePackageNames Optional array of alternative package names to publish under
|
|
154
|
+
*
|
|
155
|
+
* **Warning:** This method uses simple string replacement for package names, which may have unintended effects
|
|
156
|
+
* if the package name appears in unexpected places. Use with caution.
|
|
157
|
+
*/
|
|
158
|
+
static async publishToNpm(alternativePackageNames?: string[]): Promise<void> {
|
|
159
|
+
if (await FileSystemService.hasPendingChanges()) {
|
|
160
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
71
161
|
process.exit(1);
|
|
72
162
|
}
|
|
73
163
|
|
|
74
|
-
await PackageService.
|
|
75
|
-
|
|
164
|
+
const { packageName: originalPackageName } = await PackageService.getPackageInfo();
|
|
165
|
+
const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
|
|
166
|
+
|
|
167
|
+
for (const packageName of packageNamesToPublish) {
|
|
168
|
+
const isAlternativeName = packageName !== originalPackageName;
|
|
169
|
+
|
|
170
|
+
DR.logger.info(`Publishing to npm for package: ${packageName}`);
|
|
171
|
+
|
|
172
|
+
if (isAlternativeName) {
|
|
173
|
+
await PackageService.replacePackageName(originalPackageName, packageName);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const result = await PackageService.publishNpm();
|
|
177
|
+
|
|
178
|
+
if (isAlternativeName) {
|
|
179
|
+
await PackageService.resetGitChanges();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (!result) {
|
|
183
|
+
process.exit(1);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
DR.logger.success('Successfully published to npm for all package names.');
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Test method for string replacement functionality. This method allows testing
|
|
192
|
+
* the string replacement behavior without performing actual publishing operations.
|
|
193
|
+
*
|
|
194
|
+
* @param originalString The original string to replace
|
|
195
|
+
* @param newString The new string to replace it with
|
|
196
|
+
*
|
|
197
|
+
* **Warning:** This method uses simple string replacement, which may have unintended effects
|
|
198
|
+
* if the string appears in unexpected places. Use with caution.
|
|
199
|
+
*/
|
|
200
|
+
static async testStringReplacement(originalString: string, newString: string): Promise<void> {
|
|
201
|
+
DR.logger.info(`Testing string replacement from "${originalString}" to "${newString}"`);
|
|
202
|
+
|
|
203
|
+
await PackageService.replacePackageName(originalString, newString);
|
|
204
|
+
|
|
205
|
+
DR.logger.info('Test completed - package name replacement has been applied');
|
|
76
206
|
}
|
|
77
207
|
|
|
78
208
|
/**
|
|
@@ -426,15 +556,6 @@ export default class PackageService {
|
|
|
426
556
|
);
|
|
427
557
|
}
|
|
428
558
|
|
|
429
|
-
private static async revertGitChanges(): Promise<void> {
|
|
430
|
-
DR.logger.info('Reverting changes made to jsr.json, package.json, and source files');
|
|
431
|
-
try {
|
|
432
|
-
await execAsync('git checkout -- jsr.json package.json src/');
|
|
433
|
-
} catch (error) {
|
|
434
|
-
DR.logger.error(`Failed to revert changes: ${ErrorUtils.getErrorString(error)}`);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
|
|
438
559
|
/**
|
|
439
560
|
* Checks for version conflicts on JSR by looking up the current package
|
|
440
561
|
* and comparing versions. Throws an error if the current version already
|
|
@@ -509,4 +630,68 @@ export default class PackageService {
|
|
|
509
630
|
|
|
510
631
|
DR.logger.info('Version check passed - ready to publish.');
|
|
511
632
|
}
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Replaces the package name in package.json and jsr.json files with a new name.
|
|
636
|
+
* Uses FileSystemService.replaceInFiles to perform the replacement.
|
|
637
|
+
*
|
|
638
|
+
* @param originalPackageName The original package name to replace
|
|
639
|
+
* @param newPackageName The new package name to use
|
|
640
|
+
*/
|
|
641
|
+
private static async replacePackageName(
|
|
642
|
+
originalPackageName: string,
|
|
643
|
+
newPackageName: string
|
|
644
|
+
): Promise<void> {
|
|
645
|
+
DR.logger.info(`Replacing package name from "${originalPackageName}" to "${newPackageName}"`);
|
|
646
|
+
|
|
647
|
+
const rootDir = process.cwd();
|
|
648
|
+
|
|
649
|
+
// Replace in package.json and jsr.json files
|
|
650
|
+
await FileSystemService.replaceInFiles({
|
|
651
|
+
searchString: originalPackageName,
|
|
652
|
+
replaceString: newPackageName,
|
|
653
|
+
rootPath: rootDir,
|
|
654
|
+
includePatterns: ['package.json', 'jsr.json'],
|
|
655
|
+
excludePatterns: []
|
|
656
|
+
});
|
|
657
|
+
|
|
658
|
+
DR.logger.info(`Successfully replaced package name in configuration files`);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Performs a git reset to discard all changes in the working directory.
|
|
663
|
+
* This is used between alternative package name operations.
|
|
664
|
+
*/
|
|
665
|
+
private static async resetGitChanges(): Promise<void> {
|
|
666
|
+
DR.logger.info('Resetting git changes');
|
|
667
|
+
try {
|
|
668
|
+
await execAsync('git reset --hard HEAD');
|
|
669
|
+
} catch (error) {
|
|
670
|
+
DR.logger.error(`Failed to reset git changes: ${ErrorUtils.getErrorString(error)}`);
|
|
671
|
+
throw error;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* Publishes the current project to npm.
|
|
677
|
+
*
|
|
678
|
+
* @returns true if the publish was successful, false otherwise.
|
|
679
|
+
*/
|
|
680
|
+
private static async publishNpm(): Promise<boolean> {
|
|
681
|
+
DR.logger.info('Running `npm publish --access public`');
|
|
682
|
+
return new Promise((resolve) => {
|
|
683
|
+
const child = spawn('npm publish', ['--access', 'public'], {
|
|
684
|
+
stdio: 'inherit',
|
|
685
|
+
shell: true
|
|
686
|
+
});
|
|
687
|
+
|
|
688
|
+
child.on('exit', (code) => {
|
|
689
|
+
if (code === 0) {
|
|
690
|
+
resolve(true);
|
|
691
|
+
} else {
|
|
692
|
+
resolve(false);
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
});
|
|
696
|
+
}
|
|
512
697
|
}
|