@plugjs/plug 0.0.15 → 0.0.17
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/assert.cjs +18 -38
- package/dist/assert.cjs.map +1 -1
- package/dist/assert.d.ts +2 -16
- package/dist/assert.mjs +17 -32
- package/dist/assert.mjs.map +1 -1
- package/dist/async.cjs +2 -2
- package/dist/async.cjs.map +1 -1
- package/dist/async.d.ts +1 -1
- package/dist/async.mjs +2 -2
- package/dist/async.mjs.map +1 -1
- package/dist/build.cjs +20 -72
- package/dist/build.cjs.map +2 -2
- package/dist/build.d.ts +5 -3
- package/dist/build.mjs +22 -74
- package/dist/build.mjs.map +2 -2
- package/dist/failure.cjs +48 -0
- package/dist/failure.cjs.map +6 -0
- package/dist/failure.d.ts +13 -0
- package/dist/failure.mjs +22 -0
- package/dist/failure.mjs.map +6 -0
- package/dist/fork.cjs +21 -10
- package/dist/fork.cjs.map +1 -1
- package/dist/fork.d.ts +19 -1
- package/dist/fork.mjs +21 -11
- package/dist/fork.mjs.map +1 -1
- package/dist/helpers.cjs +8 -40
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.ts +23 -3
- package/dist/helpers.mjs +8 -40
- package/dist/helpers.mjs.map +1 -1
- package/dist/index.cjs +16 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -1
- package/dist/log/logger.cjs +15 -12
- package/dist/log/logger.cjs.map +1 -1
- package/dist/log/logger.d.ts +2 -0
- package/dist/log/logger.mjs +15 -12
- package/dist/log/logger.mjs.map +1 -1
- package/dist/log/report.cjs +7 -4
- package/dist/log/report.cjs.map +1 -1
- package/dist/log/report.mjs +7 -4
- package/dist/log/report.mjs.map +1 -1
- package/dist/log.cjs +3 -0
- package/dist/log.cjs.map +1 -1
- package/dist/log.mjs +3 -0
- package/dist/log.mjs.map +1 -1
- package/dist/pipe.cjs +56 -14
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts +42 -28
- package/dist/pipe.mjs +60 -13
- package/dist/pipe.mjs.map +1 -1
- package/dist/plugs/copy.cjs +1 -1
- package/dist/plugs/copy.cjs.map +1 -1
- package/dist/plugs/copy.mjs +1 -1
- package/dist/plugs/copy.mjs.map +1 -1
- package/dist/plugs/coverage.cjs +1 -2
- package/dist/plugs/coverage.cjs.map +1 -1
- package/dist/plugs/coverage.mjs +1 -2
- package/dist/plugs/coverage.mjs.map +1 -1
- package/dist/plugs/debug.cjs +6 -1
- package/dist/plugs/debug.cjs.map +1 -1
- package/dist/plugs/debug.d.ts +1 -1
- package/dist/plugs/debug.mjs +7 -2
- package/dist/plugs/debug.mjs.map +1 -1
- package/dist/plugs/esbuild.mjs.map +1 -1
- package/dist/plugs/eslint/runner.cjs +2 -1
- package/dist/plugs/eslint/runner.cjs.map +1 -1
- package/dist/plugs/eslint/runner.d.ts +1 -1
- package/dist/plugs/eslint/runner.mjs +3 -2
- package/dist/plugs/eslint/runner.mjs.map +1 -1
- package/dist/plugs/eslint.cjs +2 -2
- package/dist/plugs/eslint.cjs.map +1 -1
- package/dist/plugs/eslint.mjs +1 -1
- package/dist/plugs/exec.cjs +1 -1
- package/dist/plugs/exec.cjs.map +1 -1
- package/dist/plugs/exec.mjs +1 -1
- package/dist/plugs/exec.mjs.map +1 -1
- package/dist/plugs/mocha/runner.cjs +2 -2
- package/dist/plugs/mocha/runner.cjs.map +1 -1
- package/dist/plugs/mocha/runner.d.ts +1 -1
- package/dist/plugs/mocha/runner.mjs +2 -2
- package/dist/plugs/mocha/runner.mjs.map +1 -1
- package/dist/plugs/mocha.cjs +2 -2
- package/dist/plugs/mocha.cjs.map +1 -1
- package/dist/plugs/mocha.mjs +1 -1
- package/dist/plugs/rmf.mjs.map +1 -1
- package/dist/plugs/tsc/report.cjs.map +1 -1
- package/dist/plugs/tsc/report.mjs.map +1 -1
- package/dist/plugs/tsc/runner.cjs +3 -6
- package/dist/plugs/tsc/runner.cjs.map +2 -2
- package/dist/plugs/tsc/runner.mjs +4 -7
- package/dist/plugs/tsc/runner.mjs.map +2 -2
- package/dist/plugs/tsc.cjs +2 -2
- package/dist/plugs/tsc.cjs.map +1 -1
- package/dist/plugs/tsc.mjs +1 -1
- package/dist/types.d.ts +7 -8
- package/dist/utils/asyncfs.cjs.map +1 -1
- package/dist/utils/asyncfs.mjs.map +1 -1
- package/extra/cli.mjs +1 -1
- package/package.json +14 -13
- package/src/assert.ts +20 -34
- package/src/async.ts +3 -3
- package/src/failure.ts +31 -0
- package/src/fork.ts +43 -10
- package/src/helpers.ts +35 -56
- package/src/index.ts +4 -3
- package/src/log/logger.ts +22 -16
- package/src/log/report.ts +7 -3
- package/src/log.ts +4 -0
- package/src/pipe.ts +147 -44
- package/src/plugs/copy.ts +2 -2
- package/src/plugs/coverage/report.ts +1 -1
- package/src/plugs/coverage.ts +2 -3
- package/src/plugs/debug.ts +11 -4
- package/src/plugs/esbuild.ts +1 -1
- package/src/plugs/eslint/runner.ts +4 -3
- package/src/plugs/eslint.ts +1 -1
- package/src/plugs/exec.ts +1 -1
- package/src/plugs/mocha/runner.ts +3 -3
- package/src/plugs/mocha.ts +1 -1
- package/src/plugs/rmf.ts +1 -1
- package/src/plugs/tsc/runner.ts +5 -8
- package/src/plugs/tsc.ts +1 -1
- package/src/types.ts +8 -15
- package/src/utils/asyncfs.ts +1 -0
package/src/plugs/tsc/runner.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
1
|
+
import ts from 'typescript' // TypeScript does NOT support ESM modules
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { assertPromises } from '../../assert'
|
|
4
|
+
import { BuildFailure } from '../../failure'
|
|
4
5
|
import { Files } from '../../files'
|
|
5
6
|
import { $p, log } from '../../log'
|
|
6
7
|
import { AbsolutePath, resolveFile } from '../../paths'
|
|
@@ -95,16 +96,12 @@ export default class Tsc implements Plug<Files> {
|
|
|
95
96
|
promises.push(builder.write(fileName, code).then((file) => {
|
|
96
97
|
log.trace('Written', $p(file))
|
|
97
98
|
}).catch((error) => {
|
|
98
|
-
|
|
99
|
-
throw failure() // no more logs!
|
|
99
|
+
throw new BuildFailure(`Error writing to ${fileName}`, [ error ])
|
|
100
100
|
}))
|
|
101
101
|
})
|
|
102
102
|
|
|
103
103
|
/* Await for all files to be written and check */
|
|
104
|
-
|
|
105
|
-
const failures = settlements
|
|
106
|
-
.reduce((failures, s) => failures + s.status === 'rejected' ? 1 : 0, 0)
|
|
107
|
-
if (failures) throw failure() // already logged above
|
|
104
|
+
await assertPromises(promises, 'Error writing files')
|
|
108
105
|
|
|
109
106
|
/* Update report and fail on errors */
|
|
110
107
|
updateReport(report, result.diagnostics, rootDir)
|
package/src/plugs/tsc.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -44,14 +44,14 @@ export interface Task<T extends Result = Result> {
|
|
|
44
44
|
/** The absolute file name where this {@link Task} was defined */
|
|
45
45
|
readonly buildFile: AbsolutePath,
|
|
46
46
|
/** Invoke a task from (possibly) a different {@link Context} */
|
|
47
|
-
|
|
47
|
+
invoke(state: State, taskName: string): Promise<T>
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* The {@link TaskResult} type identifies _what_ can be returned by a
|
|
52
52
|
* {@link TaskDef | _task definition_}.
|
|
53
53
|
*/
|
|
54
|
-
export type TaskResult = Pipe |
|
|
54
|
+
export type TaskResult = Pipe | Files | void | undefined
|
|
55
55
|
|
|
56
56
|
/** The {@link TaskDef} type identifies the _definition_ of a task. */
|
|
57
57
|
export type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>
|
|
@@ -70,9 +70,7 @@ export type Tasks<D extends BuildDef = BuildDef> = {
|
|
|
70
70
|
readonly [ k in string & keyof D as D[k] extends TaskDef | Task ? k : never ] :
|
|
71
71
|
D[k] extends TaskDef<infer R> ?
|
|
72
72
|
R extends void | undefined ? Task<undefined> :
|
|
73
|
-
R extends
|
|
74
|
-
R extends Pipe ? Task<Files> :
|
|
75
|
-
R extends Files ? Task<Files> :
|
|
73
|
+
R extends Pipe | Files ? Task<Files> :
|
|
76
74
|
never :
|
|
77
75
|
D[k] extends Task ? D[k] :
|
|
78
76
|
never
|
|
@@ -83,9 +81,8 @@ export type Tasks<D extends BuildDef = BuildDef> = {
|
|
|
83
81
|
* ========================================================================== */
|
|
84
82
|
|
|
85
83
|
/**
|
|
86
|
-
* The {@link BuildDef} interface describes the _definition_ of a
|
|
87
|
-
*
|
|
88
|
-
* a {@link Build}.
|
|
84
|
+
* The {@link BuildDef} interface describes the _definition_ of a {@link Build},
|
|
85
|
+
* all its properties and tasks.
|
|
89
86
|
*/
|
|
90
87
|
export interface BuildDef {
|
|
91
88
|
[ k : string ] : string | TaskDef | Task
|
|
@@ -100,11 +97,11 @@ export type ThisBuild<D extends BuildDef> = {
|
|
|
100
97
|
k extends string ?
|
|
101
98
|
D[k] extends TaskDef<infer R> ?
|
|
102
99
|
R extends Promise<undefined> | void | undefined ? () => Promise<undefined> :
|
|
103
|
-
R extends Pipe | Files ? () => Pipe
|
|
100
|
+
R extends Pipe | Files ? () => Pipe :
|
|
104
101
|
never :
|
|
105
102
|
D[k] extends Task<infer R> ?
|
|
106
103
|
R extends undefined ? () => Promise<undefined> :
|
|
107
|
-
R extends Files ? () => Pipe
|
|
104
|
+
R extends Files ? () => Pipe :
|
|
108
105
|
never :
|
|
109
106
|
D[k] extends string ?
|
|
110
107
|
string :
|
|
@@ -116,8 +113,4 @@ export type ThisBuild<D extends BuildDef> = {
|
|
|
116
113
|
* The {@link Build} type represents the collection of {@link Task}s
|
|
117
114
|
* and _properties_ compiled from a {@link BuildDef | build definition}.
|
|
118
115
|
*/
|
|
119
|
-
export type Build<
|
|
120
|
-
D extends BuildDef = BuildDef,
|
|
121
|
-
T extends Tasks<D> = Tasks<D>,
|
|
122
|
-
P extends Props<D> = Props<D>,
|
|
123
|
-
> = T & P
|
|
116
|
+
export type Build<D extends BuildDef = BuildDef> = Tasks<D> & Props<D>
|