@nordicsemiconductor/pc-nrfconnect-shared 76.0.0 → 79.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 (306) hide show
  1. package/.github/ISSUE_TEMPLATE/custom.md +10 -0
  2. package/.husky/pre-push +3 -0
  3. package/.renovaterc.json +10 -0
  4. package/Changelog.md +64 -0
  5. package/azure-pipelines.yml +36 -0
  6. package/config/tailwind.config.js +1 -1
  7. package/{src/utils/AppTypes.ts → ipc/MetaFiles.ts} +11 -7
  8. package/ipc/README.md +43 -0
  9. package/ipc/appDetails.ts +47 -0
  10. package/ipc/apps.ts +119 -0
  11. package/ipc/infrastructure/mainToRenderer.ts +49 -0
  12. package/ipc/infrastructure/rendererToMain.ts +51 -0
  13. package/ipc/openWindow.ts +35 -0
  14. package/ipc/preventSleep.ts +23 -0
  15. package/ipc/serialPort.ts +167 -0
  16. package/ipc/sources.ts +19 -0
  17. package/jest.config.js +7 -0
  18. package/main/index.ts +19 -21
  19. package/mocks/electronMock.ts +2 -0
  20. package/package.json +2 -16
  21. package/scripts/check-app-properties.ts +1 -1
  22. package/scripts/esbuild-renderer.js +3 -1
  23. package/scripts/esbuild.js +3 -3
  24. package/scripts/nordic-publish.ts +1 -1
  25. package/scripts/release-shared.ts +1 -1
  26. package/src/About/ApplicationCard.tsx +6 -35
  27. package/src/About/DeviceCard.tsx +1 -1
  28. package/src/App/App.tsx +2 -2
  29. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +2 -2
  30. package/src/Device/deviceInfo/deviceInfo.ts +2 -2
  31. package/src/SerialPort/SerialPort.test.ts +5 -9
  32. package/src/SerialPort/SerialPort.ts +47 -77
  33. package/src/index.ts +5 -12
  34. package/src/logging/sendInitialLogMessages.ts +35 -38
  35. package/src/utils/packageJson.ts +2 -2
  36. package/src/utils/systemReport.ts +3 -3
  37. package/src/utils/usageData.ts +1 -1
  38. package/tailwind.config.js +11 -0
  39. package/tsconfig.json +9 -0
  40. package/dist/bootstrap.css +0 -8951
  41. package/scripts/nordic-publish.js +0 -89
  42. package/src/OpenApp/openApp.ts +0 -18
  43. package/typings/generated/main/index.d.ts +0 -26
  44. package/typings/generated/main/index.d.ts.map +0 -1
  45. package/typings/generated/src/About/About.d.ts +0 -8
  46. package/typings/generated/src/About/About.d.ts.map +0 -1
  47. package/typings/generated/src/About/AboutButton.d.ts +0 -9
  48. package/typings/generated/src/About/AboutButton.d.ts.map +0 -1
  49. package/typings/generated/src/About/ApplicationCard.d.ts +0 -4
  50. package/typings/generated/src/About/ApplicationCard.d.ts.map +0 -1
  51. package/typings/generated/src/About/DeviceCard.d.ts +0 -4
  52. package/typings/generated/src/About/DeviceCard.d.ts.map +0 -1
  53. package/typings/generated/src/About/DocumentationCard.d.ts +0 -6
  54. package/typings/generated/src/About/DocumentationCard.d.ts.map +0 -1
  55. package/typings/generated/src/About/DocumentationSection.d.ts +0 -10
  56. package/typings/generated/src/About/DocumentationSection.d.ts.map +0 -1
  57. package/typings/generated/src/About/Section.d.ts +0 -8
  58. package/typings/generated/src/About/Section.d.ts.map +0 -1
  59. package/typings/generated/src/About/ShortcutButton.d.ts +0 -7
  60. package/typings/generated/src/About/ShortcutButton.d.ts.map +0 -1
  61. package/typings/generated/src/About/SupportCard.d.ts +0 -4
  62. package/typings/generated/src/About/SupportCard.d.ts.map +0 -1
  63. package/typings/generated/src/About/shortcutSlice.d.ts +0 -12
  64. package/typings/generated/src/About/shortcutSlice.d.ts.map +0 -1
  65. package/typings/generated/src/Alert/Alert.d.ts +0 -11
  66. package/typings/generated/src/Alert/Alert.d.ts.map +0 -1
  67. package/typings/generated/src/App/App.d.ts +0 -31
  68. package/typings/generated/src/App/App.d.ts.map +0 -1
  69. package/typings/generated/src/App/App.test.d.ts +0 -2
  70. package/typings/generated/src/App/App.test.d.ts.map +0 -1
  71. package/typings/generated/src/App/ConnectedToStore.d.ts +0 -8
  72. package/typings/generated/src/App/ConnectedToStore.d.ts.map +0 -1
  73. package/typings/generated/src/App/VisibilityBar.d.ts +0 -7
  74. package/typings/generated/src/App/VisibilityBar.d.ts.map +0 -1
  75. package/typings/generated/src/App/appLayout.d.ts +0 -17
  76. package/typings/generated/src/App/appLayout.d.ts.map +0 -1
  77. package/typings/generated/src/Button/Button.d.ts +0 -14
  78. package/typings/generated/src/Button/Button.d.ts.map +0 -1
  79. package/typings/generated/src/Card/Card.d.ts +0 -8
  80. package/typings/generated/src/Card/Card.d.ts.map +0 -1
  81. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +0 -5
  82. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +0 -1
  83. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +0 -13
  84. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +0 -1
  85. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +0 -12
  86. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +0 -1
  87. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +0 -8
  88. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts.map +0 -1
  89. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +0 -11
  90. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts.map +0 -1
  91. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +0 -8
  92. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +0 -1
  93. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +0 -11
  94. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +0 -1
  95. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +0 -11
  96. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts.map +0 -1
  97. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +0 -10
  98. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts.map +0 -1
  99. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +0 -8
  100. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +0 -1
  101. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +0 -7
  102. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +0 -1
  103. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +0 -21
  104. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +0 -1
  105. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +0 -2
  106. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts.map +0 -1
  107. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +0 -10
  108. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts.map +0 -1
  109. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +0 -9
  110. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +0 -1
  111. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +0 -8
  112. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +0 -1
  113. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +0 -4
  114. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +0 -1
  115. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +0 -30
  116. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +0 -1
  117. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +0 -19
  118. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +0 -1
  119. package/typings/generated/src/Device/deviceLibWrapper.d.ts +0 -9
  120. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +0 -1
  121. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +0 -2
  122. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +0 -1
  123. package/typings/generated/src/Device/deviceLister.d.ts +0 -27
  124. package/typings/generated/src/Device/deviceLister.d.ts.map +0 -1
  125. package/typings/generated/src/Device/deviceLister.test.d.ts +0 -3
  126. package/typings/generated/src/Device/deviceLister.test.d.ts.map +0 -1
  127. package/typings/generated/src/Device/deviceSetup.d.ts +0 -41
  128. package/typings/generated/src/Device/deviceSetup.d.ts.map +0 -1
  129. package/typings/generated/src/Device/deviceSetupSlice.d.ts +0 -21
  130. package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +0 -1
  131. package/typings/generated/src/Device/deviceSlice.d.ts +0 -31
  132. package/typings/generated/src/Device/deviceSlice.d.ts.map +0 -1
  133. package/typings/generated/src/Device/dfu-cc.d.ts +0 -4
  134. package/typings/generated/src/Device/dfu-cc.d.ts.map +0 -1
  135. package/typings/generated/src/Device/initPacket.d.ts +0 -110
  136. package/typings/generated/src/Device/initPacket.d.ts.map +0 -1
  137. package/typings/generated/src/Device/jprogOperations.d.ts +0 -3
  138. package/typings/generated/src/Device/jprogOperations.d.ts.map +0 -1
  139. package/typings/generated/src/Device/sdfuOperations.d.ts +0 -15
  140. package/typings/generated/src/Device/sdfuOperations.d.ts.map +0 -1
  141. package/typings/generated/src/Dialog/Dialog.d.ts +0 -65
  142. package/typings/generated/src/Dialog/Dialog.d.ts.map +0 -1
  143. package/typings/generated/src/Dialog/Dialog.test.d.ts +0 -2
  144. package/typings/generated/src/Dialog/Dialog.test.d.ts.map +0 -1
  145. package/typings/generated/src/Dropdown/Dropdown.d.ts +0 -18
  146. package/typings/generated/src/Dropdown/Dropdown.d.ts.map +0 -1
  147. package/typings/generated/src/Dropdown/Dropdown.test.d.ts +0 -2
  148. package/typings/generated/src/Dropdown/Dropdown.test.d.ts.map +0 -1
  149. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +0 -27
  150. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +0 -1
  151. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +0 -2
  152. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts.map +0 -1
  153. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +0 -5
  154. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +0 -1
  155. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +0 -2
  156. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts.map +0 -1
  157. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +0 -24
  158. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +0 -1
  159. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +0 -2
  160. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts.map +0 -1
  161. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +0 -13
  162. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts.map +0 -1
  163. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +0 -2
  164. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts.map +0 -1
  165. package/typings/generated/src/FlashMessage/FlashMessage.d.ts +0 -5
  166. package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +0 -1
  167. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +0 -20
  168. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +0 -1
  169. package/typings/generated/src/InlineInput/InlineInput.d.ts +0 -15
  170. package/typings/generated/src/InlineInput/InlineInput.d.ts.map +0 -1
  171. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +0 -13
  172. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +0 -1
  173. package/typings/generated/src/Log/LogEntry.d.ts +0 -8
  174. package/typings/generated/src/Log/LogEntry.d.ts.map +0 -1
  175. package/typings/generated/src/Log/LogViewer.d.ts +0 -6
  176. package/typings/generated/src/Log/LogViewer.d.ts.map +0 -1
  177. package/typings/generated/src/Log/logSlice.d.ts +0 -13
  178. package/typings/generated/src/Log/logSlice.d.ts.map +0 -1
  179. package/typings/generated/src/Log/syncLogToStore.d.ts +0 -12
  180. package/typings/generated/src/Log/syncLogToStore.d.ts.map +0 -1
  181. package/typings/generated/src/Logo/Logo.d.ts +0 -7
  182. package/typings/generated/src/Logo/Logo.d.ts.map +0 -1
  183. package/typings/generated/src/Main/Main.d.ts +0 -7
  184. package/typings/generated/src/Main/Main.d.ts.map +0 -1
  185. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +0 -15
  186. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +0 -1
  187. package/typings/generated/src/NavBar/NavBar.d.ts +0 -7
  188. package/typings/generated/src/NavBar/NavBar.d.ts.map +0 -1
  189. package/typings/generated/src/NavBar/NavMenu.d.ts +0 -4
  190. package/typings/generated/src/NavBar/NavMenu.d.ts.map +0 -1
  191. package/typings/generated/src/NavBar/NavMenu.test.d.ts +0 -2
  192. package/typings/generated/src/NavBar/NavMenu.test.d.ts.map +0 -1
  193. package/typings/generated/src/NavBar/NavMenuItem.d.ts +0 -10
  194. package/typings/generated/src/NavBar/NavMenuItem.d.ts.map +0 -1
  195. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts +0 -14
  196. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts.map +0 -1
  197. package/typings/generated/src/OpenApp/openApp.d.ts +0 -8
  198. package/typings/generated/src/OpenApp/openApp.d.ts.map +0 -1
  199. package/typings/generated/src/Panes/FeedbackPane.d.ts +0 -7
  200. package/typings/generated/src/Panes/FeedbackPane.d.ts.map +0 -1
  201. package/typings/generated/src/PseudoButton/PseudoButton.d.ts +0 -11
  202. package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +0 -1
  203. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +0 -14
  204. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +0 -1
  205. package/typings/generated/src/SerialPort/SerialPort.d.ts +0 -22
  206. package/typings/generated/src/SerialPort/SerialPort.d.ts.map +0 -1
  207. package/typings/generated/src/SerialPort/SerialPort.test.d.ts +0 -2
  208. package/typings/generated/src/SerialPort/SerialPort.test.d.ts.map +0 -1
  209. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +0 -9
  210. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts.map +0 -1
  211. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +0 -9
  212. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts.map +0 -1
  213. package/typings/generated/src/SidePanel/Group.d.ts +0 -17
  214. package/typings/generated/src/SidePanel/Group.d.ts.map +0 -1
  215. package/typings/generated/src/SidePanel/SidePanel.d.ts +0 -8
  216. package/typings/generated/src/SidePanel/SidePanel.d.ts.map +0 -1
  217. package/typings/generated/src/Slider/Bar.d.ts +0 -8
  218. package/typings/generated/src/Slider/Bar.d.ts.map +0 -1
  219. package/typings/generated/src/Slider/Factor.test.d.ts +0 -2
  220. package/typings/generated/src/Slider/Factor.test.d.ts.map +0 -1
  221. package/typings/generated/src/Slider/Handle.d.ts +0 -14
  222. package/typings/generated/src/Slider/Handle.d.ts.map +0 -1
  223. package/typings/generated/src/Slider/Slider.d.ts +0 -16
  224. package/typings/generated/src/Slider/Slider.d.ts.map +0 -1
  225. package/typings/generated/src/Slider/Slider.test.d.ts +0 -2
  226. package/typings/generated/src/Slider/Slider.test.d.ts.map +0 -1
  227. package/typings/generated/src/Slider/Ticks.d.ts +0 -13
  228. package/typings/generated/src/Slider/Ticks.d.ts.map +0 -1
  229. package/typings/generated/src/Slider/factor.d.ts +0 -2
  230. package/typings/generated/src/Slider/factor.d.ts.map +0 -1
  231. package/typings/generated/src/Slider/percentage.d.ts +0 -5
  232. package/typings/generated/src/Slider/percentage.d.ts.map +0 -1
  233. package/typings/generated/src/Slider/range.d.ts +0 -14
  234. package/typings/generated/src/Slider/range.d.ts.map +0 -1
  235. package/typings/generated/src/StartStopButton/StartStopButton.d.ts +0 -17
  236. package/typings/generated/src/StartStopButton/StartStopButton.d.ts.map +0 -1
  237. package/typings/generated/src/StateSelector/StateSelector.d.ts +0 -16
  238. package/typings/generated/src/StateSelector/StateSelector.d.ts.map +0 -1
  239. package/typings/generated/src/Stepper/Stepper.d.ts +0 -27
  240. package/typings/generated/src/Stepper/Stepper.d.ts.map +0 -1
  241. package/typings/generated/src/Toggle/Toggle.d.ts +0 -20
  242. package/typings/generated/src/Toggle/Toggle.d.ts.map +0 -1
  243. package/typings/generated/src/index.d.ts +0 -73
  244. package/typings/generated/src/index.d.ts.map +0 -1
  245. package/typings/generated/src/logging/appTransport.d.ts +0 -13
  246. package/typings/generated/src/logging/appTransport.d.ts.map +0 -1
  247. package/typings/generated/src/logging/appTransport.test.d.ts +0 -2
  248. package/typings/generated/src/logging/appTransport.test.d.ts.map +0 -1
  249. package/typings/generated/src/logging/describeError.d.ts +0 -3
  250. package/typings/generated/src/logging/describeError.d.ts.map +0 -1
  251. package/typings/generated/src/logging/describeError.test.d.ts +0 -2
  252. package/typings/generated/src/logging/describeError.test.d.ts.map +0 -1
  253. package/typings/generated/src/logging/index.d.ts +0 -10
  254. package/typings/generated/src/logging/index.d.ts.map +0 -1
  255. package/typings/generated/src/logging/logBuffer.d.ts +0 -10
  256. package/typings/generated/src/logging/logBuffer.d.ts.map +0 -1
  257. package/typings/generated/src/logging/logBuffer.test.d.ts +0 -2
  258. package/typings/generated/src/logging/logBuffer.test.d.ts.map +0 -1
  259. package/typings/generated/src/logging/sendInitialLogMessages.d.ts +0 -3
  260. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +0 -1
  261. package/typings/generated/src/store.d.ts +0 -68
  262. package/typings/generated/src/store.d.ts.map +0 -1
  263. package/typings/generated/src/utils/AppTypes.d.ts +0 -50
  264. package/typings/generated/src/utils/AppTypes.d.ts.map +0 -1
  265. package/typings/generated/src/utils/appDirs.d.ts +0 -36
  266. package/typings/generated/src/utils/appDirs.d.ts.map +0 -1
  267. package/typings/generated/src/utils/bleChannels.d.ts +0 -7
  268. package/typings/generated/src/utils/bleChannels.d.ts.map +0 -1
  269. package/typings/generated/src/utils/classNames.d.ts +0 -18
  270. package/typings/generated/src/utils/classNames.d.ts.map +0 -1
  271. package/typings/generated/src/utils/classNames.test.d.ts +0 -2
  272. package/typings/generated/src/utils/classNames.test.d.ts.map +0 -1
  273. package/typings/generated/src/utils/colors.d.ts +0 -154
  274. package/typings/generated/src/utils/colors.d.ts.map +0 -1
  275. package/typings/generated/src/utils/describeVersion.d.ts +0 -4
  276. package/typings/generated/src/utils/describeVersion.d.ts.map +0 -1
  277. package/typings/generated/src/utils/environment.d.ts +0 -2
  278. package/typings/generated/src/utils/environment.d.ts.map +0 -1
  279. package/typings/generated/src/utils/logLibVersions.d.ts +0 -3
  280. package/typings/generated/src/utils/logLibVersions.d.ts.map +0 -1
  281. package/typings/generated/src/utils/open.d.ts +0 -16
  282. package/typings/generated/src/utils/open.d.ts.map +0 -1
  283. package/typings/generated/src/utils/packageJson.d.ts +0 -5
  284. package/typings/generated/src/utils/packageJson.d.ts.map +0 -1
  285. package/typings/generated/src/utils/persistentStore.d.ts +0 -36
  286. package/typings/generated/src/utils/persistentStore.d.ts.map +0 -1
  287. package/typings/generated/src/utils/systemReport.d.ts +0 -5
  288. package/typings/generated/src/utils/systemReport.d.ts.map +0 -1
  289. package/typings/generated/src/utils/truncateMiddle.d.ts +0 -3
  290. package/typings/generated/src/utils/truncateMiddle.d.ts.map +0 -1
  291. package/typings/generated/src/utils/truncateMiddle.test.d.ts +0 -2
  292. package/typings/generated/src/utils/truncateMiddle.test.d.ts.map +0 -1
  293. package/typings/generated/src/utils/usageData.d.ts +0 -64
  294. package/typings/generated/src/utils/usageData.d.ts.map +0 -1
  295. package/typings/generated/src/utils/useFocusedOnVisible.d.ts +0 -11
  296. package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +0 -1
  297. package/typings/generated/src/utils/useHotKey.d.ts +0 -7
  298. package/typings/generated/src/utils/useHotKey.d.ts.map +0 -1
  299. package/typings/generated/src/utils/useStopwatch.d.ts +0 -23
  300. package/typings/generated/src/utils/useStopwatch.d.ts.map +0 -1
  301. package/typings/generated/src/utils/useStopwatch.test.d.ts +0 -2
  302. package/typings/generated/src/utils/useStopwatch.test.d.ts.map +0 -1
  303. package/typings/generated/test/dispatchTo.d.ts +0 -4
  304. package/typings/generated/test/dispatchTo.d.ts.map +0 -1
  305. package/typings/generated/test/testrenderer.d.ts +0 -6
  306. package/typings/generated/test/testrenderer.d.ts.map +0 -1
