-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.cjs
76 lines (73 loc) · 2.24 KB
/
rollup.config.cjs
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
const typescript = require('@rollup/plugin-typescript');
const {nodeResolve} = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
const json = require('@rollup/plugin-json');
const terser = require('@rollup/plugin-terser');
const pkg = require('./package.json');
const {defineConfig} = require('rollup');
const banner = '/*! ' + pkg.name + ' v' + pkg.version + ' */';
const iifeGlobals = {
'@hebcal/hdate': 'hebcal',
'@hebcal/core': 'hebcal',
'@hebcal/core/dist/esm/locale': 'hebcal',
'@hebcal/core/dist/esm/holidays': 'hebcal',
'@hebcal/core/dist/esm/sedra': 'hebcal',
'@hebcal/core/dist/esm/event': 'hebcal',
'@hebcal/core/dist/esm/ParshaEvent': 'hebcal',
'@hebcal/core/dist/esm/parshaYear': 'hebcal',
'@hebcal/leyning': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/leyning': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/csv': 'hebcal__leyning_csv',
'@hebcal/leyning/dist/esm/summary': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/clone': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/getLeyningKeyForEvent': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/specialReadings': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/common': 'hebcal__leyning',
'@hebcal/leyning/dist/esm/getLeyningForHoliday': 'hebcal__leyning',
};
const tsOptions = {rootDir: './src'};
module.exports = defineConfig([
{
input: 'src/index.ts',
output: {
dir: 'dist/esm',
format: 'es',
preserveModules: true,
preserveModulesRoot: 'src',
name: pkg.name,
banner,
},
external: [/@hebcal\//],
plugins: [
typescript({...tsOptions, outDir: 'dist/esm'}),
json({compact: true, preferConst: true})],
},
{
input: 'src/index.ts',
output: [
{
file: 'dist/bundle.js',
format: 'iife',
name: 'hebcal__triennial',
globals: iifeGlobals,
indent: false,
banner,
},
{
file: 'dist/bundle.min.js',
format: 'iife',
name: 'hebcal__triennial',
globals: iifeGlobals,
plugins: [terser()],
banner,
},
],
external: [/@hebcal\//],
plugins: [
typescript(),
json({compact: true, preferConst: true}),
nodeResolve(),
commonjs(),
],
},
]);