Source code

Revision control

Copy as Markdown

Other Tools

import path from "path";
import fs from "fs";
import { fileURLToPath } from "url";
import typescript from "rollup-plugin-typescript2";
import dts from "rollup-plugin-dts";
import { nodeResolve } from "@rollup/plugin-node-resolve";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8"));
const LICENSE = fs.readFileSync("LICENSE", { encoding: "utf-8" });
const banner = [
"/*!",
...LICENSE.split("\n").map(o => ` * ${o}`),
" */",
"",
].join("\n");
const input = "src/index.ts";
const external = Object.keys(pkg.dependencies || {});
external.push('@noble/hashes/sha1');
external.push('@noble/hashes/sha2');
export default [
{
input,
plugins: [
typescript({
check: false,
clean: true,
tsconfigOverride: {
compilerOptions: {
module: "ES2020",
removeComments: true,
}
}
}),
nodeResolve(),
],
output: [
{
banner,
file: pkg.main,
format: "cjs",
},
{
banner,
file: pkg.module,
format: "es",
},
],
},
{
input,
plugins: [
dts({
tsconfig: path.resolve(__dirname, "./tsconfig.json")
})
],
output: [
{
banner,
file: pkg.types,
}
]
},
];