diff --git a/package.json b/package.json index f8e51c7b..6274b50f 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,8 @@ "fmt:check": "prettier --check .", "build:rules": "node tools/build-rules.js", "build:update-rules-docs": "node tools/update-rules-docs.js", - "build": "npm run build:rules && tsc && npm run build:update-rules-docs", + "build:write-types-export": "node tools/write-types-export.js", + "build": "npm run build:rules && tsc && npm run build:update-rules-docs && npm run build:write-types-export", "build:readme": "node tools/update-readme.js", "prepare": "npm run build", "test": "c8 mocha \"tests/**/*.test.js\" --timeout 30000", diff --git a/tools/write-types-export.js b/tools/write-types-export.js new file mode 100644 index 00000000..5edbd7db --- /dev/null +++ b/tools/write-types-export.js @@ -0,0 +1,29 @@ +/** + * @fileoverview Adds a re-export of types to dist's index.d.ts file. + * + * Usage: + * node tools/write-types-export.js + * + * @author Josh Goldberg + */ + +//----------------------------------------------------------------------------- +// Imports +//----------------------------------------------------------------------------- + +import fs from "node:fs/promises"; + +//----------------------------------------------------------------------------- +// Main +//----------------------------------------------------------------------------- + +const distIndexFile = "dist/esm/index.d.ts"; + +await fs.writeFile( + distIndexFile, + [ + await fs.readFile(distIndexFile, "utf-8"), + `export type * from "./types.d.ts";`, + "", + ].join("\n"), +);