Skip to content

Commit ae6de13

Browse files
committed
baseline setup to build with rollup
1 parent 3093562 commit ae6de13

File tree

3 files changed

+46
-167
lines changed

3 files changed

+46
-167
lines changed

package.json

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,48 +30,14 @@
3030
"dist/*.js"
3131
],
3232
"devDependencies": {
33-
"@babel/core": "^7.6.2",
34-
"@babel/preset-env": "^7.6.2",
35-
"babel-preset-es2015-rollup": "^3.0.0",
36-
"clean-css": "^4.2.1",
37-
"coveralls": "^3.0.0",
38-
"eslint": "^6.0.0",
39-
"eslint-config-chartjs": "^0.2.0",
40-
"eslint-plugin-html": "^6.0.0",
41-
"gitbook-cli": "^2.3.2",
42-
"gulp": "^4.0.0",
43-
"gulp-eslint": "^6.0.0",
44-
"gulp-file": "^0.4.0",
45-
"gulp-htmllint": "^0.0.16",
46-
"gulp-jsdoc3": "^2.0.0",
47-
"gulp-replace": "^1.0.0",
48-
"gulp-size": "^3.0.0",
49-
"gulp-streamify": "^1.0.2",
50-
"gulp-terser": "^1.1.6",
51-
"gulp-zip": "^5.0.0",
52-
"jasmine": "^3.3.0",
53-
"jasmine-core": "^3.3.0",
54-
"karma": "^4.0.0",
55-
"karma-chrome-launcher": "^3.0.0",
56-
"karma-coverage": "^2.0.0",
57-
"karma-edge-launcher": "^0.4.2",
58-
"karma-firefox-launcher": "^1.0.1",
59-
"karma-jasmine": "^2.0.1",
60-
"karma-jasmine-html-reporter": "^1.4.0",
61-
"karma-rollup-preprocessor": "^7.0.0",
62-
"karma-safari-private-launcher": "^1.0.0",
63-
"merge-stream": "^1.0.1",
64-
"moment": "^2.10.2",
65-
"pixelmatch": "^5.0.0",
66-
"rollup": "^1.0.0",
67-
"rollup-plugin-babel": "^4.3.3",
68-
"rollup-plugin-commonjs": "^10.0.0",
69-
"rollup-plugin-istanbul": "^2.0.1",
70-
"rollup-plugin-node-resolve": "^5.0.0",
71-
"rollup-plugin-terser": "^5.0.0",
72-
"yargs": "^14.0.0"
33+
"@rollup/plugin-buble": "^0.20.0",
34+
"@rollup/plugin-node-resolve": "^6.0.0",
35+
"rollup": "^1.27.13",
36+
"rollup-plugin-cjs-es": "^0.9.0",
37+
"rollup-plugin-string": "^3.0.0",
38+
"rollup-plugin-terser": "^5.1.3"
7339
},
7440
"dependencies": {
75-
"chartjs-color": "^2.1.0"
41+
"chartjs-color": "^2.4.1"
7642
}
7743
}

rollup.config.js

Lines changed: 38 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,59 @@
1-
/* eslint-env es6 */
1+
import resolve from '@rollup/plugin-node-resolve';
2+
import cjs from "rollup-plugin-cjs-es";
3+
import buble from '@rollup/plugin-buble';
4+
import { string } from "rollup-plugin-string";
5+
import { terser } from 'rollup-plugin-terser';
26

