@servicetitan/startup 32.2.0 → 32.3.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/build.d.ts +36 -7
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +35 -10
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +9 -10
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js +6 -22
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/clean.d.ts +2 -2
- package/dist/cli/commands/clean.d.ts.map +1 -1
- package/dist/cli/commands/clean.js +16 -4
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/convert-eslint-config.d.ts +2 -2
- package/dist/cli/commands/convert-eslint-config.d.ts.map +1 -1
- package/dist/cli/commands/convert-eslint-config.js +3 -4
- package/dist/cli/commands/convert-eslint-config.js.map +1 -1
- package/dist/cli/commands/eslint.d.ts +3 -5
- package/dist/cli/commands/eslint.d.ts.map +1 -1
- package/dist/cli/commands/eslint.js +2 -18
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/get-command.d.ts.map +1 -1
- package/dist/cli/commands/get-command.js +2 -0
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/index.d.ts +0 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +0 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +10 -6
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -8
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +21 -7
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +33 -11
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.d.ts +3 -3
- package/dist/cli/commands/kendo-ui-license.d.ts.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +17 -5
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +31 -12
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +34 -13
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-list.d.ts +46 -0
- package/dist/cli/commands/mfe-list.d.ts.map +1 -0
- package/dist/cli/commands/mfe-list.js +200 -0
- package/dist/cli/commands/mfe-list.js.map +1 -0
- package/dist/cli/commands/mfe-package-clean.d.ts +29 -5
- package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +28 -5
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.d.ts +37 -5
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +36 -5
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts +17 -4
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +37 -7
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.d.ts +3 -5
- package/dist/cli/commands/prepare-package.d.ts.map +1 -1
- package/dist/cli/commands/prepare-package.js +2 -18
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/review/review.d.ts +14 -6
- package/dist/cli/commands/review/review.d.ts.map +1 -1
- package/dist/cli/commands/review/review.js +27 -23
- package/dist/cli/commands/review/review.js.map +1 -1
- package/dist/cli/commands/run-task.d.ts +10 -6
- package/dist/cli/commands/run-task.d.ts.map +1 -1
- package/dist/cli/commands/run-task.js +16 -13
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/start.d.ts +28 -7
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +27 -10
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/styles-check.d.ts +2 -2
- package/dist/cli/commands/styles-check.d.ts.map +1 -1
- package/dist/cli/commands/styles-check.js +2 -1
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/test/tests.d.ts +14 -5
- package/dist/cli/commands/test/tests.d.ts.map +1 -1
- package/dist/cli/commands/test/tests.js +26 -13
- package/dist/cli/commands/test/tests.js.map +1 -1
- package/dist/cli/commands/types.d.ts +13 -4
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +28 -0
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.d.ts +3 -5
- package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.js +5 -20
- package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
- package/dist/cli/index.js +48 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package.d.ts +2 -2
- package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package.js.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.d.ts +2 -2
- package/dist/cli/tasks/tsc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.js +1 -1
- package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
- package/dist/cli/tasks/tsc-compile.d.ts +2 -2
- package/dist/cli/tasks/tsc-compile.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile.js.map +1 -1
- package/dist/cli/utils/bundle.js +1 -1
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/cli-npm.d.ts +14 -0
- package/dist/cli/utils/cli-npm.d.ts.map +1 -1
- package/dist/cli/utils/cli-npm.js +44 -0
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.d.ts +2 -2
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/cli-os.js +13 -9
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/cli/utils/eslint.d.ts +2 -1
- package/dist/cli/utils/eslint.d.ts.map +1 -1
- package/dist/cli/utils/eslint.js.map +1 -1
- package/dist/cli/utils/index.d.ts +1 -0
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +1 -0
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/is-tty.d.ts +2 -0
- package/dist/cli/utils/is-tty.d.ts.map +1 -0
- package/dist/cli/utils/is-tty.js +15 -0
- package/dist/cli/utils/is-tty.js.map +1 -0
- package/dist/cli/utils/maybe-create-git-folder.d.ts +1 -1
- package/dist/cli/utils/maybe-create-git-folder.d.ts.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.js +5 -5
- package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
- package/dist/cli/utils/process-tree.d.ts.map +1 -1
- package/dist/cli/utils/process-tree.js +2 -2
- package/dist/cli/utils/process-tree.js.map +1 -1
- package/dist/cli/utils/set-node-options.d.ts.map +1 -1
- package/dist/cli/utils/set-node-options.js +2 -1
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/utils/find-packages.d.ts +1 -0
- package/dist/utils/find-packages.d.ts.map +1 -1
- package/dist/utils/find-packages.js.map +1 -1
- package/dist/utils/format-relative-date.d.ts +2 -0
- package/dist/utils/format-relative-date.d.ts.map +1 -0
- package/dist/utils/format-relative-date.js +60 -0
- package/dist/utils/format-relative-date.js.map +1 -0
- package/dist/utils/get-configuration.d.ts +1 -0
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +1 -0
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-packages.d.ts +3 -5
- package/dist/utils/get-packages.d.ts.map +1 -1
- package/dist/utils/get-packages.js +1 -4
- package/dist/utils/get-packages.js.map +1 -1
- package/dist/utils/get-startup-version.d.ts.map +1 -1
- package/dist/utils/get-startup-version.js +1 -1
- package/dist/utils/get-startup-version.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.d.ts +1 -1
- package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.js +2 -2
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +5 -5
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.d.ts.map +1 -1
- package/dist/webpack/configs/output-config.js +14 -7
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -3
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/package.json +9 -8
- package/src/cli/commands/__tests__/build.test.ts +1 -1
- package/src/cli/commands/__tests__/bundle-package.test.ts +22 -2
- package/src/cli/commands/__tests__/install.test.ts +42 -4
- package/src/cli/commands/__tests__/lint.test.ts +1 -1
- package/src/cli/commands/__tests__/mfe-list.test.ts +394 -0
- package/src/cli/commands/__tests__/mfe-publish.test.ts +25 -0
- package/src/cli/commands/__tests__/start.test.ts +1 -1
- package/src/cli/commands/build.ts +14 -10
- package/src/cli/commands/bundle-package.ts +19 -13
- package/src/cli/commands/clean.ts +2 -4
- package/src/cli/commands/convert-eslint-config.ts +3 -5
- package/src/cli/commands/eslint.ts +3 -5
- package/src/cli/commands/get-command.ts +2 -0
- package/src/cli/commands/index.ts +0 -1
- package/src/cli/commands/init.ts +7 -8
- package/src/cli/commands/install.ts +24 -11
- package/src/cli/commands/kendo-ui-license.ts +4 -6
- package/src/cli/commands/lint.ts +19 -19
- package/src/cli/commands/mfe-list.ts +173 -0
- package/src/cli/commands/mfe-package-clean.ts +25 -4
- package/src/cli/commands/mfe-package-publish.ts +33 -4
- package/src/cli/commands/mfe-publish.ts +37 -6
- package/src/cli/commands/prepare-package.ts +3 -5
- package/src/cli/commands/review/review.ts +9 -9
- package/src/cli/commands/run-task.ts +15 -11
- package/src/cli/commands/start.ts +12 -10
- package/src/cli/commands/styles-check.ts +2 -2
- package/src/cli/commands/test/__tests__/tests.test.ts +1 -1
- package/src/cli/commands/test/tests.ts +20 -10
- package/src/cli/commands/types.ts +14 -4
- package/src/cli/commands/upload-sourcemaps.ts +3 -5
- package/src/cli/index.ts +59 -36
- package/src/cli/tasks/swc-compile-package.ts +2 -2
- package/src/cli/tasks/tsc-compile-package.ts +4 -3
- package/src/cli/tasks/tsc-compile.ts +2 -2
- package/src/cli/utils/__tests__/bundle.test.ts +13 -0
- package/src/cli/utils/__tests__/cli-npm.test.ts +89 -0
- package/src/cli/utils/__tests__/is-tty.test.ts +17 -0
- package/src/cli/utils/__tests__/maybe-create-git-folder.test.ts +10 -17
- package/src/cli/utils/__tests__/set-node-options.test.ts +10 -10
- package/src/cli/utils/bundle.ts +1 -1
- package/src/cli/utils/cli-npm.ts +34 -0
- package/src/cli/utils/cli-os.ts +12 -25
- package/src/cli/utils/eslint.ts +2 -1
- package/src/cli/utils/index.ts +1 -0
- package/src/cli/utils/is-tty.ts +3 -0
- package/src/cli/utils/maybe-create-git-folder.ts +4 -7
- package/src/cli/utils/process-tree.ts +4 -2
- package/src/cli/utils/set-node-options.ts +2 -1
- package/src/utils/__tests__/format-relative-date.test.ts +61 -0
- package/src/utils/__tests__/get-packages.test.ts +3 -0
- package/src/utils/find-packages.ts +1 -0
- package/src/utils/format-relative-date.ts +33 -0
- package/src/utils/get-configuration.ts +1 -0
- package/src/utils/get-packages.ts +3 -9
- package/src/utils/get-startup-version.ts +1 -3
- package/src/utils/index.ts +1 -0
- package/src/webpack/__mocks__/style-rules.ts +3 -3
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +6 -14
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +52 -29
- package/src/webpack/configs/loaders/style-loader.ts +5 -2
- package/src/webpack/configs/optimization-config.ts +5 -5
- package/src/webpack/configs/output-config.ts +10 -5
- package/src/webpack/configs/plugins/assets-manifest-plugin.ts +11 -4
- package/dist/cli/commands/get-user-commands.d.ts +0 -7
- package/dist/cli/commands/get-user-commands.d.ts.map +0 -1
- package/dist/cli/commands/get-user-commands.js +0 -27
- package/dist/cli/commands/get-user-commands.js.map +0 -1
- package/src/cli/commands/__tests__/get-user-commands.test.ts +0 -27
- package/src/cli/commands/get-user-commands.ts +0 -19
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */ "use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "MFEList", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return MFEList;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
12
|
+
const _clitable3 = /*#__PURE__*/ _interop_require_default(require("cli-table3"));
|
|
13
|
+
const _promises = /*#__PURE__*/ _interop_require_default(require("readline/promises"));
|
|
14
|
+
const _utils = require("../../utils");
|
|
15
|
+
const _types = require("./types");
|
|
16
|
+
const _utils1 = require("../utils");
|
|
17
|
+
function _define_property(obj, key, value) {
|
|
18
|
+
if (key in obj) {
|
|
19
|
+
Object.defineProperty(obj, key, {
|
|
20
|
+
value: value,
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true
|
|
24
|
+
});
|
|
25
|
+
} else {
|
|
26
|
+
obj[key] = value;
|
|
27
|
+
}
|
|
28
|
+
return obj;
|
|
29
|
+
}
|
|
30
|
+
function _interop_require_default(obj) {
|
|
31
|
+
return obj && obj.__esModule ? obj : {
|
|
32
|
+
default: obj
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
36
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
37
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
38
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
39
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
40
|
+
}
|
|
41
|
+
function _ts_metadata(k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
}
|
|
44
|
+
const collator = new Intl.Collator();
|
|
45
|
+
const VERDACCIO = 'https://verdaccio.servicetitan.com';
|
|
46
|
+
class MFEList extends _types.Command {
|
|
47
|
+
async execute() {
|
|
48
|
+
await this.login();
|
|
49
|
+
this.packageNames.forEach((name, index)=>{
|
|
50
|
+
const info = (0, _utils1.npmView)({
|
|
51
|
+
packageName: name,
|
|
52
|
+
registry: this.registry
|
|
53
|
+
});
|
|
54
|
+
if (info) {
|
|
55
|
+
if (index > 0) {
|
|
56
|
+
process.stdout.write('\n');
|
|
57
|
+
}
|
|
58
|
+
process.stdout.write(this.getCaption(info) + '\n');
|
|
59
|
+
const table = this.getTable(info);
|
|
60
|
+
if (table) {
|
|
61
|
+
process.stdout.write(table + '\n');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
getCaption(info) {
|
|
67
|
+
return [
|
|
68
|
+
_chalk.default.bold.cyan(info.name),
|
|
69
|
+
info.version && `version: ${info.version}`,
|
|
70
|
+
`versions: ${Object.keys(this.getTime(info)).length}`
|
|
71
|
+
].filter((el)=>!!el).join(' | ');
|
|
72
|
+
}
|
|
73
|
+
getTable(info) {
|
|
74
|
+
const times = Object.entries(this.getTime(info)).sort(([, a], [, b])=>-1 * collator.compare(a, b));
|
|
75
|
+
const versionTags = this.getVersionTags(info);
|
|
76
|
+
const versions = this.args.tagged ? times.filter(([version])=>!!versionTags[version]) : times.slice(0, this.limit);
|
|
77
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('mfe-list', ()=>JSON.stringify({
|
|
78
|
+
name: info.name,
|
|
79
|
+
versionTags,
|
|
80
|
+
versions
|
|
81
|
+
}, null, 2));
|
|
82
|
+
if (versions.length === 0) {
|
|
83
|
+
return '';
|
|
84
|
+
}
|
|
85
|
+
const table = new _clitable3.default({
|
|
86
|
+
head: [
|
|
87
|
+
'Version',
|
|
88
|
+
'Tag',
|
|
89
|
+
'When'
|
|
90
|
+
].map((title)=>_chalk.default.bold.cyan(title)),
|
|
91
|
+
style: {
|
|
92
|
+
head: []
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
versions.forEach(([version, timestamp])=>{
|
|
96
|
+
const when = (0, _utils.formatRelativeDate)(new Date(timestamp));
|
|
97
|
+
var _versionTags_version;
|
|
98
|
+
const tag = ((_versionTags_version = versionTags[version]) !== null && _versionTags_version !== void 0 ? _versionTags_version : []).join(', ');
|
|
99
|
+
table.push([
|
|
100
|
+
version,
|
|
101
|
+
_chalk.default.bold.cyan(tag),
|
|
102
|
+
when
|
|
103
|
+
]);
|
|
104
|
+
});
|
|
105
|
+
return table.toString();
|
|
106
|
+
}
|
|
107
|
+
getTime(info) {
|
|
108
|
+
const { time: { created, modified, ...time } = {} } = info;
|
|
109
|
+
return time;
|
|
110
|
+
}
|
|
111
|
+
getVersionTags({ 'dist-tags': distTags = {} }) {
|
|
112
|
+
return Object.entries(distTags).reduce((result, [name, version])=>{
|
|
113
|
+
var _result, _version;
|
|
114
|
+
var _;
|
|
115
|
+
(_ = (_result = result)[_version = version]) !== null && _ !== void 0 ? _ : _result[_version] = [];
|
|
116
|
+
result[version].push(name);
|
|
117
|
+
return result;
|
|
118
|
+
}, {});
|
|
119
|
+
}
|
|
120
|
+
async ask(question) {
|
|
121
|
+
const rl = _promises.default.createInterface({
|
|
122
|
+
input: process.stdin,
|
|
123
|
+
output: process.stdout
|
|
124
|
+
});
|
|
125
|
+
const answer = await rl.question(question);
|
|
126
|
+
rl.close();
|
|
127
|
+
return answer.trim().toLowerCase();
|
|
128
|
+
}
|
|
129
|
+
async login() {
|
|
130
|
+
if (this.registry !== VERDACCIO || (0, _utils1.npmWhoAmI)({
|
|
131
|
+
registry: this.registry
|
|
132
|
+
}) !== undefined) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const message = `This machine is not authorized to access ${this.registry}.`;
|
|
136
|
+
if (!(0, _utils1.isTTY)()) {
|
|
137
|
+
throw new Error(message);
|
|
138
|
+
}
|
|
139
|
+
const answer = await this.ask(_chalk.default.bold.cyan(`${message} Authorize? [Y/n] `));
|
|
140
|
+
if (answer && answer !== 'y') {
|
|
141
|
+
throw new Error('Not authorized');
|
|
142
|
+
}
|
|
143
|
+
await (0, _utils1.runCommand)(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {
|
|
144
|
+
quiet: true
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
get limit() {
|
|
148
|
+
if (this.args.all) {
|
|
149
|
+
return Number.MAX_SAFE_INTEGER;
|
|
150
|
+
}
|
|
151
|
+
return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;
|
|
152
|
+
}
|
|
153
|
+
get packageNames() {
|
|
154
|
+
const { _, packageNames = [] } = this.args;
|
|
155
|
+
if (_.length || packageNames.length) {
|
|
156
|
+
return [
|
|
157
|
+
..._,
|
|
158
|
+
...packageNames
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
return (0, _utils.getPackages)({
|
|
162
|
+
ignore: this.args.ignore,
|
|
163
|
+
type: _utils.PackageType.Webpack
|
|
164
|
+
}).filter(_utils.isWebComponent).map(({ name })=>name).sort((a, b)=>collator.compare(a, b));
|
|
165
|
+
}
|
|
166
|
+
get registry() {
|
|
167
|
+
var _this_args_registry;
|
|
168
|
+
return (_this_args_registry = this.args.registry) !== null && _this_args_registry !== void 0 ? _this_args_registry : VERDACCIO;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
_define_property(MFEList, "description", 'List published MFE packages');
|
|
172
|
+
_define_property(MFEList, "options", {
|
|
173
|
+
_: {
|
|
174
|
+
description: '[packageNames...]'
|
|
175
|
+
},
|
|
176
|
+
all: {
|
|
177
|
+
boolean: true,
|
|
178
|
+
description: 'List all published versions '
|
|
179
|
+
},
|
|
180
|
+
ignore: {
|
|
181
|
+
array: true,
|
|
182
|
+
description: 'Exclude MFEs with names matching specified glob pattern '
|
|
183
|
+
},
|
|
184
|
+
limit: {
|
|
185
|
+
number: true,
|
|
186
|
+
description: 'List only the specified number of published versions'
|
|
187
|
+
},
|
|
188
|
+
tagged: {
|
|
189
|
+
boolean: true,
|
|
190
|
+
description: 'List only tagged versions'
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
_ts_decorate([
|
|
194
|
+
_utils.logErrors,
|
|
195
|
+
_ts_metadata("design:type", Function),
|
|
196
|
+
_ts_metadata("design:paramtypes", []),
|
|
197
|
+
_ts_metadata("design:returntype", Promise)
|
|
198
|
+
], MFEList.prototype, "execute", null);
|
|
199
|
+
|
|
200
|
+
//# sourceMappingURL=mfe-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-list.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport chalk from 'chalk';\nimport Table from 'cli-table3';\nimport readline from 'readline/promises';\nimport {\n formatRelativeDate,\n getPackages,\n isWebComponent,\n log,\n logErrors,\n PackageType,\n} from '../../utils';\nimport { Command, CommandArgs } from './types';\nimport { isTTY, NPMPackageInfo, npmView, npmWhoAmI, runCommand } from '../utils';\n\ninterface Args extends CommandArgs {\n _: string[];\n all?: boolean;\n ignore?: string | string[];\n limit?: number;\n packageNames?: string[];\n registry?: string;\n tagged?: boolean;\n}\n\nconst collator = new Intl.Collator();\n\nconst VERDACCIO = 'https://verdaccio.servicetitan.com';\n\nexport class MFEList extends Command<Args> {\n static readonly description = 'List published MFE packages';\n static readonly options = {\n _: { description: '[packageNames...]' },\n all: { boolean: true, description: 'List all published versions ' },\n ignore: {\n array: true,\n description: 'Exclude MFEs with names matching specified glob pattern ',\n },\n limit: {\n number: true,\n description: 'List only the specified number of published versions',\n },\n tagged: { boolean: true, description: 'List only tagged versions' },\n };\n\n @logErrors\n async execute() {\n await this.login();\n\n this.packageNames.forEach((name, index) => {\n const info = npmView({ packageName: name, registry: this.registry });\n if (info) {\n if (index > 0) {\n process.stdout.write('\\n');\n }\n\n process.stdout.write(this.getCaption(info) + '\\n');\n const table = this.getTable(info);\n if (table) {\n process.stdout.write(table + '\\n');\n }\n }\n });\n }\n\n private getCaption(info: NPMPackageInfo) {\n return [\n chalk.bold.cyan(info.name),\n info.version && `version: ${info.version}`,\n `versions: ${Object.keys(this.getTime(info)).length}`,\n ]\n .filter(el => !!el)\n .join(' | ');\n }\n\n private getTable(info: NPMPackageInfo) {\n const times = Object.entries(this.getTime(info)).sort(\n ([, a], [, b]) => -1 * collator.compare(a, b)\n );\n const versionTags = this.getVersionTags(info);\n const versions = this.args.tagged\n ? times.filter(([version]) => !!versionTags[version])\n : times.slice(0, this.limit);\n\n /* istanbul ignore next: debug only */\n log.debug('mfe-list', () =>\n JSON.stringify({ name: info.name, versionTags, versions }, null, 2)\n );\n\n if (versions.length === 0) {\n return '';\n }\n\n const table = new Table({\n head: ['Version', 'Tag', 'When'].map(title => chalk.bold.cyan(title)),\n style: { head: [] },\n });\n\n versions.forEach(([version, timestamp]) => {\n const when = formatRelativeDate(new Date(timestamp));\n const tag = (versionTags[version] ?? []).join(', ');\n table.push([version, chalk.bold.cyan(tag), when]);\n });\n\n return table.toString();\n }\n\n private getTime(info: NPMPackageInfo) {\n const { time: { created, modified, ...time } = {} } = info;\n return time;\n }\n\n private getVersionTags({ 'dist-tags': distTags = {} }: NPMPackageInfo) {\n return Object.entries(distTags).reduce<Record<string, string[]>>(\n (result, [name, version]) => {\n result[version] ??= [];\n result[version].push(name);\n return result;\n },\n {}\n );\n }\n\n private async ask(question: string) {\n const rl = readline.createInterface({ input: process.stdin, output: process.stdout });\n const answer = await rl.question(question);\n rl.close();\n return answer.trim().toLowerCase();\n }\n\n private async login() {\n if (this.registry !== VERDACCIO || npmWhoAmI({ registry: this.registry }) !== undefined) {\n return;\n }\n\n const message = `This machine is not authorized to access ${this.registry}.`;\n if (!isTTY()) {\n throw new Error(message);\n }\n\n const answer = await this.ask(chalk.bold.cyan(`${message} Authorize? [Y/n] `));\n if (answer && answer !== 'y') {\n throw new Error('Not authorized');\n }\n\n await runCommand(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {\n quiet: true,\n });\n }\n\n private get limit() {\n if (this.args.all) {\n return Number.MAX_SAFE_INTEGER;\n }\n return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;\n }\n\n private get packageNames() {\n const { _, packageNames = [] } = this.args;\n if (_.length || packageNames.length) {\n return [..._, ...packageNames];\n }\n\n return getPackages({ ignore: this.args.ignore, type: PackageType.Webpack })\n .filter(isWebComponent)\n .map(({ name }) => name)\n .sort((a, b) => collator.compare(a, b));\n }\n\n private get registry() {\n return this.args.registry ?? VERDACCIO;\n }\n}\n"],"names":["MFEList","collator","Intl","Collator","VERDACCIO","Command","execute","login","packageNames","forEach","name","index","info","npmView","packageName","registry","process","stdout","write","getCaption","table","getTable","chalk","bold","cyan","version","Object","keys","getTime","length","filter","el","join","times","entries","sort","a","b","compare","versionTags","getVersionTags","versions","args","tagged","slice","limit","log","debug","JSON","stringify","Table","head","map","title","style","timestamp","when","formatRelativeDate","Date","tag","push","toString","time","created","modified","distTags","reduce","result","ask","question","rl","readline","createInterface","input","stdin","output","answer","close","trim","toLowerCase","npmWhoAmI","undefined","message","isTTY","Error","runCommand","quiet","all","Number","MAX_SAFE_INTEGER","_","getPackages","ignore","type","PackageType","Webpack","isWebComponent","description","options","boolean","array","number"],"mappings":"AAAA,uDAAuD;;;;+BA6B1CA;;;eAAAA;;;8DA5BK;kEACA;iEACG;uBAQd;uBAC8B;wBACiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYtE,MAAMC,WAAW,IAAIC,KAAKC,QAAQ;AAElC,MAAMC,YAAY;AAEX,MAAMJ,gBAAgBK,cAAO;IAgBhC,MACMC,UAAU;QACZ,MAAM,IAAI,CAACC,KAAK;QAEhB,IAAI,CAACC,YAAY,CAACC,OAAO,CAAC,CAACC,MAAMC;YAC7B,MAAMC,OAAOC,IAAAA,eAAO,EAAC;gBAAEC,aAAaJ;gBAAMK,UAAU,IAAI,CAACA,QAAQ;YAAC;YAClE,IAAIH,MAAM;gBACN,IAAID,QAAQ,GAAG;oBACXK,QAAQC,MAAM,CAACC,KAAK,CAAC;gBACzB;gBAEAF,QAAQC,MAAM,CAACC,KAAK,CAAC,IAAI,CAACC,UAAU,CAACP,QAAQ;gBAC7C,MAAMQ,QAAQ,IAAI,CAACC,QAAQ,CAACT;gBAC5B,IAAIQ,OAAO;oBACPJ,QAAQC,MAAM,CAACC,KAAK,CAACE,QAAQ;gBACjC;YACJ;QACJ;IACJ;IAEQD,WAAWP,IAAoB,EAAE;QACrC,OAAO;YACHU,cAAK,CAACC,IAAI,CAACC,IAAI,CAACZ,KAAKF,IAAI;YACzBE,KAAKa,OAAO,IAAI,CAAC,SAAS,EAAEb,KAAKa,OAAO,EAAE;YAC1C,CAAC,UAAU,EAAEC,OAAOC,IAAI,CAAC,IAAI,CAACC,OAAO,CAAChB,OAAOiB,MAAM,EAAE;SACxD,CACIC,MAAM,CAACC,CAAAA,KAAM,CAAC,CAACA,IACfC,IAAI,CAAC;IACd;IAEQX,SAAST,IAAoB,EAAE;QACnC,MAAMqB,QAAQP,OAAOQ,OAAO,CAAC,IAAI,CAACN,OAAO,CAAChB,OAAOuB,IAAI,CACjD,CAAC,GAAGC,EAAE,EAAE,GAAGC,EAAE,GAAK,CAAC,IAAIpC,SAASqC,OAAO,CAACF,GAAGC;QAE/C,MAAME,cAAc,IAAI,CAACC,cAAc,CAAC5B;QACxC,MAAM6B,WAAW,IAAI,CAACC,IAAI,CAACC,MAAM,GAC3BV,MAAMH,MAAM,CAAC,CAAC,CAACL,QAAQ,GAAK,CAAC,CAACc,WAAW,CAACd,QAAQ,IAClDQ,MAAMW,KAAK,CAAC,GAAG,IAAI,CAACC,KAAK;QAE/B,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,YAAY,IAClBC,KAAKC,SAAS,CAAC;gBAAEvC,MAAME,KAAKF,IAAI;gBAAE6B;gBAAaE;YAAS,GAAG,MAAM;QAGrE,IAAIA,SAASZ,MAAM,KAAK,GAAG;YACvB,OAAO;QACX;QAEA,MAAMT,QAAQ,IAAI8B,kBAAK,CAAC;YACpBC,MAAM;gBAAC;gBAAW;gBAAO;aAAO,CAACC,GAAG,CAACC,CAAAA,QAAS/B,cAAK,CAACC,IAAI,CAACC,IAAI,CAAC6B;YAC9DC,OAAO;gBAAEH,MAAM,EAAE;YAAC;QACtB;QAEAV,SAAShC,OAAO,CAAC,CAAC,CAACgB,SAAS8B,UAAU;YAClC,MAAMC,OAAOC,IAAAA,yBAAkB,EAAC,IAAIC,KAAKH;gBAC5BhB;YAAb,MAAMoB,MAAM,AAACpB,CAAAA,CAAAA,uBAAAA,WAAW,CAACd,QAAQ,cAApBc,kCAAAA,uBAAwB,EAAE,AAAD,EAAGP,IAAI,CAAC;YAC9CZ,MAAMwC,IAAI,CAAC;gBAACnC;gBAASH,cAAK,CAACC,IAAI,CAACC,IAAI,CAACmC;gBAAMH;aAAK;QACpD;QAEA,OAAOpC,MAAMyC,QAAQ;IACzB;IAEQjC,QAAQhB,IAAoB,EAAE;QAClC,MAAM,EAAEkD,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGF,MAAM,GAAG,CAAC,CAAC,EAAE,GAAGlD;QACtD,OAAOkD;IACX;IAEQtB,eAAe,EAAE,aAAayB,WAAW,CAAC,CAAC,EAAkB,EAAE;QACnE,OAAOvC,OAAOQ,OAAO,CAAC+B,UAAUC,MAAM,CAClC,CAACC,QAAQ,CAACzD,MAAMe,QAAQ;gBACpB0C,SAAO1C;;YAAP0C,MAAAA,UAAAA,OAAM,CAAC1C,WAAAA,QAAQ,iCAAf0C,OAAM,CAAC1C,SAAQ,GAAK,EAAE;YACtB0C,MAAM,CAAC1C,QAAQ,CAACmC,IAAI,CAAClD;YACrB,OAAOyD;QACX,GACA,CAAC;IAET;IAEA,MAAcC,IAAIC,QAAgB,EAAE;QAChC,MAAMC,KAAKC,iBAAQ,CAACC,eAAe,CAAC;YAAEC,OAAOzD,QAAQ0D,KAAK;YAAEC,QAAQ3D,QAAQC,MAAM;QAAC;QACnF,MAAM2D,SAAS,MAAMN,GAAGD,QAAQ,CAACA;QACjCC,GAAGO,KAAK;QACR,OAAOD,OAAOE,IAAI,GAAGC,WAAW;IACpC;IAEA,MAAcxE,QAAQ;QAClB,IAAI,IAAI,CAACQ,QAAQ,KAAKX,aAAa4E,IAAAA,iBAAS,EAAC;YAAEjE,UAAU,IAAI,CAACA,QAAQ;QAAC,OAAOkE,WAAW;YACrF;QACJ;QAEA,MAAMC,UAAU,CAAC,yCAAyC,EAAE,IAAI,CAACnE,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,CAACoE,IAAAA,aAAK,KAAI;YACV,MAAM,IAAIC,MAAMF;QACpB;QAEA,MAAMN,SAAS,MAAM,IAAI,CAACR,GAAG,CAAC9C,cAAK,CAACC,IAAI,CAACC,IAAI,CAAC,GAAG0D,QAAQ,kBAAkB,CAAC;QAC5E,IAAIN,UAAUA,WAAW,KAAK;YAC1B,MAAM,IAAIQ,MAAM;QACpB;QAEA,MAAMC,IAAAA,kBAAU,EAAC,CAAC,iDAAiD,EAAE,IAAI,CAACtE,QAAQ,EAAE,EAAE;YAClFuE,OAAO;QACX;IACJ;IAEA,IAAYzC,QAAQ;QAChB,IAAI,IAAI,CAACH,IAAI,CAAC6C,GAAG,EAAE;YACf,OAAOC,OAAOC,gBAAgB;QAClC;QACA,OAAO,IAAI,CAAC/C,IAAI,CAACG,KAAK,IAAI,IAAI,CAACH,IAAI,CAACG,KAAK,GAAG,IAAI,IAAI,CAACH,IAAI,CAACG,KAAK,GAAG;IACtE;IAEA,IAAYrC,eAAe;QACvB,MAAM,EAAEkF,CAAC,EAAElF,eAAe,EAAE,EAAE,GAAG,IAAI,CAACkC,IAAI;QAC1C,IAAIgD,EAAE7D,MAAM,IAAIrB,aAAaqB,MAAM,EAAE;YACjC,OAAO;mBAAI6D;mBAAMlF;aAAa;QAClC;QAEA,OAAOmF,IAAAA,kBAAW,EAAC;YAAEC,QAAQ,IAAI,CAAClD,IAAI,CAACkD,MAAM;YAAEC,MAAMC,kBAAW,CAACC,OAAO;QAAC,GACpEjE,MAAM,CAACkE,qBAAc,EACrB5C,GAAG,CAAC,CAAC,EAAE1C,IAAI,EAAE,GAAKA,MAClByB,IAAI,CAAC,CAACC,GAAGC,IAAMpC,SAASqC,OAAO,CAACF,GAAGC;IAC5C;IAEA,IAAYtB,WAAW;YACZ;QAAP,OAAO,CAAA,sBAAA,IAAI,CAAC2B,IAAI,CAAC3B,QAAQ,cAAlB,iCAAA,sBAAsBX;IACjC;AACJ;AA9II,iBADSJ,SACOiG,eAAc;AAC9B,iBAFSjG,SAEOkG,WAAU;IACtBR,GAAG;QAAEO,aAAa;IAAoB;IACtCV,KAAK;QAAEY,SAAS;QAAMF,aAAa;IAA+B;IAClEL,QAAQ;QACJQ,OAAO;QACPH,aAAa;IACjB;IACApD,OAAO;QACHwD,QAAQ;QACRJ,aAAa;IACjB;IACAtD,QAAQ;QAAEwD,SAAS;QAAMF,aAAa;IAA4B;AACtE"}
|
|
@@ -1,14 +1,38 @@
|
|
|
1
|
-
import { Command } from './types';
|
|
2
|
-
export interface Args {
|
|
1
|
+
import { Command, CommandArgs } from './types';
|
|
2
|
+
export interface Args extends CommandArgs {
|
|
3
3
|
all?: true;
|
|
4
4
|
branch?: string;
|
|
5
5
|
count?: number;
|
|
6
6
|
dry?: boolean;
|
|
7
7
|
registry?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare class MFEPackageClean
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export declare class MFEPackageClean extends Command<Args> {
|
|
10
|
+
static readonly options: {
|
|
11
|
+
all: {
|
|
12
|
+
boolean: boolean;
|
|
13
|
+
description: string;
|
|
14
|
+
defaultDescription: string;
|
|
15
|
+
};
|
|
16
|
+
branch: {
|
|
17
|
+
string: boolean;
|
|
18
|
+
description: string;
|
|
19
|
+
defaultDescription: string;
|
|
20
|
+
};
|
|
21
|
+
count: {
|
|
22
|
+
number: boolean;
|
|
23
|
+
description: string;
|
|
24
|
+
defaultDescription: string;
|
|
25
|
+
};
|
|
26
|
+
dry: {
|
|
27
|
+
boolean: boolean;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
registry: {
|
|
31
|
+
string: boolean;
|
|
32
|
+
hidden: boolean;
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
12
36
|
execute(): Promise<void>;
|
|
13
37
|
private excludeTagged;
|
|
14
38
|
private getCleanData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAgB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;MAqBrB;IAGI,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "MFEPackageClean", {
|
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
12
|
const _utils1 = require("../utils");
|
|
13
|
+
const _types = require("./types");
|
|
13
14
|
function _define_property(obj, key, value) {
|
|
14
15
|
if (key in obj) {
|
|
15
16
|
Object.defineProperty(obj, key, {
|
|
@@ -32,7 +33,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
32
33
|
function _ts_metadata(k, v) {
|
|
33
34
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
35
|
}
|
|
35
|
-
class MFEPackageClean {
|
|
36
|
+
class MFEPackageClean extends _types.Command {
|
|
36
37
|
async execute() {
|
|
37
38
|
if (!(0, _utils.isWebComponent)()) {
|
|
38
39
|
throw new Error('only web-components can be cleaned');
|
|
@@ -137,11 +138,33 @@ class MFEPackageClean {
|
|
|
137
138
|
}
|
|
138
139
|
return branchedVersions;
|
|
139
140
|
}
|
|
140
|
-
constructor(args){
|
|
141
|
-
_define_property(this, "args", void 0);
|
|
142
|
-
this.args = args;
|
|
143
|
-
}
|
|
144
141
|
}
|
|
142
|
+
_define_property(MFEPackageClean, "options", {
|
|
143
|
+
all: {
|
|
144
|
+
boolean: true,
|
|
145
|
+
description: 'Unpublish old versions from all branches',
|
|
146
|
+
defaultDescription: 'false'
|
|
147
|
+
},
|
|
148
|
+
branch: {
|
|
149
|
+
string: true,
|
|
150
|
+
description: 'Branch name of versions to unpublish',
|
|
151
|
+
defaultDescription: 'current git branch'
|
|
152
|
+
},
|
|
153
|
+
count: {
|
|
154
|
+
number: true,
|
|
155
|
+
description: 'Keep the specified number of old versions',
|
|
156
|
+
defaultDescription: '5'
|
|
157
|
+
},
|
|
158
|
+
dry: {
|
|
159
|
+
boolean: true,
|
|
160
|
+
description: 'Take no action and only log what would be unpublished'
|
|
161
|
+
},
|
|
162
|
+
registry: {
|
|
163
|
+
string: true,
|
|
164
|
+
hidden: true,
|
|
165
|
+
description: 'Registry url'
|
|
166
|
+
}
|
|
167
|
+
});
|
|
145
168
|
_ts_decorate([
|
|
146
169
|
_utils.logErrors,
|
|
147
170
|
_ts_metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport { Command } from './types';\n\nexport interface Args {\n all?: true;\n branch?: string;\n count?: number;\n dry?: boolean;\n registry?: string;\n}\n\nexport class MFEPackageClean
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport { Command, CommandArgs } from './types';\n\nexport interface Args extends CommandArgs {\n all?: true;\n branch?: string;\n count?: number;\n dry?: boolean;\n registry?: string;\n}\n\nexport class MFEPackageClean extends Command<Args> {\n static readonly options = {\n all: {\n boolean: true,\n description: 'Unpublish old versions from all branches',\n defaultDescription: 'false',\n },\n branch: {\n string: true,\n description: 'Branch name of versions to unpublish',\n defaultDescription: 'current git branch',\n },\n count: {\n number: true,\n description: 'Keep the specified number of old versions',\n defaultDescription: '5',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be unpublished',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n };\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? 'https://verdaccio.servicetitan.com';\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","Command","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2","options","boolean","description","defaultDescription","string","number","hidden"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Command } from './types';
|
|
2
|
-
export interface Args {
|
|
1
|
+
import { Command, CommandArgs } from './types';
|
|
2
|
+
export interface Args extends CommandArgs {
|
|
3
3
|
branch?: string;
|
|
4
4
|
build?: string;
|
|
5
5
|
dry?: boolean;
|
|
@@ -8,9 +8,41 @@ export interface Args {
|
|
|
8
8
|
tag?: string;
|
|
9
9
|
uploadSourcemaps?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export declare class MFEPackagePublish
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export declare class MFEPackagePublish extends Command<Args> {
|
|
12
|
+
static readonly options: {
|
|
13
|
+
branch: {
|
|
14
|
+
string: boolean;
|
|
15
|
+
description: string;
|
|
16
|
+
defaultDescription: string;
|
|
17
|
+
};
|
|
18
|
+
build: {
|
|
19
|
+
string: boolean;
|
|
20
|
+
description: string;
|
|
21
|
+
defaultDescription: string;
|
|
22
|
+
};
|
|
23
|
+
dry: {
|
|
24
|
+
boolean: boolean;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
force: {
|
|
28
|
+
boolean: boolean;
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
registry: {
|
|
32
|
+
string: boolean;
|
|
33
|
+
hidden: boolean;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
tag: {
|
|
37
|
+
string: boolean;
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
'upload-source-maps': {
|
|
41
|
+
boolean: boolean;
|
|
42
|
+
description: string;
|
|
43
|
+
defaultDescription: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
14
46
|
execute(): Promise<void>;
|
|
15
47
|
private get dryRunPrefix();
|
|
16
48
|
private checkPackage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoBD,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BrB;IAGI,OAAO;IAoBb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,qBAAqB;YA2BrB,cAAc;IAc5B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YAyBR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;CAqB7B"}
|
|
@@ -12,6 +12,7 @@ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
|
12
12
|
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
13
|
const _utils = require("../../utils");
|
|
14
14
|
const _utils1 = require("../utils");
|
|
15
|
+
const _types = require("./types");
|
|
15
16
|
function _define_property(obj, key, value) {
|
|
16
17
|
if (key in obj) {
|
|
17
18
|
Object.defineProperty(obj, key, {
|
|
@@ -39,7 +40,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
39
40
|
function _ts_metadata(k, v) {
|
|
40
41
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
41
42
|
}
|
|
42
|
-
class MFEPackagePublish {
|
|
43
|
+
class MFEPackagePublish extends _types.Command {
|
|
43
44
|
async execute() {
|
|
44
45
|
if (this.args.dry) {
|
|
45
46
|
_utils.log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');
|
|
@@ -200,11 +201,41 @@ class MFEPackagePublish {
|
|
|
200
201
|
});
|
|
201
202
|
});
|
|
202
203
|
}
|
|
203
|
-
constructor(args){
|
|
204
|
-
_define_property(this, "args", void 0);
|
|
205
|
-
this.args = args;
|
|
206
|
-
}
|
|
207
204
|
}
|
|
205
|
+
_define_property(MFEPackagePublish, "options", {
|
|
206
|
+
'branch': {
|
|
207
|
+
string: true,
|
|
208
|
+
description: 'Branch name to associate with published version',
|
|
209
|
+
defaultDescription: 'current git branch'
|
|
210
|
+
},
|
|
211
|
+
'build': {
|
|
212
|
+
string: true,
|
|
213
|
+
description: 'Package version',
|
|
214
|
+
defaultDescription: '<branch_name>.<commit_hash>'
|
|
215
|
+
},
|
|
216
|
+
'dry': {
|
|
217
|
+
boolean: true,
|
|
218
|
+
description: 'Take no action and only log what would be published'
|
|
219
|
+
},
|
|
220
|
+
'force': {
|
|
221
|
+
boolean: true,
|
|
222
|
+
description: 'Force publishing from an unrecognized branch'
|
|
223
|
+
},
|
|
224
|
+
'registry': {
|
|
225
|
+
string: true,
|
|
226
|
+
hidden: true,
|
|
227
|
+
description: 'Registry url'
|
|
228
|
+
},
|
|
229
|
+
'tag': {
|
|
230
|
+
string: true,
|
|
231
|
+
description: 'Tag to assign to published version'
|
|
232
|
+
},
|
|
233
|
+
'upload-source-maps': {
|
|
234
|
+
boolean: true,
|
|
235
|
+
description: 'Upload source maps to Datadog?',
|
|
236
|
+
defaultDescription: 'true'
|
|
237
|
+
}
|
|
238
|
+
});
|
|
208
239
|
_ts_decorate([
|
|
209
240
|
_utils.logErrors,
|
|
210
241
|
_ts_metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n runCommand,\n} from '../utils';\nimport { Command } from './types';\n\nexport interface Args {\n branch?: string;\n build?: string;\n dry?: boolean;\n force?: boolean;\n registry?: string;\n tag?: string;\n uploadSourcemaps?: boolean;\n}\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n fallbackTag: string;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish implements Command {\n constructor(private readonly args: Args) {}\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n const data = this.getPublishData();\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n if (!(await this.tryTagExistingVersion(packageJson, data))) {\n await this.publishPackage(packageJson, data);\n }\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? '(dry-run) ' : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async tryTagExistingVersion(\n { name }: PackageJson,\n { dry, registry, tag, version }: PublishData\n ) {\n const versions = npmGetPackageVersions(registry, name);\n if (!versions.includes(version)) {\n return false;\n }\n\n log.warning(\n `${this.dryRunPrefix}${name} version ${version} is already published, skipping publish`\n );\n\n if (tag) {\n log.info(`${this.dryRunPrefix}adding tag \"${tag}\" to ${name} version ${version}`);\n if (!dry) {\n await npmTagVersion({\n packageName: name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n }\n return true;\n }\n\n private async publishPackage(\n packageJson: PackageJson,\n { dry, fallbackTag, registry, tag, version }: PublishData\n ) {\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n await npmPublish({ dry, tag: tag || fallbackTag });\n log.info(`${this.dryRunPrefix}published ${packageJson.name} version ${version}`);\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? 'https://verdaccio.servicetitan.com';\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n\n return {\n buildVersion,\n dry: !!cli.dry,\n fallbackTag: 'latest',\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n registry,\n tag,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n}\n"],"names":["MFEPackagePublish","execute","args","dry","log","warning","packageJson","readJson","data","getPublishData","checkPackage","tryTagExistingVersion","publishPackage","uploadSourcemaps","dryRunPrefix","force","isBranchConfigured","isWebComponent","Error","private","name","registry","tag","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","fallbackTag","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","options","filter","option","runCommand","join","cli","branch","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","build","getDefaultBuildVersion","gitGetCommitHash","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename"],"mappings":";;;;+BAmDaA;;;eAAAA;;;6DAnDI;2DACF;uBAQR;wBAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA;IAGT,MACMC,UAAU;QACZ,IAAI,IAAI,CAACC,IAAI,CAACC,GAAG,EAAE;YACfC,UAAG,CAACC,OAAO,CAAC;QAChB;QAEA,MAAMC,cAAcC,IAAAA,eAAQ,EAAc;QAC1C,MAAMC,OAAO,IAAI,CAACC,cAAc;QAChC,IAAI,CAAC,IAAI,CAACC,YAAY,CAACJ,aAAaE,OAAO;YACvC;QACJ;QAEA,IAAI,CAAE,MAAM,IAAI,CAACG,qBAAqB,CAACL,aAAaE,OAAQ;YACxD,MAAM,IAAI,CAACI,cAAc,CAACN,aAAaE;QAC3C;QAEA,IAAIA,KAAKK,gBAAgB,EAAE;YACvB,IAAI,CAACA,gBAAgB,CAACL;QAC1B;IACJ;IAEA,IAAYM,eAAe;QACvB,OAAO,IAAI,CAACZ,IAAI,CAACC,GAAG,GAAG,eAAe;IAC1C;IAEQO,aAAaJ,WAAwB,EAAE,EAAES,KAAK,EAAEC,kBAAkB,EAAe,EAAE;QACvF,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,IAAIZ,YAAYa,OAAO,EAAE;YACrBf,UAAG,CAACC,OAAO,CAAC;YACZ,OAAO;QACX;QAEA,IAAI,CAACW,sBAAsB,CAACD,OAAO;YAC/BX,UAAG,CAACC,OAAO,CACP;YAEJ,OAAO;QACX;QAEA,OAAO;IACX;IAEA,MAAcM,sBACV,EAAES,IAAI,EAAe,EACrB,EAAEjB,GAAG,EAAEkB,QAAQ,EAAEC,GAAG,EAAEC,OAAO,EAAe,EAC9C;QACE,MAAMC,WAAWC,IAAAA,6BAAqB,EAACJ,UAAUD;QACjD,IAAI,CAACI,SAASE,QAAQ,CAACH,UAAU;YAC7B,OAAO;QACX;QAEAnB,UAAG,CAACC,OAAO,CACP,GAAG,IAAI,CAACS,YAAY,GAAGM,KAAK,SAAS,EAAEG,QAAQ,uCAAuC,CAAC;QAG3F,IAAID,KAAK;YACLlB,UAAG,CAACuB,IAAI,CAAC,GAAG,IAAI,CAACb,YAAY,CAAC,YAAY,EAAEQ,IAAI,KAAK,EAAEF,KAAK,SAAS,EAAEG,SAAS;YAChF,IAAI,CAACpB,KAAK;gBACN,MAAMyB,IAAAA,qBAAa,EAAC;oBAChBC,aAAaT;oBACbU,gBAAgBP;oBAChBF;oBACAC;gBACJ;YACJ;QACJ;QACA,OAAO;IACX;IAEA,MAAcV,eACVN,WAAwB,EACxB,EAAEH,GAAG,EAAE4B,WAAW,EAAEV,QAAQ,EAAEC,GAAG,EAAEC,OAAO,EAAe,EAC3D;QACE,IAAI,CAACS,gBAAgB,CAACT;QAEtB,MAAMU,IAAAA,qBAAa,EAAC,WAAWV;QAC/B,MAAMU,IAAAA,qBAAa,EAAC,0BAA0BZ;QAC9C,MAAM,IAAI,CAACa,eAAe,CAAC5B;QAE3B,MAAM6B,IAAAA,kBAAU,EAAC;YAAEhC;YAAKmB,KAAKA,OAAOS;QAAY;QAChD3B,UAAG,CAACuB,IAAI,CAAC,GAAG,IAAI,CAACb,YAAY,CAAC,UAAU,EAAER,YAAYc,IAAI,CAAC,SAAS,EAAEG,SAAS;IACnF;IAEQV,iBAAiB,EAAEV,GAAG,EAAEoB,OAAO,EAAe,EAAE;QACpD,MAAMa,UAAU;eAAI;gBAACjC,OAAO;aAAQ;YAAE,CAAC,iBAAiB,EAAEoB,SAAS;SAAC,CAACc,MAAM,CACvEC,CAAAA,SAAU,CAAC,CAACA;QAGhBC,IAAAA,kBAAU,EAAC,CAAC,8BAA8B,EAAEH,QAAQI,IAAI,CAAC,MAAM;IACnE;IAEQ/B,iBAA8B;QAClC,MAAMgC,MAAM,IAAI,CAACvC,IAAI;YACNuC;QAAf,MAAMC,SAASD,CAAAA,cAAAA,IAAIC,MAAM,cAAVD,yBAAAA,cAAcE,IAAAA,oBAAY;QACzC,MAAMC,eAAeC,IAAAA,yBAAkB,GAAE,CAACH,OAAO;QAEjD,wEAAwE;QACxE,MAAMI,eAAeL,IAAIM,KAAK,IAAIC,IAAAA,8BAAsB,EAACN,QAAQO,IAAAA,wBAAgB;YAChER;QAAjB,MAAMpB,WAAWoB,CAAAA,gBAAAA,IAAIpB,QAAQ,cAAZoB,2BAAAA,gBAAgB;YACrBA,UAAAA;QAAZ,MAAMnB,MAAMmB,CAAAA,OAAAA,CAAAA,WAAAA,IAAInB,GAAG,cAAPmB,sBAAAA,WAAWG,yBAAAA,mCAAAA,aAAcM,UAAU,cAAnCT,kBAAAA,OAAuC;YAC1BA,uBAAAA;QAAzB,MAAM5B,mBAAmB4B,CAAAA,QAAAA,CAAAA,wBAAAA,IAAI5B,gBAAgB,cAApB4B,mCAAAA,wBAAwBG,yBAAAA,mCAAAA,aAAc/B,gBAAgB,cAAtD4B,mBAAAA,QAA0D;QACnF,MAAMlB,UAAU,WAAWuB;QAE3B,OAAO;YACHA;YACA3C,KAAK,CAAC,CAACsC,IAAItC,GAAG;YACd4B,aAAa;YACbhB,OAAO,CAAC,CAAC0B,IAAI1B,KAAK;YAClBC,oBAAoB,CAAC,CAAC4B;YACtBvB;YACAC;YACAT;YACAU;QACJ;IACJ;IAEA,MAAcW,gBAAgB,EAAEiB,OAAOC,UAAU,EAAe,EAAE;QAC9D,IAAIC,cAAc;YAAC;YAAe;YAAsB;SAAe;QAEvE,IAAID,uBAAAA,iCAAAA,WAAYE,MAAM,EAAE;YACpB,MAAMC,QAAQH,WAAWI,SAAS,CAACC,CAAAA,OAAQA,SAAS;YACpD,IAAIF,QAAQ,GAAG;gBACX;YACJ;YACAF,cAAc;mBACPD,WAAWM,KAAK,CAAC,GAAGH;mBACpBF,YAAYhB,MAAM,CAACoB,CAAAA,OAAQA,KAAKE,UAAU,CAAC;mBAC3CP,WAAWM,KAAK,CAACH,QAAQ;aAC/B;QACL;QAEA,IAAK,IAAIK,IAAI,GAAGC,IAAIR,YAAYC,MAAM,EAAEM,IAAIC,GAAGD,IAAK;YAChD,4CAA4C;YAC5C,MAAM3B,IAAAA,qBAAa,EAAC,CAAC,MAAM,EAAE2B,EAAE,CAAC,CAAC,EAAEP,WAAW,CAACO,EAAE;QACrD;IACJ;IAEQ5B,iBAAiBT,OAAe,EAAE;QACtC,MAAM,EAAEuC,aAAaC,MAAM,EAAE,GAAGC,IAAAA,iBAAU;QAE1C,MAAMC,eAAeC,aAAI,CAAC1B,IAAI,CAACuB,QAAQ;QACvC,IAAI,CAACI,WAAE,CAACC,UAAU,CAACH,eAAe;YAC9B,MAAM,IAAI/C,MAAM,GAAG+C,aAAa,eAAe,CAAC;QACpD;QAEA,MAAMI,WAAW9D,IAAAA,eAAQ,EAAW0D;QACpC,IAAI,CAACK,mBAAmB,CAACP,QAAQM;QAEjCF,WAAE,CAACI,aAAa,CAACN,cAAcO,KAAKC,SAAS,CAAC;YAAE,GAAGJ,QAAQ;YAAE9C;QAAQ,GAAG,MAAM,IAAI;IACtF;IAEQ+C,oBAAoBP,MAAc,EAAE,EAAEW,cAAc,CAAC,CAAC,EAAY,EAAE;QACxE,MAAMC,OAA8B;YAAC;YAAQ;SAAQ;QACrDA,KAAKC,OAAO,CAACxD,CAAAA,OACT,IAAI,CAACyD,kBAAkB,CAAC;gBAAEC,YAAYJ,WAAW,CAACtD,KAAK;gBAAEA;gBAAM2C;YAAO;IAE9E;IAEQc,mBAAmB,EACvBC,aAAa,CAAC,CAAC,EACf1D,IAAI,EACJ2C,MAAM,EAKT,EAAE;QACC,MAAMY,OAA6B;YAAC;YAAO;SAAK;QAChDA,KAAKC,OAAO,CAACG,CAAAA;YACT,IAAI,CAACD,UAAU,CAACC,IAAI,EAAE;gBAClB,MAAM,IAAI7D,MAAM,GAAGE,KAAK,CAAC,EAAE2D,IAAI,2BAA2B,CAAC;YAC/D;YACAD,UAAU,CAACC,IAAI,CAACH,OAAO,CAACI,CAAAA;gBACpB,IAAI,CAACb,WAAE,CAACC,UAAU,CAACF,aAAI,CAAC1B,IAAI,CAACuB,QAAQ,UAAU3C,MAAM4D,YAAY;oBAC7D,MAAM,IAAI9D,MAAM,CAAC,kBAAkB,EAAE8D,SAAS,cAAc,CAAC;gBACjE;YACJ;QACJ;IACJ;IAvLA,YAAY,AAAiB9E,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAwL9C"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n runCommand,\n} from '../utils';\nimport { Command, CommandArgs } from './types';\n\nexport interface Args extends CommandArgs {\n branch?: string;\n build?: string;\n dry?: boolean;\n force?: boolean;\n registry?: string;\n tag?: string;\n uploadSourcemaps?: boolean;\n}\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n fallbackTag: string;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<Args> {\n static readonly options = {\n 'branch': {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n 'build': {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n 'dry': {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n 'force': {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n 'registry': { string: true, hidden: true, description: 'Registry url' },\n 'tag': {\n string: true,\n description: 'Tag to assign to published version',\n },\n 'upload-source-maps': {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n };\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n const data = this.getPublishData();\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n if (!(await this.tryTagExistingVersion(packageJson, data))) {\n await this.publishPackage(packageJson, data);\n }\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? '(dry-run) ' : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async tryTagExistingVersion(\n { name }: PackageJson,\n { dry, registry, tag, version }: PublishData\n ) {\n const versions = npmGetPackageVersions(registry, name);\n if (!versions.includes(version)) {\n return false;\n }\n\n log.warning(\n `${this.dryRunPrefix}${name} version ${version} is already published, skipping publish`\n );\n\n if (tag) {\n log.info(`${this.dryRunPrefix}adding tag \"${tag}\" to ${name} version ${version}`);\n if (!dry) {\n await npmTagVersion({\n packageName: name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n }\n return true;\n }\n\n private async publishPackage(\n packageJson: PackageJson,\n { dry, fallbackTag, registry, tag, version }: PublishData\n ) {\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n await npmPublish({ dry, tag: tag || fallbackTag });\n log.info(`${this.dryRunPrefix}published ${packageJson.name} version ${version}`);\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? 'https://verdaccio.servicetitan.com';\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n\n return {\n buildVersion,\n dry: !!cli.dry,\n fallbackTag: 'latest',\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n registry,\n tag,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n}\n"],"names":["MFEPackagePublish","Command","execute","args","dry","log","warning","packageJson","readJson","data","getPublishData","checkPackage","tryTagExistingVersion","publishPackage","uploadSourcemaps","dryRunPrefix","force","isBranchConfigured","isWebComponent","Error","private","name","registry","tag","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","fallbackTag","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","options","filter","option","runCommand","join","cli","branch","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","build","getDefaultBuildVersion","gitGetCommitHash","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","string","description","defaultDescription","boolean","hidden"],"mappings":"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"}
|
|
@@ -6,10 +6,23 @@ interface Args extends PublishArgs, CleanArgs {
|
|
|
6
6
|
concurrency?: number;
|
|
7
7
|
scope?: string | string[];
|
|
8
8
|
}
|
|
9
|
-
export declare class MFEPublish
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
export declare class MFEPublish extends Command<Args> {
|
|
10
|
+
static readonly description = "Publish or unpublish MFE packages";
|
|
11
|
+
static get options(): {
|
|
12
|
+
clean: {
|
|
13
|
+
boolean: boolean;
|
|
14
|
+
description: string;
|
|
15
|
+
};
|
|
16
|
+
concurrency: {
|
|
17
|
+
number: boolean;
|
|
18
|
+
description: string;
|
|
19
|
+
defaultDescription: string;
|
|
20
|
+
};
|
|
21
|
+
scope: {
|
|
22
|
+
array: boolean;
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
13
26
|
execute(): Promise<void>;
|
|
14
27
|
getPublishOptions(): string[];
|
|
15
28
|
getCleanOptions(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,IAAI,IAAI,WAAW,EAAqB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,UAAU,IAAK,SAAQ,WAAW,EAAE,SAAS;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,UAAW,SAAQ,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,CAAC,WAAW,uCAAuC;IAClE,MAAM,KAAK,OAAO;;;;;;;;;;;;;;MAkCjB;IAGK,OAAO;IAmBb,iBAAiB,IAYe,MAAM,EAAE;IAGxC,eAAe,IAQiB,MAAM,EAAE;CAE3C"}
|