@aneuhold/core-ts-lib 2.0.10 → 2.1.1
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 +5 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/index.ts +6 -3
- package/lib/interfaces/ILogger.d.ts +48 -0
- package/lib/interfaces/ILogger.d.ts.map +1 -0
- package/lib/interfaces/ILogger.js +15 -0
- package/lib/interfaces/ILogger.js.map +1 -0
- package/lib/interfaces/ILogger.ts +55 -0
- package/lib/interfaces/ITracer.d.ts +79 -0
- package/lib/interfaces/ITracer.d.ts.map +1 -0
- package/lib/interfaces/ITracer.js +32 -0
- package/lib/interfaces/ITracer.js.map +1 -0
- package/lib/interfaces/ITracer.ts +102 -0
- package/lib/services/DependencyRegistry.d.ts +43 -0
- package/lib/services/DependencyRegistry.d.ts.map +1 -0
- package/lib/services/DependencyRegistry.js +52 -0
- package/lib/services/DependencyRegistry.js.map +1 -0
- package/lib/services/DependencyRegistry.ts +58 -0
- package/lib/services/DependencyService.js +4 -4
- package/lib/services/DependencyService.js.map +1 -1
- package/lib/services/DependencyService.ts +4 -4
- package/lib/services/FileSystemService/FileSystemService.d.ts +8 -0
- package/lib/services/FileSystemService/FileSystemService.d.ts.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.js +16 -8
- package/lib/services/FileSystemService/FileSystemService.js.map +1 -1
- package/lib/services/FileSystemService/FileSystemService.ts +16 -8
- package/lib/services/PackageService.js +16 -16
- package/lib/services/PackageService.js.map +1 -1
- package/lib/services/PackageService.ts +16 -16
- package/lib/utils/ConsoleLogger.d.ts +101 -0
- package/lib/utils/ConsoleLogger.d.ts.map +1 -0
- package/lib/utils/ConsoleLogger.js +146 -0
- package/lib/utils/ConsoleLogger.js.map +1 -0
- package/lib/utils/ConsoleLogger.ts +161 -0
- package/package.json +9 -9
- package/readme.md +6 -3
- package/lib/utils/Logger.d.ts +0 -95
- package/lib/utils/Logger.d.ts.map +0 -1
- package/lib/utils/Logger.js +0 -136
- package/lib/utils/Logger.js.map +0 -1
- package/lib/utils/Logger.ts +0 -146
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access, readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import ErrorUtils from '../utils/ErrorUtils.js';
|
|
4
|
-
import
|
|
4
|
+
import { DR } from './DependencyRegistry.js';
|
|
5
5
|
import FileSystemService from './FileSystemService/FileSystemService.js';
|
|
6
6
|
|
|
7
7
|
export interface PackageJson extends JsonWithVersionProperty {
|
|
@@ -125,7 +125,7 @@ export default class DependencyService {
|
|
|
125
125
|
try {
|
|
126
126
|
await access(filePath);
|
|
127
127
|
} catch {
|
|
128
|
-
|
|
128
|
+
DR.logger.info(
|
|
129
129
|
`No ${path.basename(filePath)} file found in the current directory.`
|
|
130
130
|
);
|
|
131
131
|
return;
|
|
@@ -139,12 +139,12 @@ export default class DependencyService {
|
|
|
139
139
|
const newVersion = bump(oldVersion);
|
|
140
140
|
fileData.version = newVersion;
|
|
141
141
|
await writeFile(filePath, JSON.stringify(fileData, null, 2));
|
|
142
|
-
|
|
142
|
+
DR.logger.info(
|
|
143
143
|
`Bumped ${path.basename(filePath)} from ${oldVersion} to ${newVersion}`
|
|
144
144
|
);
|
|
145
145
|
} catch (error) {
|
|
146
146
|
const errorString = ErrorUtils.getErrorString(error);
|
|
147
|
-
|
|
147
|
+
DR.logger.error(
|
|
148
148
|
`Failed to update ${path.basename(filePath)}: ${errorString}`
|
|
149
149
|
);
|
|
150
150
|
}
|
|
@@ -10,11 +10,15 @@ export default class FileSystemService {
|
|
|
10
10
|
*
|
|
11
11
|
* @param folderPath the path to the folder which contains the file that should
|
|
12
12
|
* be updated
|
|
13
|
+
* @param fileName
|
|
14
|
+
* @param textToInsert
|
|
13
15
|
*/
|
|
14
16
|
static findAndInsertText(folderPath: string, fileName: string, textToInsert: string): Promise<void>;
|
|
15
17
|
/**
|
|
16
18
|
* Copies the contents of one folder to another folder.
|
|
17
19
|
*
|
|
20
|
+
* @param sourceFolderPath
|
|
21
|
+
* @param targetFolderPath
|
|
18
22
|
* @param ignoreExtensions is an array with extensions that should be
|
|
19
23
|
* ignored. For example, if you want to ignore all .ts files, you would pass
|
|
20
24
|
* in ['ts'].
|
|
@@ -28,6 +32,8 @@ export default class FileSystemService {
|
|
|
28
32
|
* the directory path provided.
|
|
29
33
|
*
|
|
30
34
|
* If only relative file paths are needed, use {@link getAllFilePathsRelative}.
|
|
35
|
+
*
|
|
36
|
+
* @param dirPath
|
|
31
37
|
*/
|
|
32
38
|
static getAllFilePaths(dirPath: string): Promise<string[]>;
|
|
33
39
|
/**
|
|
@@ -36,6 +42,8 @@ export default class FileSystemService {
|
|
|
36
42
|
* include the directory path provided.
|
|
37
43
|
*
|
|
38
44
|
* If absolute file paths are needed, use {@link getAllFilePaths}.
|
|
45
|
+
*
|
|
46
|
+
* @param dirPath
|
|
39
47
|
*/
|
|
40
48
|
static getAllFilePathsRelative(dirPath: string): Promise<string[]>;
|
|
41
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemService.d.ts","sourceRoot":"./src/","sources":["services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC
|
|
1
|
+
{"version":3,"file":"FileSystemService.d.ts","sourceRoot":"./src/","sources":["services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAoBA;;;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;WAmCH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAWtD,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;IAOxE;;;;;OAKG;WACU,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;CAWnD"}
|
|
@@ -3,7 +3,7 @@ import { access, appendFile, cp, mkdir, readFile, readdir, rm, stat, writeFile }
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
6
|
-
import
|
|
6
|
+
import { DR } from '../DependencyRegistry.js';
|
|
7
7
|
import StringService from '../StringService.js';
|
|
8
8
|
const execAsync = promisify(exec);
|
|
9
9
|
/**
|
|
@@ -18,6 +18,8 @@ export default class FileSystemService {
|
|
|
18
18
|
*
|
|
19
19
|
* @param folderPath the path to the folder which contains the file that should
|
|
20
20
|
* be updated
|
|
21
|
+
* @param fileName
|
|
22
|
+
* @param textToInsert
|
|
21
23
|
*/
|
|
22
24
|
static async findAndInsertText(folderPath, fileName, textToInsert) {
|
|
23
25
|
const filePath = path.join(folderPath, fileName);
|
|
@@ -27,20 +29,22 @@ export default class FileSystemService {
|
|
|
27
29
|
const fileContents = await readFile(filePath);
|
|
28
30
|
if (!fileContents.includes(textToInsert)) {
|
|
29
31
|
await appendFile(filePath, `\n${textToInsert}`);
|
|
30
|
-
|
|
32
|
+
DR.logger.info(`Added "${textToInsert}" to "${filePath}"`);
|
|
31
33
|
}
|
|
32
34
|
else {
|
|
33
|
-
|
|
35
|
+
DR.logger.info(`"${textToInsert}" already exists in "${filePath}"`);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
catch {
|
|
37
|
-
|
|
39
|
+
DR.logger.info(`File at "${filePath}" didn't exist. Creating it now and adding "${textToInsert}" to it.`);
|
|
38
40
|
await writeFile(filePath, textToInsert);
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
/**
|
|
42
44
|
* Copies the contents of one folder to another folder.
|
|
43
45
|
*
|
|
46
|
+
* @param sourceFolderPath
|
|
47
|
+
* @param targetFolderPath
|
|
44
48
|
* @param ignoreExtensions is an array with extensions that should be
|
|
45
49
|
* ignored. For example, if you want to ignore all .ts files, you would pass
|
|
46
50
|
* in ['ts'].
|
|
@@ -51,7 +55,7 @@ export default class FileSystemService {
|
|
|
51
55
|
await access(sourceFolderPath);
|
|
52
56
|
}
|
|
53
57
|
catch {
|
|
54
|
-
|
|
58
|
+
DR.logger.error(`Source directory "${sourceFolderPath}" does not exist.`);
|
|
55
59
|
return;
|
|
56
60
|
}
|
|
57
61
|
await FileSystemService.checkOrCreateFolder(targetFolderPath);
|
|
@@ -74,7 +78,7 @@ export default class FileSystemService {
|
|
|
74
78
|
await access(folderPath);
|
|
75
79
|
}
|
|
76
80
|
catch {
|
|
77
|
-
|
|
81
|
+
DR.logger.verbose.info(`Directory "${folderPath}" does not exist. Creating it now...`);
|
|
78
82
|
await mkdir(folderPath, { recursive: true });
|
|
79
83
|
}
|
|
80
84
|
}
|
|
@@ -83,7 +87,7 @@ export default class FileSystemService {
|
|
|
83
87
|
await access(folderPath);
|
|
84
88
|
}
|
|
85
89
|
catch {
|
|
86
|
-
|
|
90
|
+
DR.logger.error(`Directory "${folderPath}" does not exist.`);
|
|
87
91
|
return;
|
|
88
92
|
}
|
|
89
93
|
await rm(folderPath, { recursive: true });
|
|
@@ -94,6 +98,8 @@ export default class FileSystemService {
|
|
|
94
98
|
* the directory path provided.
|
|
95
99
|
*
|
|
96
100
|
* If only relative file paths are needed, use {@link getAllFilePathsRelative}.
|
|
101
|
+
*
|
|
102
|
+
* @param dirPath
|
|
97
103
|
*/
|
|
98
104
|
static async getAllFilePaths(dirPath) {
|
|
99
105
|
const filePaths = [];
|
|
@@ -116,6 +122,8 @@ export default class FileSystemService {
|
|
|
116
122
|
* include the directory path provided.
|
|
117
123
|
*
|
|
118
124
|
* If absolute file paths are needed, use {@link getAllFilePaths}.
|
|
125
|
+
*
|
|
126
|
+
* @param dirPath
|
|
119
127
|
*/
|
|
120
128
|
static async getAllFilePathsRelative(dirPath) {
|
|
121
129
|
const filePaths = await this.getAllFilePaths(dirPath);
|
|
@@ -135,7 +143,7 @@ export default class FileSystemService {
|
|
|
135
143
|
return stdout.trim().length > 0;
|
|
136
144
|
}
|
|
137
145
|
catch (error) {
|
|
138
|
-
|
|
146
|
+
DR.logger.error(`Failed to check for pending changes: ${ErrorUtils.getErrorString(error)}`);
|
|
139
147
|
return false;
|
|
140
148
|
}
|
|
141
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemService.js","sourceRoot":"./src/","sources":["services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,MAAM,EACN,UAAU,EACV,EAAE,EACF,KAAK,EACL,QAAQ,EACR,OAAO,EACP,EAAE,EACF,IAAI,EACJ,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"FileSystemService.js","sourceRoot":"./src/","sources":["services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import path from 'path';
|
|
14
14
|
import { promisify } from 'util';
|
|
15
15
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
16
|
-
import
|
|
16
|
+
import { DR } from '../DependencyRegistry.js';
|
|
17
17
|
import StringService from '../StringService.js';
|
|
18
18
|
|
|
19
19
|
const execAsync = promisify(exec);
|
|
@@ -30,6 +30,8 @@ export default class FileSystemService {
|
|
|
30
30
|
*
|
|
31
31
|
* @param folderPath the path to the folder which contains the file that should
|
|
32
32
|
* be updated
|
|
33
|
+
* @param fileName
|
|
34
|
+
* @param textToInsert
|
|
33
35
|
*/
|
|
34
36
|
static async findAndInsertText(
|
|
35
37
|
folderPath: string,
|
|
@@ -45,12 +47,12 @@ export default class FileSystemService {
|
|
|
45
47
|
const fileContents = await readFile(filePath);
|
|
46
48
|
if (!fileContents.includes(textToInsert)) {
|
|
47
49
|
await appendFile(filePath, `\n${textToInsert}`);
|
|
48
|
-
|
|
50
|
+
DR.logger.info(`Added "${textToInsert}" to "${filePath}"`);
|
|
49
51
|
} else {
|
|
50
|
-
|
|
52
|
+
DR.logger.info(`"${textToInsert}" already exists in "${filePath}"`);
|
|
51
53
|
}
|
|
52
54
|
} catch {
|
|
53
|
-
|
|
55
|
+
DR.logger.info(
|
|
54
56
|
`File at "${filePath}" didn't exist. Creating it now and adding "${textToInsert}" to it.`
|
|
55
57
|
);
|
|
56
58
|
await writeFile(filePath, textToInsert);
|
|
@@ -60,6 +62,8 @@ export default class FileSystemService {
|
|
|
60
62
|
/**
|
|
61
63
|
* Copies the contents of one folder to another folder.
|
|
62
64
|
*
|
|
65
|
+
* @param sourceFolderPath
|
|
66
|
+
* @param targetFolderPath
|
|
63
67
|
* @param ignoreExtensions is an array with extensions that should be
|
|
64
68
|
* ignored. For example, if you want to ignore all .ts files, you would pass
|
|
65
69
|
* in ['ts'].
|
|
@@ -73,7 +77,7 @@ export default class FileSystemService {
|
|
|
73
77
|
try {
|
|
74
78
|
await access(sourceFolderPath);
|
|
75
79
|
} catch {
|
|
76
|
-
|
|
80
|
+
DR.logger.error(`Source directory "${sourceFolderPath}" does not exist.`);
|
|
77
81
|
return;
|
|
78
82
|
}
|
|
79
83
|
await FileSystemService.checkOrCreateFolder(targetFolderPath);
|
|
@@ -107,7 +111,7 @@ export default class FileSystemService {
|
|
|
107
111
|
try {
|
|
108
112
|
await access(folderPath);
|
|
109
113
|
} catch {
|
|
110
|
-
|
|
114
|
+
DR.logger.verbose.info(
|
|
111
115
|
`Directory "${folderPath}" does not exist. Creating it now...`
|
|
112
116
|
);
|
|
113
117
|
await mkdir(folderPath, { recursive: true });
|
|
@@ -118,7 +122,7 @@ export default class FileSystemService {
|
|
|
118
122
|
try {
|
|
119
123
|
await access(folderPath);
|
|
120
124
|
} catch {
|
|
121
|
-
|
|
125
|
+
DR.logger.error(`Directory "${folderPath}" does not exist.`);
|
|
122
126
|
return;
|
|
123
127
|
}
|
|
124
128
|
await rm(folderPath, { recursive: true });
|
|
@@ -130,6 +134,8 @@ export default class FileSystemService {
|
|
|
130
134
|
* the directory path provided.
|
|
131
135
|
*
|
|
132
136
|
* If only relative file paths are needed, use {@link getAllFilePathsRelative}.
|
|
137
|
+
*
|
|
138
|
+
* @param dirPath
|
|
133
139
|
*/
|
|
134
140
|
static async getAllFilePaths(dirPath: string): Promise<string[]> {
|
|
135
141
|
const filePaths: string[] = [];
|
|
@@ -157,6 +163,8 @@ export default class FileSystemService {
|
|
|
157
163
|
* include the directory path provided.
|
|
158
164
|
*
|
|
159
165
|
* If absolute file paths are needed, use {@link getAllFilePaths}.
|
|
166
|
+
*
|
|
167
|
+
* @param dirPath
|
|
160
168
|
*/
|
|
161
169
|
static async getAllFilePathsRelative(dirPath: string): Promise<string[]> {
|
|
162
170
|
const filePaths = await this.getAllFilePaths(dirPath);
|
|
@@ -176,7 +184,7 @@ export default class FileSystemService {
|
|
|
176
184
|
const { stdout } = await execAsync('git status --porcelain');
|
|
177
185
|
return stdout.trim().length > 0;
|
|
178
186
|
} catch (error) {
|
|
179
|
-
|
|
187
|
+
DR.logger.error(
|
|
180
188
|
`Failed to check for pending changes: ${ErrorUtils.getErrorString(error)}`
|
|
181
189
|
);
|
|
182
190
|
return false;
|
|
@@ -3,7 +3,7 @@ import { access, readFile, writeFile } from 'fs/promises';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
import ErrorUtils from '../utils/ErrorUtils.js';
|
|
6
|
-
import
|
|
6
|
+
import { DR } from './DependencyRegistry.js';
|
|
7
7
|
import FileSystemService from './FileSystemService/FileSystemService.js';
|
|
8
8
|
const execAsync = promisify(exec);
|
|
9
9
|
/**
|
|
@@ -19,7 +19,7 @@ export default class PackageService {
|
|
|
19
19
|
*/
|
|
20
20
|
static async validateJsrPublish() {
|
|
21
21
|
if (await FileSystemService.hasPendingChanges()) {
|
|
22
|
-
|
|
22
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
25
|
await PackageService.updateJsrFromPackageJson();
|
|
@@ -29,12 +29,12 @@ export default class PackageService {
|
|
|
29
29
|
process.exit(1);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
|
-
|
|
32
|
+
DR.logger.success('Successfully validated JSR publishing.');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
static async publishToJsr() {
|
|
36
36
|
if (await FileSystemService.hasPendingChanges()) {
|
|
37
|
-
|
|
37
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
38
38
|
process.exit(1);
|
|
39
39
|
}
|
|
40
40
|
await PackageService.updateJsrFromPackageJson();
|
|
@@ -44,7 +44,7 @@ export default class PackageService {
|
|
|
44
44
|
process.exit(1);
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
|
|
47
|
+
DR.logger.success('Successfully published to JSR.');
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
static async updateJsrFromPackageJson() {
|
|
@@ -55,14 +55,14 @@ export default class PackageService {
|
|
|
55
55
|
await access(packageJsonPath);
|
|
56
56
|
}
|
|
57
57
|
catch {
|
|
58
|
-
|
|
58
|
+
DR.logger.error('No package.json file found in the current directory.');
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
try {
|
|
62
62
|
await access(jsrJsonPath);
|
|
63
63
|
}
|
|
64
64
|
catch {
|
|
65
|
-
|
|
65
|
+
DR.logger.error('No jsr.json file found in the current directory.');
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
try {
|
|
@@ -70,11 +70,11 @@ export default class PackageService {
|
|
|
70
70
|
const jsrJsonData = JSON.parse(await readFile(jsrJsonPath, 'utf-8'));
|
|
71
71
|
jsrJsonData.version = packageJsonData.version;
|
|
72
72
|
await writeFile(jsrJsonPath, JSON.stringify(jsrJsonData, null, 2));
|
|
73
|
-
|
|
73
|
+
DR.logger.info('Updated jsr.json from package.json to version ' + jsrJsonData.version);
|
|
74
74
|
}
|
|
75
75
|
catch (error) {
|
|
76
76
|
const errorString = ErrorUtils.getErrorString(error);
|
|
77
|
-
|
|
77
|
+
DR.logger.error(`Failed to update jsr.json from package.json: ${errorString}`);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
@@ -82,16 +82,16 @@ export default class PackageService {
|
|
|
82
82
|
* successful, false otherwise.
|
|
83
83
|
*/
|
|
84
84
|
static async publishJsrDryRun() {
|
|
85
|
-
|
|
85
|
+
DR.logger.info('Running `jsr publish --dry-run`');
|
|
86
86
|
try {
|
|
87
87
|
const { stdout, stderr } = await execAsync('jsr publish --allow-dirty --dry-run');
|
|
88
88
|
if (stderr) {
|
|
89
|
-
|
|
89
|
+
DR.logger.info(stderr);
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
DR.logger.info(stdout);
|
|
92
92
|
}
|
|
93
93
|
catch (error) {
|
|
94
|
-
|
|
94
|
+
DR.logger.error(`Failed to run 'jsr publish --dry-run': ${ErrorUtils.getErrorString(error)}`);
|
|
95
95
|
return false;
|
|
96
96
|
}
|
|
97
97
|
return true;
|
|
@@ -102,7 +102,7 @@ export default class PackageService {
|
|
|
102
102
|
* @returns true if the publish was successful, false otherwise.
|
|
103
103
|
*/
|
|
104
104
|
static async publishJsr() {
|
|
105
|
-
|
|
105
|
+
DR.logger.info('Running `jsr publish`');
|
|
106
106
|
return new Promise((resolve) => {
|
|
107
107
|
const child = spawn('jsr publish', ['--allow-dirty'], {
|
|
108
108
|
stdio: 'inherit',
|
|
@@ -119,12 +119,12 @@ export default class PackageService {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
static async revertGitChanges() {
|
|
122
|
-
|
|
122
|
+
DR.logger.info('Reverting changes made to jsr.json');
|
|
123
123
|
try {
|
|
124
124
|
await execAsync('git checkout jsr.json');
|
|
125
125
|
}
|
|
126
126
|
catch (error) {
|
|
127
|
-
|
|
127
|
+
DR.logger.error(`Failed to revert changes made to jsr.json: ${ErrorUtils.getErrorString(error)}`);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageService.js","sourceRoot":"./src/","sources":["services/PackageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"PackageService.js","sourceRoot":"./src/","sources":["services/PackageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { access, readFile, writeFile } from 'fs/promises';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
import ErrorUtils from '../utils/ErrorUtils.js';
|
|
6
|
-
import
|
|
6
|
+
import { DR } from './DependencyRegistry.js';
|
|
7
7
|
import { JsonWithVersionProperty, PackageJson } from './DependencyService.js';
|
|
8
8
|
import FileSystemService from './FileSystemService/FileSystemService.js';
|
|
9
9
|
|
|
@@ -22,7 +22,7 @@ export default class PackageService {
|
|
|
22
22
|
*/
|
|
23
23
|
static async validateJsrPublish(): Promise<void> {
|
|
24
24
|
if (await FileSystemService.hasPendingChanges()) {
|
|
25
|
-
|
|
25
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
26
26
|
process.exit(1);
|
|
27
27
|
}
|
|
28
28
|
await PackageService.updateJsrFromPackageJson();
|
|
@@ -31,13 +31,13 @@ export default class PackageService {
|
|
|
31
31
|
if (!successfulDryRun) {
|
|
32
32
|
process.exit(1);
|
|
33
33
|
} else {
|
|
34
|
-
|
|
34
|
+
DR.logger.success('Successfully validated JSR publishing.');
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
static async publishToJsr(): Promise<void> {
|
|
39
39
|
if (await FileSystemService.hasPendingChanges()) {
|
|
40
|
-
|
|
40
|
+
DR.logger.error('Please commit or stash your changes before publishing.');
|
|
41
41
|
process.exit(1);
|
|
42
42
|
}
|
|
43
43
|
await PackageService.updateJsrFromPackageJson();
|
|
@@ -46,7 +46,7 @@ export default class PackageService {
|
|
|
46
46
|
if (!result) {
|
|
47
47
|
process.exit(1);
|
|
48
48
|
} else {
|
|
49
|
-
|
|
49
|
+
DR.logger.success('Successfully published to JSR.');
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -58,14 +58,14 @@ export default class PackageService {
|
|
|
58
58
|
try {
|
|
59
59
|
await access(packageJsonPath);
|
|
60
60
|
} catch {
|
|
61
|
-
|
|
61
|
+
DR.logger.error('No package.json file found in the current directory.');
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
try {
|
|
66
66
|
await access(jsrJsonPath);
|
|
67
67
|
} catch {
|
|
68
|
-
|
|
68
|
+
DR.logger.error('No jsr.json file found in the current directory.');
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -78,12 +78,12 @@ export default class PackageService {
|
|
|
78
78
|
) as JsonWithVersionProperty;
|
|
79
79
|
jsrJsonData.version = packageJsonData.version;
|
|
80
80
|
await writeFile(jsrJsonPath, JSON.stringify(jsrJsonData, null, 2));
|
|
81
|
-
|
|
81
|
+
DR.logger.info(
|
|
82
82
|
'Updated jsr.json from package.json to version ' + jsrJsonData.version
|
|
83
83
|
);
|
|
84
84
|
} catch (error) {
|
|
85
85
|
const errorString = ErrorUtils.getErrorString(error);
|
|
86
|
-
|
|
86
|
+
DR.logger.error(
|
|
87
87
|
`Failed to update jsr.json from package.json: ${errorString}`
|
|
88
88
|
);
|
|
89
89
|
}
|
|
@@ -94,17 +94,17 @@ export default class PackageService {
|
|
|
94
94
|
* successful, false otherwise.
|
|
95
95
|
*/
|
|
96
96
|
private static async publishJsrDryRun(): Promise<boolean> {
|
|
97
|
-
|
|
97
|
+
DR.logger.info('Running `jsr publish --dry-run`');
|
|
98
98
|
try {
|
|
99
99
|
const { stdout, stderr } = await execAsync(
|
|
100
100
|
'jsr publish --allow-dirty --dry-run'
|
|
101
101
|
);
|
|
102
102
|
if (stderr) {
|
|
103
|
-
|
|
103
|
+
DR.logger.info(stderr);
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
DR.logger.info(stdout);
|
|
106
106
|
} catch (error) {
|
|
107
|
-
|
|
107
|
+
DR.logger.error(
|
|
108
108
|
`Failed to run 'jsr publish --dry-run': ${ErrorUtils.getErrorString(error)}`
|
|
109
109
|
);
|
|
110
110
|
return false;
|
|
@@ -118,7 +118,7 @@ export default class PackageService {
|
|
|
118
118
|
* @returns true if the publish was successful, false otherwise.
|
|
119
119
|
*/
|
|
120
120
|
private static async publishJsr(): Promise<boolean> {
|
|
121
|
-
|
|
121
|
+
DR.logger.info('Running `jsr publish`');
|
|
122
122
|
return new Promise((resolve) => {
|
|
123
123
|
const child = spawn('jsr publish', ['--allow-dirty'], {
|
|
124
124
|
stdio: 'inherit',
|
|
@@ -136,11 +136,11 @@ export default class PackageService {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
private static async revertGitChanges(): Promise<void> {
|
|
139
|
-
|
|
139
|
+
DR.logger.info('Reverting changes made to jsr.json');
|
|
140
140
|
try {
|
|
141
141
|
await execAsync('git checkout jsr.json');
|
|
142
142
|
} catch (error) {
|
|
143
|
-
|
|
143
|
+
DR.logger.error(
|
|
144
144
|
`Failed to revert changes made to jsr.json: ${ErrorUtils.getErrorString(error)}`
|
|
145
145
|
);
|
|
146
146
|
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ILogger } from '../interfaces/ILogger.js';
|
|
2
|
+
/**
|
|
3
|
+
* A standard logger that logs messages to the console.
|
|
4
|
+
* Implements the ILogger interface.
|
|
5
|
+
*/
|
|
6
|
+
export default class ConsoleLogger implements ILogger {
|
|
7
|
+
/**
|
|
8
|
+
* Indicates if verbose logging is enabled globally.
|
|
9
|
+
* Affects instances created via the `verbose` getter or constructor.
|
|
10
|
+
*/
|
|
11
|
+
static verboseLoggingEnabled: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Private flag indicating if this instance should only log when verbose mode is enabled.
|
|
14
|
+
*/
|
|
15
|
+
private logOnlyIfVerbose;
|
|
16
|
+
/**
|
|
17
|
+
* Creates an instance of ConsoleLogger.
|
|
18
|
+
*
|
|
19
|
+
* @param logOnlyIfVerbose - If true, this instance will only log messages if
|
|
20
|
+
* `ConsoleLogger.verboseLoggingEnabled` is also true.
|
|
21
|
+
*/
|
|
22
|
+
constructor(logOnlyIfVerbose?: boolean);
|
|
23
|
+
/**
|
|
24
|
+
* Gets a new ConsoleLogger instance configured for verbose logging.
|
|
25
|
+
* This instance will only log if `ConsoleLogger.verboseLoggingEnabled` is true.
|
|
26
|
+
*
|
|
27
|
+
* @returns A new ConsoleLogger instance set to log only when verbose mode is active.
|
|
28
|
+
*/
|
|
29
|
+
get verbose(): ConsoleLogger;
|
|
30
|
+
/**
|
|
31
|
+
* Static getter for a verbose ConsoleLogger instance.
|
|
32
|
+
* Equivalent to `new ConsoleLogger().verbose`.
|
|
33
|
+
*
|
|
34
|
+
* @returns A new ConsoleLogger instance set to log only when verbose mode is active.
|
|
35
|
+
*/
|
|
36
|
+
static get verbose(): ConsoleLogger;
|
|
37
|
+
/**
|
|
38
|
+
* Logs info to the console. Prepends `ℹ️` to each message.
|
|
39
|
+
* Respects the instance's `logOnlyIfVerbose` setting and the global `verboseLoggingEnabled` flag.
|
|
40
|
+
*
|
|
41
|
+
* @param msg - The message to log.
|
|
42
|
+
* @param skipNewline - If true, the message will be logged without a newline.
|
|
43
|
+
*/
|
|
44
|
+
info(msg: string, skipNewline?: boolean): void;
|
|
45
|
+
/**
|
|
46
|
+
* Static version of {@link ConsoleLogger.prototype.info}. Logs using a default instance.
|
|
47
|
+
*
|
|
48
|
+
* @param msg - The message to log.
|
|
49
|
+
* @param skipNewline - If true, the message will be logged without a newline.
|
|
50
|
+
*/
|
|
51
|
+
static info(msg: string, skipNewline?: boolean): void;
|
|
52
|
+
/**
|
|
53
|
+
* Logs a success message to the console. Prepends `✅` to each message.
|
|
54
|
+
* Respects the instance's `logOnlyIfVerbose` setting and the global `verboseLoggingEnabled` flag.
|
|
55
|
+
*
|
|
56
|
+
* @param msg - The message to log.
|
|
57
|
+
*/
|
|
58
|
+
success(msg: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Static version of {@link ConsoleLogger.prototype.success}. Logs using a default instance.
|
|
61
|
+
*
|
|
62
|
+
* @param msg - The message to log.
|
|
63
|
+
*/
|
|
64
|
+
static success(msg: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Logs a failure message to the console. Prepends `🔴` to each message.
|
|
67
|
+
* Uses `console.log`. See {@link error} for critical errors.
|
|
68
|
+
* Respects the instance's `logOnlyIfVerbose` setting and the global `verboseLoggingEnabled` flag.
|
|
69
|
+
*
|
|
70
|
+
* @param msg - The message to log.
|
|
71
|
+
*/
|
|
72
|
+
failure(msg: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Static version of {@link ConsoleLogger.prototype.failure}. Logs using a default instance.
|
|
75
|
+
*
|
|
76
|
+
* @param msg - The message to log.
|
|
77
|
+
*/
|
|
78
|
+
static failure(msg: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Logs an error message to the console using `console.error`. Prepends `💀`.
|
|
81
|
+
* Use for potentially execution-stopping errors. See {@link failure} for non-critical issues.
|
|
82
|
+
* Respects the instance's `logOnlyIfVerbose` setting and the global `verboseLoggingEnabled` flag.
|
|
83
|
+
*
|
|
84
|
+
* @param msg - The message to log.
|
|
85
|
+
*/
|
|
86
|
+
error(msg: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* Static version of {@link ConsoleLogger.prototype.error}. Logs using a default instance.
|
|
89
|
+
*
|
|
90
|
+
* @param msg - The message to log.
|
|
91
|
+
*/
|
|
92
|
+
static error(msg: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Determines if the message should be logged based on the instance's verbose setting
|
|
95
|
+
* and the global verbose logging flag.
|
|
96
|
+
*
|
|
97
|
+
* @returns True if the message should be logged, false otherwise.
|
|
98
|
+
*/
|
|
99
|
+
private shouldLog;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=ConsoleLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"./src/","sources":["utils/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,OAAO;IACnD;;;OAGG;IACH,OAAc,qBAAqB,UAAS;IAE5C;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;;OAKG;gBACS,gBAAgB,CAAC,EAAE,OAAO;IAMtC;;;;;OAKG;IACH,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED;;;;;OAKG;IACH,MAAM,KAAK,OAAO,IAAI,aAAa,CAElC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAiB9C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CAKlB"}
|