From 500d24034e152297d0a8cf2267b935f363883e04 Mon Sep 17 00:00:00 2001 From: Cedoor Date: Fri, 13 Sep 2024 12:23:52 +0100 Subject: [PATCH] fix: add dts plugin to roll-up definition files (#320) re #319 --- package.json | 1 + packages/baby-jubjub/build.tsconfig.json | 3 +- packages/baby-jubjub/package.json | 5 +- packages/baby-jubjub/rollup.config.ts | 7 ++ packages/eddsa-poseidon/build.tsconfig.json | 3 +- packages/eddsa-poseidon/package.json | 5 +- packages/eddsa-poseidon/rollup.config.ts | 6 ++ packages/imt/build.tsconfig.json | 3 +- packages/imt/package.json | 5 +- packages/imt/rollup.config.ts | 6 ++ packages/lazytower/build.tsconfig.json | 3 +- packages/lazytower/package.json | 7 +- packages/lazytower/rollup.config.ts | 48 +++++++------ packages/lean-imt/build.tsconfig.json | 3 +- packages/lean-imt/package.json | 5 +- packages/lean-imt/rollup.config.ts | 6 ++ .../logical-expressions/build.tsconfig.json | 1 - packages/logical-expressions/package.json | 7 +- packages/logical-expressions/rollup.config.ts | 24 ++++--- packages/poseidon-cipher/build.tsconfig.json | 3 +- packages/poseidon-cipher/package.json | 7 +- packages/poseidon-cipher/rollup.config.ts | 26 ++++--- packages/poseidon-proof/build.tsconfig.json | 1 - packages/poseidon-proof/package.json | 7 +- packages/poseidon-proof/rollup.config.ts | 26 ++++--- packages/smt/build.tsconfig.json | 3 +- packages/smt/package.json | 7 +- packages/smt/rollup.config.ts | 48 +++++++------ packages/utils/build.tsconfig.json | 3 +- packages/utils/package.json | 17 ++--- packages/utils/rollup.config.ts | 41 +++++++++-- tsconfig.json | 2 - yarn.lock | 72 +++++++++++++++++++ 33 files changed, 290 insertions(+), 121 deletions(-) diff --git a/package.json b/package.json index 415fb6e25..38ecb82cf 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "lint-staged": "^15.2.2", "prettier": "^3.2.5", "rimraf": "^5.0.5", + "rollup-plugin-dts": "^6.1.1", "ts-jest": "^29.1.2", "ts-node": "^10.9.2", "tslib": "^2.6.2", diff --git a/packages/baby-jubjub/build.tsconfig.json b/packages/baby-jubjub/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/baby-jubjub/build.tsconfig.json +++ b/packages/baby-jubjub/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/baby-jubjub/package.json b/packages/baby-jubjub/package.json index 5d079526e..e23889567 100644 --- a/packages/baby-jubjub/package.json +++ b/packages/baby-jubjub/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -43,6 +43,7 @@ "rimraf": "^5.0.5", "rollup": "^4.12.0", "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0" }, "dependencies": { diff --git a/packages/baby-jubjub/rollup.config.ts b/packages/baby-jubjub/rollup.config.ts index d8d0a7c17..930337eec 100644 --- a/packages/baby-jubjub/rollup.config.ts +++ b/packages/baby-jubjub/rollup.config.ts @@ -3,6 +3,7 @@ import terser from "@rollup/plugin-terser" import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" +import { dts } from "rollup-plugin-dts" import nodePolyfills from "rollup-plugin-polyfill-node" const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")) @@ -57,5 +58,11 @@ export default [ nodePolyfills(), cleanup({ comments: "jsdoc" }) ] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + external: ["@zk-kit/utils/f1-field"], + plugins: [dts()] } ] diff --git a/packages/eddsa-poseidon/build.tsconfig.json b/packages/eddsa-poseidon/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/eddsa-poseidon/build.tsconfig.json +++ b/packages/eddsa-poseidon/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/eddsa-poseidon/package.json b/packages/eddsa-poseidon/package.json index 92287c5e6..6e4878466 100644 --- a/packages/eddsa-poseidon/package.json +++ b/packages/eddsa-poseidon/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -45,6 +45,7 @@ "rimraf": "^5.0.5", "rollup": "^4.12.0", "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0" }, "dependencies": { diff --git a/packages/eddsa-poseidon/rollup.config.ts b/packages/eddsa-poseidon/rollup.config.ts index 0525c388c..1e54692e2 100644 --- a/packages/eddsa-poseidon/rollup.config.ts +++ b/packages/eddsa-poseidon/rollup.config.ts @@ -1,5 +1,6 @@ import commonjs from "@rollup/plugin-commonjs" import { nodeResolve } from "@rollup/plugin-node-resolve" +import { dts } from "rollup-plugin-dts" import terser from "@rollup/plugin-terser" import typescript from "@rollup/plugin-typescript" import fs from "fs" @@ -64,5 +65,10 @@ export default [ nodePolyfills(), cleanup({ comments: "jsdoc" }) ] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] } ] diff --git a/packages/imt/build.tsconfig.json b/packages/imt/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/imt/build.tsconfig.json +++ b/packages/imt/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/imt/package.json b/packages/imt/package.json index a77d613ca..60265bb90 100644 --- a/packages/imt/package.json +++ b/packages/imt/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -43,6 +43,7 @@ "rimraf": "^5.0.5", "rollup": "^4.12.0", "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0" }, "dependencies": { diff --git a/packages/imt/rollup.config.ts b/packages/imt/rollup.config.ts index 3f145e9f0..1b6533d5f 100644 --- a/packages/imt/rollup.config.ts +++ b/packages/imt/rollup.config.ts @@ -1,5 +1,6 @@ import { nodeResolve } from "@rollup/plugin-node-resolve" import terser from "@rollup/plugin-terser" +import { dts } from "rollup-plugin-dts" import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" @@ -52,5 +53,10 @@ export default [ nodePolyfills(), cleanup({ comments: "jsdoc" }) ] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] } ] diff --git a/packages/lazytower/build.tsconfig.json b/packages/lazytower/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/lazytower/build.tsconfig.json +++ b/packages/lazytower/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/lazytower/package.json b/packages/lazytower/package.json index 49951dbdf..1447e90e4 100644 --- a/packages/lazytower/package.json +++ b/packages/lazytower/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -41,7 +41,8 @@ "@rollup/plugin-typescript": "^11.1.6", "rimraf": "^5.0.5", "rollup": "^4.12.0", - "rollup-plugin-cleanup": "^3.2.1" + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1" }, "dependencies": { "poseidon-lite": "^0.2.0" diff --git a/packages/lazytower/rollup.config.ts b/packages/lazytower/rollup.config.ts index 4d52a6cea..d26a49d0f 100644 --- a/packages/lazytower/rollup.config.ts +++ b/packages/lazytower/rollup.config.ts @@ -1,5 +1,6 @@ import terser from "@rollup/plugin-terser" import typescript from "@rollup/plugin-typescript" +import { dts } from "rollup-plugin-dts" import fs from "fs" import cleanup from "rollup-plugin-cleanup" @@ -14,23 +15,30 @@ const banner = `/** */` const name = pkg.name.substr(1).replace(/[-/]./g, (x: string) => x.toUpperCase()[1]) -export default { - input: "src/index.ts", - output: [ - { - file: pkg.iife, - name, - format: "iife", - banner - }, - { - file: pkg.unpkg, - name, - format: "iife", - plugins: [terser({ output: { preamble: banner } })] - }, - { file: pkg.exports["."].require, format: "cjs", banner }, - { file: pkg.exports["."].default, format: "es", banner } - ], - plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] -} +export default [ + { + input: "src/index.ts", + output: [ + { + file: pkg.iife, + name, + format: "iife", + banner + }, + { + file: pkg.unpkg, + name, + format: "iife", + plugins: [terser({ output: { preamble: banner } })] + }, + { file: pkg.exports["."].require, format: "cjs", banner }, + { file: pkg.exports["."].default, format: "es", banner } + ], + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + } +] diff --git a/packages/lean-imt/build.tsconfig.json b/packages/lean-imt/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/lean-imt/build.tsconfig.json +++ b/packages/lean-imt/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/lean-imt/package.json b/packages/lean-imt/package.json index 72b918704..7453b930c 100644 --- a/packages/lean-imt/package.json +++ b/packages/lean-imt/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -43,6 +43,7 @@ "rimraf": "^5.0.5", "rollup": "^4.12.0", "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0" }, "dependencies": { diff --git a/packages/lean-imt/rollup.config.ts b/packages/lean-imt/rollup.config.ts index 3f145e9f0..8ce835969 100644 --- a/packages/lean-imt/rollup.config.ts +++ b/packages/lean-imt/rollup.config.ts @@ -3,6 +3,7 @@ import terser from "@rollup/plugin-terser" import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" +import { dts } from "rollup-plugin-dts" import nodePolyfills from "rollup-plugin-polyfill-node" const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")) @@ -52,5 +53,10 @@ export default [ nodePolyfills(), cleanup({ comments: "jsdoc" }) ] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] } ] diff --git a/packages/logical-expressions/build.tsconfig.json b/packages/logical-expressions/build.tsconfig.json index 09b37d986..f4d49486c 100644 --- a/packages/logical-expressions/build.tsconfig.json +++ b/packages/logical-expressions/build.tsconfig.json @@ -2,7 +2,6 @@ "extends": "../../tsconfig.json", "compilerOptions": { "baseUrl": ".", - "declarationDir": "dist/types", "resolveJsonModule": true }, "include": ["src"] diff --git a/packages/logical-expressions/package.json b/packages/logical-expressions/package.json index c2349a419..333073f3a 100644 --- a/packages/logical-expressions/package.json +++ b/packages/logical-expressions/package.json @@ -5,10 +5,10 @@ "type": "module", "license": "MIT", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -38,6 +38,7 @@ "@rollup/plugin-typescript": "^11.1.6", "rimraf": "^5.0.5", "rollup": "^4.12.0", - "rollup-plugin-cleanup": "^3.2.1" + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1" } } diff --git a/packages/logical-expressions/rollup.config.ts b/packages/logical-expressions/rollup.config.ts index 0cb580ebc..7c0c02334 100644 --- a/packages/logical-expressions/rollup.config.ts +++ b/packages/logical-expressions/rollup.config.ts @@ -1,4 +1,5 @@ import typescript from "@rollup/plugin-typescript" +import { dts } from "rollup-plugin-dts" import fs from "fs" import cleanup from "rollup-plugin-cleanup" @@ -12,11 +13,18 @@ const banner = `/** * @see [Github]{@link ${pkg.homepage}} */` -export default { - input: "src/index.ts", - output: [ - { file: pkg.exports["."].require, format: "cjs", banner }, - { file: pkg.exports["."].default, format: "es", banner } - ], - plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] -} +export default [ + { + input: "src/index.ts", + output: [ + { file: pkg.exports["."].require, format: "cjs", banner }, + { file: pkg.exports["."].default, format: "es", banner } + ], + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + } +] diff --git a/packages/poseidon-cipher/build.tsconfig.json b/packages/poseidon-cipher/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/poseidon-cipher/build.tsconfig.json +++ b/packages/poseidon-cipher/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/poseidon-cipher/package.json b/packages/poseidon-cipher/package.json index b8f69d50e..27f97af0b 100644 --- a/packages/poseidon-cipher/package.json +++ b/packages/poseidon-cipher/package.json @@ -17,10 +17,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -46,7 +46,8 @@ "circomlibjs": "^0.0.8", "rimraf": "^5.0.5", "rollup": "^4.12.0", - "rollup-plugin-cleanup": "^3.2.1" + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1" }, "dependencies": { "@zk-kit/baby-jubjub": "1.0.1", diff --git a/packages/poseidon-cipher/rollup.config.ts b/packages/poseidon-cipher/rollup.config.ts index b6e8bfc4e..f65467fcf 100644 --- a/packages/poseidon-cipher/rollup.config.ts +++ b/packages/poseidon-cipher/rollup.config.ts @@ -1,6 +1,7 @@ import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" +import { dts } from "rollup-plugin-dts" const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")) const banner = `/** @@ -12,12 +13,19 @@ const banner = `/** * @see [Github]{@link ${pkg.homepage}} */` -export default { - input: "src/index.ts", - output: [ - { file: pkg.exports["."].require, format: "cjs", banner }, - { file: pkg.exports["."].default, format: "es", banner } - ], - external: Object.keys(pkg.dependencies), - plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] -} +export default [ + { + input: "src/index.ts", + output: [ + { file: pkg.exports["."].require, format: "cjs", banner }, + { file: pkg.exports["."].default, format: "es", banner } + ], + external: Object.keys(pkg.dependencies), + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + } +] diff --git a/packages/poseidon-proof/build.tsconfig.json b/packages/poseidon-proof/build.tsconfig.json index 09b37d986..f4d49486c 100644 --- a/packages/poseidon-proof/build.tsconfig.json +++ b/packages/poseidon-proof/build.tsconfig.json @@ -2,7 +2,6 @@ "extends": "../../tsconfig.json", "compilerOptions": { "baseUrl": ".", - "declarationDir": "dist/types", "resolveJsonModule": true }, "include": ["src"] diff --git a/packages/poseidon-proof/package.json b/packages/poseidon-proof/package.json index f4813079a..6a1368396 100644 --- a/packages/poseidon-proof/package.json +++ b/packages/poseidon-proof/package.json @@ -5,10 +5,10 @@ "type": "module", "license": "MIT", "main": "dist/index.browser.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -42,7 +42,8 @@ "poseidon-lite": "^0.2.0", "rimraf": "^5.0.5", "rollup": "^4.12.0", - "rollup-plugin-cleanup": "^3.2.1" + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1" }, "dependencies": { "@zk-kit/artifacts": "1.8.0", diff --git a/packages/poseidon-proof/rollup.config.ts b/packages/poseidon-proof/rollup.config.ts index 4980a0712..93b135b53 100644 --- a/packages/poseidon-proof/rollup.config.ts +++ b/packages/poseidon-proof/rollup.config.ts @@ -1,5 +1,6 @@ import json from "@rollup/plugin-json" import typescript from "@rollup/plugin-typescript" +import { dts } from "rollup-plugin-dts" import fs from "fs" import cleanup from "rollup-plugin-cleanup" @@ -13,12 +14,19 @@ const banner = `/** * @see [Github]{@link ${pkg.homepage}} */` -export default { - input: "src/index.ts", - output: [ - { file: pkg.exports["."].require, format: "cjs", banner }, - { file: pkg.exports["."].default, format: "es", banner } - ], - external: Object.keys(pkg.dependencies), - plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" }), json()] -} +export default [ + { + input: "src/index.ts", + output: [ + { file: pkg.exports["."].require, format: "cjs", banner }, + { file: pkg.exports["."].default, format: "es", banner } + ], + external: Object.keys(pkg.dependencies), + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" }), json()] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + } +] diff --git a/packages/smt/build.tsconfig.json b/packages/smt/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/smt/build.tsconfig.json +++ b/packages/smt/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/smt/package.json b/packages/smt/package.json index 1a5d5971c..bc9e4f077 100644 --- a/packages/smt/package.json +++ b/packages/smt/package.json @@ -13,10 +13,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "default": "./dist/index.js" } @@ -50,6 +50,7 @@ "crypto-js": "^4.1.1", "rimraf": "^5.0.5", "rollup": "^4.12.0", - "rollup-plugin-cleanup": "^3.2.1" + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1" } } diff --git a/packages/smt/rollup.config.ts b/packages/smt/rollup.config.ts index 4d52a6cea..b5e9a2de5 100644 --- a/packages/smt/rollup.config.ts +++ b/packages/smt/rollup.config.ts @@ -2,6 +2,7 @@ import terser from "@rollup/plugin-terser" import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" +import { dts } from "rollup-plugin-dts" const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")) const banner = `/** @@ -14,23 +15,30 @@ const banner = `/** */` const name = pkg.name.substr(1).replace(/[-/]./g, (x: string) => x.toUpperCase()[1]) -export default { - input: "src/index.ts", - output: [ - { - file: pkg.iife, - name, - format: "iife", - banner - }, - { - file: pkg.unpkg, - name, - format: "iife", - plugins: [terser({ output: { preamble: banner } })] - }, - { file: pkg.exports["."].require, format: "cjs", banner }, - { file: pkg.exports["."].default, format: "es", banner } - ], - plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] -} +export default [ + { + input: "src/index.ts", + output: [ + { + file: pkg.iife, + name, + format: "iife", + banner + }, + { + file: pkg.unpkg, + name, + format: "iife", + plugins: [terser({ output: { preamble: banner } })] + }, + { file: pkg.exports["."].require, format: "cjs", banner }, + { file: pkg.exports["."].default, format: "es", banner } + ], + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + } +] diff --git a/packages/utils/build.tsconfig.json b/packages/utils/build.tsconfig.json index 2d4a1d6da..4813a4329 100644 --- a/packages/utils/build.tsconfig.json +++ b/packages/utils/build.tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "baseUrl": ".", - "declarationDir": "dist/types" + "baseUrl": "." }, "include": ["src"] } diff --git a/packages/utils/package.json b/packages/utils/package.json index 8069b0f86..93ec07841 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -8,10 +8,10 @@ "unpkg": "dist/index.iife.min.js", "jsdelivr": "dist/index.iife.min.js", "main": "dist/index.browser.js", - "types": "dist/types/index.d.ts", + "types": "dist/index.d.ts", "exports": { ".": { - "types": "./dist/types/index.d.ts", + "types": "./dist/index.d.ts", "node": { "require": "./dist/index.node.cjs", "default": "./dist/index.node.js" @@ -20,32 +20,32 @@ "default": "./dist/index.browser.js" }, "./error-handlers": { - "types": "./dist/types/error-handlers.d.ts", + "types": "./dist/error-handlers.d.ts", "require": "./dist/lib.commonjs/error-handlers.cjs", "default": "./dist/lib.esm/error-handlers.js" }, "./type-checks": { - "types": "./dist/types/type-checks.d.ts", + "types": "./dist/type-checks.d.ts", "require": "./dist/lib.commonjs/type-checks.cjs", "default": "./dist/lib.esm/type-checks.js" }, "./conversions": { - "types": "./dist/types/conversions.d.ts", + "types": "./dist/conversions.d.ts", "require": "./dist/lib.commonjs/conversions.cjs", "default": "./dist/lib.esm/conversions.js" }, "./proof-packing": { - "types": "./dist/types/proof-packing.d.ts", + "types": "./dist/proof-packing.d.ts", "require": "./dist/lib.commonjs/proof-packing.cjs", "default": "./dist/lib.esm/proof-packing.js" }, "./scalar": { - "types": "./dist/types/scalar.d.ts", + "types": "./dist/scalar.d.ts", "require": "./dist/lib.commonjs/scalar.cjs", "default": "./dist/lib.esm/scalar.js" }, "./f1-field": { - "types": "./dist/types/f1-field.d.ts", + "types": "./dist/f1-field.d.ts", "require": "./dist/lib.commonjs/f1-field.cjs", "default": "./dist/lib.esm/f1-field.js" } @@ -76,6 +76,7 @@ "rimraf": "^5.0.5", "rollup": "^4.12.0", "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0" }, "dependencies": { diff --git a/packages/utils/rollup.config.ts b/packages/utils/rollup.config.ts index 17206e648..2332a4889 100644 --- a/packages/utils/rollup.config.ts +++ b/packages/utils/rollup.config.ts @@ -1,5 +1,6 @@ import alias from "@rollup/plugin-alias" import terser from "@rollup/plugin-terser" +import { dts } from "rollup-plugin-dts" import typescript from "@rollup/plugin-typescript" import fs from "fs" import cleanup from "rollup-plugin-cleanup" @@ -93,9 +94,41 @@ export default [ { dir: "./dist/lib.esm", format: "es", banner, preserveModules: true } ], external: [...Object.keys(pkg.dependencies), "crypto", "node:fs", "node:fs/promises", "node:path", "node:os"], - plugins: [ - typescript({ tsconfig: "./build.tsconfig.json", declaration: false, declarationDir: undefined }), - cleanup({ comments: "jsdoc" }) - ] + plugins: [typescript({ tsconfig: "./build.tsconfig.json" }), cleanup({ comments: "jsdoc" })] + }, + { + input: "src/index.ts", + output: [{ file: "dist/index.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/error-handlers.ts", + output: [{ file: "dist/error-handlers.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/type-checks.ts", + output: [{ file: "dist/type-checks.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/conversions.ts", + output: [{ file: "dist/conversions.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/proof-packing.ts", + output: [{ file: "dist/proof-packing.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/scalar.ts", + output: [{ file: "dist/scalar.d.ts", format: "es" }], + plugins: [dts()] + }, + { + input: "src/f1-field.ts", + output: [{ file: "dist/f1-field.d.ts", format: "es" }], + plugins: [dts()] } ] diff --git a/tsconfig.json b/tsconfig.json index 8065d7855..b0a9fcdd7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,9 +9,7 @@ "preserveConstEnums": true, "resolveJsonModule": true, "skipLibCheck": true, - "declaration": true, "allowSyntheticDefaultImports": true, - "declarationDir": "types", "typeRoots": ["node_modules/@types", "types"], "paths": { "@zk-kit/*": ["packages/*/src"] diff --git a/yarn.lock b/yarn.lock index 71a047777..130ee041b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -97,6 +97,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.24.2": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.24.6": version: 7.24.6 resolution: "@babel/compat-data@npm:7.24.6" @@ -241,6 +251,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10/86875063f57361471b531dbc2ea10bbf5406e12b06d249b03827d361db4cad2388c6f00936bcd9dc86479f7e2c69ea21412c2228d4b3672588b754b70a449d4b + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.24.6": version: 7.24.6 resolution: "@babel/helper-validator-option@npm:7.24.6" @@ -270,6 +287,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.6": version: 7.24.6 resolution: "@babel/parser@npm:7.24.6" @@ -1567,6 +1596,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -3012,6 +3048,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" rollup-plugin-polyfill-node: "npm:^0.13.0" languageName: unknown linkType: soft @@ -3042,6 +3079,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" rollup-plugin-polyfill-node: "npm:^0.13.0" languageName: unknown linkType: soft @@ -3059,6 +3097,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" rollup-plugin-polyfill-node: "npm:^0.13.0" languageName: unknown linkType: soft @@ -3073,6 +3112,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" languageName: unknown linkType: soft @@ -3089,6 +3129,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" rollup-plugin-polyfill-node: "npm:^0.13.0" languageName: unknown linkType: soft @@ -3101,6 +3142,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" languageName: unknown linkType: soft @@ -3116,6 +3158,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" languageName: unknown linkType: soft @@ -3137,6 +3180,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" snarkjs: "npm:^0.7.3" languageName: unknown linkType: soft @@ -3154,6 +3198,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" languageName: unknown linkType: soft @@ -3169,6 +3214,7 @@ __metadata: rimraf: "npm:^5.0.5" rollup: "npm:^4.12.0" rollup-plugin-cleanup: "npm:^3.2.1" + rollup-plugin-dts: "npm:^6.1.1" rollup-plugin-polyfill-node: "npm:^0.13.0" languageName: unknown linkType: soft @@ -11087,6 +11133,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.10": + version: 0.30.11 + resolution: "magic-string@npm:0.30.11" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10/b784d2240252f5b1e755d487354ada4c672cbca16f045144f7185a75b059210e5fcca7be7be03ef1bac2ca754c4428b21d36ae64a9057ba429916f06b8c54eb2 + languageName: node + linkType: hard + "magic-string@npm:^0.30.3": version: 0.30.10 resolution: "magic-string@npm:0.30.10" @@ -13380,6 +13435,22 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-dts@npm:^6.1.1": + version: 6.1.1 + resolution: "rollup-plugin-dts@npm:6.1.1" + dependencies: + "@babel/code-frame": "npm:^7.24.2" + magic-string: "npm:^0.30.10" + peerDependencies: + rollup: ^3.29.4 || ^4 + typescript: ^4.5 || ^5.0 + dependenciesMeta: + "@babel/code-frame": + optional: true + checksum: 10/8a66833a5af32f77d9bbc746339097d4af2382e5160f7629d85dcecb4efad12cbfebd37c79147fa688f073c333d71f53135e08a225a3fc3e9a3b3f92c46b2381 + languageName: node + linkType: hard + "rollup-plugin-polyfill-node@npm:^0.13.0": version: 0.13.0 resolution: "rollup-plugin-polyfill-node@npm:0.13.0" @@ -16547,6 +16618,7 @@ __metadata: lint-staged: "npm:^15.2.2" prettier: "npm:^3.2.5" rimraf: "npm:^5.0.5" + rollup-plugin-dts: "npm:^6.1.1" ts-jest: "npm:^29.1.2" ts-node: "npm:^10.9.2" tslib: "npm:^2.6.2"