forked from GetStream/stream-chat-react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
119 lines (113 loc) · 2.89 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/* eslint-env node */
import babel from 'rollup-plugin-babel';
import external from 'rollup-plugin-peer-deps-external';
import commonjs from 'rollup-plugin-commonjs';
import copy from 'rollup-plugin-copy';
import json from 'rollup-plugin-json';
import images from './rollup-react-native-image.js';
import path from 'path';
import replace from 'rollup-plugin-replace';
import pkg from './package.json';
import process from 'process';
process.env.NODE_ENV = 'production';
const baseConfig = {
input: 'src/index.js',
cache: false,
watch: {
chokidar: false,
},
};
const normalBundle = {
...baseConfig,
output: [
{
file: pkg.main,
format: 'cjs',
sourcemap: true,
},
{
file: pkg.module,
format: 'es',
sourcemap: true,
},
],
external: [
'anchorme',
'dayjs',
'dayjs/plugin/calendar',
'dayjs/plugin/updateLocale',
'dayjs/plugin/localizedFormat',
'dayjs/plugin/localeData',
'dayjs/plugin/relativeTime',
'dayjs/locale/nl',
'dayjs/locale/it',
'dayjs/locale/ru',
'dayjs/locale/tr',
'dayjs/locale/fr',
'dayjs/locale/hi',
'dayjs/locale/es',
'dayjs/locale/en',
'lodash/debounce',
'lodash/get',
'lodash/isEqual',
'lodash/isPlainObject',
'lodash/mapValues',
'lodash/merge',
'lodash/set',
'lodash/throttle',
'lodash/truncate',
'lodash/uniqBy',
'lodash/uniqWith',
'lodash/uniq',
'lodash-es',
'deep-equal',
'seamless-immutable',
'stream-chat',
'prop-types',
'react-native',
'@stream-io/react-native-simple-markdown',
'react-native-image-zoom-viewer',
'react-native-actionsheet',
'uuid/v4',
'mime-types',
'path',
'i18next',
'@stream-io/styled-components',
'@babel/runtime/regenerator',
'@babel/runtime/helpers/asyncToGenerator',
'@babel/runtime/helpers/objectWithoutProperties',
'@babel/runtime/helpers/toConsumableArray',
'@babel/runtime/helpers/objectSpread',
'@babel/runtime/helpers/extends',
'@babel/runtime/helpers/defineProperty',
'@babel/runtime/helpers/assertThisInitialized',
'@babel/runtime/helpers/inherits',
'@babel/runtime/helpers/getPrototypeOf',
'@babel/runtime/helpers/possibleConstructorReturn',
'@babel/runtime/helpers/createClass',
'@babel/runtime/helpers/classCallCheck',
'@babel/runtime/helpers/slicedToArray',
'@babel/runtime/helpers/typeof',
'@babel/runtime/helpers/taggedTemplateLiteral',
],
plugins: [
replace({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
external(),
babel({
runtimeHelpers: true,
exclude: 'node_modules/**',
}),
images({
sourceDir: path.join(__dirname, 'src'),
}),
commonjs(),
json(),
copy({
targets: [{ src: 'src/i18n/*.json', dest: 'dist/i18n' }],
}),
],
};
export default () =>
process.env.ROLLUP_WATCH ? [normalBundle] : [normalBundle];