import esbuild from "esbuild";
import process from "process";

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
*/
`;

const prod = (process.argv[2] === 'production');

const context = {
	banner: {
		js: banner,
	},
	entryPoints: ['main.ts'],
	bundle: true,
	external: ['obsidian', 'electron'],
	format: 'cjs',
	platform: 'node',
	target: 'es2018',
	logLevel: "info",
	sourcemap: prod ? false : 'inline',
	treeShaking: true,
	outfile: 'main.js',
};

if (prod) {
	esbuild.build(context).catch(() => process.exit(1));
} else {
	esbuild.context(context).then(ctx => {
		ctx.watch();
		console.log('Watching for changes...');
	}).catch(() => process.exit(1));
}
