rsms / estrella

Lightweight and versatile build tool based on the esbuild compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When watching multiple TypeScript builds, make it easier to distinguish which one is which

AlCalzone opened this issue · comments

I'm starting to try this project out and really like it so far. When watching multiple TypeScript builds however, it's not clear which typecheck is which:

grafik

I think something as simple as this could work:

————————————————————————————
TS: OK (admin/tsconfig.json)
————————————————————————————
————————————————————————————
TS: OK (tsconfig.json)
————————————————————————————

Build script for reference:

/** Build script to use esbuild without specifying 1000 CLI options */
const { build, cliopts } = require("estrella");
const glob = require("tiny-glob");

const [opts, args] = cliopts.parse(
	["react", "Build React sources"],
	["typescript", "Build typescript soruces"],
);

if (opts.react) {
	(async () => {
		await build({
			entryPoints: ["./admin/src/index"],
			tsconfig: "./admin/tsconfig.json",
			bundle: true,
			minify: true,
			outdir: "admin/build",
			sourcemap: "external",
			logLevel: "info",
			define: {
				"process.env.NODE_ENV": '"production"',
			},
		});
	})().catch(() => process.exit(1));
}

if (opts.typescript) {
	(async () => {
		let entryPoints = await glob("./src/**/*.ts");
		entryPoints = entryPoints.filter((ep) => !ep.endsWith(".d.ts"));
		await build({
			entryPoints,
			outdir: "build",
			bundle: false,
			minify: false,
			sourcemap: "external",
			logLevel: "info",
			platform: "node",
			format: "cjs",
			target: "node10",
		});
	})().catch(() => process.exit(1));
}

Oh, good idea! PR welcome :–)