mirror of
https://github.com/Equicord/Equicord.git
synced 2025-06-08 22:23:02 -04:00
Monaco for Discord Desktop
This commit is contained in:
parent
23d4cae123
commit
44f6f71c3e
11 changed files with 173 additions and 90 deletions
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import esbuild from "esbuild";
|
||||
import { commonOpts, gitHashPlugin, globPlugins, makeAllPackagesExternalPlugin } from "./common.mjs";
|
||||
import { commonOpts, fileIncludePlugin, gitHashPlugin, globPlugins, makeAllPackagesExternalPlugin } from "./common.mjs";
|
||||
|
||||
/**
|
||||
* @type {esbuild.BuildOptions}
|
||||
|
@ -30,7 +30,7 @@ const nodeCommonOpts = {
|
|||
target: ["esnext"],
|
||||
minify: true,
|
||||
sourcemap: "linked",
|
||||
plugins: [makeAllPackagesExternalPlugin],
|
||||
plugins: [...commonOpts.plugins, makeAllPackagesExternalPlugin],
|
||||
};
|
||||
|
||||
await Promise.all([
|
||||
|
@ -55,7 +55,8 @@ await Promise.all([
|
|||
external: ["plugins", "git-hash"],
|
||||
plugins: [
|
||||
globPlugins,
|
||||
gitHashPlugin
|
||||
gitHashPlugin,
|
||||
fileIncludePlugin
|
||||
],
|
||||
define: {
|
||||
IS_WEB: "false"
|
||||
|
@ -65,6 +66,6 @@ await Promise.all([
|
|||
console.error("Build failed");
|
||||
console.error(err.message);
|
||||
// make ci fail
|
||||
if (!watch)
|
||||
if (!commonOpts.watch)
|
||||
process.exitCode = 1;
|
||||
});
|
||||
|
|
|
@ -23,7 +23,7 @@ import yazl from "yazl";
|
|||
import esbuild from "esbuild";
|
||||
// wtf is this assert syntax
|
||||
import PackageJSON from "../../package.json" assert { type: "json" };
|
||||
import { commonOpts, gitHashPlugin, globPlugins } from "./common.mjs";
|
||||
import { commonOpts, fileIncludePlugin, gitHashPlugin, globPlugins } from "./common.mjs";
|
||||
|
||||
/**
|
||||
* @type {esbuild.BuildOptions}
|
||||
|
@ -36,7 +36,8 @@ const commonOptions = {
|
|||
external: ["plugins", "git-hash"],
|
||||
plugins: [
|
||||
globPlugins,
|
||||
gitHashPlugin
|
||||
gitHashPlugin,
|
||||
fileIncludePlugin
|
||||
],
|
||||
target: ["esnext"],
|
||||
define: {
|
||||
|
|
|
@ -19,22 +19,11 @@
|
|||
import { execSync } from "child_process";
|
||||
import esbuild from "esbuild";
|
||||
import { existsSync } from "fs";
|
||||
import { readdir } from "fs/promises";
|
||||
import { readdir, readFile } from "fs/promises";
|
||||
import { join } from "path";
|
||||
|
||||
const watch = process.argv.includes("--watch");
|
||||
|
||||
/**
|
||||
* @type {esbuild.BuildOptions}
|
||||
*/
|
||||
export const commonOpts = {
|
||||
logLevel: "info",
|
||||
bundle: true,
|
||||
watch,
|
||||
minify: !watch,
|
||||
sourcemap: watch ? "inline" : "",
|
||||
legalComments: "linked"
|
||||
};
|
||||
|
||||
// https://github.com/evanw/esbuild/issues/619#issuecomment-751995294
|
||||
/**
|
||||
* @type {esbuild.Plugin}
|
||||
|
@ -103,3 +92,39 @@ export const gitHashPlugin = {
|
|||
}));
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @type {esbuild.Plugin}
|
||||
*/
|
||||
export const fileIncludePlugin = {
|
||||
name: "file-include-plugin",
|
||||
setup: build => {
|
||||
const filter = /^@fileContent\/.+$/;
|
||||
build.onResolve({ filter }, args => ({
|
||||
namespace: "include-file",
|
||||
path: args.path,
|
||||
pluginData: {
|
||||
path: join(args.resolveDir, args.path.slice("include-file/".length))
|
||||
}
|
||||
}));
|
||||
build.onLoad({ filter, namespace: "include-file" }, async ({ pluginData: { path } }) => {
|
||||
const [name, format] = path.split(";");
|
||||
return {
|
||||
contents: `export default ${JSON.stringify(await readFile(name, format ?? "utf-8"))}`
|
||||
};
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @type {esbuild.BuildOptions}
|
||||
*/
|
||||
export const commonOpts = {
|
||||
logLevel: "info",
|
||||
bundle: true,
|
||||
watch,
|
||||
minify: !watch,
|
||||
sourcemap: watch ? "inline" : "",
|
||||
legalComments: "linked",
|
||||
plugins: [fileIncludePlugin]
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue