import "dotenv/config"; import esbuild from "esbuild"; import inlineWorkerPlugin from "esbuild-plugin-inline-worker"; import process from "process"; // import builtins from 'builtin-modules' const banner = `/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ `; console.log(`esbuild version = ${esbuild.version}`); const prod = process.argv[2] === "production"; const DEFAULT_DROPBOX_APP_KEY = process.env.DROPBOX_APP_KEY || ""; const DEFAULT_ONEDRIVE_CLIENT_ID = process.env.ONEDRIVE_CLIENT_ID || ""; const DEFAULT_ONEDRIVE_AUTHORITY = process.env.ONEDRIVE_AUTHORITY || ""; const DEFAULT_REMOTELYSAVE_WEBSITE = process.env.REMOTELYSAVE_WEBSITE || ""; const DEFAULT_REMOTELYSAVE_CLIENT_ID = process.env.REMOTELYSAVE_CLIENT_ID || ""; const DEFAULT_GOOGLEDRIVE_CLIENT_ID = process.env.GOOGLEDRIVE_CLIENT_ID || ""; const DEFAULT_GOOGLEDRIVE_CLIENT_SECRET = process.env.GOOGLEDRIVE_CLIENT_SECRET || ""; const DEFAULT_BOX_CLIENT_ID = process.env.BOX_CLIENT_ID || ""; const DEFAULT_BOX_CLIENT_SECRET = process.env.BOX_CLIENT_SECRET || ""; const DEFAULT_PCLOUD_CLIENT_ID = process.env.PCLOUD_CLIENT_ID || ""; const DEFAULT_PCLOUD_CLIENT_SECRET = process.env.PCLOUD_CLIENT_SECRET || ""; const DEFAULT_YANDEXDISK_CLIENT_ID = process.env.YANDEXDISK_CLIENT_ID || ""; const DEFAULT_YANDEXDISK_CLIENT_SECRET = process.env.YANDEXDISK_CLIENT_SECRET || ""; const DEFAULT_KOOFR_CLIENT_ID = process.env.KOOFR_CLIENT_ID || ""; const DEFAULT_KOOFR_CLIENT_SECRET = process.env.KOOFR_CLIENT_SECRET || ""; esbuild .context({ banner: { js: banner, }, loader: { ".svg": "text", }, entryPoints: ["./src/main.ts"], bundle: true, external: [ "obsidian", "electron", "fs", "tls", "net", "http", "https", "vm", // "process", // ...builtins ], inject: ["./esbuild.injecthelper.mjs"], format: "cjs", // watch: !prod, // no longer valid in esbuild 0.17 target: "es2016", logLevel: "info", sourcemap: prod ? false : "inline", treeShaking: true, minify: prod, outfile: "main.js", define: { "global.DEFAULT_DROPBOX_APP_KEY": `"${DEFAULT_DROPBOX_APP_KEY}"`, "global.DEFAULT_ONEDRIVE_CLIENT_ID": `"${DEFAULT_ONEDRIVE_CLIENT_ID}"`, "global.DEFAULT_ONEDRIVE_AUTHORITY": `"${DEFAULT_ONEDRIVE_AUTHORITY}"`, "global.DEFAULT_REMOTELYSAVE_WEBSITE": `"${DEFAULT_REMOTELYSAVE_WEBSITE}"`, "global.DEFAULT_REMOTELYSAVE_CLIENT_ID": `"${DEFAULT_REMOTELYSAVE_CLIENT_ID}"`, "global.DEFAULT_GOOGLEDRIVE_CLIENT_ID": `"${DEFAULT_GOOGLEDRIVE_CLIENT_ID}"`, "global.DEFAULT_GOOGLEDRIVE_CLIENT_SECRET": `"${DEFAULT_GOOGLEDRIVE_CLIENT_SECRET}"`, "global.DEFAULT_BOX_CLIENT_ID": `"${DEFAULT_BOX_CLIENT_ID}"`, "global.DEFAULT_BOX_CLIENT_SECRET": `"${DEFAULT_BOX_CLIENT_SECRET}"`, "global.DEFAULT_PCLOUD_CLIENT_ID": `"${DEFAULT_PCLOUD_CLIENT_ID}"`, "global.DEFAULT_PCLOUD_CLIENT_SECRET": `"${DEFAULT_PCLOUD_CLIENT_SECRET}"`, "global.DEFAULT_YANDEXDISK_CLIENT_ID": `"${DEFAULT_YANDEXDISK_CLIENT_ID}"`, "global.DEFAULT_YANDEXDISK_CLIENT_SECRET": `"${DEFAULT_YANDEXDISK_CLIENT_SECRET}"`, "global.DEFAULT_KOOFR_CLIENT_ID": `"${DEFAULT_KOOFR_CLIENT_ID}"`, "global.DEFAULT_KOOFR_CLIENT_SECRET": `"${DEFAULT_KOOFR_CLIENT_SECRET}"`, global: "window", "process.env.NODE_DEBUG": `undefined`, // ugly fix "process.env.DEBUG": `undefined`, // ugly fix // "process.version": `"v20.10.0"`, // who's using this? // "process":`undefined`, // "global.process":`undefined`, // make azure blob storage happy // https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-util/src/checkEnvironment.ts "globalThis.process.versions": `undefined`, }, plugins: [inlineWorkerPlugin()], }) .then((context) => { if (process.argv.includes("--watch")) { // Enable watch mode context.watch(); } else { // Build once and exit if not in watch mode context.rebuild().then((result) => { context.dispose(); }); } }) .catch(() => process.exit(1));