1 | import typescript from 'rollup-plugin-typescript';
|
2 | import PrototypeMinify from "rollup-plugin-prototype-minify";
|
3 | import { uglify } from "rollup-plugin-uglify";
|
4 | import es3 from "rollup-plugin-es3";
|
5 |
|
6 |
|
7 | const merge = require("./config/merge");
|
8 | const banner = require("./config/banner");
|
9 | const plugin = typescript({
|
10 | "module": "es2015",
|
11 | "target": "es3",
|
12 | "lib": ["es2015", "dom"],
|
13 | "exclude": "node_modules/**",
|
14 | "sourceMap": true,
|
15 | });
|
16 | const 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 |
|
24 | return /@name\:\s@daybrush/.test(text);
|
25 | }
|
26 | },
|
27 | },
|
28 | });
|
29 | const 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 |
|
43 | export 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 | }));
|