@nimbus-ds/scripts 1.8.0-rc.5 ā 1.8.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/packagePublisher/core/npm-utils/index.d.ts +1 -0
- package/dist/packagePublisher/core/npm-utils/index.js +10 -0
- package/dist/packagePublisher/core/npm-utils/index.js.map +1 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.d.ts +54 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.js +188 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.js.map +1 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.types.d.ts +9 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.types.js +3 -0
- package/dist/packagePublisher/core/npm-utils/npm-utils.types.js.map +1 -0
- package/dist/packagePublisher/core/workspaces/index.d.ts +1 -0
- package/dist/packagePublisher/core/workspaces/index.js +7 -0
- package/dist/packagePublisher/core/workspaces/index.js.map +1 -0
- package/dist/packagePublisher/core/workspaces/workspaces.d.ts +4 -0
- package/dist/packagePublisher/core/workspaces/workspaces.js +22 -0
- package/dist/packagePublisher/core/workspaces/workspaces.js.map +1 -0
- package/dist/packagePublisher/core/workspaces/workspaces.types.d.ts +4 -0
- package/dist/packagePublisher/core/workspaces/workspaces.types.js +3 -0
- package/dist/packagePublisher/core/workspaces/workspaces.types.js.map +1 -0
- package/dist/packagePublisher/index.d.ts +1 -1
- package/dist/packagePublisher/index.js +1 -1
- package/dist/packagePublisher/index.js.map +1 -1
- package/dist/packagePublisher/publish-rc.d.ts +10 -18
- package/dist/packagePublisher/publish-rc.definitions.d.ts +4 -0
- package/dist/packagePublisher/publish-rc.definitions.js +20 -0
- package/dist/packagePublisher/publish-rc.definitions.js.map +1 -0
- package/dist/packagePublisher/publish-rc.js +31 -95
- package/dist/packagePublisher/publish-rc.js.map +1 -1
- package/dist/packagePublisher/publish-rc.types.d.ts +5 -0
- package/dist/packagePublisher/publish-rc.types.js +3 -0
- package/dist/packagePublisher/publish-rc.types.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This package is intended for internal use in generating custom script builds at design system build time.
|
|
4
4
|
|
|
5
|
+
## 2025-08-05 `1.8.0`
|
|
6
|
+
#### š New features
|
|
7
|
+
- Added `publish-rc` script to publish Release Candidate versions of Nimbus packages. ([#300](https://github.com/TiendaNube/nimbus-design-system/pull/300) by [@joacotornello](https://github.com/joacotornello))
|
|
8
|
+
|
|
5
9
|
## 2025-06-04 `1.7.0`
|
|
6
10
|
|
|
7
11
|
#### š New features
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getNextRCVersion, publishToNpm, getBaseVersionFromRC, getLocalNpmPackageVersions, setLocalNpmPackageVersion, } from "./npm-utils";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLocalNpmPackageVersion = exports.getLocalNpmPackageVersions = exports.getBaseVersionFromRC = exports.publishToNpm = exports.getNextRCVersion = void 0;
|
|
4
|
+
var npm_utils_1 = require("./npm-utils");
|
|
5
|
+
Object.defineProperty(exports, "getNextRCVersion", { enumerable: true, get: function () { return npm_utils_1.getNextRCVersion; } });
|
|
6
|
+
Object.defineProperty(exports, "publishToNpm", { enumerable: true, get: function () { return npm_utils_1.publishToNpm; } });
|
|
7
|
+
Object.defineProperty(exports, "getBaseVersionFromRC", { enumerable: true, get: function () { return npm_utils_1.getBaseVersionFromRC; } });
|
|
8
|
+
Object.defineProperty(exports, "getLocalNpmPackageVersions", { enumerable: true, get: function () { return npm_utils_1.getLocalNpmPackageVersions; } });
|
|
9
|
+
Object.defineProperty(exports, "setLocalNpmPackageVersion", { enumerable: true, get: function () { return npm_utils_1.setLocalNpmPackageVersion; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/npm-utils/index.ts"],"names":[],"mappings":";;;AAAA,yCAMqB;AALnB,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AACZ,iHAAA,oBAAoB,OAAA;AACpB,uHAAA,0BAA0B,OAAA;AAC1B,sHAAA,yBAAyB,OAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { NpmPublishOptions } from "./npm-utils.types";
|
|
2
|
+
/**
|
|
3
|
+
* Gets all published versions for a given package from NPM registry
|
|
4
|
+
* @param packageName - The name of the package to check
|
|
5
|
+
* @returns Array of published versions, or empty array if package doesn't exist
|
|
6
|
+
*/
|
|
7
|
+
export declare function getRemoteNpmPackageVersions(packageName: string): string[];
|
|
8
|
+
export declare function getLocalNpmPackageVersions(packageName: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Finds the next available RC version for a given base version
|
|
11
|
+
* @param packageName - The name of the package
|
|
12
|
+
* @param baseVersion - The base version (e.g., "1.0.0")
|
|
13
|
+
* @returns The next RC version (e.g., "1.0.0-rc.1" or "1.0.0-rc.3")
|
|
14
|
+
*/
|
|
15
|
+
export declare function getNextRCVersion(packageName: string, baseVersion: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Publishes a package to NPM with specified options
|
|
18
|
+
* @param packageName - The name of the package workspace
|
|
19
|
+
* @param options - Publishing options (access, tag, OTP)
|
|
20
|
+
*/
|
|
21
|
+
export declare function publishToNpm(packageName: string, options?: NpmPublishOptions): void;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a specific version exists on NPM
|
|
24
|
+
* @param packageName - The name of the package
|
|
25
|
+
* @param version - The version to check
|
|
26
|
+
* @returns True if the version exists, false otherwise
|
|
27
|
+
*/
|
|
28
|
+
export declare function versionExistsOnNpm(packageName: string, version: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Gets RC versions for a specific base version
|
|
31
|
+
* @param packageName - The name of the package
|
|
32
|
+
* @param baseVersion - The base version to check RCs for
|
|
33
|
+
* @returns Array of RC versions for the base version
|
|
34
|
+
*/
|
|
35
|
+
export declare function getRCVersionsForBase(packageName: string, baseVersion: string): string[];
|
|
36
|
+
/**
|
|
37
|
+
* Validates if a version string is a valid RC version format
|
|
38
|
+
* @param version - The version string to validate
|
|
39
|
+
* @returns True if valid RC format, false otherwise
|
|
40
|
+
*/
|
|
41
|
+
export declare function isValidRCVersion(version: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Extracts the base version from an RC version
|
|
44
|
+
* @param rcVersion - The RC version (e.g., "1.0.0-rc.1")
|
|
45
|
+
* @returns The base version (e.g., "1.0.0")
|
|
46
|
+
*/
|
|
47
|
+
export declare function getBaseVersionFromRC(rcVersion: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Extracts the RC number from an RC version
|
|
50
|
+
* @param rcVersion - The RC version (e.g., "1.0.0-rc.1")
|
|
51
|
+
* @returns The RC number (e.g., 1)
|
|
52
|
+
*/
|
|
53
|
+
export declare function getRCNumber(rcVersion: string): number;
|
|
54
|
+
export declare function setLocalNpmPackageVersion(packageName: string, version: string): void;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLocalNpmPackageVersion = exports.getRCNumber = exports.getBaseVersionFromRC = exports.isValidRCVersion = exports.getRCVersionsForBase = exports.versionExistsOnNpm = exports.publishToNpm = exports.getNextRCVersion = exports.getLocalNpmPackageVersions = exports.getRemoteNpmPackageVersions = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
/**
|
|
6
|
+
* Gets all published versions for a given package from NPM registry
|
|
7
|
+
* @param packageName - The name of the package to check
|
|
8
|
+
* @returns Array of published versions, or empty array if package doesn't exist
|
|
9
|
+
*/
|
|
10
|
+
function getRemoteNpmPackageVersions(packageName) {
|
|
11
|
+
try {
|
|
12
|
+
console.log(`š Fetching published versions for ${packageName}...`);
|
|
13
|
+
const npmInfo = (0, child_process_1.execSync)(`npm view ${packageName} versions --json`, {
|
|
14
|
+
encoding: "utf8",
|
|
15
|
+
stdio: ["pipe", "pipe", "pipe"], // Suppress stderr
|
|
16
|
+
});
|
|
17
|
+
const versions = JSON.parse(npmInfo);
|
|
18
|
+
return Array.isArray(versions) ? versions : [versions];
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.log(`š No existing versions found for ${packageName}`);
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.getRemoteNpmPackageVersions = getRemoteNpmPackageVersions;
|
|
26
|
+
function getLocalNpmPackageVersions(packageName) {
|
|
27
|
+
const versionOutput = (0, child_process_1.execSync)(`npm pkg get version --workspace=${packageName}`, { encoding: "utf8" });
|
|
28
|
+
let version = "";
|
|
29
|
+
// Try to parse the entire output as JSON (handles multi-line objects - like nimbus-ds)
|
|
30
|
+
try {
|
|
31
|
+
const parsedOutput = JSON.parse(versionOutput.trim());
|
|
32
|
+
if (typeof parsedOutput === "string") {
|
|
33
|
+
// Direct version string format: "1.0.0"
|
|
34
|
+
version = parsedOutput;
|
|
35
|
+
}
|
|
36
|
+
else if (typeof parsedOutput === "object" && parsedOutput !== null) {
|
|
37
|
+
// Object format: { "@nimbus-ds/package": "1.0.0" }
|
|
38
|
+
version = parsedOutput[packageName];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// If parsing the entire output fails, try line-by-line parsing
|
|
43
|
+
// This handles cases where npm returns multiple JSON outputs (like nimbus-ds)
|
|
44
|
+
const lines = versionOutput
|
|
45
|
+
.trim()
|
|
46
|
+
.split("\n")
|
|
47
|
+
.filter((line) => line.trim());
|
|
48
|
+
for (const line of lines) {
|
|
49
|
+
try {
|
|
50
|
+
const parsedLine = JSON.parse(line.trim());
|
|
51
|
+
if (typeof parsedLine === "string") {
|
|
52
|
+
// Direct version string format: "1.0.0"
|
|
53
|
+
version = parsedLine;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
else if (typeof parsedLine === "object" && parsedLine !== null) {
|
|
57
|
+
// Object format: { "@nimbus-ds/package": "1.0.0" }
|
|
58
|
+
if (parsedLine[packageName]) {
|
|
59
|
+
version = parsedLine[packageName];
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (jsonError) {
|
|
65
|
+
// Skip invalid JSON lines and continue
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return version;
|
|
71
|
+
}
|
|
72
|
+
exports.getLocalNpmPackageVersions = getLocalNpmPackageVersions;
|
|
73
|
+
/**
|
|
74
|
+
* Finds the next available RC version for a given base version
|
|
75
|
+
* @param packageName - The name of the package
|
|
76
|
+
* @param baseVersion - The base version (e.g., "1.0.0")
|
|
77
|
+
* @returns The next RC version (e.g., "1.0.0-rc.1" or "1.0.0-rc.3")
|
|
78
|
+
*/
|
|
79
|
+
function getNextRCVersion(packageName, baseVersion) {
|
|
80
|
+
const versions = getRemoteNpmPackageVersions(packageName);
|
|
81
|
+
const rcVersions = versions.filter((v) => v.startsWith(`${baseVersion}-rc.`));
|
|
82
|
+
if (rcVersions.length === 0) {
|
|
83
|
+
return `${baseVersion}-rc.1`;
|
|
84
|
+
}
|
|
85
|
+
// Find highest RC number
|
|
86
|
+
const rcNumbers = rcVersions.map((v) => {
|
|
87
|
+
const match = v.match(/-rc\.(\d+)$/);
|
|
88
|
+
return match ? parseInt(match[1], 10) : 0;
|
|
89
|
+
});
|
|
90
|
+
const highestRC = Math.max(...rcNumbers);
|
|
91
|
+
const nextRC = `${baseVersion}-rc.${highestRC + 1}`;
|
|
92
|
+
console.log(`š Found ${rcVersions.length} existing RC versions, next available: ${nextRC}`);
|
|
93
|
+
return nextRC;
|
|
94
|
+
}
|
|
95
|
+
exports.getNextRCVersion = getNextRCVersion;
|
|
96
|
+
/**
|
|
97
|
+
* Publishes a package to NPM with specified options
|
|
98
|
+
* @param packageName - The name of the package workspace
|
|
99
|
+
* @param options - Publishing options (access, tag, OTP)
|
|
100
|
+
*/
|
|
101
|
+
function publishToNpm(packageName, options = {}) {
|
|
102
|
+
const { access = "public", tag = "rc", otp } = options;
|
|
103
|
+
try {
|
|
104
|
+
const accessFlag = `--access ${access}`;
|
|
105
|
+
const tagFlag = `--tag ${tag}`;
|
|
106
|
+
const otpFlag = otp ? ` --otp=${otp}` : "";
|
|
107
|
+
const command = `yarn workspace ${packageName} npm publish ${accessFlag} ${tagFlag}${otpFlag}`;
|
|
108
|
+
console.log(`š¤ Publishing with command: ${command}`);
|
|
109
|
+
(0, child_process_1.execSync)(command, {
|
|
110
|
+
stdio: "inherit",
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
throw new Error(`npm publish failed: ${error.message}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.publishToNpm = publishToNpm;
|
|
118
|
+
/**
|
|
119
|
+
* Checks if a specific version exists on NPM
|
|
120
|
+
* @param packageName - The name of the package
|
|
121
|
+
* @param version - The version to check
|
|
122
|
+
* @returns True if the version exists, false otherwise
|
|
123
|
+
*/
|
|
124
|
+
function versionExistsOnNpm(packageName, version) {
|
|
125
|
+
const versions = getRemoteNpmPackageVersions(packageName);
|
|
126
|
+
return versions.includes(version);
|
|
127
|
+
}
|
|
128
|
+
exports.versionExistsOnNpm = versionExistsOnNpm;
|
|
129
|
+
/**
|
|
130
|
+
* Gets RC versions for a specific base version
|
|
131
|
+
* @param packageName - The name of the package
|
|
132
|
+
* @param baseVersion - The base version to check RCs for
|
|
133
|
+
* @returns Array of RC versions for the base version
|
|
134
|
+
*/
|
|
135
|
+
function getRCVersionsForBase(packageName, baseVersion) {
|
|
136
|
+
const versions = getRemoteNpmPackageVersions(packageName);
|
|
137
|
+
return versions.filter((v) => v.startsWith(`${baseVersion}-rc.`));
|
|
138
|
+
}
|
|
139
|
+
exports.getRCVersionsForBase = getRCVersionsForBase;
|
|
140
|
+
/**
|
|
141
|
+
* Validates if a version string is a valid RC version format
|
|
142
|
+
* @param version - The version string to validate
|
|
143
|
+
* @returns True if valid RC format, false otherwise
|
|
144
|
+
*/
|
|
145
|
+
function isValidRCVersion(version) {
|
|
146
|
+
const rcPattern = /^\d+\.\d+\.\d+-rc\.\d+$/;
|
|
147
|
+
return rcPattern.test(version);
|
|
148
|
+
}
|
|
149
|
+
exports.isValidRCVersion = isValidRCVersion;
|
|
150
|
+
/**
|
|
151
|
+
* Extracts the base version from an RC version
|
|
152
|
+
* @param rcVersion - The RC version (e.g., "1.0.0-rc.1")
|
|
153
|
+
* @returns The base version (e.g., "1.0.0")
|
|
154
|
+
*/
|
|
155
|
+
function getBaseVersionFromRC(rcVersion) {
|
|
156
|
+
const match = rcVersion.match(/^(\d+\.\d+\.\d+)-rc\.\d+$/);
|
|
157
|
+
if (!match) {
|
|
158
|
+
throw new Error(`Invalid RC version format: ${rcVersion}`);
|
|
159
|
+
}
|
|
160
|
+
return match[1];
|
|
161
|
+
}
|
|
162
|
+
exports.getBaseVersionFromRC = getBaseVersionFromRC;
|
|
163
|
+
/**
|
|
164
|
+
* Extracts the RC number from an RC version
|
|
165
|
+
* @param rcVersion - The RC version (e.g., "1.0.0-rc.1")
|
|
166
|
+
* @returns The RC number (e.g., 1)
|
|
167
|
+
*/
|
|
168
|
+
function getRCNumber(rcVersion) {
|
|
169
|
+
const match = rcVersion.match(/-rc\.(\d+)$/);
|
|
170
|
+
if (!match) {
|
|
171
|
+
throw new Error(`Invalid RC version format: ${rcVersion}`);
|
|
172
|
+
}
|
|
173
|
+
return parseInt(match[1], 10);
|
|
174
|
+
}
|
|
175
|
+
exports.getRCNumber = getRCNumber;
|
|
176
|
+
function setLocalNpmPackageVersion(packageName, version) {
|
|
177
|
+
try {
|
|
178
|
+
(0, child_process_1.execSync)(`npm version ${version} --workspace=${packageName} --no-git-tag-version`, {
|
|
179
|
+
// This is useful to skip calling the 'yarn' command inside each package, as that will throw an error.
|
|
180
|
+
stdio: "ignore",
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
// This is a known error, continue. The command was successful.
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.setLocalNpmPackageVersion = setLocalNpmPackageVersion;
|
|
188
|
+
//# sourceMappingURL=npm-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-utils.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/npm-utils/npm-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-utils.types.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/npm-utils/npm-utils.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getYarnWorkspaces, buildPackage } from "./workspaces";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildPackage = exports.getYarnWorkspaces = void 0;
|
|
4
|
+
var workspaces_1 = require("./workspaces");
|
|
5
|
+
Object.defineProperty(exports, "getYarnWorkspaces", { enumerable: true, get: function () { return workspaces_1.getYarnWorkspaces; } });
|
|
6
|
+
Object.defineProperty(exports, "buildPackage", { enumerable: true, get: function () { return workspaces_1.buildPackage; } });
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/workspaces/index.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAAtD,+GAAA,iBAAiB,OAAA;AAAE,0GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildPackage = exports.getYarnWorkspaces = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
function getYarnWorkspaces() {
|
|
6
|
+
const workspacesOutput = (0, child_process_1.execSync)("yarn workspaces list --json", {
|
|
7
|
+
encoding: "utf8",
|
|
8
|
+
});
|
|
9
|
+
const workspaces = workspacesOutput
|
|
10
|
+
.split("\n")
|
|
11
|
+
.filter((line) => line.trim())
|
|
12
|
+
.map((line) => JSON.parse(line));
|
|
13
|
+
return workspaces;
|
|
14
|
+
}
|
|
15
|
+
exports.getYarnWorkspaces = getYarnWorkspaces;
|
|
16
|
+
function buildPackage(packageName) {
|
|
17
|
+
(0, child_process_1.execSync)(`yarn workspace ${packageName} build`, {
|
|
18
|
+
stdio: "inherit",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.buildPackage = buildPackage;
|
|
22
|
+
//# sourceMappingURL=workspaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/workspaces/workspaces.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AAGzC,SAAS,iBAAiB;IACxB,MAAM,gBAAgB,GAAG,IAAA,wBAAQ,EAAC,6BAA6B,EAAE;QAC/D,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,gBAAgB;SAChC,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnC,OAAO,UAAU,CAAC;AACpB,CAAC;AAQQ,8CAAiB;AAN1B,SAAS,YAAY,CAAC,WAAmB;IACvC,IAAA,wBAAQ,EAAC,kBAAkB,WAAW,QAAQ,EAAE;QAC9C,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC;AAE2B,oCAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaces.types.js","sourceRoot":"","sources":["../../../../src/packagePublisher/core/workspaces/workspaces.types.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { getNextRCVersion, publishToNpm } from "./npm-utils";
|
|
1
|
+
export { getNextRCVersion, publishToNpm } from "./core/npm-utils/npm-utils";
|
|
2
2
|
export { RCPublisher } from "./publish-rc";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RCPublisher = exports.publishToNpm = exports.getNextRCVersion = void 0;
|
|
4
|
-
var npm_utils_1 = require("./npm-utils");
|
|
4
|
+
var npm_utils_1 = require("./core/npm-utils/npm-utils");
|
|
5
5
|
Object.defineProperty(exports, "getNextRCVersion", { enumerable: true, get: function () { return npm_utils_1.getNextRCVersion; } });
|
|
6
6
|
Object.defineProperty(exports, "publishToNpm", { enumerable: true, get: function () { return npm_utils_1.publishToNpm; } });
|
|
7
7
|
var publish_rc_1 = require("./publish-rc");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/packagePublisher/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/packagePublisher/index.ts"],"names":[],"mappings":";;;AAAA,wDAA4E;AAAnE,6GAAA,gBAAgB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACvC,2CAA2C;AAAlC,yGAAA,WAAW,OAAA"}
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
+
import type { PackageInfo } from "./publish-rc.types";
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Usage: yarn publish:rc <packageName> [version] [--skip-build] [--otp=123456]
|
|
5
|
-
*
|
|
6
|
-
* Examples:
|
|
7
|
-
* yarn publish:rc @nimbus-ds/button # Publish RC for specific package
|
|
8
|
-
* yarn publish:rc @nimbus-ds/button 1.3.0 # Publish specific version as RC
|
|
9
|
-
* yarn publish:rc @nimbus-ds/button --skip-build # Skip build for specific package
|
|
10
|
-
* yarn publish:rc @nimbus-ds/button --otp=123456 --skip-build # Combine flags
|
|
11
|
-
*/
|
|
12
|
-
interface PackageInfo {
|
|
13
|
-
name: string;
|
|
14
|
-
version: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* CLI tool for publishing Release Candidate versions of Nimbus packages
|
|
3
|
+
* Tool for publishing Release Candidate versions of Nimbus packages
|
|
18
4
|
* Handles version calculation, building, and publishing to npm with rc tag
|
|
19
5
|
*/
|
|
20
6
|
declare class RCPublisher {
|
|
@@ -24,8 +10,14 @@ declare class RCPublisher {
|
|
|
24
10
|
private otp?;
|
|
25
11
|
constructor();
|
|
26
12
|
showHelp(): void;
|
|
27
|
-
validateArgs(
|
|
28
|
-
|
|
13
|
+
validateArgs(argv: string[]): {
|
|
14
|
+
packageName: string;
|
|
15
|
+
version: string;
|
|
16
|
+
otp?: string;
|
|
17
|
+
skipBuild: boolean;
|
|
18
|
+
showHelp: boolean;
|
|
19
|
+
};
|
|
20
|
+
run(packageName: string, version?: string, skipBuild?: boolean, otp?: string): Promise<void>;
|
|
29
21
|
findPackageByName(packageName: string): PackageInfo;
|
|
30
22
|
determineRCVersion(versionArg: string): Promise<string>;
|
|
31
23
|
calculateNextVersion(currentVersion: string, bumpType: string): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidRCVersion = exports.isValidSemanticVersion = exports.isBumpType = void 0;
|
|
4
|
+
function isBumpType(version) {
|
|
5
|
+
return ["major", "minor", "patch"].includes(version.toLowerCase());
|
|
6
|
+
}
|
|
7
|
+
exports.isBumpType = isBumpType;
|
|
8
|
+
function isValidSemanticVersion(version) {
|
|
9
|
+
// Semantic version format: major.minor.patch (e.g., 1.2.3)
|
|
10
|
+
const semverRegex = /^\d+\.\d+\.\d+$/;
|
|
11
|
+
return semverRegex.test(version);
|
|
12
|
+
}
|
|
13
|
+
exports.isValidSemanticVersion = isValidSemanticVersion;
|
|
14
|
+
function isValidRCVersion(version) {
|
|
15
|
+
// RC version format: major.minor.patch-rc.number (e.g., 1.2.3-rc.1)
|
|
16
|
+
const rcVersionRegex = /^\d+\.\d+\.\d+-rc\.\d+$/;
|
|
17
|
+
return rcVersionRegex.test(version);
|
|
18
|
+
}
|
|
19
|
+
exports.isValidRCVersion = isValidRCVersion;
|
|
20
|
+
//# sourceMappingURL=publish-rc.definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-rc.definitions.js","sourceRoot":"","sources":["../../src/packagePublisher/publish-rc.definitions.ts"],"names":[],"mappings":";;;AAAA,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAcQ,gCAAU;AAZnB,SAAS,sBAAsB,CAAC,OAAe;IAC7C,2DAA2D;IAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAQoB,wDAAsB;AAN3C,SAAS,gBAAgB,CAAC,OAAe;IACvC,oEAAoE;IACpE,MAAM,cAAc,GAAG,yBAAyB,CAAC;IACjD,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAE4C,4CAAgB"}
|
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Local Release Candidate Publisher
|
|
4
|
-
*
|
|
5
|
-
* Usage: yarn publish:rc <packageName> [version] [--skip-build] [--otp=123456]
|
|
6
|
-
*
|
|
7
|
-
* Examples:
|
|
8
|
-
* yarn publish:rc @nimbus-ds/button # Publish RC for specific package
|
|
9
|
-
* yarn publish:rc @nimbus-ds/button 1.3.0 # Publish specific version as RC
|
|
10
|
-
* yarn publish:rc @nimbus-ds/button --skip-build # Skip build for specific package
|
|
11
|
-
* yarn publish:rc @nimbus-ds/button --otp=123456 --skip-build # Combine flags
|
|
12
|
-
*/
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.RCPublisher = void 0;
|
|
15
4
|
const tslib_1 = require("tslib");
|
|
16
|
-
const child_process_1 = require("child_process");
|
|
17
5
|
const readline_1 = tslib_1.__importDefault(require("readline"));
|
|
18
|
-
const npm_utils_1 = require("./npm-utils");
|
|
19
|
-
const
|
|
6
|
+
const npm_utils_1 = require("./core/npm-utils/npm-utils");
|
|
7
|
+
const publish_rc_definitions_1 = require("./publish-rc.definitions");
|
|
8
|
+
const workspaces_1 = require("./core/workspaces/workspaces");
|
|
20
9
|
/**
|
|
21
|
-
*
|
|
10
|
+
* Tool for publishing Release Candidate versions of Nimbus packages
|
|
22
11
|
* Handles version calculation, building, and publishing to npm with rc tag
|
|
23
12
|
*/
|
|
24
13
|
class RCPublisher {
|
|
@@ -55,28 +44,33 @@ Options:
|
|
|
55
44
|
|
|
56
45
|
For more details, see scripts/README.md`);
|
|
57
46
|
}
|
|
58
|
-
validateArgs(
|
|
47
|
+
validateArgs(argv) {
|
|
48
|
+
// Parse arguments (filter out flags)
|
|
49
|
+
const args = argv.slice(2).filter((arg) => !arg.startsWith("-"));
|
|
50
|
+
const packageName = args[0];
|
|
51
|
+
const version = args[1] || "";
|
|
52
|
+
const otpArg = process.argv.find((arg) => arg.startsWith("--otp="));
|
|
53
|
+
const otp = otpArg ? otpArg.split("=")[1] : undefined;
|
|
54
|
+
const skipBuild = args.includes("--skip-build");
|
|
55
|
+
const showHelp = args.includes("--help") || args.includes("-h");
|
|
59
56
|
// Validate OTP parameter
|
|
60
|
-
if (otp) {
|
|
61
|
-
|
|
62
|
-
if (this.otp.length !== 6 || !/^\d{6}$/.test(this.otp)) {
|
|
63
|
-
throw new Error("\nā Invalid OTP format. Please provide exactly 6 digits (e.g., --otp=123456)");
|
|
64
|
-
}
|
|
57
|
+
if (otp && (otp.length !== 6 || !/^\d{6}$/.test(otp))) {
|
|
58
|
+
throw new Error("\nā Invalid OTP format. Please provide exactly 6 digits (e.g., --otp=123456)");
|
|
65
59
|
}
|
|
66
60
|
// Validate required package name
|
|
67
61
|
if (!packageName || packageName.trim() === "") {
|
|
68
62
|
throw new Error("\nā Error: Package name is required. \n\nUsage: yarn publish:rc <packageName> [version] [options] \nExample: yarn publish:rc @nimbus-ds/button");
|
|
69
63
|
}
|
|
64
|
+
return { packageName, version, otp, skipBuild, showHelp };
|
|
70
65
|
}
|
|
71
|
-
|
|
72
|
-
async run(packageName, version = "", skipBuild = false) {
|
|
66
|
+
async run(packageName, version = "", skipBuild = false, otp) {
|
|
73
67
|
try {
|
|
74
68
|
console.log("š Nimbus RC Publisher");
|
|
75
69
|
console.log("======================");
|
|
76
70
|
console.log();
|
|
77
|
-
this.validateArgs(packageName);
|
|
78
71
|
// Check for skip-build flag
|
|
79
72
|
this.skipBuild = skipBuild;
|
|
73
|
+
this.otp = otp;
|
|
80
74
|
// Find package to publish
|
|
81
75
|
this.packageInfo = this.findPackageByName(packageName);
|
|
82
76
|
console.log(`š¦ Package: ${this.packageInfo.name}`);
|
|
@@ -103,64 +97,14 @@ For more details, see scripts/README.md`);
|
|
|
103
97
|
}
|
|
104
98
|
findPackageByName(packageName) {
|
|
105
99
|
// Get all workspaces using yarn
|
|
106
|
-
const
|
|
107
|
-
encoding: "utf8",
|
|
108
|
-
});
|
|
109
|
-
const workspaces = workspacesOutput
|
|
110
|
-
.split("\n")
|
|
111
|
-
.filter((line) => line.trim())
|
|
112
|
-
.map((line) => JSON.parse(line));
|
|
100
|
+
const workspaces = (0, workspaces_1.getYarnWorkspaces)();
|
|
113
101
|
const workspace = workspaces.find((ws) => ws.name === packageName);
|
|
114
102
|
if (!workspace)
|
|
115
103
|
throw new Error(`Package "${packageName}" not found in workspace`);
|
|
116
|
-
// Get version using npm pkg command (no need to read package.json file)
|
|
117
104
|
try {
|
|
118
|
-
const
|
|
119
|
-
let version;
|
|
120
|
-
// First, try to parse the entire output as JSON (handles multi-line objects)
|
|
121
|
-
try {
|
|
122
|
-
const parsedOutput = JSON.parse(versionOutput.trim());
|
|
123
|
-
if (typeof parsedOutput === "string") {
|
|
124
|
-
// Direct version string format: "1.0.0"
|
|
125
|
-
version = parsedOutput;
|
|
126
|
-
}
|
|
127
|
-
else if (typeof parsedOutput === "object" && parsedOutput !== null) {
|
|
128
|
-
// Object format: { "@nimbus-ds/package": "1.0.0" }
|
|
129
|
-
version = parsedOutput[packageName];
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch {
|
|
133
|
-
// If parsing the entire output fails, try line-by-line parsing
|
|
134
|
-
// This handles cases where npm returns multiple JSON outputs
|
|
135
|
-
const lines = versionOutput
|
|
136
|
-
.trim()
|
|
137
|
-
.split("\n")
|
|
138
|
-
.filter((line) => line.trim());
|
|
139
|
-
for (const line of lines) {
|
|
140
|
-
try {
|
|
141
|
-
const parsedLine = JSON.parse(line.trim());
|
|
142
|
-
if (typeof parsedLine === "string") {
|
|
143
|
-
// Direct version string format: "1.0.0"
|
|
144
|
-
version = parsedLine;
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
else if (typeof parsedLine === "object" && parsedLine !== null) {
|
|
148
|
-
// Object format: { "@nimbus-ds/package": "1.0.0" }
|
|
149
|
-
if (parsedLine[packageName]) {
|
|
150
|
-
version = parsedLine[packageName];
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
catch (jsonError) {
|
|
156
|
-
// Skip invalid JSON lines and continue
|
|
157
|
-
continue;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
105
|
+
const version = (0, npm_utils_1.getLocalNpmPackageVersions)(packageName);
|
|
161
106
|
if (!version) {
|
|
162
|
-
throw new Error(`Version not found for package "${packageName}". `
|
|
163
|
-
`Raw output: "${versionOutput.trim()}"`);
|
|
107
|
+
throw new Error(`Version not found for package "${packageName}". `);
|
|
164
108
|
}
|
|
165
109
|
return {
|
|
166
110
|
name: workspace.name,
|
|
@@ -177,21 +121,21 @@ For more details, see scripts/README.md`);
|
|
|
177
121
|
const version = versionArg.trim();
|
|
178
122
|
if (version.includes("-rc.")) {
|
|
179
123
|
// Complete RC version provided - validate format and use as-is
|
|
180
|
-
if (!(0,
|
|
124
|
+
if (!(0, publish_rc_definitions_1.isValidRCVersion)(version)) {
|
|
181
125
|
throw new Error(`\nā Invalid RC version format: "${version}". RC version must follow semantic versioning format (major.minor.patch-rc.number)\n` +
|
|
182
126
|
` Examples: 6.1.1-rc.1, 6.0.0-rc.2, 1.2.3-rc.5\n` +
|
|
183
127
|
` Invalid: "6-rc.1", "6.5-rc.1", "1.2-rc.1"`);
|
|
184
128
|
}
|
|
185
129
|
return version;
|
|
186
130
|
}
|
|
187
|
-
else if ((0,
|
|
131
|
+
else if ((0, publish_rc_definitions_1.isBumpType)(version)) {
|
|
188
132
|
// Bump type provided (major/minor/patch) - calculate next version
|
|
189
133
|
const nextVersion = this.calculateNextVersion(this.packageInfo.version, version.toLowerCase());
|
|
190
134
|
return (0, npm_utils_1.getNextRCVersion)(this.packageInfo.name, nextVersion);
|
|
191
135
|
}
|
|
192
136
|
else {
|
|
193
137
|
// Base version provided - validate format and find next RC slot
|
|
194
|
-
if (!(0,
|
|
138
|
+
if (!(0, publish_rc_definitions_1.isValidSemanticVersion)(version)) {
|
|
195
139
|
throw new Error(`\nā Invalid version format: "${version}". Version must follow semantic versioning format (major.minor.patch)\n` +
|
|
196
140
|
` Examples: 6.1.1, 6.0.0, 1.2.3\n` +
|
|
197
141
|
` Invalid: "6", "6.5", "1.2"`);
|
|
@@ -204,7 +148,7 @@ For more details, see scripts/README.md`);
|
|
|
204
148
|
let baseVersion = this.packageInfo.version;
|
|
205
149
|
// If current version is already an RC, extract the base version
|
|
206
150
|
if (baseVersion.includes("-rc.")) {
|
|
207
|
-
if (!(0,
|
|
151
|
+
if (!(0, publish_rc_definitions_1.isValidRCVersion)(baseVersion)) {
|
|
208
152
|
throw new Error(`\nā Invalid current RC version format: "${baseVersion}". RC version must follow semantic versioning format (major.minor.patch-rc.number)`);
|
|
209
153
|
}
|
|
210
154
|
baseVersion = (0, npm_utils_1.getBaseVersionFromRC)(baseVersion);
|
|
@@ -217,8 +161,10 @@ For more details, see scripts/README.md`);
|
|
|
217
161
|
// If current version is an RC, extract the base version for calculation
|
|
218
162
|
let baseVersion = currentVersion;
|
|
219
163
|
if (currentVersion.includes("-rc.")) {
|
|
220
|
-
if (!(0,
|
|
221
|
-
throw new Error(`\nā Invalid current RC version format: "${currentVersion}". RC version must follow semantic versioning format (major.minor.patch-rc.number)`
|
|
164
|
+
if (!(0, publish_rc_definitions_1.isValidRCVersion)(currentVersion)) {
|
|
165
|
+
throw new Error(`\nā Invalid current RC version format: "${currentVersion}". RC version must follow semantic versioning format (major.minor.patch-rc.number)\n` +
|
|
166
|
+
` Examples: 6.1.1-rc.1, 6.0.0-rc.2, 1.2.3-rc.5\n` +
|
|
167
|
+
` Invalid: "6-rc.1", "6.5-rc.1", "1.2-rc.1"`);
|
|
222
168
|
}
|
|
223
169
|
baseVersion = (0, npm_utils_1.getBaseVersionFromRC)(currentVersion);
|
|
224
170
|
console.log(`š Current version is RC, using base version for calculation: ${baseVersion}`);
|
|
@@ -262,9 +208,7 @@ For more details, see scripts/README.md`);
|
|
|
262
208
|
}
|
|
263
209
|
else {
|
|
264
210
|
console.log("šØ Building package...");
|
|
265
|
-
(0,
|
|
266
|
-
stdio: "inherit",
|
|
267
|
-
});
|
|
211
|
+
(0, workspaces_1.buildPackage)(this.packageInfo.name);
|
|
268
212
|
}
|
|
269
213
|
console.log("š Updating package.json version...");
|
|
270
214
|
this.updatePackageVersion(rcVersion);
|
|
@@ -279,15 +223,7 @@ For more details, see scripts/README.md`);
|
|
|
279
223
|
updatePackageVersion(rcVersion) {
|
|
280
224
|
// Store original version for cleanup
|
|
281
225
|
this.originalVersion = this.packageInfo.version;
|
|
282
|
-
|
|
283
|
-
(0, child_process_1.execSync)(`npm version ${rcVersion} --workspace=${this.packageInfo.name} --no-git-tag-version`, {
|
|
284
|
-
// This is useful to skip calling the 'yarn' command inside each package, as that will throw an error.
|
|
285
|
-
stdio: "ignore",
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
catch (error) {
|
|
289
|
-
// This is a known error, continue. The command was successful.
|
|
290
|
-
}
|
|
226
|
+
(0, npm_utils_1.setLocalNpmPackageVersion)(this.packageInfo.name, rcVersion);
|
|
291
227
|
}
|
|
292
228
|
async cleanup() {
|
|
293
229
|
if (this.originalVersion && this.packageInfo.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-rc.js","sourceRoot":"","sources":["../../src/packagePublisher/publish-rc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish-rc.js","sourceRoot":"","sources":["../../src/packagePublisher/publish-rc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-rc.types.js","sourceRoot":"","sources":["../../src/packagePublisher/publish-rc.types.ts"],"names":[],"mappings":""}
|