@nordicsemiconductor/pc-nrfconnect-shared 89.0.0 → 91.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/Changelog.md +54 -0
  2. package/config/jest.config.js +0 -1
  3. package/config/tsconfig.json +1 -1
  4. package/coverage/cobertura-coverage.xml +2166 -1086
  5. package/ipc/MetaFiles.ts +26 -8
  6. package/nrfutil/device/__mocks__/device.ts +43 -0
  7. package/nrfutil/device/batch.ts +219 -0
  8. package/nrfutil/device/batchTypes.ts +133 -0
  9. package/nrfutil/device/common.ts +274 -0
  10. package/nrfutil/device/device.ts +62 -0
  11. package/nrfutil/device/erase.ts +26 -0
  12. package/nrfutil/device/eraseBatch.ts +28 -0
  13. package/nrfutil/device/firmwareRead.ts +34 -0
  14. package/nrfutil/device/firmwareReadBatch.ts +42 -0
  15. package/nrfutil/device/getCoreInfo.ts +44 -0
  16. package/nrfutil/device/getCoreInfoBatch.ts +29 -0
  17. package/nrfutil/device/getFwInfo.ts +69 -0
  18. package/nrfutil/device/getFwInfoBatch.ts +29 -0
  19. package/nrfutil/device/getProtectionStatus.ts +46 -0
  20. package/nrfutil/device/getProtectionStatusBatch.ts +32 -0
  21. package/nrfutil/device/list.ts +81 -0
  22. package/nrfutil/device/program.ts +186 -0
  23. package/nrfutil/device/programBatch.ts +69 -0
  24. package/nrfutil/device/recover.ts +26 -0
  25. package/nrfutil/device/recoverBatch.ts +28 -0
  26. package/nrfutil/device/reset.ts +41 -0
  27. package/nrfutil/device/resetBatch.ts +30 -0
  28. package/nrfutil/device/setMcuState.ts +27 -0
  29. package/nrfutil/device/setProtectionStatus.ts +27 -0
  30. package/nrfutil/index.ts +25 -0
  31. package/nrfutil/moduleVersion.ts +57 -0
  32. package/nrfutil/nrfutilLogger.ts +15 -0
  33. package/nrfutil/sandbox.ts +504 -0
  34. package/nrfutil/sandboxTypes.ts +178 -0
  35. package/package.json +1 -4
  36. package/scripts/check-app-properties.ts +49 -22
  37. package/scripts/esbuild-renderer.js +0 -1
  38. package/scripts/nordic-publish.js +6 -6
  39. package/scripts/nordic-publish.ts +11 -2
  40. package/src/About/SupportCard.tsx +6 -9
  41. package/src/App/App.test.tsx +4 -0
  42. package/src/App/App.tsx +13 -2
  43. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +1 -1
  44. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +39 -31
  45. package/src/Device/DeviceSelector/DeviceSelector.tsx +3 -12
  46. package/src/Device/deviceInfo/deviceInfo.ts +2 -3
  47. package/src/Device/deviceLister.test.ts +1 -2
  48. package/src/Device/deviceLister.ts +169 -215
  49. package/src/Device/deviceSlice.ts +2 -16
  50. package/src/Device/jprogOperations.ts +21 -69
  51. package/src/Device/sdfuOperations.ts +77 -93
  52. package/src/ErrorBoundary/ErrorBoundary.tsx +1 -1
  53. package/src/Log/LogViewer.tsx +0 -4
  54. package/src/Log/logSlice.ts +4 -7
  55. package/src/index.ts +0 -1
  56. package/src/logging/sendInitialLogMessages.ts +7 -8
  57. package/src/utils/appDirs.ts +6 -11
  58. package/src/utils/logLibVersions.ts +12 -14
  59. package/src/utils/packageJson.ts +11 -1
  60. package/src/utils/systemReport.ts +11 -17
  61. package/src/utils/usageData.ts +14 -9
  62. package/tsconfig.json +1 -0
  63. package/typings/generated/ipc/MetaFiles.d.ts +21 -8
  64. package/typings/generated/ipc/MetaFiles.d.ts.map +1 -1
  65. package/typings/generated/nrfutil/device/__mocks__/device.d.ts +23 -0
  66. package/typings/generated/nrfutil/device/__mocks__/device.d.ts.map +1 -0
  67. package/typings/generated/nrfutil/device/batch.d.ts +26 -0
  68. package/typings/generated/nrfutil/device/batch.d.ts.map +1 -0
  69. package/typings/generated/nrfutil/device/batchTypes.d.ts +78 -0
  70. package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -0
  71. package/typings/generated/nrfutil/device/common.d.ts +125 -0
  72. package/typings/generated/nrfutil/device/common.d.ts.map +1 -0
  73. package/typings/generated/nrfutil/device/device.d.ts +30 -0
  74. package/typings/generated/nrfutil/device/device.d.ts.map +1 -0
  75. package/typings/generated/nrfutil/device/erase.d.ts +5 -0
  76. package/typings/generated/nrfutil/device/erase.d.ts.map +1 -0
  77. package/typings/generated/nrfutil/device/eraseBatch.d.ts +7 -0
  78. package/typings/generated/nrfutil/device/eraseBatch.d.ts.map +1 -0
  79. package/typings/generated/nrfutil/device/firmwareRead.d.ts +10 -0
  80. package/typings/generated/nrfutil/device/firmwareRead.d.ts.map +1 -0
  81. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts +9 -0
  82. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts.map +1 -0
  83. package/typings/generated/nrfutil/device/getCoreInfo.d.ts +22 -0
  84. package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -0
  85. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts +8 -0
  86. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts.map +1 -0
  87. package/typings/generated/nrfutil/device/getFwInfo.d.ts +31 -0
  88. package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -0
  89. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts +8 -0
  90. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts.map +1 -0
  91. package/typings/generated/nrfutil/device/getProtectionStatus.d.ts +13 -0
  92. package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -0
  93. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts +8 -0
  94. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts.map +1 -0
  95. package/typings/generated/nrfutil/device/list.d.ts +19 -0
  96. package/typings/generated/nrfutil/device/list.d.ts.map +1 -0
  97. package/typings/generated/nrfutil/device/program.d.ts +27 -0
  98. package/typings/generated/nrfutil/device/program.d.ts.map +1 -0
  99. package/typings/generated/nrfutil/device/programBatch.d.ts +9 -0
  100. package/typings/generated/nrfutil/device/programBatch.d.ts.map +1 -0
  101. package/typings/generated/nrfutil/device/recover.d.ts +5 -0
  102. package/typings/generated/nrfutil/device/recover.d.ts.map +1 -0
  103. package/typings/generated/nrfutil/device/recoverBatch.d.ts +7 -0
  104. package/typings/generated/nrfutil/device/recoverBatch.d.ts.map +1 -0
  105. package/typings/generated/nrfutil/device/reset.d.ts +5 -0
  106. package/typings/generated/nrfutil/device/reset.d.ts.map +1 -0
  107. package/typings/generated/nrfutil/device/resetBatch.d.ts +8 -0
  108. package/typings/generated/nrfutil/device/resetBatch.d.ts.map +1 -0
  109. package/typings/generated/nrfutil/device/setMcuState.d.ts +6 -0
  110. package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -0
  111. package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +5 -0
  112. package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -0
  113. package/typings/generated/nrfutil/index.d.ts +11 -0
  114. package/typings/generated/nrfutil/index.d.ts.map +1 -0
  115. package/typings/generated/nrfutil/moduleVersion.d.ts +6 -0
  116. package/typings/generated/nrfutil/moduleVersion.d.ts.map +1 -0
  117. package/typings/generated/nrfutil/nrfutilLogger.d.ts +4 -0
  118. package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -0
  119. package/typings/generated/nrfutil/sandbox.d.ts +36 -0
  120. package/typings/generated/nrfutil/sandbox.d.ts.map +1 -0
  121. package/typings/generated/nrfutil/sandboxTypes.d.ts +135 -0
  122. package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -0
  123. package/typings/generated/src/About/SupportCard.d.ts.map +1 -1
  124. package/typings/generated/src/App/App.d.ts.map +1 -1
  125. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +2 -6
  126. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -1
  127. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +2 -2
  128. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
  129. package/typings/generated/src/Device/deviceLister.d.ts +11 -16
  130. package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
  131. package/typings/generated/src/Device/deviceLister.test.d.ts.map +1 -1
  132. package/typings/generated/src/Device/deviceSlice.d.ts +3 -3
  133. package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -1
  134. package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -1
  135. package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -1
  136. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -1
  137. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  138. package/typings/generated/src/Log/LogViewer.d.ts.map +1 -1
  139. package/typings/generated/src/Log/logSlice.d.ts +2 -3
  140. package/typings/generated/src/Log/logSlice.d.ts.map +1 -1
  141. package/typings/generated/src/index.d.ts +0 -1
  142. package/typings/generated/src/index.d.ts.map +1 -1
  143. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +1 -1
  144. package/typings/generated/src/utils/appDirs.d.ts +4 -4
  145. package/typings/generated/src/utils/appDirs.d.ts.map +1 -1
  146. package/typings/generated/src/utils/logLibVersions.d.ts.map +1 -1
  147. package/typings/generated/src/utils/packageJson.d.ts.map +1 -1
  148. package/typings/generated/src/utils/systemReport.d.ts +1 -1
  149. package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
  150. package/typings/generated/src/utils/usageData.d.ts +2 -0
  151. package/typings/generated/src/utils/usageData.d.ts.map +1 -1
  152. package/mocks/deviceLibMock.ts +0 -21
  153. package/src/Device/deviceLibWrapper.test.ts +0 -97
  154. package/src/Device/deviceLibWrapper.ts +0 -132
  155. package/src/utils/describeVersion.ts +0 -21
  156. package/typings/generated/src/Device/deviceLibWrapper.d.ts +0 -9
  157. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +0 -1
  158. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +0 -2
  159. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +0 -1
  160. package/typings/generated/src/utils/describeVersion.d.ts +0 -4
  161. package/typings/generated/src/utils/describeVersion.d.ts.map +0 -1
