-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtsup.config.ts
More file actions
85 lines (80 loc) · 1.98 KB
/
Copy pathtsup.config.ts
File metadata and controls
85 lines (80 loc) · 1.98 KB
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
import { defineConfig, type Options } from 'tsup'
const commonEntries = [
'src/index.ts',
'src/adapters/index.ts',
'src/adapters/database/index.ts',
'src/adapters/session/index.ts',
'src/adapters/oauth-token/index.ts',
'src/adapters/oauth-identity/index.ts',
'src/adapters/drizzle/index.ts',
'src/adapters/memory/index.ts',
'src/adapters/verification-token/index.ts',
'src/adapters/magic-link/index.ts',
'src/adapters/mfa/index.ts',
'src/adapters/webauthn/index.ts',
'src/providers/index.ts',
'src/handlers/index.ts',
'src/handlers/webauthn.ts',
'src/login-context/index.ts',
'src/verification/index.ts',
'src/client/index.ts',
'src/password/index.ts',
'src/types/index.ts',
'src/testing/index.ts',
'src/mfa/index.ts',
'src/qr/index.ts',
'src/ui/authStore.ts',
'src/ui/backupCodesModalKeyboard.ts',
'src/security/index.ts',
'src/errors/index.ts'
]
const toEntryMap = (entries: string[], overrides: Record<string, string> = {}) =>
Object.fromEntries(
entries.map((entry) => {
const output = entry.replace(/^src\//, '').replace(/\.ts$/, '')
return [output, overrides[output] ?? entry]
})
)
const nodeEntries = toEntryMap(
[
...commonEntries,
'src/adapters/pg/index.ts',
'src/node/index.ts',
'src/password/nativePackages.ts'
],
{ 'password/index': 'src/password/index.node.ts' }
)
const workerEntries = toEntryMap(commonEntries, {
'handlers/webauthn': 'src/handlers/webauthn.worker.ts'
})
const common: Options = {
entry: commonEntries,
format: ['esm'],
target: 'es2022',
splitting: false,
sourcemap: false,
treeshake: true,
clean: false,
skipNodeModulesBundle: true,
noExternal: ['@goobits/security']
}
export default defineConfig([
{
...common,
entry: nodeEntries,
outDir: 'dist/node',
platform: 'node',
esbuildOptions(options) {
options.conditions = ['node']
}
},
{
...common,
entry: workerEntries,
outDir: 'dist/worker',
platform: 'browser',
esbuildOptions(options) {
options.conditions = ['workerd', 'worker', 'browser']
}
}
])