@plugjs/plug 0.0.7 → 0.0.10
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/build.cjs.map +1 -1
- package/dist/build.mjs.map +1 -1
- package/dist/plugs/tsc/options.cjs +1 -2
- package/dist/plugs/tsc/options.cjs.map +1 -1
- package/dist/plugs/tsc/options.mjs +1 -2
- package/dist/plugs/tsc/options.mjs.map +1 -1
- package/dist/plugs/tsc/runner.cjs +31 -17
- package/dist/plugs/tsc/runner.cjs.map +1 -1
- package/dist/plugs/tsc/runner.mjs +32 -18
- package/dist/plugs/tsc/runner.mjs.map +1 -1
- package/dist/run.cjs +7 -13
- package/dist/run.cjs.map +1 -1
- package/dist/run.mjs +9 -15
- package/dist/run.mjs.map +1 -1
- package/package.json +2 -2
- package/src/plugs/tsc/options.ts +3 -3
- package/src/plugs/tsc/runner.ts +52 -28
- package/src/run.ts +12 -14
- package/types/build.d.ts +1 -1
- package/types/plugs/tsc/options.d.ts +1 -1
- package/types/run.d.ts +1 -1
package/dist/build.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/build.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAsC;AACtC,mBAAyB;AAEzB,iBAAqD;AACrD,mBAAgD;AAChD,kBAA+B;AAC/B,iBAA6B;AAC7B,kBAA+B;AAC/B,oBAA2B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["build", "error", "failures", "names", "name"]
|
|
6
6
|
}
|
package/dist/build.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/build.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,QAAQ,MAAM,eAAe;AACtC,SAAS,gBAAgB;AAEzB,SAAS,MAAM,KAAK,IAAI,YAAY,iBAAiB;AACrD,SAAuB,yBAAyB;AAChD,SAAe,gBAAgB;AAC/B,SAAc,eAAe;AAC7B,SAAe,gBAAgB;AAC/B,SAAS,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["build", "error", "failures", "names", "name"]
|
|
6
6
|
}
|
|
@@ -68,8 +68,7 @@ async function getCompilerOptions(file, ...override) {
|
|
|
68
68
|
if (file)
|
|
69
69
|
result = mergeResults(result, await loadOptions(file));
|
|
70
70
|
if (override.length) {
|
|
71
|
-
const [overrides, overridesFile] = override;
|
|
72
|
-
const overridesDir = (0, import_paths.getAbsoluteParent)(overridesFile);
|
|
71
|
+
const [overrides, overridesFile, overridesDir] = override;
|
|
73
72
|
const options = import_typescript.default.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
|
|
74
73
|
result = mergeResults(result, options);
|
|
75
74
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugs/tsc/options.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAqE;AACrE,qBAAyB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,UAAM,gCAAkB,IAAI;AAGlC,QAAM,OAAO,UAAM,yBAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,kBAAAA,QAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,UAAM,kCAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,kBAAAA,QAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,kBAAAA,QAAG,iBAAiB,MAAM,MAAM,kBAAAA,QAAG,aAAa,MAAM,OAAO,kBAAAA,QAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAqE;AACrE,qBAAyB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,UAAM,gCAAkB,IAAI;AAGlC,QAAM,OAAO,UAAM,yBAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,kBAAAA,QAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,UAAM,kCAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,kBAAAA,QAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,kBAAAA,QAAG,iBAAiB,MAAM,MAAM,kBAAAA,QAAG,aAAa,MAAM,OAAO,kBAAAA,QAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAgBA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,kBAAAA,QAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,eAAe,YAAa,IAAI;AACnD,UAAM,UAAU,kBAAAA,QAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
|
|
5
5
|
"names": ["ts"]
|
|
6
6
|
}
|
|
@@ -38,8 +38,7 @@ async function getCompilerOptions(file, ...override) {
|
|
|
38
38
|
if (file)
|
|
39
39
|
result = mergeResults(result, await loadOptions(file));
|
|
40
40
|
if (override.length) {
|
|
41
|
-
const [overrides, overridesFile] = override;
|
|
42
|
-
const overridesDir = getAbsoluteParent(overridesFile);
|
|
41
|
+
const [overrides, overridesFile, overridesDir] = override;
|
|
43
42
|
const options = ts.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
|
|
44
43
|
result = mergeResults(result, options);
|
|
45
44
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugs/tsc/options.ts"],
|
|
4
|
-
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,mBAAmB,2BAA2B;AACrE,SAAS,gBAAgB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,MAAM,kBAAkB,IAAI;AAGlC,QAAM,OAAO,MAAM,SAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,GAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,MAAM,oBAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,GAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,GAAG,iBAAiB,MAAM,MAAM,GAAG,aAAa,MAAM,OAAO,GAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;
|
|
4
|
+
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,mBAAmB,2BAA2B;AACrE,SAAS,gBAAgB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,MAAM,kBAAkB,IAAI;AAGlC,QAAM,OAAO,MAAM,SAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,GAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,MAAM,oBAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,GAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,GAAG,iBAAiB,MAAM,MAAM,GAAG,aAAa,MAAM,OAAO,GAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAgBA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,GAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,eAAe,YAAa,IAAI;AACnD,UAAM,UAAU,GAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -46,35 +46,49 @@ var Tsc = class {
|
|
|
46
46
|
this._options = options;
|
|
47
47
|
}
|
|
48
48
|
async pipe(files, run) {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
const baseDir = run.resolve(".");
|
|
50
|
+
const report = run.report("TypeScript Report");
|
|
51
|
+
const overrides = { ...this._options };
|
|
52
|
+
const sourcesConfig = (0, import_paths.isFile)(files.directory, "tsconfig.json");
|
|
53
|
+
const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : sourcesConfig || (0, import_paths.isFile)(run.resolve("tsconfig.json"));
|
|
54
|
+
let rootDir;
|
|
55
|
+
if (overrides.rootDir) {
|
|
56
|
+
rootDir = overrides.rootDir = run.resolve(overrides.rootDir);
|
|
57
|
+
} else {
|
|
58
|
+
rootDir = overrides.rootDir = files.directory;
|
|
59
|
+
}
|
|
60
|
+
let outDir;
|
|
61
|
+
if (overrides.outDir) {
|
|
62
|
+
outDir = overrides.outDir = run.resolve(overrides.outDir);
|
|
63
|
+
} else {
|
|
64
|
+
outDir = overrides.outDir = rootDir;
|
|
65
|
+
}
|
|
66
|
+
if (overrides.rootDirs) {
|
|
67
|
+
overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir));
|
|
68
|
+
}
|
|
69
|
+
if (overrides.baseUrl)
|
|
70
|
+
overrides.baseUrl = run.resolve(overrides.baseUrl);
|
|
54
71
|
const { errors, options } = await (0, import_options2.getCompilerOptions)(
|
|
55
72
|
tsconfig,
|
|
56
73
|
overrides,
|
|
57
|
-
run.buildFile
|
|
74
|
+
run.buildFile,
|
|
75
|
+
baseDir
|
|
58
76
|
);
|
|
59
|
-
|
|
60
|
-
(0, import_report.updateReport)(report, errors, (0, import_paths.getCurrentWorkingDirectory)());
|
|
77
|
+
(0, import_report.updateReport)(report, errors, baseDir);
|
|
61
78
|
if (report.errors)
|
|
62
79
|
report.done(true);
|
|
63
|
-
const { rootDir, outDir } = options;
|
|
64
|
-
const root = rootDir ? run.resolve(rootDir) : files.directory;
|
|
65
|
-
const out = outDir ? run.resolve(outDir) : root;
|
|
66
|
-
const host = new import_compiler.TypeScriptHost(root);
|
|
67
80
|
const paths = [...files.absolutePaths()];
|
|
68
81
|
for (const path of paths)
|
|
69
82
|
import_log.log.trace(`Compiling "${(0, import_log.$p)(path)}"`);
|
|
70
83
|
import_log.log.info("Compiling", paths.length, "files");
|
|
71
84
|
import_log.log.debug("Compliation options", options);
|
|
85
|
+
const host = new import_compiler.TypeScriptHost(rootDir);
|
|
72
86
|
const program = import_typescript.default.createProgram(paths, options, host, void 0, errors);
|
|
73
87
|
const diagnostics = import_typescript.default.getPreEmitDiagnostics(program);
|
|
74
|
-
(0, import_report.updateReport)(report, diagnostics,
|
|
88
|
+
(0, import_report.updateReport)(report, diagnostics, rootDir);
|
|
75
89
|
if (report.errors)
|
|
76
90
|
report.done(true);
|
|
77
|
-
const builder = run.files(
|
|
91
|
+
const builder = run.files(outDir);
|
|
78
92
|
const promises = [];
|
|
79
93
|
const result = program.emit(void 0, (fileName, code) => {
|
|
80
94
|
promises.push(builder.write(fileName, code).then((file) => {
|
|
@@ -84,13 +98,13 @@ var Tsc = class {
|
|
|
84
98
|
throw (0, import_assert.failure)();
|
|
85
99
|
}));
|
|
86
100
|
});
|
|
87
|
-
(0, import_report.updateReport)(report, result.diagnostics, root);
|
|
88
|
-
if (report.errors)
|
|
89
|
-
report.done(true);
|
|
90
101
|
const settlements = await Promise.allSettled(promises);
|
|
91
102
|
const failures = settlements.reduce((failures2, s) => failures2 + s.status === "rejected" ? 1 : 0, 0);
|
|
92
103
|
if (failures)
|
|
93
104
|
throw (0, import_assert.failure)();
|
|
105
|
+
(0, import_report.updateReport)(report, result.diagnostics, rootDir);
|
|
106
|
+
if (report.errors)
|
|
107
|
+
report.done(true);
|
|
94
108
|
const outputs = builder.build();
|
|
95
109
|
import_log.log.info("TSC produced", outputs.length, "files into", (0, import_log.$p)(outputs.directory));
|
|
96
110
|
return outputs;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugs/tsc/runner.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,oBAAwB;AAExB,iBAAwB;AACxB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_options", "ts", "failures"]
|
|
6
6
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import ts from "typescript";
|
|
3
3
|
import { failure } from "../../assert.mjs";
|
|
4
4
|
import { $p, log } from "../../log.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { isFile } from "../../paths.mjs";
|
|
6
6
|
import { parseOptions } from "../../utils/options.mjs";
|
|
7
7
|
import { TypeScriptHost } from "./compiler.mjs";
|
|
8
8
|
import { getCompilerOptions } from "./options.mjs";
|
|
@@ -16,35 +16,49 @@ var Tsc = class {
|
|
|
16
16
|
this._options = options;
|
|
17
17
|
}
|
|
18
18
|
async pipe(files, run) {
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
const baseDir = run.resolve(".");
|
|
20
|
+
const report = run.report("TypeScript Report");
|
|
21
|
+
const overrides = { ...this._options };
|
|
22
|
+
const sourcesConfig = isFile(files.directory, "tsconfig.json");
|
|
23
|
+
const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : sourcesConfig || isFile(run.resolve("tsconfig.json"));
|
|
24
|
+
let rootDir;
|
|
25
|
+
if (overrides.rootDir) {
|
|
26
|
+
rootDir = overrides.rootDir = run.resolve(overrides.rootDir);
|
|
27
|
+
} else {
|
|
28
|
+
rootDir = overrides.rootDir = files.directory;
|
|
29
|
+
}
|
|
30
|
+
let outDir;
|
|
31
|
+
if (overrides.outDir) {
|
|
32
|
+
outDir = overrides.outDir = run.resolve(overrides.outDir);
|
|
33
|
+
} else {
|
|
34
|
+
outDir = overrides.outDir = rootDir;
|
|
35
|
+
}
|
|
36
|
+
if (overrides.rootDirs) {
|
|
37
|
+
overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir));
|
|
38
|
+
}
|
|
39
|
+
if (overrides.baseUrl)
|
|
40
|
+
overrides.baseUrl = run.resolve(overrides.baseUrl);
|
|
24
41
|
const { errors, options } = await getCompilerOptions(
|
|
25
42
|
tsconfig,
|
|
26
43
|
overrides,
|
|
27
|
-
run.buildFile
|
|
44
|
+
run.buildFile,
|
|
45
|
+
baseDir
|
|
28
46
|
);
|
|
29
|
-
|
|
30
|
-
updateReport(report, errors, getCurrentWorkingDirectory());
|
|
47
|
+
updateReport(report, errors, baseDir);
|
|
31
48
|
if (report.errors)
|
|
32
49
|
report.done(true);
|
|
33
|
-
const { rootDir, outDir } = options;
|
|
34
|
-
const root = rootDir ? run.resolve(rootDir) : files.directory;
|
|
35
|
-
const out = outDir ? run.resolve(outDir) : root;
|
|
36
|
-
const host = new TypeScriptHost(root);
|
|
37
50
|
const paths = [...files.absolutePaths()];
|
|
38
51
|
for (const path of paths)
|
|
39
52
|
log.trace(`Compiling "${$p(path)}"`);
|
|
40
53
|
log.info("Compiling", paths.length, "files");
|
|
41
54
|
log.debug("Compliation options", options);
|
|
55
|
+
const host = new TypeScriptHost(rootDir);
|
|
42
56
|
const program = ts.createProgram(paths, options, host, void 0, errors);
|
|
43
57
|
const diagnostics = ts.getPreEmitDiagnostics(program);
|
|
44
|
-
updateReport(report, diagnostics,
|
|
58
|
+
updateReport(report, diagnostics, rootDir);
|
|
45
59
|
if (report.errors)
|
|
46
60
|
report.done(true);
|
|
47
|
-
const builder = run.files(
|
|
61
|
+
const builder = run.files(outDir);
|
|
48
62
|
const promises = [];
|
|
49
63
|
const result = program.emit(void 0, (fileName, code) => {
|
|
50
64
|
promises.push(builder.write(fileName, code).then((file) => {
|
|
@@ -54,13 +68,13 @@ var Tsc = class {
|
|
|
54
68
|
throw failure();
|
|
55
69
|
}));
|
|
56
70
|
});
|
|
57
|
-
updateReport(report, result.diagnostics, root);
|
|
58
|
-
if (report.errors)
|
|
59
|
-
report.done(true);
|
|
60
71
|
const settlements = await Promise.allSettled(promises);
|
|
61
72
|
const failures = settlements.reduce((failures2, s) => failures2 + s.status === "rejected" ? 1 : 0, 0);
|
|
62
73
|
if (failures)
|
|
63
74
|
throw failure();
|
|
75
|
+
updateReport(report, result.diagnostics, rootDir);
|
|
76
|
+
if (report.errors)
|
|
77
|
+
report.done(true);
|
|
64
78
|
const outputs = builder.build();
|
|
65
79
|
log.info("TSC produced", outputs.length, "files into", $p(outputs.directory));
|
|
66
80
|
return outputs;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugs/tsc/runner.ts"],
|
|
4
|
-
"mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAS,eAAe;AAExB,SAAS,IAAI,WAAW;AACxB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["failures"]
|
|
6
6
|
}
|
package/dist/run.cjs
CHANGED
|
@@ -24,7 +24,6 @@ __export(run_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(run_exports);
|
|
26
26
|
var import_node_path = require("node:path");
|
|
27
|
-
var import_assert = require("./assert.cjs");
|
|
28
27
|
var import_files = require("./files.cjs");
|
|
29
28
|
var import_log = require("./log.cjs");
|
|
30
29
|
var import_paths = require("./paths.cjs");
|
|
@@ -48,19 +47,14 @@ var RunImpl = class {
|
|
|
48
47
|
report(title) {
|
|
49
48
|
return (0, import_log.createReport)(title, this.taskName);
|
|
50
49
|
}
|
|
51
|
-
resolve(...paths) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return this.buildDir;
|
|
55
|
-
if (path.startsWith("@")) {
|
|
56
|
-
const components = (0, import_node_path.normalize)(path.substring(1)).split(import_node_path.sep);
|
|
57
|
-
const relative = (0, import_node_path.join)(...components);
|
|
58
|
-
(0, import_assert.assert)(!(0, import_paths.isAbsolutePath)(relative), `Path "${path.substring(1)}" is absolute`);
|
|
59
|
-
return (0, import_paths.resolveAbsolutePath)(this.buildDir, relative);
|
|
50
|
+
resolve(path, ...paths) {
|
|
51
|
+
if (path && path.startsWith("@")) {
|
|
52
|
+
const components = path.substring(1).split(import_node_path.sep).filter((s) => !!s);
|
|
53
|
+
return (0, import_paths.resolveAbsolutePath)(this.buildDir, ...components, ...paths);
|
|
60
54
|
}
|
|
61
|
-
if (
|
|
62
|
-
return
|
|
63
|
-
return (0, import_paths.resolveAbsolutePath)((0, import_paths.getCurrentWorkingDirectory)(), path);
|
|
55
|
+
if (!path)
|
|
56
|
+
return (0, import_paths.getCurrentWorkingDirectory)();
|
|
57
|
+
return (0, import_paths.resolveAbsolutePath)((0, import_paths.getCurrentWorkingDirectory)(), path, ...paths);
|
|
64
58
|
}
|
|
65
59
|
files(first, ...paths) {
|
|
66
60
|
if (typeof first === "string") {
|
package/dist/run.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/run.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAoB;AACpB,mBAAoC;AACpC,iBAAwF;AACxF,mBAA8E;AAC9E,kBAA+B;AAC/B,qBAA2C;AAC3C,kBAAkC;AAgF3B,IAAM,UAAN,MAA6B;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIT,YAAY,EAAE,UAAU,UAAU,WAAW,IAAI,GAA2B;AAC1E,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,YAAY;AACjB,SAAK,MAAM,WAAO,sBAAU,QAAQ;AAAA,EACtC;AAAA,EAGA,YAAY,OAA6B;AACvC,SAAK,IAAI,YAAQ,2BAAe,KAAK;AAAA,EACvC;AAAA,EAEA,OAAO,OAAuB;AAC5B,eAAO,yBAAa,OAAO,KAAK,QAAQ;AAAA,EAC1C;AAAA,EAEA,QAAQ,SAAkB,OAA+B;AAEvD,QAAI,QAAQ,KAAK,WAAW,GAAG,GAAG;AAEhC,YAAM,aAAa,KAAK,UAAU,CAAC,EAAE,MAAM,oBAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,iBAAO,kCAAoB,KAAK,UAAU,GAAG,YAAY,GAAG,KAAK;AAAA,IACnE;AAGA,QAAI,CAAE;AAAM,iBAAO,yCAA2B;AAG9C,eAAO,sCAAoB,yCAA2B,GAAG,MAAM,GAAG,KAAK;AAAA,EACzE;AAAA,EAIA,MAAM,UAAsC,OAA+B;AACzE,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,mBAAM,QAAQ,KAAK,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,IACpD,WAAW,OAAO;AAChB,aAAO,mBAAM,QAAQ,KAAK;AAAA,IAC5B,OAAO;AACL,aAAO,mBAAM,QAAQ,KAAK,QAAQ,CAAC;AAAA,IACrC;AAAA,EACF;AAAA,EAEA,KAAK,SAAiB,MAAwD;AAC5E,UAAM,EAAE,QAAQ,SAAS,EAAE,cAAc,QAAQ,EAAE,QAAI,6BAAa,MAAM,CAAC,CAAC;AAE5E,UAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACjD,YAAM,UAAU,KAAK,MAAM,aAAa,GAAG;AAC3C,uBAAiB,YAAQ,kBAAK,QAAQ,WAAW,CAAE,MAAM,GAAG,MAAO,GAAG,OAAO,GAAG;AAC9E,gBAAQ,UAAU,IAAI;AAAA,MACxB;AACA,aAAO,QAAQ,MAAM;AAAA,IACvB,CAAC;AAED,WAAO,KAAK,KAAK,OAAO;AAAA,EAC1B;AAAA,EAEA,KAAK,OAAsD;AACzD,WAAO,IAAI,qBAAS,OAAO,IAAI;AAAA,EACjC;AAAA,EAEA,KAAK,MAA0C;AAC7C,UAAM,IAAI,MAAM,wBAAwB,OAAO;AAAA,EACjD;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/run.mjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// run.ts
|
|
2
|
-
import {
|
|
3
|
-
import { assert } from "./assert.mjs";
|
|
2
|
+
import { sep } from "node:path";
|
|
4
3
|
import { Files } from "./files.mjs";
|
|
5
4
|
import { createReport, getLevelNumber, getLogger } from "./log.mjs";
|
|
6
|
-
import { getCurrentWorkingDirectory,
|
|
5
|
+
import { getCurrentWorkingDirectory, resolveAbsolutePath } from "./paths.mjs";
|
|
7
6
|
import { PipeImpl } from "./pipe.mjs";
|
|
8
7
|
import { parseOptions } from "./utils/options.mjs";
|
|
9
8
|
import { walk } from "./utils/walk.mjs";
|
|
@@ -24,19 +23,14 @@ var RunImpl = class {
|
|
|
24
23
|
report(title) {
|
|
25
24
|
return createReport(title, this.taskName);
|
|
26
25
|
}
|
|
27
|
-
resolve(...paths) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return this.buildDir;
|
|
31
|
-
if (path.startsWith("@")) {
|
|
32
|
-
const components = normalize(path.substring(1)).split(sep);
|
|
33
|
-
const relative = join(...components);
|
|
34
|
-
assert(!isAbsolutePath(relative), `Path "${path.substring(1)}" is absolute`);
|
|
35
|
-
return resolveAbsolutePath(this.buildDir, relative);
|
|
26
|
+
resolve(path, ...paths) {
|
|
27
|
+
if (path && path.startsWith("@")) {
|
|
28
|
+
const components = path.substring(1).split(sep).filter((s) => !!s);
|
|
29
|
+
return resolveAbsolutePath(this.buildDir, ...components, ...paths);
|
|
36
30
|
}
|
|
37
|
-
if (
|
|
38
|
-
return
|
|
39
|
-
return resolveAbsolutePath(getCurrentWorkingDirectory(), path);
|
|
31
|
+
if (!path)
|
|
32
|
+
return getCurrentWorkingDirectory();
|
|
33
|
+
return resolveAbsolutePath(getCurrentWorkingDirectory(), path, ...paths);
|
|
40
34
|
}
|
|
41
35
|
files(first, ...paths) {
|
|
42
36
|
if (typeof first === "string") {
|
package/dist/run.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/run.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,
|
|
4
|
+
"mappings": ";AAAA,SAAS,WAAW;AACpB,SAAS,aAA2B;AACpC,SAAS,cAAc,gBAAgB,iBAAiD;AACxF,SAAuB,4BAA4B,2BAA2B;AAC9E,SAAe,gBAAgB;AAC/B,SAAuB,oBAAoB;AAC3C,SAAS,YAAyB;AAgF3B,IAAM,UAAN,MAA6B;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIT,YAAY,EAAE,UAAU,UAAU,WAAW,IAAI,GAA2B;AAC1E,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,YAAY;AACjB,SAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EACtC;AAAA,EAGA,YAAY,OAA6B;AACvC,SAAK,IAAI,QAAQ,eAAe,KAAK;AAAA,EACvC;AAAA,EAEA,OAAO,OAAuB;AAC5B,WAAO,aAAa,OAAO,KAAK,QAAQ;AAAA,EAC1C;AAAA,EAEA,QAAQ,SAAkB,OAA+B;AAEvD,QAAI,QAAQ,KAAK,WAAW,GAAG,GAAG;AAEhC,YAAM,aAAa,KAAK,UAAU,CAAC,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,aAAO,oBAAoB,KAAK,UAAU,GAAG,YAAY,GAAG,KAAK;AAAA,IACnE;AAGA,QAAI,CAAE;AAAM,aAAO,2BAA2B;AAG9C,WAAO,oBAAoB,2BAA2B,GAAG,MAAM,GAAG,KAAK;AAAA,EACzE;AAAA,EAIA,MAAM,UAAsC,OAA+B;AACzE,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,MAAM,QAAQ,KAAK,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,IACpD,WAAW,OAAO;AAChB,aAAO,MAAM,QAAQ,KAAK;AAAA,IAC5B,OAAO;AACL,aAAO,MAAM,QAAQ,KAAK,QAAQ,CAAC;AAAA,IACrC;AAAA,EACF;AAAA,EAEA,KAAK,SAAiB,MAAwD;AAC5E,UAAM,EAAE,QAAQ,SAAS,EAAE,cAAc,QAAQ,EAAE,IAAI,aAAa,MAAM,CAAC,CAAC;AAE5E,UAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACjD,YAAM,UAAU,KAAK,MAAM,aAAa,GAAG;AAC3C,uBAAiB,QAAQ,KAAK,QAAQ,WAAW,CAAE,MAAM,GAAG,MAAO,GAAG,OAAO,GAAG;AAC9E,gBAAQ,UAAU,IAAI;AAAA,MACxB;AACA,aAAO,QAAQ,MAAM;AAAA,IACvB,CAAC;AAED,WAAO,KAAK,KAAK,OAAO;AAAA,EAC1B;AAAA,EAEA,KAAK,OAAsD;AACzD,WAAO,IAAI,SAAS,OAAO,IAAI;AAAA,EACjC;AAAA,EAEA,KAAK,MAA0C;AAC7C,UAAM,IAAI,MAAM,wBAAwB,OAAO;AAAA,EACjD;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plugjs/plug",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
|
24
24
|
"bootstrap": "./bootstrap.sh",
|
|
25
|
-
"build": "
|
|
25
|
+
"build": "./runme.sh",
|
|
26
26
|
"dev": "npx nodemon -e .ts -w ./test -w ./src -x ./runme.sh"
|
|
27
27
|
},
|
|
28
28
|
"author": "",
|
package/src/plugs/tsc/options.ts
CHANGED
|
@@ -72,12 +72,13 @@ export async function getCompilerOptions(
|
|
|
72
72
|
file: AbsolutePath | undefined,
|
|
73
73
|
overrides: ts.CompilerOptions,
|
|
74
74
|
overridesFile: AbsolutePath,
|
|
75
|
+
overridesBasePath: AbsolutePath,
|
|
75
76
|
): Promise<CompilerOptionsAndDiagnostics>
|
|
76
77
|
|
|
77
78
|
/** Load compiler options from a JSON file, and merge in the overrides */
|
|
78
79
|
export async function getCompilerOptions(
|
|
79
80
|
file?: AbsolutePath,
|
|
80
|
-
...override: [ ts.CompilerOptions, AbsolutePath ] | []
|
|
81
|
+
...override: [ ts.CompilerOptions, AbsolutePath, AbsolutePath ] | []
|
|
81
82
|
): Promise<CompilerOptionsAndDiagnostics> {
|
|
82
83
|
let result: CompilerOptionsAndDiagnostics = { options: ts.getDefaultCompilerOptions(), errors: [] }
|
|
83
84
|
|
|
@@ -86,8 +87,7 @@ export async function getCompilerOptions(
|
|
|
86
87
|
|
|
87
88
|
// If we have overrides, merge them
|
|
88
89
|
if (override.length) {
|
|
89
|
-
const [ overrides, overridesFile ] = override
|
|
90
|
-
const overridesDir = getAbsoluteParent(overridesFile)
|
|
90
|
+
const [ overrides, overridesFile, overridesDir ] = override
|
|
91
91
|
const options = ts.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile)
|
|
92
92
|
result = mergeResults(result, options)
|
|
93
93
|
}
|
package/src/plugs/tsc/runner.ts
CHANGED
|
@@ -3,7 +3,7 @@ import ts from 'typescript' // TypeScript does NOT support ESM modules
|
|
|
3
3
|
import { failure } from '../../assert.js'
|
|
4
4
|
import { Files } from '../../files.js'
|
|
5
5
|
import { $p, log } from '../../log.js'
|
|
6
|
-
import {
|
|
6
|
+
import { AbsolutePath, isFile } from '../../paths.js'
|
|
7
7
|
import { Plug } from '../../pipe.js'
|
|
8
8
|
import { Run } from '../../run.js'
|
|
9
9
|
import { parseOptions, ParseOptions } from '../../utils/options.js'
|
|
@@ -31,47 +31,71 @@ export default class Tsc implements Plug<Files> {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
async pipe(files: Files, run: Run): Promise<Files> {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const baseDir = run.resolve('.') // "this" directory, base of all relative paths
|
|
35
|
+
const report = run.report('TypeScript Report') // report used throughout
|
|
36
|
+
const overrides = { ...this._options } // clone our options
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
* The "tsconfig" file is either specified, or (if existing) first checked
|
|
40
|
+
* alongside the sources, otherwise checked in the current directory.
|
|
41
|
+
*/
|
|
42
|
+
const sourcesConfig = isFile(files.directory, 'tsconfig.json')
|
|
43
|
+
const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) :
|
|
44
|
+
sourcesConfig || isFile(run.resolve('tsconfig.json'))
|
|
45
|
+
|
|
46
|
+
/* Root directory must always exist */
|
|
47
|
+
let rootDir: AbsolutePath
|
|
48
|
+
if (overrides.rootDir) {
|
|
49
|
+
rootDir = overrides.rootDir = run.resolve(overrides.rootDir)
|
|
50
|
+
} else {
|
|
51
|
+
rootDir = overrides.rootDir = files.directory
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Output directory _also_ must always exist */
|
|
55
|
+
let outDir: AbsolutePath
|
|
56
|
+
if (overrides.outDir) {
|
|
57
|
+
outDir = overrides.outDir = run.resolve(overrides.outDir)
|
|
58
|
+
} else {
|
|
59
|
+
outDir = overrides.outDir = rootDir // default to the root directory
|
|
60
|
+
}
|
|
37
61
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
62
|
+
/* All other root paths */
|
|
63
|
+
if (overrides.rootDirs) {
|
|
64
|
+
overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir))
|
|
41
65
|
}
|
|
42
66
|
|
|
67
|
+
/* The baseURL is resolved, as well */
|
|
68
|
+
if (overrides.baseUrl) overrides.baseUrl = run.resolve(overrides.baseUrl)
|
|
69
|
+
|
|
70
|
+
/* We can now get our compiler options, and check any and all overrides */
|
|
43
71
|
const { errors, options } = await getCompilerOptions(
|
|
44
72
|
tsconfig, // resolved tsconfig.json from constructor, might be undefined
|
|
45
73
|
overrides, // overrides from constructor, might be an empty object
|
|
46
|
-
run.buildFile
|
|
47
|
-
|
|
48
|
-
const report = run.report('TypeScript Report')
|
|
74
|
+
run.buildFile, // the build file where the overrides were specified,
|
|
75
|
+
baseDir) // base dir where to resolve overrides
|
|
49
76
|
|
|
50
|
-
|
|
51
|
-
updateReport(report, errors,
|
|
77
|
+
/* Update report and fail on errors */
|
|
78
|
+
updateReport(report, errors, baseDir)
|
|
52
79
|
if (report.errors) report.done(true)
|
|
53
80
|
|
|
54
|
-
|
|
55
|
-
const root = rootDir ? run.resolve(rootDir) : files.directory
|
|
56
|
-
const out = outDir ? run.resolve(outDir) : root
|
|
57
|
-
|
|
58
|
-
const host = new TypeScriptHost(root)
|
|
59
|
-
|
|
81
|
+
/* Prep for compilation */
|
|
60
82
|
const paths = [ ...files.absolutePaths() ]
|
|
61
83
|
for (const path of paths) log.trace(`Compiling "${$p(path)}"`)
|
|
62
84
|
|
|
63
|
-
// Get our build file and create the master program
|
|
64
85
|
log.info('Compiling', paths.length, 'files')
|
|
65
86
|
log.debug('Compliation options', options)
|
|
66
87
|
|
|
88
|
+
/* Typescript host, create program and compile */
|
|
89
|
+
const host = new TypeScriptHost(rootDir)
|
|
67
90
|
const program = ts.createProgram(paths, options, host, undefined, errors)
|
|
68
91
|
const diagnostics = ts.getPreEmitDiagnostics(program)
|
|
69
92
|
|
|
70
|
-
|
|
71
|
-
updateReport(report, diagnostics,
|
|
93
|
+
/* Update report and fail on errors */
|
|
94
|
+
updateReport(report, diagnostics, rootDir)
|
|
72
95
|
if (report.errors) report.done(true)
|
|
73
96
|
|
|
74
|
-
|
|
97
|
+
/* Write out all files asynchronously */
|
|
98
|
+
const builder = run.files(outDir)
|
|
75
99
|
const promises: Promise<void>[] = []
|
|
76
100
|
const result = program.emit(undefined, (fileName, code) => {
|
|
77
101
|
promises.push(builder.write(fileName, code).then((file) => {
|
|
@@ -82,17 +106,17 @@ export default class Tsc implements Plug<Files> {
|
|
|
82
106
|
}))
|
|
83
107
|
})
|
|
84
108
|
|
|
85
|
-
|
|
86
|
-
updateReport(report, result.diagnostics, root)
|
|
87
|
-
if (report.errors) report.done(true)
|
|
88
|
-
|
|
89
|
-
// Await for all files to be written and check
|
|
109
|
+
/* Await for all files to be written and check */
|
|
90
110
|
const settlements = await Promise.allSettled(promises)
|
|
91
111
|
const failures = settlements
|
|
92
112
|
.reduce((failures, s) => failures + s.status === 'rejected' ? 1 : 0, 0)
|
|
93
113
|
if (failures) throw failure() // already logged above
|
|
94
114
|
|
|
95
|
-
|
|
115
|
+
/* Update report and fail on errors */
|
|
116
|
+
updateReport(report, result.diagnostics, rootDir)
|
|
117
|
+
if (report.errors) report.done(true)
|
|
118
|
+
|
|
119
|
+
/* All done, build our files and return it */
|
|
96
120
|
const outputs = builder.build()
|
|
97
121
|
log.info('TSC produced', outputs.length, 'files into', $p(outputs.directory))
|
|
98
122
|
return outputs
|
package/src/run.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { assert } from './assert.js'
|
|
1
|
+
import { sep } from 'node:path'
|
|
3
2
|
import { Files, FilesBuilder } from './files.js'
|
|
4
3
|
import { createReport, getLevelNumber, getLogger, Logger, LogLevelString, Report } from './log.js'
|
|
5
|
-
import { AbsolutePath, getCurrentWorkingDirectory,
|
|
4
|
+
import { AbsolutePath, getCurrentWorkingDirectory, resolveAbsolutePath } from './paths.js'
|
|
6
5
|
import { Pipe, PipeImpl } from './pipe.js'
|
|
7
6
|
import { ParseOptions, parseOptions } from './utils/options.js'
|
|
8
7
|
import { walk, WalkOptions } from './utils/walk.js'
|
|
@@ -109,20 +108,19 @@ export class RunImpl implements Run {
|
|
|
109
108
|
return createReport(title, this.taskName)
|
|
110
109
|
}
|
|
111
110
|
|
|
112
|
-
resolve(...paths: string[]): AbsolutePath {
|
|
113
|
-
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const relative = join(...components) // this will remove any leading slash
|
|
119
|
-
assert(! isAbsolutePath(relative), `Path "${path.substring(1)}" is absolute`)
|
|
120
|
-
return resolveAbsolutePath(this.buildDir, relative)
|
|
111
|
+
resolve(path?: string, ...paths: string[]): AbsolutePath {
|
|
112
|
+
// Paths starting with "@" are relative to the build file directory
|
|
113
|
+
if (path && path.startsWith('@')) {
|
|
114
|
+
// We can have paths like "@/../foo/bar" or "@../foo/bar"... both are ok
|
|
115
|
+
const components = path.substring(1).split(sep).filter((s) => !!s)
|
|
116
|
+
return resolveAbsolutePath(this.buildDir, ...components, ...paths)
|
|
121
117
|
}
|
|
122
118
|
|
|
123
|
-
|
|
119
|
+
// No path? Resolve to the CWD!
|
|
120
|
+
if (! path) return getCurrentWorkingDirectory()
|
|
124
121
|
|
|
125
|
-
|
|
122
|
+
// For all the rest, normal resolution!
|
|
123
|
+
return resolveAbsolutePath(getCurrentWorkingDirectory(), path, ...paths)
|
|
126
124
|
}
|
|
127
125
|
|
|
128
126
|
files(files: Files): FilesBuilder
|
package/types/build.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export declare type Build<B> = {
|
|
|
37
37
|
* The type supplied as `this` to a {@link TaskDefinition} when invoking it.
|
|
38
38
|
*/
|
|
39
39
|
export declare type ThisBuild<B> = {
|
|
40
|
-
[K in keyof B]: B[K] extends () => Files | Promise<Files> ? () => Pipe & Promise<Files> : B[K] extends () => undefined | void | Promise<undefined | void> ? () => Promise<undefined> : never;
|
|
40
|
+
[K in keyof B]: B[K] extends () => Files | Promise<Files> ? () => Pipe & Promise<Files> : B[K] extends () => undefined | void | Promise<undefined | void> ? () => Promise<undefined> : B[K] extends TaskCall<infer T> ? () => T : never;
|
|
41
41
|
};
|
|
42
42
|
/**
|
|
43
43
|
* A {@link BuildDefinition} is a collection of
|
|
@@ -5,4 +5,4 @@ export declare type CompilerOptionsAndDiagnostics = {
|
|
|
5
5
|
errors: readonly ts.Diagnostic[];
|
|
6
6
|
};
|
|
7
7
|
export declare function getCompilerOptions(file?: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;
|
|
8
|
-
export declare function getCompilerOptions(file: AbsolutePath | undefined, overrides: ts.CompilerOptions, overridesFile: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;
|
|
8
|
+
export declare function getCompilerOptions(file: AbsolutePath | undefined, overrides: ts.CompilerOptions, overridesFile: AbsolutePath, overridesBasePath: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;
|
package/types/run.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export declare class RunImpl implements Run {
|
|
|
80
80
|
/** Set the logging level within this {@link Run} */
|
|
81
81
|
setLogLevel(level: LogLevelString): void;
|
|
82
82
|
report(title: string): Report;
|
|
83
|
-
resolve(...paths: string[]): AbsolutePath;
|
|
83
|
+
resolve(path?: string, ...paths: string[]): AbsolutePath;
|
|
84
84
|
files(files: Files): FilesBuilder;
|
|
85
85
|
files(...paths: string[]): FilesBuilder;
|
|
86
86
|
find(glob: string, ...args: ParseOptions<FindOptions>): Pipe & Promise<Files>;
|