@@ -378,8 +378,16 @@ const failBecauseOfMissingProperty = () => {
378
378
  const getUpdatedAppInfo = async (app: App): Promise<AppInfo> => {
379
379
  const versions = await downloadExistingVersions(app);
380
380
 
381
- const { name, displayName, description, homepage, version } =
382
- app.packageJson;
381
+ const {
382
+ name,
383
+ displayName,
384
+ description,
385
+ homepage,
386
+ version,
387
+ nrfConnectForDesktop,
388
+ } = app.packageJson;
389
+
390
+ const nrfutilModules = nrfConnectForDesktop?.nrfutil;
383
391
 
384
392
  return {
385
393
  name,
@@ -394,6 +402,7 @@ const getUpdatedAppInfo = async (app: App): Promise<AppInfo> => {
394
402
  [version]: {
395
403
  tarballUrl: `${app.sourceUrl}/${app.filename}`,
396
404
  shasum: app.shasum,
405
+ nrfutilModules,
397
406
  },
398
407
  },
399
408
  };
@@ -8,18 +8,15 @@ import React from 'react';
8
8
  import { useDispatch, useSelector } from 'react-redux';
9
9
  import { getCurrentWindow } from '@electron/remote';
10
10
 
11
+ import NrfutilDeviceLib from '../../nrfutil/device/device';
11
12
  import Button from '../Button/Button';
12
13
  import Card from '../Card/Card';
13
- import { setVerboseDeviceLibLogging } from '../Device/deviceLibWrapper';
14
14
  import {
15
15
  deviceInfo,
16
16
  getDevices,
17
17
  selectedSerialNumber,
18
18
  } from '../Device/deviceSlice';
19
- import {
20
- isLoggingVerboseSelector,
21
- toggleIsLoggingVerbose,
22
- } from '../Log/logSlice';
19
+ import { isLoggingVerbose, setIsLoggingVerbose } from '../Log/logSlice';
23
20
  import { Toggle } from '../Toggle/Toggle';
24
21
  import { persistIsLoggingVerbose } from '../utils/persistentStore';
25
22
  import systemReport from '../utils/systemReport';
@@ -30,7 +27,7 @@ export default () => {
30
27
  const dispatch = useDispatch();
31
28
  const devices = useSelector(getDevices);
32
29
  const currentSerialNumber = useSelector(selectedSerialNumber);
33
- const verboseLogging = useSelector(isLoggingVerboseSelector);
30
+ const verboseLogging = useSelector(isLoggingVerbose);
34
31
  const currentDevice = useSelector(deviceInfo);
35
32
 
36
33
  return (
@@ -74,9 +71,9 @@ export default () => {
74
71
  <Toggle
75
72
  id="enableVerboseLoggin"
76
73
  label="VERBOSE LOGGING"
77
- onToggle={() => {
78
- setVerboseDeviceLibLogging(!verboseLogging);
79
- dispatch(toggleIsLoggingVerbose());
74
+ onToggle={isToggled => {
75
+ NrfutilDeviceLib.setVerboseLogging(isToggled);
76
+ dispatch(setIsLoggingVerbose(isToggled));
80
77
  }}
81
78
  isToggled={verboseLogging}
82
79
  variant="primary"
@@ -15,6 +15,10 @@ jest.mock('../Log/LogViewer', () => ({
15
15
  default: () => null,
16
16
  }));
17
17
 
18
+ jest.mock('../logging/index.ts', () => ({
19
+ initialise: () => {},
20
+ }));
21
+
18
22
  const renderApp = (panes: Pane[]) => {
19
23
  const dummyReducer = (s = null) => s;
20
24
  const dummyNode = <div />;
package/src/App/App.tsx CHANGED
@@ -6,13 +6,14 @@
6
6
 
7
7
  import 'focus-visible';
8
8
 
9
- import React, { FC, ReactNode, useEffect, useMemo } from 'react';
9
+ import React, { FC, ReactNode, useEffect, useMemo, useRef } from 'react';
10
10
  import Carousel from 'react-bootstrap/Carousel';
11
11
  import ReactDOM from 'react-dom';
12
12
  import { useDispatch, useSelector } from 'react-redux';
13
13
  import { Reducer } from 'redux';
14
14
 
15
15
  import { inMain as openWindow } from '../../ipc/openWindow';
16
+ import { setNrfutilLogger } from '../../nrfutil/nrfutilLogger';
16
17
  import About from '../About/About';
17
18
  import BrokenDeviceDialog from '../Device/BrokenDeviceDialog/BrokenDeviceDialog';
18
19
  import { setAutoReselect } from '../Device/deviceAutoSelectSlice';
@@ -25,12 +26,13 @@ import ErrorBoundary from '../ErrorBoundary/ErrorBoundary';
25
26
  import ErrorDialog from '../ErrorDialog/ErrorDialog';
26
27
  import FlashMessages from '../FlashMessage/FlashMessage';
27
28
  import LogViewer from '../Log/LogViewer';
29
+ import logger from '../logging';
28
30
  import NavBar from '../NavBar/NavBar';
29
31
  import FeedbackPane, { FeedbackPaneProps } from '../Panes/FeedbackPane';
30
32
  import classNames from '../utils/classNames';
31
33
  import packageJson from '../utils/packageJson';
32
34
  import { getPersistedCurrentPane } from '../utils/persistentStore';
33
- import { init as usageDataInit } from '../utils/usageData';
35
+ import { init as usageDataInit, setUsageLogger } from '../utils/usageData';
34
36
  import useHotKey from '../utils/useHotKey';
35
37
  import {
36
38
  currentPane as currentPaneSelector,
@@ -93,6 +95,15 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
93
95
  children,
94
96
  autoReselectByDefault = false,
95
97
  }) => {
98
+ const initialisedLogger = useRef(false);
99
+
100
+ if (!initialisedLogger.current) {
101
+ logger.initialise();
102
+ setNrfutilLogger(logger);
103
+ setUsageLogger(logger);
104
+ initialisedLogger.current = true;
105
+ }
106
+
96
107
  usePersistedPane();
97
108
  const isLogVisible = useSelector(isLogVisibleSelector);
98
109
  const currentPane = useSelector(currentPaneSelector);
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  import React, { ReactNode } from 'react';
8
- import { SerialPort } from '@nordicsemiconductor/nrf-device-lib-js';
9
8
 
9
+ import { SerialPort } from '../../../../nrfutil/device/common';
10
10
  import { displayedDeviceName } from '../../deviceInfo/deviceInfo';
11
11
  import { Device } from '../../deviceSlice';
12
12
 
@@ -13,10 +13,12 @@ import {
13
13
  } from '@testing-library/react';
14
14
 
15
15
  import render from '../../../test/testrenderer';
16
- import { Device, setDevices } from '../deviceSlice';
16
+ import { addDevice, Device, removeDevice } from '../deviceSlice';
17
17
  import { jprogDeviceSetup } from '../jprogOperations';
18
18
  import DeviceSelector from './DeviceSelector';
19
19
 
20
+ jest.mock('../../../nrfutil/device/device');
21
+
20
22
  const testDevice: Device = {
21
23
  id: 1,
22
24
  hwInfo: {
@@ -92,17 +94,23 @@ const testDevice: Device = {
92
94
  },
93
95
  };
94
96
 
97
+ const deviceSetupMock: ReturnType<typeof jprogDeviceSetup> = {
98
+ supportsProgrammingMode: jest.fn(() => true),
99
+ getFirmwareOptions: jest.fn(() => [
100
+ { key: 'PCATest', programDevice: jest.fn() },
101
+ ]),
102
+ isExpectedFirmware: jest.fn(
103
+ (device: Device) => () =>
104
+ Promise.resolve({
105
+ device,
106
+ validFirmware: false,
107
+ })
108
+ ),
109
+ tryToSwitchToApplicationMode: jest.fn(() => () => Promise.resolve(null)),
110
+ };
111
+
95
112
  const validFirmware = {
96
- deviceSetups: [
97
- jprogDeviceSetup([
98
- {
99
- key: 'PCATest',
100
- fw: 'firmware/invalidDevice.hex',
101
- fwVersion: 'fw-1.0.0',
102
- fwIdAddress: 0x6000,
103
- },
104
- ]),
105
- ],
113
+ deviceSetups: [deviceSetupMock],
106
114
  allowCustomDevice: false,
107
115
  };
108
116
 
@@ -112,7 +120,7 @@ describe('DeviceSelector', () => {
112
120
  <DeviceSelector
113
121
  deviceListing={{
114
122
  nordicUsb: true,
115
- serialPort: true,
123
+ serialPorts: true,
116
124
  jlink: true,
117
125
  mcuBoot: true,
118
126
  }}
@@ -126,7 +134,7 @@ describe('DeviceSelector', () => {
126
134
  <DeviceSelector
127
135
  deviceListing={{
128
136
  nordicUsb: true,
129
- serialPort: true,
137
+ serialPorts: true,
130
138
  jlink: true,
131
139
  mcuBoot: true,
132
140
  }}
@@ -141,12 +149,12 @@ describe('DeviceSelector', () => {
141
149
  <DeviceSelector
142
150
  deviceListing={{
143
151
  nordicUsb: true,
144
- serialPort: true,
152
+ serialPorts: true,
145
153
  jlink: true,
146
154
  mcuBoot: true,
147
155
  }}
148
156
  />,
149
- [setDevices([testDevice])]
157
+ [addDevice(testDevice)]
150
158
  );
151
159
  expect(screen.getByText(testDevice.serialNumber)).toBeInTheDocument();
152
160
  });
@@ -156,12 +164,12 @@ describe('DeviceSelector', () => {
156
164
  <DeviceSelector
157
165
  deviceListing={{
158
166
  nordicUsb: true,
159
- serialPort: true,
167
+ serialPorts: true,
160
168
  jlink: true,
161
169
  mcuBoot: true,
162
170
  }}
163
171
  />,
164
- [setDevices([testDevice]), setDevices([])]
172
+ [addDevice(testDevice), removeDevice(testDevice)]
165
173
  );
166
174
  expect(screen.queryByText(testDevice.serialNumber)).toBeNull();
167
175
  });
@@ -171,12 +179,12 @@ describe('DeviceSelector', () => {
171
179
  <DeviceSelector
172
180
  deviceListing={{
173
181
  nordicUsb: true,
174
- serialPort: true,
182
+ serialPorts: true,
175
183
  jlink: true,
176
184
  mcuBoot: true,
177
185
  }}
178
186
  />,
179
- [setDevices([testDevice])]
187
+ [addDevice(testDevice)]
180
188
  );
181
189
  fireEvent.click(screen.getByText('Select device'));
182
190
  fireEvent.click(screen.getByTestId('show-more-device-info'));
@@ -188,12 +196,12 @@ describe('DeviceSelector', () => {
188
196
  <DeviceSelector
189
197
  deviceListing={{
190
198
  nordicUsb: true,
191
- serialPort: true,
199
+ serialPorts: true,
192
200
  jlink: true,
193
201
  mcuBoot: true,
194
202
  }}
195
203
  />,
196
- [setDevices([testDevice])]
204
+ [addDevice(testDevice)]
197
205
  );
198
206
 
199
207
  fireEvent.click(screen.getByText('Select device'));
@@ -206,12 +214,12 @@ describe('DeviceSelector', () => {
206
214
  <DeviceSelector
207
215
  deviceListing={{
208
216
  nordicUsb: true,
209
- serialPort: true,
217
+ serialPorts: true,
210
218
  jlink: true,
211
219
  mcuBoot: true,
212
220
  }}
213
221
  />,
214
- [setDevices([testDevice])]
222
+ [addDevice(testDevice)]
215
223
  );
216
224
  fireEvent.click(screen.getByText('Select device'));
217
225
  fireEvent.click(screen.getByText(testDevice.serialNumber));
@@ -226,7 +234,7 @@ describe('DeviceSelector', () => {
226
234
  <DeviceSelector
227
235
  deviceListing={{
228
236
  nordicUsb: true,
229
- serialPort: true,
237
+ serialPorts: true,
230
238
  jlink: true,
231
239
  mcuBoot: true,
232
240
  }}
@@ -244,7 +252,7 @@ describe('DeviceSelector', () => {
244
252
  allowCustomDevice: true,
245
253
  }}
246
254
  />,
247
- [setDevices([testDevice])]
255
+ [addDevice(testDevice)]
248
256
  );
249
257
  fireEvent.click(screen.getByText('Select device'));
250
258
  fireEvent.click(screen.getByText(testDevice.serialNumber));
@@ -258,7 +266,7 @@ describe('DeviceSelector', () => {
258
266
  <DeviceSelector
259
267
  deviceListing={{
260
268
  nordicUsb: true,
261
- serialPort: true,
269
+ serialPorts: true,
262
270
  jlink: true,
263
271
  mcuBoot: true,
264
272
  }}
@@ -276,7 +284,7 @@ describe('DeviceSelector', () => {
276
284
  allowCustomDevice: false,
277
285
  }}
278
286
  />,
279
- [setDevices([testDevice])]
287
+ [addDevice(testDevice)]
280
288
  );
281
289
 
282
290
  fireEvent.click(screen.getByText('Select device'));
@@ -296,13 +304,13 @@ describe('DeviceSelector', () => {
296
304
  <DeviceSelector
297
305
  deviceListing={{
298
306
  nordicUsb: true,
299
- serialPort: true,
307
+ serialPorts: true,
300
308
  jlink: true,
301
309
  mcuBoot: true,
302
310
  }}
303
311
  deviceSetupConfig={validFirmware}
304
312
  />,
305
- [setDevices([testDevice])]
313
+ [addDevice(testDevice)]
306
314
  );
307
315
 
308
316
  fireEvent.click(screen.getByText('Select device'));
@@ -318,13 +326,13 @@ describe('DeviceSelector', () => {
318
326
  <DeviceSelector
319
327
  deviceListing={{
320
328
  nordicUsb: true,
321
- serialPort: true,
329
+ serialPorts: true,
322
330
  jlink: true,
323
331
  mcuBoot: true,
324
332
  }}
325
333
  deviceSetupConfig={validFirmware}
326
334
  />,
327
- [setDevices([testDevice])]
335
+ [addDevice(testDevice)]
328
336
  );
329
337
 
330
338
  fireEvent.click(screen.getByText('Select device'));
@@ -6,8 +6,8 @@
6
6
 
7
7
  import React, { useCallback, useEffect, useState } from 'react';
8
8
  import { useDispatch, useSelector } from 'react-redux';
9
- import { DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
10
9
 
10
+ import { DeviceTraits } from '../../../nrfutil/device/common';
11
11
  import useHotKey from '../../utils/useHotKey';
12
12
  import {
13
13
  getWaitingToAutoReselect,
@@ -31,13 +31,8 @@ import DeviceList from './DeviceList/DeviceList';
31
31
  import SelectDevice from './SelectDevice';
32
32
  import SelectedDevice from './SelectedDevice';
33
33
 
34
- interface OutdatedDeviceTraits {
35
- serialPort?: boolean;
36
- serialport?: boolean;
37
- }
38
-
39
34
  export interface Props {
40
- deviceListing: DeviceTraits & OutdatedDeviceTraits;
35
+ deviceListing: DeviceTraits;
41
36
  deviceSetupConfig?: DeviceSetupConfig;
42
37
  onDeviceSelected?: (device: Device, autoReselected: boolean) => void;
43
38
  onDeviceDeselected?: () => void;
@@ -104,13 +99,9 @@ export default ({
104
99
  );
105
100
 
106
101
  const doStartWatchingDevices = useCallback(() => {
107
- const patchedDeviceListing = {
108
- serialPorts: deviceListing.serialPort || deviceListing.serialport,
109
- ...deviceListing,
110
- };
111
102
  dispatch(
112
103
  startWatchingDevices(
113
- patchedDeviceListing,
104
+ deviceListing,
114
105
  onDeviceConnected,
115
106
  onDeviceDisconnected,
116
107
  onDeviceDeselected,
@@ -28,8 +28,7 @@
28
28
  through CSS, e.g. to change the colours.
29
29
  */
30
30
 
31
- import type { Device as NrfdlDevice } from '@nordicsemiconductor/nrf-device-lib-js';
32
-
31
+ import { NrfutilDevice } from '../../../nrfutil';
33
32
  import type { Device as WrappedDevice } from '../deviceSlice';
34
33
 
35
34
  import nrf51logo from '!!@svgr!./nRF51-Series-logo.svg';
@@ -41,7 +40,7 @@ import ppkLogo from '!!@svgr!./ppk-logo.svg';
41
40
  import unknownLogo from '!!@svgr!./unknown-logo.svg';
42
41
  import unknownNordicLogo from '!!@svgr!./unknown-nordic-logo.svg';
43
42
 
44
- type Device = NrfdlDevice | WrappedDevice;
43
+ type Device = NrfutilDevice | WrappedDevice;
45
44
 
46
45
  type DevicePCA =
47
46
  | 'PCA10028'
@@ -4,8 +4,7 @@
4
4
  * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
5
  */
6
6
 
7
- import { DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
8
-
7
+ import { DeviceTraits } from '../../nrfutil/device/common';
9
8
  import { hasValidDeviceTraits } from './deviceLister';
10
9
 
11
10
  const allFalseDeviceTraits: DeviceTraits = {