@plugjs/build 0.1.0 → 0.2.1
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/bootstrap.mjs +25 -11
- package/dist/bootstrap.mjs.map +1 -1
- package/dist/index.cjs +267 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +126 -0
- package/dist/index.mjs +252 -0
- package/dist/index.mjs.map +6 -0
- package/package.json +22 -17
- package/resources/__dot_vscode/settings.json +3 -0
- package/src/bootstrap.mts +27 -10
- package/src/index.ts +381 -0
- package/dist/build.cjs +0 -170
- package/dist/build.cjs.map +0 -6
- package/dist/build.d.ts +0 -85
- package/dist/build.mjs +0 -154
- package/dist/build.mjs.map +0 -6
- package/src/build.ts +0 -276
- /package/resources/{.eslintignore → __dot_eslintignore} +0 -0
- /package/resources/{.eslintrc.cjs → __dot_eslintrc.cjs} +0 -0
- /package/resources/{.gitignore → __dot_gitignore} +0 -0
- /package/resources/test/{00-index.test.ts → index.test.ts} +0 -0
package/dist/bootstrap.mjs
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// bootstrap.mts
|
|
4
|
-
import { build, find,
|
|
4
|
+
import { build, find, fs, isFile, log, resolve } from "@plugjs/plug";
|
|
5
5
|
import { $p } from "@plugjs/plug/logging";
|
|
6
6
|
var tasks = build({
|
|
7
|
+
/** Copy all resources from the `resources/` directory into the target */
|
|
7
8
|
async bootstrap_resources() {
|
|
8
9
|
const pipe = find("**/*", "**/.*", { directory: "@../resources" });
|
|
9
10
|
const sources = await pipe;
|
|
10
|
-
const targets = await pipe.copy(".", {
|
|
11
|
+
const targets = await pipe.copy(".", {
|
|
12
|
+
// it seems NPM has _some_ problems with some dotfiles (e.g. .gitignore)
|
|
13
|
+
rename: (relative) => relative.replaceAll(/(^|\/)__dot_/g, "$1."),
|
|
14
|
+
overwrite
|
|
15
|
+
});
|
|
11
16
|
log("Bootstrapped", targets.length, "of", sources.length, "files:");
|
|
12
17
|
for (const file of targets.absolutePaths())
|
|
13
18
|
log(` ${$p(file)}`);
|
|
14
19
|
},
|
|
20
|
+
/** Setup dependencies and build script into target `package.json` */
|
|
15
21
|
async bootstrap_package() {
|
|
16
22
|
const buildPackage = resolve("@../package.json");
|
|
17
23
|
log(`Reading ${$p(buildPackage)}`);
|
|
@@ -25,17 +31,25 @@ var tasks = build({
|
|
|
25
31
|
Object.assign(targetJson, JSON.parse(targetData));
|
|
26
32
|
}
|
|
27
33
|
log(`Updating ${$p(targetPackage)}`);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
targetJson.scripts = {
|
|
35
|
+
build: "plug",
|
|
36
|
+
coverage: "plug coverage",
|
|
37
|
+
dev: "plug coverage -w src -w test",
|
|
38
|
+
lint: "plug lint",
|
|
39
|
+
test: "plug test",
|
|
40
|
+
transpile: "plug transpile",
|
|
41
|
+
...targetJson.scripts
|
|
42
|
+
};
|
|
43
|
+
const targetFiles = /* @__PURE__ */ new Set([...targetJson.files || [], "*.md", "dist/", "src/"]);
|
|
44
|
+
targetJson.files = [...targetFiles].sort();
|
|
45
|
+
targetJson.devDependencies = {
|
|
46
|
+
...targetJson.devDependencies,
|
|
34
47
|
[buildJson.name]: `^${buildJson.version}`
|
|
35
|
-
}
|
|
48
|
+
};
|
|
36
49
|
log(`Writing ${$p(targetPackage)}`);
|
|
37
|
-
await fs.writeFile(targetPackage, JSON.stringify(targetJson, null, 2), "utf-8");
|
|
50
|
+
await fs.writeFile(targetPackage, JSON.stringify(targetJson, null, 2) + "\n", "utf-8");
|
|
38
51
|
},
|
|
52
|
+
/** Bootstrap the project */
|
|
39
53
|
async bootstrap() {
|
|
40
54
|
log(`Boostrapping PlugJS Build from ${$p(resolve("@"))}`);
|
|
41
55
|
await this.bootstrap_resources();
|
|
@@ -43,5 +57,5 @@ var tasks = build({
|
|
|
43
57
|
}
|
|
44
58
|
});
|
|
45
59
|
var overwrite = process.argv[2] === "--overwrite" ? "overwrite" : "skip";
|
|
46
|
-
|
|
60
|
+
tasks.bootstrap({ overwrite }).catch(log.error);
|
|
47
61
|
//# sourceMappingURL=bootstrap.mjs.map
|
package/dist/bootstrap.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/bootstrap.mts"],
|
|
4
|
-
"mappings": ";;;
|
|
4
|
+
"mappings": ";;;AAGA,SAAS,OAAO,MAAM,IAAI,QAAQ,KAAK,eAAe;AACtD,SAAS,UAAU;AAEnB,IAAM,QAAQ,MAAM;AAAA;AAAA,EAElB,MAAM,sBAAqC;AACzC,UAAM,OAAO,KAAK,QAAQ,SAAS,EAAE,WAAW,gBAAgB,CAAC;AACjE,UAAM,UAAU,MAAM;AACtB,UAAM,UAAU,MAAM,KAAK,KAAK,KAAK;AAAA;AAAA,MAEnC,QAAQ,CAAC,aAAa,SAAS,WAAW,iBAAiB,KAAK;AAAA,MAChE;AAAA,IACF,CAAC;AAED,QAAI,gBAAgB,QAAQ,QAAQ,MAAM,QAAQ,QAAQ,QAAQ;AAClE,eAAW,QAAQ,QAAQ,cAAc;AAAG,UAAI,OAAO,GAAG,IAAI,GAAG;AAAA,EACnE;AAAA;AAAA,EAGA,MAAM,oBAAmC;AAEvC,UAAM,eAAe,QAAQ,kBAAkB;AAC/C,QAAI,WAAW,GAAG,YAAY,GAAG;AACjC,UAAM,YAAY,MAAM,GAAG,SAAS,cAAc,OAAO;AACzD,UAAM,YAAY,KAAK,MAAM,SAAS;AAGtC,UAAM,aAAkC,CAAC;AACzC,UAAM,gBAAgB,QAAQ,gBAAgB;AAC9C,QAAI,OAAO,aAAa,GAAG;AACzB,UAAI,WAAW,GAAG,aAAa,GAAG;AAClC,YAAM,aAAa,MAAM,GAAG,SAAS,eAAe,OAAO;AAC3D,aAAO,OAAO,YAAY,KAAK,MAAM,UAAU,CAAC;AAAA,IAClD;AAGA,QAAI,YAAY,GAAG,aAAa,GAAG;AAGnC,eAAW,UAAU;AAAA,MACnB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,GAAG,WAAW;AAAA,IAChB;AAGA,UAAM,cAAc,oBAAI,IAAI,CAAE,GAAI,WAAW,SAAS,CAAC,GAAI,QAAQ,SAAS,MAAO,CAAC;AACpF,eAAW,QAAQ,CAAE,GAAG,WAAY,EAAE,KAAK;AAG3C,eAAW,kBAAkB;AAAA,MAC3B,GAAG,WAAW;AAAA,MACd,CAAC,UAAU,IAAI,GAAG,IAAI,UAAU;AAAA,IAClC;AAGA,QAAI,WAAW,GAAG,aAAa,GAAG;AAClC,UAAM,GAAG,UAAU,eAAe,KAAK,UAAU,YAAY,MAAM,CAAC,IAAI,MAAM,OAAO;AAAA,EACvF;AAAA;AAAA,EAGA,MAAM,YAA2B;AAC/B,QAAI,kCAAkC,GAAG,QAAQ,GAAG,CAAC,GAAG;AACxD,UAAM,KAAK,oBAAoB;AAC/B,UAAM,KAAK,kBAAkB;AAAA,EAC/B;AACF,CAAC;AAED,IAAM,YAAY,QAAQ,KAAK,CAAC,MAAM,gBAAgB,cAAc;AACpE,MAAM,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// index.ts
|
|
22
|
+
var src_exports = {};
|
|
23
|
+
__export(src_exports, {
|
|
24
|
+
tasks: () => tasks
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(src_exports);
|
|
27
|
+
var import_cov8 = require("@plugjs/cov8");
|
|
28
|
+
var import_eslint = require("@plugjs/eslint");
|
|
29
|
+
var import_jasmine = require("@plugjs/jasmine");
|
|
30
|
+
var import_plug = require("@plugjs/plug");
|
|
31
|
+
var import_typescript = require("@plugjs/typescript");
|
|
32
|
+
__reExport(src_exports, require("@plugjs/plug"), module.exports);
|
|
33
|
+
var esbuildDefaults = {
|
|
34
|
+
platform: "node",
|
|
35
|
+
sourcemap: "linked",
|
|
36
|
+
sourcesContent: false,
|
|
37
|
+
plugins: [(0, import_plug.fixExtensions)()]
|
|
38
|
+
};
|
|
39
|
+
function tasks(options = {}) {
|
|
40
|
+
const {
|
|
41
|
+
sourceDir: _sourceDir = "src",
|
|
42
|
+
destDir: _destDir = "dist",
|
|
43
|
+
testDir: _testDir = "test",
|
|
44
|
+
coverageDir: _coverageDir = "coverage",
|
|
45
|
+
coverageDataDir: _coverageDataDir = ".coverage-data",
|
|
46
|
+
extraTypesDir: _extraTypesDir = "types",
|
|
47
|
+
packageJson: _packageJson = "package.json",
|
|
48
|
+
outputPackageJson: _outputPackageJson = _packageJson,
|
|
49
|
+
cjsExtension: _cjsExtension = ".cjs",
|
|
50
|
+
esmExtension: _esmExtension = ".mjs",
|
|
51
|
+
cjsTranspile: _cjsTranspile = true,
|
|
52
|
+
esmTranspile: _esmTranspile = true,
|
|
53
|
+
parallelize: _parallelize = false,
|
|
54
|
+
banners: _banners = !_parallelize,
|
|
55
|
+
testGlob: _testGlob = "**/*.test.([cm])?ts",
|
|
56
|
+
exportsGlob: _exportsGlob = "index.*",
|
|
57
|
+
coverage: _coverage = true,
|
|
58
|
+
minimumCoverage: _minimumCoverage = 100,
|
|
59
|
+
minimumFileCoverage: _minimumFileCoverage = 100,
|
|
60
|
+
optimalCoverage: _optimalCoverage = void 0,
|
|
61
|
+
optimalFileCoverage: _optimalFileCoverage = void 0,
|
|
62
|
+
esbuildOptions: _esbuildOptions = {}
|
|
63
|
+
} = options;
|
|
64
|
+
const banner = _banners ? emitBanner : (...args) => void 0;
|
|
65
|
+
const esbuildMergedOptions = Object.assign({}, esbuildDefaults, _esbuildOptions);
|
|
66
|
+
return (0, import_plug.build)({
|
|
67
|
+
/** The directory for the original sources (default: `src`) */
|
|
68
|
+
sourceDir: _sourceDir,
|
|
69
|
+
/** The destination directory of the transpiled sources (default: `dist`) */
|
|
70
|
+
destDir: _destDir,
|
|
71
|
+
/** The directory for the test files (default: `test`) */
|
|
72
|
+
testDir: _testDir,
|
|
73
|
+
/** The directory for the coverage report (default: `coverage`) */
|
|
74
|
+
coverageDir: _coverageDir,
|
|
75
|
+
/** The directory for the coverage data (default: `.coverage-data`) */
|
|
76
|
+
coverageDataDir: _coverageDataDir,
|
|
77
|
+
/** A directory containing extra types to use while transpiling (default: `types`) */
|
|
78
|
+
extraTypesDir: _extraTypesDir,
|
|
79
|
+
/** The source `package.json` file (default: `package.json`) */
|
|
80
|
+
packageJson: _packageJson,
|
|
81
|
+
/** The source `package.json` file (default: same as `packageJson` option) */
|
|
82
|
+
outputPackageJson: _outputPackageJson,
|
|
83
|
+
/** The extension used for CommonJS modules (default: `.cjs`) */
|
|
84
|
+
cjsExtension: _cjsExtension,
|
|
85
|
+
/** The extension used for EcmaScript modules (default: `.mjs`) */
|
|
86
|
+
esmExtension: _esmExtension,
|
|
87
|
+
/** A glob pattern matching all test files (default: `**∕*.test.([cm])?ts`) */
|
|
88
|
+
testGlob: _testGlob,
|
|
89
|
+
/** A glob pattern matching files to be exported (default: `index.*`) */
|
|
90
|
+
exportsGlob: _exportsGlob,
|
|
91
|
+
/* ====================================================================== *
|
|
92
|
+
* SOURCES STRUCTURE *
|
|
93
|
+
* ====================================================================== */
|
|
94
|
+
/** Find all CommonJS source files (`*.cts`) */
|
|
95
|
+
_find_sources_cts() {
|
|
96
|
+
return (0, import_plug.find)("**/*.(c)?ts", { directory: this.sourceDir, ignore: "**/*.d.ts" });
|
|
97
|
+
},
|
|
98
|
+
/** Find all EcmaScript Module source files (`*.mts`) */
|
|
99
|
+
_find_sources_mts() {
|
|
100
|
+
return (0, import_plug.find)("**/*.(m)?ts", { directory: this.sourceDir, ignore: "**/*.d.ts" });
|
|
101
|
+
},
|
|
102
|
+
/** Find all typescript source files (`*.ts`, `*.mts` and `*.cts`) */
|
|
103
|
+
_find_sources() {
|
|
104
|
+
return (0, import_plug.merge)([
|
|
105
|
+
_cjsTranspile ? this._find_sources_cts() : (0, import_plug.noop)(),
|
|
106
|
+
_esmTranspile ? this._find_sources_mts() : (0, import_plug.noop)()
|
|
107
|
+
]);
|
|
108
|
+
},
|
|
109
|
+
/** Find all types definition files within sources */
|
|
110
|
+
_find_types() {
|
|
111
|
+
return (0, import_plug.find)("**/*.d.ts", { directory: this.sourceDir });
|
|
112
|
+
},
|
|
113
|
+
/** Find all types definition files within sources */
|
|
114
|
+
_find_extras() {
|
|
115
|
+
if (!(0, import_plug.isDirectory)(this.extraTypesDir))
|
|
116
|
+
return (0, import_plug.noop)();
|
|
117
|
+
return (0, import_plug.find)("**/*.d.ts", { directory: this.extraTypesDir });
|
|
118
|
+
},
|
|
119
|
+
/** Find all resource files (non-typescript files) within sources */
|
|
120
|
+
_find_resources() {
|
|
121
|
+
return (0, import_plug.find)("**/*", { directory: this.sourceDir, ignore: "**/*.([cm])?ts" });
|
|
122
|
+
},
|
|
123
|
+
/** Find all test source files */
|
|
124
|
+
_find_tests() {
|
|
125
|
+
return (0, import_plug.find)(this.testGlob, { directory: this.testDir, ignore: "**/*.d.ts" });
|
|
126
|
+
},
|
|
127
|
+
/* ====================================================================== *
|
|
128
|
+
* TRANSPILE *
|
|
129
|
+
* ====================================================================== */
|
|
130
|
+
/** Transpile to CJS */
|
|
131
|
+
transpile_cjs() {
|
|
132
|
+
return this._find_sources_cts().esbuild({
|
|
133
|
+
...esbuildMergedOptions,
|
|
134
|
+
format: "cjs",
|
|
135
|
+
outdir: this.destDir,
|
|
136
|
+
outExtension: { ".js": this.cjsExtension }
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
/** Transpile to ESM */
|
|
140
|
+
transpile_esm() {
|
|
141
|
+
return this._find_sources_mts().esbuild({
|
|
142
|
+
...esbuildMergedOptions,
|
|
143
|
+
format: "esm",
|
|
144
|
+
outdir: this.destDir,
|
|
145
|
+
outExtension: { ".js": this.esmExtension }
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
/** Generate all .d.ts files */
|
|
149
|
+
transpile_types() {
|
|
150
|
+
return (0, import_plug.merge)([
|
|
151
|
+
this._find_sources(),
|
|
152
|
+
this._find_types(),
|
|
153
|
+
this._find_extras()
|
|
154
|
+
]).tsc("tsconfig.json", {
|
|
155
|
+
noEmit: false,
|
|
156
|
+
rootDir: this.sourceDir,
|
|
157
|
+
declaration: true,
|
|
158
|
+
emitDeclarationOnly: true,
|
|
159
|
+
outDir: this.destDir
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
/** Copy all resources coming alongside our sources */
|
|
163
|
+
transpile_resources() {
|
|
164
|
+
return (0, import_plug.merge)([
|
|
165
|
+
this._find_resources(),
|
|
166
|
+
this._find_types()
|
|
167
|
+
]).copy(this.destDir);
|
|
168
|
+
},
|
|
169
|
+
/** Transpile all source code */
|
|
170
|
+
async transpile() {
|
|
171
|
+
banner("Transpiling source files");
|
|
172
|
+
if ((0, import_plug.isDirectory)(this.destDir))
|
|
173
|
+
await (0, import_plug.rmrf)(this.destDir);
|
|
174
|
+
return (0, import_plug.merge)([
|
|
175
|
+
_cjsTranspile ? this.transpile_cjs() : (0, import_plug.noop)(),
|
|
176
|
+
_esmTranspile ? this.transpile_esm() : (0, import_plug.noop)(),
|
|
177
|
+
this.transpile_types(),
|
|
178
|
+
this.transpile_resources()
|
|
179
|
+
]);
|
|
180
|
+
},
|
|
181
|
+
/* ====================================================================== *
|
|
182
|
+
* TEST, COVERAGE & LINTING *
|
|
183
|
+
* ====================================================================== */
|
|
184
|
+
/** Run test and emit coverage data */
|
|
185
|
+
async test() {
|
|
186
|
+
banner("Running tests");
|
|
187
|
+
if (_coverage && (0, import_plug.isDirectory)(this.coverageDataDir))
|
|
188
|
+
await (0, import_plug.rmrf)(this.coverageDataDir);
|
|
189
|
+
await this._find_tests().jasmine({ coverageDir: _coverage ? this.coverageDataDir : void 0 });
|
|
190
|
+
},
|
|
191
|
+
/** Run tests (always) and generate a coverage report */
|
|
192
|
+
async coverage() {
|
|
193
|
+
let files;
|
|
194
|
+
try {
|
|
195
|
+
await this.test();
|
|
196
|
+
} finally {
|
|
197
|
+
banner("Preparing coverage report");
|
|
198
|
+
files = await this._find_sources().coverage(this.coverageDataDir, {
|
|
199
|
+
reportDir: this.coverageDir,
|
|
200
|
+
minimumCoverage: _minimumCoverage,
|
|
201
|
+
minimumFileCoverage: _minimumFileCoverage,
|
|
202
|
+
optimalCoverage: _optimalCoverage,
|
|
203
|
+
optimalFileCoverage: _optimalFileCoverage
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
return files;
|
|
207
|
+
},
|
|
208
|
+
/** Run test and emit coverage data */
|
|
209
|
+
async lint() {
|
|
210
|
+
banner("Linting sources");
|
|
211
|
+
await (0, import_plug.merge)([
|
|
212
|
+
this._find_sources(),
|
|
213
|
+
this._find_tests(),
|
|
214
|
+
this._find_types(),
|
|
215
|
+
this._find_extras()
|
|
216
|
+
]).eslint();
|
|
217
|
+
},
|
|
218
|
+
/* ====================================================================== *
|
|
219
|
+
* PACKAGE.JSON EXPORTS *
|
|
220
|
+
* ====================================================================== */
|
|
221
|
+
/** Inject `exports` into the `package.json` file */
|
|
222
|
+
async exports() {
|
|
223
|
+
const files = await this.transpile();
|
|
224
|
+
banner('Updating exports in "package.json"');
|
|
225
|
+
return (0, import_plug.merge)([files]).filter(this.exportsGlob, { directory: this.destDir, ignore: "**/*.map" }).exports({
|
|
226
|
+
cjsExtension: this.cjsExtension,
|
|
227
|
+
esmExtension: this.esmExtension,
|
|
228
|
+
packageJson: this.packageJson,
|
|
229
|
+
outputPackageJson: this.outputPackageJson
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
/* ====================================================================== *
|
|
233
|
+
* DEFAULT: DO EVERYTHING *
|
|
234
|
+
* ====================================================================== */
|
|
235
|
+
/* coverage ignore next */
|
|
236
|
+
/** Build everything */
|
|
237
|
+
async default() {
|
|
238
|
+
if (_parallelize) {
|
|
239
|
+
await Promise.all([
|
|
240
|
+
this.transpile(),
|
|
241
|
+
this.coverage(),
|
|
242
|
+
// implies "test"
|
|
243
|
+
this.lint()
|
|
244
|
+
]);
|
|
245
|
+
} else {
|
|
246
|
+
await this.transpile();
|
|
247
|
+
await this.coverage();
|
|
248
|
+
await this.lint();
|
|
249
|
+
}
|
|
250
|
+
await this.exports();
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
function emitBanner(message) {
|
|
255
|
+
import_plug.log.notice([
|
|
256
|
+
"",
|
|
257
|
+
(0, import_plug.$gry)(`\u2554${"".padStart(60, "\u2550")}\u2557`),
|
|
258
|
+
`${(0, import_plug.$gry)("\u2551")} ${(0, import_plug.$wht)(message.padEnd(58, " "))} ${(0, import_plug.$gry)("\u2551")}`,
|
|
259
|
+
(0, import_plug.$gry)(`\u255A${"".padStart(60, "\u2550")}\u255D`),
|
|
260
|
+
""
|
|
261
|
+
].join("\n"));
|
|
262
|
+
}
|
|
263
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
264
|
+
0 && (module.exports = {
|
|
265
|
+
tasks
|
|
266
|
+
});
|
|
267
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import '@plugjs/cov8';
|
|
2
|
+
import '@plugjs/eslint';
|
|
3
|
+
import '@plugjs/jasmine';
|
|
4
|
+
import '@plugjs/typescript';
|
|
5
|
+
import type { ESBuildOptions, Pipe } from '@plugjs/plug';
|
|
6
|
+
export * from '@plugjs/plug';
|
|
7
|
+
/** Options for creating our shared build file */
|
|
8
|
+
export interface TasksOptions {
|
|
9
|
+
/** The directory for the original sources (default: `src`) */
|
|
10
|
+
sourceDir?: string;
|
|
11
|
+
/** The destination directory of the transpiled sources (default: `dist`) */
|
|
12
|
+
destDir?: string;
|
|
13
|
+
/** The directory for the test files (default: `test`) */
|
|
14
|
+
testDir?: string;
|
|
15
|
+
/** The directory for the coverage report (default: `coverage`) */
|
|
16
|
+
coverageDir?: string;
|
|
17
|
+
/** The directory for the coverage data (default: `.coverage-data`) */
|
|
18
|
+
coverageDataDir?: string;
|
|
19
|
+
/** A directory containing extra types to use while transpiling (default: `types`) */
|
|
20
|
+
extraTypesDir?: string;
|
|
21
|
+
/** The source `package.json` file (default: `package.json`) */
|
|
22
|
+
packageJson?: string;
|
|
23
|
+
/** The source `package.json` file (default: same as `packageJson` option) */
|
|
24
|
+
outputPackageJson?: string;
|
|
25
|
+
/** The extension used for CommonJS modules (default: `.cjs`) */
|
|
26
|
+
cjsExtension?: string;
|
|
27
|
+
/** The extension used for EcmaScript modules (default: `.mjs`) */
|
|
28
|
+
esmExtension?: string;
|
|
29
|
+
/** Enable CommonJS Modules transpilation or not (default: `true`) */
|
|
30
|
+
cjsTranspile?: boolean;
|
|
31
|
+
/** Enable EcmaScript Modules transpilation or not (default: `true`) */
|
|
32
|
+
esmTranspile?: boolean;
|
|
33
|
+
/** Enable or disable banners (default: `true` if `parallelize` is `false`) */
|
|
34
|
+
banners?: boolean;
|
|
35
|
+
/** Parallelize tasks (might make output confusing, default: `false`) */
|
|
36
|
+
parallelize?: boolean;
|
|
37
|
+
/** A glob pattern matching all test files (default: `**∕*.test.([cm])?ts`) */
|
|
38
|
+
testGlob?: string;
|
|
39
|
+
/** A glob pattern matching files to be exported (default: `index.*`) */
|
|
40
|
+
exportsGlob?: string;
|
|
41
|
+
/** Enable coverage when running tests (default: `true`) */
|
|
42
|
+
coverage?: boolean;
|
|
43
|
+
/** Minimum overall coverage percentage (default: `100`) */
|
|
44
|
+
minimumCoverage?: number;
|
|
45
|
+
/** Minimum per-file coverage percentage (default: `100`) */
|
|
46
|
+
minimumFileCoverage?: number;
|
|
47
|
+
/** Optimal overall coverage percentage (default: _none_) */
|
|
48
|
+
optimalCoverage?: number;
|
|
49
|
+
/** Optimal per-file coverage percentage (default: _none_) */
|
|
50
|
+
optimalFileCoverage?: number;
|
|
51
|
+
/**
|
|
52
|
+
* ESBuild compilation options
|
|
53
|
+
*
|
|
54
|
+
* Default:
|
|
55
|
+
*
|
|
56
|
+
* ```
|
|
57
|
+
* {
|
|
58
|
+
* platform: 'node',
|
|
59
|
+
* sourcemap: 'linked',
|
|
60
|
+
* sourcesContent: false,
|
|
61
|
+
* plugins: [ fixExtensions() ],
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
esbuildOptions?: ESBuildOptions;
|
|
66
|
+
}
|
|
67
|
+
export declare function tasks(options?: TasksOptions): import("@plugjs/plug").Build<{
|
|
68
|
+
/** The directory for the original sources (default: `src`) */
|
|
69
|
+
sourceDir: string;
|
|
70
|
+
/** The destination directory of the transpiled sources (default: `dist`) */
|
|
71
|
+
destDir: string;
|
|
72
|
+
/** The directory for the test files (default: `test`) */
|
|
73
|
+
testDir: string;
|
|
74
|
+
/** The directory for the coverage report (default: `coverage`) */
|
|
75
|
+
coverageDir: string;
|
|
76
|
+
/** The directory for the coverage data (default: `.coverage-data`) */
|
|
77
|
+
coverageDataDir: string;
|
|
78
|
+
/** A directory containing extra types to use while transpiling (default: `types`) */
|
|
79
|
+
extraTypesDir: string;
|
|
80
|
+
/** The source `package.json` file (default: `package.json`) */
|
|
81
|
+
packageJson: string;
|
|
82
|
+
/** The source `package.json` file (default: same as `packageJson` option) */
|
|
83
|
+
outputPackageJson: string;
|
|
84
|
+
/** The extension used for CommonJS modules (default: `.cjs`) */
|
|
85
|
+
cjsExtension: string;
|
|
86
|
+
/** The extension used for EcmaScript modules (default: `.mjs`) */
|
|
87
|
+
esmExtension: string;
|
|
88
|
+
/** A glob pattern matching all test files (default: `**∕*.test.([cm])?ts`) */
|
|
89
|
+
testGlob: string;
|
|
90
|
+
/** A glob pattern matching files to be exported (default: `index.*`) */
|
|
91
|
+
exportsGlob: string;
|
|
92
|
+
/** Find all CommonJS source files (`*.cts`) */
|
|
93
|
+
_find_sources_cts(): Pipe;
|
|
94
|
+
/** Find all EcmaScript Module source files (`*.mts`) */
|
|
95
|
+
_find_sources_mts(): Pipe;
|
|
96
|
+
/** Find all typescript source files (`*.ts`, `*.mts` and `*.cts`) */
|
|
97
|
+
_find_sources(): Pipe;
|
|
98
|
+
/** Find all types definition files within sources */
|
|
99
|
+
_find_types(): Pipe;
|
|
100
|
+
/** Find all types definition files within sources */
|
|
101
|
+
_find_extras(): Pipe;
|
|
102
|
+
/** Find all resource files (non-typescript files) within sources */
|
|
103
|
+
_find_resources(): Pipe;
|
|
104
|
+
/** Find all test source files */
|
|
105
|
+
_find_tests(): Pipe;
|
|
106
|
+
/** Transpile to CJS */
|
|
107
|
+
transpile_cjs(): Pipe;
|
|
108
|
+
/** Transpile to ESM */
|
|
109
|
+
transpile_esm(): Pipe;
|
|
110
|
+
/** Generate all .d.ts files */
|
|
111
|
+
transpile_types(): Pipe;
|
|
112
|
+
/** Copy all resources coming alongside our sources */
|
|
113
|
+
transpile_resources(): Pipe;
|
|
114
|
+
/** Transpile all source code */
|
|
115
|
+
transpile(): Promise<Pipe>;
|
|
116
|
+
/** Run test and emit coverage data */
|
|
117
|
+
test(): Promise<void>;
|
|
118
|
+
/** Run tests (always) and generate a coverage report */
|
|
119
|
+
coverage(): Promise<Pipe>;
|
|
120
|
+
/** Run test and emit coverage data */
|
|
121
|
+
lint(): Promise<void>;
|
|
122
|
+
/** Inject `exports` into the `package.json` file */
|
|
123
|
+
exports(): Promise<Pipe>;
|
|
124
|
+
/** Build everything */
|
|
125
|
+
default(): Promise<void>;
|
|
126
|
+
}>;
|