@servicetitan/startup 22.0.5 → 22.2.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/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +3 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +19 -0
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/styles-check.d.ts +5 -0
- package/dist/cli/commands/styles-check.d.ts.map +1 -0
- package/dist/cli/commands/styles-check.js +124 -0
- package/dist/cli/commands/styles-check.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +2 -0
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +10 -1
- package/dist/utils/get-configuration.js.map +1 -1
- package/package.json +8 -8
- package/src/cli/commands/index.ts +1 -0
- package/src/cli/commands/lint.ts +19 -0
- package/src/cli/commands/styles-check.ts +141 -0
- package/src/cli/index.ts +4 -0
- package/src/utils/get-configuration.ts +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAE/B,MAAM,WAAW,OAAO;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
@@ -21,4 +21,5 @@ __exportStar(require("./lint"), exports);
|
|
|
21
21
|
__exportStar(require("./prepare-package"), exports);
|
|
22
22
|
__exportStar(require("./start"), exports);
|
|
23
23
|
__exportStar(require("./tests"), exports);
|
|
24
|
+
__exportStar(require("./styles-check"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,mDAAiC;AACjC,yCAAuB;AACvB,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,mDAAiC;AACjC,yCAAuB;AACvB,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB;AACxB,iDAA+B"}
|
|
@@ -2,6 +2,8 @@ import { Command } from '.';
|
|
|
2
2
|
interface Args {
|
|
3
3
|
_: string[];
|
|
4
4
|
fix?: boolean;
|
|
5
|
+
scope?: string | string[];
|
|
6
|
+
ignore?: string | string[];
|
|
5
7
|
}
|
|
6
8
|
export declare class Lint implements Command {
|
|
7
9
|
private args;
|
|
@@ -10,6 +12,7 @@ export declare class Lint implements Command {
|
|
|
10
12
|
execute(): Promise<void>;
|
|
11
13
|
private eslint;
|
|
12
14
|
private stylelint;
|
|
15
|
+
private checkStyles;
|
|
13
16
|
}
|
|
14
17
|
export {};
|
|
15
18
|
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC9B;AAED,qBAAa,IAAK,YAAW,OAAO;IAGpB,OAAO,CAAC,IAAI;IAFxB,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEI,IAAI,EAAE,IAAI;IAIxB,OAAO;YAOC,MAAM;YA6CN,SAAS;YA0CT,WAAW;CAW5B"}
|
|
@@ -37,6 +37,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
37
37
|
const eslint_1 = require("eslint");
|
|
38
38
|
const stylelint_1 = __importDefault(require("stylelint"));
|
|
39
39
|
const utils_1 = require("../../utils");
|
|
40
|
+
const exec = require('@lerna/exec');
|
|
40
41
|
class Lint {
|
|
41
42
|
constructor(args) {
|
|
42
43
|
Object.defineProperty(this, "args", {
|
|
@@ -55,6 +56,7 @@ class Lint {
|
|
|
55
56
|
}
|
|
56
57
|
execute() {
|
|
57
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
yield this.checkStyles();
|
|
58
60
|
yield this.eslint();
|
|
59
61
|
yield this.stylelint();
|
|
60
62
|
});
|
|
@@ -121,6 +123,17 @@ class Lint {
|
|
|
121
123
|
}
|
|
122
124
|
});
|
|
123
125
|
}
|
|
126
|
+
checkStyles() {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
utils_1.log.info('Running the style check...');
|
|
129
|
+
const packages = (0, utils_1.getPackages)({ scope: this.args.scope, ignore: this.args.ignore });
|
|
130
|
+
yield exec({
|
|
131
|
+
cmd: 'startup styles-check',
|
|
132
|
+
scope: packages.map(({ name }) => name),
|
|
133
|
+
stream: true,
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
}
|
|
124
137
|
}
|
|
125
138
|
__decorate([
|
|
126
139
|
utils_1.logErrors,
|
|
@@ -134,6 +147,12 @@ __decorate([
|
|
|
134
147
|
__metadata("design:paramtypes", []),
|
|
135
148
|
__metadata("design:returntype", Promise)
|
|
136
149
|
], Lint.prototype, "stylelint", null);
|
|
150
|
+
__decorate([
|
|
151
|
+
utils_1.logErrors,
|
|
152
|
+
__metadata("design:type", Function),
|
|
153
|
+
__metadata("design:paramtypes", []),
|
|
154
|
+
__metadata("design:returntype", Promise)
|
|
155
|
+
], Lint.prototype, "checkStyles", null);
|
|
137
156
|
exports.Lint = Lint;
|
|
138
157
|
function pathUniJoin(...chunks) {
|
|
139
158
|
return path_1.default.join(...chunks).replace(/\\/g, '/');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,mCAAgC;AAChC,0DAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/styles-check.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyGlC,qBAAa,WAAY,YAAW,OAAO;IAEjC,OAAO;CAsBhB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.StylesCheck = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const process_1 = __importDefault(require("process"));
|
|
19
|
+
const utils_1 = require("../../utils");
|
|
20
|
+
const styleCheckError = [
|
|
21
|
+
'!!!!!!!!!!!!! STYLE CHECK ERROR !!!!!!!!!!!!!',
|
|
22
|
+
'Style check failed with following errors:',
|
|
23
|
+
];
|
|
24
|
+
const designSystem = 'design-system.css';
|
|
25
|
+
var PackageType;
|
|
26
|
+
(function (PackageType) {
|
|
27
|
+
PackageType["App"] = "app";
|
|
28
|
+
PackageType["WebComponent"] = "web_component";
|
|
29
|
+
})(PackageType || (PackageType = {}));
|
|
30
|
+
function readDir(startPath, filter) {
|
|
31
|
+
let out = [];
|
|
32
|
+
if (!fs_1.default.existsSync(startPath)) {
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
const files = fs_1.default.readdirSync(startPath);
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
const filename = path_1.default.join(startPath, file);
|
|
38
|
+
const stat = fs_1.default.lstatSync(filename);
|
|
39
|
+
if (stat.isDirectory()) {
|
|
40
|
+
out = [...out, ...readDir(filename, filter)];
|
|
41
|
+
}
|
|
42
|
+
else if (filter.some(f => filename.endsWith(f))) {
|
|
43
|
+
out.push(filename);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
const findStyleFiles = (basePath, sourceFolder) => {
|
|
49
|
+
const sourcePath = path_1.default.join(basePath, sourceFolder);
|
|
50
|
+
const files = readDir(sourcePath, ['.css', '.less']);
|
|
51
|
+
return files.map(f => ({
|
|
52
|
+
path: f,
|
|
53
|
+
relativePath: f.replace(sourcePath, '').substring(1),
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
const checkStyleFiles = (files, packageType) => {
|
|
57
|
+
const errors = [];
|
|
58
|
+
const patterns = [
|
|
59
|
+
"@import '~@servicetitan/tokens/core/tokens.css';",
|
|
60
|
+
"@import '~@servicetitan/anvil-fonts/dist/css/anvil-fonts.css';",
|
|
61
|
+
"@import '~@servicetitan/design-system/dist/system.min.css';",
|
|
62
|
+
];
|
|
63
|
+
for (const file of files) {
|
|
64
|
+
if ([PackageType.App, PackageType.WebComponent].includes(packageType) &&
|
|
65
|
+
file.relativePath === designSystem) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const content = fs_1.default.readFileSync(file.path);
|
|
69
|
+
for (const pattern of patterns) {
|
|
70
|
+
if (content.includes(pattern)) {
|
|
71
|
+
errors.push(`file ${file.relativePath} contains link to "${pattern}"`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return errors.length ? errors : undefined;
|
|
76
|
+
};
|
|
77
|
+
const checkErrors = (errors) => {
|
|
78
|
+
if (!errors) {
|
|
79
|
+
utils_1.log.info('style check: OK');
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
utils_1.log.error([...styleCheckError, ...errors].join('\n'));
|
|
83
|
+
throw new Error('style check error, please check logs above');
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
function checkStylesLib(_files) {
|
|
87
|
+
/* ToDo: add checks for libraries */
|
|
88
|
+
}
|
|
89
|
+
function checkStylesApp(files) {
|
|
90
|
+
if (!files.some(f => f.relativePath === designSystem)) {
|
|
91
|
+
utils_1.log.warning("application doesn't have design-system.css. Please check https://docs.st.dev/docs/frontend/micro-frontends#host-configuration");
|
|
92
|
+
}
|
|
93
|
+
checkErrors(checkStyleFiles(files, PackageType.App));
|
|
94
|
+
}
|
|
95
|
+
function checkStylesWebComponent(files) {
|
|
96
|
+
checkErrors(checkStyleFiles(files, PackageType.WebComponent));
|
|
97
|
+
}
|
|
98
|
+
class StylesCheck {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
100
|
+
execute() {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
if ((0, utils_1.isLegacy)()) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if ((0, utils_1.isStyleCheckDisabled)()) {
|
|
106
|
+
utils_1.log.info('style check is disabled');
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const projectFolders = (0, utils_1.getFolders)();
|
|
110
|
+
const files = findStyleFiles(process_1.default.cwd(), projectFolders.source);
|
|
111
|
+
if (!(0, utils_1.isBundle)()) {
|
|
112
|
+
checkStylesLib(files);
|
|
113
|
+
}
|
|
114
|
+
else if ((0, utils_1.isWebComponent)()) {
|
|
115
|
+
checkStylesWebComponent(files);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
checkStylesApp(files);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.StylesCheck = StylesCheck;
|
|
124
|
+
//# sourceMappingURL=styles-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles-check.js","sourceRoot":"","sources":["../../../src/cli/commands/styles-check.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AAAA,iCAAwC;AAExC,oCAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AAAA,iCAAwC;AAExC,oCAA+B;AAC/B,yCAUoB;AAMpB,SAAS,UAAU,CAAC,IAAY;IAC5B,QAAQ,IAAI,EAAE;QACV,KAAK,MAAM;YACP,OAAO,eAAI,CAAC;QAEhB,KAAK,iBAAiB;YAClB,OAAO,yBAAc,CAAC;QAE1B,KAAK,OAAO;YACR,OAAO,gBAAK,CAAC;QAEjB,KAAK,OAAO;YACR,OAAO,gBAAK,CAAC;QAEjB,KAAK,gBAAgB;YACjB,OAAO,wBAAa,CAAC;QAEzB,KAAK,MAAM;YACP,OAAO,eAAI,CAAC;QAEhB,KAAK,MAAM;YACP,OAAO,gBAAK,CAAC;QAEjB,KAAK,cAAc;YACf,OAAO,sBAAW,CAAC;QAEvB;YACI,WAAG,CAAC,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,YAAiB,CAAC;AAEnC,gEAAgE;AAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,iCAAM,QAAQ,KAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAG;KAC9E,OAAO,EAAE;KACT,KAAK,CAAC,GAAG,EAAE;IACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@ declare type ElementType<T> = T extends readonly (infer ElementType)[] ? Element
|
|
|
7
7
|
export interface WebpackConfiguration extends Omit<Pick<WebpackDevServerConfiguration, ElementType<typeof allowedWebpackDevServerOptions>>, 'proxy'> {
|
|
8
8
|
'custom-style-rules'?: boolean;
|
|
9
9
|
'expose-shared-dependencies'?: boolean;
|
|
10
|
+
'disable-style-check'?: boolean;
|
|
10
11
|
'proxy'?: WebpackDevServerConfiguration['proxy'] | string;
|
|
11
12
|
}
|
|
12
13
|
export interface ESLintConfiguration extends ESLint.Options {
|
|
@@ -37,5 +38,6 @@ export declare function isLegacy(location?: string): boolean;
|
|
|
37
38
|
export declare function getESLintConfiguration(): ESLintConfiguration;
|
|
38
39
|
export declare function getStylelintConfiguration(): StylelintConfiguration;
|
|
39
40
|
export declare function getJestConfiguration(): JestConfiguration;
|
|
41
|
+
export declare function isStyleCheckDisabled(): boolean;
|
|
40
42
|
export {};
|
|
41
43
|
//# 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":"AAGA,OAAO,EAAE,aAAa,IAAI,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,QAAA,MAAM,8BAA8B,uCAAwC,CAAC;AAE7E,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,KAAK,CAAC;AAErF,MAAM,WAAW,oBACb,SAAQ,IAAI,CACR,IAAI,CAAC,6BAA6B,EAAE,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAC,EACvF,OAAO,CACV;IACD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,OAAO,CAAC,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,OAAO;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;AAE9D,UAAU,aAAa;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE;QACL,MAAM,EAAE,mBAAmB,CAAC;QAC5B,SAAS,EAAE,sBAAsB,CAAC;KACrC,CAAC;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,SAAO,GAAG,aAAa,CAE/D;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,WAEzC;AAED,wBAAgB,kBAAkB,YAQjC;AAED,wBAAgB,0BAA0B,YAQzC;AAUD,wBAAgB,yBAAyB,kFAqBxC;AAED,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,WAEzC;AAED,wBAAgB,sBAAsB,wBAErC;AAED,wBAAgB,yBAAyB,2BAExC;AAED,wBAAgB,oBAAoB,sBAEnC"}
|
|
1
|
+
{"version":3,"file":"get-configuration.d.ts","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,IAAI,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,QAAA,MAAM,8BAA8B,uCAAwC,CAAC;AAE7E,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,KAAK,CAAC;AAErF,MAAM,WAAW,oBACb,SAAQ,IAAI,CACR,IAAI,CAAC,6BAA6B,EAAE,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAC,EACvF,OAAO,CACV;IACD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,OAAO;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;AAE9D,UAAU,aAAa;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE;QACL,MAAM,EAAE,mBAAmB,CAAC;QAC5B,SAAS,EAAE,sBAAsB,CAAC;KACrC,CAAC;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,SAAO,GAAG,aAAa,CAE/D;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,WAEzC;AAED,wBAAgB,kBAAkB,YAQjC;AAED,wBAAgB,0BAA0B,YAQzC;AAUD,wBAAgB,yBAAyB,kFAqBxC;AAED,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,WAEzC;AAED,wBAAgB,sBAAsB,wBAErC;AAED,wBAAgB,yBAAyB,2BAExC;AAED,wBAAgB,oBAAoB,sBAEnC;AAED,wBAAgB,oBAAoB,YAQnC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getJestConfiguration = exports.getStylelintConfiguration = exports.getESLintConfiguration = exports.isLegacy = exports.isWebComponent = exports.getDevServerConfiguration = exports.isExposeSharedDependencies = exports.isCustomStyleRules = exports.isBundle = exports.getConfiguration = void 0;
|
|
6
|
+
exports.isStyleCheckDisabled = exports.getJestConfiguration = exports.getStylelintConfiguration = exports.getESLintConfiguration = exports.isLegacy = exports.isWebComponent = exports.getDevServerConfiguration = exports.isExposeSharedDependencies = exports.isCustomStyleRules = exports.isBundle = exports.getConfiguration = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const _1 = require(".");
|
|
@@ -78,4 +78,13 @@ function getJestConfiguration() {
|
|
|
78
78
|
return (_a = getConfiguration().test) !== null && _a !== void 0 ? _a : {};
|
|
79
79
|
}
|
|
80
80
|
exports.getJestConfiguration = getJestConfiguration;
|
|
81
|
+
function isStyleCheckDisabled() {
|
|
82
|
+
var _a;
|
|
83
|
+
const configuration = getConfiguration();
|
|
84
|
+
if (typeof configuration.webpack !== 'object') {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
return ((_a = configuration.webpack) === null || _a === void 0 ? void 0 : _a['disable-style-check']) === true;
|
|
88
|
+
}
|
|
89
|
+
exports.isStyleCheckDisabled = isStyleCheckDisabled;
|
|
81
90
|
//# sourceMappingURL=get-configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-configuration.js","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAOxB,wBAA6B;AAE7B,MAAM,8BAA8B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;
|
|
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": "22.0
|
|
3
|
+
"version": "22.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"@jest/core": "~27.5.1",
|
|
38
38
|
"@jest/types": "~27.5.1",
|
|
39
39
|
"@lerna/exec": "~5.6.2",
|
|
40
|
-
"@servicetitan/eslint-config": "22.0
|
|
41
|
-
"@servicetitan/stylelint-config": "22.0
|
|
40
|
+
"@servicetitan/eslint-config": "22.2.0",
|
|
41
|
+
"@servicetitan/stylelint-config": "22.2.0",
|
|
42
42
|
"@types/jest": "~27.4.0",
|
|
43
43
|
"chalk": "~4.1.2",
|
|
44
44
|
"chokidar": "~3.5.3",
|
|
45
45
|
"cpx": "~1.5.0",
|
|
46
|
-
"css-loader": "~6.7.
|
|
46
|
+
"css-loader": "~6.7.2",
|
|
47
47
|
"deepmerge": "~4.2.2",
|
|
48
48
|
"esbuild-loader": "~2.20.0",
|
|
49
|
-
"eslint": "~8.
|
|
49
|
+
"eslint": "~8.28.0",
|
|
50
50
|
"execa": "~5.1.1",
|
|
51
51
|
"fork-ts-checker-webpack-plugin": "~7.2.13",
|
|
52
52
|
"glob": "~7.2.0",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"less": "~4.1.3",
|
|
60
60
|
"less-loader": "~10.2.0",
|
|
61
61
|
"less-plugin-npm-import": "~2.1.0",
|
|
62
|
-
"memfs": "~3.4.
|
|
63
|
-
"mini-css-extract-plugin": "~2.
|
|
62
|
+
"memfs": "~3.4.12",
|
|
63
|
+
"mini-css-extract-plugin": "~2.7.1",
|
|
64
64
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
65
65
|
"portfinder": "~1.0.28",
|
|
66
66
|
"prettier": "~2.7.1",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"cli": {
|
|
93
93
|
"webpack": false
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "cbb2dd04f51e14f207ade193ba2a167d6f220f61"
|
|
96
96
|
}
|
package/src/cli/commands/lint.ts
CHANGED
|
@@ -6,16 +6,21 @@ import stylelint from 'stylelint';
|
|
|
6
6
|
import {
|
|
7
7
|
getDestinationFolders,
|
|
8
8
|
getESLintConfiguration,
|
|
9
|
+
getPackages,
|
|
9
10
|
getStylelintConfiguration,
|
|
10
11
|
log,
|
|
11
12
|
logErrors,
|
|
12
13
|
} from '../../utils';
|
|
13
14
|
import { Command } from '.';
|
|
14
15
|
|
|
16
|
+
const exec = require('@lerna/exec');
|
|
17
|
+
|
|
15
18
|
interface Args {
|
|
16
19
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
17
20
|
_: string[];
|
|
18
21
|
fix?: boolean;
|
|
22
|
+
scope?: string | string[];
|
|
23
|
+
ignore?: string | string[];
|
|
19
24
|
}
|
|
20
25
|
|
|
21
26
|
export class Lint implements Command {
|
|
@@ -26,6 +31,7 @@ export class Lint implements Command {
|
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
async execute() {
|
|
34
|
+
await this.checkStyles();
|
|
29
35
|
await this.eslint();
|
|
30
36
|
await this.stylelint();
|
|
31
37
|
}
|
|
@@ -116,6 +122,19 @@ export class Lint implements Command {
|
|
|
116
122
|
process.exitCode = 1;
|
|
117
123
|
}
|
|
118
124
|
}
|
|
125
|
+
|
|
126
|
+
@logErrors
|
|
127
|
+
private async checkStyles() {
|
|
128
|
+
log.info('Running the style check...');
|
|
129
|
+
|
|
130
|
+
const packages = getPackages({ scope: this.args.scope, ignore: this.args.ignore });
|
|
131
|
+
|
|
132
|
+
await exec({
|
|
133
|
+
cmd: 'startup styles-check',
|
|
134
|
+
scope: packages.map(({ name }) => name),
|
|
135
|
+
stream: true,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
119
138
|
}
|
|
120
139
|
|
|
121
140
|
function pathUniJoin(...chunks: string[]) {
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import process from 'process';
|
|
4
|
+
import {
|
|
5
|
+
getFolders,
|
|
6
|
+
isBundle,
|
|
7
|
+
isLegacy,
|
|
8
|
+
isStyleCheckDisabled,
|
|
9
|
+
isWebComponent,
|
|
10
|
+
log,
|
|
11
|
+
} from '../../utils';
|
|
12
|
+
import { Command } from './index';
|
|
13
|
+
|
|
14
|
+
interface FileInfo {
|
|
15
|
+
path: string;
|
|
16
|
+
relativePath: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const styleCheckError = [
|
|
20
|
+
'!!!!!!!!!!!!! STYLE CHECK ERROR !!!!!!!!!!!!!',
|
|
21
|
+
'Style check failed with following errors:',
|
|
22
|
+
];
|
|
23
|
+
const designSystem = 'design-system.css';
|
|
24
|
+
|
|
25
|
+
enum PackageType {
|
|
26
|
+
App = 'app',
|
|
27
|
+
WebComponent = 'web_component',
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function readDir(startPath: string, filter: string[]): string[] {
|
|
31
|
+
let out: string[] = [];
|
|
32
|
+
|
|
33
|
+
if (!fs.existsSync(startPath)) {
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const files = fs.readdirSync(startPath);
|
|
38
|
+
for (const file of files) {
|
|
39
|
+
const filename = path.join(startPath, file);
|
|
40
|
+
const stat = fs.lstatSync(filename);
|
|
41
|
+
|
|
42
|
+
if (stat.isDirectory()) {
|
|
43
|
+
out = [...out, ...readDir(filename, filter)];
|
|
44
|
+
} else if (filter.some(f => filename.endsWith(f))) {
|
|
45
|
+
out.push(filename);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const findStyleFiles = (basePath: string, sourceFolder: string): FileInfo[] => {
|
|
53
|
+
const sourcePath = path.join(basePath, sourceFolder);
|
|
54
|
+
const files = readDir(sourcePath, ['.css', '.less']);
|
|
55
|
+
|
|
56
|
+
return files.map(f => ({
|
|
57
|
+
path: f,
|
|
58
|
+
relativePath: f.replace(sourcePath, '').substring(1),
|
|
59
|
+
}));
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const checkStyleFiles = (files: FileInfo[], packageType: PackageType): string[] | undefined => {
|
|
63
|
+
const errors = [];
|
|
64
|
+
const patterns = [
|
|
65
|
+
"@import '~@servicetitan/tokens/core/tokens.css';",
|
|
66
|
+
"@import '~@servicetitan/anvil-fonts/dist/css/anvil-fonts.css';",
|
|
67
|
+
"@import '~@servicetitan/design-system/dist/system.min.css';",
|
|
68
|
+
];
|
|
69
|
+
|
|
70
|
+
for (const file of files) {
|
|
71
|
+
if (
|
|
72
|
+
[PackageType.App, PackageType.WebComponent].includes(packageType) &&
|
|
73
|
+
file.relativePath === designSystem
|
|
74
|
+
) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const content = fs.readFileSync(file.path);
|
|
79
|
+
|
|
80
|
+
for (const pattern of patterns) {
|
|
81
|
+
if (content.includes(pattern)) {
|
|
82
|
+
errors.push(`file ${file.relativePath} contains link to "${pattern}"`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return errors.length ? errors : undefined;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
const checkErrors = (errors: string[] | undefined) => {
|
|
91
|
+
if (!errors) {
|
|
92
|
+
log.info('style check: OK');
|
|
93
|
+
} else {
|
|
94
|
+
log.error([...styleCheckError, ...errors].join('\n'));
|
|
95
|
+
throw new Error('style check error, please check logs above');
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
function checkStylesLib(_files: FileInfo[]) {
|
|
100
|
+
/* ToDo: add checks for libraries */
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function checkStylesApp(files: FileInfo[]) {
|
|
104
|
+
if (!files.some(f => f.relativePath === designSystem)) {
|
|
105
|
+
log.warning(
|
|
106
|
+
"application doesn't have design-system.css. Please check https://docs.st.dev/docs/frontend/micro-frontends#host-configuration"
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
checkErrors(checkStyleFiles(files, PackageType.App));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function checkStylesWebComponent(files: FileInfo[]) {
|
|
114
|
+
checkErrors(checkStyleFiles(files, PackageType.WebComponent));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export class StylesCheck implements Command {
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
119
|
+
async execute() {
|
|
120
|
+
if (isLegacy()) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (isStyleCheckDisabled()) {
|
|
125
|
+
log.info('style check is disabled');
|
|
126
|
+
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const projectFolders = getFolders();
|
|
131
|
+
const files = findStyleFiles(process.cwd(), projectFolders.source);
|
|
132
|
+
|
|
133
|
+
if (!isBundle()) {
|
|
134
|
+
checkStylesLib(files);
|
|
135
|
+
} else if (isWebComponent()) {
|
|
136
|
+
checkStylesWebComponent(files);
|
|
137
|
+
} else {
|
|
138
|
+
checkStylesApp(files);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
package/src/cli/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
BundlePackage,
|
|
11
11
|
Lint,
|
|
12
12
|
Tests,
|
|
13
|
+
StylesCheck,
|
|
13
14
|
} from './commands';
|
|
14
15
|
|
|
15
16
|
interface Newable<T> {
|
|
@@ -39,6 +40,9 @@ function getCommand(name: string): Newable<Command> {
|
|
|
39
40
|
case 'test':
|
|
40
41
|
return Tests;
|
|
41
42
|
|
|
43
|
+
case 'styles-check':
|
|
44
|
+
return StylesCheck;
|
|
45
|
+
|
|
42
46
|
default:
|
|
43
47
|
log.error(`${name}: command not found!`);
|
|
44
48
|
process.exit(127);
|
|
@@ -19,6 +19,7 @@ export interface WebpackConfiguration
|
|
|
19
19
|
> {
|
|
20
20
|
'custom-style-rules'?: boolean;
|
|
21
21
|
'expose-shared-dependencies'?: boolean;
|
|
22
|
+
'disable-style-check'?: boolean;
|
|
22
23
|
'proxy'?: WebpackDevServerConfiguration['proxy'] | string;
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -122,3 +123,13 @@ export function getStylelintConfiguration() {
|
|
|
122
123
|
export function getJestConfiguration() {
|
|
123
124
|
return getConfiguration().test ?? {};
|
|
124
125
|
}
|
|
126
|
+
|
|
127
|
+
export function isStyleCheckDisabled() {
|
|
128
|
+
const configuration = getConfiguration();
|
|
129
|
+
|
|
130
|
+
if (typeof configuration.webpack !== 'object') {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return configuration.webpack?.['disable-style-check'] === true;
|
|
135
|
+
}
|