@servicetitan/startup 24.1.2 → 24.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/kendo-ui-license.js +15 -15
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.d.ts +10 -0
- package/dist/cli/utils/maybe-create-git-folder.d.ts.map +1 -0
- package/dist/cli/utils/maybe-create-git-folder.js +25 -0
- package/dist/cli/utils/maybe-create-git-folder.js.map +1 -0
- package/package.json +8 -8
- package/src/cli/commands/kendo-ui-license.ts +15 -15
- package/src/cli/index.ts +3 -0
- package/src/cli/utils/__tests__/maybe-create-git-folder.test.ts +41 -0
- package/src/cli/utils/maybe-create-git-folder.ts +18 -0
|
@@ -28,23 +28,23 @@ const utils_2 = require("../utils");
|
|
|
28
28
|
const ENCODED_LICENSE = `
|
|
29
29
|
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np
|
|
30
30
|
ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa
|
|
31
|
-
|
|
31
|
+
VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT
|
|
32
32
|
d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM
|
|
34
|
+
UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN
|
|
35
35
|
VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW
|
|
37
|
+
bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s
|
|
38
|
+
Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ
|
|
39
|
+
bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY
|
|
40
|
+
UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V
|
|
41
|
+
eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll
|
|
42
|
+
T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW
|
|
43
|
+
N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl
|
|
44
|
+
UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1
|
|
45
|
+
cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE
|
|
46
|
+
V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5
|
|
47
|
+
cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==
|
|
48
48
|
`.replace(/\s/g, '');
|
|
49
49
|
const ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';
|
|
50
50
|
const LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');
|
package/dist/cli/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const yargs_1 = require("yargs");
|
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
const commands_1 = require("./commands");
|
|
11
11
|
const utils_2 = require("./utils");
|
|
12
|
+
const maybe_create_git_folder_1 = require("./utils/maybe-create-git-folder");
|
|
12
13
|
const argvSync = yargs_1.argv;
|
|
13
14
|
const name = (_a = argvSync._[0]) === null || _a === void 0 ? void 0 : _a.toString();
|
|
14
15
|
if (!name) {
|
|
@@ -22,6 +23,7 @@ if (!Command) {
|
|
|
22
23
|
usage();
|
|
23
24
|
process.exit(127);
|
|
24
25
|
}
|
|
26
|
+
(0, maybe_create_git_folder_1.maybeCreateGitFolder)();
|
|
25
27
|
if ((0, utils_2.setNodeOptions)(name)) {
|
|
26
28
|
// Run command in child process with amended NODE_OPTIONS
|
|
27
29
|
(0, execa_1.default)(process.argv[0], process.argv.slice(1), { stdio: 'inherit' }).catch(reason => {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAAwC;AACxC,oCAA+D;AAC/D,yCAAyD;AACzD,mCAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAAwC;AACxC,oCAA+D;AAC/D,yCAAyD;AACzD,mCAAyC;AACzC,6EAAuE;AAEvE,MAAM,QAAQ,GAAG,YAAiB,CAAC;AACnC,MAAM,IAAI,GAAG,MAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAiB,CAAC;AACtD,IAAI,CAAC,IAAI,EAAE,CAAC;IACR,WAAG,CAAC,IAAI,CAAC,gBAAgB,IAAA,yBAAiB,GAAE,EAAE,CAAC,CAAC;IAChD,KAAK,EAAE,CAAC;IACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,OAAO,GAAG,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAC;AACjC,IAAI,CAAC,OAAO,EAAE,CAAC;IACX,WAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC;IACR,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,IAAA,8CAAoB,GAAE,CAAC;AAEvB,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;IACvB,yDAAyD;IACzD,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAC/E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC;KAAM,CAAC;IACJ,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAI,OAAO,iCAAM,QAAQ,KAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAG,CAAC;IACrE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,KAAK;IACV,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAG,IAAA,0BAAe,GAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;QACvC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC;AAChE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create empty .git folder to workaround issue where Lerna does not
|
|
3
|
+
* detect workspace packages on Windows systems. The empty .git folder
|
|
4
|
+
* causes nx to use the git-hasher when building the project graph.
|
|
5
|
+
* Note this gets fixed (e.g., https://github.com/nrwl/nx/issues/8601) but
|
|
6
|
+
* keeps reappearing (e.g., https://github.com/nrwl/nx/issues/9584 and
|
|
7
|
+
* https://github.com/nrwl/nx/issues/18094)
|
|
8
|
+
*/
|
|
9
|
+
export declare function maybeCreateGitFolder(): void;
|
|
10
|
+
//# sourceMappingURL=maybe-create-git-folder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maybe-create-git-folder.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/maybe-create-git-folder.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,SAOnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.maybeCreateGitFolder = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
/**
|
|
9
|
+
* Create empty .git folder to workaround issue where Lerna does not
|
|
10
|
+
* detect workspace packages on Windows systems. The empty .git folder
|
|
11
|
+
* causes nx to use the git-hasher when building the project graph.
|
|
12
|
+
* Note this gets fixed (e.g., https://github.com/nrwl/nx/issues/8601) but
|
|
13
|
+
* keeps reappearing (e.g., https://github.com/nrwl/nx/issues/9584 and
|
|
14
|
+
* https://github.com/nrwl/nx/issues/18094)
|
|
15
|
+
*/
|
|
16
|
+
function maybeCreateGitFolder() {
|
|
17
|
+
if (process.platform !== 'win32') {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (!fs_1.default.existsSync('.git')) {
|
|
21
|
+
fs_1.default.mkdirSync('.git');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.maybeCreateGitFolder = maybeCreateGitFolder;
|
|
25
|
+
//# sourceMappingURL=maybe-create-git-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maybe-create-git-folder.js","sourceRoot":"","sources":["../../../src/cli/utils/maybe-create-git-folder.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAEpB;;;;;;;GAOG;AACH,SAAgB,oBAAoB;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO;IACX,CAAC;IACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAPD,oDAOC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"@babel/preset-env": "~7.24.7",
|
|
38
38
|
"@jest/core": "~29.7.0",
|
|
39
39
|
"@jest/types": "~29.6.3",
|
|
40
|
-
"@servicetitan/eslint-config": "24.
|
|
41
|
-
"@servicetitan/stylelint-config": "24.
|
|
40
|
+
"@servicetitan/eslint-config": "24.2.0",
|
|
41
|
+
"@servicetitan/stylelint-config": "24.2.0",
|
|
42
42
|
"@svgr/webpack": "^8.1.0",
|
|
43
|
-
"@swc/core": "1.6.
|
|
43
|
+
"@swc/core": "1.6.7",
|
|
44
44
|
"@types/debug": "^4.1.12",
|
|
45
45
|
"@types/jest": "~29.5.12",
|
|
46
46
|
"chalk": "~4.1.2",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"jest-circus": "~29.7.0",
|
|
61
61
|
"jest-environment-jsdom": "^29.7.0",
|
|
62
62
|
"jest-fetch-mock": "~3.0.3",
|
|
63
|
-
"lerna": "~8.1.
|
|
63
|
+
"lerna": "~8.1.6",
|
|
64
64
|
"less": "~4.2.0",
|
|
65
65
|
"less-loader": "~12.2.0",
|
|
66
66
|
"less-plugin-npm-import": "~2.1.0",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
71
71
|
"multimatch": "~5.0.0",
|
|
72
72
|
"portfinder": "~1.0.32",
|
|
73
|
-
"postcss": "~8.4.
|
|
73
|
+
"postcss": "~8.4.39",
|
|
74
74
|
"prettier": "~2.7.1",
|
|
75
75
|
"sass": "~1.77.6",
|
|
76
76
|
"sass-loader": "~14.2.1",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
91
91
|
"webpack-dev-server": "~3.11.2",
|
|
92
92
|
"webpack-filter-warnings-plugin": "~1.2.1",
|
|
93
|
-
"webpack-merge": "~
|
|
93
|
+
"webpack-merge": "~6.0.1",
|
|
94
94
|
"webpack-virtual-modules": "~0.6.2",
|
|
95
95
|
"worker-loader": "~3.0.8",
|
|
96
96
|
"xhr-mock": "~2.5.1",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"cli": {
|
|
106
106
|
"webpack": false
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "13848340f521a17e1e251fde0d031022910ca7ab"
|
|
109
109
|
}
|
|
@@ -7,23 +7,23 @@ import { Command } from '.';
|
|
|
7
7
|
const ENCODED_LICENSE = `
|
|
8
8
|
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np
|
|
9
9
|
ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa
|
|
10
|
-
|
|
10
|
+
VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT
|
|
11
11
|
d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM
|
|
13
|
+
UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN
|
|
14
14
|
VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW
|
|
16
|
+
bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s
|
|
17
|
+
Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ
|
|
18
|
+
bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY
|
|
19
|
+
UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V
|
|
20
|
+
eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll
|
|
21
|
+
T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW
|
|
22
|
+
N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl
|
|
23
|
+
UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1
|
|
24
|
+
cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE
|
|
25
|
+
V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5
|
|
26
|
+
cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==
|
|
27
27
|
`.replace(/\s/g, '');
|
|
28
28
|
const ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';
|
|
29
29
|
const LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');
|
package/src/cli/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { argv, Arguments } from 'yargs';
|
|
|
3
3
|
import { CommandName, getStartupVersion, log } from '../utils';
|
|
4
4
|
import { getCommand, getUserCommands } from './commands';
|
|
5
5
|
import { setNodeOptions } from './utils';
|
|
6
|
+
import { maybeCreateGitFolder } from './utils/maybe-create-git-folder';
|
|
6
7
|
|
|
7
8
|
const argvSync = argv as Arguments;
|
|
8
9
|
const name = argvSync._[0]?.toString() as CommandName;
|
|
@@ -19,6 +20,8 @@ if (!Command) {
|
|
|
19
20
|
process.exit(127);
|
|
20
21
|
}
|
|
21
22
|
|
|
23
|
+
maybeCreateGitFolder();
|
|
24
|
+
|
|
22
25
|
if (setNodeOptions(name)) {
|
|
23
26
|
// Run command in child process with amended NODE_OPTIONS
|
|
24
27
|
execa(process.argv[0], process.argv.slice(1), { stdio: 'inherit' }).catch(reason => {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { fs, vol } from 'memfs';
|
|
2
|
+
|
|
3
|
+
import { maybeCreateGitFolder } from '../maybe-create-git-folder';
|
|
4
|
+
|
|
5
|
+
jest.mock('fs', () => fs);
|
|
6
|
+
|
|
7
|
+
describe(`[startup] Utils`, () => {
|
|
8
|
+
describe(`${maybeCreateGitFolder.name}`, () => {
|
|
9
|
+
const mkdirSpy = jest.spyOn(fs, 'mkdirSync').mockImplementation(jest.fn());
|
|
10
|
+
|
|
11
|
+
beforeEach(() => vol.fromJSON({}));
|
|
12
|
+
|
|
13
|
+
afterEach(() => vol.reset);
|
|
14
|
+
|
|
15
|
+
const subject = () => maybeCreateGitFolder();
|
|
16
|
+
|
|
17
|
+
describe('when running on Windows', () => {
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
Object.defineProperty(process, 'platform', { value: 'win32' });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test('creates .git folder', () => {
|
|
23
|
+
subject();
|
|
24
|
+
|
|
25
|
+
expect(mkdirSpy).toHaveBeenCalledWith('.git');
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('when not running on Windows', () => {
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
Object.defineProperty(process, 'platform', { value: 'linux' });
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('does not create .git folder', () => {
|
|
35
|
+
subject();
|
|
36
|
+
|
|
37
|
+
expect(mkdirSpy).not.toHaveBeenCalledWith();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create empty .git folder to workaround issue where Lerna does not
|
|
5
|
+
* detect workspace packages on Windows systems. The empty .git folder
|
|
6
|
+
* causes nx to use the git-hasher when building the project graph.
|
|
7
|
+
* Note this gets fixed (e.g., https://github.com/nrwl/nx/issues/8601) but
|
|
8
|
+
* keeps reappearing (e.g., https://github.com/nrwl/nx/issues/9584 and
|
|
9
|
+
* https://github.com/nrwl/nx/issues/18094)
|
|
10
|
+
*/
|
|
11
|
+
export function maybeCreateGitFolder() {
|
|
12
|
+
if (process.platform !== 'win32') {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (!fs.existsSync('.git')) {
|
|
16
|
+
fs.mkdirSync('.git');
|
|
17
|
+
}
|
|
18
|
+
}
|