feat: gitignored src/userplugins directory (#112)

This commit is contained in:
megumin 2022-10-17 22:46:52 +01:00 committed by GitHub
parent 5a18292d92
commit 9d6021f0b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 11 deletions

View file

@ -1,5 +1,6 @@
import { execSync } from "child_process";
import esbuild from "esbuild";
import { existsSync } from "fs";
import { readdir } from "fs/promises";
const watch = process.argv.includes("--watch");
@ -41,21 +42,27 @@ export const globPlugins = {
});
build.onLoad({ filter: /^plugins$/, namespace: "import-plugins" }, async () => {
const files = await readdir("./src/plugins");
const pluginDirs = ["plugins", "userplugins"];
let code = "";
let plugins = "\n";
for (let i = 0; i < files.length; i++) {
if (files[i] === "index.ts") {
continue;
let i = 0;
for (const dir of pluginDirs) {
if (!existsSync(`./src/${dir}`)) continue;
const files = await readdir(`./src/${dir}`);
for (const file of files) {
if (file === "index.ts") {
continue;
}
const mod = `p${i}`;
code += `import ${mod} from "./${dir}/${file.replace(/.tsx?$/, "")}";\n`;
plugins += `[${mod}.name]:${mod},\n`;
i++;
}
const mod = `p${i}`;
code += `import ${mod} from "./${files[i].replace(/.tsx?$/, "")}";\n`;
plugins += `[${mod}.name]:${mod},\n`;
}
code += `export default {${plugins}};`;
return {
contents: code,
resolveDir: "./src/plugins"
resolveDir: "./src"
};
});
}