view esbuild.config.mjs @ 24:61fd7dde51d3

Fix build script
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 18 Mar 2022 19:30:10 -0700
parents 2a9e941c96ee
children 141f0a7d1986
line wrap: on
line source

import esbuild from "esbuild";
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
*/
`;

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

var outdir = (process.argv[2] === 'dogfood' ? process.argv[3] : '');
if (outdir != '') {
	if (outdir.slice(-1) != '/' && outdir.slice(-1) != "\\") {
		outdir += '/';
	}
}

const outfile = outdir + 'main.js';

esbuild.build({
	banner: {
		js: banner,
	},
	entryPoints: ['src/main.ts'],
	bundle: true,
	external: [
		'obsidian',
		'electron',
		'@codemirror/autocomplete',
		'@codemirror/closebrackets',
		'@codemirror/collab',
		'@codemirror/commands',
		'@codemirror/comment',
		'@codemirror/fold',
		'@codemirror/gutter',
		'@codemirror/highlight',
		'@codemirror/history',
		'@codemirror/language',
		'@codemirror/lint',
		'@codemirror/matchbrackets',
		'@codemirror/panel',
		'@codemirror/rangeset',
		'@codemirror/rectangular-selection',
		'@codemirror/search',
		'@codemirror/state',
		'@codemirror/stream-parser',
		'@codemirror/text',
		'@codemirror/tooltip',
		'@codemirror/view',
		...builtins],
	format: 'cjs',
	watch: !prod,
	target: 'es2016',
	logLevel: "info",
	sourcemap: prod ? false : 'inline',
	treeShaking: true,
	outfile: outfile,
}).catch(() => process.exit(1));