Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sisilicon
GitHub Repository: sisilicon/worldedit-be
Path: blob/master/tools/plugins.mjs
1780 views
1
/* global console */
2
import fs from "fs";
3
import path from "path";
4
5
export let infoPlugin = function () {
6
return {
7
name: "infoPlugin",
8
setup(build) {
9
let start = Date.now();
10
build.onStart(() => {
11
console.log("\u{1F528} Building...");
12
start = Date.now();
13
});
14
build.onEnd((result) => {
15
let end = Date.now();
16
const diff = end - start;
17
console.log(`\u{2705} Build completed in ${diff}ms with ${result.warnings.length} warnings and ${result.errors.length} errors.`);
18
});
19
},
20
};
21
};
22
23
export let transformerPlugin = function (filter, transformers) {
24
return {
25
name: "transformerPlugin",
26
setup(build) {
27
build.onLoad({ filter }, (args) => {
28
let contents = fs.readFileSync(args.path, "utf8");
29
for (const transformer of transformers) {
30
contents = transformer(args.path, contents) ?? contents;
31
}
32
return { contents, loader: path.extname(args.path).slice(1) };
33
});
34
},
35
};
36
};
37
38