3-
const commonjs = require('rollup-plugin-commonjs');
4-
const resolve = require('rollup-plugin-node-resolve');
5-
const babel = require('rollup-plugin-babel');
6-
const terser = require('rollup-plugin-terser').terser;
7-
const optional = require('./rollup.plugins').optional;
8-
const stylesheet = require('./rollup.plugins').stylesheet;
9-
const pkg = require('./package.json');
10-
11-
const input = 'src/index.js';
12-
const banner = `/*!
13-
* Chart.js v${pkg.version}
14-
* ${pkg.homepage}
15-
* (c) ${(new Date(process.env.SOURCE_DATE_EPOCH ? (process.env.SOURCE_DATE_EPOCH * 1000) : new Date().getTime())).getFullYear()} Chart.js Contributors
16-
* Released under the MIT License
17-
*/`;
18-
19-
module.exports = [
20-
// ES6 builds
21-
// dist/Chart.esm.min.js
22-
// dist/Chart.esm.js
7+
export default [
238
{
24-
input: input,
25-
plugins: [
26-
resolve(),
27-
commonjs(),
28-
babel({
29-
exclude: 'node_modules/**'
30-
}),
31-
stylesheet({
32-
extract: true
33-
}),
34-
],
9+
input: "src/index.js",
3510
output: {
36-
name: 'Chart',
37-
file: 'dist/Chart.esm.js',
38-
banner: banner,
39-
format: 'esm',
40-
indent: false,
41-
globals: {
42-
moment: 'moment'
43-
}
11+
file: "dist/Chart.js",
12+
format: "iife",
13+
name: "Chart",
4414
},
45-
external: [
46-
'moment'
47-
]
48-
},
49-
{
50-
input: input,
5115
plugins: [
5216
resolve(),
53-
commonjs(),
54-
babel({
55-
exclude: 'node_modules/**'
17+
string({
18+
include: "**/*.css",
5619
}),
57-
stylesheet({
58-
extract: true,
59-
minify: true
20+
cjs({nested: true}),
21+
buble({
22+
objectAssign: "Object.assign"
6023
}),
61-
terser({
62-
output: {
63-
preamble: banner
64-
}
65-
})
66-
],
67-
output: {
68-
name: 'Chart',
69-
file: 'dist/Chart.esm.min.js',
70-
format: 'esm',
71-
indent: false,
72-
globals: {
73-
moment: 'moment'
74-
}
75-
},
76-
external: [
77-
'moment'
7824
]
7925
},
80-
// UMD builds
81-
// dist/Chart.min.js
82-
// dist/Chart.js
8326
{
84-
input: input,
85-
plugins: [
86-
resolve(),
87-
commonjs(),
88-
babel({
89-
exclude: 'node_modules/**'
90-
}),
91-
stylesheet({
92-
extract: true
93-
}),
94-
optional({
95-
include: ['moment']
96-
})
97-
],
27+
input: "src/index.js",
9828
output: {
99-
name: 'Chart',
100-
file: 'dist/Chart.js',
101-
banner: banner,
102-
format: 'umd',
103-
indent: false,
104-
globals: {
105-
moment: 'moment'
106-
}
29+
file: "dist/Chart.min.js",
30+
format: "iife",
31+
name: "Chart",
10732
},
108-
external: [
109-
'moment'
110-
]
111-
},
112-
{
113-
input: input,
11433
plugins: [
11534
resolve(),
116-
commonjs(),
117-
babel({
118-
exclude: 'node_modules/**'
35+
string({
36+
include: "**/*.css",
11937
}),
120-
optional({
121-
include: ['moment']
122-
}),
123-
stylesheet({
124-
extract: true,
125-
minify: true
38+
cjs({nested: true}),
39+
buble({
40+
objectAssign: "Object.assign"
12641
}),
12742
terser({
128-
output: {
129-
preamble: banner
130-
}
43+
compress: {
44+
inline: 0,
45+
// passes: 3,
46+
keep_fargs: false,
47+
pure_getters: true,
48+
unsafe: true,
49+
unsafe_comps: true,
50+
unsafe_math: true,
51+
unsafe_undefined: true,
52+
},
53+
// output: {
54+
// comments: /^!/
55+
// }
13156
})
132-
],
133-
output: {
134-
name: 'Chart',
135-
file: 'dist/Chart.min.js',
136-
format: 'umd',
137-
indent: false,
138-
globals: {
139-
moment: 'moment'
140-
}
141-
},
142-
external: [
143-
'moment'
14457
]
14558
}
146-
];
59+
];

src/adapters/adapter.moment.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
'use strict';
44

5-
var moment = require('moment');
5+
//var moment = require('../../node_modules/moment/src/moment.js');
66
var adapters = require('../core/core.adapters');
77

88
var FORMATS = {

0 commit comments

Comments
 (0)