@plugjs/plug 0.0.15 → 0.0.16
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 +10 -41
- package/dist/build.cjs.map +1 -1
- package/dist/build.d.ts +4 -2
- package/dist/build.mjs +11 -42
- package/dist/build.mjs.map +1 -1
- package/dist/helpers.cjs +7 -39
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.ts +23 -3
- package/dist/helpers.mjs +7 -39
- package/dist/helpers.mjs.map +1 -1
- package/dist/index.cjs +12 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/dist/pipe.cjs +38 -2
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts +38 -9
- package/dist/pipe.mjs +44 -3
- 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 -1
- package/dist/plugs/coverage.cjs.map +1 -1
- package/dist/plugs/coverage.mjs +1 -1
- 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/types.d.ts +5 -6
- package/package.json +8 -9
- package/src/helpers.ts +34 -55
- package/src/index.ts +1 -1
- package/src/pipe.ts +83 -11
- package/src/plugs/copy.ts +1 -1
- package/src/plugs/debug.ts +11 -4
- package/src/types.ts +5 -12
package/dist/pipe.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Files } from './files';
|
|
2
|
-
import { Logger } from './log';
|
|
3
1
|
import { AbsolutePath } from './paths';
|
|
2
|
+
import { Files } from './files';
|
|
3
|
+
import { Logger } from './log';
|
|
4
4
|
/** A convenience type indicating what can be returned by a {@link Plug}. */
|
|
5
5
|
export declare type PlugResult = Files | undefined | void;
|
|
6
6
|
/**
|
|
@@ -33,6 +33,14 @@ export declare class Context {
|
|
|
33
33
|
buildFile: AbsolutePath,
|
|
34
34
|
/** The _name_ of the task associated with this {@link Context}. */
|
|
35
35
|
taskName: string);
|
|
36
|
+
/**
|
|
37
|
+
* Resolve a (set of) path(s) in this {@link Context}.
|
|
38
|
+
*
|
|
39
|
+
* If the path (or first component thereof) starts with `@...`, then the
|
|
40
|
+
* resolved path will be relative to the directory containing the build file
|
|
41
|
+
* where the current task was defined, otherwise it will be relative to the
|
|
42
|
+
* current working directory.
|
|
43
|
+
*/
|
|
36
44
|
resolve(path: string, ...paths: string[]): AbsolutePath;
|
|
37
45
|
}
|
|
38
46
|
/**
|
|
@@ -43,15 +51,36 @@ declare abstract class PipeProto {
|
|
|
43
51
|
abstract plug(plug: Plug<PlugResult>): Pipe | Promise<undefined>;
|
|
44
52
|
}
|
|
45
53
|
/**
|
|
46
|
-
* The {@link Pipe}
|
|
54
|
+
* The {@link Pipe} class defines processing pipeline where multiple
|
|
47
55
|
* {@link Plug}s can transform lists of {@link Files}.
|
|
48
56
|
*/
|
|
49
|
-
export declare
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
export declare class Pipe extends PipeProto {
|
|
58
|
+
private readonly _context;
|
|
59
|
+
private readonly _run;
|
|
60
|
+
constructor(_context: Context, _run: () => Promise<Files>);
|
|
61
|
+
plug(plug: Plug<Files>): Pipe;
|
|
62
|
+
plug(plug: PlugFunction<Files>): Pipe;
|
|
63
|
+
plug(plug: Plug<void | undefined>): Promise<undefined>;
|
|
64
|
+
plug(plug: PlugFunction<void | undefined>): Promise<undefined>;
|
|
65
|
+
run(): Promise<Files>;
|
|
66
|
+
/**
|
|
67
|
+
* Merge the results of several {@link Pipe}s into a single one.
|
|
68
|
+
*
|
|
69
|
+
* Merging is performed _in parallel_. When serial execution is to be desired,
|
|
70
|
+
* we can merge the awaited _result_ of the {@link Pipe}.
|
|
71
|
+
*
|
|
72
|
+
* For example:
|
|
73
|
+
*
|
|
74
|
+
* ```
|
|
75
|
+
* const pipe: Pipe = merge([
|
|
76
|
+
* // other tasks return `Pipe & Promise<Files>` so we can
|
|
77
|
+
* // direcrly await their result without invoking `run()`
|
|
78
|
+
* await this.anotherTask1(),
|
|
79
|
+
* await this.anotherTask2(),
|
|
80
|
+
* ])
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
static merge(pipes: (Pipe | Files | Promise<Files>)[]): Pipe;
|
|
55
84
|
}
|
|
56
85
|
/** The names which can be installed as direct plugs. */
|
|
57
86
|
export declare type PlugName = string & Exclude<keyof Pipe, 'plug' | 'run'>;
|
package/dist/pipe.mjs
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
// pipe.ts
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import {
|
|
3
|
+
commonPath,
|
|
4
|
+
getAbsoluteParent,
|
|
5
|
+
getCurrentWorkingDirectory,
|
|
6
|
+
resolveAbsolutePath
|
|
7
|
+
} from "./paths.mjs";
|
|
5
8
|
import { sep } from "path";
|
|
9
|
+
import { assert } from "./assert.mjs";
|
|
10
|
+
import { requireContext } from "./async.mjs";
|
|
11
|
+
import { Files } from "./files.mjs";
|
|
12
|
+
import { ForkingPlug } from "./fork.mjs";
|
|
13
|
+
import { getLogger } from "./log.mjs";
|
|
6
14
|
var Context = class {
|
|
7
15
|
constructor(buildFile, taskName) {
|
|
8
16
|
this.buildFile = buildFile;
|
|
@@ -25,6 +33,39 @@ var Context = class {
|
|
|
25
33
|
var PipeProto = class {
|
|
26
34
|
};
|
|
27
35
|
var Pipe = class extends PipeProto {
|
|
36
|
+
constructor(_context, _run) {
|
|
37
|
+
super();
|
|
38
|
+
this._context = _context;
|
|
39
|
+
this._run = _run;
|
|
40
|
+
}
|
|
41
|
+
plug(arg) {
|
|
42
|
+
const plug = typeof arg === "function" ? { pipe: arg } : arg;
|
|
43
|
+
const parent = this;
|
|
44
|
+
const context = this._context;
|
|
45
|
+
return new Pipe(context, async () => {
|
|
46
|
+
const previous = await parent.run();
|
|
47
|
+
const current = await plug.pipe(previous, context);
|
|
48
|
+
assert(current, "Unable to extend pipe");
|
|
49
|
+
return current;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
run() {
|
|
53
|
+
return this._run();
|
|
54
|
+
}
|
|
55
|
+
static merge(pipes) {
|
|
56
|
+
const context = requireContext();
|
|
57
|
+
return new Pipe(context, async () => {
|
|
58
|
+
if (pipes.length === 0)
|
|
59
|
+
return Files.builder(getCurrentWorkingDirectory()).build();
|
|
60
|
+
const [first, ...other] = await Promise.all(pipes.map((pipe) => {
|
|
61
|
+
return "run" in pipe ? pipe.run() : pipe;
|
|
62
|
+
}));
|
|
63
|
+
const firstDir = first.directory;
|
|
64
|
+
const otherDirs = other.map((f) => f.directory);
|
|
65
|
+
const directory = commonPath(firstDir, ...otherDirs);
|
|
66
|
+
return Files.builder(directory).merge(first, ...other).build();
|
|
67
|
+
});
|
|
68
|
+
}
|
|
28
69
|
};
|
|
29
70
|
function install(name, ctor) {
|
|
30
71
|
function plug(...args) {
|
package/dist/pipe.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/pipe.ts"],
|
|
4
|
-
"mappings": ";
|
|
4
|
+
"mappings": ";AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,WAAW;AACpB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAC5B,SAAS,iBAAyB;AA+B3B,IAAM,UAAN,MAAc;AAAA,EAMnB,YAEoB,WAEA,UAClB;AAHkB;AAEA;AAElB,SAAK,WAAW,kBAAkB,SAAS;AAC3C,SAAK,MAAM,UAAU,QAAQ;AAAA,EAC/B;AAAA,EAZgB;AAAA,EAEA;AAAA,EAoBhB,QAAQ,SAAiB,OAA+B;AAEtD,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;AACF;AAUA,IAAe,YAAf,MAAyB;AAEzB;AAMO,IAAM,OAAN,cAAmB,UAAU;AAAA,EAClC,YACqB,UACA,MACnB;AACA,UAAM;AAHa;AACA;AAAA,EAGrB;AAAA,EAMA,KAAK,KAA6E;AAChF,UAAM,OAAO,OAAO,QAAQ,aAAa,EAAE,MAAM,IAAI,IAAI;AAEzD,UAAM,SAAS;AACf,UAAM,UAAU,KAAK;AACrB,WAAO,IAAI,KAAK,SAAS,YAA4B;AACnD,YAAM,WAAW,MAAM,OAAO,IAAI;AAClC,YAAM,UAAU,MAAM,KAAK,KAAK,UAAU,OAAO;AACjD,aAAO,SAAS,uBAAuB;AACvC,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,MAAsB;AACpB,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAmBA,OAAO,MAAM,OAAgD;AAC3D,UAAM,UAAU,eAAe;AAC/B,WAAO,IAAI,KAAK,SAAS,YAA4B;AACnD,UAAI,MAAM,WAAW;AAAG,eAAO,MAAM,QAAQ,2BAA2B,CAAC,EAAE,MAAM;AAEjF,YAAM,CAAE,UAAU,KAAM,IAAI,MAAM,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS;AAChE,eAAO,SAAS,OAAO,KAAK,IAAI,IAAI;AAAA,MACtC,CAAC,CAAC;AAEF,YAAM,WAAW,MAAM;AACvB,YAAM,YAAY,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS;AAE9C,YAAM,YAAY,WAAW,UAAU,GAAG,SAAS;AAEnD,aAAO,MAAM,QAAQ,SAAS,EAAE,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM;AAAA,IAC/D,CAAC;AAAA,EACH;AACF;AAyGO,SAAS,QAGd,MAAY,MAAkB;AAE9B,WAAS,QAAyB,MAAuD;AAEvF,WAAO,KAAK,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC;AAAA,EACpC;AAGA,SAAO,eAAe,MAAM,QAAQ,EAAE,OAAO,KAAK,CAAC;AAGnD,SAAO,eAAe,UAAU,WAAW,MAAM,EAAE,OAAO,KAAK,CAAC;AAClE;AAmBO,SAAS,eACZ,UACA,YACI;AAEN,QAAM,OAAO,cAAc,YAAY;AAAA,IACrC,eAAe,MAAa;AAC1B,YAAM,YAAY,IAAI;AAAA,IACxB;AAAA,EACF;AAGA,UAAQ,UAAU,IAAI;AACxB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/copy.cjs
CHANGED
|
@@ -57,7 +57,7 @@ var import_asyncfs = require("../utils/asyncfs.cjs");
|
|
|
57
57
|
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, (0, import_log.$p)(target));
|
|
58
58
|
await (0, import_asyncfs.chmod)(target, fmode);
|
|
59
59
|
}
|
|
60
|
-
builder.add(
|
|
60
|
+
builder.add(target);
|
|
61
61
|
}
|
|
62
62
|
const result = builder.build();
|
|
63
63
|
context.log.info("Copied", result.length, "files to", (0, import_log.$p)(builder.directory));
|
package/dist/plugs/copy.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,oBAAuB;AACvB,mBAAsB;AACtB,iBAAmB;AACnB,mBAA2E;AAC3E,kBAAuD;AACvD,qBAAoD;AAAA,IAqCpD,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,2BAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,eAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,sBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,eAAG,GAAG,CAAC;AAC/E,oBAAM,sBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,gBAAY,eAAG,QAAQ,cAAU,eAAG,MAAM,IAAI;AAChE,gBAAM,yBAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,eAAG,MAAM,CAAC;AAC7E,kBAAM,sBAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,oBAAuB;AACvB,mBAAsB;AACtB,iBAAmB;AACnB,mBAA2E;AAC3E,kBAAuD;AACvD,qBAAoD;AAAA,IAqCpD,qBAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,2BAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,mBAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,aAAS,kCAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,2CAAuC,eAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,iBAAY,gCAAkB,MAAM;AAC1C,YAAM,cAAc,UAAM,sBAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,6CAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,UAAM,gCAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,uBAAmB,eAAG,GAAG,CAAC;AAC/E,oBAAM,sBAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,gBAAY,eAAG,QAAQ,cAAU,eAAG,MAAM,IAAI;AAChE,gBAAM,yBAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,kBAAc,eAAG,MAAM,CAAC;AAC7E,kBAAM,sBAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,gBAAY,eAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,4BAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
5
|
"names": ["directory"]
|
|
6
6
|
}
|
package/dist/plugs/copy.mjs
CHANGED
|
@@ -40,7 +40,7 @@ install("copy", class Copy {
|
|
|
40
40
|
context.log.trace(`Setting mode ${stringifyMode(fmode)} for file`, $p(target));
|
|
41
41
|
await chmod(target, fmode);
|
|
42
42
|
}
|
|
43
|
-
builder.add(
|
|
43
|
+
builder.add(target);
|
|
44
44
|
}
|
|
45
45
|
const result = builder.build();
|
|
46
46
|
context.log.info("Copied", result.length, "files to", $p(builder.directory));
|
package/dist/plugs/copy.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/copy.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAA8C;AACvD,SAAS,OAAO,UAAU,aAAa,aAAa;AAqCpD,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,YAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAChE,YAAM,SAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AAC7E,cAAM,MAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,oBAAoB,mBAAmB,2BAA2B;AAC3E,SAAS,eAA8C;AACvD,SAAS,OAAO,UAAU,aAAa,aAAa;AAqCpD,QAAQ,QAAQ,MAAM,KAA4B;AAAA,EAEhD,YACqB,YACA,WAAwB,CAAC,GAC5C;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAAkC;AAEzD,UAAM,EAAE,MAAM,SAAS,WAAW,SAAS,CAAC,MAAc,EAAE,IAAI,KAAK;AACrE,UAAM,QAAQ,YAAY,YAAY,gBAAgB;AACtD,UAAM,QAAQ,UAAU,OAAO;AAC/B,UAAM,QAAQ,UAAU,IAAI;AAG5B,UAAM,YAAY,QAAQ,QAAQ,KAAK,UAAU;AACjD,UAAM,UAAU,MAAM,QAAQ,SAAS;AAGvC,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AAGzD,YAAM,SAAS,oBAAoB,QAAQ,WAAW,OAAO,QAAQ,CAAC;AAGtE,UAAI,WAAW,UAAU;AACvB,gBAAQ,IAAI,KAAK,uCAAuC,GAAG,QAAQ,CAAC;AACpE;AAAA,MACF;AAGA,YAAMA,aAAY,kBAAkB,MAAM;AAC1C,YAAM,cAAc,MAAM,MAAMA,YAAW,EAAE,WAAW,KAAK,CAAC;AAG9D,UAAI,eAAgB,UAAU,QAAY;AACxC,2BAAmB,WAAW;AAC9B,iBAAS,MAAMA,cAAa,MAAM,kBAAkB,GAAG,GAAG;AACxD,kBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAC/E,gBAAM,MAAM,KAAK,KAAK;AACtB,cAAI,QAAQ;AAAa;AAAA,QAC3B;AAAA,MACF;AAGA,cAAQ,IAAI,MAAM,YAAY,GAAG,QAAQ,UAAU,GAAG,MAAM,IAAI;AAChE,YAAM,SAAS,UAAU,QAAQ,KAAK;AAGtC,UAAI,UAAU,QAAW;AACvB,gBAAQ,IAAI,MAAM,gBAAgB,cAAc,KAAK,cAAc,GAAG,MAAM,CAAC;AAC7E,cAAM,MAAM,QAAQ,KAAK;AAAA,MAC3B;AAGA,cAAQ,IAAI,MAAM;AAAA,IACpB;AAEA,UAAM,SAAS,QAAQ,MAAM;AAC7B,YAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG,QAAQ,SAAS,CAAC;AAC3E,WAAO;AAAA,EACT;AACF,CAAC;AAMD,SAAS,UAAU,MAAuD;AACxE,MAAI,SAAS;AAAW,WAAO;AAC/B,MAAI,OAAO,SAAS;AAAU,WAAO;AACrC,QAAM,SAAS,SAAS,MAAM,CAAC;AAC/B,SAAO,CAAE,MAAM,MAAM,GAAG,iBAAiB,OAAO;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,MAAsB;AAC3C,SAAO,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG;AACzC;",
|
|
5
5
|
"names": ["directory"]
|
|
6
6
|
}
|
package/dist/plugs/coverage.cjs
CHANGED
|
@@ -76,7 +76,7 @@ var import_report = require("./coverage/report.cjs");
|
|
|
76
76
|
const { coverage, totalNodes } = result.nodeCoverage;
|
|
77
77
|
const file = _file;
|
|
78
78
|
if (totalNodes === 0) {
|
|
79
|
-
_report.annotate(import_log.NOTICE, file, "n/a");
|
|
79
|
+
_report.annotate(import_log.NOTICE, file, (0, import_log.$gry)("n/a"));
|
|
80
80
|
} else if (coverage < minimumFileCoverage) {
|
|
81
81
|
_report.annotate(import_log.ERROR, file, `${coverage} %`);
|
|
82
82
|
fileErrors++;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/coverage.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,uBAAmC;AACnC,uBAAoB;AACpB,oBAAqB;AACrB,mBAAsB;AACtB,iBAA+D;AAC/D,mBAAkD;AAClD,kBAAuD;AACvD,kBAAqB;AACrB,sBAA8C;AAC9C,oBAA+C;AAAA,IAyD/C,qBAAQ,YAAY,MAAM,SAA4C;AAAA,EAEpE,YACqB,cACA,WAA2C,CAAC,GAC/D;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAA8C;AACrE,UAAM,cAAc,QAAQ,QAAQ,KAAK,YAAY;AACrD,UAAM,gBAAgC,CAAC;AACvC,qBAAiB,YAAQ,kBAAK,aAAa,CAAE,iBAAkB,CAAC,GAAG;AACjE,oBAAc,SAAK,kCAAoB,aAAa,IAAI,CAAC;AAAA,IAC3D;AAEA,QAAI,cAAc,WAAW,GAAG;AAC9B,8BAAK,kCAA8B,eAAG,WAAW,GAAG;AAAA,IACtD;AAEA,UAAM,cAAc,CAAE,GAAG,MAAM,cAAc,CAAE;AAE/C,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,WAAW,UAAM;AAAA,MACnB;AAAA,MACA;AAAA,MACA,KAAK,SAAS,iBAAiB;AAAA,MAC/B,QAAQ;AAAA,IACZ;AACA,YAAQ,IAAI,KAAK,UAAU,cAAc,QAAQ,sBAAkB,gBAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAExF,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,SAAS,UAAM,8BAAe,UAAU,aAAa,QAAQ,GAAG;AACtE,YAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,oBAAgB,gBAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAEtF,aAAS,QAAQ;AAEjB,UAAM;AAAA,MACJ,kBAAkB;AAAA,MAClB,sBAAsB;AAAA,MACtB,kBAAkB,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAAA,MACxD,sBAAsB,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAAA,IAClE,IAAI,KAAK;AAET,QAAI,MAAM;AACV,eAAW,QAAQ,QAAQ;AACzB,UAAI,KAAK,SAAS;AAAK,cAAM,KAAK;AAAA,IACpC;AAEA,QAAI,YAAY;AAChB,eAAW,QAAQ,OAAO,SAAS;AACjC,UAAI,KAAK,SAAS;AAAW,oBAAY,KAAK;AAAA,IAChD;AAEA,QAAI,aAAa;AACjB,QAAI,eAAe;AACnB,UAAM,UAAU,QAAQ,IAAI,OAAO,iBAAiB;AAEpD,eAAW,CAAE,OAAO,MAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC9D,YAAM,EAAE,UAAU,WAAW,IAAI,OAAO;AACxC,YAAM,OAAO;AAEb,UAAI,eAAe,GAAG;AACpB,gBAAQ,SAAS,mBAAQ,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/coverage.mjs
CHANGED
|
@@ -59,7 +59,7 @@ install("coverage", class Coverage {
|
|
|
59
59
|
const { coverage, totalNodes } = result.nodeCoverage;
|
|
60
60
|
const file = _file;
|
|
61
61
|
if (totalNodes === 0) {
|
|
62
|
-
_report.annotate(NOTICE, file, "n/a");
|
|
62
|
+
_report.annotate(NOTICE, file, $gry("n/a"));
|
|
63
63
|
} else if (coverage < minimumFileCoverage) {
|
|
64
64
|
_report.annotate(ERROR, file, `${coverage} %`);
|
|
65
65
|
fileErrors++;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/coverage.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,MAAM,oBAAoB;AACnC,SAAS,WAAW;AACpB,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAS,MAAM,KAAK,IAAI,MAAM,MAAM,OAAO,QAAQ,YAAY;AAC/D,SAAuB,2BAA2B;AAClD,SAAS,eAA8C;AACvD,SAAS,YAAY;AACrB,SAAS,sBAAqC;AAC9C,SAAS,sBAAsC;AAyD/C,QAAQ,YAAY,MAAM,SAA4C;AAAA,EAEpE,YACqB,cACA,WAA2C,CAAC,GAC/D;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAM,KAAK,OAAc,SAA8C;AACrE,UAAM,cAAc,QAAQ,QAAQ,KAAK,YAAY;AACrD,UAAM,gBAAgC,CAAC;AACvC,qBAAiB,QAAQ,KAAK,aAAa,CAAE,iBAAkB,CAAC,GAAG;AACjE,oBAAc,KAAK,oBAAoB,aAAa,IAAI,CAAC;AAAA,IAC3D;AAEA,QAAI,cAAc,WAAW,GAAG;AAC9B,WAAK,8BAA8B,GAAG,WAAW,GAAG;AAAA,IACtD;AAEA,UAAM,cAAc,CAAE,GAAG,MAAM,cAAc,CAAE;AAE/C,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,WAAW,MAAM;AAAA,MACnB;AAAA,MACA;AAAA,MACA,KAAK,SAAS,iBAAiB;AAAA,MAC/B,QAAQ;AAAA,IACZ;AACA,YAAQ,IAAI,KAAK,UAAU,cAAc,QAAQ,kBAAkB,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAExF,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,SAAS,MAAM,eAAe,UAAU,aAAa,QAAQ,GAAG;AACtE,YAAQ,IAAI,KAAK,YAAY,YAAY,QAAQ,gBAAgB,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AAEtF,aAAS,QAAQ;AAEjB,UAAM;AAAA,MACJ,kBAAkB;AAAA,MAClB,sBAAsB;AAAA,MACtB,kBAAkB,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAAA,MACxD,sBAAsB,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAAA,IAClE,IAAI,KAAK;AAET,QAAI,MAAM;AACV,eAAW,QAAQ,QAAQ;AACzB,UAAI,KAAK,SAAS;AAAK,cAAM,KAAK;AAAA,IACpC;AAEA,QAAI,YAAY;AAChB,eAAW,QAAQ,OAAO,SAAS;AACjC,UAAI,KAAK,SAAS;AAAW,oBAAY,KAAK;AAAA,IAChD;AAEA,QAAI,aAAa;AACjB,QAAI,eAAe;AACnB,UAAM,UAAU,QAAQ,IAAI,OAAO,iBAAiB;AAEpD,eAAW,CAAE,OAAO,MAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC9D,YAAM,EAAE,UAAU,WAAW,IAAI,OAAO;AACxC,YAAM,OAAO;AAEb,UAAI,eAAe,GAAG;AACpB,gBAAQ,SAAS,QAAQ,MAAM,KAAK;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.cjs
CHANGED
|
@@ -4,8 +4,13 @@
|
|
|
4
4
|
var import_log = require("../log.cjs");
|
|
5
5
|
var import_pipe = require("../pipe.cjs");
|
|
6
6
|
(0, import_pipe.install)("debug", class Debug {
|
|
7
|
+
_title;
|
|
8
|
+
constructor(...args) {
|
|
9
|
+
const [title = "Debugging"] = args;
|
|
10
|
+
this._title = title;
|
|
11
|
+
}
|
|
7
12
|
async pipe(files, context) {
|
|
8
|
-
context.log.notice("
|
|
13
|
+
context.log.notice(this._title, `${(0, import_log.$gry)("(")}${(0, import_log.$ylw)(files.length)} ${(0, import_log.$gry)("files)")}`);
|
|
9
14
|
context.log.notice("- base dir:", (0, import_log.$p)(context.resolve("@")));
|
|
10
15
|
context.log.notice("- build file dir:", (0, import_log.$p)(context.resolve(".")));
|
|
11
16
|
context.log.notice("- files dir:", (0, import_log.$p)(files.directory));
|
package/dist/plugs/debug.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": ";;;AACA,
|
|
4
|
+
"mappings": ";;;AACA,iBAAqC;AACrC,kBAAuD;AAAA,IAcvD,qBAAQ,SAAS,MAAM,MAA6B;AAAA,EACjC;AAAA,EAEjB,eAAe,MAA+B;AAC5C,UAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,YAAQ,IAAI,OAAO,KAAK,QAAQ,OAAG,iBAAK,GAAG,QAAI,iBAAK,MAAM,MAAM,SAAK,iBAAK,QAAQ,GAAG;AACrF,YAAQ,IAAI,OAAO,0BAAsB,eAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,eAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,YAAQ,IAAI,OAAO,0BAAsB,eAAG,MAAM,SAAS,CAAC;AAC5D,QAAI,MAAM,QAAQ;AAChB,YAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,cAAQ,IAAI,OAAO,0BAAsB,qBAAK,iBAAK,IAAI,CAAC,CAAC;AACzD,iBAAW,KAAK;AAAO,gBAAQ,IAAI,OAAO,0BAAsB,qBAAK,iBAAK,CAAC,CAAC,CAAC;AAAA,IAC/E;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/plugs/debug.d.ts
CHANGED
package/dist/plugs/debug.mjs
CHANGED
|
@@ -4,13 +4,18 @@ var __commonJS = (cb, mod) => function __require() {
|
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
// plugs/debug.ts
|
|
7
|
-
import { $gry, $p, $und } from "../log.mjs";
|
|
7
|
+
import { $gry, $p, $und, $ylw } from "../log.mjs";
|
|
8
8
|
import { install } from "../pipe.mjs";
|
|
9
9
|
var require_debug = __commonJS({
|
|
10
10
|
"plugs/debug.ts"() {
|
|
11
11
|
install("debug", class Debug {
|
|
12
|
+
_title;
|
|
13
|
+
constructor(...args) {
|
|
14
|
+
const [title = "Debugging"] = args;
|
|
15
|
+
this._title = title;
|
|
16
|
+
}
|
|
12
17
|
async pipe(files, context) {
|
|
13
|
-
context.log.notice("
|
|
18
|
+
context.log.notice(this._title, `${$gry("(")}${$ylw(files.length)} ${$gry("files)")}`);
|
|
14
19
|
context.log.notice("- base dir:", $p(context.resolve("@")));
|
|
15
20
|
context.log.notice("- build file dir:", $p(context.resolve(".")));
|
|
16
21
|
context.log.notice("- files dir:", $p(files.directory));
|
package/dist/plugs/debug.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/plugs/debug.ts"],
|
|
4
|
-
"mappings": ";;;;;;AACA,SAAS,MAAM,IAAI,YAAY;
|
|
4
|
+
"mappings": ";;;;;;AACA,SAAS,MAAM,IAAI,MAAM,YAAY;AACrC,SAAS,eAA8C;AAFvD;AAAA;AAgBA,YAAQ,SAAS,MAAM,MAA6B;AAAA,MACjC;AAAA,MAEjB,eAAe,MAA+B;AAC5C,cAAM,CAAE,QAAQ,WAAY,IAAI;AAChC,aAAK,SAAS;AAAA,MAChB;AAAA,MAEA,MAAM,KAAK,OAAc,SAAkC;AACzD,gBAAQ,IAAI,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,MAAM,MAAM,KAAK,KAAK,QAAQ,GAAG;AACrF,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,QAAQ,QAAQ,GAAG,CAAC,CAAC;AACjE,gBAAQ,IAAI,OAAO,sBAAsB,GAAG,MAAM,SAAS,CAAC;AAC5D,YAAI,MAAM,QAAQ;AAChB,gBAAM,CAAE,SAAS,KAAM,IAAI;AAC3B,kBAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,IAAI,CAAC,CAAC;AACzD,qBAAW,KAAK;AAAO,oBAAQ,IAAI,OAAO,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC;AAAA,QAC/E;AACA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface Task<T extends Result = Result> {
|
|
|
39
39
|
* The {@link TaskResult} type identifies _what_ can be returned by a
|
|
40
40
|
* {@link TaskDef | _task definition_}.
|
|
41
41
|
*/
|
|
42
|
-
export declare type TaskResult = Pipe |
|
|
42
|
+
export declare type TaskResult = Pipe | Files | void | undefined;
|
|
43
43
|
/** The {@link TaskDef} type identifies the _definition_ of a task. */
|
|
44
44
|
export declare type TaskDef<R extends TaskResult = TaskResult> = () => R | Promise<R>;
|
|
45
45
|
/** A type identifying all _properties_ of a {@link Context}. */
|
|
@@ -48,12 +48,11 @@ export declare type Props<D extends BuildDef = BuildDef> = {
|
|
|
48
48
|
};
|
|
49
49
|
/** A type identifying all _tasks_ in a {@link Context} */
|
|
50
50
|
export declare type Tasks<D extends BuildDef = BuildDef> = {
|
|
51
|
-
readonly [k in string & keyof D as D[k] extends TaskDef | Task ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? Task<undefined> : R extends
|
|
51
|
+
readonly [k in string & keyof D as D[k] extends TaskDef | Task ? k : never]: D[k] extends TaskDef<infer R> ? R extends void | undefined ? Task<undefined> : R extends Pipe | Files ? Task<Files> : never : D[k] extends Task ? D[k] : never;
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
|
-
* The {@link BuildDef} interface describes the _definition_ of a
|
|
55
|
-
*
|
|
56
|
-
* a {@link Build}.
|
|
54
|
+
* The {@link BuildDef} interface describes the _definition_ of a {@link Build},
|
|
55
|
+
* all its properties and tasks.
|
|
57
56
|
*/
|
|
58
57
|
export interface BuildDef {
|
|
59
58
|
[k: string]: string | TaskDef | Task;
|
|
@@ -69,4 +68,4 @@ export declare type ThisBuild<D extends BuildDef> = {
|
|
|
69
68
|
* The {@link Build} type represents the collection of {@link Task}s
|
|
70
69
|
* and _properties_ compiled from a {@link BuildDef | build definition}.
|
|
71
70
|
*/
|
|
72
|
-
export declare type Build<D extends BuildDef = BuildDef
|
|
71
|
+
export declare type Build<D extends BuildDef = BuildDef> = Tasks<D> & Props<D>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plugjs/plug",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -28,17 +28,17 @@
|
|
|
28
28
|
"author": "",
|
|
29
29
|
"license": "ISC",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@babel/parser": "^7.
|
|
32
|
-
"@babel/types": "^7.
|
|
31
|
+
"@babel/parser": "^7.19.0",
|
|
32
|
+
"@babel/types": "^7.19.0",
|
|
33
33
|
"@plugjs/cov8-html": "^0.0.2",
|
|
34
34
|
"@types/node": "<17",
|
|
35
35
|
"diff": "^5.1.0",
|
|
36
|
-
"esbuild": "^0.15.
|
|
37
|
-
"eslint": "^8.23.
|
|
36
|
+
"esbuild": "^0.15.7",
|
|
37
|
+
"eslint": "^8.23.1",
|
|
38
38
|
"mocha": "^10.0.0",
|
|
39
39
|
"picomatch": "^2.3.1",
|
|
40
40
|
"source-map": "^0.7.4",
|
|
41
|
-
"typescript": "^4.8.
|
|
41
|
+
"typescript": "^4.8.3",
|
|
42
42
|
"yargs-parser": "^21.1.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -47,11 +47,10 @@
|
|
|
47
47
|
"@types/diff": "^5.0.2",
|
|
48
48
|
"@types/eslint": "^8.4.6",
|
|
49
49
|
"@types/mocha": "^9.1.1",
|
|
50
|
-
"@types/ms": "^0.7.31",
|
|
51
50
|
"@types/picomatch": "^2.3.0",
|
|
52
51
|
"@types/yargs-parser": "^21.0.0",
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
54
|
-
"@typescript-eslint/parser": "^5.
|
|
52
|
+
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
|
53
|
+
"@typescript-eslint/parser": "^5.37.0",
|
|
55
54
|
"chai": "^4.3.6",
|
|
56
55
|
"eslint-config-google": "^0.14.0"
|
|
57
56
|
}
|
package/src/helpers.ts
CHANGED
|
@@ -2,37 +2,15 @@ import { assert } from './assert'
|
|
|
2
2
|
import { requireContext } from './async'
|
|
3
3
|
import { Files } from './files'
|
|
4
4
|
import { $p, log } from './log'
|
|
5
|
-
import { AbsolutePath,
|
|
6
|
-
import {
|
|
5
|
+
import { AbsolutePath, getCurrentWorkingDirectory, resolveDirectory, resolveFile } from './paths'
|
|
6
|
+
import { Pipe } from './pipe'
|
|
7
7
|
import { rm } from './utils/asyncfs'
|
|
8
8
|
import { ParseOptions, parseOptions } from './utils/options'
|
|
9
9
|
import { walk, WalkOptions } from './utils/walk'
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
plug(plug: Plug<Files>): Pipe
|
|
17
|
-
plug(plug: PlugFunction<Files>): Pipe
|
|
18
|
-
plug(plug: Plug<void | undefined>): Promise<undefined>
|
|
19
|
-
plug(plug: PlugFunction<void | undefined>): Promise<undefined>
|
|
20
|
-
plug(arg: Plug<PlugResult> | PlugFunction<PlugResult>): Pipe | Promise<undefined> {
|
|
21
|
-
const plug = typeof arg === 'function' ? { pipe: arg } : arg
|
|
22
|
-
|
|
23
|
-
const parent = this
|
|
24
|
-
return new PipeImpl(async (context: Context): Promise<Files> => {
|
|
25
|
-
const files = await parent._start(context)
|
|
26
|
-
const files2 = await plug.pipe(files, context)
|
|
27
|
-
assert(files2, 'Unable to extend pipe (part tres)')
|
|
28
|
-
return files2
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async run(): Promise<Files> {
|
|
33
|
-
return this._start(requireContext())
|
|
34
|
-
}
|
|
35
|
-
}
|
|
11
|
+
/* ========================================================================== *
|
|
12
|
+
* EXTERNAL HELPERS *
|
|
13
|
+
* ========================================================================== */
|
|
36
14
|
|
|
37
15
|
/** The {@link FindOptions} interface defines the options for finding files. */
|
|
38
16
|
export interface FindOptions extends WalkOptions {
|
|
@@ -40,16 +18,20 @@ export interface FindOptions extends WalkOptions {
|
|
|
40
18
|
directory?: string
|
|
41
19
|
}
|
|
42
20
|
|
|
43
|
-
|
|
21
|
+
/** Find files in the current directory using the specified _glob_. */
|
|
44
22
|
export function find(glob: string): Pipe
|
|
23
|
+
/** Find files in the current directory using the specified _globs_. */
|
|
45
24
|
export function find(glob: string, ...globs: string[]): Pipe
|
|
25
|
+
/** Find files using the specified _glob_ and {@link FindOptions | options}. */
|
|
46
26
|
export function find(glob: string, options: FindOptions): Pipe
|
|
27
|
+
/** Find files using the specified _globs_ and {@link FindOptions | options}. */
|
|
47
28
|
export function find(glob: string, ...extra: [...globs: string[], options: FindOptions]): Pipe
|
|
48
|
-
|
|
29
|
+
/* Overload */
|
|
49
30
|
export function find(...args: ParseOptions<FindOptions>): Pipe {
|
|
50
31
|
const { params: globs, options } = parseOptions(args, {})
|
|
51
32
|
|
|
52
|
-
|
|
33
|
+
const context = requireContext()
|
|
34
|
+
return new Pipe(context, async (): Promise<Files> => {
|
|
53
35
|
const directory = options.directory ?
|
|
54
36
|
context.resolve(options.directory) :
|
|
55
37
|
getCurrentWorkingDirectory()
|
|
@@ -63,29 +45,6 @@ export function find(...args: ParseOptions<FindOptions>): Pipe {
|
|
|
63
45
|
})
|
|
64
46
|
}
|
|
65
47
|
|
|
66
|
-
export function merge(...pipes: Pipe[]): Pipe {
|
|
67
|
-
return new PipeImpl(async (): Promise<Files> => {
|
|
68
|
-
if (pipes.length === 0) return Files.builder(getCurrentWorkingDirectory()).build()
|
|
69
|
-
|
|
70
|
-
const results: Files[] = []
|
|
71
|
-
|
|
72
|
-
for (const pipe of pipes) {
|
|
73
|
-
const result = await pipe.run()
|
|
74
|
-
assert(result, 'Pipe did not return a Files result')
|
|
75
|
-
results.push(result)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const [ first, ...others ] = results
|
|
79
|
-
|
|
80
|
-
const firstDir = first.directory
|
|
81
|
-
const otherDirs = others.map((f) => f.directory)
|
|
82
|
-
|
|
83
|
-
const directory = commonPath(firstDir, ...otherDirs)
|
|
84
|
-
|
|
85
|
-
return Files.builder(directory).merge(first, ...others).build()
|
|
86
|
-
})
|
|
87
|
-
}
|
|
88
|
-
|
|
89
48
|
/**
|
|
90
49
|
* Recursively remove the specified directory _**(use with care)**_.
|
|
91
50
|
*/
|
|
@@ -108,13 +67,33 @@ export async function rmrf(directory: string): Promise<void> {
|
|
|
108
67
|
await rm(dir, { recursive: true })
|
|
109
68
|
}
|
|
110
69
|
|
|
111
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* Resolve a (set of) path(s) into an {@link AbsolutePath}.
|
|
72
|
+
*
|
|
73
|
+
* If the path (or first component thereof) starts with `@...`, then the
|
|
74
|
+
* resolved path will be relative to the directory containing the build file
|
|
75
|
+
* where the current task was defined, otherwise it will be relative to the
|
|
76
|
+
* current working directory.
|
|
77
|
+
*/
|
|
78
|
+
export function resolve(...paths: [ string, ...string[] ]): AbsolutePath {
|
|
79
|
+
return requireContext().resolve(...paths)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Return an absolute path of the file if it exist on disk.
|
|
84
|
+
*
|
|
85
|
+
* See the comments on {@link resolve} to understand how paths are resolved.
|
|
86
|
+
*/
|
|
112
87
|
export function isFile(...paths: [ string, ...string[] ]): AbsolutePath | undefined {
|
|
113
88
|
const path = requireContext().resolve(...paths)
|
|
114
89
|
return resolveFile(path)
|
|
115
90
|
}
|
|
116
91
|
|
|
117
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Return an absolute path of the directory if it exist on disk.
|
|
94
|
+
*
|
|
95
|
+
* See the comments on {@link resolve} to understand how paths are resolved.
|
|
96
|
+
*/
|
|
118
97
|
export function isDirectory(...paths: [ string, ...string[] ]): AbsolutePath | undefined {
|
|
119
98
|
const path = requireContext().resolve(...paths)
|
|
120
99
|
return resolveDirectory(path)
|