219 lines
5.3 KiB
JavaScript
219 lines
5.3 KiB
JavaScript
import fs from "fs";
|
|
import dts from "rollup-plugin-dts";
|
|
import typescript from "@rollup/plugin-typescript";
|
|
import terser from "@rollup/plugin-terser";
|
|
|
|
const licenseHeaderES3 = fs.readFileSync("src/license_header.es3.txt", { encoding: "utf8" }),
|
|
licenseHeaderES6 = fs.readFileSync("src/license_header.es6.txt", { encoding: "utf8" });
|
|
|
|
export default [
|
|
{
|
|
input: "src/sha.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES3,
|
|
format: "umd",
|
|
sourcemap: true,
|
|
dir: "dist",
|
|
entryFileNames: "[name].js",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], declaration: true, declarationDir: "dist/types", target: "es3" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "src/sha.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES6,
|
|
format: "es",
|
|
sourcemap: true,
|
|
file: "dist/sha.mjs",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es6" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "dist/types/src/sha.d.ts",
|
|
output: [{ file: "dist/sha.d.ts", format: "umd" }],
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: "src/sha1.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES3,
|
|
format: "umd",
|
|
file: "dist/sha1.js",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es3" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "src/sha1.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES6,
|
|
format: "es",
|
|
file: "dist/sha1.mjs",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es6" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "dist/types/src/sha1.d.ts",
|
|
output: [{ file: "dist/sha1.d.ts", format: "umd" }],
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: "src/sha256.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES3,
|
|
format: "umd",
|
|
file: "dist/sha256.js",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es3" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "src/sha256.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES6,
|
|
format: "es",
|
|
file: "dist/sha256.mjs",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es6" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "dist/types/src/sha256.d.ts",
|
|
output: [{ file: "dist/sha256.d.ts", format: "umd" }],
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: "src/sha512.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES3,
|
|
format: "umd",
|
|
file: "dist/sha512.js",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es3" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "src/sha512.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES6,
|
|
format: "es",
|
|
file: "dist/sha512.mjs",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es6" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "dist/types/src/sha512.d.ts",
|
|
output: [{ file: "dist/sha512.d.ts", format: "umd" }],
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: "src/sha3.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES3,
|
|
format: "umd",
|
|
file: "dist/sha3.js",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es3" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "src/sha3.ts",
|
|
output: {
|
|
name: "jsSHA",
|
|
banner: licenseHeaderES6,
|
|
format: "es",
|
|
file: "dist/sha3.mjs",
|
|
},
|
|
plugins: [
|
|
typescript({ lib: ["es6"], target: "es6" }),
|
|
terser({
|
|
output: { comments: /BSD/ },
|
|
mangle: {
|
|
properties: { keep_quoted: true, reserved: ["jsSHA", "getHash", "setHMACKey", "getHMAC", "update"] },
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
input: "dist/types/src/sha3.d.ts",
|
|
output: [{ file: "dist/sha3.d.ts", format: "umd" }],
|
|
plugins: [dts()],
|
|
},
|
|
];
|