UNPKG

1.57 kBJavaScriptView Raw
1import typescript from 'rollup-plugin-typescript';
2import PrototypeMinify from "rollup-plugin-prototype-minify";
3import { uglify } from "rollup-plugin-uglify";
4import es3 from "rollup-plugin-es3";
5
6
7const merge = require("./config/merge");
8const banner = require("./config/banner");
9const plugin = typescript({
10 "module": "es2015",
11 "target": "es3",
12 "lib": ["es2015", "dom"],
13 "exclude": "node_modules/**",
14 "sourceMap": true,
15});
16const uglifyCode = uglify({
17 sourcemap: true,
18 output: {
19 comments: function (node, comment) {
20 var text = comment.value;
21 var type = comment.type;
22 if (type === "comment2") {
23 // multiline comment
24 return /@name\:\s@daybrush/.test(text);
25 }
26 },
27 },
28});
29const defaultConfig = {
30 plugins: [
31 plugin, PrototypeMinify({sourcemap: true}),
32 ],
33 output: {
34 banner,
35 format: "es",
36 freeze: false,
37 exports: "named",
38 interop: false,
39 sourcemap: true,
40 },
41};
42
43export default [
44 {
45 input: 'src/index.ts',
46 output: {
47 file: `./dist/utils.esm.js`,
48 },
49 },
50 {
51 input: 'src/index.umd.ts',
52 plugins: [es3({sourcemap: true})],
53 output: {
54 exports: "default",
55 format: "umd",
56 name: "utils",
57 file: `./dist/utils.js`,
58 },
59 },
60 {
61 input: 'src/index.umd.ts',
62 plugins: [es3({sourcemap: true}), uglifyCode],
63 output: {
64 exports: "default",
65 format: "umd",
66 name: "utils",
67 file: `./dist/utils.min.js`,
68 },
69 },
70].map(entry => merge(defaultConfig, entry, {
71 plugins: "append",
72 output: "append",
73}));