@servicetitan/startup 28.0.0 → 28.1.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-package-clean.d.ts +1 -0
- package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +13 -2
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +3 -3
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts +2 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +13 -13
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/utils/get-branch-configs.d.ts +3 -0
- package/dist/utils/get-branch-configs.d.ts.map +1 -0
- package/dist/utils/get-branch-configs.js +18 -0
- package/dist/utils/get-branch-configs.js.map +1 -0
- package/dist/utils/get-configuration.d.ts +13 -3
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +28 -5
- package/dist/utils/get-configuration.js.map +1 -1
- package/package.json +7 -7
- package/src/cli/commands/__tests__/mfe-package-clean.test.ts +44 -5
- package/src/cli/commands/__tests__/mfe-publish.test.ts +19 -1
- package/src/cli/commands/mfe-package-clean.ts +14 -3
- package/src/cli/commands/mfe-package-publish.ts +3 -3
- package/src/cli/commands/mfe-publish.ts +22 -13
- package/src/utils/__tests__/get-branch-configs.test.ts +36 -0
- package/src/utils/__tests__/get-configuration.test.ts +65 -0
- package/src/utils/get-branch-configs.ts +17 -0
- package/src/utils/get-configuration.ts +45 -7
- package/dist/cli/commands/get-branch-configs.d.ts +0 -4
- package/dist/cli/commands/get-branch-configs.d.ts.map +0 -1
- package/dist/cli/commands/get-branch-configs.js +0 -13
- package/dist/cli/commands/get-branch-configs.js.map +0 -1
- package/src/cli/commands/get-branch-configs.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE1C,WAAW;IAKL,OAAO;IA+Cb,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CAmD9B"}
|
|
@@ -11,8 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.MFEPackageClean = void 0;
|
|
13
13
|
const utils_1 = require("../../utils");
|
|
14
|
+
const cli_git_1 = require("../utils/cli-git");
|
|
14
15
|
const cli_npm_1 = require("../utils/cli-npm");
|
|
15
|
-
const get_branch_configs_1 = require("
|
|
16
|
+
const get_branch_configs_1 = require("../../utils/get-branch-configs");
|
|
16
17
|
class MFEPackageClean {
|
|
17
18
|
constructor(args) {
|
|
18
19
|
Object.defineProperty(this, "args", {
|
|
@@ -60,8 +61,18 @@ class MFEPackageClean {
|
|
|
60
61
|
if (!count) {
|
|
61
62
|
count = 5;
|
|
62
63
|
}
|
|
64
|
+
let branches;
|
|
65
|
+
if (this.args.branch === true) {
|
|
66
|
+
branches = [(0, cli_git_1.gitGetBranch)()];
|
|
67
|
+
}
|
|
68
|
+
else if (typeof this.args.branch === 'string') {
|
|
69
|
+
branches = [this.args.branch];
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
branches = Object.keys((0, get_branch_configs_1.getBranchesConfigs)());
|
|
73
|
+
}
|
|
63
74
|
const registry = 'https://verdaccio.servicetitan.com';
|
|
64
|
-
return { count, registry, branches
|
|
75
|
+
return { count, registry, branches };
|
|
65
76
|
}
|
|
66
77
|
getBranchedVersions(packageName, registry) {
|
|
67
78
|
const versions = (0, cli_npm_1.npmGetPackageVersionDates)(registry, packageName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-clean.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAuE;AACvE,8CAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"mfe-package-clean.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,8 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
18
18
|
const utils_1 = require("../../utils");
|
|
19
19
|
const cli_git_1 = require("../utils/cli-git");
|
|
20
20
|
const cli_npm_1 = require("../utils/cli-npm");
|
|
21
|
+
const get_branch_configs_1 = require("../../utils/get-branch-configs");
|
|
21
22
|
const publish_1 = require("../utils/publish");
|
|
22
|
-
const get_branch_configs_1 = require("./get-branch-configs");
|
|
23
23
|
class MFEPackagePublish {
|
|
24
24
|
constructor(args) {
|
|
25
25
|
Object.defineProperty(this, "args", {
|
|
@@ -87,7 +87,7 @@ class MFEPackagePublish {
|
|
|
87
87
|
var _a, _b, _c;
|
|
88
88
|
const cli = this.args;
|
|
89
89
|
const branch = (_a = cli.branch) !== null && _a !== void 0 ? _a : (0, cli_git_1.gitGetBranch)();
|
|
90
|
-
const branchConfig = (0, get_branch_configs_1.
|
|
90
|
+
const branchConfig = (0, get_branch_configs_1.getBranchesConfigs)()[branch];
|
|
91
91
|
let buildVersion = cli.build;
|
|
92
92
|
if (!buildVersion) {
|
|
93
93
|
buildVersion = (0, publish_1.getDefaultBuildVersion)(branch, (0, cli_git_1.gitGetCommitHash)());
|
|
@@ -103,7 +103,7 @@ class MFEPackagePublish {
|
|
|
103
103
|
tag = cli.tag;
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
|
-
tag = (_b = branchConfig === null || branchConfig === void 0 ? void 0 : branchConfig.
|
|
106
|
+
tag = (_b = branchConfig === null || branchConfig === void 0 ? void 0 : branchConfig.publishTag) !== null && _b !== void 0 ? _b : '';
|
|
107
107
|
}
|
|
108
108
|
const registry = (_c = cli.registry) !== null && _c !== void 0 ? _c : 'https://verdaccio.servicetitan.com';
|
|
109
109
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,uCAAmF;AACnF,8CAAkE;AAClE,8CAM0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"mfe-package-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ArgsPackageClean } from './mfe-package-clean';
|
|
2
2
|
import { ArgsPackagePublish } from './mfe-package-publish';
|
|
3
3
|
import { Command } from './types';
|
|
4
|
-
interface Args extends ArgsPackagePublish, ArgsPackageClean {
|
|
4
|
+
interface Args extends Omit<ArgsPackagePublish, 'branch'>, ArgsPackageClean {
|
|
5
5
|
clean?: boolean;
|
|
6
6
|
concurrency?: number;
|
|
7
7
|
scope?: string | string[];
|
|
@@ -12,6 +12,7 @@ export declare class MFEPublish implements Command {
|
|
|
12
12
|
description(): string;
|
|
13
13
|
execute(): Promise<void>;
|
|
14
14
|
getPublishOptions(): string[];
|
|
15
|
+
getCleanOptions(): string[];
|
|
15
16
|
}
|
|
16
17
|
export {};
|
|
17
18
|
//# sourceMappingURL=mfe-publish.d.ts.map
|
|
@@ -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":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,UAAU,IAAK,SAAQ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE,gBAAgB;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;IA0Bb,iBAAiB,IAUe,MAAM,EAAE;IAGxC,eAAe,IAMiB,MAAM,EAAE;CAE3C"}
|
|
@@ -8,12 +8,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.MFEPublish = void 0;
|
|
16
|
-
const path_1 = __importDefault(require("path"));
|
|
17
13
|
const utils_1 = require("../../utils");
|
|
18
14
|
const utils_2 = require("../utils");
|
|
19
15
|
class MFEPublish {
|
|
@@ -31,11 +27,7 @@ class MFEPublish {
|
|
|
31
27
|
async execute() {
|
|
32
28
|
var _a, _b;
|
|
33
29
|
let packages = (_a = (0, utils_1.splitPackagesByType)((0, utils_1.getPackages)())[utils_1.PackageType.Webpack]) !== null && _a !== void 0 ? _a : [];
|
|
34
|
-
packages = packages.filter(p =>
|
|
35
|
-
var _a;
|
|
36
|
-
const packageJson = (0, utils_1.readJson)(path_1.default.join(p.location, 'package.json'));
|
|
37
|
-
return ((_a = packageJson === null || packageJson === void 0 ? void 0 : packageJson.cli) === null || _a === void 0 ? void 0 : _a['web-component']) === true;
|
|
38
|
-
});
|
|
30
|
+
packages = packages.filter(p => (0, utils_1.isWebComponent)(p.location));
|
|
39
31
|
if (this.args.scope) {
|
|
40
32
|
packages = packages.filter(p => Array.isArray(this.args.scope)
|
|
41
33
|
? this.args.scope.includes(p.name)
|
|
@@ -44,20 +36,20 @@ class MFEPublish {
|
|
|
44
36
|
if (!packages.length) {
|
|
45
37
|
throw new Error('no packages found for publication');
|
|
46
38
|
}
|
|
39
|
+
const isClean = !!this.args.clean;
|
|
47
40
|
await (0, utils_2.lernaExec)({
|
|
48
|
-
'cmd': `startup mfe-package-${
|
|
41
|
+
'cmd': `startup mfe-package-${isClean ? 'clean' : 'publish'}`,
|
|
49
42
|
'concurrency': (_b = this.args.concurrency) !== null && _b !== void 0 ? _b : 1,
|
|
50
43
|
'scope': packages.map(({ name }) => name),
|
|
51
44
|
'stream': true,
|
|
52
|
-
'--': this.getPublishOptions(),
|
|
45
|
+
'--': isClean ? this.getCleanOptions() : this.getPublishOptions(),
|
|
53
46
|
});
|
|
54
47
|
}
|
|
55
48
|
getPublishOptions() {
|
|
56
|
-
const { build, branch,
|
|
49
|
+
const { build, branch, dry, force, registry, tag } = this.args;
|
|
57
50
|
return [
|
|
58
51
|
...[branch && `--branch ${branch}`],
|
|
59
52
|
...[build && `--build ${build}`],
|
|
60
|
-
...[count && `--count ${count}`],
|
|
61
53
|
...[dry && '--dry'],
|
|
62
54
|
...[force && '--force'],
|
|
63
55
|
...[registry && `--registry ${registry}`],
|
|
@@ -65,6 +57,14 @@ class MFEPublish {
|
|
|
65
57
|
...[tag === false && `--no-tag`],
|
|
66
58
|
].filter(item => !!item);
|
|
67
59
|
}
|
|
60
|
+
getCleanOptions() {
|
|
61
|
+
const { branch, count } = this.args;
|
|
62
|
+
return [
|
|
63
|
+
...[branch && typeof branch === 'string' && `--branch ${branch}`],
|
|
64
|
+
...[branch && branch === true && '--branch'],
|
|
65
|
+
...[count && `--count ${count}`],
|
|
66
|
+
].filter(item => !!item);
|
|
67
|
+
}
|
|
68
68
|
}
|
|
69
69
|
exports.MFEPublish = MFEPublish;
|
|
70
70
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mfe-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-branch-configs.d.ts","sourceRoot":"","sources":["../../src/utils/get-branch-configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAWlF,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAK9E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBranchesConfigs = getBranchesConfigs;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
function getDefaultConfigs() {
|
|
6
|
+
return {
|
|
7
|
+
develop: { publishTag: 'dev' },
|
|
8
|
+
dev: { publishTag: 'dev' },
|
|
9
|
+
next: { publishTag: 'next' },
|
|
10
|
+
master: { publishTag: 'prod' },
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function getBranchesConfigs() {
|
|
14
|
+
const packageConfigs = (0, index_1.getWebComponentBranchConfigs)();
|
|
15
|
+
const defaultConfigs = getDefaultConfigs();
|
|
16
|
+
return packageConfigs !== null && packageConfigs !== void 0 ? packageConfigs : defaultConfigs;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=get-branch-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-branch-configs.js","sourceRoot":"","sources":["../../src/utils/get-branch-configs.ts"],"names":[],"mappings":";;AAWA,gDAKC;AAhBD,mCAAkF;AAElF,SAAS,iBAAiB;IACtB,OAAO;QACH,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC9B,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1B,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;QAC5B,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;KACjC,CAAC;AACN,CAAC;AAED,SAAgB,kBAAkB;IAC9B,MAAM,cAAc,GAAG,IAAA,oCAA4B,GAAE,CAAC;IACtD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,cAAc,CAAC;AAC5C,CAAC"}
|
|
@@ -50,8 +50,16 @@ export declare enum CommandName {
|
|
|
50
50
|
'styles-check' = "styles-check",
|
|
51
51
|
'test' = "test"
|
|
52
52
|
}
|
|
53
|
+
export interface WebComponentBranchConfigs {
|
|
54
|
+
publishTag?: string;
|
|
55
|
+
}
|
|
53
56
|
interface WebComponentOptions {
|
|
54
|
-
legacyRoot
|
|
57
|
+
legacyRoot?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* mapping of git branches to configs.
|
|
60
|
+
* Used to separate configs (ex publish tag) depending on current branch
|
|
61
|
+
*/
|
|
62
|
+
branches?: Record<string, WebComponentBranchConfigs>;
|
|
55
63
|
}
|
|
56
64
|
type Configuration = {
|
|
57
65
|
'legacy'?: boolean;
|
|
@@ -60,7 +68,7 @@ type Configuration = {
|
|
|
60
68
|
stylelint: StylelintConfiguration;
|
|
61
69
|
};
|
|
62
70
|
'test'?: JestConfiguration;
|
|
63
|
-
'web-component'?: boolean | WebComponentOptions;
|
|
71
|
+
'web-component'?: boolean | string | WebComponentOptions;
|
|
64
72
|
'webpack'?: false | WebpackConfiguration;
|
|
65
73
|
} & {
|
|
66
74
|
[key in CommandName]: NodeConfiguration;
|
|
@@ -72,6 +80,8 @@ export declare function getESLintConfiguration(): ESLintConfiguration;
|
|
|
72
80
|
export declare function getJestConfiguration(): JestConfiguration & NodeConfiguration;
|
|
73
81
|
export declare function getStylelintConfiguration(): StylelintConfiguration;
|
|
74
82
|
export declare function getWebpackConfiguration(locationOrJson?: LocationOrJson): WebpackConfiguration;
|
|
83
|
+
export declare function getWebComponentConfiguration(locationOrJson?: LocationOrJson): WebComponentOptions | undefined;
|
|
84
|
+
export declare function getWebComponentBranchConfigs(locationOrJson?: LocationOrJson): Record<string, WebComponentBranchConfigs> | undefined;
|
|
75
85
|
export declare function isBundle(locationOrJson?: LocationOrJson): boolean;
|
|
76
86
|
export declare function isCustomStyleRules(): boolean;
|
|
77
87
|
export declare function isDevServerDisabled(): boolean;
|
|
@@ -79,6 +89,6 @@ export declare function isExposeSharedDependencies(): boolean;
|
|
|
79
89
|
export declare function isLegacy(locationOrJson?: LocationOrJson): boolean;
|
|
80
90
|
export declare function isLegacyRoot(): boolean;
|
|
81
91
|
export declare function isStyleCheckDisabled(): boolean;
|
|
82
|
-
export declare function isWebComponent(): boolean;
|
|
92
|
+
export declare function isWebComponent(locationOrJson?: LocationOrJson): boolean;
|
|
83
93
|
export {};
|
|
84
94
|
//# sourceMappingURL=get-configuration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-configuration.d.ts","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-configuration.d.ts","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ exports.getESLintConfiguration = getESLintConfiguration;
|
|
|
10
10
|
exports.getJestConfiguration = getJestConfiguration;
|
|
11
11
|
exports.getStylelintConfiguration = getStylelintConfiguration;
|
|
12
12
|
exports.getWebpackConfiguration = getWebpackConfiguration;
|
|
13
|
+
exports.getWebComponentConfiguration = getWebComponentConfiguration;
|
|
14
|
+
exports.getWebComponentBranchConfigs = getWebComponentBranchConfigs;
|
|
13
15
|
exports.isBundle = isBundle;
|
|
14
16
|
exports.isCustomStyleRules = isCustomStyleRules;
|
|
15
17
|
exports.isDevServerDisabled = isDevServerDisabled;
|
|
@@ -18,8 +20,10 @@ exports.isLegacy = isLegacy;
|
|
|
18
20
|
exports.isLegacyRoot = isLegacyRoot;
|
|
19
21
|
exports.isStyleCheckDisabled = isStyleCheckDisabled;
|
|
20
22
|
exports.isWebComponent = isWebComponent;
|
|
23
|
+
const fs_1 = __importDefault(require("fs"));
|
|
21
24
|
const path_1 = __importDefault(require("path"));
|
|
22
25
|
const read_json_1 = require("./read-json");
|
|
26
|
+
const log_1 = require("./log");
|
|
23
27
|
exports.allowedWebpackDevServerOptions = ['headers', 'port', 'proxy', 'static'];
|
|
24
28
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
25
29
|
var CommandName;
|
|
@@ -69,6 +73,26 @@ function getWebpackConfiguration(locationOrJson) {
|
|
|
69
73
|
const { webpack } = getConfiguration(locationOrJson);
|
|
70
74
|
return typeof webpack === 'object' ? webpack : {};
|
|
71
75
|
}
|
|
76
|
+
function getWebComponentConfiguration(locationOrJson = './') {
|
|
77
|
+
const config = getConfigurationSafe(locationOrJson)['web-component'];
|
|
78
|
+
if (config === true) {
|
|
79
|
+
return {};
|
|
80
|
+
}
|
|
81
|
+
if (typeof config === 'object') {
|
|
82
|
+
return config;
|
|
83
|
+
}
|
|
84
|
+
if (typeof config === 'string') {
|
|
85
|
+
if (fs_1.default.existsSync(config)) {
|
|
86
|
+
return require(path_1.default.resolve(config));
|
|
87
|
+
}
|
|
88
|
+
log_1.log.warning(`could not find web-component configuration: "${config}"`);
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function getWebComponentBranchConfigs(locationOrJson = './') {
|
|
93
|
+
const config = getWebComponentConfiguration(locationOrJson);
|
|
94
|
+
return config === null || config === void 0 ? void 0 : config.branches;
|
|
95
|
+
}
|
|
72
96
|
function isBundle(locationOrJson) {
|
|
73
97
|
return getConfiguration(locationOrJson).webpack !== false;
|
|
74
98
|
}
|
|
@@ -86,14 +110,13 @@ function isLegacy(locationOrJson) {
|
|
|
86
110
|
return getConfiguration(locationOrJson).legacy === true;
|
|
87
111
|
}
|
|
88
112
|
function isLegacyRoot() {
|
|
89
|
-
|
|
90
|
-
return
|
|
113
|
+
var _a;
|
|
114
|
+
return ((_a = getWebComponentConfiguration()) === null || _a === void 0 ? void 0 : _a.legacyRoot) === true;
|
|
91
115
|
}
|
|
92
116
|
function isStyleCheckDisabled() {
|
|
93
117
|
return getWebpackConfiguration()['disable-style-check'] === true;
|
|
94
118
|
}
|
|
95
|
-
function isWebComponent() {
|
|
96
|
-
|
|
97
|
-
return config === true || typeof config === 'object';
|
|
119
|
+
function isWebComponent(locationOrJson = './') {
|
|
120
|
+
return !!getWebComponentConfiguration(locationOrJson);
|
|
98
121
|
}
|
|
99
122
|
//# sourceMappingURL=get-configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-configuration.js","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"get-configuration.js","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "28.
|
|
3
|
+
"version": "28.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@jest/core": "~29.7.0",
|
|
32
32
|
"@jest/types": "~29.6.3",
|
|
33
33
|
"@jsdevtools/coverage-istanbul-loader": "^3.0.5",
|
|
34
|
-
"@servicetitan/eslint-config": "28.
|
|
35
|
-
"@servicetitan/stylelint-config": "28.
|
|
34
|
+
"@servicetitan/eslint-config": "28.1.0",
|
|
35
|
+
"@servicetitan/stylelint-config": "28.1.0",
|
|
36
36
|
"@svgr/webpack": "^8.1.0",
|
|
37
|
-
"@swc/core": "1.
|
|
37
|
+
"@swc/core": "1.9.2",
|
|
38
38
|
"@types/debug": "^4.1.12",
|
|
39
39
|
"@types/jest": "~29.5.12",
|
|
40
40
|
"chalk": "~4.1.2",
|
|
@@ -65,9 +65,9 @@
|
|
|
65
65
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
66
66
|
"multimatch": "~5.0.0",
|
|
67
67
|
"portfinder": "~1.0.32",
|
|
68
|
-
"postcss": "~8.4.
|
|
68
|
+
"postcss": "~8.4.49",
|
|
69
69
|
"prettier": "~3.3.3",
|
|
70
|
-
"sass": "~1.
|
|
70
|
+
"sass": "~1.81.0",
|
|
71
71
|
"sass-loader": "~16.0.3",
|
|
72
72
|
"source-map-loader": "~5.0.0",
|
|
73
73
|
"string-width": "<5.0.0",
|
|
@@ -102,5 +102,5 @@
|
|
|
102
102
|
"cli": {
|
|
103
103
|
"webpack": false
|
|
104
104
|
},
|
|
105
|
-
"gitHead": "
|
|
105
|
+
"gitHead": "27d173aad0e016014bed59385886d0fd7ca3fb17"
|
|
106
106
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { fs, vol } from 'memfs';
|
|
2
2
|
import { isWebComponent, log } from '../../../utils';
|
|
3
|
+
import { gitGetBranch } from '../../utils/cli-git';
|
|
3
4
|
import { npmGetPackageVersionDates, npmUnpublish } from '../../utils/cli-npm';
|
|
4
5
|
|
|
5
6
|
import { MFEPackageClean } from '../mfe-package-clean';
|
|
@@ -14,6 +15,9 @@ jest.mock('../../utils/cli-npm', () => ({
|
|
|
14
15
|
npmGetPackageVersionDates: jest.fn(),
|
|
15
16
|
npmUnpublish: jest.fn(),
|
|
16
17
|
}));
|
|
18
|
+
jest.mock('../../utils/cli-git', () => ({
|
|
19
|
+
gitGetBranch: jest.fn(),
|
|
20
|
+
}));
|
|
17
21
|
|
|
18
22
|
const DEFAULT_VERSIONS_TO_KEEP = 5;
|
|
19
23
|
|
|
@@ -23,18 +27,23 @@ describe(`[startup] ${MFEPackageClean.name}`, () => {
|
|
|
23
27
|
let args: ConstructorParameters<typeof MFEPackageClean>[0];
|
|
24
28
|
let versions: Record<string, Date>;
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
`0.0.0-master.${(0xff000000 + index).toString(16)}`,
|
|
30
|
+
function getBranchVersions(branchName: string, length: number) {
|
|
31
|
+
return Object.fromEntries(
|
|
32
|
+
Array.from({ length }).map((_, index) => [
|
|
33
|
+
`0.0.0-${branchName}.${(0xff000000 + index).toString(16)}`,
|
|
31
34
|
dayAgo(index + 1), // tests assume versions are in reverse chronological order
|
|
32
35
|
])
|
|
33
36
|
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
beforeEach(() => {
|
|
40
|
+
args = {};
|
|
41
|
+
versions = getBranchVersions('master', 10);
|
|
34
42
|
|
|
35
43
|
jest.resetAllMocks();
|
|
36
44
|
jest.mocked(isWebComponent).mockReturnValue(true);
|
|
37
45
|
jest.mocked(npmGetPackageVersionDates).mockImplementation(() => Object.entries(versions));
|
|
46
|
+
jest.mocked(gitGetBranch).mockImplementation(() => 'current');
|
|
38
47
|
vol.fromJSON({ 'package.json': JSON.stringify({ name: packageName }) });
|
|
39
48
|
});
|
|
40
49
|
|
|
@@ -74,6 +83,36 @@ describe(`[startup] ${MFEPackageClean.name}`, () => {
|
|
|
74
83
|
itLogsAndUnpublishedOldestPackages({ branch });
|
|
75
84
|
});
|
|
76
85
|
|
|
86
|
+
describe.each(['qa', true])('when selected branch is %s', (branch: string | true) => {
|
|
87
|
+
let branchedVersions: typeof versions = {};
|
|
88
|
+
const branchName = branch === true ? 'current' : branch;
|
|
89
|
+
|
|
90
|
+
beforeEach(() => {
|
|
91
|
+
args.branch = branch;
|
|
92
|
+
|
|
93
|
+
branchedVersions = getBranchVersions(branchName, 7);
|
|
94
|
+
|
|
95
|
+
versions = {
|
|
96
|
+
...versions,
|
|
97
|
+
...branchedVersions,
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
test(`logs and unpublishes oldest packages for ${branchName} branch`, async () => {
|
|
102
|
+
const oldest = Object.entries(branchedVersions).slice(DEFAULT_VERSIONS_TO_KEEP);
|
|
103
|
+
|
|
104
|
+
await subject();
|
|
105
|
+
|
|
106
|
+
expect(log.info).toHaveBeenCalledWith(
|
|
107
|
+
'found versions for unpublish:',
|
|
108
|
+
JSON.stringify({ [branchName]: oldest }, null, 4)
|
|
109
|
+
);
|
|
110
|
+
oldest.forEach(([version]) => {
|
|
111
|
+
expect(npmUnpublish).toHaveBeenCalledWith(registry, packageName, version);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
77
116
|
describe('with master versions generated by nerdbank versioning', () => {
|
|
78
117
|
beforeEach(() => {
|
|
79
118
|
versions = transform(versions, (v: string, index: number) =>
|
|
@@ -94,6 +94,25 @@ describe(`[startup] ${MFEPublish.name}`, () => {
|
|
|
94
94
|
expect.objectContaining({ cmd: 'startup mfe-package-clean' })
|
|
95
95
|
);
|
|
96
96
|
});
|
|
97
|
+
|
|
98
|
+
type ArgumentName = keyof typeof args;
|
|
99
|
+
const testArgs: { name: ArgumentName; value: any; expected?: string }[] = [
|
|
100
|
+
{ name: 'count', value: 10 },
|
|
101
|
+
{ name: 'branch', value: 'foo-123' },
|
|
102
|
+
{ name: 'branch', value: true, expected: '--branch' },
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
describe.each(testArgs)('with "{$name: $value}"', ({ name, value, expected }) => {
|
|
106
|
+
beforeEach(() => (args[name] = value));
|
|
107
|
+
|
|
108
|
+
test(`runs clean with "${expected ?? `--${name} ${value}`}"`, async () => {
|
|
109
|
+
await subject();
|
|
110
|
+
|
|
111
|
+
expect(lernaExec).toHaveBeenCalledWith(
|
|
112
|
+
expect.objectContaining({ '--': [expected ?? `--${name} ${value}`] })
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
97
116
|
});
|
|
98
117
|
|
|
99
118
|
type ArgumentName = keyof typeof args;
|
|
@@ -105,7 +124,6 @@ describe(`[startup] ${MFEPublish.name}`, () => {
|
|
|
105
124
|
{ name: 'dry', value: true, expected: '--dry' },
|
|
106
125
|
{ name: 'force', value: true, expected: '--force' },
|
|
107
126
|
{ name: 'registry', value: 'https://foo' },
|
|
108
|
-
{ name: 'count', value: 42 },
|
|
109
127
|
];
|
|
110
128
|
|
|
111
129
|
describe.each(testArgs)('with "{$name: $value}"', ({ name, value, expected }) => {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { isWebComponent, log, logErrors, readJson } from '../../utils';
|
|
2
|
+
import { gitGetBranch } from '../utils/cli-git';
|
|
2
3
|
import { npmGetPackageVersionDates, npmUnpublish } from '../utils/cli-npm';
|
|
3
|
-
import {
|
|
4
|
+
import { getBranchesConfigs } from '../../utils/get-branch-configs';
|
|
4
5
|
import { Command } from './types';
|
|
5
6
|
|
|
6
7
|
export interface ArgsPackageClean {
|
|
8
|
+
branch?: string | true;
|
|
7
9
|
count?: number;
|
|
8
10
|
}
|
|
9
11
|
|
|
@@ -68,14 +70,23 @@ export class MFEPackageClean implements Command {
|
|
|
68
70
|
branches: string[];
|
|
69
71
|
} {
|
|
70
72
|
let count = this.args.count;
|
|
71
|
-
|
|
72
73
|
if (!count) {
|
|
73
74
|
count = 5;
|
|
74
75
|
}
|
|
75
76
|
|
|
77
|
+
let branches: string[];
|
|
78
|
+
|
|
79
|
+
if (this.args.branch === true) {
|
|
80
|
+
branches = [gitGetBranch()];
|
|
81
|
+
} else if (typeof this.args.branch === 'string') {
|
|
82
|
+
branches = [this.args.branch];
|
|
83
|
+
} else {
|
|
84
|
+
branches = Object.keys(getBranchesConfigs());
|
|
85
|
+
}
|
|
86
|
+
|
|
76
87
|
const registry = 'https://verdaccio.servicetitan.com';
|
|
77
88
|
|
|
78
|
-
return { count, registry, branches
|
|
89
|
+
return { count, registry, branches };
|
|
79
90
|
}
|
|
80
91
|
|
|
81
92
|
private getBranchedVersions(packageName: string, registry: string) {
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
npmPublishDry,
|
|
10
10
|
npmTagVersion,
|
|
11
11
|
} from '../utils/cli-npm';
|
|
12
|
+
import { getBranchesConfigs } from '../../utils/get-branch-configs';
|
|
12
13
|
import { getDefaultBuildVersion } from '../utils/publish';
|
|
13
14
|
import { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';
|
|
14
|
-
import { getBranchConfigs } from './get-branch-configs';
|
|
15
15
|
import { Command } from './types';
|
|
16
16
|
|
|
17
17
|
export interface ArgsPackagePublish {
|
|
@@ -112,7 +112,7 @@ export class MFEPackagePublish implements Command {
|
|
|
112
112
|
} {
|
|
113
113
|
const cli = this.args;
|
|
114
114
|
const branch = cli.branch ?? gitGetBranch();
|
|
115
|
-
const branchConfig =
|
|
115
|
+
const branchConfig = getBranchesConfigs()[branch];
|
|
116
116
|
let buildVersion = cli.build;
|
|
117
117
|
|
|
118
118
|
if (!buildVersion) {
|
|
@@ -130,7 +130,7 @@ export class MFEPackagePublish implements Command {
|
|
|
130
130
|
} else if (cli.tag) {
|
|
131
131
|
tag = cli.tag;
|
|
132
132
|
} else {
|
|
133
|
-
tag = branchConfig?.
|
|
133
|
+
tag = branchConfig?.publishTag ?? '';
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
const registry = cli.registry ?? 'https://verdaccio.servicetitan.com';
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
getPackages,
|
|
3
|
+
isWebComponent,
|
|
4
|
+
logErrors,
|
|
5
|
+
PackageType,
|
|
6
|
+
splitPackagesByType,
|
|
7
|
+
} from '../../utils';
|
|
4
8
|
import { ArgsPackageClean } from './mfe-package-clean';
|
|
5
9
|
import { ArgsPackagePublish } from './mfe-package-publish';
|
|
6
10
|
import { Command } from './types';
|
|
7
11
|
import { lernaExec } from '../utils';
|
|
8
12
|
|
|
9
|
-
interface Args extends ArgsPackagePublish, ArgsPackageClean {
|
|
13
|
+
interface Args extends Omit<ArgsPackagePublish, 'branch'>, ArgsPackageClean {
|
|
10
14
|
clean?: boolean;
|
|
11
15
|
concurrency?: number;
|
|
12
16
|
scope?: string | string[];
|
|
@@ -22,11 +26,7 @@ export class MFEPublish implements Command {
|
|
|
22
26
|
@logErrors
|
|
23
27
|
async execute() {
|
|
24
28
|
let packages = splitPackagesByType(getPackages())[PackageType.Webpack] ?? [];
|
|
25
|
-
packages = packages.filter(p =>
|
|
26
|
-
const packageJson = readJson(path.join(p.location, 'package.json'));
|
|
27
|
-
|
|
28
|
-
return packageJson?.cli?.['web-component'] === true;
|
|
29
|
-
});
|
|
29
|
+
packages = packages.filter(p => isWebComponent(p.location));
|
|
30
30
|
|
|
31
31
|
if (this.args.scope) {
|
|
32
32
|
packages = packages.filter(p =>
|
|
@@ -40,21 +40,21 @@ export class MFEPublish implements Command {
|
|
|
40
40
|
throw new Error('no packages found for publication');
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
const isClean = !!this.args.clean;
|
|
43
44
|
await lernaExec({
|
|
44
|
-
'cmd': `startup mfe-package-${
|
|
45
|
+
'cmd': `startup mfe-package-${isClean ? 'clean' : 'publish'}`,
|
|
45
46
|
'concurrency': this.args.concurrency ?? 1,
|
|
46
47
|
'scope': packages.map(({ name }) => name),
|
|
47
48
|
'stream': true,
|
|
48
|
-
'--': this.getPublishOptions(),
|
|
49
|
+
'--': isClean ? this.getCleanOptions() : this.getPublishOptions(),
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
getPublishOptions() {
|
|
53
|
-
const { build, branch,
|
|
54
|
+
const { build, branch, dry, force, registry, tag } = this.args as ArgsPackagePublish;
|
|
54
55
|
return [
|
|
55
56
|
...[branch && `--branch ${branch}`],
|
|
56
57
|
...[build && `--build ${build}`],
|
|
57
|
-
...[count && `--count ${count}`],
|
|
58
58
|
...[dry && '--dry'],
|
|
59
59
|
...[force && '--force'],
|
|
60
60
|
...[registry && `--registry ${registry}`],
|
|
@@ -62,4 +62,13 @@ export class MFEPublish implements Command {
|
|
|
62
62
|
...[tag === false && `--no-tag`],
|
|
63
63
|
].filter(item => !!item) as string[];
|
|
64
64
|
}
|
|
65
|
+
|
|
66
|
+
getCleanOptions() {
|
|
67
|
+
const { branch, count } = this.args as ArgsPackageClean;
|
|
68
|
+
return [
|
|
69
|
+
...[branch && typeof branch === 'string' && `--branch ${branch}`],
|
|
70
|
+
...[branch && branch === true && '--branch'],
|
|
71
|
+
...[count && `--count ${count}`],
|
|
72
|
+
].filter(item => !!item) as string[];
|
|
73
|
+
}
|
|
65
74
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { fs, vol } from 'memfs';
|
|
2
|
+
|
|
3
|
+
import { getBranchesConfigs } from '../get-branch-configs';
|
|
4
|
+
|
|
5
|
+
jest.mock('fs', () => fs);
|
|
6
|
+
|
|
7
|
+
describe(`[Startup] ${getBranchesConfigs.name}`, () => {
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
vol.reset();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const subject = () => getBranchesConfigs();
|
|
13
|
+
|
|
14
|
+
test('returns default configs', () => {
|
|
15
|
+
expect(subject()).toEqual({
|
|
16
|
+
develop: { publishTag: 'dev' },
|
|
17
|
+
dev: { publishTag: 'dev' },
|
|
18
|
+
next: { publishTag: 'next' },
|
|
19
|
+
master: { publishTag: 'prod' },
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('when "branches" configs', () => {
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
vol.fromJSON({
|
|
26
|
+
'package.json': JSON.stringify({
|
|
27
|
+
cli: { 'web-component': { branches: { qa: { publishTag: 'qs' } } } },
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('returns configs', () => {
|
|
33
|
+
expect(subject()).toEqual({ qa: { publishTag: 'qs' } });
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { fs, vol } from 'memfs';
|
|
2
|
+
import path from 'path';
|
|
2
3
|
|
|
3
4
|
import {
|
|
4
5
|
getConfiguration,
|
|
@@ -6,6 +7,8 @@ import {
|
|
|
6
7
|
getESLintConfiguration,
|
|
7
8
|
getJestConfiguration,
|
|
8
9
|
getStylelintConfiguration,
|
|
10
|
+
getWebComponentBranchConfigs,
|
|
11
|
+
getWebComponentConfiguration,
|
|
9
12
|
isBundle,
|
|
10
13
|
isCustomStyleRules,
|
|
11
14
|
isDevServerDisabled,
|
|
@@ -183,6 +186,67 @@ describe('[startup] Utils', () => {
|
|
|
183
186
|
});
|
|
184
187
|
});
|
|
185
188
|
|
|
189
|
+
describe(`${getWebComponentConfiguration.name}`, () => {
|
|
190
|
+
const subject = () => getWebComponentConfiguration();
|
|
191
|
+
|
|
192
|
+
itReturns(subject, undefined);
|
|
193
|
+
|
|
194
|
+
test('returns undefined', () => {
|
|
195
|
+
expect(subject()).toEqual(undefined);
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
describe('with "cli.web-component true"', () => {
|
|
199
|
+
beforeEach(() => mockPackageJson({ cli: { 'web-component': true } }));
|
|
200
|
+
|
|
201
|
+
test('returns empty object', () => {
|
|
202
|
+
expect(subject()).toEqual({});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
describe('with "cli.web-component.{}"', () => {
|
|
207
|
+
beforeEach(() => {
|
|
208
|
+
mockPackageJson({ cli: { 'web-component': { branches: { foo: 'bar' } } } });
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
test('returns web-component config', () => {
|
|
212
|
+
expect(subject()).toEqual({ branches: { foo: 'bar' } });
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
describe('with "cli.web-component.path"', () => {
|
|
217
|
+
beforeEach(() => {
|
|
218
|
+
vol.fromJSON({
|
|
219
|
+
...packageJsonFS({ cli: { 'web-component': './config.json' } }),
|
|
220
|
+
'config.json': '',
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
jest.doMock(path.resolve('./config.json'), () => ({ branches: { foo: 'bar' } }), {
|
|
224
|
+
virtual: true,
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
test('returns web-component config', () => {
|
|
229
|
+
expect(subject()).toEqual({ branches: { foo: 'bar' } });
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
describe(`${getWebComponentBranchConfigs.name}`, () => {
|
|
235
|
+
const subject = () => getWebComponentBranchConfigs();
|
|
236
|
+
|
|
237
|
+
itReturns(subject, undefined);
|
|
238
|
+
|
|
239
|
+
describe('with "cli.web-component.branches"', () => {
|
|
240
|
+
const content = { cli: { 'web-component': { branches: { foo: 'bar' } } } };
|
|
241
|
+
|
|
242
|
+
beforeEach(() => mockPackageJson(content));
|
|
243
|
+
|
|
244
|
+
test('returns "cli.web-component.branches"', () => {
|
|
245
|
+
expect(subject()).toEqual(content.cli['web-component'].branches);
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
|
|
186
250
|
describe.each([
|
|
187
251
|
{
|
|
188
252
|
fn: isBundle,
|
|
@@ -221,6 +285,7 @@ describe('[startup] Utils', () => {
|
|
|
221
285
|
{ cli: { 'web-component': true } },
|
|
222
286
|
{ cli: { 'web-component': { legacyRoot: true } } },
|
|
223
287
|
{ cli: { 'web-component': { legacyRoot: false } } },
|
|
288
|
+
{ cli: { 'web-component': { branches: { develop: { publishTag: 'qa' } } } } },
|
|
224
289
|
],
|
|
225
290
|
},
|
|
226
291
|
{
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getWebComponentBranchConfigs, WebComponentBranchConfigs } from './index';
|
|
2
|
+
|
|
3
|
+
function getDefaultConfigs(): Record<string, WebComponentBranchConfigs> {
|
|
4
|
+
return {
|
|
5
|
+
develop: { publishTag: 'dev' },
|
|
6
|
+
dev: { publishTag: 'dev' },
|
|
7
|
+
next: { publishTag: 'next' },
|
|
8
|
+
master: { publishTag: 'prod' },
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function getBranchesConfigs(): Record<string, WebComponentBranchConfigs> {
|
|
13
|
+
const packageConfigs = getWebComponentBranchConfigs();
|
|
14
|
+
const defaultConfigs = getDefaultConfigs();
|
|
15
|
+
|
|
16
|
+
return packageConfigs ?? defaultConfigs;
|
|
17
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
1
2
|
import path from 'path';
|
|
2
3
|
|
|
3
4
|
import { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';
|
|
@@ -5,6 +6,7 @@ import { ESLint } from 'eslint';
|
|
|
5
6
|
import { LinterOptions } from 'stylelint';
|
|
6
7
|
import { Config } from '@jest/types';
|
|
7
8
|
import { readJson, readJsonSafe } from './read-json';
|
|
9
|
+
import { log } from './log';
|
|
8
10
|
|
|
9
11
|
export const allowedWebpackDevServerOptions = ['headers', 'port', 'proxy', 'static'] as const;
|
|
10
12
|
|
|
@@ -71,15 +73,24 @@ export enum CommandName {
|
|
|
71
73
|
}
|
|
72
74
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
73
75
|
|
|
76
|
+
export interface WebComponentBranchConfigs {
|
|
77
|
+
publishTag?: string;
|
|
78
|
+
}
|
|
79
|
+
|
|
74
80
|
interface WebComponentOptions {
|
|
75
|
-
legacyRoot
|
|
81
|
+
legacyRoot?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* mapping of git branches to configs.
|
|
84
|
+
* Used to separate configs (ex publish tag) depending on current branch
|
|
85
|
+
*/
|
|
86
|
+
branches?: Record<string, WebComponentBranchConfigs>;
|
|
76
87
|
}
|
|
77
88
|
|
|
78
89
|
type Configuration = {
|
|
79
90
|
'legacy'?: boolean;
|
|
80
91
|
'lint'?: { eslint: ESLintConfiguration; stylelint: StylelintConfiguration };
|
|
81
92
|
'test'?: JestConfiguration;
|
|
82
|
-
'web-component'?: boolean | WebComponentOptions;
|
|
93
|
+
'web-component'?: boolean | string | WebComponentOptions;
|
|
83
94
|
'webpack'?: false | WebpackConfiguration;
|
|
84
95
|
} & {
|
|
85
96
|
[key in CommandName]: NodeConfiguration;
|
|
@@ -120,6 +131,35 @@ export function getWebpackConfiguration(locationOrJson?: LocationOrJson) {
|
|
|
120
131
|
return typeof webpack === 'object' ? webpack : {};
|
|
121
132
|
}
|
|
122
133
|
|
|
134
|
+
export function getWebComponentConfiguration(
|
|
135
|
+
locationOrJson: LocationOrJson = './'
|
|
136
|
+
): WebComponentOptions | undefined {
|
|
137
|
+
const config = getConfigurationSafe(locationOrJson)['web-component'];
|
|
138
|
+
|
|
139
|
+
if (config === true) {
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (typeof config === 'object') {
|
|
144
|
+
return config;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (typeof config === 'string') {
|
|
148
|
+
if (fs.existsSync(config)) {
|
|
149
|
+
return require(path.resolve(config));
|
|
150
|
+
}
|
|
151
|
+
log.warning(`could not find web-component configuration: "${config}"`);
|
|
152
|
+
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export function getWebComponentBranchConfigs(locationOrJson: LocationOrJson = './') {
|
|
158
|
+
const config = getWebComponentConfiguration(locationOrJson);
|
|
159
|
+
|
|
160
|
+
return config?.branches;
|
|
161
|
+
}
|
|
162
|
+
|
|
123
163
|
export function isBundle(locationOrJson?: LocationOrJson) {
|
|
124
164
|
return getConfiguration(locationOrJson).webpack !== false;
|
|
125
165
|
}
|
|
@@ -142,15 +182,13 @@ export function isLegacy(locationOrJson?: LocationOrJson) {
|
|
|
142
182
|
}
|
|
143
183
|
|
|
144
184
|
export function isLegacyRoot() {
|
|
145
|
-
|
|
146
|
-
return typeof config === 'object' && config.legacyRoot === true;
|
|
185
|
+
return getWebComponentConfiguration()?.legacyRoot === true;
|
|
147
186
|
}
|
|
148
187
|
|
|
149
188
|
export function isStyleCheckDisabled() {
|
|
150
189
|
return getWebpackConfiguration()['disable-style-check'] === true;
|
|
151
190
|
}
|
|
152
191
|
|
|
153
|
-
export function isWebComponent() {
|
|
154
|
-
|
|
155
|
-
return config === true || typeof config === 'object';
|
|
192
|
+
export function isWebComponent(locationOrJson: LocationOrJson = './') {
|
|
193
|
+
return !!getWebComponentConfiguration(locationOrJson);
|
|
156
194
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-branch-configs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-branch-configs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAOlE,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getBranchConfigs = void 0;
|
|
4
|
-
const getBranchConfigs = () => {
|
|
5
|
-
return {
|
|
6
|
-
develop: { tag: 'dev' },
|
|
7
|
-
dev: { tag: 'dev' },
|
|
8
|
-
next: { tag: 'next' },
|
|
9
|
-
master: { tag: 'prod' },
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
exports.getBranchConfigs = getBranchConfigs;
|
|
13
|
-
//# sourceMappingURL=get-branch-configs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-branch-configs.js","sourceRoot":"","sources":["../../../src/cli/commands/get-branch-configs.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,GAAqC,EAAE;IACnE,OAAO;QACH,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACvB,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACnB,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;QACrB,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;KAC1B,CAAC;AACN,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
|