|
1 | 1 | "use strict";
|
2 | 2 |
|
| 3 | +const restrictedMainImports = [ |
| 4 | + { |
| 5 | + name: "@sentry/electron/main", |
| 6 | + message: "Cannot use main-only APIs here.", |
| 7 | + }, |
| 8 | + { |
| 9 | + name: "electron/main", |
| 10 | + message: "Cannot use main-only APIs here.", |
| 11 | + allowTypeImports: true, // https://github.com/zulip/zulip-desktop/issues/915 |
| 12 | + }, |
| 13 | + { |
| 14 | + name: "electron-log/main", |
| 15 | + message: "Cannot use main-only APIs here.", |
| 16 | + }, |
| 17 | +]; |
| 18 | + |
| 19 | +const restrictedRendererImports = [ |
| 20 | + { |
| 21 | + name: "@sentry/electron/renderer", |
| 22 | + message: "Cannot use renderer-only APIs here.", |
| 23 | + }, |
| 24 | + { |
| 25 | + name: "electron/renderer", |
| 26 | + message: "Cannot use renderer-only APIs here.", |
| 27 | + }, |
| 28 | + { |
| 29 | + name: "electron-log/renderer", |
| 30 | + message: "Cannot use renderer-only APIs here.", |
| 31 | + }, |
| 32 | +]; |
| 33 | + |
3 | 34 | module.exports = {
|
4 | 35 | prettier: true,
|
5 | 36 | settings: {
|
@@ -113,5 +144,32 @@ module.exports = {
|
113 | 144 | "import/unambiguous": "off",
|
114 | 145 | },
|
115 | 146 | },
|
| 147 | + { |
| 148 | + files: ["app/common/**"], |
| 149 | + rules: { |
| 150 | + "@typescript-eslint/no-restricted-imports": [ |
| 151 | + "error", |
| 152 | + {paths: [...restrictedMainImports, ...restrictedRendererImports]}, |
| 153 | + ], |
| 154 | + }, |
| 155 | + }, |
| 156 | + { |
| 157 | + files: ["app/main/**"], |
| 158 | + rules: { |
| 159 | + "@typescript-eslint/no-restricted-imports": [ |
| 160 | + "error", |
| 161 | + {paths: restrictedRendererImports}, |
| 162 | + ], |
| 163 | + }, |
| 164 | + }, |
| 165 | + { |
| 166 | + files: ["app/renderer/**"], |
| 167 | + rules: { |
| 168 | + "@typescript-eslint/no-restricted-imports": [ |
| 169 | + "error", |
| 170 | + {paths: restrictedMainImports}, |
| 171 | + ], |
| 172 | + }, |
| 173 | + }, |
116 | 174 | ],
|
117 | 175 | };
|
0 commit comments