esbuild에서 구축할 때의 스크립트

7293 단어 JavaScriptesbuildtech
최근에 프로그램 라이브러리를 구축할 때esbuild를 전문적으로 사용합니다.
esbuild를 사용할 때 대체로 ./scripts/build.mjs 같은 것을 준비했다.이 글은 자신이 사용한 구축 스크립트의 초기 형태를 소개했다.
스테이지 3의 Import Assiertions와 JSON modules를 사용하여 취득package.json했기 때문에 Node.jsv17과가 필요합니다.
환경 변수에 WATCH를 맡기면 감시 모드가 된다.
다양한 설정은 용도에 따라 취향에 따라 진행하세요.
import { build } from "esbuild";
import pkg from "../package.json" assert { type: "json" };

const dependencies = Object.keys(pkg.dependencies ?? {});
const peerDependencies = Object.keys(pkg.peerDependencies ?? {});

const external = [...dependencies, ...peerDependencies];

/** @type {import('esbuild').BuildOptions} */
const options = {
  entryPoints: ["./src/index.ts"],
  minify: true,
  bundle: true,
  outfile: "./dist/index.js",
  target: "node14.11",
  platform: "node",
  format: "cjs",
  external,
};

if (process.env.WATCH === "true") {
  options.watch = {
    onRebuild(error, result) {
      if (error) {
        console.error("watch build failed:", error);
      } else {
        console.log("watch build succeeded:", result);
      }
    },
  };
}

build(options).catch((err) => {
  process.stderr.write(err.stderr);
  process.exit(1);
});

좋은 웹페이지 즐겨찾기