Repository navigation
Expand file tree
/
Copy pathknip.config.ts
More file actions
100 lines (98 loc) · 2.87 KB
/
Copy pathknip.config.ts
File metadata and controls
100 lines (98 loc) · 2.87 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
import { KnipConfig } from 'knip';
const config: KnipConfig = {
ignoreUnresolved: [/^~icons\//],
// generated by unplugin-auto-import / unplugin-vue-components
ignore: ['**/auto-imports.d.ts', '**/components.d.ts'],
// re-export aliases (e.g. singleChoiceVoteTypes = basicVoteTypes) are intentional
rules: { duplicates: 'off' },
workspaces: {
'.': {
entry: ['scripts/*.ts'],
ignore: ['docs/**']
},
'apps/api': {
ignoreDependencies: ['@logtail/pino', 'pino-pretty']
},
'apps/delegates-api': {
entry: ['src/index.ts'],
ignoreDependencies: ['@logtail/pino', 'pino-pretty', 'ts-node']
},
'apps/hub': {
entry: ['src/index.ts']
},
'apps/mana': {
entry: ['src/index.ts', 'knexfile.ts', 'migrations/*.ts'],
knex: false,
ignoreDependencies: ['pg']
},
'apps/mcp': {},
'apps/sequencer': {
entry: ['src/**/*.ts', 'scripts/**/*.ts'],
ignoreDependencies: ['ajv']
},
'apps/ui': {
entry: [
'src/main.ts',
'src/**/*.vue',
'src/**/*.ts',
'vite.config.ts',
'forge.config.js'
],
vite: false,
ignore: ['src/assets/styles/highlightjs/**'],
ignoreDependencies: [
'@iconify-json/heroicons-solid',
'@electron-forge/maker-dmg',
'@electron-forge/maker-zip',
'buffer',
'events',
'util'
]
},
// Solidity only: foundry resolves these through remappings.txt, which knip
// cannot follow, so every dependency looks unused to it.
'contracts/sx-evm': {
ignoreDependencies: [
'@openzeppelin/contracts',
'@openzeppelin/contracts-upgradeable',
'forge-std',
'murky',
'solhint-plugin-prettier'
],
ignoreBinaries: ['forge']
},
// Same as sx-evm: these are resolved through foundry remappings. The
// scripts and tests are only ever run through the test:* shell scripts.
'contracts/sx-starknet': {
entry: ['scripts/**/*.ts', 'tests/**/*.ts'],
ignoreDependencies: [
'@gnosis.pm/safe-contracts',
'@gnosis.pm/zodiac',
'@openzeppelin/contracts',
'@openzeppelin/contracts-upgradeable',
'forge-std'
]
},
'packages/eslint-config': {},
'packages/eslint-config-vue': {},
'packages/lock': {
entry: ['src/**/*.ts'],
ignoreDependencies: ['events']
},
'packages/prettier-config': {},
'packages/sx.js': {
ignoreBinaries: ['anvil', 'starknet-devnet'],
// deliberate optional peer, lazy-loaded for confidential voting
ignoreDependencies: ['@inco/lightning-js']
},
'packages/tune': {
entry: ['src/**/*.vue', 'src/**/*.ts', 'vite.config.ts'],
vite: false,
ignoreDependencies: [
'@iconify-json/heroicons-outline',
'@iconify-json/heroicons-solid'
]
}
}
};
export default config;