-
Notifications
You must be signed in to change notification settings - Fork 1
/
rollup.config.js
83 lines (66 loc) · 2.09 KB
/
rollup.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// rollup.config.js
import nodeResolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs'
import babel from 'rollup-plugin-babel'
import vue from 'rollup-plugin-vue'
import replace from 'rollup-plugin-replace'
import sourcemaps from 'rollup-plugin-sourcemaps'
import scss from 'rollup-plugin-scss'
import json from 'rollup-plugin-json'
import nodeBuiltins from 'rollup-plugin-node-builtins'
import nodeGlobals from 'rollup-plugin-node-globals'
// import analyze from 'rollup-analyzer-plugin'
export default {
// iifeでは必須
name: 'EasyDC',
// entry
input: 'index.js',
sourcemap: true,
// output
output: [
{ file: 'dist/bundle.js', format: 'cjs' },
{ file: 'dist/bundle.es.js', format: 'es' },
{ file: 'dist/bundle.browser.js', format: 'iife' } // 直接実行可能な形式
],
plugins: [
// vueがprocessを求める時があるので無理やり設定
replace({
'process.env.NODE_ENV': JSON.stringify('development'),
'process.env.VUE_ENV': JSON.stringify('browser')
}),
// npmモジュールを`node_modules`から読み込む
nodeResolve({
include: 'node_modules/**',
jsnext: true,
preferBuiltins: false
}),
// CommonJSモジュールをES6に変換
commonjs(),
// nodeの環境との互換性。iconv-liteがBufferをrequireする
nodeBuiltins(),
nodeGlobals(),
// 一応入れてみた。子のファイルのsourcemapurlを追跡する?
sourcemaps(),
// .vueのrequire
vue({
css: true // dynamically inject
}),
scss({
output: 'dist/bundle.css'
}),
json(),
// ES5に変換。.babelrcは別途用意済み
babel({
exclude: [
'**/*.json',
'**/*.scss',
'node_modules/**' // only transpile our source code
],
plugins: ['external-helpers']
}),
// analyze()
],
// d3 v3系が動かないので。
// http://stackoverflow.com/questions/35560305/d3-js-uncaught-typeerror-cannot-read-property-document-of-undefined
strict: false,
}