just-scripts 1.8.0 → 2.0.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/CHANGELOG.json +46 -1
- package/CHANGELOG.md +26 -2
- package/lib/copy/CopyInstruction.d.ts +10 -4
- package/lib/copy/CopyInstruction.d.ts.map +1 -1
- package/lib/copy/CopyInstruction.js +8 -5
- package/lib/copy/CopyInstruction.js.map +1 -1
- package/lib/copy/executeCopyInstructions.d.ts.map +1 -1
- package/lib/copy/executeCopyInstructions.js +19 -17
- package/lib/copy/executeCopyInstructions.js.map +1 -1
- package/lib/tasks/apiExtractorTask.js +5 -14
- package/lib/tasks/apiExtractorTask.js.map +1 -1
- package/lib/tasks/esbuildTask.js +3 -14
- package/lib/tasks/esbuildTask.js.map +1 -1
- package/lib/tasks/eslintTask.js +1 -1
- package/lib/tasks/eslintTask.js.map +1 -1
- package/lib/tasks/nodeExecTask.js +2 -2
- package/lib/tasks/nodeExecTask.js.map +1 -1
- package/lib/tasks/prettierTask.js +14 -2
- package/lib/tasks/prettierTask.js.map +1 -1
- package/lib/tasks/sassTask.js +4 -4
- package/lib/tasks/sassTask.js.map +1 -1
- package/lib/tasks/tarTask.js +17 -19
- package/lib/tasks/tarTask.js.map +1 -1
- package/lib/tasks/tscTask.js +3 -14
- package/lib/tasks/tscTask.js.map +1 -1
- package/lib/tasks/webpackCliTask.js +1 -1
- package/lib/tasks/webpackCliTask.js.map +1 -1
- package/lib/tasks/webpackDevServerTask.js +1 -1
- package/lib/tasks/webpackDevServerTask.js.map +1 -1
- package/lib/tasks/webpackTask.js +55 -77
- package/lib/tasks/webpackTask.js.map +1 -1
- package/lib/webpack/overlays/stylesOverlay.js +4 -1
- package/lib/webpack/overlays/stylesOverlay.js.map +1 -1
- package/package.json +2 -2
- package/src/copy/CopyInstruction.ts +19 -2
- package/src/copy/__tests__/executeCopyInstructions.spec.ts +25 -6
- package/src/copy/executeCopyInstructions.ts +17 -4
- package/src/tasks/sassTask.ts +4 -4
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,52 @@
|
|
|
2
2
|
"name": "just-scripts",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Mon,
|
|
5
|
+
"date": "Mon, 16 May 2022 20:50:31 GMT",
|
|
6
|
+
"tag": "just-scripts_v2.0.0",
|
|
7
|
+
"version": "2.0.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"major": [
|
|
10
|
+
{
|
|
11
|
+
"author": "benw@microsoft.com",
|
|
12
|
+
"package": "just-scripts",
|
|
13
|
+
"comment": "Add support for symlink creation in the copy task",
|
|
14
|
+
"commit": "02e45b2c092548c4ac43e142aaa510a7ad95ec49"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Tue, 05 Apr 2022 20:55:43 GMT",
|
|
21
|
+
"tag": "just-scripts_v1.8.2",
|
|
22
|
+
"version": "1.8.2",
|
|
23
|
+
"comments": {
|
|
24
|
+
"patch": [
|
|
25
|
+
{
|
|
26
|
+
"author": "tristan.watanabe@gmail.com",
|
|
27
|
+
"package": "just-scripts",
|
|
28
|
+
"comment": "Add support for dart-sass",
|
|
29
|
+
"commit": "365c671c3228d59c8861fe249cc132e4b51faf57"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Thu, 31 Mar 2022 17:04:30 GMT",
|
|
36
|
+
"tag": "just-scripts_v1.8.1",
|
|
37
|
+
"version": "1.8.1",
|
|
38
|
+
"comments": {
|
|
39
|
+
"patch": [
|
|
40
|
+
{
|
|
41
|
+
"author": "dzearing@microsoft.com",
|
|
42
|
+
"package": "just-scripts",
|
|
43
|
+
"commit": "0c2e911432d9c09a7b3396d40c811260d84749ac",
|
|
44
|
+
"comment": "Bump just-scripts to v1.8.1"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Mon, 07 Feb 2022 19:43:53 GMT",
|
|
6
51
|
"tag": "just-scripts_v1.8.0",
|
|
7
52
|
"version": "1.8.0",
|
|
8
53
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
# Change Log - just-scripts
|
|
2
2
|
|
|
3
|
-
This log was last generated on Mon,
|
|
3
|
+
This log was last generated on Mon, 16 May 2022 20:50:31 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 2.0.0
|
|
8
|
+
|
|
9
|
+
Mon, 16 May 2022 20:50:31 GMT
|
|
10
|
+
|
|
11
|
+
### Major changes
|
|
12
|
+
|
|
13
|
+
- Add support for symlink creation in the copy task (benw@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 1.8.2
|
|
16
|
+
|
|
17
|
+
Tue, 05 Apr 2022 20:55:43 GMT
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- Add support for dart-sass (tristan.watanabe@gmail.com)
|
|
22
|
+
|
|
23
|
+
## 1.8.1
|
|
24
|
+
|
|
25
|
+
Thu, 31 Mar 2022 17:04:30 GMT
|
|
26
|
+
|
|
27
|
+
### Patches
|
|
28
|
+
|
|
29
|
+
- Bump just-scripts to v1.8.1 (dzearing@microsoft.com)
|
|
30
|
+
|
|
7
31
|
## 1.8.0
|
|
8
32
|
|
|
9
|
-
Mon, 07 Feb 2022 19:43:
|
|
33
|
+
Mon, 07 Feb 2022 19:43:53 GMT
|
|
10
34
|
|
|
11
35
|
### Minor changes
|
|
12
36
|
|
|
@@ -8,6 +8,12 @@ export interface CopyInstruction {
|
|
|
8
8
|
* The path+filename of the destination file.
|
|
9
9
|
*/
|
|
10
10
|
destinationFilePath: string;
|
|
11
|
+
/**
|
|
12
|
+
* Set to true if a copy or merge should be performed, false if a symlink should be created.
|
|
13
|
+
* If multiple source files are specified (i.e. a merge), this must be true or undefined.
|
|
14
|
+
* The default value of undefined is equivalent to true for a merge, false in all other cases.
|
|
15
|
+
*/
|
|
16
|
+
noSymlink?: boolean;
|
|
11
17
|
}
|
|
12
18
|
export interface CopyConfig {
|
|
13
19
|
copyInstructions: CopyInstruction[];
|
|
@@ -17,13 +23,13 @@ export interface CopyConfig {
|
|
|
17
23
|
* For example copyFilesToDestinationDirectory(['some/path/foo.js', 'bar.js'], 'dest/target') would result in the creation of
|
|
18
24
|
* files 'dest/target/foo.js' and 'dest/target/bar.js'.
|
|
19
25
|
*/
|
|
20
|
-
export declare function copyFilesToDestinationDirectory(sourceFilePaths: string | string[], destinationDirectory: string): CopyInstruction[];
|
|
26
|
+
export declare function copyFilesToDestinationDirectory(sourceFilePaths: string | string[], destinationDirectory: string, noSymlinks?: boolean): CopyInstruction[];
|
|
21
27
|
/**
|
|
22
28
|
* Copies a file into a destination directory with a different name.
|
|
23
29
|
* For example copyFileToDestinationDirectoryWithRename('some/path/foo.js', 'bar.js', 'dest/target') would result in the creation of
|
|
24
30
|
* the file 'dest/target/bar.js'.
|
|
25
31
|
*/
|
|
26
|
-
export declare function copyFileToDestinationDirectoryWithRename(sourceFilePath: string, destinationName: string, destinationDirectory: string): CopyInstruction[];
|
|
32
|
+
export declare function copyFileToDestinationDirectoryWithRename(sourceFilePath: string, destinationName: string, destinationDirectory: string, noSymlink?: boolean): CopyInstruction[];
|
|
27
33
|
/**
|
|
28
34
|
* Copies files into a destination directory with different names.
|
|
29
35
|
* For example copyFilesToDestinationDirectoryWithRename([{sourceFilePath:'some/path/foo.js', destinationName:'bar.js'}], 'dest/target')
|
|
@@ -32,12 +38,12 @@ export declare function copyFileToDestinationDirectoryWithRename(sourceFilePath:
|
|
|
32
38
|
export declare function copyFilesToDestinationDirectoryWithRename(instrs: {
|
|
33
39
|
sourceFilePath: string;
|
|
34
40
|
destinationName: string;
|
|
35
|
-
}[], destinationDirectory: string): CopyInstruction[];
|
|
41
|
+
}[], destinationDirectory: string, noSymlinks?: boolean): CopyInstruction[];
|
|
36
42
|
/**
|
|
37
43
|
* Copies all the files in a directory to the output folder.
|
|
38
44
|
* You can optionally provide a filter function that determines which files to copy.
|
|
39
45
|
*/
|
|
40
|
-
export declare function copyFilesInDirectory(sourceDirectoryPath: string, outputDirectoryPath: string, filterFunction?: (file: string) => boolean): CopyInstruction[];
|
|
46
|
+
export declare function copyFilesInDirectory(sourceDirectoryPath: string, outputDirectoryPath: string, filterFunction?: (file: string) => boolean, noSymlinks?: boolean): CopyInstruction[];
|
|
41
47
|
/**
|
|
42
48
|
* Merges the contents of multiple files and places them in the output folder.
|
|
43
49
|
* This should only be used for text files and it should not be used for JavaScript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyInstruction.d.ts","sourceRoot":"","sources":["../../src/copy/CopyInstruction.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"CopyInstruction.d.ts","sourceRoot":"","sources":["../../src/copy/CopyInstruction.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,EAClC,oBAAoB,EAAE,MAAM,EAC5B,UAAU,CAAC,EAAE,OAAO,GACnB,eAAe,EAAE,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,CAAC,EAAE,OAAO,GAClB,eAAe,EAAE,CAEnB;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EAAE,EAC7D,oBAAoB,EAAE,MAAM,EAC5B,UAAU,CAAC,EAAE,OAAO,GACnB,eAAe,EAAE,CAMnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAC1C,UAAU,CAAC,EAAE,OAAO,GACnB,eAAe,EAAE,CAWnB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,MAAM,GAAG,eAAe,CAKlG"}
|
|
@@ -9,10 +9,11 @@ const arrayify_1 = require("../arrayUtils/arrayify");
|
|
|
9
9
|
* For example copyFilesToDestinationDirectory(['some/path/foo.js', 'bar.js'], 'dest/target') would result in the creation of
|
|
10
10
|
* files 'dest/target/foo.js' and 'dest/target/bar.js'.
|
|
11
11
|
*/
|
|
12
|
-
function copyFilesToDestinationDirectory(sourceFilePaths, destinationDirectory) {
|
|
12
|
+
function copyFilesToDestinationDirectory(sourceFilePaths, destinationDirectory, noSymlinks) {
|
|
13
13
|
return arrayify_1.arrayify(sourceFilePaths).map(sourceName => ({
|
|
14
14
|
sourceFilePath: path_1.normalize(sourceName),
|
|
15
15
|
destinationFilePath: path_1.join(destinationDirectory, path_1.basename(sourceName)),
|
|
16
|
+
noSymlink: noSymlinks,
|
|
16
17
|
}));
|
|
17
18
|
}
|
|
18
19
|
exports.copyFilesToDestinationDirectory = copyFilesToDestinationDirectory;
|
|
@@ -21,8 +22,8 @@ exports.copyFilesToDestinationDirectory = copyFilesToDestinationDirectory;
|
|
|
21
22
|
* For example copyFileToDestinationDirectoryWithRename('some/path/foo.js', 'bar.js', 'dest/target') would result in the creation of
|
|
22
23
|
* the file 'dest/target/bar.js'.
|
|
23
24
|
*/
|
|
24
|
-
function copyFileToDestinationDirectoryWithRename(sourceFilePath, destinationName, destinationDirectory) {
|
|
25
|
-
return [{ sourceFilePath, destinationFilePath: path_1.join(destinationDirectory, destinationName) }];
|
|
25
|
+
function copyFileToDestinationDirectoryWithRename(sourceFilePath, destinationName, destinationDirectory, noSymlink) {
|
|
26
|
+
return [{ sourceFilePath, destinationFilePath: path_1.join(destinationDirectory, destinationName), noSymlink }];
|
|
26
27
|
}
|
|
27
28
|
exports.copyFileToDestinationDirectoryWithRename = copyFileToDestinationDirectoryWithRename;
|
|
28
29
|
/**
|
|
@@ -30,10 +31,11 @@ exports.copyFileToDestinationDirectoryWithRename = copyFileToDestinationDirector
|
|
|
30
31
|
* For example copyFilesToDestinationDirectoryWithRename([{sourceFilePath:'some/path/foo.js', destinationName:'bar.js'}], 'dest/target')
|
|
31
32
|
* would result in the creation of the file 'dest/target/bar.js'.
|
|
32
33
|
*/
|
|
33
|
-
function copyFilesToDestinationDirectoryWithRename(instrs, destinationDirectory) {
|
|
34
|
+
function copyFilesToDestinationDirectoryWithRename(instrs, destinationDirectory, noSymlinks) {
|
|
34
35
|
return instrs.map(instr => ({
|
|
35
36
|
sourceFilePath: instr.sourceFilePath,
|
|
36
37
|
destinationFilePath: path_1.join(destinationDirectory, instr.destinationName),
|
|
38
|
+
noSymlink: noSymlinks,
|
|
37
39
|
}));
|
|
38
40
|
}
|
|
39
41
|
exports.copyFilesToDestinationDirectoryWithRename = copyFilesToDestinationDirectoryWithRename;
|
|
@@ -41,7 +43,7 @@ exports.copyFilesToDestinationDirectoryWithRename = copyFilesToDestinationDirect
|
|
|
41
43
|
* Copies all the files in a directory to the output folder.
|
|
42
44
|
* You can optionally provide a filter function that determines which files to copy.
|
|
43
45
|
*/
|
|
44
|
-
function copyFilesInDirectory(sourceDirectoryPath, outputDirectoryPath, filterFunction) {
|
|
46
|
+
function copyFilesInDirectory(sourceDirectoryPath, outputDirectoryPath, filterFunction, noSymlinks) {
|
|
45
47
|
let files = fs_1.readdirSync(sourceDirectoryPath);
|
|
46
48
|
if (filterFunction) {
|
|
47
49
|
files = files.filter(filterFunction);
|
|
@@ -49,6 +51,7 @@ function copyFilesInDirectory(sourceDirectoryPath, outputDirectoryPath, filterFu
|
|
|
49
51
|
return files.map(file => ({
|
|
50
52
|
sourceFilePath: path_1.join(sourceDirectoryPath, file),
|
|
51
53
|
destinationFilePath: path_1.join(outputDirectoryPath, file),
|
|
54
|
+
noSymlink: noSymlinks,
|
|
52
55
|
}));
|
|
53
56
|
}
|
|
54
57
|
exports.copyFilesInDirectory = copyFilesInDirectory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyInstruction.js","sourceRoot":"","sources":["../../src/copy/CopyInstruction.ts"],"names":[],"mappings":";;;AAAA,+BAAiD;AACjD,2BAAiC;AACjC,qDAAkD;
|
|
1
|
+
{"version":3,"file":"CopyInstruction.js","sourceRoot":"","sources":["../../src/copy/CopyInstruction.ts"],"names":[],"mappings":";;;AAAA,+BAAiD;AACjD,2BAAiC;AACjC,qDAAkD;AA0BlD;;;;GAIG;AACH,SAAgB,+BAA+B,CAC7C,eAAkC,EAClC,oBAA4B,EAC5B,UAAoB;IAEpB,OAAO,mBAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClD,cAAc,EAAE,gBAAS,CAAC,UAAU,CAAC;QACrC,mBAAmB,EAAE,WAAI,CAAC,oBAAoB,EAAE,eAAQ,CAAC,UAAU,CAAC,CAAC;QACrE,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC,CAAC;AACN,CAAC;AAVD,0EAUC;AAED;;;;GAIG;AACH,SAAgB,wCAAwC,CACtD,cAAsB,EACtB,eAAuB,EACvB,oBAA4B,EAC5B,SAAmB;IAEnB,OAAO,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3G,CAAC;AAPD,4FAOC;AAED;;;;GAIG;AACH,SAAgB,yCAAyC,CACvD,MAA6D,EAC7D,oBAA4B,EAC5B,UAAoB;IAEpB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,mBAAmB,EAAE,WAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,eAAe,CAAC;QACtE,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC,CAAC;AACN,CAAC;AAVD,8FAUC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,mBAA2B,EAC3B,mBAA2B,EAC3B,cAA0C,EAC1C,UAAoB;IAEpB,IAAI,KAAK,GAAG,gBAAW,CAAC,mBAAmB,CAAC,CAAC;IAE7C,IAAI,cAAc,EAAE;QAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;KACtC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,cAAc,EAAE,WAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAC/C,mBAAmB,EAAE,WAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC;QACpD,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC,CAAC;AACN,CAAC;AAhBD,oDAgBC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,eAAyB,EAAE,mBAA2B;IAC/E,OAAO;QACL,cAAc,EAAE,eAAe;QAC/B,mBAAmB;KACpB,CAAC;AACJ,CAAC;AALD,gCAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeCopyInstructions.d.ts","sourceRoot":"","sources":["../../src/copy/executeCopyInstructions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIhE;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"executeCopyInstructions.d.ts","sourceRoot":"","sources":["../../src/copy/executeCopyInstructions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIhE;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3F"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.executeCopyInstructions = void 0;
|
|
13
4
|
const path_1 = require("path");
|
|
@@ -17,23 +8,34 @@ const uniqueValues_1 = require("../arrayUtils/uniqueValues");
|
|
|
17
8
|
/**
|
|
18
9
|
* Function containing the core code for the copy task with a given config.
|
|
19
10
|
*/
|
|
20
|
-
function executeCopyInstructions(config) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
async function executeCopyInstructions(config) {
|
|
12
|
+
if (config && config.copyInstructions) {
|
|
13
|
+
validateConfig(config.copyInstructions);
|
|
14
|
+
await createDirectories(config.copyInstructions);
|
|
15
|
+
await Promise.all(config.copyInstructions.map(executeSingleCopyInstruction));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.executeCopyInstructions = executeCopyInstructions;
|
|
19
|
+
function validateConfig(copyInstructions) {
|
|
20
|
+
copyInstructions.forEach(instr => {
|
|
21
|
+
if (instr.noSymlink === false && Array.isArray(instr.sourceFilePath) && instr.sourceFilePath.length > 1) {
|
|
22
|
+
throw new Error('Multiple source files cannot be specified when making a symlink');
|
|
25
23
|
}
|
|
26
24
|
});
|
|
27
25
|
}
|
|
28
|
-
exports.executeCopyInstructions = executeCopyInstructions;
|
|
29
26
|
function createDirectories(copyInstructions) {
|
|
30
27
|
return Promise.all(uniqueValues_1.uniqueValues(copyInstructions.map(instruction => path_1.dirname(instruction.destinationFilePath))).map(dirname => fs_extra_1.ensureDir(dirname)));
|
|
31
28
|
}
|
|
32
29
|
function executeSingleCopyInstruction(copyInstruction) {
|
|
33
30
|
const sourceFileNames = arrayify_1.arrayify(copyInstruction.sourceFilePath);
|
|
34
|
-
// source and dest are 1-to-1? perform binary copy.
|
|
31
|
+
// source and dest are 1-to-1? perform binary copy or symlink as desired.
|
|
35
32
|
if (sourceFileNames.length === 1) {
|
|
36
|
-
|
|
33
|
+
if (copyInstruction.noSymlink) {
|
|
34
|
+
return fs_extra_1.copy(sourceFileNames[0], copyInstruction.destinationFilePath);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return fs_extra_1.ensureSymlink(path_1.resolve(sourceFileNames[0]), copyInstruction.destinationFilePath);
|
|
38
|
+
}
|
|
37
39
|
}
|
|
38
40
|
// perform text merge operation.
|
|
39
41
|
return Promise.all(sourceFileNames.map(fileName => fs_extra_1.readFile(fileName))).then(fileContents => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeCopyInstructions.js","sourceRoot":"","sources":["../../src/copy/executeCopyInstructions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executeCopyInstructions.js","sourceRoot":"","sources":["../../src/copy/executeCopyInstructions.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AACxC,uCAA+E;AAE/E,qDAAkD;AAClD,6DAA0D;AAE1D;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAAC,MAA8B;IAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE;QACrC,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;KAC9E;AACH,CAAC;AAND,0DAMC;AAED,SAAS,cAAc,CAAC,gBAAmC;IACzD,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC/B,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvG,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;SACpF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,gBAAmC;IAC5D,OAAO,OAAO,CAAC,GAAG,CAChB,2BAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,cAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAS,CAAC,OAAO,CAAC,CAAC,CAC/H,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,eAAgC;IACpE,MAAM,eAAe,GAAG,mBAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAEjE,0EAA0E;IAC1E,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,IAAI,eAAe,CAAC,SAAS,EAAE;YAC7B,OAAO,eAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;SACtE;aAAM;YACL,OAAO,wBAAa,CAAC,cAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;SACxF;KACF;IAED,gCAAgC;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QAC1F,OAAO,oBAAS,CAAC,eAAe,CAAC,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.fixApiFileNewlines = exports.apiExtractorUpdateTask = exports.apiExtractorVerifyTask = void 0;
|
|
15
4
|
const just_task_1 = require("just-task");
|
|
@@ -18,7 +7,8 @@ const path = require("path");
|
|
|
18
7
|
const tryRequire_1 = require("../tryRequire");
|
|
19
8
|
function apiExtractorVerifyTask(configJsonFilePathOrOption = {}, extractorOptions = {}) {
|
|
20
9
|
const options = typeof configJsonFilePathOrOption === 'string'
|
|
21
|
-
?
|
|
10
|
+
? { ...extractorOptions, configJsonFilePath: configJsonFilePathOrOption }
|
|
11
|
+
: { ...configJsonFilePathOrOption };
|
|
22
12
|
return function apiExtractorVerify() {
|
|
23
13
|
const context = initApiExtractor(options);
|
|
24
14
|
if (context) {
|
|
@@ -32,7 +22,8 @@ function apiExtractorVerifyTask(configJsonFilePathOrOption = {}, extractorOption
|
|
|
32
22
|
exports.apiExtractorVerifyTask = apiExtractorVerifyTask;
|
|
33
23
|
function apiExtractorUpdateTask(configJsonFilePathOrOption = {}, extractorOptions = {}) {
|
|
34
24
|
const options = typeof configJsonFilePathOrOption === 'string'
|
|
35
|
-
?
|
|
25
|
+
? { ...extractorOptions, configJsonFilePath: configJsonFilePathOrOption }
|
|
26
|
+
: { ...configJsonFilePathOrOption };
|
|
36
27
|
return function apiExtractorUpdate() {
|
|
37
28
|
const context = initApiExtractor(options);
|
|
38
29
|
if (context) {
|
|
@@ -75,7 +66,7 @@ function initApiExtractor(options) {
|
|
|
75
66
|
return;
|
|
76
67
|
}
|
|
77
68
|
const { ExtractorConfig } = apiExtractorModule;
|
|
78
|
-
const { configJsonFilePath = ExtractorConfig.FILENAME, fixNewlines, onResult
|
|
69
|
+
const { configJsonFilePath = ExtractorConfig.FILENAME, fixNewlines, onResult, ...extractorOptions } = options;
|
|
79
70
|
if (!fs.existsSync(configJsonFilePath)) {
|
|
80
71
|
const defaultConfig = path.resolve(__dirname, '../../config/apiExtractor/api-extractor.json');
|
|
81
72
|
just_task_1.logger.warn(`Config file not found for api-extractor! Please copy ${defaultConfig} to project root folder to try again`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiExtractorTask.js","sourceRoot":"","sources":["../../src/tasks/apiExtractorTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiExtractorTask.js","sourceRoot":"","sources":["../../src/tasks/apiExtractorTask.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/esbuildTask.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.esbuildTask = void 0;
|
|
13
4
|
const just_task_1 = require("just-task");
|
|
@@ -20,11 +11,9 @@ function esbuildTask(options = {}) {
|
|
|
20
11
|
if (!esbuildModuleResolution) {
|
|
21
12
|
throw new Error('cannot find esbuild, please add it to your devDependencies');
|
|
22
13
|
}
|
|
23
|
-
return function esbuild() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return esbuildModule.build(options);
|
|
27
|
-
});
|
|
14
|
+
return async function esbuild() {
|
|
15
|
+
const esbuildModule = require(esbuildModuleResolution);
|
|
16
|
+
return esbuildModule.build(options);
|
|
28
17
|
};
|
|
29
18
|
}
|
|
30
19
|
exports.esbuildTask = esbuildTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuildTask.js","sourceRoot":"","sources":["../../src/tasks/esbuildTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"esbuildTask.js","sourceRoot":"","sources":["../../src/tasks/esbuildTask.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAQlD;;GAEG;AACH,SAAgB,WAAW,CAAC,UAA+B,EAAE;IAC3D,wDAAwD;IACxD,MAAM,uBAAuB,GAAG,mBAAO,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,uBAAuB,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;KAC/E;IAED,OAAO,KAAK,UAAU,OAAO;QAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAA6B,CAAC;QACnF,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAZD,kCAYC"}
|
package/lib/tasks/eslintTask.js
CHANGED
|
@@ -27,7 +27,7 @@ function eslintTask(options = {}) {
|
|
|
27
27
|
'--color',
|
|
28
28
|
];
|
|
29
29
|
just_task_1.logger.info(just_scripts_utils_1.encodeArgs(eslintArgs).join(' '));
|
|
30
|
-
return just_scripts_utils_1.spawn(process.execPath, eslintArgs,
|
|
30
|
+
return just_scripts_utils_1.spawn(process.execPath, eslintArgs, { stdio: 'inherit', ...(timing && { env: { TIMING: '1' } }) });
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
33
|
return Promise.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslintTask.js","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AACtE,2DAAuD;AACvD,yBAAyB;AAwBzB,SAAgB,UAAU,CAAC,UAA6B,EAAE;IACxD,OAAO,SAAS,MAAM;QACpB,MAAM,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,aAAa,EACb,MAAM,GACP,GAAG,OAAO,CAAC;QACZ,MAAM,SAAS,GAAG,mBAAO,CAAC,sBAAsB,CAAC,CAAC;QAClD,kIAAkI;QAClI,MAAM,gBAAgB,GAAG,UAAU,IAAI,sBAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAE1H,IAAI,SAAS,IAAI,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACpE,MAAM,gBAAgB,GAAG,UAAU,IAAI,sBAAU,CAAC,eAAe,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,SAAS;aACV,CAAC;YAEF,kBAAM,CAAC,IAAI,CAAC,+BAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,0BAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"eslintTask.js","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AACtE,2DAAuD;AACvD,yBAAyB;AAwBzB,SAAgB,UAAU,CAAC,UAA6B,EAAE;IACxD,OAAO,SAAS,MAAM;QACpB,MAAM,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,aAAa,EACb,MAAM,GACP,GAAG,OAAO,CAAC;QACZ,MAAM,SAAS,GAAG,mBAAO,CAAC,sBAAsB,CAAC,CAAC;QAClD,kIAAkI;QAClI,MAAM,gBAAgB,GAAG,UAAU,IAAI,sBAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAE1H,IAAI,SAAS,IAAI,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACpE,MAAM,gBAAgB,GAAG,UAAU,IAAI,sBAAU,CAAC,eAAe,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,SAAS;aACV,CAAC;YAEF,kBAAM,CAAC,IAAI,CAAC,+BAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,0BAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3G;aAAM;YACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;IACH,CAAC,CAAC;AACJ,CAAC;AA3CD,gCA2CC"}
|
|
@@ -14,13 +14,13 @@ function nodeExecTask(options) {
|
|
|
14
14
|
options.args = options.args || [];
|
|
15
15
|
options.args.unshift(tsNodeRegister);
|
|
16
16
|
options.args.unshift('-r');
|
|
17
|
-
options.env =
|
|
17
|
+
options.env = { ...options.env, ...getTsNodeEnv_1.getTsNodeEnv(tsconfig, transpileOnly) };
|
|
18
18
|
just_task_1.logger.info('Executing [TS]: ' + [nodeExecPath, ...(options.args || [])].join(' '));
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
21
|
just_task_1.logger.info('Executing: ' + [nodeExecPath, ...(options.args || [])].join(' '));
|
|
22
22
|
}
|
|
23
|
-
return just_scripts_utils_1.spawn(nodeExecPath, options.args,
|
|
23
|
+
return just_scripts_utils_1.spawn(nodeExecPath, options.args, { stdio: 'inherit', env: options.env, ...spawnOptions });
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
exports.nodeExecTask = nodeExecTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeExecTask.js","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";;;AACA,2DAA2C;AAC3C,yCAAiD;AACjD,mDAAgE;AAChE,6DAA0D;AAmC1D,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO;QACL,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAE5E,MAAM,cAAc,GAAG,oBAAU,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEtC,IAAI,gBAAgB,IAAI,cAAc,EAAE;YACtC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3B,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"nodeExecTask.js","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";;;AACA,2DAA2C;AAC3C,yCAAiD;AACjD,mDAAgE;AAChE,6DAA0D;AAmC1D,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO;QACL,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAE5E,MAAM,cAAc,GAAG,oBAAU,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEtC,IAAI,gBAAgB,IAAI,cAAc,EAAE;YACtC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,2BAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3E,kBAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACrF;aAAM;YACL,kBAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAChF;QAED,OAAO,0BAAK,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC;AACJ,CAAC;AApBD,oCAoBC"}
|
|
@@ -10,7 +10,13 @@ function prettierTask(options = {}) {
|
|
|
10
10
|
const prettierBin = just_task_1.resolve('prettier/bin-prettier.js');
|
|
11
11
|
if (prettierBin) {
|
|
12
12
|
return function prettier() {
|
|
13
|
-
return runPrettierAsync(
|
|
13
|
+
return runPrettierAsync({
|
|
14
|
+
prettierBin,
|
|
15
|
+
...{ configPath: options.configPath || undefined },
|
|
16
|
+
...{ ignorePath: options.ignorePath || undefined },
|
|
17
|
+
...{ files: arrayify_1.arrayify(options.files || path.resolve(process.cwd(), '**', '*.{ts,tsx,js,jsx,json,scss,html,yml,md}')) },
|
|
18
|
+
check: false,
|
|
19
|
+
});
|
|
14
20
|
};
|
|
15
21
|
}
|
|
16
22
|
return function () {
|
|
@@ -22,7 +28,13 @@ function prettierCheckTask(options = {}) {
|
|
|
22
28
|
const prettierBin = just_task_1.resolve('prettier/bin-prettier.js');
|
|
23
29
|
if (prettierBin) {
|
|
24
30
|
return function prettierCheck() {
|
|
25
|
-
return runPrettierAsync(
|
|
31
|
+
return runPrettierAsync({
|
|
32
|
+
prettierBin,
|
|
33
|
+
...{ configPath: options.configPath || undefined },
|
|
34
|
+
...{ ignorePath: options.ignorePath || undefined },
|
|
35
|
+
...{ files: arrayify_1.arrayify(options.files || path.resolve(process.cwd(), '**', '*.{ts,tsx,js,jsx,json,scss,html,yml,md}')) },
|
|
36
|
+
check: true,
|
|
37
|
+
});
|
|
26
38
|
};
|
|
27
39
|
}
|
|
28
40
|
return function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prettierTask.js","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,2DAA2C;AAC3C,6EAA0E;AAC1E,6BAA6B;AAC7B,qDAAkD;AAgBlD,SAAgB,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,WAAW,GAAG,mBAAO,CAAC,0BAA0B,CAAC,CAAC;IAExD,IAAI,WAAW,EAAE;QACf,OAAO,SAAS,QAAQ;YACtB,OAAO,gBAAgB,
|
|
1
|
+
{"version":3,"file":"prettierTask.js","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/sassTask.js
CHANGED
|
@@ -18,13 +18,13 @@ function sassTask(optionsOrCreateSourceModule, postcssPlugins) {
|
|
|
18
18
|
}
|
|
19
19
|
postcssPlugins = postcssPlugins || [];
|
|
20
20
|
return function sass(done) {
|
|
21
|
-
const
|
|
21
|
+
const sass = tryRequire_1.tryRequire('sass') || tryRequire_1.tryRequire('node-sass');
|
|
22
22
|
const postcss = tryRequire_1.tryRequire('postcss');
|
|
23
23
|
const autoprefixer = tryRequire_1.tryRequire('autoprefixer');
|
|
24
24
|
const postcssRtl = tryRequire_1.tryRequire('postcss-rtl');
|
|
25
25
|
const clean = tryRequire_1.tryRequire('postcss-clean');
|
|
26
|
-
if (!
|
|
27
|
-
just_task_1.logger.warn('One
|
|
26
|
+
if (!sass || !postcss || !autoprefixer) {
|
|
27
|
+
just_task_1.logger.warn('One or more dependencies (sass or node-sass, postcss, autoprefixer) is not installed, so this task has no effect');
|
|
28
28
|
done();
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
@@ -33,7 +33,7 @@ function sassTask(optionsOrCreateSourceModule, postcssPlugins) {
|
|
|
33
33
|
if (files.length) {
|
|
34
34
|
const tasks = files.map((fileName) => function (cb) {
|
|
35
35
|
fileName = path.resolve(fileName);
|
|
36
|
-
|
|
36
|
+
sass.render({
|
|
37
37
|
file: fileName,
|
|
38
38
|
importer: patchSassUrl,
|
|
39
39
|
includePaths: [path.resolve(process.cwd(), 'node_modules')],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sassTask.js","sourceRoot":"","sources":["../../src/tasks/sassTask.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,6BAA6B;AAC7B,yBAAyB;AACzB,yCAA6D;AAC7D,8CAA2C;AAC3C,oDAAqD;AAWrD,SAAgB,QAAQ,CACtB,2BAA0F,EAC1F,cAAsB;IAEtB,IAAI,kBAA6D,CAAC;IAClE,IAAI,OAAO,2BAA2B,KAAK,UAAU,EAAE;QACrD,kBAAkB,GAAG,2BAA2B,CAAC;KAClD;SAAM;QACL,kBAAkB,GAAG,2BAA2B,CAAC,kBAAkB,CAAC;QACpE,cAAc,GAAG,2BAA2B,CAAC,cAAc,CAAC;KAC7D;IACD,cAAc,GAAG,cAAc,IAAI,EAAE,CAAC;IAEtC,OAAO,SAAS,IAAI,CAAC,IAA2B;QAC9C,MAAM,
|
|
1
|
+
{"version":3,"file":"sassTask.js","sourceRoot":"","sources":["../../src/tasks/sassTask.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/tarTask.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.extractTarTask = exports.createTarTask = void 0;
|
|
15
4
|
const just_task_1 = require("just-task");
|
|
@@ -22,18 +11,23 @@ const zlib_1 = require("zlib");
|
|
|
22
11
|
function createTarTask(options = { file: 'archive.tar.gz' }) {
|
|
23
12
|
const resolvedTar = just_task_1.resolve('tar-fs');
|
|
24
13
|
// Inject default options
|
|
25
|
-
options =
|
|
14
|
+
options = { cwd: process.cwd(), gzip: true, ...options };
|
|
26
15
|
// Validate whether tar-fs is installed
|
|
27
16
|
if (!resolvedTar) {
|
|
28
17
|
just_task_1.logger.error('Please make sure to have "tar-fs" as a dependency in your package.json');
|
|
29
18
|
throw new Error('Required dependency "tar-fs" is not installed!');
|
|
30
19
|
}
|
|
31
20
|
const tar = require(resolvedTar);
|
|
32
|
-
const { entries, file, cwd
|
|
21
|
+
const { entries, file, cwd, ...restOptions } = options;
|
|
33
22
|
return function archive(done) {
|
|
34
|
-
let tarStream = tar.pack(cwd,
|
|
23
|
+
let tarStream = tar.pack(cwd, {
|
|
24
|
+
entries,
|
|
25
|
+
finalize: true,
|
|
26
|
+
finish: () => {
|
|
35
27
|
done();
|
|
36
|
-
}
|
|
28
|
+
},
|
|
29
|
+
...restOptions,
|
|
30
|
+
});
|
|
37
31
|
if (options.gzip) {
|
|
38
32
|
const gzip = typeof options.gzip === 'boolean' ? zlib_1.createGzip() : zlib_1.createGzip(options.gzip);
|
|
39
33
|
tarStream = tarStream.pipe(gzip);
|
|
@@ -49,23 +43,27 @@ exports.createTarTask = createTarTask;
|
|
|
49
43
|
function extractTarTask(options = { file: 'archive.tar.gz' }) {
|
|
50
44
|
const resolvedTar = just_task_1.resolve('tar-fs');
|
|
51
45
|
// Inject default options
|
|
52
|
-
options =
|
|
46
|
+
options = { cwd: process.cwd(), gzip: true, ...options };
|
|
53
47
|
// Validate whether tar-fs is installed
|
|
54
48
|
if (!resolvedTar) {
|
|
55
49
|
just_task_1.logger.error('Please make sure to have "tar-fs" as a dependency in your package.json');
|
|
56
50
|
throw new Error('Required dependency "tar-fs" is not installed!');
|
|
57
51
|
}
|
|
58
52
|
const tar = require(resolvedTar);
|
|
59
|
-
const { cwd, file
|
|
53
|
+
const { cwd, file, ...restOptions } = options;
|
|
60
54
|
return function extract(done) {
|
|
61
55
|
let tarStream = fs_1.createReadStream(file);
|
|
62
56
|
if (options.gzip) {
|
|
63
57
|
const gunzip = zlib_1.createGunzip();
|
|
64
58
|
tarStream = tarStream.pipe(gunzip);
|
|
65
59
|
}
|
|
66
|
-
tarStream = tarStream.pipe(tar.extract(cwd,
|
|
60
|
+
tarStream = tarStream.pipe(tar.extract(cwd, {
|
|
61
|
+
finalize: true,
|
|
62
|
+
finish: () => {
|
|
67
63
|
done();
|
|
68
|
-
}
|
|
64
|
+
},
|
|
65
|
+
...restOptions,
|
|
66
|
+
}));
|
|
69
67
|
};
|
|
70
68
|
}
|
|
71
69
|
exports.extractTarTask = extractTarTask;
|
package/lib/tasks/tarTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarTask.js","sourceRoot":"","sources":["../../src/tasks/tarTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tarTask.js","sourceRoot":"","sources":["../../src/tasks/tarTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,2BAAyD;AACzD,+BAAgD;AAuDhD;;;GAGG;AACH,SAAgB,aAAa,CAAC,UAAyB,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC/E,MAAM,WAAW,GAAG,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,yBAAyB;IACzB,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAEzD,uCAAuC;IACvC,IAAI,CAAC,WAAW,EAAE;QAChB,kBAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAEvD,OAAO,SAAS,OAAO,CAAC,IAAI;QAC1B,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,EAAE,CAAC;YACT,CAAC;YACD,GAAG,WAAW;SACf,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAU,EAAE,CAAC,CAAC,CAAC,iBAAU,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;YAChG,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,SAAS,CAAC,IAAI,CAAC,sBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAjCD,sCAiCC;AAkCD;;;GAGG;AACH,SAAgB,cAAc,CAAC,UAA0B,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACjF,MAAM,WAAW,GAAG,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,yBAAyB;IACzB,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAEzD,uCAAuC;IACvC,IAAI,CAAC,WAAW,EAAE;QAChB,kBAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAE9C,OAAO,SAAS,OAAO,CAAC,IAAI;QAC1B,IAAI,SAAS,GAAW,qBAAgB,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,mBAAY,EAAE,CAAC;YAC9B,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,SAAS,GAAG,SAAS,CAAC,IAAI,CACxB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,EAAE,CAAC;YACT,CAAC;YACD,GAAG,WAAW;SACf,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAlCD,wCAkCC"}
|
package/lib/tasks/tscTask.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.tscWatchTask = exports.tscTask = void 0;
|
|
15
4
|
const just_task_1 = require("just-task");
|
|
@@ -25,7 +14,7 @@ function tscTask(options = {}) {
|
|
|
25
14
|
}
|
|
26
15
|
return function tsc() {
|
|
27
16
|
// Read from options argument, if not there try the tsConfigFile found in root, if not then skip and use no config
|
|
28
|
-
options =
|
|
17
|
+
options = { ...options, ...getProjectOrBuildOptions(options) };
|
|
29
18
|
if (isValidProject(options)) {
|
|
30
19
|
just_task_1.logger.info(`Running ${tscCmd} with ${options.project || options.build}`);
|
|
31
20
|
const args = argsFromOptions(tscCmd, options);
|
|
@@ -46,7 +35,7 @@ function tscWatchTask(options = {}) {
|
|
|
46
35
|
throw new Error('cannot find tsc');
|
|
47
36
|
}
|
|
48
37
|
return function tscWatch() {
|
|
49
|
-
options =
|
|
38
|
+
options = { ...options, ...getProjectOrBuildOptions(options) };
|
|
50
39
|
if (isValidProject(options)) {
|
|
51
40
|
just_task_1.logger.info(`Running ${tscCmd} with ${options.project || options.build} in watch mode`);
|
|
52
41
|
const args = argsFromOptions(tscCmd, options);
|
|
@@ -87,7 +76,7 @@ function isValidProject(options) {
|
|
|
87
76
|
* Returns an array of CLI arguments for TSC given the `options`.
|
|
88
77
|
*/
|
|
89
78
|
function argsFromOptions(tscCmd, options) {
|
|
90
|
-
const { nodeArgs
|
|
79
|
+
const { nodeArgs, ...rest } = options;
|
|
91
80
|
return [
|
|
92
81
|
...(nodeArgs ? nodeArgs : []),
|
|
93
82
|
...Object.keys(rest).reduce((currentArgs, option) => {
|
package/lib/tasks/tscTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tscTask.js","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tscTask.js","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function webpackCliTask(options = {}) {
|
|
|
22
22
|
];
|
|
23
23
|
let configPath = findWebpackConfig_1.findWebpackConfig('webpack.config.js');
|
|
24
24
|
if (configPath) {
|
|
25
|
-
options.env =
|
|
25
|
+
options.env = { ...options.env, ...(configPath.endsWith('.ts') && getTsNodeEnv_1.getTsNodeEnv(options.tsconfig, options.transpileOnly)) };
|
|
26
26
|
}
|
|
27
27
|
if (options.webpackCliArgs) {
|
|
28
28
|
const configIndex = options.webpackCliArgs.indexOf('--config');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpackCliTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,2DAA2C;AAC3C,6DAA0D;AAC1D,oEAAiE;AA8BjE;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,aAAa,GAAG,mBAAO,CAAC,wBAAwB,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,SAAS,UAAU;QACxB,kBAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,aAAa;YACb,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC;QAEF,IAAI,UAAU,GAAG,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;QAExD,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"webpackCliTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,2DAA2C;AAC3C,6DAA0D;AAC1D,oEAAiE;AA8BjE;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,aAAa,GAAG,mBAAO,CAAC,wBAAwB,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,SAAS,UAAU;QACxB,kBAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,aAAa;YACb,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC;QAEF,IAAI,UAAU,GAAG,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;QAExD,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,2BAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;SAC5H;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;YAChG,IAAI,mBAAmB,EAAE;gBACvB,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;aACtD;SACF;QAED,kBAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5E,OAAO,0BAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AAlCD,wCAkCC"}
|
|
@@ -28,7 +28,7 @@ function webpackDevServerTask(options = {}) {
|
|
|
28
28
|
let args = [...(options.nodeArgs || []), ...devServerCmd];
|
|
29
29
|
if (configPath && fs.existsSync(configPath)) {
|
|
30
30
|
args = [...args, '--config', configPath];
|
|
31
|
-
options.env =
|
|
31
|
+
options.env = { ...options.env, ...(configPath.endsWith('.ts') && getTsNodeEnv_1.getTsNodeEnv(options.tsconfig, options.transpileOnly)) };
|
|
32
32
|
}
|
|
33
33
|
if (options.open) {
|
|
34
34
|
args.push('--open');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpackDevServerTask.js","sourceRoot":"","sources":["../../src/tasks/webpackDevServerTask.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,yCAAsE;AACtE,yBAAyB;AACzB,6BAA6B;AAE7B,6DAA0D;AAC1D,oEAAiE;AACjE,iCAAiC;AAwCjC,SAAgB,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,MAAM,UAAU,GACd,OAAO,IAAI,OAAO,CAAC,MAAM;QACvB,CAAC,CAAC,sBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,qCAAiB,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAExE,kGAAkG;IAClG,MAAM,cAAc,GAAG,mBAAO,CAAC,0BAA0B,CAAC,CAAC;IAE3D,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;KAChG;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,eAAe;QAClC,CAAC,CAAC,oEAAoE;YACpE,CAAC,mBAAO,CAAC,wBAAwB,CAAE,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,oEAAoE;YACpE,CAAC,mBAAO,CAAC,8CAA8C,CAAE,CAAC,CAAC;IAE/D,OAAO,SAAS,gBAAgB;QAC9B,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;QAE1D,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC3C,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"webpackDevServerTask.js","sourceRoot":"","sources":["../../src/tasks/webpackDevServerTask.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,yCAAsE;AACtE,yBAAyB;AACzB,6BAA6B;AAE7B,6DAA0D;AAC1D,oEAAiE;AACjE,iCAAiC;AAwCjC,SAAgB,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,MAAM,UAAU,GACd,OAAO,IAAI,OAAO,CAAC,MAAM;QACvB,CAAC,CAAC,sBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,qCAAiB,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAExE,kGAAkG;IAClG,MAAM,cAAc,GAAG,mBAAO,CAAC,0BAA0B,CAAC,CAAC;IAE3D,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;KAChG;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,eAAe;QAClC,CAAC,CAAC,oEAAoE;YACpE,CAAC,mBAAO,CAAC,wBAAwB,CAAE,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,oEAAoE;YACpE,CAAC,mBAAO,CAAC,8CAA8C,CAAE,CAAC,CAAC;IAE/D,OAAO,SAAS,gBAAgB;QAC9B,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;QAE1D,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC3C,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,2BAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;SAC5H;QAED,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrB;QAED,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;SAC7C;QAED,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,0BAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AA9CD,oDA8CC"}
|
package/lib/tasks/webpackTask.js
CHANGED
|
@@ -1,24 +1,4 @@
|
|
|
1
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 __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
3
|
exports.webpackTask = void 0;
|
|
24
4
|
const just_task_1 = require("just-task");
|
|
@@ -29,67 +9,65 @@ const webpack_merge_1 = require("webpack-merge");
|
|
|
29
9
|
const findWebpackConfig_1 = require("../webpack/findWebpackConfig");
|
|
30
10
|
const enableTypeScript_1 = require("just-task/lib/enableTypeScript");
|
|
31
11
|
function webpackTask(options) {
|
|
32
|
-
return function webpack() {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
yield results;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (options && options.outputStats) {
|
|
75
|
-
const statsFile = options.outputStats === true ? 'stats.json' : options.outputStats;
|
|
76
|
-
fs.writeFileSync(statsFile, JSON.stringify(stats.toJson(), null, 2));
|
|
12
|
+
return async function webpack() {
|
|
13
|
+
const wp = tryRequire_1.tryRequire('webpack');
|
|
14
|
+
if (!wp) {
|
|
15
|
+
just_task_1.logger.warn('webpack is not installed, this task no effect');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
just_task_1.logger.info(`Running Webpack`);
|
|
19
|
+
const webpackConfigPath = options && options.config ? just_task_1.resolveCwd(path.join('.', options.config)) : findWebpackConfig_1.findWebpackConfig('webpack.config.js');
|
|
20
|
+
just_task_1.logger.info(`Webpack Config Path: ${webpackConfigPath}`);
|
|
21
|
+
if (webpackConfigPath && fs.existsSync(webpackConfigPath) && webpackConfigPath.endsWith('.ts')) {
|
|
22
|
+
const transpileOnly = options ? options.transpileOnly !== false : true;
|
|
23
|
+
enableTypeScript_1.enableTypeScript({ transpileOnly });
|
|
24
|
+
}
|
|
25
|
+
const configLoader = webpackConfigPath ? require(path.resolve(webpackConfigPath)) : {};
|
|
26
|
+
let webpackConfigs;
|
|
27
|
+
// If the loaded webpack config is a function
|
|
28
|
+
// call it with the original process.argv arguments from build.js.
|
|
29
|
+
if (typeof configLoader == 'function') {
|
|
30
|
+
webpackConfigs = configLoader(just_task_1.argv().env, just_task_1.argv());
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
webpackConfigs = configLoader;
|
|
34
|
+
}
|
|
35
|
+
if (!Array.isArray(webpackConfigs)) {
|
|
36
|
+
webpackConfigs = [webpackConfigs];
|
|
37
|
+
}
|
|
38
|
+
// Convert everything to promises first to make sure we resolve all promises
|
|
39
|
+
const webpackConfigPromises = await Promise.all(webpackConfigs.map(webpackConfig => Promise.resolve(webpackConfig)));
|
|
40
|
+
// We support passing in arbitrary webpack config options that we need to merge with any read configs.
|
|
41
|
+
// To do this, we need to filter out the properties that aren't valid config options and then run webpack merge.
|
|
42
|
+
// A better long term solution here would be to have an option called webpackConfigOverrides instead of extending the configuration object.
|
|
43
|
+
const { config, outputStats, ...restConfig } = options || {};
|
|
44
|
+
webpackConfigs = webpackConfigPromises.map(webpackConfig => webpack_merge_1.merge(webpackConfig, restConfig));
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
wp(webpackConfigs, async (err, stats) => {
|
|
47
|
+
if (options && options.onCompile) {
|
|
48
|
+
const results = options.onCompile(err, stats);
|
|
49
|
+
if (typeof results === 'object' && results.then) {
|
|
50
|
+
await results;
|
|
77
51
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
52
|
+
}
|
|
53
|
+
if (options && options.outputStats) {
|
|
54
|
+
const statsFile = options.outputStats === true ? 'stats.json' : options.outputStats;
|
|
55
|
+
fs.writeFileSync(statsFile, JSON.stringify(stats.toJson(), null, 2));
|
|
56
|
+
}
|
|
57
|
+
if (err || stats.hasErrors()) {
|
|
58
|
+
// Stats may be undefined the the case of an error in Webpack 5
|
|
59
|
+
if (stats) {
|
|
60
|
+
just_task_1.logger.error(stats.toString({ children: webpackConfigs.map(c => c.stats) }));
|
|
61
|
+
reject(`Webpack failed with ${stats.toJson('errors-only').errors.length} error(s).`);
|
|
88
62
|
}
|
|
89
63
|
else {
|
|
90
|
-
|
|
64
|
+
just_task_1.logger.error(err.toString());
|
|
65
|
+
reject(`Webpack failed with error(s).`);
|
|
91
66
|
}
|
|
92
|
-
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
resolve();
|
|
70
|
+
}
|
|
93
71
|
});
|
|
94
72
|
});
|
|
95
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpackTask.js","sourceRoot":"","sources":["../../src/tasks/webpackTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webpackTask.js","sourceRoot":"","sources":["../../src/tasks/webpackTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,10 @@ function createStyleLoaderRule(cssOptions, preprocessor = null) {
|
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
loader: 'css-loader',
|
|
45
|
-
options:
|
|
45
|
+
options: {
|
|
46
|
+
...moduleOptions,
|
|
47
|
+
importLoaders: preloaders.length,
|
|
48
|
+
},
|
|
46
49
|
},
|
|
47
50
|
...preloaders,
|
|
48
51
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylesOverlay.js","sourceRoot":"","sources":["../../../src/webpack/overlays/stylesOverlay.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,iDAA8C;AAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAClC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAChD,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAO1D,SAAS,qBAAqB,CAAC,UAA4B,EAAE,eAAqC,IAAI;IACpG,MAAM,WAAW,GAAG,mBAAO,CAAC,sCAAsC,CAAC,IAAI,mBAAO,CAAC,cAAc,CAAC,CAAC;IAC/F,MAAM,aAAa,GAAG,mBAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,aAAa;YACf,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE;wBACP,OAAO,EAAE;4BACP,OAAO,CAAC,uBAAU,CAAC,cAAc,CAAC,CAAC,CAAC;wBACtC,CAAC;qBACF;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;IAEF,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc;QAC7C,CAAC,CAAC;YACE,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C;SACF;QACH,CAAC,CAAC;YACE,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC;IAEN,OAAO;QACL;YACE,MAAM,EAAE,WAAW;SACpB;QACD;YACE,MAAM,EAAE,YAAY;YACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"stylesOverlay.js","sourceRoot":"","sources":["../../../src/webpack/overlays/stylesOverlay.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "just-scripts",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Just Stack Scripts",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"repository": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"fs-extra": "^8.0.0",
|
|
28
28
|
"glob": "^7.1.3",
|
|
29
29
|
"just-scripts-utils": ">=1.1.5 <2.0.0",
|
|
30
|
-
"just-task": ">=1.
|
|
30
|
+
"just-task": ">=1.5.0 <2.0.0",
|
|
31
31
|
"prompts": "^2.4.0",
|
|
32
32
|
"run-parallel-limit": "^1.0.6",
|
|
33
33
|
"semver": "^7.0.0",
|
|
@@ -13,6 +13,13 @@ export interface CopyInstruction {
|
|
|
13
13
|
* The path+filename of the destination file.
|
|
14
14
|
*/
|
|
15
15
|
destinationFilePath: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Set to true if a copy or merge should be performed, false if a symlink should be created.
|
|
19
|
+
* If multiple source files are specified (i.e. a merge), this must be true or undefined.
|
|
20
|
+
* The default value of undefined is equivalent to true for a merge, false in all other cases.
|
|
21
|
+
*/
|
|
22
|
+
noSymlink?: boolean;
|
|
16
23
|
}
|
|
17
24
|
|
|
18
25
|
export interface CopyConfig {
|
|
@@ -24,10 +31,15 @@ export interface CopyConfig {
|
|
|
24
31
|
* For example copyFilesToDestinationDirectory(['some/path/foo.js', 'bar.js'], 'dest/target') would result in the creation of
|
|
25
32
|
* files 'dest/target/foo.js' and 'dest/target/bar.js'.
|
|
26
33
|
*/
|
|
27
|
-
export function copyFilesToDestinationDirectory(
|
|
34
|
+
export function copyFilesToDestinationDirectory(
|
|
35
|
+
sourceFilePaths: string | string[],
|
|
36
|
+
destinationDirectory: string,
|
|
37
|
+
noSymlinks?: boolean,
|
|
38
|
+
): CopyInstruction[] {
|
|
28
39
|
return arrayify(sourceFilePaths).map(sourceName => ({
|
|
29
40
|
sourceFilePath: normalize(sourceName),
|
|
30
41
|
destinationFilePath: join(destinationDirectory, basename(sourceName)),
|
|
42
|
+
noSymlink: noSymlinks,
|
|
31
43
|
}));
|
|
32
44
|
}
|
|
33
45
|
|
|
@@ -40,8 +52,9 @@ export function copyFileToDestinationDirectoryWithRename(
|
|
|
40
52
|
sourceFilePath: string,
|
|
41
53
|
destinationName: string,
|
|
42
54
|
destinationDirectory: string,
|
|
55
|
+
noSymlink?: boolean,
|
|
43
56
|
): CopyInstruction[] {
|
|
44
|
-
return [{ sourceFilePath, destinationFilePath: join(destinationDirectory, destinationName) }];
|
|
57
|
+
return [{ sourceFilePath, destinationFilePath: join(destinationDirectory, destinationName), noSymlink }];
|
|
45
58
|
}
|
|
46
59
|
|
|
47
60
|
/**
|
|
@@ -52,10 +65,12 @@ export function copyFileToDestinationDirectoryWithRename(
|
|
|
52
65
|
export function copyFilesToDestinationDirectoryWithRename(
|
|
53
66
|
instrs: { sourceFilePath: string; destinationName: string }[],
|
|
54
67
|
destinationDirectory: string,
|
|
68
|
+
noSymlinks?: boolean,
|
|
55
69
|
): CopyInstruction[] {
|
|
56
70
|
return instrs.map(instr => ({
|
|
57
71
|
sourceFilePath: instr.sourceFilePath,
|
|
58
72
|
destinationFilePath: join(destinationDirectory, instr.destinationName),
|
|
73
|
+
noSymlink: noSymlinks,
|
|
59
74
|
}));
|
|
60
75
|
}
|
|
61
76
|
|
|
@@ -67,6 +82,7 @@ export function copyFilesInDirectory(
|
|
|
67
82
|
sourceDirectoryPath: string,
|
|
68
83
|
outputDirectoryPath: string,
|
|
69
84
|
filterFunction?: (file: string) => boolean,
|
|
85
|
+
noSymlinks?: boolean,
|
|
70
86
|
): CopyInstruction[] {
|
|
71
87
|
let files = readdirSync(sourceDirectoryPath);
|
|
72
88
|
|
|
@@ -76,6 +92,7 @@ export function copyFilesInDirectory(
|
|
|
76
92
|
return files.map(file => ({
|
|
77
93
|
sourceFilePath: join(sourceDirectoryPath, file),
|
|
78
94
|
destinationFilePath: join(outputDirectoryPath, file),
|
|
95
|
+
noSymlink: noSymlinks,
|
|
79
96
|
}));
|
|
80
97
|
}
|
|
81
98
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import * as mockfs from 'mock-fs';
|
|
1
2
|
import * as path from 'path';
|
|
2
3
|
import * as fs from 'fs';
|
|
3
|
-
import mockfs = require('mock-fs');
|
|
4
4
|
// import { dirSync, fileSync, DirResult, FileResult } from 'tmp';
|
|
5
5
|
import { executeCopyInstructions } from '../executeCopyInstructions';
|
|
6
|
+
import { CopyInstruction } from '../CopyInstruction';
|
|
6
7
|
|
|
7
8
|
describe('executeCopyInstructions functional tests', () => {
|
|
8
9
|
const sourceDir = 'sourceDir';
|
|
@@ -30,8 +31,8 @@ describe('executeCopyInstructions functional tests', () => {
|
|
|
30
31
|
mockfs.restore();
|
|
31
32
|
});
|
|
32
33
|
|
|
33
|
-
it('executes single source copy instructions', async () => {
|
|
34
|
-
const copyInstruction = {
|
|
34
|
+
it('executes single source copy instructions (symlink)', async () => {
|
|
35
|
+
const copyInstruction: CopyInstruction = {
|
|
35
36
|
sourceFilePath: sourceFilePath1,
|
|
36
37
|
destinationFilePath: destFilePath,
|
|
37
38
|
};
|
|
@@ -43,13 +44,15 @@ describe('executeCopyInstructions functional tests', () => {
|
|
|
43
44
|
});
|
|
44
45
|
|
|
45
46
|
expect(fs.existsSync(destFilePath)).toBeTruthy();
|
|
47
|
+
expect(fs.lstatSync(destFilePath).isSymbolicLink()).toBeTruthy();
|
|
46
48
|
expect(fs.readFileSync(destFilePath).toString()).toEqual(sourceFileContents1);
|
|
47
49
|
});
|
|
48
50
|
|
|
49
|
-
it('executes single source (arrayified) copy instructions', async () => {
|
|
50
|
-
const copyInstruction = {
|
|
51
|
+
it('executes single source (arrayified) copy instructions (copy)', async () => {
|
|
52
|
+
const copyInstruction: CopyInstruction = {
|
|
51
53
|
sourceFilePath: [sourceFilePath1],
|
|
52
54
|
destinationFilePath: destFilePath,
|
|
55
|
+
noSymlink: true,
|
|
53
56
|
};
|
|
54
57
|
|
|
55
58
|
expect(fs.existsSync(destFilePath)).toBeFalsy();
|
|
@@ -59,11 +62,12 @@ describe('executeCopyInstructions functional tests', () => {
|
|
|
59
62
|
});
|
|
60
63
|
|
|
61
64
|
expect(fs.existsSync(destFilePath)).toBeTruthy();
|
|
65
|
+
expect(fs.lstatSync(destFilePath).isSymbolicLink()).toBeFalsy();
|
|
62
66
|
expect(fs.readFileSync(destFilePath).toString()).toEqual(sourceFileContents1);
|
|
63
67
|
});
|
|
64
68
|
|
|
65
69
|
it('merges output', async () => {
|
|
66
|
-
const copyInstruction = {
|
|
70
|
+
const copyInstruction: CopyInstruction = {
|
|
67
71
|
sourceFilePath: [sourceFilePath1, sourceFilePath2],
|
|
68
72
|
destinationFilePath: destFilePath,
|
|
69
73
|
};
|
|
@@ -77,9 +81,24 @@ describe('executeCopyInstructions functional tests', () => {
|
|
|
77
81
|
});
|
|
78
82
|
|
|
79
83
|
expect(fs.existsSync(destFilePath)).toBeTruthy();
|
|
84
|
+
expect(fs.lstatSync(destFilePath).isSymbolicLink()).toBeFalsy();
|
|
80
85
|
expect(fs.readFileSync(destFilePath).toString()).toEqual(expectedOutput);
|
|
81
86
|
});
|
|
82
87
|
|
|
88
|
+
it('fails to validate merge + symlink copy instruction', async () => {
|
|
89
|
+
const copyInstruction: CopyInstruction = {
|
|
90
|
+
sourceFilePath: [sourceFilePath1, sourceFilePath2],
|
|
91
|
+
destinationFilePath: destFilePath,
|
|
92
|
+
noSymlink: false,
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const promise = executeCopyInstructions({
|
|
96
|
+
copyInstructions: [copyInstruction],
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
await expect(promise).rejects.toThrow();
|
|
100
|
+
});
|
|
101
|
+
|
|
83
102
|
/**
|
|
84
103
|
* TODO:
|
|
85
104
|
* Rationalize and document expected executeCopyInstructions behavior.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { dirname } from 'path';
|
|
2
|
-
import { readFile, writeFile, copy, ensureDir } from 'fs-extra';
|
|
1
|
+
import { dirname, resolve } from 'path';
|
|
2
|
+
import { readFile, writeFile, copy, ensureDir, ensureSymlink } from 'fs-extra';
|
|
3
3
|
import { CopyInstruction, CopyConfig } from './CopyInstruction';
|
|
4
4
|
import { arrayify } from '../arrayUtils/arrayify';
|
|
5
5
|
import { uniqueValues } from '../arrayUtils/uniqueValues';
|
|
@@ -9,11 +9,20 @@ import { uniqueValues } from '../arrayUtils/uniqueValues';
|
|
|
9
9
|
*/
|
|
10
10
|
export async function executeCopyInstructions(config: CopyConfig | undefined): Promise<void> {
|
|
11
11
|
if (config && config.copyInstructions) {
|
|
12
|
+
validateConfig(config.copyInstructions);
|
|
12
13
|
await createDirectories(config.copyInstructions);
|
|
13
14
|
await Promise.all(config.copyInstructions.map(executeSingleCopyInstruction));
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
|
|
18
|
+
function validateConfig(copyInstructions: CopyInstruction[]) {
|
|
19
|
+
copyInstructions.forEach(instr => {
|
|
20
|
+
if (instr.noSymlink === false && Array.isArray(instr.sourceFilePath) && instr.sourceFilePath.length > 1) {
|
|
21
|
+
throw new Error('Multiple source files cannot be specified when making a symlink');
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
17
26
|
function createDirectories(copyInstructions: CopyInstruction[]) {
|
|
18
27
|
return Promise.all(
|
|
19
28
|
uniqueValues(copyInstructions.map(instruction => dirname(instruction.destinationFilePath))).map(dirname => ensureDir(dirname)),
|
|
@@ -23,9 +32,13 @@ function createDirectories(copyInstructions: CopyInstruction[]) {
|
|
|
23
32
|
function executeSingleCopyInstruction(copyInstruction: CopyInstruction) {
|
|
24
33
|
const sourceFileNames = arrayify(copyInstruction.sourceFilePath);
|
|
25
34
|
|
|
26
|
-
// source and dest are 1-to-1? perform binary copy.
|
|
35
|
+
// source and dest are 1-to-1? perform binary copy or symlink as desired.
|
|
27
36
|
if (sourceFileNames.length === 1) {
|
|
28
|
-
|
|
37
|
+
if (copyInstruction.noSymlink) {
|
|
38
|
+
return copy(sourceFileNames[0], copyInstruction.destinationFilePath);
|
|
39
|
+
} else {
|
|
40
|
+
return ensureSymlink(resolve(sourceFileNames[0]), copyInstruction.destinationFilePath);
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
|
|
31
44
|
// perform text merge operation.
|
package/src/tasks/sassTask.ts
CHANGED
|
@@ -28,14 +28,14 @@ export function sassTask(
|
|
|
28
28
|
postcssPlugins = postcssPlugins || [];
|
|
29
29
|
|
|
30
30
|
return function sass(done: (err?: Error) => void) {
|
|
31
|
-
const
|
|
31
|
+
const sass = tryRequire('sass') || tryRequire('node-sass');
|
|
32
32
|
const postcss = tryRequire('postcss');
|
|
33
33
|
const autoprefixer = tryRequire('autoprefixer');
|
|
34
34
|
const postcssRtl = tryRequire('postcss-rtl');
|
|
35
35
|
const clean = tryRequire('postcss-clean');
|
|
36
36
|
|
|
37
|
-
if (!
|
|
38
|
-
logger.warn('One
|
|
37
|
+
if (!sass || !postcss || !autoprefixer) {
|
|
38
|
+
logger.warn('One or more dependencies (sass or node-sass, postcss, autoprefixer) is not installed, so this task has no effect');
|
|
39
39
|
done();
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
@@ -48,7 +48,7 @@ export function sassTask(
|
|
|
48
48
|
(fileName: string) =>
|
|
49
49
|
function (cb: any) {
|
|
50
50
|
fileName = path.resolve(fileName);
|
|
51
|
-
|
|
51
|
+
sass.render(
|
|
52
52
|
{
|
|
53
53
|
file: fileName,
|
|
54
54
|
importer: patchSassUrl,
|