@@ -9,11 +9,10 @@ import type {
9
9
  SetOptions,
10
10
  UpdateOptions,
11
11
  } from '@serialport/bindings-cpp';
12
- import { ipcRenderer } from 'electron';
13
12
  import EventEmitter from 'events';
14
13
  import type { SerialPortOpenOptions } from 'serialport';
15
14
 
16
- import { OverwriteOptions, SERIALPORT_CHANNEL } from '../../main';
15
+ import { forMain, inMain, OverwriteOptions } from '../../ipc/serialPort';
17
16
  import logger from '../logging';
18
17
 
19
18
  export type SerialPort = Awaited<ReturnType<typeof createSerialPort>>;
@@ -29,77 +28,30 @@ export const createSerialPort = async (
29
28
  const eventEmitter = new EventEmitter();
30
29
  let closed = false;
31
30
 
32
- ipcRenderer.on(`${SERIALPORT_CHANNEL.ON_DATA}_${path}`, (_event, data) =>
31
+ forMain.registerOnDataReceived(path)(data =>
33
32
  eventEmitter.emit('onData', data)
34
33
  );
35
- ipcRenderer.on(`${SERIALPORT_CHANNEL.ON_CLOSED}_${path}`, () => {
34
+ forMain.registerOnDataWritten(path)(data =>
35
+ eventEmitter.emit('onDataWritten', data)
36
+ );
37
+
38
+ forMain.registerOnClosed(path)(() => {
36
39
  eventEmitter.emit('onClosed');
37
40
  closed = true;
38
41
  });
39
- ipcRenderer.on(
40
- `${SERIALPORT_CHANNEL.ON_UPDATE}_${path}`,
41
- (_event, newOptions) => eventEmitter.emit('onUpdate', newOptions)
42
+ forMain.registerOnUpdated(path)(newOptions =>
43
+ eventEmitter.emit('onUpdate', newOptions)
42
44
  );
43
- ipcRenderer.on(
44
- `${SERIALPORT_CHANNEL.ON_SET}_${path}`,
45
- (_event, newOptions) => eventEmitter.emit('onSet', newOptions)
45
+ forMain.registerOnSet(path)(newOptions =>
46
+ eventEmitter.emit('onSet', newOptions)
46
47
  );
47
- ipcRenderer.on(
48
- `${SERIALPORT_CHANNEL.ON_CHANGED}_${path}`,
49
- (_event, newOptions) => eventEmitter.emit('onChange', newOptions)
50
- );
51
-
52
- // The origin of this event is emitted when a renderer writes to the port.
53
- ipcRenderer.on(`${SERIALPORT_CHANNEL.ON_WRITE}_${path}`, (_event, data) =>
54
- eventEmitter.emit('onDataWritten', data)
48
+ forMain.registerOnChanged(path)(newOptions =>
49
+ eventEmitter.emit('onChange', newOptions)
55
50
  );
56
51
 
57
- const write = (data: string | number[] | Buffer): void => {
58
- ipcRenderer.invoke(SERIALPORT_CHANNEL.WRITE, path, data);
59
- };
60
-
61
- const isOpen = (): Promise<boolean> =>
62
- ipcRenderer.invoke(SERIALPORT_CHANNEL.IS_OPEN, path);
63
-
64
- const close = async () => {
65
- if (closed) return;
66
- const error = await ipcRenderer.invoke(SERIALPORT_CHANNEL.CLOSE, path);
67
- if (error) {
68
- // IPC only carries the error message, that's why we throw new Error.
69
- throw new Error(error);
70
- }
71
-
72
- try {
73
- if (await isOpen()) {
74
- logger.info(
75
- `Port ${options.path} still in use by other window(s)`
76
- );
77
- }
78
- } catch {
79
- logger.info(`Closed port: ${options.path}`);
80
- }
81
- };
82
-
83
- // Only supports baudRate, same as serialport.io
84
- const update = (newOptions: UpdateOptions) => {
85
- ipcRenderer.invoke(SERIALPORT_CHANNEL.UPDATE, path, newOptions);
86
- };
87
-
88
- const set = (newOptions: SetOptions) => {
89
- ipcRenderer.invoke(SERIALPORT_CHANNEL.SET, path, newOptions);
90
- };
91
-
92
- const getOptions = ():
93
- | Promise<SerialPortOpenOptions<AutoDetectTypes>>
94
- | undefined => ipcRenderer.invoke(SERIALPORT_CHANNEL.GET_OPTIONS, path);
95
-
96
52
  const openWithRetries = async (retryCount: number) => {
97
53
  try {
98
- return (await ipcRenderer.invoke(
99
- SERIALPORT_CHANNEL.OPEN,
100
- options,
101
- overwriteOptions
102
- )) as string;
54
+ return await inMain.open(options, overwriteOptions);
103
55
  } catch (error) {
104
56
  if (
105
57
  (error as Error).message.includes(
@@ -107,18 +59,37 @@ export const createSerialPort = async (
107
59
  ) &&
108
60
  retryCount > 0
109
61
  ) {
110
- return new Promise<string>(resolve => {
62
+ return new Promise<void | string>(resolve => {
111
63
  setTimeout(async () => {
112
- resolve(
113
- (await openWithRetries(retryCount - 1)) as string
114
- );
64
+ resolve(await openWithRetries(retryCount - 1));
115
65
  }, 50 + Math.random() * 100);
116
66
  });
117
67
  }
118
- return Promise.resolve<string>((error as Error).message);
68
+ return (error as Error).message;
69
+ }
70
+ };
71
+
72
+ const close = async () => {
73
+ if (closed) return;
74
+ await inMain.close(path);
75
+
76
+ try {
77
+ if (await inMain.isOpen(path)) {
78
+ logger.info(
79
+ `Port ${options.path} still in use by other window(s)`
80
+ );
81
+ }
82
+ } catch {
83
+ logger.info(`Closed port: ${options.path}`);
119
84
  }
120
85
  };
121
86
 
87
+ const write = (data: string | number[] | Buffer) =>
88
+ inMain.write(path, data);
89
+ const update = (newOptions: UpdateOptions) =>
90
+ inMain.update(path, newOptions); // Only supports baudRate, same as serialport.io
91
+ const set = (newOptions: SetOptions) => inMain.set(path, newOptions);
92
+
122
93
  const error = await openWithRetries(3);
123
94
 
124
95
  if (error) {
@@ -138,12 +109,15 @@ export const createSerialPort = async (
138
109
 
139
110
  return {
140
111
  path,
141
- write,
112
+
142
113
  close,
143
- isOpen,
114
+ write,
144
115
  update,
145
116
  set,
146
- getOptions,
117
+
118
+ isOpen: () => inMain.isOpen(path),
119
+ getOptions: () => inMain.getOptions(path),
120
+
147
121
  onData: (handler: (data: Uint8Array) => void) => {
148
122
  eventEmitter.on('onData', handler);
149
123
  return () => {
@@ -187,15 +161,11 @@ export const createSerialPort = async (
187
161
  };
188
162
  };
189
163
 
190
- export const getSerialPortOptions = async (
191
- path: string
192
- ): Promise<SerialPortOpenOptions<AutoDetectTypes> | undefined> => {
164
+ export const getSerialPortOptions = async (path: string) => {
193
165
  try {
194
166
  console.log('will fetch options from path=', path);
195
- return (await ipcRenderer.invoke(
196
- SERIALPORT_CHANNEL.GET_OPTIONS,
197
- path
198
- )) as SerialPortOpenOptions<AutoDetectTypes> | undefined;
167
+
168
+ return await inMain.getOptions(path);
199
169
  } catch (error) {
200
170
  logger.error(`Failed to get options for port: ${path}`);
201
171
  }
package/src/index.ts CHANGED
@@ -5,9 +5,7 @@
5
5
  */
6
6
  import { hideDialog, showDialog } from './ErrorDialog/errorDialogSlice';
7
7
 
8
- const ErrorDialogActions = { hideDialog, showDialog };
9
-
10
- export { ErrorDialogActions };
8
+ export const ErrorDialogActions = { hideDialog, showDialog };
11
9
 
12
10
  export { default as App, type PaneProps } from './App/App';
13
11
  export { default as Logo } from './Logo/Logo';
@@ -130,8 +128,6 @@ export {
130
128
  } from './SerialPort/SerialPort';
131
129
  export { default as ConflictingSettingsDialog } from './SerialPort/ConflictingSettingsDialog';
132
130
 
133
- export { openAppWindow } from './OpenApp/openApp';
134
-
135
131
  export type { AppDispatch, AppThunk, NrfConnectState } from './store';
136
132
 
137
133
  export {
@@ -140,13 +136,6 @@ export {
140
136
  prepareDevice,
141
137
  } from './Device/deviceSetup';
142
138
 
143
- export type {
144
- AppInfo,
145
- AppVersions,
146
- PackageJson,
147
- SourceJson,
148
- } from './utils/AppTypes';
149
-
150
139
  export {
151
140
  addNewMessage,
152
141
  newCopiedFlashMessage,
@@ -155,3 +144,7 @@ export {
155
144
  newErrorFlashMessage,
156
145
  newSuccessFlashMessage,
157
146
  } from './FlashMessage/FlashMessageSlice';
147
+
148
+ export { inMain as apps } from '../ipc/apps';
149
+ export { inMain as openWindow } from '../ipc/openWindow';
150
+ export { inMain as preventSleep } from '../ipc/preventSleep';
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  import { getModuleVersions } from '@nordicsemiconductor/nrf-device-lib-js';
8
- import { ipcRenderer } from 'electron';
9
8
 
9
+ import { inMain as appDetails } from '../../ipc/appDetails';
10
10
  import {
11
11
  getDeviceLibContext,
12
12
  getModuleVersion,
@@ -17,48 +17,45 @@ import logLibVersions from '../utils/logLibVersions';
17
17
  import logger from '.';
18
18
 
19
19
  let initialMessagesSent = false;
20
- export default () => {
20
+ export default async () => {
21
21
  if (initialMessagesSent) return;
22
22
  initialMessagesSent = true;
23
23
 
24
24
  logLibVersions();
25
25
  logger.debug(`Application data folder: ${getAppDataDir()}`);
26
26
 
27
- ipcRenderer.once('app-details', async (_event, details) => {
28
- const {
29
- name,
30
- currentVersion,
31
- engineVersion,
32
- coreVersion,
33
- corePath,
34
- isOfficial,
35
- installed,
36
- homeDir,
37
- tmpDir,
38
- bundledJlink,
39
- } = details;
40
-
41
- const official = isOfficial ? 'official' : 'local';
42
-
43
- logger.debug(`App ${name} v${currentVersion} ${official}`);
44
- logger.debug(`App path: ${installed.path}`);
45
- logger.debug(
46
- `nRFConnect ${coreVersion}, required by the app is (${engineVersion})`
47
- );
48
- logger.debug(`nRFConnect path: ${corePath}`);
49
- logger.debug(`HomeDir: ${homeDir}`);
50
- logger.debug(`TmpDir: ${tmpDir}`);
51
-
52
- if (bundledJlink) {
53
- const versions = await getModuleVersions(getDeviceLibContext());
54
- const jlinkVersion = getModuleVersion('JlinkARM', versions);
55
-
56
- if (!describeVersion(jlinkVersion).includes(bundledJlink)) {
57
- logger.info(
58
- `Installed JLink version does not match the provided version (${bundledJlink})`
59
- );
60
- }
27
+ const details = await appDetails.getAppDetails();
28
+
29
+ const {
30
+ name,
31
+ currentVersion,
32
+ engineVersion,
33
+ coreVersion,
34
+ corePath,
35
+ installed,
36
+ homeDir,
37
+ tmpDir,
38
+ bundledJlink,
39
+ source,
40
+ } = details;
41
+
42
+ logger.debug(`App ${name} v${currentVersion} (${source})`);
43
+ logger.debug(`App path: ${installed.path}`);
44
+ logger.debug(
45
+ `nRFConnect ${coreVersion}, required by the app is (${engineVersion})`
46
+ );
47
+ logger.debug(`nRFConnect path: ${corePath}`);
48
+ logger.debug(`HomeDir: ${homeDir}`);
49
+ logger.debug(`TmpDir: ${tmpDir}`);
50
+
51
+ if (bundledJlink) {
52
+ const versions = await getModuleVersions(getDeviceLibContext());
53
+ const jlinkVersion = getModuleVersion('JlinkARM', versions);
54
+
55
+ if (!describeVersion(jlinkVersion).includes(bundledJlink)) {
56
+ logger.info(
57
+ `Installed JLink version does not match the provided version (${bundledJlink})`
58
+ );
61
59
  }
62
- });
63
- ipcRenderer.send('get-app-details');
60
+ }
64
61
  };
@@ -32,8 +32,8 @@ import { readFileSync } from 'fs';
32
32
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
33
  // @ts-ignore This will be available when the app uses it.
34
34
  // eslint-disable-next-line import/no-unresolved
35
- import packageJsons from '../../../../package.json';
36
- import type { PackageJson } from './AppTypes';
35
+ import packageJsons from '../../../../../package.json';
36
+ import type { PackageJson } from '../../ipc/MetaFiles';
37
37
 
38
38
  let packageJson: PackageJson = packageJsons;
39
39
 
@@ -95,9 +95,9 @@ const allDevicesReport = (allDevices: Device[] = []) => [
95
95
  '- Connected devices:',
96
96
  ...allDevices.map(
97
97
  d =>
98
- ` - ${d.serialNumber} ${d.boardVersion || ''}: ${d.serialPorts
99
- ?.map(s => s.comName)
100
- .join(', ')}`
98
+ ` - ${d.serialNumber} ${
99
+ d.jlink?.boardVersion || ''
100
+ }: ${d.serialPorts?.map(s => s.comName).join(', ')}`
101
101
  ),
102
102
  '',
103
103
  ];
@@ -7,8 +7,8 @@
7
7
  import { ApplicationInsights } from '@microsoft/applicationinsights-web';
8
8
  import type Systeminformation from 'systeminformation';
9
9
 
10
+ import type { PackageJson } from '../../ipc/MetaFiles';
10
11
  import logger from '../logging';
11
- import type { PackageJson } from './AppTypes';
12
12
  import { isDevelopment } from './environment';
13
13
  import {
14
14
  deleteIsSendingUsageData,
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Copyright (c) 2023 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ const baseConfig = require('./config/tailwind.config.js');
8
+
9
+ module.exports = {
10
+ ...baseConfig,
11
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./config/tsconfig.json",
3
+ "include": [
4
+ "./main/**/*.ts",
5
+ "./src/**/*.ts",
6
+ "./src/**/*.tsx",
7
+ "./typings/*.d.ts"
8
+ ]
9
+ }