@servicetitan/startup 24.3.0 → 24.4.0
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/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +17 -5
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/utils/cli-npm.d.ts +12 -6
- package/dist/cli/utils/cli-npm.d.ts.map +1 -1
- package/dist/cli/utils/cli-npm.js +32 -18
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/package.json +5 -5
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +54 -10
- package/src/cli/commands/mfe-publish.ts +20 -12
- package/src/cli/utils/__tests__/cli-npm.test.ts +26 -0
- package/src/cli/utils/cli-npm.ts +30 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,kBAAkB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,IAAK,SAAQ,kBAAkB,EAAE,gBAAgB;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,UAAW,YAAW,OAAO;IAC1B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;IA6Bb,iBAAiB;CAapB;AAED,qBAAa,iBAAkB,YAAW,OAAO;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAE5C,WAAW;IAKL,OAAO;IAoEb,OAAO,CAAC,cAAc;CA4CzB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE1C,WAAW;IAKL,OAAO;IA+Cb,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,mBAAmB;CAqD9B"}
|
|
@@ -106,22 +106,34 @@ class MFEPackagePublish {
|
|
|
106
106
|
}
|
|
107
107
|
const packageJson = (0, utils_1.readJson)('package.json');
|
|
108
108
|
if (packageJson.private) {
|
|
109
|
-
utils_1.log.info('
|
|
109
|
+
utils_1.log.info('package is private, skipping publish');
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
112
112
|
const data = this.getPublishData();
|
|
113
113
|
const packageName = packageJson.name;
|
|
114
114
|
if (!data.version) {
|
|
115
|
-
utils_1.log.info(
|
|
115
|
+
utils_1.log.info('no build version found, skipping publish');
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
118
118
|
if (!data.isBranchConfigured && !data.force) {
|
|
119
|
-
utils_1.log.info(
|
|
119
|
+
utils_1.log.info('branch is not configured for publishing, use --force flag to publish if needed');
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
122
|
const versions = (0, cli_npm_1.npmGetPackageVersions)(data.registry, packageName);
|
|
123
|
+
const dryRunPrefix = data.dry ? '(dry-run) ' : '';
|
|
123
124
|
if (versions.includes(data.version)) {
|
|
124
|
-
utils_1.log.info(
|
|
125
|
+
utils_1.log.info(`${dryRunPrefix}${packageName} version ${data.version} is already published, skipping publish`);
|
|
126
|
+
if (data.tag) {
|
|
127
|
+
utils_1.log.info(`${dryRunPrefix}adding tag "${data.tag}" to ${packageName} version ${data.version}`);
|
|
128
|
+
if (!data.dry) {
|
|
129
|
+
yield (0, cli_npm_1.npmTagVersion)({
|
|
130
|
+
packageName,
|
|
131
|
+
packageVersion: data.version,
|
|
132
|
+
registry: data.registry,
|
|
133
|
+
tag: data.tag,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
125
137
|
return;
|
|
126
138
|
}
|
|
127
139
|
yield (0, cli_npm_1.npmPackageSet)('version', data.version);
|
|
@@ -136,7 +148,7 @@ class MFEPackagePublish {
|
|
|
136
148
|
else {
|
|
137
149
|
yield (0, cli_npm_1.npmPublish)(data.tag);
|
|
138
150
|
}
|
|
139
|
-
utils_1.log.info(
|
|
151
|
+
utils_1.log.info(`${dryRunPrefix}published ${packageName} version ${data.version}`);
|
|
140
152
|
});
|
|
141
153
|
}
|
|
142
154
|
getPublishData() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAQqB;AACrB,oCAAqC;AACrC,8CAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"mfe-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export declare
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
1
|
+
export declare function npmGetPackageVersions(registry: string, packageName: string): string[];
|
|
2
|
+
export declare function npmGetPackageVersionDates(registry: string, packageName: string): [string, Date][];
|
|
3
|
+
export declare function npmUnpublish(registry: string, packageName: string, packageVersion: string): Promise<void>;
|
|
4
|
+
export declare function npmPublishDry(): Promise<void>;
|
|
5
|
+
export declare function npmPublish(tag?: string): Promise<void>;
|
|
6
|
+
export declare function npmPackageSet(key: string, value: string): Promise<void>;
|
|
7
|
+
export declare function npmTagVersion({ packageName, packageVersion, registry, tag, }: {
|
|
8
|
+
packageName: string;
|
|
9
|
+
packageVersion: string;
|
|
10
|
+
registry?: string;
|
|
11
|
+
tag: string;
|
|
12
|
+
}): Promise<void>;
|
|
7
13
|
//# sourceMappingURL=cli-npm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-npm.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"cli-npm.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAWrF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAcjG;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAI/F;AAED,wBAAsB,aAAa,kBAElC;AAED,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,iBAE5C;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE7D;AAED,wBAAsB,aAAa,CAAC,EAChC,WAAW,EACX,cAAc,EACd,QAAQ,EACR,GAAG,GACN,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf,iBAMA"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.npmPackageSet = exports.npmPublish = exports.npmPublishDry = exports.npmUnpublish = exports.npmGetPackageVersionDates = exports.npmGetPackageVersions = void 0;
|
|
12
|
+
exports.npmTagVersion = exports.npmPackageSet = exports.npmPublish = exports.npmPublishDry = exports.npmUnpublish = exports.npmGetPackageVersionDates = exports.npmGetPackageVersions = void 0;
|
|
13
13
|
const cli_os_1 = require("./cli-os");
|
|
14
|
-
|
|
14
|
+
function npmGetPackageVersions(registry, packageName) {
|
|
15
15
|
try {
|
|
16
16
|
const v = (0, cli_os_1.runCommandOutput)(`npm show ${packageName} versions --registry ${registry} --json`, { timeout: 10000 });
|
|
17
17
|
return JSON.parse(v);
|
|
@@ -19,9 +19,9 @@ const npmGetPackageVersions = (registry, packageName) => {
|
|
|
19
19
|
catch (_a) {
|
|
20
20
|
return [];
|
|
21
21
|
}
|
|
22
|
-
}
|
|
22
|
+
}
|
|
23
23
|
exports.npmGetPackageVersions = npmGetPackageVersions;
|
|
24
|
-
|
|
24
|
+
function npmGetPackageVersionDates(registry, packageName) {
|
|
25
25
|
try {
|
|
26
26
|
const v = (0, cli_os_1.runCommandOutput)(`npm view ${packageName} time --registry ${registry} --json`, {
|
|
27
27
|
timeout: 10000,
|
|
@@ -32,24 +32,38 @@ const npmGetPackageVersionDates = (registry, packageName) => {
|
|
|
32
32
|
catch (_a) {
|
|
33
33
|
return [];
|
|
34
34
|
}
|
|
35
|
-
}
|
|
35
|
+
}
|
|
36
36
|
exports.npmGetPackageVersionDates = npmGetPackageVersionDates;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
function npmUnpublish(registry, packageName, packageVersion) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
yield (0, cli_os_1.runCommand)(`npm unpublish ${packageName}@${packageVersion} --registry ${registry}`, {
|
|
40
|
+
timeout: 10000,
|
|
41
|
+
});
|
|
40
42
|
});
|
|
41
|
-
}
|
|
43
|
+
}
|
|
42
44
|
exports.npmUnpublish = npmUnpublish;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
function npmPublishDry() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
yield (0, cli_os_1.runCommand)('npm publish --dry-run');
|
|
48
|
+
});
|
|
49
|
+
}
|
|
46
50
|
exports.npmPublishDry = npmPublishDry;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
51
|
+
function npmPublish(tag) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
yield (0, cli_os_1.runCommand)(['npm publish', !!tag && `--tag ${tag}`]);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
50
56
|
exports.npmPublish = npmPublish;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
57
|
+
function npmPackageSet(key, value) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
yield (0, cli_os_1.runCommand)(`npm pkg set ${key}=${value}`);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
54
62
|
exports.npmPackageSet = npmPackageSet;
|
|
63
|
+
function npmTagVersion(_a) {
|
|
64
|
+
return __awaiter(this, arguments, void 0, function* ({ packageName, packageVersion, registry, tag, }) {
|
|
65
|
+
yield (0, cli_os_1.runCommand)(`npm dist-tag ${registry ? `--registry=${registry} ` : ''}add ${packageName}@${packageVersion} ${tag}`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.npmTagVersion = npmTagVersion;
|
|
55
69
|
//# sourceMappingURL=cli-npm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-npm.js","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;
|
|
1
|
+
{"version":3,"file":"cli-npm.js","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAwD;AAExD,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,WAAmB;IACvE,IAAI,CAAC;QACD,MAAM,CAAC,GAAG,IAAA,yBAAgB,EACtB,YAAY,WAAW,wBAAwB,QAAQ,SAAS,EAChE,EAAE,OAAO,EAAE,KAAK,EAAE,CACrB,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAXD,sDAWC;AAED,SAAgB,yBAAyB,CAAC,QAAgB,EAAE,WAAmB;IAC3E,IAAI,CAAC;QACD,MAAM,CAAC,GAAG,IAAA,yBAAgB,EAAC,YAAY,WAAW,oBAAoB,QAAQ,SAAS,EAAE;YACrF,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC7D,EAAE,CACL,CAAC;IACN,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAdD,8DAcC;AAED,SAAsB,YAAY,CAAC,QAAgB,EAAE,WAAmB,EAAE,cAAsB;;QAC5F,MAAM,IAAA,mBAAU,EAAC,iBAAiB,WAAW,IAAI,cAAc,eAAe,QAAQ,EAAE,EAAE;YACtF,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;CAAA;AAJD,oCAIC;AAED,SAAsB,aAAa;;QAC/B,MAAM,IAAA,mBAAU,EAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;CAAA;AAFD,sCAEC;AAED,SAAsB,UAAU,CAAC,GAAY;;QACzC,MAAM,IAAA,mBAAU,EAAC,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CAAA;AAFD,gCAEC;AAED,SAAsB,aAAa,CAAC,GAAW,EAAE,KAAa;;QAC1D,MAAM,IAAA,mBAAU,EAAC,eAAe,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;CAAA;AAFD,sCAEC;AAED,SAAsB,aAAa;yDAAC,EAChC,WAAW,EACX,cAAc,EACd,QAAQ,EACR,GAAG,GAMN;QACG,MAAM,IAAA,mBAAU,EACZ,gBACI,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,GAAG,CAAC,CAAC,CAAC,EAC3C,OAAO,WAAW,IAAI,cAAc,IAAI,GAAG,EAAE,CAChD,CAAC;IACN,CAAC;CAAA;AAhBD,sCAgBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.4.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@types/yargs": "~17.0.24"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@babel/preset-env": "~7.24.
|
|
37
|
+
"@babel/preset-env": "~7.24.8",
|
|
38
38
|
"@jest/core": "~29.7.0",
|
|
39
39
|
"@jest/types": "~29.6.3",
|
|
40
|
-
"@servicetitan/eslint-config": "24.
|
|
41
|
-
"@servicetitan/stylelint-config": "24.
|
|
40
|
+
"@servicetitan/eslint-config": "24.4.0",
|
|
41
|
+
"@servicetitan/stylelint-config": "24.4.0",
|
|
42
42
|
"@svgr/webpack": "^8.1.0",
|
|
43
43
|
"@swc/core": "1.6.13",
|
|
44
44
|
"@types/debug": "^4.1.12",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"cli": {
|
|
106
106
|
"webpack": false
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "596f7112eca6dee6d04acc8bc0e2b20c76642cbd"
|
|
109
109
|
}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
npmPackageSet,
|
|
7
7
|
npmPublish,
|
|
8
8
|
npmPublishDry,
|
|
9
|
+
npmTagVersion,
|
|
9
10
|
} from '../../utils/cli-npm';
|
|
10
11
|
import { MFEPackagePublish } from '../mfe-publish';
|
|
11
12
|
|
|
@@ -24,9 +25,11 @@ jest.mock('../../utils/cli-npm', () => ({
|
|
|
24
25
|
npmPackageSet: jest.fn(),
|
|
25
26
|
npmPublish: jest.fn(),
|
|
26
27
|
npmPublishDry: jest.fn(),
|
|
28
|
+
npmTagVersion: jest.fn(),
|
|
27
29
|
}));
|
|
28
30
|
|
|
29
31
|
describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
32
|
+
const defaultRegistry = 'https://verdaccio.servicetitan.com';
|
|
30
33
|
const branch = 'master';
|
|
31
34
|
const commitHash = '6c461f1a';
|
|
32
35
|
const packageName = '@servicetitan/foo';
|
|
@@ -36,7 +39,7 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
36
39
|
|
|
37
40
|
beforeEach(() => {
|
|
38
41
|
args = {};
|
|
39
|
-
jest.
|
|
42
|
+
jest.clearAllMocks();
|
|
40
43
|
jest.mocked(isWebComponent).mockReturnValue(true);
|
|
41
44
|
jest.mocked(gitGetBranch).mockReturnValue(branch);
|
|
42
45
|
jest.mocked(gitGetCommitHash).mockReturnValue(commitHash);
|
|
@@ -57,10 +60,7 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
57
60
|
test('sets package registry', async () => {
|
|
58
61
|
await subject();
|
|
59
62
|
|
|
60
|
-
expect(npmPackageSet).toHaveBeenCalledWith(
|
|
61
|
-
'publishConfig.registry',
|
|
62
|
-
'https://verdaccio.servicetitan.com'
|
|
63
|
-
);
|
|
63
|
+
expect(npmPackageSet).toHaveBeenCalledWith('publishConfig.registry', defaultRegistry);
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
describe('with "registry" argument', () => {
|
|
@@ -78,9 +78,7 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
78
78
|
|
|
79
79
|
expect(npmPublish).toHaveBeenCalledWith('prod');
|
|
80
80
|
expect(log.info).toHaveBeenCalledWith(
|
|
81
|
-
expect.stringContaining(
|
|
82
|
-
`packages ${packageName} is published with version ${defaultPackageVersion()}`
|
|
83
|
-
)
|
|
81
|
+
expect.stringContaining(`published ${packageName} version ${defaultPackageVersion()}`)
|
|
84
82
|
);
|
|
85
83
|
});
|
|
86
84
|
|
|
@@ -137,7 +135,7 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
137
135
|
expect(npmPublishDry).toHaveBeenCalled();
|
|
138
136
|
expect(log.info).toHaveBeenCalledWith(
|
|
139
137
|
expect.stringContaining(
|
|
140
|
-
`
|
|
138
|
+
`(dry-run) published ${packageName} version ${defaultPackageVersion()}`
|
|
141
139
|
)
|
|
142
140
|
);
|
|
143
141
|
});
|
|
@@ -169,6 +167,52 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
169
167
|
);
|
|
170
168
|
|
|
171
169
|
itLogsMessageAndSkipsPublishing(/is already published/);
|
|
170
|
+
|
|
171
|
+
describe('with "tag" argument', () => {
|
|
172
|
+
beforeEach(() => (args.tag = 'foo'));
|
|
173
|
+
|
|
174
|
+
test('tags the published version in default registry', async () => {
|
|
175
|
+
await subject();
|
|
176
|
+
|
|
177
|
+
expect(npmTagVersion).toHaveBeenCalledWith({
|
|
178
|
+
packageName,
|
|
179
|
+
packageVersion: defaultPackageVersion(),
|
|
180
|
+
registry: defaultRegistry,
|
|
181
|
+
tag: args.tag,
|
|
182
|
+
});
|
|
183
|
+
expect(log.info).toHaveBeenCalledWith(
|
|
184
|
+
expect.stringMatching(`adding tag "${args.tag}"`)
|
|
185
|
+
);
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
describe('with "registry" argument', () => {
|
|
189
|
+
beforeEach(() => (args.registry = 'https://foo'));
|
|
190
|
+
|
|
191
|
+
test('tags the published version in specified registry', async () => {
|
|
192
|
+
await subject();
|
|
193
|
+
|
|
194
|
+
expect(npmTagVersion).toHaveBeenCalledWith({
|
|
195
|
+
packageName,
|
|
196
|
+
packageVersion: defaultPackageVersion(),
|
|
197
|
+
registry: args.registry,
|
|
198
|
+
tag: args.tag,
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
describe('when performing dry-run', () => {
|
|
204
|
+
beforeEach(() => (args.dry = true));
|
|
205
|
+
|
|
206
|
+
test('does not tag published version', async () => {
|
|
207
|
+
await subject();
|
|
208
|
+
|
|
209
|
+
expect(npmTagVersion).not.toHaveBeenCalled();
|
|
210
|
+
expect(log.info).toHaveBeenCalledWith(
|
|
211
|
+
expect.stringMatching(/\(dry-run\) adding tag/)
|
|
212
|
+
);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
});
|
|
172
216
|
});
|
|
173
217
|
|
|
174
218
|
describe('when package is private', () => {
|
|
@@ -176,7 +220,7 @@ describe(`[startup] ${MFEPackagePublish.name}`, () => {
|
|
|
176
220
|
vol.fromJSON({ 'package.json': JSON.stringify({ name: packageName, private: true }) })
|
|
177
221
|
);
|
|
178
222
|
|
|
179
|
-
itLogsMessageAndSkipsPublishing(/
|
|
223
|
+
itLogsMessageAndSkipsPublishing(/package is private/);
|
|
180
224
|
});
|
|
181
225
|
|
|
182
226
|
describe('with unrecognized branch', () => {
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
npmPackageSet,
|
|
18
18
|
npmPublish,
|
|
19
19
|
npmPublishDry,
|
|
20
|
+
npmTagVersion,
|
|
20
21
|
npmUnpublish,
|
|
21
22
|
} from '../utils/cli-npm';
|
|
22
23
|
import { getDefaultBuildVersion } from '../utils/publish';
|
|
@@ -110,8 +111,7 @@ export class MFEPackagePublish implements Command {
|
|
|
110
111
|
const packageJson = readJson('package.json');
|
|
111
112
|
|
|
112
113
|
if (packageJson.private) {
|
|
113
|
-
log.info('
|
|
114
|
-
|
|
114
|
+
log.info('package is private, skipping publish');
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -119,26 +119,38 @@ export class MFEPackagePublish implements Command {
|
|
|
119
119
|
const packageName = packageJson.name;
|
|
120
120
|
|
|
121
121
|
if (!data.version) {
|
|
122
|
-
log.info(
|
|
123
|
-
|
|
122
|
+
log.info('no build version found, skipping publish');
|
|
124
123
|
return;
|
|
125
124
|
}
|
|
126
125
|
|
|
127
126
|
if (!data.isBranchConfigured && !data.force) {
|
|
128
127
|
log.info(
|
|
129
|
-
|
|
128
|
+
'branch is not configured for publishing, use --force flag to publish if needed'
|
|
130
129
|
);
|
|
131
|
-
|
|
132
130
|
return;
|
|
133
131
|
}
|
|
134
132
|
|
|
135
133
|
const versions = npmGetPackageVersions(data.registry, packageName);
|
|
134
|
+
const dryRunPrefix = data.dry ? '(dry-run) ' : '';
|
|
136
135
|
|
|
137
136
|
if (versions.includes(data.version)) {
|
|
138
137
|
log.info(
|
|
139
|
-
|
|
138
|
+
`${dryRunPrefix}${packageName} version ${data.version} is already published, skipping publish`
|
|
140
139
|
);
|
|
141
140
|
|
|
141
|
+
if (data.tag) {
|
|
142
|
+
log.info(
|
|
143
|
+
`${dryRunPrefix}adding tag "${data.tag}" to ${packageName} version ${data.version}`
|
|
144
|
+
);
|
|
145
|
+
if (!data.dry) {
|
|
146
|
+
await npmTagVersion({
|
|
147
|
+
packageName,
|
|
148
|
+
packageVersion: data.version,
|
|
149
|
+
registry: data.registry,
|
|
150
|
+
tag: data.tag,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
142
154
|
return;
|
|
143
155
|
}
|
|
144
156
|
|
|
@@ -156,11 +168,7 @@ export class MFEPackagePublish implements Command {
|
|
|
156
168
|
await npmPublish(data.tag);
|
|
157
169
|
}
|
|
158
170
|
|
|
159
|
-
log.info(
|
|
160
|
-
`packages ${packageJson.name} is published ${data.dry ? '(dry) ' : ''}with version ${
|
|
161
|
-
data.version
|
|
162
|
-
}`
|
|
163
|
-
);
|
|
171
|
+
log.info(`${dryRunPrefix}published ${packageName} version ${data.version}`);
|
|
164
172
|
}
|
|
165
173
|
|
|
166
174
|
private getPublishData(): {
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
npmPackageSet,
|
|
7
7
|
npmPublish,
|
|
8
8
|
npmPublishDry,
|
|
9
|
+
npmTagVersion,
|
|
9
10
|
npmUnpublish,
|
|
10
11
|
} from '../cli-npm';
|
|
11
12
|
|
|
@@ -163,4 +164,29 @@ describe('[startup] Cli Utils (Npm)', () => {
|
|
|
163
164
|
{ timeout: 10000 }
|
|
164
165
|
);
|
|
165
166
|
});
|
|
167
|
+
|
|
168
|
+
describe(`${npmTagVersion.name}`, () => {
|
|
169
|
+
let args: Parameters<typeof npmTagVersion>[0];
|
|
170
|
+
|
|
171
|
+
beforeEach(() => {
|
|
172
|
+
args = {
|
|
173
|
+
packageName: '{packageName}',
|
|
174
|
+
packageVersion: '{packageVersion}',
|
|
175
|
+
tag: '{tag}',
|
|
176
|
+
};
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
const subject = () => npmTagVersion(args);
|
|
180
|
+
|
|
181
|
+
itRunsCommand(subject, 'npm dist-tag add {packageName}@{packageVersion} {tag}');
|
|
182
|
+
|
|
183
|
+
describe('with a registry', () => {
|
|
184
|
+
beforeEach(() => (args.registry = '{registry}'));
|
|
185
|
+
|
|
186
|
+
itRunsCommand(
|
|
187
|
+
subject,
|
|
188
|
+
'npm dist-tag --registry={registry} add {packageName}@{packageVersion} {tag}'
|
|
189
|
+
);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
166
192
|
});
|
package/src/cli/utils/cli-npm.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { runCommand, runCommandOutput } from './cli-os';
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export function npmGetPackageVersions(registry: string, packageName: string): string[] {
|
|
4
4
|
try {
|
|
5
5
|
const v = runCommandOutput(
|
|
6
6
|
`npm show ${packageName} versions --registry ${registry} --json`,
|
|
@@ -11,12 +11,9 @@ export const npmGetPackageVersions = (registry: string, packageName: string): st
|
|
|
11
11
|
} catch {
|
|
12
12
|
return [];
|
|
13
13
|
}
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
|
|
16
|
-
export
|
|
17
|
-
registry: string,
|
|
18
|
-
packageName: string
|
|
19
|
-
): [string, Date][] => {
|
|
16
|
+
export function npmGetPackageVersionDates(registry: string, packageName: string): [string, Date][] {
|
|
20
17
|
try {
|
|
21
18
|
const v = runCommandOutput(`npm view ${packageName} time --registry ${registry} --json`, {
|
|
22
19
|
timeout: 10000,
|
|
@@ -30,26 +27,40 @@ export const npmGetPackageVersionDates = (
|
|
|
30
27
|
} catch {
|
|
31
28
|
return [];
|
|
32
29
|
}
|
|
33
|
-
}
|
|
30
|
+
}
|
|
34
31
|
|
|
35
|
-
export
|
|
36
|
-
registry: string,
|
|
37
|
-
packageName: string,
|
|
38
|
-
packageVersion: string
|
|
39
|
-
) => {
|
|
32
|
+
export async function npmUnpublish(registry: string, packageName: string, packageVersion: string) {
|
|
40
33
|
await runCommand(`npm unpublish ${packageName}@${packageVersion} --registry ${registry}`, {
|
|
41
34
|
timeout: 10000,
|
|
42
35
|
});
|
|
43
|
-
}
|
|
36
|
+
}
|
|
44
37
|
|
|
45
|
-
export
|
|
38
|
+
export async function npmPublishDry() {
|
|
46
39
|
await runCommand('npm publish --dry-run');
|
|
47
|
-
}
|
|
40
|
+
}
|
|
48
41
|
|
|
49
|
-
export
|
|
42
|
+
export async function npmPublish(tag?: string) {
|
|
50
43
|
await runCommand(['npm publish', !!tag && `--tag ${tag}`]);
|
|
51
|
-
}
|
|
44
|
+
}
|
|
52
45
|
|
|
53
|
-
export
|
|
46
|
+
export async function npmPackageSet(key: string, value: string) {
|
|
54
47
|
await runCommand(`npm pkg set ${key}=${value}`);
|
|
55
|
-
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export async function npmTagVersion({
|
|
51
|
+
packageName,
|
|
52
|
+
packageVersion,
|
|
53
|
+
registry,
|
|
54
|
+
tag,
|
|
55
|
+
}: {
|
|
56
|
+
packageName: string;
|
|
57
|
+
packageVersion: string;
|
|
58
|
+
registry?: string;
|
|
59
|
+
tag: string;
|
|
60
|
+
}) {
|
|
61
|
+
await runCommand(
|
|
62
|
+
`npm dist-tag ${
|
|
63
|
+
registry ? `--registry=${registry} ` : ''
|
|
64
|
+
}add ${packageName}@${packageVersion} ${tag}`
|
|
65
|
+
);
|
|
66
|
+
}
|