-
Notifications
You must be signed in to change notification settings - Fork 227
Expand file tree
/
Copy pathtsdown.config.ts
More file actions
103 lines (99 loc) · 3.2 KB
/
Copy pathtsdown.config.ts
File metadata and controls
103 lines (99 loc) · 3.2 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import fs from 'node:fs';
import { defineConfig } from 'tsdown';
const typeScriptPackageJsonUrl = import.meta.resolve('typescript/package.json');
const { default: getTypeScript7ExePath } = await import(
new URL('lib/getExePath.js', typeScriptPackageJsonUrl).href
);
const packageJson = JSON.parse(
fs.readFileSync(new URL('./package.json', import.meta.url), 'utf8'),
) as { version: string };
const publicSdkChunkGroups = [
[
'sdk-contracts',
/packages[\\/]kernel[\\/]src[\\/]contracts\.d\.[cm]?ts$/,
/packages[\\/]kernel[\\/]src[\\/]contracts\.ts$/,
],
[
'sdk-errors',
/packages[\\/]kernel[\\/]src[\\/]errors\.d\.[cm]?ts$/,
/packages[\\/]kernel[\\/]src[\\/]errors\.ts$/,
],
[
'sdk-device',
/packages[\\/]kernel[\\/]src[\\/]device\.d\.[cm]?ts$/,
/packages[\\/]kernel[\\/]src[\\/]device\.ts$/,
],
[
'sdk-snapshot',
/packages[\\/]kernel[\\/]src[\\/]snapshot\.d\.[cm]?ts$/,
/packages[\\/]kernel[\\/]src[\\/]snapshot\.ts$/,
],
['sdk-io', /src[\\/]io\.d\.[cm]?ts$/, /src[\\/]io\.ts$/],
['sdk-batch', /src[\\/]batch-policy\.d\.[cm]?ts$/, /src[\\/]batch-policy\.ts$/],
['sdk-batch-runner', /src[\\/]core[\\/]batch\.d\.[cm]?ts$/, /src[\\/]core[\\/]batch\.ts$/],
['sdk-finders', /src[\\/]finders\.d\.[cm]?ts$/, /src[\\/]finders\.ts$/],
[
'sdk-android-adb',
/src[\\/]platforms[\\/]android[\\/]adb-executor\.d\.[cm]?ts$/,
/src[\\/]platforms[\\/]android[\\/]adb-executor\.ts$/,
],
[
'sdk-app-inventory',
/src[\\/]contracts[\\/]app-inventory\.d\.[cm]?ts$/,
/src[\\/]contracts[\\/]app-inventory\.ts$/,
],
[
'sdk-remote-config',
/src[\\/]remote[\\/]remote-config-schema\.d\.[cm]?ts$/,
/src[\\/]remote[\\/]remote-config-schema\.ts$/,
],
['sdk-selectors', /src[\\/]selectors[\\/]index\.d\.[cm]?ts$/, /src[\\/]selectors[\\/]index\.ts$/],
] as const;
export default defineConfig({
entry: {
index: 'src/sdk/index.ts',
io: 'src/sdk/io.ts',
artifacts: 'src/sdk/artifacts.ts',
batch: 'src/sdk/batch.ts',
metro: 'src/sdk/metro.ts',
'remote-config': 'src/sdk/remote-config.ts',
'install-source': 'src/sdk/install-source.ts',
'android-adb': 'src/sdk/android-adb.ts',
limrun: 'src/sdk/limrun.ts',
contracts: 'src/sdk/contracts.ts',
selectors: 'src/sdk/selectors.ts',
finders: 'src/sdk/finders.ts',
'internal/bin': 'src/bin.ts',
'internal/companion-tunnel': 'src/client/companion-tunnel.ts',
'internal/daemon': 'src/daemon.ts',
'internal/png-worker': 'src/utils/png-worker.ts',
'internal/update-check-entry': 'src/utils/update-check-entry.ts',
},
noExternal: [/^@agent-device\//, 'pngjs'],
format: 'esm',
platform: 'node',
target: 'es2022',
outDir: 'dist/src',
tsconfig: 'tsconfig.lib.json',
define: {
__AGENT_DEVICE_VERSION__: JSON.stringify(packageJson.version),
__OWNER_FILES__: 'false',
},
shims: true,
hash: false,
outputOptions: {
codeSplitting: {
groups: publicSdkChunkGroups.flatMap(([name, dtsTest, jsTest]) => [
{ test: dtsTest, name: `${name}.d` },
{ test: jsTest, name },
]),
},
},
outExtensions: () => ({ js: '.js', dts: '.d.ts' }),
minify: true,
dts: {
tsgo: {
path: getTypeScript7ExePath(),
},
},
});