@aneuhold/core-ts-lib 2.2.5 → 2.2.7
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/index.d.ts +3 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/index.ts +5 -7
- package/lib/interfaces/ITracer.d.ts.map +1 -1
- package/lib/interfaces/ITracer.js.map +1 -1
- package/lib/interfaces/ITracer.ts +8 -2
- package/lib/services/ArrayService.d.ts.map +1 -1
- package/lib/services/ArrayService.js.map +1 -1
- package/lib/services/ArrayService.ts +4 -1
- package/lib/services/DateService/DateService.d.ts.map +1 -1
- package/lib/services/DateService/DateService.js +3 -1
- package/lib/services/DateService/DateService.js.map +1 -1
- package/lib/services/DateService/DateService.spec.ts +98 -0
- package/lib/services/DateService/DateService.ts +25 -7
- package/lib/services/DependencyService.d.ts.map +1 -1
- package/lib/services/DependencyService.js +3 -1
- package/lib/services/DependencyService.js.map +1 -1
- package/lib/services/DependencyService.ts +32 -10
- package/lib/services/FileSystemService/FileSystemService.d.ts +4 -30
- package/lib/services/FileSystemService/FileSystemService.d.ts.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.js +7 -64
- package/lib/services/FileSystemService/FileSystemService.js.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.spec.ts +133 -0
- package/lib/services/FileSystemService/FileSystemService.ts +32 -117
- package/lib/services/PackageService.d.ts.map +1 -1
- package/lib/services/PackageService.js +8 -4
- package/lib/services/PackageService.js.map +1 -1
- package/lib/services/PackageService.ts +90 -27
- package/lib/utils/ErrorUtils.d.ts.map +1 -1
- package/lib/utils/ErrorUtils.js.map +1 -1
- package/lib/utils/ErrorUtils.ts +3 -1
- package/package.json +1 -1
- package/lib/services/FileSystemService/GlobMatchingService.d.ts +0 -48
- package/lib/services/FileSystemService/GlobMatchingService.d.ts.map +0 -1
- package/lib/services/FileSystemService/GlobMatchingService.js +0 -129
- package/lib/services/FileSystemService/GlobMatchingService.js.map +0 -1
- package/lib/services/FileSystemService/GlobMatchingService.ts +0 -153
|
@@ -5,7 +5,6 @@ import { promisify } from 'util';
|
|
|
5
5
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
6
6
|
import { DR } from '../DependencyRegistry.js';
|
|
7
7
|
import StringService from '../StringService.js';
|
|
8
|
-
import GlobMatchingService from './GlobMatchingService.js';
|
|
9
8
|
const execAsync = promisify(exec);
|
|
10
9
|
/**
|
|
11
10
|
* A service which can be used to interact with the file system, only in build
|
|
@@ -19,8 +18,8 @@ export default class FileSystemService {
|
|
|
19
18
|
*
|
|
20
19
|
* @param folderPath the path to the folder which contains the file that should
|
|
21
20
|
* be updated
|
|
22
|
-
* @param fileName
|
|
23
|
-
* @param textToInsert
|
|
21
|
+
* @param fileName
|
|
22
|
+
* @param textToInsert
|
|
24
23
|
*/
|
|
25
24
|
static async findAndInsertText(folderPath, fileName, textToInsert) {
|
|
26
25
|
const filePath = path.join(folderPath, fileName);
|
|
@@ -44,8 +43,8 @@ export default class FileSystemService {
|
|
|
44
43
|
/**
|
|
45
44
|
* Copies the contents of one folder to another folder.
|
|
46
45
|
*
|
|
47
|
-
* @param sourceFolderPath
|
|
48
|
-
* @param targetFolderPath
|
|
46
|
+
* @param sourceFolderPath
|
|
47
|
+
* @param targetFolderPath
|
|
49
48
|
* @param ignoreExtensions is an array with extensions that should be
|
|
50
49
|
* ignored. For example, if you want to ignore all .ts files, you would pass
|
|
51
50
|
* in ['.ts']. Multi-part extensions like '.spec.ts' are also supported.
|
|
@@ -66,7 +65,8 @@ export default class FileSystemService {
|
|
|
66
65
|
const sourceFile = path.join(sourceFolderPath, sourceFilePath);
|
|
67
66
|
const targetFile = path.join(targetFolderPath, sourceFilePath);
|
|
68
67
|
// Check if the file should be ignored based on extensions
|
|
69
|
-
if (ignoreExtensions &&
|
|
68
|
+
if (ignoreExtensions &&
|
|
69
|
+
FileSystemService.shouldIgnoreFile(sourceFile, ignoreExtensions)) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
await cp(sourceFile, targetFile, { recursive: true });
|
|
@@ -146,11 +146,7 @@ export default class FileSystemService {
|
|
|
146
146
|
static async getAllFilePathsRelative(dirPath) {
|
|
147
147
|
const filePaths = await this.getAllFilePaths(dirPath);
|
|
148
148
|
return filePaths.map((filePath) => {
|
|
149
|
-
|
|
150
|
-
// Remove leading path separator if present
|
|
151
|
-
return relativePath.startsWith('/') || relativePath.startsWith('\\')
|
|
152
|
-
? relativePath.slice(1)
|
|
153
|
-
: relativePath;
|
|
149
|
+
return filePath.replace(dirPath, '');
|
|
154
150
|
});
|
|
155
151
|
}
|
|
156
152
|
/**
|
|
@@ -239,58 +235,5 @@ export default class FileSystemService {
|
|
|
239
235
|
}
|
|
240
236
|
return results;
|
|
241
237
|
}
|
|
242
|
-
/**
|
|
243
|
-
* Replaces all occurrences of a string in files within a directory.
|
|
244
|
-
* Supports glob patterns for including/excluding files and handles URL encoding.
|
|
245
|
-
*
|
|
246
|
-
* @param options Configuration object for the replacement operation
|
|
247
|
-
*/
|
|
248
|
-
static async replaceInFiles(options) {
|
|
249
|
-
const { searchString, replaceString, rootPath, includePatterns = ['**/*'], excludePatterns = ['**/node_modules/**', '**/.*/**'], includeUrlEncoded = true, dryRun = false } = options;
|
|
250
|
-
DR.logger.info(`Replacing "${searchString}" with "${replaceString}" in ${rootPath}`);
|
|
251
|
-
if (dryRun) {
|
|
252
|
-
DR.logger.info('DRY RUN MODE - No files will be modified');
|
|
253
|
-
}
|
|
254
|
-
const allFiles = await this.getAllFilePaths(rootPath);
|
|
255
|
-
const filesToProcess = GlobMatchingService.getMatchingFiles(allFiles, rootPath, includePatterns, excludePatterns);
|
|
256
|
-
let processedCount = 0;
|
|
257
|
-
let modifiedCount = 0;
|
|
258
|
-
for (const filePath of filesToProcess) {
|
|
259
|
-
try {
|
|
260
|
-
const content = await readFile(filePath, 'utf8');
|
|
261
|
-
let hasChanges = false;
|
|
262
|
-
let updatedContent = content;
|
|
263
|
-
// Replace the main string
|
|
264
|
-
if (content.includes(searchString)) {
|
|
265
|
-
updatedContent = updatedContent.replaceAll(searchString, replaceString);
|
|
266
|
-
hasChanges = true;
|
|
267
|
-
}
|
|
268
|
-
// Replace URL-encoded version if requested
|
|
269
|
-
if (includeUrlEncoded) {
|
|
270
|
-
const encodedSearchString = encodeURIComponent(searchString);
|
|
271
|
-
const encodedReplaceString = encodeURIComponent(replaceString);
|
|
272
|
-
if (updatedContent.includes(encodedSearchString)) {
|
|
273
|
-
updatedContent = updatedContent.replaceAll(encodedSearchString, encodedReplaceString);
|
|
274
|
-
hasChanges = true;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
if (hasChanges) {
|
|
278
|
-
const relativePath = path.relative(rootPath, filePath);
|
|
279
|
-
DR.logger.info(`${dryRun ? 'Would update' : 'Updating'} ${relativePath}...`);
|
|
280
|
-
if (!dryRun) {
|
|
281
|
-
await writeFile(filePath, updatedContent, 'utf8');
|
|
282
|
-
}
|
|
283
|
-
modifiedCount++;
|
|
284
|
-
}
|
|
285
|
-
processedCount++;
|
|
286
|
-
}
|
|
287
|
-
catch (error) {
|
|
288
|
-
// Skip binary files or files we can't read
|
|
289
|
-
DR.logger.verbose.info(`Skipping ${filePath}: ${ErrorUtils.getErrorString(error)}`);
|
|
290
|
-
continue;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
DR.logger.info(`${dryRun ? 'Would process' : 'Processed'} ${processedCount} files, ${dryRun ? 'would modify' : 'modified'} ${modifiedCount} files`);
|
|
294
|
-
}
|
|
295
238
|
}
|
|
296
239
|
//# sourceMappingURL=FileSystemService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { writeFile } from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import FileSystemService from './FileSystemService.js';
|
|
4
|
+
|
|
5
|
+
const TEST_FOLDER_NAME = '__fileSystemService-tests__';
|
|
6
|
+
|
|
7
|
+
describe('FileSystemService', () => {
|
|
8
|
+
afterAll(async () => {
|
|
9
|
+
await deleteTestFolder();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
describe('copyFolderContents', () => {
|
|
13
|
+
it('should successfully copy all contents when target folder doesnt exist', async () => {
|
|
14
|
+
// Make a test folder with a folder and a couple files in it
|
|
15
|
+
const testName = 'copyFolderContents-1';
|
|
16
|
+
const sourceFolderName = `${testName}-source`;
|
|
17
|
+
const sourceFolderPath = await createTestFolder(sourceFolderName);
|
|
18
|
+
await createTestFiles(sourceFolderPath, {
|
|
19
|
+
'file1.txt': 'test text',
|
|
20
|
+
'file2.txt': 'test text',
|
|
21
|
+
subFolder: {
|
|
22
|
+
'subFile1.txt': 'sub test text',
|
|
23
|
+
'subFile2.txt': 'sub test text'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const targetFolderPath = path.join(
|
|
28
|
+
TEST_FOLDER_NAME,
|
|
29
|
+
`${testName}-target`
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
// Execute
|
|
33
|
+
await FileSystemService.copyFolderContents(
|
|
34
|
+
sourceFolderPath,
|
|
35
|
+
targetFolderPath
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
// Assert
|
|
39
|
+
const expectedContents = (
|
|
40
|
+
await FileSystemService.getAllFilePathsRelative(sourceFolderPath)
|
|
41
|
+
).sort();
|
|
42
|
+
const actualContents = (
|
|
43
|
+
await FileSystemService.getAllFilePathsRelative(targetFolderPath)
|
|
44
|
+
).sort();
|
|
45
|
+
expect(actualContents).toEqual(expectedContents);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('should successfully copy only files that arent ignored', async () => {
|
|
49
|
+
// Make a test folder with a folder and a couple files in it
|
|
50
|
+
const testName = 'copyFolderContents-2';
|
|
51
|
+
const sourceFolderName = `${testName}-source`;
|
|
52
|
+
const sourceFolderPath = await createTestFolder(sourceFolderName);
|
|
53
|
+
await createTestFiles(sourceFolderPath, {
|
|
54
|
+
'file1.txt': 'test text',
|
|
55
|
+
'file2.txt': 'test text',
|
|
56
|
+
subFolder: {
|
|
57
|
+
'subFile1.txt': 'sub test text',
|
|
58
|
+
'subFile2.txt': 'sub test text'
|
|
59
|
+
},
|
|
60
|
+
javascript: {
|
|
61
|
+
'file1.js': 'test text',
|
|
62
|
+
'file2.js': 'test text'
|
|
63
|
+
},
|
|
64
|
+
typescript: {
|
|
65
|
+
'file1.ts': 'test text',
|
|
66
|
+
'file2.ts': 'test text'
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const targetFolderPath = path.join(
|
|
71
|
+
TEST_FOLDER_NAME,
|
|
72
|
+
`${testName}-target`
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// Execute
|
|
76
|
+
await FileSystemService.copyFolderContents(
|
|
77
|
+
sourceFolderPath,
|
|
78
|
+
targetFolderPath,
|
|
79
|
+
['ts']
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
// Assert
|
|
83
|
+
const expectedContents = (
|
|
84
|
+
await FileSystemService.getAllFilePathsRelative(sourceFolderPath)
|
|
85
|
+
)
|
|
86
|
+
.filter((sourceFilePath) => !sourceFilePath.endsWith('.ts'))
|
|
87
|
+
.sort();
|
|
88
|
+
const actualContents = (
|
|
89
|
+
await FileSystemService.getAllFilePathsRelative(targetFolderPath)
|
|
90
|
+
).sort();
|
|
91
|
+
expect(actualContents).toEqual(expectedContents);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Creates test files and folders based on the provided structure
|
|
98
|
+
*
|
|
99
|
+
* @param folderPath The path where the files and folders should be created
|
|
100
|
+
* @param fileStructure An object representing the file structure to create
|
|
101
|
+
*/
|
|
102
|
+
async function createTestFiles(folderPath: string, fileStructure: object) {
|
|
103
|
+
await FileSystemService.checkOrCreateFolder(folderPath);
|
|
104
|
+
|
|
105
|
+
await Promise.all(
|
|
106
|
+
Object.entries(fileStructure).map(async ([key, value]) => {
|
|
107
|
+
if (typeof value === 'string') {
|
|
108
|
+
await writeFile(path.join(folderPath, key), value);
|
|
109
|
+
} else if (typeof value === 'object') {
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
111
|
+
await createTestFiles(path.join(folderPath, key), value);
|
|
112
|
+
}
|
|
113
|
+
})
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Creates a test folder within the main test directory
|
|
119
|
+
*
|
|
120
|
+
* @param folderName The name of the folder to create
|
|
121
|
+
*/
|
|
122
|
+
async function createTestFolder(folderName: string): Promise<string> {
|
|
123
|
+
const testFolderPath = path.join(TEST_FOLDER_NAME, folderName);
|
|
124
|
+
await FileSystemService.checkOrCreateFolder(testFolderPath);
|
|
125
|
+
return testFolderPath;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Deletes the main test folder and all its contents
|
|
130
|
+
*/
|
|
131
|
+
async function deleteTestFolder(): Promise<void> {
|
|
132
|
+
await FileSystemService.deleteFolder(TEST_FOLDER_NAME);
|
|
133
|
+
}
|
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
import { exec } from 'child_process';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
access,
|
|
4
|
+
appendFile,
|
|
5
|
+
cp,
|
|
6
|
+
mkdir,
|
|
7
|
+
readFile,
|
|
8
|
+
readdir,
|
|
9
|
+
rm,
|
|
10
|
+
stat,
|
|
11
|
+
writeFile
|
|
12
|
+
} from 'fs/promises';
|
|
3
13
|
import path from 'path';
|
|
4
14
|
import { promisify } from 'util';
|
|
5
15
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
6
16
|
import { DR } from '../DependencyRegistry.js';
|
|
7
17
|
import StringService from '../StringService.js';
|
|
8
|
-
import GlobMatchingService from './GlobMatchingService.js';
|
|
9
18
|
|
|
10
19
|
const execAsync = promisify(exec);
|
|
11
20
|
|
|
12
|
-
/**
|
|
13
|
-
* Options for the replaceInFiles method
|
|
14
|
-
*/
|
|
15
|
-
export type ReplaceInFilesOptions = {
|
|
16
|
-
/** The string to search for */
|
|
17
|
-
searchString: string;
|
|
18
|
-
/** The string to replace it with */
|
|
19
|
-
replaceString: string;
|
|
20
|
-
/** The root directory to search in */
|
|
21
|
-
rootPath: string;
|
|
22
|
-
/** Array of glob-like patterns to include (defaults to all files) */
|
|
23
|
-
includePatterns?: string[];
|
|
24
|
-
/** Array of glob-like patterns to exclude (defaults to common ignore patterns) */
|
|
25
|
-
excludePatterns?: string[];
|
|
26
|
-
/** Whether to also replace URL-encoded versions of the strings */
|
|
27
|
-
includeUrlEncoded?: boolean;
|
|
28
|
-
/** If true, only shows what would be changed without making changes */
|
|
29
|
-
dryRun?: boolean;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
21
|
/**
|
|
33
22
|
* A service which can be used to interact with the file system, only in build
|
|
34
23
|
* steps.
|
|
@@ -41,8 +30,8 @@ export default class FileSystemService {
|
|
|
41
30
|
*
|
|
42
31
|
* @param folderPath the path to the folder which contains the file that should
|
|
43
32
|
* be updated
|
|
44
|
-
* @param fileName
|
|
45
|
-
* @param textToInsert
|
|
33
|
+
* @param fileName
|
|
34
|
+
* @param textToInsert
|
|
46
35
|
*/
|
|
47
36
|
static async findAndInsertText(
|
|
48
37
|
folderPath: string,
|
|
@@ -73,8 +62,8 @@ export default class FileSystemService {
|
|
|
73
62
|
/**
|
|
74
63
|
* Copies the contents of one folder to another folder.
|
|
75
64
|
*
|
|
76
|
-
* @param sourceFolderPath
|
|
77
|
-
* @param targetFolderPath
|
|
65
|
+
* @param sourceFolderPath
|
|
66
|
+
* @param targetFolderPath
|
|
78
67
|
* @param ignoreExtensions is an array with extensions that should be
|
|
79
68
|
* ignored. For example, if you want to ignore all .ts files, you would pass
|
|
80
69
|
* in ['.ts']. Multi-part extensions like '.spec.ts' are also supported.
|
|
@@ -94,7 +83,8 @@ export default class FileSystemService {
|
|
|
94
83
|
await FileSystemService.checkOrCreateFolder(targetFolderPath);
|
|
95
84
|
|
|
96
85
|
// Get the files in the source directory
|
|
97
|
-
const sourceFilePaths =
|
|
86
|
+
const sourceFilePaths =
|
|
87
|
+
await FileSystemService.getAllFilePathsRelative(sourceFolderPath);
|
|
98
88
|
|
|
99
89
|
await Promise.all(
|
|
100
90
|
sourceFilePaths.map(async (sourceFilePath) => {
|
|
@@ -102,7 +92,10 @@ export default class FileSystemService {
|
|
|
102
92
|
const targetFile = path.join(targetFolderPath, sourceFilePath);
|
|
103
93
|
|
|
104
94
|
// Check if the file should be ignored based on extensions
|
|
105
|
-
if (
|
|
95
|
+
if (
|
|
96
|
+
ignoreExtensions &&
|
|
97
|
+
FileSystemService.shouldIgnoreFile(sourceFile, ignoreExtensions)
|
|
98
|
+
) {
|
|
106
99
|
return;
|
|
107
100
|
}
|
|
108
101
|
|
|
@@ -118,7 +111,10 @@ export default class FileSystemService {
|
|
|
118
111
|
* @param filePath the path to the file to check
|
|
119
112
|
* @param ignoreExtensions array of extensions to ignore
|
|
120
113
|
*/
|
|
121
|
-
private static shouldIgnoreFile(
|
|
114
|
+
private static shouldIgnoreFile(
|
|
115
|
+
filePath: string,
|
|
116
|
+
ignoreExtensions: string[]
|
|
117
|
+
): boolean {
|
|
122
118
|
const fileName = path.basename(filePath);
|
|
123
119
|
|
|
124
120
|
return ignoreExtensions.some((extension) => {
|
|
@@ -137,7 +133,9 @@ export default class FileSystemService {
|
|
|
137
133
|
try {
|
|
138
134
|
await access(folderPath);
|
|
139
135
|
} catch {
|
|
140
|
-
DR.logger.verbose.info(
|
|
136
|
+
DR.logger.verbose.info(
|
|
137
|
+
`Directory "${folderPath}" does not exist. Creating it now...`
|
|
138
|
+
);
|
|
141
139
|
await mkdir(folderPath, { recursive: true });
|
|
142
140
|
}
|
|
143
141
|
}
|
|
@@ -193,11 +191,7 @@ export default class FileSystemService {
|
|
|
193
191
|
static async getAllFilePathsRelative(dirPath: string): Promise<string[]> {
|
|
194
192
|
const filePaths = await this.getAllFilePaths(dirPath);
|
|
195
193
|
return filePaths.map((filePath) => {
|
|
196
|
-
|
|
197
|
-
// Remove leading path separator if present
|
|
198
|
-
return relativePath.startsWith('/') || relativePath.startsWith('\\')
|
|
199
|
-
? relativePath.slice(1)
|
|
200
|
-
: relativePath;
|
|
194
|
+
return filePath.replace(dirPath, '');
|
|
201
195
|
});
|
|
202
196
|
}
|
|
203
197
|
|
|
@@ -212,7 +206,9 @@ export default class FileSystemService {
|
|
|
212
206
|
const { stdout } = await execAsync('git status --porcelain');
|
|
213
207
|
return stdout.trim().length > 0;
|
|
214
208
|
} catch (error) {
|
|
215
|
-
DR.logger.error(
|
|
209
|
+
DR.logger.error(
|
|
210
|
+
`Failed to check for pending changes: ${ErrorUtils.getErrorString(error)}`
|
|
211
|
+
);
|
|
216
212
|
return false;
|
|
217
213
|
}
|
|
218
214
|
}
|
|
@@ -313,85 +309,4 @@ export default class FileSystemService {
|
|
|
313
309
|
|
|
314
310
|
return results;
|
|
315
311
|
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Replaces all occurrences of a string in files within a directory.
|
|
319
|
-
* Supports glob patterns for including/excluding files and handles URL encoding.
|
|
320
|
-
*
|
|
321
|
-
* @param options Configuration object for the replacement operation
|
|
322
|
-
*/
|
|
323
|
-
static async replaceInFiles(options: ReplaceInFilesOptions): Promise<void> {
|
|
324
|
-
const {
|
|
325
|
-
searchString,
|
|
326
|
-
replaceString,
|
|
327
|
-
rootPath,
|
|
328
|
-
includePatterns = ['**/*'],
|
|
329
|
-
excludePatterns = ['**/node_modules/**', '**/.*/**'],
|
|
330
|
-
includeUrlEncoded = true,
|
|
331
|
-
dryRun = false
|
|
332
|
-
} = options;
|
|
333
|
-
|
|
334
|
-
DR.logger.info(`Replacing "${searchString}" with "${replaceString}" in ${rootPath}`);
|
|
335
|
-
|
|
336
|
-
if (dryRun) {
|
|
337
|
-
DR.logger.info('DRY RUN MODE - No files will be modified');
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
const allFiles = await this.getAllFilePaths(rootPath);
|
|
341
|
-
const filesToProcess = GlobMatchingService.getMatchingFiles(
|
|
342
|
-
allFiles,
|
|
343
|
-
rootPath,
|
|
344
|
-
includePatterns,
|
|
345
|
-
excludePatterns
|
|
346
|
-
);
|
|
347
|
-
|
|
348
|
-
let processedCount = 0;
|
|
349
|
-
let modifiedCount = 0;
|
|
350
|
-
|
|
351
|
-
for (const filePath of filesToProcess) {
|
|
352
|
-
try {
|
|
353
|
-
const content = await readFile(filePath, 'utf8');
|
|
354
|
-
let hasChanges = false;
|
|
355
|
-
let updatedContent = content;
|
|
356
|
-
|
|
357
|
-
// Replace the main string
|
|
358
|
-
if (content.includes(searchString)) {
|
|
359
|
-
updatedContent = updatedContent.replaceAll(searchString, replaceString);
|
|
360
|
-
hasChanges = true;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
// Replace URL-encoded version if requested
|
|
364
|
-
if (includeUrlEncoded) {
|
|
365
|
-
const encodedSearchString = encodeURIComponent(searchString);
|
|
366
|
-
const encodedReplaceString = encodeURIComponent(replaceString);
|
|
367
|
-
|
|
368
|
-
if (updatedContent.includes(encodedSearchString)) {
|
|
369
|
-
updatedContent = updatedContent.replaceAll(encodedSearchString, encodedReplaceString);
|
|
370
|
-
hasChanges = true;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
if (hasChanges) {
|
|
375
|
-
const relativePath = path.relative(rootPath, filePath);
|
|
376
|
-
DR.logger.info(`${dryRun ? 'Would update' : 'Updating'} ${relativePath}...`);
|
|
377
|
-
|
|
378
|
-
if (!dryRun) {
|
|
379
|
-
await writeFile(filePath, updatedContent, 'utf8');
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
modifiedCount++;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
processedCount++;
|
|
386
|
-
} catch (error) {
|
|
387
|
-
// Skip binary files or files we can't read
|
|
388
|
-
DR.logger.verbose.info(`Skipping ${filePath}: ${ErrorUtils.getErrorString(error)}`);
|
|
389
|
-
continue;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
DR.logger.info(
|
|
394
|
-
`${dryRun ? 'Would process' : 'Processed'} ${processedCount} files, ${dryRun ? 'would modify' : 'modified'} ${modifiedCount} files`
|
|
395
|
-
);
|
|
396
|
-
}
|
|
397
312
|
}
|
|
@@ -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;;;;;OAKG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageService.d.ts","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;OAKG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;WAqBnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C;;;;OAIG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAahD;;;;;OAKG;mBACkB,wBAAwB;IAkD7C;;;;;;;OAOG;mBACkB,wCAAwC;IA+C7D;;;;;;;;OAQG;mBACkB,gBAAgB;IAyBrC;;;;OAIG;mBACkB,UAAU;IAkB/B;;;;OAIG;mBACkB,cAAc;IA6BnC;;;;OAIG;mBACkB,gBAAgB;IAarC;;;;;OAKG;mBACkB,wBAAwB;IA6C7C;;;;;;;;;;;OAWG;mBACkB,uCAAuC;mBA4GvC,gBAAgB;IAarC;;;;;;;OAOG;mBACkB,wBAAwB;IA+C7C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2BpC"}
|
|
@@ -121,7 +121,8 @@ export default class PackageService {
|
|
|
121
121
|
for (const [depName, depVersion] of Object.entries(deps)) {
|
|
122
122
|
if (depVersion === '*' && depName in childPackages) {
|
|
123
123
|
// Replace wildcard with "*" + actual version from the monorepo
|
|
124
|
-
deps[depName] =
|
|
124
|
+
deps[depName] =
|
|
125
|
+
`*${childPackages[depName].packageJsonContents.version}`;
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
};
|
|
@@ -258,7 +259,8 @@ export default class PackageService {
|
|
|
258
259
|
return;
|
|
259
260
|
}
|
|
260
261
|
// Re-throw version conflict errors
|
|
261
|
-
if (errorString.includes('already exists') ||
|
|
262
|
+
if (errorString.includes('already exists') ||
|
|
263
|
+
errorString.includes('is lower than')) {
|
|
262
264
|
throw error;
|
|
263
265
|
}
|
|
264
266
|
// For other npm command errors, log but don't block
|
|
@@ -387,12 +389,14 @@ export default class PackageService {
|
|
|
387
389
|
catch (error) {
|
|
388
390
|
const errorString = ErrorUtils.getErrorString(error);
|
|
389
391
|
// If the package doesn't exist on JSR, that's fine for first publish
|
|
390
|
-
if (errorString.includes('Package not found') ||
|
|
392
|
+
if (errorString.includes('Package not found') ||
|
|
393
|
+
errorString.includes('404')) {
|
|
391
394
|
DR.logger.info('Package not found on JSR - this appears to be a first publish.');
|
|
392
395
|
return;
|
|
393
396
|
}
|
|
394
397
|
// Re-throw version conflict errors
|
|
395
|
-
if (errorString.includes('already exists') ||
|
|
398
|
+
if (errorString.includes('already exists') ||
|
|
399
|
+
errorString.includes('is lower than')) {
|
|
396
400
|
throw error;
|
|
397
401
|
}
|
|
398
402
|
// For other JSR command errors, log but don't block
|
|
@@ -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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"}
|