generated from JensDll/npm-package
/
rollup.config.ts
114 lines (109 loc) · 2.39 KB
/
rollup.config.ts
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
import type { ExternalOption, RollupOptions } from 'rollup'
import { dts } from 'rollup-plugin-dts'
import esbuild from 'rollup-plugin-esbuild'
import {
tildeAliasPlugin,
sharedChunkAliasPlugin,
stateChunkAliasPlugin,
} from './scripts/rollup'
const dtsPlugin = dts()
const esbuildPlugin = esbuild({
target: 'ES2019',
})
const externals: ExternalOption = [
'fs',
'fs/promises',
'path',
'http',
'https',
'child_process',
'crypto',
/tailwindcss\/.+/,
]
export default [
{
input: 'src/chunks/shared/index.ts',
output: [
{
file: 'src/dist/chunks/shared.cjs',
format: 'cjs',
},
{
file: 'src/dist/chunks/shared.mjs',
format: 'esm',
},
],
external: [...externals],
plugins: [tildeAliasPlugin, esbuildPlugin],
},
{
input: 'src/chunks/state/index.ts',
output: {
file: 'src/dist/chunks/state.cjs',
format: 'cjs',
paths: {
'@chunks/shared': './shared.cjs',
},
},
external: [...externals, '@chunks/shared'],
plugins: [tildeAliasPlugin, esbuildPlugin],
},
{
input: 'src/fetch.ts',
output: {
file: 'src/dist/fetch.mjs',
format: 'esm',
paths: {
'@chunks/shared': './chunks/shared.mjs',
},
},
external: [...externals, '@chunks/shared'],
plugins: [tildeAliasPlugin, esbuildPlugin],
},
{
input: 'src/index.ts',
output: [
{
file: 'src/dist/index.cjs',
format: 'cjs',
interop: 'auto',
intro: "require('crypto');",
paths: {
'@chunks/shared': './chunks/shared.cjs',
'@chunks/state': './chunks/state.cjs',
},
},
{
file: 'src/dist/index.mjs',
format: 'esm',
intro: "import 'crypto';",
paths: {
'@chunks/shared': './chunks/shared.mjs',
'@chunks/state': './chunks/state.cjs',
},
},
],
external: [...externals, '@chunks/state', '@chunks/shared'],
plugins: [tildeAliasPlugin, esbuildPlugin],
},
{
input: 'src/index.ts',
output: [
{
file: 'src/dist/index.d.cts',
format: 'esm',
},
{
file: 'src/dist/index.d.mts',
format: 'esm',
},
],
external: [...externals],
plugins: [
tildeAliasPlugin,
sharedChunkAliasPlugin,
stateChunkAliasPlugin,
dtsPlugin,
],
},
] as RollupOptions[]