@servicetitan/startup 22.8.1 → 22.9.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.map +1 -1
- package/dist/cli/commands/build.js +2 -0
- package/dist/cli/commands/build.js.map +1 -1
- 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/kendo-ui-license.d.ts +7 -0
- package/dist/cli/commands/kendo-ui-license.d.ts.map +1 -0
- package/dist/cli/commands/kendo-ui-license.js +93 -0
- package/dist/cli/commands/kendo-ui-license.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.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-module-installed.d.ts +2 -0
- package/dist/cli/utils/is-module-installed.d.ts.map +1 -0
- package/dist/cli/utils/is-module-installed.js +14 -0
- package/dist/cli/utils/is-module-installed.js.map +1 -0
- package/dist/utils/get-jest-config.js +1 -1
- package/dist/utils/get-jest-config.js.map +1 -1
- package/package.json +14 -12
- package/src/cli/commands/__tests__/kendo-ui-license.test.ts +83 -0
- package/src/cli/commands/build.ts +2 -1
- package/src/cli/commands/index.ts +1 -0
- package/src/cli/commands/kendo-ui-license.ts +65 -0
- package/src/cli/index.ts +4 -0
- package/src/cli/utils/index.ts +1 -0
- package/src/cli/utils/is-module-installed.ts +8 -0
- package/src/utils/get-jest-config.ts +1 -1
- package/template/.gitignore +14 -0
- package/template/.npmrc +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAkB,MAAM,GAAG,CAAC;AAE5C,UAAU,IAAI;IACV,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,KAAM,YAAW,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAsChB"}
|
|
@@ -22,6 +22,7 @@ exports.Build = void 0;
|
|
|
22
22
|
const exec = require('@lerna/exec');
|
|
23
23
|
const utils_1 = require("../../utils");
|
|
24
24
|
const utils_2 = require("../utils");
|
|
25
|
+
const _1 = require(".");
|
|
25
26
|
class Build {
|
|
26
27
|
constructor(args) {
|
|
27
28
|
Object.defineProperty(this, "args", {
|
|
@@ -52,6 +53,7 @@ class Build {
|
|
|
52
53
|
yield (0, utils_2.tsc)(packages[utils_1.PackageType.TSC]);
|
|
53
54
|
}
|
|
54
55
|
if (packages[utils_1.PackageType.Webpack].length) {
|
|
56
|
+
yield (0, _1.kendoUILicense)();
|
|
55
57
|
yield exec({
|
|
56
58
|
'cmd': 'startup bundle-package',
|
|
57
59
|
'scope': packages[utils_1.PackageType.Webpack].map(({ name }) => name),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpC,uCAAuF;AACvF,oCAA+B;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpC,uCAAuF;AACvF,oCAA+B;AAC/B,wBAA4C;AAU5C,MAAa,KAAK;IACd,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAChC,IAAA,mBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACpE,CAAC;YACF,MAAM,uBAAuB,GAAG;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC;aACnC,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACvD;YAED,IAAI,uBAAuB,CAAC,MAAM,EAAE;gBAChC,MAAM,IAAI,CAAC;oBACP,GAAG,EAAE,yBAAyB;oBAC9B,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBACtD,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;aACN;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAClC,MAAM,IAAA,WAAG,EAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;gBACtC,MAAM,IAAA,iBAAc,GAAE,CAAC;gBACvB,MAAM,IAAI,CAAC;oBACP,KAAK,EAAE,wBAAwB;oBAC/B,OAAO,EAAE,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBAC9D,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE;wBACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;wBAChD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC7C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ;AAtCG;IADC,iBAAS;;;;oCAsCT;AAzCL,sBA0CC"}
|
|
@@ -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;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,MAAM,WAAW,OAAO;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
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,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,MAAM,WAAW,OAAO;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./build"), exports);
|
|
18
18
|
__exportStar(require("./bundle-package"), exports);
|
|
19
19
|
__exportStar(require("./init"), exports);
|
|
20
|
+
__exportStar(require("./kendo-ui-license"), exports);
|
|
20
21
|
__exportStar(require("./lint"), exports);
|
|
21
22
|
__exportStar(require("./prepare-package"), exports);
|
|
22
23
|
__exportStar(require("./start"), exports);
|
|
@@ -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;AACxB,iDAA+B;AAC/B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,mDAAiC;AACjC,yCAAuB;AACvB,qDAAmC;AACnC,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB;AACxB,iDAA+B;AAC/B,gDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kendo-ui-license.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/kendo-ui-license.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AA0B5B,qBAAa,cAAe,YAAW,OAAO;IACpC,OAAO;YASC,eAAe;CAoBhC;AAED,wBAAsB,cAAc,kBAEnC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.kendoUILicense = exports.KendoUILicense = void 0;
|
|
25
|
+
const execa_1 = __importDefault(require("execa"));
|
|
26
|
+
const utils_1 = require("../../utils");
|
|
27
|
+
const utils_2 = require("../utils");
|
|
28
|
+
const ENCODED_LICENSE = `
|
|
29
|
+
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3N
|
|
30
|
+
pZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNX
|
|
31
|
+
paVVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOalV3TWpnM056SXdmU3g3SW5SeWFXRnNJanBtWVd4e
|
|
32
|
+
lpTd2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYw
|
|
33
|
+
YVc5dVJHRjBaU0k2TVRZMU1ESTROemN5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWl
|
|
34
|
+
PaUpMUlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TmpVd0
|
|
35
|
+
1qZzNOekl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWV
|
|
36
|
+
EVGU0lpd2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE5qVXdNamczTnpJd2ZWMHNJ
|
|
37
|
+
bWx1ZEdWbmNtbDBlU0k2SW5wSGJHRlRRWGRUU1c1b1VqaHlRVEU1YVRSMFpYUjVhMmx4WnowaUx
|
|
38
|
+
DSnNhV05sYm5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG
|
|
39
|
+
1OdmJTSXNJbWxoZENJNk1UWXlOelk0TWpnMU5Dd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjM
|
|
40
|
+
lZ5ZG1salpYUnBkR0Z1TG1OdmJTSjkuazI3dzJlNFV5cnA0a0xJVFVjSmk1Ql9waGlxU1NJWEU4
|
|
41
|
+
SktSdkh0bk1fUktqVnh5b3RwZUFUaW1wR1M2dUIwdEdDRU1xbmxkQUZTSkJreklINExFSzFfa0d
|
|
42
|
+
uS0VKZ0JDcEJSQWl2VU9sQWJ2bTFfVGlmVXhyNkd1SmpJS1BNeGh3Um5rRG1CNW1lNlRoQzJxR0
|
|
43
|
+
9YWUxmX1ZuTDVlT3NOVEVneEx1cnVkaC1EZHZyTDJ5Vk9nMnRNQjg2aFotTXZ2Yk9JdWFrNGEtW
|
|
44
|
+
GdkVmRFM2pDdHNsNlRVb0p2eWJSRnlha0h2WUJOWTlHa2l2N190MDZUbmZEYWN6elRsTjdyWEQt
|
|
45
|
+
YlZNYmJ6Rm1XT2R3MGUtbUNxV2w2VS1XUlZGcXB1UHhQaDFodkFrOFBsWFFpVTZwbEZhMDhMaWh
|
|
46
|
+
pZXpOVkEwOE9JSXVxSjRZOEZnbDB5bnBFNDZn
|
|
47
|
+
`.replace(/\s/g, '');
|
|
48
|
+
const ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';
|
|
49
|
+
const LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');
|
|
50
|
+
const LICENSING_PACKAGE = '@progress/kendo-licensing';
|
|
51
|
+
class KendoUILicense {
|
|
52
|
+
execute() {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
if (!(0, utils_2.isModuleInstalled)(LICENSING_PACKAGE)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
yield this.activateLicense();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
activateLicense() {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const env = !process.env[ENVIRONMENT_VARIABLE]
|
|
63
|
+
? { [ENVIRONMENT_VARIABLE]: LICENSE }
|
|
64
|
+
: undefined;
|
|
65
|
+
utils_1.log.info(env
|
|
66
|
+
? 'Activating Kendo UI with embedded license...'
|
|
67
|
+
: `Activating Kendo UI with license from environment...`);
|
|
68
|
+
try {
|
|
69
|
+
yield (0, execa_1.default)('npx', ['kendo-ui-license', 'activate', '--no-install'], {
|
|
70
|
+
env,
|
|
71
|
+
stdio: 'inherit',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw new Error(`command failed with exit code ${error.exitCode}`);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
__decorate([
|
|
81
|
+
utils_1.logErrors,
|
|
82
|
+
__metadata("design:type", Function),
|
|
83
|
+
__metadata("design:paramtypes", []),
|
|
84
|
+
__metadata("design:returntype", Promise)
|
|
85
|
+
], KendoUILicense.prototype, "activateLicense", null);
|
|
86
|
+
exports.KendoUILicense = KendoUILicense;
|
|
87
|
+
function kendoUILicense() {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return new KendoUILicense().execute();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
exports.kendoUILicense = kendoUILicense;
|
|
93
|
+
//# sourceMappingURL=kendo-ui-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kendo-ui-license.js","sourceRoot":"","sources":["../../../src/cli/commands/kendo-ui-license.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,uCAA6C;AAC7C,oCAA6C;AAG7C,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;CAmBvB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrB,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzE,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAEtD,MAAa,cAAc;IACjB,OAAO;;YACT,IAAI,CAAC,IAAA,yBAAiB,EAAC,iBAAiB,CAAC,EAAE;gBACvC,OAAO;aACV;YAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;KAAA;IAGa,eAAe;;YACzB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBAC1C,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE;gBACrC,CAAC,CAAC,SAAS,CAAC;YAEhB,WAAG,CAAC,IAAI,CACJ,GAAG;gBACC,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,sDAAsD,CAC/D,CAAC;YAEF,IAAI;gBACA,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE;oBACjE,GAAG;oBACH,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aACtE;QACL,CAAC;KAAA;CACJ;AApBG;IADC,iBAAS;;;;qDAoBT;AA7BL,wCA8BC;AAED,SAAsB,cAAc;;QAChC,OAAO,IAAI,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;CAAA;AAFD,wCAEC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -27,6 +27,8 @@ function getCommand(name) {
|
|
|
27
27
|
return commands_1.MFEPackagePublish;
|
|
28
28
|
case 'mfe-package-clean':
|
|
29
29
|
return commands_1.MFEPackageClean;
|
|
30
|
+
case 'kendo-ui-license':
|
|
31
|
+
return commands_1.KendoUILicense;
|
|
30
32
|
default:
|
|
31
33
|
utils_1.log.error(`${name}: command not found!`);
|
|
32
34
|
process.exit(127);
|
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,yCAcoB;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,KAAK,aAAa;YACd,OAAO,qBAAU,CAAC;QAEtB,KAAK,qBAAqB;YACtB,OAAO,4BAAiB,CAAC;QAE7B,KAAK,mBAAmB;YACpB,OAAO,0BAAe,CAAC;QAE3B,KAAK,kBAAkB;YACnB,OAAO,yBAAc,CAAC;QAE1B;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAqE,CAAC;AAClG,eAAO,MAAM,eAAe,UAA0B,CAAC;AAEvD,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAqE,CAAC;AAClG,eAAO,MAAM,eAAe,UAA0B,CAAC;AAEvD,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
|
package/dist/cli/utils/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __exportStar(require("./bundle"), exports);
|
|
|
22
22
|
__exportStar(require("./compile-less"), exports);
|
|
23
23
|
__exportStar(require("./compile-sass"), exports);
|
|
24
24
|
__exportStar(require("./get-module-type"), exports);
|
|
25
|
+
__exportStar(require("./is-module-installed"), exports);
|
|
25
26
|
__exportStar(require("./styles-copy"), exports);
|
|
26
27
|
__exportStar(require("./tcm"), exports);
|
|
27
28
|
__exportStar(require("./tsc"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAa,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrF,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,iDAA+B;AAC/B,oDAAkC;AAClC,gDAA8B;AAC9B,wCAAsB;AACtB,wCAAsB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAa,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrF,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,iDAA+B;AAC/B,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,wCAAsB;AACtB,wCAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-module-installed.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/is-module-installed.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isModuleInstalled = void 0;
|
|
4
|
+
function isModuleInstalled(name) {
|
|
5
|
+
try {
|
|
6
|
+
require.resolve(name);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
catch (e) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.isModuleInstalled = isModuleInstalled;
|
|
14
|
+
//# sourceMappingURL=is-module-installed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-module-installed.js","sourceRoot":"","sources":["../../../src/cli/utils/is-module-installed.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,IAAY;IAC1C,IAAI;QACA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAPD,8CAOC"}
|
|
@@ -49,7 +49,7 @@ const getJestConfigBase = (stringify, testPathIgnorePatterns = [], setupFiles =
|
|
|
49
49
|
],
|
|
50
50
|
setupFiles: [path_1.default.join(__dirname, '../../jest/setup.js'), ...(0, _1.toArray)(setupFiles)],
|
|
51
51
|
coveragePathIgnorePatterns: ['^.+\\.d\\.ts$', ...coveragePathIgnorePatterns],
|
|
52
|
-
coverageReporters: ['html-spa', 'text', 'json'],
|
|
52
|
+
coverageReporters: ['html-spa', 'text', 'json', 'cobertura'],
|
|
53
53
|
collectCoverageFrom: ['**/*.{ts,tsx}'],
|
|
54
54
|
};
|
|
55
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-jest-config.js","sourceRoot":"","sources":["../../src/utils/get-jest-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wBAA4F;AAE5F,MAAM,iBAAiB,GAAG,CACtB,SAAkB,EAClB,yBAAmC,EAAE,EACrC,aAAuB,EAAE,EACzB,6BAAuC,EAAE,EACf,EAAE;IAC5B,MAAM,SAAS,GAAG;QACd,aAAa,EAAE;YACX,YAAY;YACZ,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;SACzE;QACD,aAAa,EAAE,SAAS;KAC3B,CAAC;IACF,MAAM,gBAAgB,GAAG;QACrB,iEAAiE,EAAE,oBAAoB;KAC1F,CAAC;IACF,MAAM,OAAO,GAAG;QACZ,SAAS,EAAE;YACP,QAAQ,EAAE,sBAAsB;SACnC;KACJ,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,OAAO;QACxB,UAAU,EAAE,oBAAoB;QAChC,uBAAuB,EAAE,CAAC,iCAAiC,CAAC;QAC5D,wBAAwB,EAAE,CAAC,wBAAwB,CAAC;QACpD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACjF,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;QACtD,sBAAsB,EAAE;YACpB,SAAS;YACT,GAAG,IAAA,wBAAqB,GAAE;YAC1B,GAAG,IAAA,UAAO,EAAC,sBAAsB,CAAC;SACrC;QACD,UAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,GAAG,IAAA,UAAO,EAAC,UAAU,CAAC,CAAC;QACjF,0BAA0B,EAAE,CAAC,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC5E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"get-jest-config.js","sourceRoot":"","sources":["../../src/utils/get-jest-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wBAA4F;AAE5F,MAAM,iBAAiB,GAAG,CACtB,SAAkB,EAClB,yBAAmC,EAAE,EACrC,aAAuB,EAAE,EACzB,6BAAuC,EAAE,EACf,EAAE;IAC5B,MAAM,SAAS,GAAG;QACd,aAAa,EAAE;YACX,YAAY;YACZ,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;SACzE;QACD,aAAa,EAAE,SAAS;KAC3B,CAAC;IACF,MAAM,gBAAgB,GAAG;QACrB,iEAAiE,EAAE,oBAAoB;KAC1F,CAAC;IACF,MAAM,OAAO,GAAG;QACZ,SAAS,EAAE;YACP,QAAQ,EAAE,sBAAsB;SACnC;KACJ,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,OAAO;QACxB,UAAU,EAAE,oBAAoB;QAChC,uBAAuB,EAAE,CAAC,iCAAiC,CAAC;QAC5D,wBAAwB,EAAE,CAAC,wBAAwB,CAAC;QACpD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACjF,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;QACtD,sBAAsB,EAAE;YACpB,SAAS;YACT,GAAG,IAAA,wBAAqB,GAAE;YAC1B,GAAG,IAAA,UAAO,EAAC,sBAAsB,CAAC;SACrC;QACD,UAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,GAAG,IAAA,UAAO,EAAC,UAAU,CAAC,CAAC;QACjF,0BAA0B,EAAE,CAAC,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC5E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;QAC5D,mBAAmB,EAAE,CAAC,eAAe,CAAC;KACzC,CAAC;AACN,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,aAAa,GAAG,GAAsB,EAAE;IACjD,MAAM,uBAKG,IAAA,uBAAoB,GAAE,CAAE,EAL3B,EACF,sBAAsB,GAAG,EAAE,EAC3B,UAAU,GAAG,EAAE,EACf,0BAA0B,GAAG,EAAE,OAEF,EAD1B,MAAM,cAJP,sEAKL,CAAgC,CAAC;IAClC,uCACO,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,0BAA0B,CAAC,GACxF,MAAM,EACX;AACN,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEF;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,IAAiB,EAAe,EAAE;IAC/D,MAAM,qCAMC,IAAA,uBAAoB,GAAE,GACtB,IAAI,CACV,EARK,EACF,sBAAsB,GAAG,EAAE,EAC3B,UAAU,GAAG,EAAE,EACf,0BAA0B,GAAG,EAAE,OAKlC,EAJM,MAAM,cAJP,sEAKL,CAGA,CAAC;IACF,uCACO,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,0BAA0B,CAAC,GACvF,MAAM,EACX;AACN,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.9.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -16,13 +16,15 @@
|
|
|
16
16
|
"jest",
|
|
17
17
|
"src",
|
|
18
18
|
"template",
|
|
19
|
+
"template/.gitignore",
|
|
20
|
+
"template/.npmrc",
|
|
19
21
|
"tsconfig",
|
|
20
22
|
"tsconfig.json"
|
|
21
23
|
],
|
|
22
24
|
"bin": "./bin/index.js",
|
|
23
25
|
"devDependencies": {
|
|
24
26
|
"@types/cpx": "~1.5.2",
|
|
25
|
-
"@types/eslint": "~8.
|
|
27
|
+
"@types/eslint": "~8.44.2",
|
|
26
28
|
"@types/less": "~3.0.3",
|
|
27
29
|
"@types/mini-css-extract-plugin": "~2.4.0",
|
|
28
30
|
"@types/moment-locales-webpack-plugin": "~1.2.2",
|
|
@@ -32,12 +34,12 @@
|
|
|
32
34
|
"@types/yargs": "~17.0.24"
|
|
33
35
|
},
|
|
34
36
|
"dependencies": {
|
|
35
|
-
"@babel/preset-env": "~7.22.
|
|
37
|
+
"@babel/preset-env": "~7.22.10",
|
|
36
38
|
"@jest/core": "~27.5.1",
|
|
37
39
|
"@jest/types": "~27.5.1",
|
|
38
40
|
"@lerna/exec": "~5.6.2",
|
|
39
|
-
"@servicetitan/eslint-config": "22.
|
|
40
|
-
"@servicetitan/stylelint-config": "22.
|
|
41
|
+
"@servicetitan/eslint-config": "22.9.0",
|
|
42
|
+
"@servicetitan/stylelint-config": "22.9.0",
|
|
41
43
|
"@types/jest": "~27.4.0",
|
|
42
44
|
"chalk": "~4.1.2",
|
|
43
45
|
"chokidar": "~3.5.3",
|
|
@@ -45,7 +47,7 @@
|
|
|
45
47
|
"css-loader": "~6.8.1",
|
|
46
48
|
"deepmerge": "~4.3.1",
|
|
47
49
|
"esbuild-loader": "~2.21.0",
|
|
48
|
-
"eslint": "~8.
|
|
50
|
+
"eslint": "~8.47.0",
|
|
49
51
|
"execa": "~5.1.1",
|
|
50
52
|
"fork-ts-checker-webpack-plugin": "~7.3.0",
|
|
51
53
|
"glob": "~7.2.0",
|
|
@@ -55,21 +57,21 @@
|
|
|
55
57
|
"jest-circus": "~27.5.1",
|
|
56
58
|
"jest-fetch-mock": "~3.0.3",
|
|
57
59
|
"lerna": "~5.6.2",
|
|
58
|
-
"less": "~4.
|
|
60
|
+
"less": "~4.2.0",
|
|
59
61
|
"less-loader": "~10.2.0",
|
|
60
62
|
"less-plugin-npm-import": "~2.1.0",
|
|
61
63
|
"memfs": "~3.4.13",
|
|
62
|
-
"mini-css-extract-plugin": "~2.7.
|
|
64
|
+
"mini-css-extract-plugin": "~2.7.6",
|
|
63
65
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
64
|
-
"portfinder": "~1.0.
|
|
66
|
+
"portfinder": "~1.0.32",
|
|
65
67
|
"prettier": "~2.7.1",
|
|
66
|
-
"sass": "~1.
|
|
68
|
+
"sass": "~1.65.1",
|
|
67
69
|
"sass-loader": "~12.6.0",
|
|
68
70
|
"source-map-loader": "~3.0.1",
|
|
69
71
|
"style-loader": "~3.3.3",
|
|
70
72
|
"stylelint": "~14.16.1",
|
|
71
73
|
"ts-jest": "~27.1.4",
|
|
72
|
-
"ts-loader": "~9.
|
|
74
|
+
"ts-loader": "~9.4.4",
|
|
73
75
|
"ts-node": "~10.9.1",
|
|
74
76
|
"typed-css-modules": "~0.7.2",
|
|
75
77
|
"typescript": "~4.7.4",
|
|
@@ -91,5 +93,5 @@
|
|
|
91
93
|
"cli": {
|
|
92
94
|
"webpack": false
|
|
93
95
|
},
|
|
94
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "dd3998da00a372c76f087e6f4472951555f29b3b"
|
|
95
97
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import execa from 'execa';
|
|
2
|
+
|
|
3
|
+
import { log } from '../../../utils/log';
|
|
4
|
+
import { isModuleInstalled } from '../../utils';
|
|
5
|
+
import { kendoUILicense } from '../kendo-ui-license';
|
|
6
|
+
|
|
7
|
+
jest.mock('execa', () => jest.fn());
|
|
8
|
+
|
|
9
|
+
jest.mock('../../../utils/log', () => ({
|
|
10
|
+
log: {
|
|
11
|
+
info: jest.fn(),
|
|
12
|
+
},
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
jest.mock('../../utils/is-module-installed', () => ({
|
|
16
|
+
isModuleInstalled: jest.fn(),
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
describe(`${kendoUILicense.name}`, () => {
|
|
20
|
+
beforeEach(() => jest.resetAllMocks());
|
|
21
|
+
|
|
22
|
+
beforeEach(() => {
|
|
23
|
+
(isModuleInstalled as jest.Mock).mockReturnValue(true);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const subject = async () => kendoUILicense();
|
|
27
|
+
|
|
28
|
+
test('activates license', async () => {
|
|
29
|
+
await subject();
|
|
30
|
+
|
|
31
|
+
expect(log.info).toHaveBeenCalledWith('Activating Kendo UI with embedded license...');
|
|
32
|
+
expect(execa).toHaveBeenCalledWith(
|
|
33
|
+
'npx',
|
|
34
|
+
['kendo-ui-license', 'activate', '--no-install'],
|
|
35
|
+
expect.objectContaining({
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
37
|
+
env: { KENDO_UI_LICENSE: expect.anything() },
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
describe('when KENDO_UI_LICENSE is already defined', () => {
|
|
43
|
+
beforeEach(() => {
|
|
44
|
+
process.env.KENDO_UI_LICENSE = 'foo';
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test('uses license from environment', async () => {
|
|
48
|
+
await subject();
|
|
49
|
+
|
|
50
|
+
expect(log.info).toHaveBeenCalledWith(
|
|
51
|
+
'Activating Kendo UI with license from environment...'
|
|
52
|
+
);
|
|
53
|
+
expect(execa).toHaveBeenCalledWith(
|
|
54
|
+
'npx',
|
|
55
|
+
['kendo-ui-license', 'activate', '--no-install'],
|
|
56
|
+
expect.objectContaining({ env: undefined })
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
describe('when Kendo licensing package is not installed', () => {
|
|
62
|
+
beforeEach(() => (isModuleInstalled as jest.Mock).mockReturnValue(false));
|
|
63
|
+
|
|
64
|
+
test('does nothing', async () => {
|
|
65
|
+
await subject();
|
|
66
|
+
|
|
67
|
+
expect(isModuleInstalled).toHaveBeenCalledWith('@progress/kendo-licensing');
|
|
68
|
+
expect(execa).not.toHaveBeenCalled();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
describe('when activate fails', () => {
|
|
73
|
+
const exitCode = 2;
|
|
74
|
+
|
|
75
|
+
beforeEach(() => (execa as any).mockRejectedValue({ exitCode }));
|
|
76
|
+
|
|
77
|
+
test('throws error', async () => {
|
|
78
|
+
await expect(subject()).rejects.toThrowError(
|
|
79
|
+
`command failed with exit code ${exitCode}`
|
|
80
|
+
);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -2,7 +2,7 @@ const exec = require('@lerna/exec');
|
|
|
2
2
|
|
|
3
3
|
import { getPackages, logErrors, PackageType, splitPackagesByType } from '../../utils';
|
|
4
4
|
import { tsc } from '../utils';
|
|
5
|
-
import { Command } from '.';
|
|
5
|
+
import { Command, kendoUILicense } from '.';
|
|
6
6
|
|
|
7
7
|
interface Args {
|
|
8
8
|
'scope'?: string | string[];
|
|
@@ -42,6 +42,7 @@ export class Build implements Command {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
if (packages[PackageType.Webpack].length) {
|
|
45
|
+
await kendoUILicense();
|
|
45
46
|
await exec({
|
|
46
47
|
'cmd': 'startup bundle-package',
|
|
47
48
|
'scope': packages[PackageType.Webpack].map(({ name }) => name),
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import execa from 'execa';
|
|
2
|
+
|
|
3
|
+
import { log, logErrors } from '../../utils';
|
|
4
|
+
import { isModuleInstalled } from '../utils';
|
|
5
|
+
import { Command } from '.';
|
|
6
|
+
|
|
7
|
+
const ENCODED_LICENSE = `
|
|
8
|
+
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3N
|
|
9
|
+
pZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNX
|
|
10
|
+
paVVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOalV3TWpnM056SXdmU3g3SW5SeWFXRnNJanBtWVd4e
|
|
11
|
+
lpTd2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYw
|
|
12
|
+
YVc5dVJHRjBaU0k2TVRZMU1ESTROemN5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWl
|
|
13
|
+
PaUpMUlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TmpVd0
|
|
14
|
+
1qZzNOekl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWV
|
|
15
|
+
EVGU0lpd2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE5qVXdNamczTnpJd2ZWMHNJ
|
|
16
|
+
bWx1ZEdWbmNtbDBlU0k2SW5wSGJHRlRRWGRUU1c1b1VqaHlRVEU1YVRSMFpYUjVhMmx4WnowaUx
|
|
17
|
+
DSnNhV05sYm5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG
|
|
18
|
+
1OdmJTSXNJbWxoZENJNk1UWXlOelk0TWpnMU5Dd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjM
|
|
19
|
+
lZ5ZG1salpYUnBkR0Z1TG1OdmJTSjkuazI3dzJlNFV5cnA0a0xJVFVjSmk1Ql9waGlxU1NJWEU4
|
|
20
|
+
SktSdkh0bk1fUktqVnh5b3RwZUFUaW1wR1M2dUIwdEdDRU1xbmxkQUZTSkJreklINExFSzFfa0d
|
|
21
|
+
uS0VKZ0JDcEJSQWl2VU9sQWJ2bTFfVGlmVXhyNkd1SmpJS1BNeGh3Um5rRG1CNW1lNlRoQzJxR0
|
|
22
|
+
9YWUxmX1ZuTDVlT3NOVEVneEx1cnVkaC1EZHZyTDJ5Vk9nMnRNQjg2aFotTXZ2Yk9JdWFrNGEtW
|
|
23
|
+
GdkVmRFM2pDdHNsNlRVb0p2eWJSRnlha0h2WUJOWTlHa2l2N190MDZUbmZEYWN6elRsTjdyWEQt
|
|
24
|
+
YlZNYmJ6Rm1XT2R3MGUtbUNxV2w2VS1XUlZGcXB1UHhQaDFodkFrOFBsWFFpVTZwbEZhMDhMaWh
|
|
25
|
+
pZXpOVkEwOE9JSXVxSjRZOEZnbDB5bnBFNDZn
|
|
26
|
+
`.replace(/\s/g, '');
|
|
27
|
+
const ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';
|
|
28
|
+
const LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');
|
|
29
|
+
const LICENSING_PACKAGE = '@progress/kendo-licensing';
|
|
30
|
+
|
|
31
|
+
export class KendoUILicense implements Command {
|
|
32
|
+
async execute() {
|
|
33
|
+
if (!isModuleInstalled(LICENSING_PACKAGE)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
await this.activateLicense();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@logErrors
|
|
41
|
+
private async activateLicense() {
|
|
42
|
+
const env = !process.env[ENVIRONMENT_VARIABLE]
|
|
43
|
+
? { [ENVIRONMENT_VARIABLE]: LICENSE }
|
|
44
|
+
: undefined;
|
|
45
|
+
|
|
46
|
+
log.info(
|
|
47
|
+
env
|
|
48
|
+
? 'Activating Kendo UI with embedded license...'
|
|
49
|
+
: `Activating Kendo UI with license from environment...`
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
await execa('npx', ['kendo-ui-license', 'activate', '--no-install'], {
|
|
54
|
+
env,
|
|
55
|
+
stdio: 'inherit',
|
|
56
|
+
});
|
|
57
|
+
} catch (error: any) {
|
|
58
|
+
throw new Error(`command failed with exit code ${error.exitCode}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export async function kendoUILicense() {
|
|
64
|
+
return new KendoUILicense().execute();
|
|
65
|
+
}
|
package/src/cli/index.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
MFEPackageClean,
|
|
15
15
|
MFEPackagePublish,
|
|
16
16
|
MFEPublish,
|
|
17
|
+
KendoUILicense,
|
|
17
18
|
} from './commands';
|
|
18
19
|
|
|
19
20
|
interface Newable<T> {
|
|
@@ -55,6 +56,9 @@ function getCommand(name: string): Newable<Command> {
|
|
|
55
56
|
case 'mfe-package-clean':
|
|
56
57
|
return MFEPackageClean;
|
|
57
58
|
|
|
59
|
+
case 'kendo-ui-license':
|
|
60
|
+
return KendoUILicense;
|
|
61
|
+
|
|
58
62
|
default:
|
|
59
63
|
log.error(`${name}: command not found!`);
|
|
60
64
|
process.exit(127);
|
package/src/cli/utils/index.ts
CHANGED
|
@@ -40,7 +40,7 @@ const getJestConfigBase = (
|
|
|
40
40
|
],
|
|
41
41
|
setupFiles: [path.join(__dirname, '../../jest/setup.js'), ...toArray(setupFiles)],
|
|
42
42
|
coveragePathIgnorePatterns: ['^.+\\.d\\.ts$', ...coveragePathIgnorePatterns],
|
|
43
|
-
coverageReporters: ['html-spa', 'text', 'json'],
|
|
43
|
+
coverageReporters: ['html-spa', 'text', 'json', 'cobertura'],
|
|
44
44
|
collectCoverageFrom: ['**/*.{ts,tsx}'],
|
|
45
45
|
};
|
|
46
46
|
};
|
package/template/.npmrc
ADDED