From 72340af73fbf8fafbefb4c73f39c8cbf4f07424b Mon Sep 17 00:00:00 2001 From: yyovil Date: Mon, 13 Apr 2026 20:57:08 +0530 Subject: [PATCH] build(core): use ts rollup config Entire-Checkpoint: a4d62ba98cfd --- packages/core/package.json | 2 +- .../{rollup.config.mjs => rollup.config.ts} | 29 ++++++++++++++----- packages/core/tsconfig.build.json | 4 --- 3 files changed, 22 insertions(+), 13 deletions(-) rename packages/core/{rollup.config.mjs => rollup.config.ts} (68%) delete mode 100644 packages/core/tsconfig.build.json diff --git a/packages/core/package.json b/packages/core/package.json index 93dc3a2b8..e396e1eb8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -80,7 +80,7 @@ "node": ">=20.0.0" }, "scripts": { - "build": "rm -rf dist && rollup -c rollup.config.mjs && tsc -p tsconfig.build.json --emitDeclarationOnly", + "build": "rollup -c rollup.config.ts", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", diff --git a/packages/core/rollup.config.mjs b/packages/core/rollup.config.ts similarity index 68% rename from packages/core/rollup.config.mjs rename to packages/core/rollup.config.ts index 7ef7645c0..d32a216cb 100644 --- a/packages/core/rollup.config.mjs +++ b/packages/core/rollup.config.ts @@ -1,5 +1,6 @@ -import { readFile } from "node:fs/promises"; +import { readFile, rm } from "node:fs/promises"; import { builtinModules } from "node:module"; +import type { Plugin, RollupOptions } from "rollup"; import typescript from "@rollup/plugin-typescript"; const externalPackages = new Set(["yaml", "zod"]); @@ -8,7 +9,7 @@ const nodeBuiltins = new Set([ ...builtinModules.map((moduleName) => `node:${moduleName}`), ]); -function getPackageName(importId) { +function getPackageName(importId: string): string | null { if (importId.startsWith(".") || importId.startsWith("/")) { return null; } @@ -17,10 +18,10 @@ function getPackageName(importId) { return importId.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0]; } -function rawMarkdown() { +function rawMarkdown(): Plugin { return { name: "raw-markdown", - async load(id) { + async load(id: string) { if (!id.endsWith(".md")) { return null; } @@ -30,7 +31,16 @@ function rawMarkdown() { }; } -export default { +function cleanDist(): Plugin { + return { + name: "clean-dist", + async buildStart() { + await rm("dist", { force: true, recursive: true }); + }, + }; +} + +const config: RollupOptions = { input: "src/index.ts", output: { dir: "dist", @@ -39,7 +49,7 @@ export default { preserveModulesRoot: "src", sourcemap: true, }, - external(id) { + external(id: string) { if (nodeBuiltins.has(id) || id.startsWith("node:")) { return true; } @@ -48,14 +58,17 @@ export default { return packageName ? externalPackages.has(packageName) : false; }, plugins: [ + cleanDist(), rawMarkdown(), typescript({ compilerOptions: { - declaration: false, - declarationMap: false, + declaration: true, + declarationMap: true, module: "Node16", }, tsconfig: "./tsconfig.json", }), ], }; + +export default config; diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json deleted file mode 100644 index 4dc23fb9c..000000000 --- a/packages/core/tsconfig.build.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["src/__tests__"] -}