Switch to deno
This commit is contained in:
28
tools/build.ts
Normal file
28
tools/build.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import * as esbuild from "npm:esbuild";
|
||||
import { denoPlugins } from "jsr:@luca/esbuild-deno-loader";
|
||||
import browserslist from "npm:browserslist";
|
||||
import { projectRootDir } from "../root.ts";
|
||||
|
||||
const browsers = browserslist([
|
||||
"last 4 Chrome versions",
|
||||
"last 4 Edge versions",
|
||||
"last 4 Opera versions",
|
||||
"last 4 Firefox versions",
|
||||
"last 4 Safari versions",
|
||||
]).map((browser: string) => browser.replace(" ", ""));
|
||||
|
||||
// esbuild target is fine-grained: https://esbuild.github.io/api/#target
|
||||
const target = [...browsers, "ios18", "ios17", "ios16", "ios14"];
|
||||
await esbuild.build({
|
||||
plugins: [...denoPlugins()],
|
||||
absWorkingDir: projectRootDir,
|
||||
entryPoints: ["src/client/index.tsx"],
|
||||
outfile: "src/static/dist/bundle.js",
|
||||
bundle: true,
|
||||
format: "esm",
|
||||
target,
|
||||
jsx: "automatic",
|
||||
jsxImportSource: "react",
|
||||
});
|
||||
|
||||
esbuild.stop();
|
Reference in New Issue
Block a user