import { build, emptyDir } from "https://deno.land/x/dnt@0.38.1/mod.ts"; if (!Deno.args[0]) throw new Error("No version specified"); await emptyDir("./npm"); await build({ entryPoints: [{ name: ".", path: "./mod.ts", }, { name: "./types", path: "./src/types.ts", }], outDir: "./npm", shims: { deno: true, }, packageManager: "pnpm", compilerOptions: { lib: ["DOM", "ESNext"], }, typeCheck: "both", package: { // package.json properties name: "classcharts-api", author: { name: "James Cook", email: "james@jaminit.co.uk", }, version: String(Deno.args[0]).replace("v", ""), description: "A Typescript wrapper for getting information from the ClassCharts API", license: "ISC", keywords: ["node", "typescript", "classcharts", "class charts"], bugs: { url: "https://github.com/classchartsapi/classcharts-api-js/issues", }, repository: { type: "git", url: "https://github.com/classchartsapi/classcharts-api-js.git", }, homepage: "https://classchartsapi.github.io/classcharts-api-js/", engines: { node: ">=18", }, sideEffects: false, }, postBuild() { // steps to run after building and before running the tests Deno.copyFileSync("LICENSE", "npm/LICENSE"); Deno.copyFileSync("README.md", "npm/README.md"); }, });