@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
|
@@ -2,16 +2,19 @@ import { exec, spawn } from 'child_process';
|
|
|
2
2
|
import { access, readFile, writeFile } from 'fs/promises';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
|
+
import { isJsonWithVersionProperty } from '../../types/JsonWithVersionProperty.js';
|
|
6
|
+
import { isPackageJson } from '../../types/PackageJson.js';
|
|
5
7
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
8
|
+
import JsonUtils from '../../utils/JsonUtils.js';
|
|
6
9
|
import { DR } from '../DependencyRegistry.js';
|
|
7
|
-
import DependencyService from '../
|
|
8
|
-
import FileSystemService from '../FileSystemService/
|
|
10
|
+
import DependencyService from '../Dependency.service.js';
|
|
11
|
+
import FileSystemService from '../FileSystemService/FileSystem.service.js';
|
|
9
12
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
10
|
-
const execAsync = promisify(exec);
|
|
11
13
|
/**
|
|
12
14
|
* Service for handling JSR-specific package operations including validation and publishing.
|
|
13
15
|
*/
|
|
14
16
|
export default class JsrPackageService {
|
|
17
|
+
static #execAsync = promisify(exec);
|
|
15
18
|
/**
|
|
16
19
|
* Validates the current project for publishing to JSR. This will check if the
|
|
17
20
|
* project has any pending changes first, then update the version of the
|
|
@@ -34,9 +37,9 @@ export default class JsrPackageService {
|
|
|
34
37
|
if (isAlternativeName) {
|
|
35
38
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
36
39
|
}
|
|
37
|
-
await this
|
|
38
|
-
const { version } = await JsrPackageService
|
|
39
|
-
const successfulDryRun = await JsrPackageService
|
|
40
|
+
await this.#replaceMonorepoImportsWithNpmSpecifiers();
|
|
41
|
+
const { version } = await JsrPackageService.#updateJsrFromPackageJson();
|
|
42
|
+
const successfulDryRun = await JsrPackageService.#publishDryRun(packageName, version, allowSlowTypes);
|
|
40
43
|
await PackageServiceUtils.resetGitChanges();
|
|
41
44
|
if (!successfulDryRun) {
|
|
42
45
|
process.exit(1);
|
|
@@ -62,9 +65,9 @@ export default class JsrPackageService {
|
|
|
62
65
|
if (isAlternativeName) {
|
|
63
66
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
64
67
|
}
|
|
65
|
-
await this
|
|
66
|
-
await JsrPackageService
|
|
67
|
-
const result = await JsrPackageService
|
|
68
|
+
await this.#replaceMonorepoImportsWithNpmSpecifiers();
|
|
69
|
+
await JsrPackageService.#updateJsrFromPackageJson();
|
|
70
|
+
const result = await JsrPackageService.#publishToJsr();
|
|
68
71
|
await PackageServiceUtils.resetGitChanges();
|
|
69
72
|
if (!result) {
|
|
70
73
|
process.exit(1);
|
|
@@ -78,7 +81,7 @@ export default class JsrPackageService {
|
|
|
78
81
|
*
|
|
79
82
|
* @returns An object containing the package name and version from jsr.json and package.json
|
|
80
83
|
*/
|
|
81
|
-
static async updateJsrFromPackageJson() {
|
|
84
|
+
static async #updateJsrFromPackageJson() {
|
|
82
85
|
const rootDir = process.cwd();
|
|
83
86
|
const packageJsonPath = path.join(rootDir, 'package.json');
|
|
84
87
|
const jsrJsonPath = path.join(rootDir, 'jsr.json');
|
|
@@ -90,12 +93,12 @@ export default class JsrPackageService {
|
|
|
90
93
|
}
|
|
91
94
|
try {
|
|
92
95
|
const { packageName, version } = await PackageServiceUtils.getPackageInfo();
|
|
93
|
-
const packageJsonData =
|
|
94
|
-
const jsrJsonData =
|
|
96
|
+
const packageJsonData = JsonUtils.parseWithGuard(await readFile(packageJsonPath, 'utf-8'), isPackageJson);
|
|
97
|
+
const jsrJsonData = JsonUtils.parseWithGuard(await readFile(jsrJsonPath, 'utf-8'), isJsonWithVersionProperty);
|
|
95
98
|
// Update JSR version
|
|
96
99
|
jsrJsonData.version = version;
|
|
97
100
|
// Resolve wildcard dependencies in package.json for JSR compatibility
|
|
98
|
-
await this
|
|
101
|
+
await this.#resolveWildcardDependenciesInPackageJson(packageJsonData, packageJsonPath);
|
|
99
102
|
await writeFile(jsrJsonPath, JSON.stringify(jsrJsonData, null, 2));
|
|
100
103
|
DR.logger.info('Updated jsr.json from package.json to version ' + version);
|
|
101
104
|
return {
|
|
@@ -119,12 +122,12 @@ export default class JsrPackageService {
|
|
|
119
122
|
* @param currentVersion The current version from package.json
|
|
120
123
|
* @param allowSlowTypes Whether to allow slow types during publishing
|
|
121
124
|
*/
|
|
122
|
-
static async publishDryRun(packageName, currentVersion, allowSlowTypes = false) {
|
|
125
|
+
static async #publishDryRun(packageName, currentVersion, allowSlowTypes = false) {
|
|
123
126
|
// Check for existing versions on JSR first
|
|
124
|
-
await JsrPackageService
|
|
127
|
+
await JsrPackageService.#checkVersionConflicts(packageName, currentVersion);
|
|
125
128
|
DR.logger.info('Running `jsr publish --dry-run`');
|
|
126
129
|
try {
|
|
127
|
-
const { stdout, stderr } = await execAsync('jsr publish --allow-dirty --dry-run' + (allowSlowTypes ? ' --allow-slow-types' : ''));
|
|
130
|
+
const { stdout, stderr } = await JsrPackageService.#execAsync('jsr publish --allow-dirty --dry-run' + (allowSlowTypes ? ' --allow-slow-types' : ''));
|
|
128
131
|
if (stderr) {
|
|
129
132
|
DR.logger.info(stderr);
|
|
130
133
|
}
|
|
@@ -141,7 +144,7 @@ export default class JsrPackageService {
|
|
|
141
144
|
*
|
|
142
145
|
* @returns true if the publish was successful, false otherwise.
|
|
143
146
|
*/
|
|
144
|
-
static async publishToJsr() {
|
|
147
|
+
static async #publishToJsr() {
|
|
145
148
|
DR.logger.info('Running `jsr publish`');
|
|
146
149
|
return new Promise((resolve) => {
|
|
147
150
|
const child = spawn('jsr publish', ['--allow-dirty', '--allow-slow-types'], {
|
|
@@ -166,10 +169,10 @@ export default class JsrPackageService {
|
|
|
166
169
|
* @param packageName The package name from jsr.json
|
|
167
170
|
* @param currentVersion The current version from package.json
|
|
168
171
|
*/
|
|
169
|
-
static async checkVersionConflicts(packageName, currentVersion) {
|
|
172
|
+
static async #checkVersionConflicts(packageName, currentVersion) {
|
|
170
173
|
DR.logger.info(`Checking JSR for existing versions of ${packageName}...`);
|
|
171
174
|
try {
|
|
172
|
-
const { stdout } = await execAsync(`jsr view ${packageName}`);
|
|
175
|
+
const { stdout } = await JsrPackageService.#execAsync(`jsr view ${packageName}`);
|
|
173
176
|
// Parse the JSR view output to extract the latest version
|
|
174
177
|
const latestVersionMatch = stdout.match(/latest:\s*([^\s|]+)/);
|
|
175
178
|
if (latestVersionMatch) {
|
|
@@ -204,7 +207,7 @@ export default class JsrPackageService {
|
|
|
204
207
|
* at file:///src/services/GitHubService.ts:1:20
|
|
205
208
|
* ```
|
|
206
209
|
*/
|
|
207
|
-
static async replaceMonorepoImportsWithNpmSpecifiers() {
|
|
210
|
+
static async #replaceMonorepoImportsWithNpmSpecifiers() {
|
|
208
211
|
const rootDir = process.cwd();
|
|
209
212
|
const srcDir = path.join(rootDir, 'src');
|
|
210
213
|
try {
|
|
@@ -291,7 +294,7 @@ export default class JsrPackageService {
|
|
|
291
294
|
* @param packageJsonData The package.json data to modify
|
|
292
295
|
* @param packageJsonPath The path to the package.json file
|
|
293
296
|
*/
|
|
294
|
-
static async resolveWildcardDependenciesInPackageJson(packageJsonData, packageJsonPath) {
|
|
297
|
+
static async #resolveWildcardDependenciesInPackageJson(packageJsonData, packageJsonPath) {
|
|
295
298
|
try {
|
|
296
299
|
// Get all packages one directory up to resolve local wildcard dependencies
|
|
297
300
|
const childPackages = await DependencyService.getChildPackageJsons('../');
|
|
@@ -322,4 +325,4 @@ export default class JsrPackageService {
|
|
|
322
325
|
}
|
|
323
326
|
}
|
|
324
327
|
}
|
|
325
|
-
//# sourceMappingURL=
|
|
328
|
+
//# sourceMappingURL=JsrPackage.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsrPackage.service.js","sourceRoot":"","sources":["../../../src/services/PackageService/JsrPackage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,20 +2,22 @@ import { exec, spawn } from 'child_process';
|
|
|
2
2
|
import { access, readFile, writeFile } from 'fs/promises';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
|
-
import
|
|
5
|
+
import { isJsonWithVersionProperty } from '../../types/JsonWithVersionProperty.js';
|
|
6
6
|
import type { PackageJson } from '../../types/PackageJson.js';
|
|
7
|
+
import { isPackageJson } from '../../types/PackageJson.js';
|
|
7
8
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
9
|
+
import JsonUtils from '../../utils/JsonUtils.js';
|
|
8
10
|
import { DR } from '../DependencyRegistry.js';
|
|
9
|
-
import DependencyService from '../
|
|
10
|
-
import FileSystemService from '../FileSystemService/
|
|
11
|
+
import DependencyService from '../Dependency.service.js';
|
|
12
|
+
import FileSystemService from '../FileSystemService/FileSystem.service.js';
|
|
11
13
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
12
14
|
|
|
13
|
-
const execAsync = promisify(exec);
|
|
14
|
-
|
|
15
15
|
/**
|
|
16
16
|
* Service for handling JSR-specific package operations including validation and publishing.
|
|
17
17
|
*/
|
|
18
18
|
export default class JsrPackageService {
|
|
19
|
+
static #execAsync = promisify(exec);
|
|
20
|
+
|
|
19
21
|
/**
|
|
20
22
|
* Validates the current project for publishing to JSR. This will check if the
|
|
21
23
|
* project has any pending changes first, then update the version of the
|
|
@@ -48,9 +50,9 @@ export default class JsrPackageService {
|
|
|
48
50
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
await this
|
|
52
|
-
const { version } = await JsrPackageService
|
|
53
|
-
const successfulDryRun = await JsrPackageService
|
|
53
|
+
await this.#replaceMonorepoImportsWithNpmSpecifiers();
|
|
54
|
+
const { version } = await JsrPackageService.#updateJsrFromPackageJson();
|
|
55
|
+
const successfulDryRun = await JsrPackageService.#publishDryRun(
|
|
54
56
|
packageName,
|
|
55
57
|
version,
|
|
56
58
|
allowSlowTypes
|
|
@@ -92,9 +94,9 @@ export default class JsrPackageService {
|
|
|
92
94
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
await this
|
|
96
|
-
await JsrPackageService
|
|
97
|
-
const result = await JsrPackageService
|
|
97
|
+
await this.#replaceMonorepoImportsWithNpmSpecifiers();
|
|
98
|
+
await JsrPackageService.#updateJsrFromPackageJson();
|
|
99
|
+
const result = await JsrPackageService.#publishToJsr();
|
|
98
100
|
|
|
99
101
|
await PackageServiceUtils.resetGitChanges();
|
|
100
102
|
|
|
@@ -112,7 +114,7 @@ export default class JsrPackageService {
|
|
|
112
114
|
*
|
|
113
115
|
* @returns An object containing the package name and version from jsr.json and package.json
|
|
114
116
|
*/
|
|
115
|
-
|
|
117
|
+
static async #updateJsrFromPackageJson(): Promise<{
|
|
116
118
|
packageName: string;
|
|
117
119
|
version: string;
|
|
118
120
|
}> {
|
|
@@ -128,16 +130,20 @@ export default class JsrPackageService {
|
|
|
128
130
|
|
|
129
131
|
try {
|
|
130
132
|
const { packageName, version } = await PackageServiceUtils.getPackageInfo();
|
|
131
|
-
const packageJsonData =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
)
|
|
133
|
+
const packageJsonData = JsonUtils.parseWithGuard(
|
|
134
|
+
await readFile(packageJsonPath, 'utf-8'),
|
|
135
|
+
isPackageJson
|
|
136
|
+
);
|
|
137
|
+
const jsrJsonData = JsonUtils.parseWithGuard(
|
|
138
|
+
await readFile(jsrJsonPath, 'utf-8'),
|
|
139
|
+
isJsonWithVersionProperty
|
|
140
|
+
);
|
|
135
141
|
|
|
136
142
|
// Update JSR version
|
|
137
143
|
jsrJsonData.version = version;
|
|
138
144
|
|
|
139
145
|
// Resolve wildcard dependencies in package.json for JSR compatibility
|
|
140
|
-
await this
|
|
146
|
+
await this.#resolveWildcardDependenciesInPackageJson(packageJsonData, packageJsonPath);
|
|
141
147
|
|
|
142
148
|
await writeFile(jsrJsonPath, JSON.stringify(jsrJsonData, null, 2));
|
|
143
149
|
DR.logger.info('Updated jsr.json from package.json to version ' + version);
|
|
@@ -163,17 +169,17 @@ export default class JsrPackageService {
|
|
|
163
169
|
* @param currentVersion The current version from package.json
|
|
164
170
|
* @param allowSlowTypes Whether to allow slow types during publishing
|
|
165
171
|
*/
|
|
166
|
-
|
|
172
|
+
static async #publishDryRun(
|
|
167
173
|
packageName: string,
|
|
168
174
|
currentVersion: string,
|
|
169
175
|
allowSlowTypes = false
|
|
170
176
|
): Promise<boolean> {
|
|
171
177
|
// Check for existing versions on JSR first
|
|
172
|
-
await JsrPackageService
|
|
178
|
+
await JsrPackageService.#checkVersionConflicts(packageName, currentVersion);
|
|
173
179
|
|
|
174
180
|
DR.logger.info('Running `jsr publish --dry-run`');
|
|
175
181
|
try {
|
|
176
|
-
const { stdout, stderr } = await execAsync(
|
|
182
|
+
const { stdout, stderr } = await JsrPackageService.#execAsync(
|
|
177
183
|
'jsr publish --allow-dirty --dry-run' + (allowSlowTypes ? ' --allow-slow-types' : '')
|
|
178
184
|
);
|
|
179
185
|
if (stderr) {
|
|
@@ -192,7 +198,7 @@ export default class JsrPackageService {
|
|
|
192
198
|
*
|
|
193
199
|
* @returns true if the publish was successful, false otherwise.
|
|
194
200
|
*/
|
|
195
|
-
|
|
201
|
+
static async #publishToJsr(): Promise<boolean> {
|
|
196
202
|
DR.logger.info('Running `jsr publish`');
|
|
197
203
|
return new Promise((resolve) => {
|
|
198
204
|
const child = spawn('jsr publish', ['--allow-dirty', '--allow-slow-types'], {
|
|
@@ -218,14 +224,11 @@ export default class JsrPackageService {
|
|
|
218
224
|
* @param packageName The package name from jsr.json
|
|
219
225
|
* @param currentVersion The current version from package.json
|
|
220
226
|
*/
|
|
221
|
-
|
|
222
|
-
packageName: string,
|
|
223
|
-
currentVersion: string
|
|
224
|
-
): Promise<void> {
|
|
227
|
+
static async #checkVersionConflicts(packageName: string, currentVersion: string): Promise<void> {
|
|
225
228
|
DR.logger.info(`Checking JSR for existing versions of ${packageName}...`);
|
|
226
229
|
|
|
227
230
|
try {
|
|
228
|
-
const { stdout } = await execAsync(`jsr view ${packageName}`);
|
|
231
|
+
const { stdout } = await JsrPackageService.#execAsync(`jsr view ${packageName}`);
|
|
229
232
|
|
|
230
233
|
// Parse the JSR view output to extract the latest version
|
|
231
234
|
const latestVersionMatch = stdout.match(/latest:\s*([^\s|]+)/);
|
|
@@ -265,7 +268,7 @@ export default class JsrPackageService {
|
|
|
265
268
|
* at file:///src/services/GitHubService.ts:1:20
|
|
266
269
|
* ```
|
|
267
270
|
*/
|
|
268
|
-
|
|
271
|
+
static async #replaceMonorepoImportsWithNpmSpecifiers(): Promise<void> {
|
|
269
272
|
const rootDir = process.cwd();
|
|
270
273
|
const srcDir = path.join(rootDir, 'src');
|
|
271
274
|
|
|
@@ -377,7 +380,7 @@ export default class JsrPackageService {
|
|
|
377
380
|
* @param packageJsonData The package.json data to modify
|
|
378
381
|
* @param packageJsonPath The path to the package.json file
|
|
379
382
|
*/
|
|
380
|
-
|
|
383
|
+
static async #resolveWildcardDependenciesInPackageJson(
|
|
381
384
|
packageJsonData: PackageJson,
|
|
382
385
|
packageJsonPath: string
|
|
383
386
|
): Promise<void> {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Service for handling NPM-specific package operations including validation and publishing.
|
|
3
3
|
*/
|
|
4
4
|
export default class NpmPackageService {
|
|
5
|
+
#private;
|
|
5
6
|
/**
|
|
6
7
|
* Validates the current project for publishing to npm. This will run
|
|
7
8
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
@@ -22,24 +23,5 @@ export default class NpmPackageService {
|
|
|
22
23
|
* if the package name appears in unexpected places. Use with caution.
|
|
23
24
|
*/
|
|
24
25
|
static publish(alternativePackageNames?: string[]): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Executes a dry run of npm publishing.
|
|
27
|
-
*
|
|
28
|
-
* @returns true if the dry run was successful, false otherwise.
|
|
29
|
-
*/
|
|
30
|
-
private static publishDryRun;
|
|
31
|
-
/**
|
|
32
|
-
* Checks npm registry for package information and performs version conflict checks.
|
|
33
|
-
*
|
|
34
|
-
* @param packageName The package name from package.json
|
|
35
|
-
* @param currentVersion The current version from package.json
|
|
36
|
-
*/
|
|
37
|
-
private static checkVersionConflicts;
|
|
38
|
-
/**
|
|
39
|
-
* Publishes the current project to npm.
|
|
40
|
-
*
|
|
41
|
-
* @returns true if the publish was successful, false otherwise.
|
|
42
|
-
*/
|
|
43
|
-
private static publishToNpm;
|
|
44
26
|
}
|
|
45
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=NpmPackage.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NpmPackage.service.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/NpmPackage.service.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IAGpC;;;;;;;;;OASG;WACU,eAAe,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC/E;;;;;;;OAOG;WACU,OAAO,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA6GxE"}
|
|
@@ -3,11 +3,11 @@ import { promisify } from 'util';
|
|
|
3
3
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
4
4
|
import { DR } from '../DependencyRegistry.js';
|
|
5
5
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
6
|
-
const execAsync = promisify(exec);
|
|
7
6
|
/**
|
|
8
7
|
* Service for handling NPM-specific package operations including validation and publishing.
|
|
9
8
|
*/
|
|
10
9
|
export default class NpmPackageService {
|
|
10
|
+
static #execAsync = promisify(exec);
|
|
11
11
|
/**
|
|
12
12
|
* Validates the current project for publishing to npm. This will run
|
|
13
13
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
@@ -28,14 +28,14 @@ export default class NpmPackageService {
|
|
|
28
28
|
if (isAlternativeName) {
|
|
29
29
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
30
30
|
}
|
|
31
|
-
const successfulDryRun = await NpmPackageService
|
|
31
|
+
const successfulDryRun = await NpmPackageService.#publishDryRun();
|
|
32
32
|
if (!successfulDryRun) {
|
|
33
33
|
if (isAlternativeName) {
|
|
34
34
|
await PackageServiceUtils.resetGitChanges();
|
|
35
35
|
}
|
|
36
36
|
process.exit(1);
|
|
37
37
|
}
|
|
38
|
-
await NpmPackageService
|
|
38
|
+
await NpmPackageService.#checkVersionConflicts(packageName, currentVersion);
|
|
39
39
|
if (isAlternativeName) {
|
|
40
40
|
await PackageServiceUtils.resetGitChanges();
|
|
41
41
|
}
|
|
@@ -60,7 +60,7 @@ export default class NpmPackageService {
|
|
|
60
60
|
if (isAlternativeName) {
|
|
61
61
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
62
62
|
}
|
|
63
|
-
const result = await NpmPackageService
|
|
63
|
+
const result = await NpmPackageService.#publishToNpm();
|
|
64
64
|
if (isAlternativeName) {
|
|
65
65
|
await PackageServiceUtils.resetGitChanges();
|
|
66
66
|
}
|
|
@@ -75,10 +75,10 @@ export default class NpmPackageService {
|
|
|
75
75
|
*
|
|
76
76
|
* @returns true if the dry run was successful, false otherwise.
|
|
77
77
|
*/
|
|
78
|
-
static async publishDryRun() {
|
|
78
|
+
static async #publishDryRun() {
|
|
79
79
|
DR.logger.info('Running `npm publish --access public --dry-run`');
|
|
80
80
|
try {
|
|
81
|
-
await execAsync('npm publish --access public --dry-run');
|
|
81
|
+
await NpmPackageService.#execAsync('npm publish --access public --dry-run');
|
|
82
82
|
DR.logger.info('npm dry run completed successfully.');
|
|
83
83
|
}
|
|
84
84
|
catch (error) {
|
|
@@ -94,10 +94,10 @@ export default class NpmPackageService {
|
|
|
94
94
|
* @param packageName The package name from package.json
|
|
95
95
|
* @param currentVersion The current version from package.json
|
|
96
96
|
*/
|
|
97
|
-
static async checkVersionConflicts(packageName, currentVersion) {
|
|
97
|
+
static async #checkVersionConflicts(packageName, currentVersion) {
|
|
98
98
|
DR.logger.info(`Checking npm registry for existing versions of ${packageName}...`);
|
|
99
99
|
try {
|
|
100
|
-
const { stdout } = await execAsync(`npm view ${packageName}`);
|
|
100
|
+
const { stdout } = await NpmPackageService.#execAsync(`npm view ${packageName}`);
|
|
101
101
|
// Parse the npm view output to extract the latest version
|
|
102
102
|
const latestVersionMatch = stdout.match(/latest:\s*([^\s|]+)/);
|
|
103
103
|
if (latestVersionMatch) {
|
|
@@ -125,7 +125,7 @@ export default class NpmPackageService {
|
|
|
125
125
|
*
|
|
126
126
|
* @returns true if the publish was successful, false otherwise.
|
|
127
127
|
*/
|
|
128
|
-
static async publishToNpm() {
|
|
128
|
+
static async #publishToNpm() {
|
|
129
129
|
DR.logger.info('Running `npm publish --access public`');
|
|
130
130
|
return new Promise((resolve) => {
|
|
131
131
|
const child = spawn('npm publish', ['--access', 'public'], {
|
|
@@ -143,4 +143,4 @@ export default class NpmPackageService {
|
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
//# sourceMappingURL=
|
|
146
|
+
//# sourceMappingURL=NpmPackage.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NpmPackage.service.js","sourceRoot":"","sources":["../../../src/services/PackageService/NpmPackage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
|
4
4
|
import { DR } from '../DependencyRegistry.js';
|
|
5
5
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
6
6
|
|
|
7
|
-
const execAsync = promisify(exec);
|
|
8
|
-
|
|
9
7
|
/**
|
|
10
8
|
* Service for handling NPM-specific package operations including validation and publishing.
|
|
11
9
|
*/
|
|
12
10
|
export default class NpmPackageService {
|
|
11
|
+
static #execAsync = promisify(exec);
|
|
12
|
+
|
|
13
13
|
/**
|
|
14
14
|
* Validates the current project for publishing to npm. This will run
|
|
15
15
|
* `npm publish --access public --dry-run` and check for version conflicts
|
|
@@ -37,7 +37,7 @@ export default class NpmPackageService {
|
|
|
37
37
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
const successfulDryRun = await NpmPackageService
|
|
40
|
+
const successfulDryRun = await NpmPackageService.#publishDryRun();
|
|
41
41
|
if (!successfulDryRun) {
|
|
42
42
|
if (isAlternativeName) {
|
|
43
43
|
await PackageServiceUtils.resetGitChanges();
|
|
@@ -45,7 +45,7 @@ export default class NpmPackageService {
|
|
|
45
45
|
process.exit(1);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
await NpmPackageService
|
|
48
|
+
await NpmPackageService.#checkVersionConflicts(packageName, currentVersion);
|
|
49
49
|
|
|
50
50
|
if (isAlternativeName) {
|
|
51
51
|
await PackageServiceUtils.resetGitChanges();
|
|
@@ -81,7 +81,7 @@ export default class NpmPackageService {
|
|
|
81
81
|
await PackageServiceUtils.replacePackageName(originalPackageName, packageName);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
const result = await NpmPackageService
|
|
84
|
+
const result = await NpmPackageService.#publishToNpm();
|
|
85
85
|
|
|
86
86
|
if (isAlternativeName) {
|
|
87
87
|
await PackageServiceUtils.resetGitChanges();
|
|
@@ -100,10 +100,10 @@ export default class NpmPackageService {
|
|
|
100
100
|
*
|
|
101
101
|
* @returns true if the dry run was successful, false otherwise.
|
|
102
102
|
*/
|
|
103
|
-
|
|
103
|
+
static async #publishDryRun(): Promise<boolean> {
|
|
104
104
|
DR.logger.info('Running `npm publish --access public --dry-run`');
|
|
105
105
|
try {
|
|
106
|
-
await execAsync('npm publish --access public --dry-run');
|
|
106
|
+
await NpmPackageService.#execAsync('npm publish --access public --dry-run');
|
|
107
107
|
DR.logger.info('npm dry run completed successfully.');
|
|
108
108
|
} catch (error) {
|
|
109
109
|
const errorString = ErrorUtils.getErrorString(error);
|
|
@@ -119,14 +119,11 @@ export default class NpmPackageService {
|
|
|
119
119
|
* @param packageName The package name from package.json
|
|
120
120
|
* @param currentVersion The current version from package.json
|
|
121
121
|
*/
|
|
122
|
-
|
|
123
|
-
packageName: string,
|
|
124
|
-
currentVersion: string
|
|
125
|
-
): Promise<void> {
|
|
122
|
+
static async #checkVersionConflicts(packageName: string, currentVersion: string): Promise<void> {
|
|
126
123
|
DR.logger.info(`Checking npm registry for existing versions of ${packageName}...`);
|
|
127
124
|
|
|
128
125
|
try {
|
|
129
|
-
const { stdout } = await execAsync(`npm view ${packageName}`);
|
|
126
|
+
const { stdout } = await NpmPackageService.#execAsync(`npm view ${packageName}`);
|
|
130
127
|
|
|
131
128
|
// Parse the npm view output to extract the latest version
|
|
132
129
|
const latestVersionMatch = stdout.match(/latest:\s*([^\s|]+)/);
|
|
@@ -158,7 +155,7 @@ export default class NpmPackageService {
|
|
|
158
155
|
*
|
|
159
156
|
* @returns true if the publish was successful, false otherwise.
|
|
160
157
|
*/
|
|
161
|
-
|
|
158
|
+
static async #publishToNpm(): Promise<boolean> {
|
|
162
159
|
DR.logger.info('Running `npm publish --access public`');
|
|
163
160
|
return new Promise((resolve) => {
|
|
164
161
|
const child = spawn('npm publish', ['--access', 'public'], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Package.service.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/Package.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;;;;;;;OAWG;WACU,kBAAkB,CAC7B,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAClC,cAAc,UAAQ,GACrB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;;;;;OASG;WACU,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;;;;;OASG;WACU,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F;;;;;OAKG;WACU,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;;;;;;OAOG;WACU,yCAAyC,CACpD,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;CAGjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VersionType } from '../../types/VersionType.js';
|
|
2
2
|
import { DR } from '../DependencyRegistry.js';
|
|
3
|
-
import JsrPackageService from './
|
|
4
|
-
import NpmPackageService from './
|
|
3
|
+
import JsrPackageService from './JsrPackage.service.js';
|
|
4
|
+
import NpmPackageService from './NpmPackage.service.js';
|
|
5
5
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
6
6
|
/**
|
|
7
7
|
* A service which can be used to assist in publishing or validating packages
|
|
@@ -95,4 +95,4 @@ export default class PackageService {
|
|
|
95
95
|
return PackageServiceUtils.bumpVersionIfNeededAndInitializeChangelog(versionType, packagePath);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=
|
|
98
|
+
//# sourceMappingURL=Package.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Package.service.js","sourceRoot":"","sources":["../../../src/services/PackageService/Package.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,uBAAkC,EAClC,cAAc,GAAG,KAAK;QAEtB,OAAO,iBAAiB,CAAC,eAAe,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAkC;QAC1D,OAAO,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,uBAAkC;QAChE,OAAO,iBAAiB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAkC;QAC1D,OAAO,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAsB,EAAE,SAAiB;QAC1E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,cAAc,SAAS,SAAS,GAAG,CAAC,CAAC;QAExF,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAExE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAoB;QACnD,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,yCAAyC,CACpD,WAAyB,EACzB,WAAoB;QAEpB,OAAO,mBAAmB,CAAC,yCAAyC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjG,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VersionType } from '../../types/VersionType.js';
|
|
2
2
|
import { DR } from '../DependencyRegistry.js';
|
|
3
|
-
import JsrPackageService from './
|
|
4
|
-
import NpmPackageService from './
|
|
3
|
+
import JsrPackageService from './JsrPackage.service.js';
|
|
4
|
+
import NpmPackageService from './NpmPackage.service.js';
|
|
5
5
|
import PackageServiceUtils from './PackageServiceUtils.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -3,6 +3,7 @@ import { VersionType } from '../../types/VersionType.js';
|
|
|
3
3
|
* Utility service containing common functionality shared between JSR and NPM package services.
|
|
4
4
|
*/
|
|
5
5
|
export default class PackageServiceUtils {
|
|
6
|
+
#private;
|
|
6
7
|
/**
|
|
7
8
|
* Gets the package name and version from package.json.
|
|
8
9
|
*
|
|
@@ -58,15 +59,5 @@ export default class PackageServiceUtils {
|
|
|
58
59
|
* @param packagePath Optional path to the package directory (defaults to current working directory)
|
|
59
60
|
*/
|
|
60
61
|
static bumpVersionIfNeededAndInitializeChangelog(versionType?: VersionType, packagePath?: string): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* Checks if a version bump is needed by comparing current version with npm registry
|
|
63
|
-
* and considering the requested version type.
|
|
64
|
-
*
|
|
65
|
-
* @param packageName The package name to check
|
|
66
|
-
* @param currentVersion The current version from package.json
|
|
67
|
-
* @param versionType The type of version bump requested
|
|
68
|
-
* @returns true if a version bump is needed, false otherwise
|
|
69
|
-
*/
|
|
70
|
-
private static checkIfVersionBumpNeeded;
|
|
71
62
|
}
|
|
72
63
|
//# sourceMappingURL=PackageServiceUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAWzD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IACtC;;;;OAIG;WACU,cAAc,IAAI,OAAO,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IA2BF;;;;OAIG;WACU,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlF;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,IAAI;IAqBP;;;;;;OAMG;WACU,kBAAkB,CAC7B,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;OAGG;WACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7C;;;;;OAKG;WACU,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;;;;;;;;;OAUG;WACU,yCAAyC,CACpD,WAAW,GAAE,WAA+B,EAC5C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;CA0FjB"}
|
|
@@ -2,13 +2,15 @@ import { exec } from 'child_process';
|
|
|
2
2
|
import { access, readFile } from 'fs/promises';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
|
+
import { isPackageJson } from '../../types/PackageJson.js';
|
|
5
6
|
import { VersionType } from '../../types/VersionType.js';
|
|
6
7
|
import ErrorUtils from '../../utils/ErrorUtils.js';
|
|
8
|
+
import JsonUtils from '../../utils/JsonUtils.js';
|
|
7
9
|
import ChangelogService from '../ChangelogService/index.js';
|
|
8
10
|
import { DR } from '../DependencyRegistry.js';
|
|
9
|
-
import DependencyService from '../
|
|
10
|
-
import FileSystemService from '../FileSystemService/
|
|
11
|
-
import StringService from '../
|
|
11
|
+
import DependencyService from '../Dependency.service.js';
|
|
12
|
+
import FileSystemService from '../FileSystemService/FileSystem.service.js';
|
|
13
|
+
import StringService from '../String.service.js';
|
|
12
14
|
const execAsync = promisify(exec);
|
|
13
15
|
/**
|
|
14
16
|
* Utility service containing common functionality shared between JSR and NPM package services.
|
|
@@ -29,7 +31,7 @@ export default class PackageServiceUtils {
|
|
|
29
31
|
throw new Error('No package.json file found in the current directory.');
|
|
30
32
|
}
|
|
31
33
|
try {
|
|
32
|
-
const packageJsonData =
|
|
34
|
+
const packageJsonData = JsonUtils.parseWithGuard(await readFile(packageJsonPath, 'utf-8'), isPackageJson);
|
|
33
35
|
return {
|
|
34
36
|
packageName: packageJsonData.name,
|
|
35
37
|
version: packageJsonData.version
|
|
@@ -140,7 +142,7 @@ export default class PackageServiceUtils {
|
|
|
140
142
|
}
|
|
141
143
|
DR.logger.info(`Changes detected compared to main branch - proceeding with version check`);
|
|
142
144
|
// Check if version bump is needed by comparing with npm registry
|
|
143
|
-
const needsBump = await PackageServiceUtils
|
|
145
|
+
const needsBump = await PackageServiceUtils.#checkIfVersionBumpNeeded(packageName, currentVersion, versionType);
|
|
144
146
|
let finalVersion = currentVersion;
|
|
145
147
|
if (needsBump) {
|
|
146
148
|
DR.logger.info(`Version bump needed - bumping ${versionType} version`);
|
|
@@ -166,7 +168,7 @@ export default class PackageServiceUtils {
|
|
|
166
168
|
* @param versionType The type of version bump requested
|
|
167
169
|
* @returns true if a version bump is needed, false otherwise
|
|
168
170
|
*/
|
|
169
|
-
static async checkIfVersionBumpNeeded(packageName, currentVersion, versionType) {
|
|
171
|
+
static async #checkIfVersionBumpNeeded(packageName, currentVersion, versionType) {
|
|
170
172
|
DR.logger.info(`Checking npm registry for existing versions of ${packageName}...`);
|
|
171
173
|
let latestVersion = null;
|
|
172
174
|
try {
|