@aneuhold/core-ts-lib 2.4.3 → 2.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -1
- package/lib/browser.d.ts +10 -6
- package/lib/browser.d.ts.map +1 -1
- package/lib/browser.js +7 -4
- package/lib/browser.js.map +1 -1
- package/lib/browser.ts +21 -5
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/index.ts +4 -4
- package/lib/services/{ArrayService.d.ts → Array.service.d.ts} +1 -1
- package/lib/services/Array.service.d.ts.map +1 -0
- package/lib/services/{ArrayService.js → Array.service.js} +1 -1
- package/lib/services/Array.service.js.map +1 -0
- package/lib/services/ChangelogService/{ChangelogService.d.ts → Changelog.service.d.ts} +2 -28
- package/lib/services/ChangelogService/Changelog.service.d.ts.map +1 -0
- package/lib/services/ChangelogService/{ChangelogService.js → Changelog.service.js} +11 -11
- package/lib/services/ChangelogService/Changelog.service.js.map +1 -0
- package/lib/services/ChangelogService/{ChangelogService.ts → Changelog.service.ts} +10 -10
- package/lib/services/ChangelogService/{ChangelogFileService.d.ts → ChangelogFile.service.d.ts} +1 -1
- package/lib/services/ChangelogService/ChangelogFile.service.d.ts.map +1 -0
- package/lib/services/ChangelogService/{ChangelogFileService.js → ChangelogFile.service.js} +1 -1
- package/lib/services/ChangelogService/ChangelogFile.service.js.map +1 -0
- package/lib/services/ChangelogService/ChangelogGenerator.js +1 -1
- package/lib/services/ChangelogService/ChangelogGenerator.js.map +1 -1
- package/lib/services/ChangelogService/ChangelogGenerator.ts +1 -1
- package/lib/services/ChangelogService/ChangelogParser.d.ts +1 -7
- package/lib/services/ChangelogService/ChangelogParser.d.ts.map +1 -1
- package/lib/services/ChangelogService/ChangelogParser.js +4 -4
- package/lib/services/ChangelogService/ChangelogParser.js.map +1 -1
- package/lib/services/ChangelogService/ChangelogParser.ts +6 -6
- package/lib/services/ChangelogService/{GitTagService.d.ts → GitTag.service.d.ts} +2 -8
- package/lib/services/ChangelogService/GitTag.service.d.ts.map +1 -0
- package/lib/services/ChangelogService/{GitTagService.js → GitTag.service.js} +4 -4
- package/lib/services/ChangelogService/GitTag.service.js.map +1 -0
- package/lib/services/ChangelogService/{GitTagService.ts → GitTag.service.ts} +3 -3
- package/lib/services/ChangelogService/{RepositoryInfoService.d.ts → RepositoryInfo.service.d.ts} +1 -1
- package/lib/services/ChangelogService/RepositoryInfo.service.d.ts.map +1 -0
- package/lib/services/ChangelogService/{RepositoryInfoService.js → RepositoryInfo.service.js} +1 -1
- package/lib/services/ChangelogService/RepositoryInfo.service.js.map +1 -0
- package/lib/services/ChangelogService/{RepositoryInfoService.ts → RepositoryInfo.service.ts} +1 -1
- package/lib/services/ChangelogService/index.d.ts +1 -1
- package/lib/services/ChangelogService/index.d.ts.map +1 -1
- package/lib/services/ChangelogService/index.js +1 -1
- package/lib/services/ChangelogService/index.js.map +1 -1
- package/lib/services/ChangelogService/index.ts +1 -1
- package/lib/services/ChangelogService/types.d.ts +7 -0
- package/lib/services/ChangelogService/types.d.ts.map +1 -1
- package/lib/services/ChangelogService/types.js +7 -0
- package/lib/services/ChangelogService/types.js.map +1 -1
- package/lib/services/ChangelogService/types.ts +9 -0
- package/lib/services/DateService/{DateService.d.ts → Date.service.d.ts} +2 -3
- package/lib/services/DateService/Date.service.d.ts.map +1 -0
- package/lib/services/DateService/{DateService.js → Date.service.js} +12 -10
- package/lib/services/DateService/Date.service.js.map +1 -0
- package/lib/services/DateService/{DateService.ts → Date.service.ts} +12 -9
- package/lib/services/{DependencyService.d.ts → Dependency.service.d.ts} +2 -10
- package/lib/services/Dependency.service.d.ts.map +1 -0
- package/lib/services/{DependencyService.js → Dependency.service.js} +13 -10
- package/lib/services/Dependency.service.js.map +1 -0
- package/lib/services/{DependencyService.ts → Dependency.service.ts} +15 -11
- package/lib/services/DependencyRegistry.d.ts +1 -2
- package/lib/services/DependencyRegistry.d.ts.map +1 -1
- package/lib/services/DependencyRegistry.js +6 -6
- package/lib/services/DependencyRegistry.js.map +1 -1
- package/lib/services/DependencyRegistry.ts +6 -6
- package/lib/services/FileSystemService/{FileSystemService.d.ts → FileSystem.service.d.ts} +2 -25
- package/lib/services/FileSystemService/FileSystem.service.d.ts.map +1 -0
- package/lib/services/FileSystemService/{FileSystemService.js → FileSystem.service.js} +15 -15
- package/lib/services/FileSystemService/FileSystem.service.js.map +1 -0
- package/lib/services/FileSystemService/{FileSystemService.ts → FileSystem.service.ts} +20 -17
- package/lib/services/FileSystemService/{GlobMatchingService.d.ts → GlobMatching.service.d.ts} +2 -18
- package/lib/services/FileSystemService/GlobMatching.service.d.ts.map +1 -0
- package/lib/services/FileSystemService/{GlobMatchingService.js → GlobMatching.service.js} +6 -6
- package/lib/services/FileSystemService/GlobMatching.service.js.map +1 -0
- package/lib/services/FileSystemService/{GlobMatchingService.ts → GlobMatching.service.ts} +5 -5
- package/lib/services/PackageService/JsrPackage.service.d.ts +29 -0
- package/lib/services/PackageService/JsrPackage.service.d.ts.map +1 -0
- package/lib/services/PackageService/{JsrPackageService.js → JsrPackage.service.js} +25 -22
- package/lib/services/PackageService/JsrPackage.service.js.map +1 -0
- package/lib/services/PackageService/{JsrPackageService.ts → JsrPackage.service.ts} +31 -28
- package/lib/services/PackageService/{NpmPackageService.d.ts → NpmPackage.service.d.ts} +2 -20
- package/lib/services/PackageService/NpmPackage.service.d.ts.map +1 -0
- package/lib/services/PackageService/{NpmPackageService.js → NpmPackage.service.js} +10 -10
- package/lib/services/PackageService/NpmPackage.service.js.map +1 -0
- package/lib/services/PackageService/{NpmPackageService.ts → NpmPackage.service.ts} +10 -13
- package/lib/services/PackageService/{PackageService.d.ts → Package.service.d.ts} +1 -1
- package/lib/services/PackageService/Package.service.d.ts.map +1 -0
- package/lib/services/PackageService/{PackageService.js → Package.service.js} +3 -3
- package/lib/services/PackageService/Package.service.js.map +1 -0
- package/lib/services/PackageService/{PackageService.ts → Package.service.ts} +2 -2
- package/lib/services/PackageService/PackageServiceUtils.d.ts +1 -10
- package/lib/services/PackageService/PackageServiceUtils.d.ts.map +1 -1
- package/lib/services/PackageService/PackageServiceUtils.js +8 -6
- package/lib/services/PackageService/PackageServiceUtils.js.map +1 -1
- package/lib/services/PackageService/PackageServiceUtils.ts +11 -7
- package/lib/services/{StringService.d.ts → String.service.d.ts} +1 -1
- package/lib/services/String.service.d.ts.map +1 -0
- package/lib/services/{StringService.js → String.service.js} +1 -1
- package/lib/services/String.service.js.map +1 -0
- package/lib/types/DeepPartial.d.ts +1 -1
- package/lib/types/DeepPartial.d.ts.map +1 -1
- package/lib/types/DeepPartial.ts +1 -1
- package/lib/types/JsonWithVersionProperty.d.ts +7 -0
- package/lib/types/JsonWithVersionProperty.d.ts.map +1 -1
- package/lib/types/JsonWithVersionProperty.js +10 -1
- package/lib/types/JsonWithVersionProperty.js.map +1 -1
- package/lib/types/JsonWithVersionProperty.ts +12 -0
- package/lib/types/PackageJson.d.ts +22 -0
- package/lib/types/PackageJson.d.ts.map +1 -1
- package/lib/types/PackageJson.js +15 -1
- package/lib/types/PackageJson.js.map +1 -1
- package/lib/types/PackageJson.ts +28 -0
- package/lib/utils/ConsoleLogger.d.ts +1 -11
- package/lib/utils/ConsoleLogger.d.ts.map +1 -1
- package/lib/utils/ConsoleLogger.js +8 -8
- package/lib/utils/ConsoleLogger.js.map +1 -1
- package/lib/utils/ConsoleLogger.ts +8 -8
- package/lib/utils/ErrorUtils.d.ts +2 -2
- package/lib/utils/ErrorUtils.d.ts.map +1 -1
- package/lib/utils/ErrorUtils.js.map +1 -1
- package/lib/utils/ErrorUtils.ts +2 -2
- package/lib/utils/JsonUtils.d.ts +14 -0
- package/lib/utils/JsonUtils.d.ts.map +1 -0
- package/lib/utils/JsonUtils.js +20 -0
- package/lib/utils/JsonUtils.js.map +1 -0
- package/lib/utils/JsonUtils.ts +23 -0
- package/lib/utils/TestUtils.d.ts +1 -1
- package/lib/utils/TestUtils.d.ts.map +1 -1
- package/lib/utils/TestUtils.js +5 -5
- package/lib/utils/TestUtils.js.map +1 -1
- package/lib/utils/TestUtils.ts +5 -5
- package/package.json +2 -2
- package/lib/services/ArrayService.d.ts.map +0 -1
- package/lib/services/ArrayService.js.map +0 -1
- package/lib/services/ChangelogService/ChangelogFileService.d.ts.map +0 -1
- package/lib/services/ChangelogService/ChangelogFileService.js.map +0 -1
- package/lib/services/ChangelogService/ChangelogService.d.ts.map +0 -1
- package/lib/services/ChangelogService/ChangelogService.js.map +0 -1
- package/lib/services/ChangelogService/GitTagService.d.ts.map +0 -1
- package/lib/services/ChangelogService/GitTagService.js.map +0 -1
- package/lib/services/ChangelogService/RepositoryInfoService.d.ts.map +0 -1
- package/lib/services/ChangelogService/RepositoryInfoService.js.map +0 -1
- package/lib/services/DateService/DateService.d.ts.map +0 -1
- package/lib/services/DateService/DateService.js.map +0 -1
- package/lib/services/DependencyService.d.ts.map +0 -1
- package/lib/services/DependencyService.js.map +0 -1
- package/lib/services/FileSystemService/FileSystemService.d.ts.map +0 -1
- package/lib/services/FileSystemService/FileSystemService.js.map +0 -1
- package/lib/services/FileSystemService/GlobMatchingService.d.ts.map +0 -1
- package/lib/services/FileSystemService/GlobMatchingService.js.map +0 -1
- package/lib/services/PackageService/JsrPackageService.d.ts +0 -83
- package/lib/services/PackageService/JsrPackageService.d.ts.map +0 -1
- package/lib/services/PackageService/JsrPackageService.js.map +0 -1
- package/lib/services/PackageService/NpmPackageService.d.ts.map +0 -1
- package/lib/services/PackageService/NpmPackageService.js.map +0 -1
- package/lib/services/PackageService/PackageService.d.ts.map +0 -1
- package/lib/services/PackageService/PackageService.js.map +0 -1
- package/lib/services/StringService.d.ts.map +0 -1
- package/lib/services/StringService.js.map +0 -1
- /package/lib/services/{ArrayService.ts → Array.service.ts} +0 -0
- /package/lib/services/ChangelogService/{ChangelogFileService.ts → ChangelogFile.service.ts} +0 -0
- /package/lib/services/{StringService.ts → String.service.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ChangelogSection,
|
|
2
|
-
import {
|
|
1
|
+
import type { ChangelogSection, ChangelogVersionEntry } from './types.js';
|
|
2
|
+
import { isRequiredSectionType } from './types.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Service for parsing changelog content and extracting structured data.
|
|
@@ -29,7 +29,7 @@ export default class ChangelogParser {
|
|
|
29
29
|
const sectionContent = lines.slice(1).join('\n');
|
|
30
30
|
|
|
31
31
|
// Parse sections within the version entry
|
|
32
|
-
const parsedSections = this
|
|
32
|
+
const parsedSections = this.#parseVersionSections(sectionContent);
|
|
33
33
|
|
|
34
34
|
versionEntries.push({
|
|
35
35
|
version,
|
|
@@ -47,7 +47,7 @@ export default class ChangelogParser {
|
|
|
47
47
|
* @param content The content of a version entry
|
|
48
48
|
* @returns Array of parsed sections
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
static #parseVersionSections(content: string): ChangelogSection[] {
|
|
51
51
|
const sections: ChangelogSection[] = [];
|
|
52
52
|
|
|
53
53
|
// Split by ### to get individual sections
|
|
@@ -55,9 +55,9 @@ export default class ChangelogParser {
|
|
|
55
55
|
|
|
56
56
|
for (const part of sectionParts) {
|
|
57
57
|
const lines = part.split('\n');
|
|
58
|
-
const sectionType = lines[0].trim()
|
|
58
|
+
const sectionType = lines[0].trim();
|
|
59
59
|
|
|
60
|
-
if (
|
|
60
|
+
if (isRequiredSectionType(sectionType)) {
|
|
61
61
|
// Get content after the section header
|
|
62
62
|
let sectionContent = lines.slice(1).join('\n');
|
|
63
63
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Service for handling Git tag operations related to changelog management.
|
|
3
3
|
*/
|
|
4
4
|
export default class GitTagService {
|
|
5
|
+
#private;
|
|
5
6
|
/**
|
|
6
7
|
* Gets Git tags for a specific package.
|
|
7
8
|
*
|
|
@@ -18,12 +19,5 @@ export default class GitTagService {
|
|
|
18
19
|
* @returns The expected Git tag name
|
|
19
20
|
*/
|
|
20
21
|
static getTagName(packageName: string, version: string): string;
|
|
21
|
-
/**
|
|
22
|
-
* Converts package name to tag prefix (removes scope if present).
|
|
23
|
-
*
|
|
24
|
-
* @param packageName The package name
|
|
25
|
-
* @returns The tag prefix
|
|
26
|
-
*/
|
|
27
|
-
private static getTagPrefix;
|
|
28
22
|
}
|
|
29
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=GitTag.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitTag.service.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/GitTag.service.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAuBxE;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAchE"}
|
|
@@ -15,7 +15,7 @@ export default class GitTagService {
|
|
|
15
15
|
static getPackageTags(packageName, workingDir) {
|
|
16
16
|
try {
|
|
17
17
|
// Convert package name to tag prefix (remove scope if present)
|
|
18
|
-
const tagPrefix = this
|
|
18
|
+
const tagPrefix = this.#getTagPrefix(packageName);
|
|
19
19
|
const tagPattern = `${tagPrefix}-v*`;
|
|
20
20
|
// Get all tags matching the pattern
|
|
21
21
|
const output = execSync(`git tag -l "${tagPattern}"`, {
|
|
@@ -41,7 +41,7 @@ export default class GitTagService {
|
|
|
41
41
|
* @returns The expected Git tag name
|
|
42
42
|
*/
|
|
43
43
|
static getTagName(packageName, version) {
|
|
44
|
-
const tagPrefix = this
|
|
44
|
+
const tagPrefix = this.#getTagPrefix(packageName);
|
|
45
45
|
return `${tagPrefix}-v${version}`;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -50,8 +50,8 @@ export default class GitTagService {
|
|
|
50
50
|
* @param packageName The package name
|
|
51
51
|
* @returns The tag prefix
|
|
52
52
|
*/
|
|
53
|
-
static getTagPrefix(packageName) {
|
|
53
|
+
static #getTagPrefix(packageName) {
|
|
54
54
|
return packageName.replace(/^@[\w-]+\//, '');
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=GitTag.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitTag.service.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/GitTag.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,WAAmB,EAAE,UAAkB;QAC3D,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,GAAG,SAAS,KAAK,CAAC;YAErC,oCAAoC;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,UAAU,GAAG,EAAE;gBACpD,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,OAAO,MAAM;iBACV,IAAI,EAAE;iBACN,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,WAAmB,EAAE,OAAe;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,WAAmB;QACtC,OAAO,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -16,7 +16,7 @@ export default class GitTagService {
|
|
|
16
16
|
static getPackageTags(packageName: string, workingDir: string): string[] {
|
|
17
17
|
try {
|
|
18
18
|
// Convert package name to tag prefix (remove scope if present)
|
|
19
|
-
const tagPrefix = this
|
|
19
|
+
const tagPrefix = this.#getTagPrefix(packageName);
|
|
20
20
|
const tagPattern = `${tagPrefix}-v*`;
|
|
21
21
|
|
|
22
22
|
// Get all tags matching the pattern
|
|
@@ -44,7 +44,7 @@ export default class GitTagService {
|
|
|
44
44
|
* @returns The expected Git tag name
|
|
45
45
|
*/
|
|
46
46
|
static getTagName(packageName: string, version: string): string {
|
|
47
|
-
const tagPrefix = this
|
|
47
|
+
const tagPrefix = this.#getTagPrefix(packageName);
|
|
48
48
|
return `${tagPrefix}-v${version}`;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ export default class GitTagService {
|
|
|
54
54
|
* @param packageName The package name
|
|
55
55
|
* @returns The tag prefix
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
static #getTagPrefix(packageName: string): string {
|
|
58
58
|
return packageName.replace(/^@[\w-]+\//, '');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepositoryInfo.service.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/RepositoryInfo.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;;;OAKG;WACU,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAiDrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepositoryInfo.service.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/RepositoryInfo.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAoB;QACjD,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE5D,gEAAgE;YAChE,IACE,OAAO,WAAW,KAAK,QAAQ;gBAC/B,WAAW,KAAK,IAAI;gBACpB,CAAC,CAAC,YAAY,IAAI,WAAW,CAAC;gBAC9B,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;gBAC1C,WAAW,CAAC,UAAU,KAAK,IAAI;gBAC/B,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC;gBAClC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,EAC9C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAEvC,+BAA+B;YAC/B,IAAI,MAAM,GAAG,GAAG,CAAC;YACjB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,yCAAyC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAE9B,OAAO;gBACL,KAAK;gBACL,IAAI;gBACJ,GAAG,EAAE,sBAAsB,KAAK,IAAI,IAAI,EAAE;aAC3C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/lib/services/ChangelogService/{RepositoryInfoService.ts → RepositoryInfo.service.ts}
RENAMED
|
@@ -18,7 +18,7 @@ export default class RepositoryInfoService {
|
|
|
18
18
|
|
|
19
19
|
try {
|
|
20
20
|
const packageJsonContent = await readFile(packageJsonPath, 'utf-8');
|
|
21
|
-
const packageJson = JSON.parse(packageJsonContent)
|
|
21
|
+
const packageJson: unknown = JSON.parse(packageJsonContent);
|
|
22
22
|
|
|
23
23
|
// Type guard to check if packageJson has the expected structure
|
|
24
24
|
if (
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from './
|
|
1
|
+
export { default } from './Changelog.service.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from './
|
|
1
|
+
export { default } from './Changelog.service.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from './
|
|
1
|
+
export { default } from './Changelog.service.js';
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
export declare const CHANGELOG_FILENAME = "CHANGELOG.md";
|
|
2
2
|
export declare const REQUIRED_SECTION_TYPES: readonly ["✅ Added", "🏗️ Changed", "🩹 Fixed", "🔥 Removed"];
|
|
3
3
|
export type ChangelogSectionType = (typeof REQUIRED_SECTION_TYPES)[number];
|
|
4
|
+
/**
|
|
5
|
+
* Type guard that checks whether a string is one of the required
|
|
6
|
+
* {@link ChangelogSectionType} values.
|
|
7
|
+
*
|
|
8
|
+
* @param value The value to narrow.
|
|
9
|
+
*/
|
|
10
|
+
export declare const isRequiredSectionType: (value: string) => value is ChangelogSectionType;
|
|
4
11
|
/**
|
|
5
12
|
* Repository information for generating version links.
|
|
6
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,sBAAsB,+DAAgE,CAAC;AAEpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,sBAAsB,+DAAgE,CAAC;AAEpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,oBACA,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
export const CHANGELOG_FILENAME = 'CHANGELOG.md';
|
|
2
2
|
export const REQUIRED_SECTION_TYPES = ['✅ Added', '🏗️ Changed', '🩹 Fixed', '🔥 Removed'];
|
|
3
|
+
/**
|
|
4
|
+
* Type guard that checks whether a string is one of the required
|
|
5
|
+
* {@link ChangelogSectionType} values.
|
|
6
|
+
*
|
|
7
|
+
* @param value The value to narrow.
|
|
8
|
+
*/
|
|
9
|
+
export const isRequiredSectionType = (value) => REQUIRED_SECTION_TYPES.some((required) => required === value);
|
|
3
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAIpG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAiC,EAAE,CACpF,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC"}
|
|
@@ -3,6 +3,15 @@ export const REQUIRED_SECTION_TYPES = ['✅ Added', '🏗️ Changed', '🩹 Fix
|
|
|
3
3
|
|
|
4
4
|
export type ChangelogSectionType = (typeof REQUIRED_SECTION_TYPES)[number];
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Type guard that checks whether a string is one of the required
|
|
8
|
+
* {@link ChangelogSectionType} values.
|
|
9
|
+
*
|
|
10
|
+
* @param value The value to narrow.
|
|
11
|
+
*/
|
|
12
|
+
export const isRequiredSectionType = (value: string): value is ChangelogSectionType =>
|
|
13
|
+
REQUIRED_SECTION_TYPES.some((required) => required === value);
|
|
14
|
+
|
|
6
15
|
/**
|
|
7
16
|
* Repository information for generating version links.
|
|
8
17
|
*/
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
* browser.
|
|
6
6
|
*/
|
|
7
7
|
export default class DateService {
|
|
8
|
-
private
|
|
9
|
-
private static dateTimeFormatter;
|
|
8
|
+
#private;
|
|
10
9
|
/**
|
|
11
10
|
* Gets the date in date format if it is set to midnight, otherwise gets the
|
|
12
11
|
* date in date time format.
|
|
@@ -177,4 +176,4 @@ export default class DateService {
|
|
|
177
176
|
*/
|
|
178
177
|
static reviveDatesRecursive(body: unknown): void;
|
|
179
178
|
}
|
|
180
|
-
//# sourceMappingURL=
|
|
179
|
+
//# sourceMappingURL=Date.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Date.service.d.ts","sourceRoot":"","sources":["../../../src/services/DateService/Date.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;;IAe9B;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO5C;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAIvC;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI5C;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO;IAU7F;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAS/C;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAczC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAK7C;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ3D;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAK3C;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAI/D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IA2B5F;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9C;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMlD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAO1C;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO;IAQ5D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAOrE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO;CAuB1C"}
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* browser.
|
|
6
6
|
*/
|
|
7
7
|
export default class DateService {
|
|
8
|
-
static dateFormatter = new Intl.DateTimeFormat('en-US', {
|
|
8
|
+
static #dateFormatter = new Intl.DateTimeFormat('en-US', {
|
|
9
9
|
year: 'numeric',
|
|
10
10
|
month: 'short',
|
|
11
11
|
day: 'numeric'
|
|
12
12
|
});
|
|
13
|
-
static dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
|
|
13
|
+
static #dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
|
|
14
14
|
year: 'numeric',
|
|
15
15
|
month: 'short',
|
|
16
16
|
day: 'numeric',
|
|
@@ -47,7 +47,7 @@ export default class DateService {
|
|
|
47
47
|
* @returns The formatted date string.
|
|
48
48
|
*/
|
|
49
49
|
static getDateString(date) {
|
|
50
|
-
return this
|
|
50
|
+
return this.#dateFormatter.format(date);
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* Formats the date and time as a string.
|
|
@@ -56,7 +56,7 @@ export default class DateService {
|
|
|
56
56
|
* @returns The formatted date and time string.
|
|
57
57
|
*/
|
|
58
58
|
static getDateTimeString(date) {
|
|
59
|
-
return this
|
|
59
|
+
return this.#dateTimeFormatter.format(date);
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Determines if two dates are equal. This is strict, down to the ms.
|
|
@@ -289,24 +289,26 @@ export default class DateService {
|
|
|
289
289
|
* @param body the body to revive
|
|
290
290
|
*/
|
|
291
291
|
static reviveDatesRecursive(body) {
|
|
292
|
-
if (body
|
|
292
|
+
if (!DateService.#isPlainRecord(body)) {
|
|
293
293
|
return;
|
|
294
294
|
}
|
|
295
295
|
const keys = Object.keys(body);
|
|
296
296
|
if (keys.length === 0) {
|
|
297
297
|
return;
|
|
298
298
|
}
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
const value = bodyAsRecord[key];
|
|
299
|
+
for (const key of keys) {
|
|
300
|
+
const value = body[key];
|
|
302
301
|
const revivedValue = this.dateReviver(key, value);
|
|
303
302
|
if (revivedValue !== value) {
|
|
304
|
-
|
|
303
|
+
body[key] = revivedValue;
|
|
305
304
|
}
|
|
306
305
|
else if (typeof value === 'object') {
|
|
307
306
|
this.reviveDatesRecursive(value);
|
|
308
307
|
}
|
|
309
308
|
}
|
|
310
309
|
}
|
|
310
|
+
static #isPlainRecord(value) {
|
|
311
|
+
return typeof value === 'object' && value !== null;
|
|
312
|
+
}
|
|
311
313
|
}
|
|
312
|
-
//# sourceMappingURL=
|
|
314
|
+
//# sourceMappingURL=Date.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Date.service.js","sourceRoot":"","sources":["../../../src/services/DateService/Date.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACvD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC3D,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAU;QACjC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAU;QAC3B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAU;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAU;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,KAA8B,EAAE,KAA8B;QACjF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAU;QACtC,mEAAmE;QACnE,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,IAAU;QAC9B,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,mBAAmB,GAAG,CAAC,GAAG,sBAAsB,CAAC;QACvD,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC;QACnF,IAAI,IAAI,GAAG,oBAAoB,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,6BAA6B,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACtF,MAAM,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC;QACrF,OAAO,8BAA8B,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAU;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAU,EAAE,GAAW;QAChD,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,gBAAgB,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAU;QAChC,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAW,EAAE,KAAW;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAU,EAAE,GAAW,EAAE,IAAqB;QAC5E,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;gBACnC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,mDAAmD;QACnD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,OAAO,aAAa,GAAG,IAAI,EAAE,CAAC;YAC5B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC1C,aAAa,IAAI,CAAC,CAAC;YACnB,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,IAAU,EAAE,IAAY;QACrC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAU,EAAE,MAAc;QACzC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAU,EAAE,KAAa;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAU,EAAE,KAAa;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAU;QAC9B,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAW,EAAE,MAAY;QAChD,OAAO,CACL,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;YAC5C,KAAK,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE;YACtC,KAAK,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CAAa,IAAY,EAAE,KAAc;QACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,8CAA8C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5F,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAa;QACvC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;IACrD,CAAC"}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* browser.
|
|
6
6
|
*/
|
|
7
7
|
export default class DateService {
|
|
8
|
-
|
|
8
|
+
static #dateFormatter = new Intl.DateTimeFormat('en-US', {
|
|
9
9
|
year: 'numeric',
|
|
10
10
|
month: 'short',
|
|
11
11
|
day: 'numeric'
|
|
12
12
|
});
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
static #dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
|
|
15
15
|
year: 'numeric',
|
|
16
16
|
month: 'short',
|
|
17
17
|
day: 'numeric',
|
|
@@ -51,7 +51,7 @@ export default class DateService {
|
|
|
51
51
|
* @returns The formatted date string.
|
|
52
52
|
*/
|
|
53
53
|
static getDateString(date: Date): string {
|
|
54
|
-
return this
|
|
54
|
+
return this.#dateFormatter.format(date);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -61,7 +61,7 @@ export default class DateService {
|
|
|
61
61
|
* @returns The formatted date and time string.
|
|
62
62
|
*/
|
|
63
63
|
static getDateTimeString(date: Date): string {
|
|
64
|
-
return this
|
|
64
|
+
return this.#dateTimeFormatter.format(date);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/**
|
|
@@ -314,7 +314,7 @@ export default class DateService {
|
|
|
314
314
|
* @param body the body to revive
|
|
315
315
|
*/
|
|
316
316
|
static reviveDatesRecursive(body: unknown) {
|
|
317
|
-
if (body
|
|
317
|
+
if (!DateService.#isPlainRecord(body)) {
|
|
318
318
|
return;
|
|
319
319
|
}
|
|
320
320
|
|
|
@@ -322,15 +322,18 @@ export default class DateService {
|
|
|
322
322
|
if (keys.length === 0) {
|
|
323
323
|
return;
|
|
324
324
|
}
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
const value = bodyAsRecord[key];
|
|
325
|
+
for (const key of keys) {
|
|
326
|
+
const value = body[key];
|
|
328
327
|
const revivedValue = this.dateReviver(key, value);
|
|
329
328
|
if (revivedValue !== value) {
|
|
330
|
-
|
|
329
|
+
body[key] = revivedValue;
|
|
331
330
|
} else if (typeof value === 'object') {
|
|
332
331
|
this.reviveDatesRecursive(value);
|
|
333
332
|
}
|
|
334
333
|
}
|
|
335
334
|
}
|
|
335
|
+
|
|
336
|
+
static #isPlainRecord(value: unknown): value is Record<string, unknown> {
|
|
337
|
+
return typeof value === 'object' && value !== null;
|
|
338
|
+
}
|
|
336
339
|
}
|
|
@@ -5,6 +5,7 @@ import { VersionType } from '../types/VersionType.js';
|
|
|
5
5
|
* in various ways.
|
|
6
6
|
*/
|
|
7
7
|
export default class DependencyService {
|
|
8
|
+
#private;
|
|
8
9
|
/**
|
|
9
10
|
* Updates the package.json files of all sub-directories based on the root
|
|
10
11
|
* package.json file. This will match any versions of dependencies in the
|
|
@@ -44,14 +45,5 @@ export default class DependencyService {
|
|
|
44
45
|
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
45
46
|
*/
|
|
46
47
|
static validatePackageDependents(packageName: string, version: string, workspaceRoot?: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Internal helper to process dependents of a package, either updating them or validating them.
|
|
49
|
-
*
|
|
50
|
-
* @param packageName The name of the package to process dependents for
|
|
51
|
-
* @param version The version to use for update or validation
|
|
52
|
-
* @param mode Whether to update the dependents or just validate them
|
|
53
|
-
* @param workspaceRoot Optional workspace root path
|
|
54
|
-
*/
|
|
55
|
-
private static processPackageDependents;
|
|
56
48
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=Dependency.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dependency.service.d.ts","sourceRoot":"","sources":["../../src/services/Dependency.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IACpC;;;;OAIG;WACU,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDrD;;;;;OAKG;WACU,WAAW,CAAC,WAAW,GAAE,WAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CrF;;;;;;OAMG;WACU,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCpF;;;;;;;OAOG;WACU,uBAAuB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;OAOG;WACU,yBAAyB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CA0FjB"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { access, readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import { isJsonWithVersionProperty } from '../types/JsonWithVersionProperty.js';
|
|
4
|
+
import { isPackageJson } from '../types/PackageJson.js';
|
|
3
5
|
import { VersionType } from '../types/VersionType.js';
|
|
4
6
|
import ErrorUtils from '../utils/ErrorUtils.js';
|
|
7
|
+
import JsonUtils from '../utils/JsonUtils.js';
|
|
5
8
|
import { DR } from './DependencyRegistry.js';
|
|
6
|
-
import FileSystemService from './FileSystemService/
|
|
9
|
+
import FileSystemService from './FileSystemService/FileSystem.service.js';
|
|
7
10
|
/**
|
|
8
11
|
* A service which can be used to manage dependencies in the current project
|
|
9
12
|
* in various ways.
|
|
@@ -17,16 +20,16 @@ export default class DependencyService {
|
|
|
17
20
|
static async updateChildPackageJsons() {
|
|
18
21
|
// Read the root package.json file
|
|
19
22
|
const rootPackageJsonPath = path.join(process.cwd(), 'package.json');
|
|
20
|
-
let
|
|
23
|
+
let rootPackageJsonContent;
|
|
21
24
|
try {
|
|
22
25
|
await access(rootPackageJsonPath);
|
|
23
|
-
|
|
24
|
-
rootPackageJsonData = JSON.parse(rootPackageJsonContent);
|
|
26
|
+
rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
|
|
25
27
|
}
|
|
26
28
|
catch (error) {
|
|
27
29
|
const originalError = ErrorUtils.getErrorString(error);
|
|
28
30
|
throw new Error(`No package.json file found in the current directory or it's unreadable. Original error: ${originalError}`, { cause: error });
|
|
29
31
|
}
|
|
32
|
+
const rootPackageJsonData = JsonUtils.parseWithGuard(rootPackageJsonContent, isPackageJson);
|
|
30
33
|
const rootDependencies = {
|
|
31
34
|
...rootPackageJsonData.dependencies,
|
|
32
35
|
...rootPackageJsonData.devDependencies
|
|
@@ -82,7 +85,7 @@ export default class DependencyService {
|
|
|
82
85
|
return;
|
|
83
86
|
}
|
|
84
87
|
try {
|
|
85
|
-
const fileData =
|
|
88
|
+
const fileData = JsonUtils.parseWithGuard(await readFile(filePath, 'utf-8'), isJsonWithVersionProperty);
|
|
86
89
|
const oldVersion = fileData.version;
|
|
87
90
|
const newVersion = bump(oldVersion);
|
|
88
91
|
fileData.version = newVersion;
|
|
@@ -118,7 +121,7 @@ export default class DependencyService {
|
|
|
118
121
|
const fullPath = path.join(baseDir, relativePath);
|
|
119
122
|
try {
|
|
120
123
|
const fileContents = await readFile(fullPath, 'utf-8');
|
|
121
|
-
const packageJsonData =
|
|
124
|
+
const packageJsonData = JsonUtils.parseWithGuard(fileContents, isPackageJson);
|
|
122
125
|
if (packageJsonData.name) {
|
|
123
126
|
childPackages[packageJsonData.name] = {
|
|
124
127
|
packageJsonContents: packageJsonData,
|
|
@@ -145,7 +148,7 @@ export default class DependencyService {
|
|
|
145
148
|
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
146
149
|
*/
|
|
147
150
|
static async propagatePackageVersion(packageName, version, workspaceRoot) {
|
|
148
|
-
await this
|
|
151
|
+
await this.#processPackageDependents(packageName, version, 'update', workspaceRoot);
|
|
149
152
|
}
|
|
150
153
|
/**
|
|
151
154
|
* Validates that all other packages in the workspace that depend on the specified package
|
|
@@ -156,7 +159,7 @@ export default class DependencyService {
|
|
|
156
159
|
* @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
|
|
157
160
|
*/
|
|
158
161
|
static async validatePackageDependents(packageName, version, workspaceRoot) {
|
|
159
|
-
await this
|
|
162
|
+
await this.#processPackageDependents(packageName, version, 'validate', workspaceRoot);
|
|
160
163
|
}
|
|
161
164
|
/**
|
|
162
165
|
* Internal helper to process dependents of a package, either updating them or validating them.
|
|
@@ -166,7 +169,7 @@ export default class DependencyService {
|
|
|
166
169
|
* @param mode Whether to update the dependents or just validate them
|
|
167
170
|
* @param workspaceRoot Optional workspace root path
|
|
168
171
|
*/
|
|
169
|
-
static async processPackageDependents(packageName, version, mode, workspaceRoot) {
|
|
172
|
+
static async #processPackageDependents(packageName, version, mode, workspaceRoot) {
|
|
170
173
|
const actionName = mode === 'update' ? 'Propagating' : 'Validating';
|
|
171
174
|
DR.logger.info(`${actionName} version ${version} for ${packageName}...`);
|
|
172
175
|
const pnpmWorkspacePath = await FileSystemService.findFileUpTree(workspaceRoot || process.cwd(), 'pnpm-workspace.yaml');
|
|
@@ -228,4 +231,4 @@ export default class DependencyService {
|
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
}
|
|
231
|
-
//# sourceMappingURL=
|
|
234
|
+
//# sourceMappingURL=Dependency.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dependency.service.js","sourceRoot":"","sources":["../../src/services/Dependency.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { access, readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import { isJsonWithVersionProperty } from '../types/JsonWithVersionProperty.js';
|
|
4
|
+
import { isPackageJson } from '../types/PackageJson.js';
|
|
5
5
|
import type { PackageJsonMap } from '../types/PackageJsonMap.js';
|
|
6
6
|
import { VersionType } from '../types/VersionType.js';
|
|
7
7
|
import ErrorUtils from '../utils/ErrorUtils.js';
|
|
8
|
+
import JsonUtils from '../utils/JsonUtils.js';
|
|
8
9
|
import { DR } from './DependencyRegistry.js';
|
|
9
|
-
import FileSystemService from './FileSystemService/
|
|
10
|
+
import FileSystemService from './FileSystemService/FileSystem.service.js';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* A service which can be used to manage dependencies in the current project
|
|
@@ -21,11 +22,10 @@ export default class DependencyService {
|
|
|
21
22
|
static async updateChildPackageJsons(): Promise<void> {
|
|
22
23
|
// Read the root package.json file
|
|
23
24
|
const rootPackageJsonPath = path.join(process.cwd(), 'package.json');
|
|
24
|
-
let
|
|
25
|
+
let rootPackageJsonContent: string;
|
|
25
26
|
try {
|
|
26
27
|
await access(rootPackageJsonPath);
|
|
27
|
-
|
|
28
|
-
rootPackageJsonData = JSON.parse(rootPackageJsonContent) as PackageJson;
|
|
28
|
+
rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
|
|
29
29
|
} catch (error) {
|
|
30
30
|
const originalError = ErrorUtils.getErrorString(error);
|
|
31
31
|
throw new Error(
|
|
@@ -33,6 +33,7 @@ export default class DependencyService {
|
|
|
33
33
|
{ cause: error }
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
|
+
const rootPackageJsonData = JsonUtils.parseWithGuard(rootPackageJsonContent, isPackageJson);
|
|
36
37
|
|
|
37
38
|
const rootDependencies = {
|
|
38
39
|
...rootPackageJsonData.dependencies,
|
|
@@ -99,7 +100,10 @@ export default class DependencyService {
|
|
|
99
100
|
}
|
|
100
101
|
|
|
101
102
|
try {
|
|
102
|
-
const fileData =
|
|
103
|
+
const fileData = JsonUtils.parseWithGuard(
|
|
104
|
+
await readFile(filePath, 'utf-8'),
|
|
105
|
+
isJsonWithVersionProperty
|
|
106
|
+
);
|
|
103
107
|
const oldVersion = fileData.version;
|
|
104
108
|
const newVersion = bump(oldVersion);
|
|
105
109
|
fileData.version = newVersion;
|
|
@@ -142,7 +146,7 @@ export default class DependencyService {
|
|
|
142
146
|
const fullPath = path.join(baseDir, relativePath);
|
|
143
147
|
try {
|
|
144
148
|
const fileContents = await readFile(fullPath, 'utf-8');
|
|
145
|
-
const packageJsonData =
|
|
149
|
+
const packageJsonData = JsonUtils.parseWithGuard(fileContents, isPackageJson);
|
|
146
150
|
if (packageJsonData.name) {
|
|
147
151
|
childPackages[packageJsonData.name] = {
|
|
148
152
|
packageJsonContents: packageJsonData,
|
|
@@ -175,7 +179,7 @@ export default class DependencyService {
|
|
|
175
179
|
version: string,
|
|
176
180
|
workspaceRoot?: string
|
|
177
181
|
): Promise<void> {
|
|
178
|
-
await this
|
|
182
|
+
await this.#processPackageDependents(packageName, version, 'update', workspaceRoot);
|
|
179
183
|
}
|
|
180
184
|
|
|
181
185
|
/**
|
|
@@ -191,7 +195,7 @@ export default class DependencyService {
|
|
|
191
195
|
version: string,
|
|
192
196
|
workspaceRoot?: string
|
|
193
197
|
): Promise<void> {
|
|
194
|
-
await this
|
|
198
|
+
await this.#processPackageDependents(packageName, version, 'validate', workspaceRoot);
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
/**
|
|
@@ -202,7 +206,7 @@ export default class DependencyService {
|
|
|
202
206
|
* @param mode Whether to update the dependents or just validate them
|
|
203
207
|
* @param workspaceRoot Optional workspace root path
|
|
204
208
|
*/
|
|
205
|
-
|
|
209
|
+
static async #processPackageDependents(
|
|
206
210
|
packageName: string,
|
|
207
211
|
version: string,
|
|
208
212
|
mode: 'update' | 'validate',
|