diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-01-09 22:16:29 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-01-09 22:17:26 +0100 |
commit | fb7118ff1c8f0dcd61f15e51b193512283d83fa1 (patch) | |
tree | 721cee6a64b44a56b7f05f39750a65cda5fb4ef6 /packages/preload | |
parent | build: Add eslint-plugin-jest (diff) | |
download | sophie-fb7118ff1c8f0dcd61f15e51b193512283d83fa1.tar.gz sophie-fb7118ff1c8f0dcd61f15e51b193512283d83fa1.tar.zst sophie-fb7118ff1c8f0dcd61f15e51b193512283d83fa1.zip |
build: Add eslint-plugin-unicorn
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/preload')
3 files changed, 18 insertions, 16 deletions
diff --git a/packages/preload/esbuild.config.js b/packages/preload/esbuild.config.js index d888987..87e91d8 100644 --- a/packages/preload/esbuild.config.js +++ b/packages/preload/esbuild.config.js | |||
@@ -1,9 +1,9 @@ | |||
1 | import { chrome } from '../../config/buildConstants.js'; | 1 | import { chrome } from '../../config/buildConstants.js'; |
2 | import fileURLToDirname from '../../config/fileURLToDirname.js'; | 2 | import fileUrlToDirname from '../../config/fileUrlToDirname.js'; |
3 | import getEsbuildConfig from '../../config/getEsbuildConfig.js'; | 3 | import getEsbuildConfig from '../../config/getEsbuildConfig.js'; |
4 | 4 | ||
5 | export default getEsbuildConfig({ | 5 | export default getEsbuildConfig({ |
6 | absWorkingDir: fileURLToDirname(import.meta.url), | 6 | absWorkingDir: fileUrlToDirname(import.meta.url), |
7 | entryPoints: ['src/index.ts'], | 7 | entryPoints: ['src/index.ts'], |
8 | outfile: 'dist/index.cjs', | 8 | outfile: 'dist/index.cjs', |
9 | format: 'cjs', | 9 | format: 'cjs', |
diff --git a/packages/preload/src/contextBridge/__tests__/createSophieRenderer.spec.ts b/packages/preload/src/contextBridge/__tests__/createSophieRenderer.spec.ts index b0af280..88b0077 100644 --- a/packages/preload/src/contextBridge/__tests__/createSophieRenderer.spec.ts +++ b/packages/preload/src/contextBridge/__tests__/createSophieRenderer.spec.ts | |||
@@ -45,7 +45,7 @@ const { default: createSophieRenderer } = await import( | |||
45 | ); | 45 | ); |
46 | 46 | ||
47 | const event: Electron.IpcRendererEvent = | 47 | const event: Electron.IpcRendererEvent = |
48 | null as unknown as Electron.IpcRendererEvent; | 48 | undefined as unknown as Electron.IpcRendererEvent; |
49 | 49 | ||
50 | const snapshot: SharedStoreSnapshotIn = { | 50 | const snapshot: SharedStoreSnapshotIn = { |
51 | shouldUseDarkColors: true, | 51 | shouldUseDarkColors: true, |
@@ -183,7 +183,7 @@ describe('SharedStoreConnector', () => { | |||
183 | 183 | ||
184 | it('should catch listener errors', () => { | 184 | it('should catch listener errors', () => { |
185 | mocked(listener.onPatch).mockImplementation(() => { | 185 | mocked(listener.onPatch).mockImplementation(() => { |
186 | throw new Error(); | 186 | throw new Error('listener error'); |
187 | }); | 187 | }); |
188 | expect(() => onSharedStorePatch(event, patch)).not.toThrow(); | 188 | expect(() => onSharedStorePatch(event, patch)).not.toThrow(); |
189 | }); | 189 | }); |
@@ -193,7 +193,7 @@ describe('SharedStoreConnector', () => { | |||
193 | describe('after the listener threw in onPatch', () => { | 193 | describe('after the listener threw in onPatch', () => { |
194 | beforeEach(() => { | 194 | beforeEach(() => { |
195 | mocked(listener.onPatch).mockImplementation(() => { | 195 | mocked(listener.onPatch).mockImplementation(() => { |
196 | throw new Error(); | 196 | throw new Error('listener error'); |
197 | }); | 197 | }); |
198 | onSharedStorePatch(event, patch); | 198 | onSharedStorePatch(event, patch); |
199 | listener.onPatch.mockRestore(); | 199 | listener.onPatch.mockRestore(); |
@@ -205,7 +205,9 @@ describe('SharedStoreConnector', () => { | |||
205 | 205 | ||
206 | describe('when a listener failed to register due to IPC error', () => { | 206 | describe('when a listener failed to register due to IPC error', () => { |
207 | beforeEach(async () => { | 207 | beforeEach(async () => { |
208 | mocked(ipcRenderer.invoke).mockRejectedValue(new Error()); | 208 | mocked(ipcRenderer.invoke).mockRejectedValue( |
209 | new Error('ipcRenderer error'), | ||
210 | ); | ||
209 | try { | 211 | try { |
210 | await sut.onSharedStoreChange(listener); | 212 | await sut.onSharedStoreChange(listener); |
211 | } catch { | 213 | } catch { |
@@ -237,7 +239,7 @@ describe('SharedStoreConnector', () => { | |||
237 | beforeEach(async () => { | 239 | beforeEach(async () => { |
238 | mocked(ipcRenderer.invoke).mockResolvedValueOnce(snapshot); | 240 | mocked(ipcRenderer.invoke).mockResolvedValueOnce(snapshot); |
239 | mocked(listener.onSnapshot).mockImplementation(() => { | 241 | mocked(listener.onSnapshot).mockImplementation(() => { |
240 | throw new Error(); | 242 | throw new Error('listener error'); |
241 | }); | 243 | }); |
242 | try { | 244 | try { |
243 | await sut.onSharedStoreChange(listener); | 245 | await sut.onSharedStoreChange(listener); |
diff --git a/packages/preload/src/contextBridge/createSophieRenderer.ts b/packages/preload/src/contextBridge/createSophieRenderer.ts index b97503d..3174fed 100644 --- a/packages/preload/src/contextBridge/createSophieRenderer.ts +++ b/packages/preload/src/contextBridge/createSophieRenderer.ts | |||
@@ -34,7 +34,7 @@ import type { IJsonPatch } from 'mobx-state-tree'; | |||
34 | class SharedStoreConnector { | 34 | class SharedStoreConnector { |
35 | private onSharedStoreChangeCalled = false; | 35 | private onSharedStoreChangeCalled = false; |
36 | 36 | ||
37 | private listener: SharedStoreListener | null = null; | 37 | private listener: SharedStoreListener | undefined; |
38 | 38 | ||
39 | constructor(private readonly allowReplaceListener: boolean) { | 39 | constructor(private readonly allowReplaceListener: boolean) { |
40 | ipcRenderer.on( | 40 | ipcRenderer.on( |
@@ -43,9 +43,9 @@ class SharedStoreConnector { | |||
43 | try { | 43 | try { |
44 | // `mobx-state-tree` will validate the patch, so we can safely cast here. | 44 | // `mobx-state-tree` will validate the patch, so we can safely cast here. |
45 | this.listener?.onPatch(patch as IJsonPatch); | 45 | this.listener?.onPatch(patch as IJsonPatch); |
46 | } catch (err) { | 46 | } catch (error) { |
47 | log.error('Shared store listener onPatch failed', err); | 47 | log.error('Shared store listener onPatch failed', error); |
48 | this.listener = null; | 48 | this.listener = undefined; |
49 | } | 49 | } |
50 | }, | 50 | }, |
51 | ); | 51 | ); |
@@ -57,14 +57,14 @@ class SharedStoreConnector { | |||
57 | } | 57 | } |
58 | this.onSharedStoreChangeCalled = true; | 58 | this.onSharedStoreChangeCalled = true; |
59 | let success = false; | 59 | let success = false; |
60 | let snapshot: unknown | null = null; | 60 | let snapshot: unknown; |
61 | try { | 61 | try { |
62 | snapshot = await ipcRenderer.invoke( | 62 | snapshot = await ipcRenderer.invoke( |
63 | RendererToMainIpcMessage.GetSharedStoreSnapshot, | 63 | RendererToMainIpcMessage.GetSharedStoreSnapshot, |
64 | ); | 64 | ); |
65 | success = true; | 65 | success = true; |
66 | } catch (err) { | 66 | } catch (error) { |
67 | log.error('Failed to get initial shared store snapshot', err); | 67 | log.error('Failed to get initial shared store snapshot', error); |
68 | } | 68 | } |
69 | if (success) { | 69 | if (success) { |
70 | if (sharedStore.is(snapshot)) { | 70 | if (sharedStore.is(snapshot)) { |
@@ -84,10 +84,10 @@ function dispatchAction(actionToDispatch: Action): void { | |||
84 | const parsedAction = action.parse(actionToDispatch); | 84 | const parsedAction = action.parse(actionToDispatch); |
85 | try { | 85 | try { |
86 | ipcRenderer.send(RendererToMainIpcMessage.DispatchAction, parsedAction); | 86 | ipcRenderer.send(RendererToMainIpcMessage.DispatchAction, parsedAction); |
87 | } catch (err) { | 87 | } catch (error) { |
88 | // Do not leak IPC failure details into the main world. | 88 | // Do not leak IPC failure details into the main world. |
89 | const message = 'Failed to dispatch action'; | 89 | const message = 'Failed to dispatch action'; |
90 | log.error(message, actionToDispatch, err); | 90 | log.error(message, actionToDispatch, error); |
91 | throw new Error(message); | 91 | throw new Error(message); |
92 | } | 92 | } |
93 | } | 93 | } |