view esbuild.config.mjs @ 20:18ff216ce0c4

Make stylesheet not empty to prevent error file being installed
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 18 Mar 2022 19:19:51 -0700
parents 2a9e941c96ee
children 61fd7dde51d3
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');
const outdir = (process.argv[2] === 'dogfood' ? process.argv[3] : '');

const dirsep = (outdir.slice(-1) == '/' || outdir.slice(-1) == "\\") ? '' : '/';
const outfile = outdir + dirsep + '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));