@nordicsemiconductor/pc-nrfconnect-shared 230.0.0 → 232.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.
- package/Changelog.md +1688 -1674
- package/README.md +8 -8
- package/config/colors.js +1 -1
- package/config/eslintrc.js +25 -5
- package/config/jest.config.js +1 -1
- package/ipc/MetaFiles.ts +2 -2
- package/ipc/README.md +14 -14
- package/ipc/appDetails.ts +1 -1
- package/ipc/apps.ts +5 -5
- package/ipc/infrastructure/mainToRenderer.ts +3 -3
- package/ipc/infrastructure/rendererToMain.ts +5 -5
- package/ipc/open.ts +2 -2
- package/ipc/safeStorage.ts +2 -2
- package/ipc/schema/packageJson.ts +1 -1
- package/ipc/serialPort.ts +2 -2
- package/main/index.ts +7 -0
- package/mocks/electronStoreMock.ts +1 -1
- package/nrfutil/collectingResultParser.ts +3 -4
- package/nrfutil/device/batch.ts +37 -35
- package/nrfutil/device/boardController.ts +2 -2
- package/nrfutil/device/common.ts +6 -6
- package/nrfutil/device/deviceInfo.ts +3 -3
- package/nrfutil/device/erase.ts +2 -2
- package/nrfutil/device/getBoardControllerConfig.ts +2 -2
- package/nrfutil/device/getBoardControllerVersion.ts +2 -2
- package/nrfutil/device/getCoreInfo.ts +2 -2
- package/nrfutil/device/getFwInfo.ts +2 -2
- package/nrfutil/device/getProtectionStatus.ts +2 -2
- package/nrfutil/device/list.ts +2 -2
- package/nrfutil/device/logLibVersions.ts +7 -7
- package/nrfutil/device/program.ts +21 -40
- package/nrfutil/device/recover.ts +2 -2
- package/nrfutil/device/reset.ts +2 -2
- package/nrfutil/device/setMcuState.ts +2 -2
- package/nrfutil/device/setProtectionStatus.ts +2 -2
- package/nrfutil/device/xRead.ts +2 -2
- package/nrfutil/fs.ts +49 -0
- package/nrfutil/modules.ts +9 -9
- package/nrfutil/sandbox.ts +101 -53
- package/nrfutil/version/jlinkVersion.test.ts +34 -34
- package/nrfutil/version/jlinkVersion.ts +7 -7
- package/nrfutil/version/moduleVersion.ts +7 -7
- package/nrfutil/version/version.ts +3 -3
- package/package.json +7 -7
- package/release_notes.md +14 -2
- package/scripts/check-app-properties.ts +12 -12
- package/scripts/check-for-typescript.ts +2 -2
- package/scripts/create-source.ts +2 -2
- package/scripts/esbuild-renderer.ts +8 -8
- package/scripts/esbuild.ts +2 -2
- package/scripts/get-release-numbers.ts +1 -1
- package/scripts/is-releasable.ts +3 -3
- package/scripts/nordic-publish.ts +34 -34
- package/scripts/nrfconnect-license.ts +6 -6
- package/scripts/prepare-shared-release.ts +10 -10
- package/src/About/Feedback.tsx +3 -3
- package/src/About/SupportCard.tsx +1 -1
- package/src/App/App.test.tsx +1 -1
- package/src/App/App.tsx +3 -3
- package/src/App/VisibilityBar.tsx +1 -1
- package/src/App/appLayout.ts +12 -12
- package/src/Button/Button.tsx +1 -1
- package/src/ConfirmBeforeClose/ConfirmCloseDialog.tsx +1 -1
- package/src/ConfirmBeforeClose/confirmBeforeCloseSlice.ts +5 -5
- package/src/Device/DeviceSelector/DeviceList/Device.tsx +2 -2
- package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +3 -3
- package/src/Device/DeviceSelector/DeviceList/VirtualDevices.tsx +2 -2
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +16 -16
- package/src/Device/DeviceSelector/DeviceSelector.tsx +13 -13
- package/src/Device/DeviceSelector/Favorite.tsx +1 -1
- package/src/Device/DeviceSelector/SelectDevice.tsx +1 -1
- package/src/Device/DeviceSetup/DeviceSetupView.tsx +1 -1
- package/src/Device/deviceAutoSelectSlice.ts +5 -5
- package/src/Device/deviceInfo/deviceInfo.ts +2 -2
- package/src/Device/deviceLister.test.ts +4 -4
- package/src/Device/deviceLister.ts +49 -51
- package/src/Device/deviceSetup.ts +27 -26
- package/src/Device/deviceSetupSlice.ts +2 -2
- package/src/Device/deviceSlice.ts +17 -18
- package/src/Device/initPacket.ts +13 -13
- package/src/Device/jprogOperations.ts +11 -11
- package/src/Device/sdfuOperations.ts +47 -47
- package/src/Dropdown/Dropdown.test.tsx +3 -3
- package/src/Dropdown/Dropdown.tsx +6 -6
- package/src/Dropdown/DropdownHelpers.test.ts +1 -1
- package/src/Dropdown/DropdownHelpers.ts +4 -4
- package/src/ErrorBoundary/ErrorBoundary.test.tsx +5 -5
- package/src/ErrorBoundary/ErrorBoundary.tsx +7 -5
- package/src/ErrorDialog/ErrorDialog.tsx +4 -4
- package/src/ErrorDialog/errorDialogSlice.ts +3 -3
- package/src/FactoryReset/FactoryResetButton.test.tsx +1 -1
- package/src/FlashMessage/FlashMessage.tsx +8 -8
- package/src/FlashMessage/FlashMessageSlice.ts +3 -3
- package/src/Group/Group.tsx +11 -11
- package/src/InlineInput/InlineInput.tsx +4 -4
- package/src/InlineInput/NumberInlineInput.tsx +13 -13
- package/src/InlineInput/NumberInputWithDropdown.tsx +2 -2
- package/src/Link/ExternalLink.tsx +1 -1
- package/src/Link/FileLink.tsx +1 -1
- package/src/Log/LogEntry.tsx +2 -2
- package/src/Log/logSlice.ts +1 -1
- package/src/Log/syncLogToStore.ts +1 -1
- package/src/MasonryLayout/MasonryLayout.tsx +8 -6
- package/src/NavBar/NavMenuItem.tsx +1 -1
- package/src/NumberInput/NumberInput.tsx +3 -3
- package/src/Parsers/shellParser.test.ts +98 -104
- package/src/Parsers/shellParser.ts +20 -20
- package/src/PseudoButton/PseudoButton.tsx +1 -1
- package/src/SerialPort/ConflictingSettingsDialog.tsx +11 -9
- package/src/SerialPort/SerialPort.test.ts +4 -4
- package/src/SerialPort/SerialPort.ts +22 -18
- package/src/Slider/Handle.tsx +3 -3
- package/src/Slider/Slider.test.tsx +2 -2
- package/src/Slider/Slider.tsx +2 -2
- package/src/Slider/Ticks.tsx +2 -2
- package/src/Slider/percentage.ts +2 -2
- package/src/Slider/range.ts +7 -7
- package/src/StartStopButton/StartStopButton.tsx +1 -1
- package/src/StateSelector/StateSelector.tsx +1 -1
- package/src/Stepper/Stepper.tsx +2 -2
- package/src/Toggle/Toggle.tsx +2 -2
- package/src/logging/appTransport.test.ts +2 -2
- package/src/logging/appTransport.ts +1 -1
- package/src/logging/describeError.test.ts +1 -1
- package/src/logging/describeError.ts +1 -1
- package/src/logging/index.ts +4 -4
- package/src/logging/sendInitialLogMessages.ts +2 -2
- package/src/store.ts +4 -5
- package/src/telemetry/TelemetrySender.ts +2 -2
- package/src/telemetry/TelemetrySenderInMain.ts +1 -2
- package/src/telemetry/flatObject.test.ts +1 -1
- package/src/telemetry/telemetry.ts +3 -3
- package/src/utils/classNames.test.ts +2 -2
- package/src/utils/packageJson.ts +4 -4
- package/src/utils/persistentStore.ts +19 -19
- package/src/utils/systemReport.ts +8 -8
- package/src/utils/truncateMiddle.test.ts +1 -1
- package/src/utils/truncateMiddle.ts +1 -1
- package/src/utils/udevInstalled.ts +1 -1
- package/src/utils/useHotKey.ts +2 -2
- package/src/utils/useStopwatch.test.tsx +1 -11
- package/src/utils/useStopwatch.ts +3 -3
- package/test/dispatchTo.ts +1 -1
- package/test/setupTests.ts +3 -3
- package/test/testrenderer.tsx +4 -8
- package/typings/generated/ipc/appDetails.d.ts.map +1 -1
- package/typings/generated/ipc/apps.d.ts.map +1 -1
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts +1 -1
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts.map +1 -1
- package/typings/generated/ipc/infrastructure/rendererToMain.d.ts.map +1 -1
- package/typings/generated/ipc/open.d.ts.map +1 -1
- package/typings/generated/ipc/safeStorage.d.ts +4 -5
- package/typings/generated/ipc/safeStorage.d.ts.map +1 -1
- package/typings/generated/ipc/schema/packageJson.d.ts +3 -3
- package/typings/generated/ipc/schema/parseJson.d.ts +1 -1
- package/typings/generated/ipc/schema/parseJson.d.ts.map +1 -1
- package/typings/generated/ipc/serialPort.d.ts +10 -11
- package/typings/generated/ipc/serialPort.d.ts.map +1 -1
- package/typings/generated/main/index.d.ts +15 -14
- package/typings/generated/main/index.d.ts.map +1 -1
- package/typings/generated/nrfutil/collectingResultParser.d.ts +1 -2
- package/typings/generated/nrfutil/collectingResultParser.d.ts.map +1 -1
- package/typings/generated/nrfutil/common.d.ts +0 -1
- package/typings/generated/nrfutil/common.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts +1 -2
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batch.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/boardController.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/common.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/device.d.ts +17 -17
- package/typings/generated/nrfutil/device/device.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/deviceInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/erase.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerConfig.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/list.d.ts +2 -2
- package/typings/generated/nrfutil/device/list.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/logLibVersions.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/program.d.ts +0 -2
- package/typings/generated/nrfutil/device/program.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/recover.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/reset.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +1 -1
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/xRead.d.ts.map +1 -1
- package/typings/generated/nrfutil/fs.d.ts +12 -0
- package/typings/generated/nrfutil/fs.d.ts.map +1 -0
- package/typings/generated/nrfutil/modules.d.ts.map +1 -1
- package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts +6 -5
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/jlinkVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/moduleVersion.d.ts +1 -1
- package/typings/generated/nrfutil/version/moduleVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/version.d.ts.map +1 -1
- package/typings/generated/scripts/check-app-properties.d.ts.map +1 -1
- package/typings/generated/scripts/esbuild-renderer.d.ts.map +1 -1
- package/typings/generated/scripts/get-release-numbers.d.ts.map +1 -1
- package/typings/generated/scripts/latest-changelog-entry.d.ts.map +1 -1
- package/typings/generated/src/About/About.d.ts.map +1 -1
- package/typings/generated/src/About/ApplicationCard.d.ts +0 -1
- package/typings/generated/src/About/ApplicationCard.d.ts.map +1 -1
- package/typings/generated/src/About/DeviceCard.d.ts +0 -1
- package/typings/generated/src/About/DeviceCard.d.ts.map +1 -1
- package/typings/generated/src/About/DocumentationCard.d.ts.map +1 -1
- package/typings/generated/src/About/DocumentationSection.d.ts.map +1 -1
- package/typings/generated/src/About/Feedback.d.ts +1 -2
- package/typings/generated/src/About/Feedback.d.ts.map +1 -1
- package/typings/generated/src/About/Section.d.ts.map +1 -1
- package/typings/generated/src/About/SupportCard.d.ts +1 -2
- package/typings/generated/src/About/SupportCard.d.ts.map +1 -1
- package/typings/generated/src/About/sendFeedback.d.ts.map +1 -1
- package/typings/generated/src/About/shortcutSlice.d.ts +1 -1
- package/typings/generated/src/About/shortcutSlice.d.ts.map +1 -1
- package/typings/generated/src/App/App.d.ts +1 -1
- package/typings/generated/src/App/App.d.ts.map +1 -1
- package/typings/generated/src/App/ConnectedToStore.d.ts +1 -1
- package/typings/generated/src/App/ConnectedToStore.d.ts.map +1 -1
- package/typings/generated/src/App/VisibilityBar.d.ts +0 -1
- package/typings/generated/src/App/VisibilityBar.d.ts.map +1 -1
- package/typings/generated/src/App/appLayout.d.ts +1 -1
- package/typings/generated/src/App/appLayout.d.ts.map +1 -1
- package/typings/generated/src/Card/Card.d.ts.map +1 -1
- package/typings/generated/src/ConfirmBeforeClose/ConfirmCloseDialog.d.ts +0 -1
- package/typings/generated/src/ConfirmBeforeClose/ConfirmCloseDialog.d.ts.map +1 -1
- package/typings/generated/src/ConfirmBeforeClose/confirmBeforeCloseSlice.d.ts +2 -3
- package/typings/generated/src/ConfirmBeforeClose/confirmBeforeCloseSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +0 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/VirtualDevices.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/VirtualDevices.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DisconnectDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DisconnectDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedVirtualDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedVirtualDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +1 -1
- package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +0 -1
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSetup.d.ts +0 -1
- package/typings/generated/src/Device/deviceSetup.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSetupSlice.d.ts +3 -3
- package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSlice.d.ts +1 -1
- package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/initPacket.d.ts +0 -1
- package/typings/generated/src/Device/initPacket.d.ts.map +1 -1
- package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -1
- package/typings/generated/src/Device/sdfuOperations.d.ts +1 -2
- package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -1
- package/typings/generated/src/Dialog/Dialog.d.ts +3 -3
- package/typings/generated/src/Dialog/Dialog.d.ts.map +1 -1
- package/typings/generated/src/Dropdown/Dropdown.d.ts.map +1 -1
- package/typings/generated/src/Dropdown/DropdownHelpers.d.ts.map +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +0 -1
- package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +1 -1
- package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +1 -1
- package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +1 -1
- package/typings/generated/src/FlashMessage/FlashMessage.d.ts +0 -1
- package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +1 -1
- package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +1 -1
- package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +1 -1
- package/typings/generated/src/Group/Group.d.ts +8 -8
- package/typings/generated/src/Group/Group.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/InlineInput.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +0 -1
- package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/NumberInputWithDropdown.d.ts.map +1 -1
- package/typings/generated/src/Link/ExternalLink.d.ts +1 -2
- package/typings/generated/src/Link/ExternalLink.d.ts.map +1 -1
- package/typings/generated/src/Link/FileLink.d.ts +1 -2
- package/typings/generated/src/Link/FileLink.d.ts.map +1 -1
- package/typings/generated/src/Log/LogEntry.d.ts +0 -1
- package/typings/generated/src/Log/LogEntry.d.ts.map +1 -1
- package/typings/generated/src/Log/LogViewer.d.ts +0 -1
- package/typings/generated/src/Log/LogViewer.d.ts.map +1 -1
- package/typings/generated/src/Log/logSlice.d.ts +1 -1
- package/typings/generated/src/Log/logSlice.d.ts.map +1 -1
- package/typings/generated/src/Log/syncLogToStore.d.ts.map +1 -1
- package/typings/generated/src/Main/Main.d.ts.map +1 -1
- package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +1 -1
- package/typings/generated/src/NavBar/NavBar.d.ts.map +1 -1
- package/typings/generated/src/NavBar/NavMenu.d.ts +0 -1
- package/typings/generated/src/NavBar/NavMenu.d.ts.map +1 -1
- package/typings/generated/src/NoticeBox/NoticeBox.d.ts.map +1 -1
- package/typings/generated/src/NumberInput/NumberInput.d.ts +8 -8
- package/typings/generated/src/NumberInput/NumberInput.d.ts.map +1 -1
- package/typings/generated/src/Overlay/Overlay.d.ts +2 -2
- package/typings/generated/src/Overlay/Overlay.d.ts.map +1 -1
- package/typings/generated/src/Parsers/shellParser.d.ts +1 -1
- package/typings/generated/src/Parsers/shellParser.d.ts.map +1 -1
- package/typings/generated/src/Parsers/shellParser.test.d.ts.map +1 -1
- package/typings/generated/src/PseudoButton/PseudoButton.d.ts +4 -4
- package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +1 -1
- package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +0 -1
- package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +1 -1
- package/typings/generated/src/SerialPort/SerialPort.d.ts +0 -1
- package/typings/generated/src/SerialPort/SerialPort.d.ts.map +1 -1
- package/typings/generated/src/SidePanel/SidePanel.d.ts +1 -1
- package/typings/generated/src/SidePanel/SidePanel.d.ts.map +1 -1
- package/typings/generated/src/Slider/factor.d.ts.map +1 -1
- package/typings/generated/src/Slider/percentage.d.ts.map +1 -1
- package/typings/generated/src/Slider/range.d.ts.map +1 -1
- package/typings/generated/src/Spinner/Spinner.d.ts +2 -3
- package/typings/generated/src/Spinner/Spinner.d.ts.map +1 -1
- package/typings/generated/src/StateSelector/StateSelector.d.ts.map +1 -1
- package/typings/generated/src/Stepper/Stepper.d.ts +0 -1
- package/typings/generated/src/Stepper/Stepper.d.ts.map +1 -1
- package/typings/generated/src/logging/describeError.d.ts.map +1 -1
- package/typings/generated/src/logging/index.d.ts.map +1 -1
- package/typings/generated/src/logging/logBuffer.d.ts.map +1 -1
- package/typings/generated/src/store.d.ts +15 -39
- package/typings/generated/src/store.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySender.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySenderInMain.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySenderInRenderer.d.ts.map +1 -1
- package/typings/generated/src/telemetry/flatObject.d.ts.map +1 -1
- package/typings/generated/src/telemetry/simplifyDevice.d.ts.map +1 -1
- package/typings/generated/src/telemetry/telemetry.d.ts +1 -1
- package/typings/generated/src/telemetry/telemetry.d.ts.map +1 -1
- package/typings/generated/src/utils/appDirs.d.ts.map +1 -1
- package/typings/generated/src/utils/classNames.d.ts.map +1 -1
- package/typings/generated/src/utils/packageJson.d.ts.map +1 -1
- package/typings/generated/src/utils/persistentStore.d.ts +1 -1
- package/typings/generated/src/utils/persistentStore.d.ts.map +1 -1
- package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
- package/typings/generated/src/utils/truncateMiddle.d.ts.map +1 -1
- package/typings/generated/src/utils/useFocusedOnVisible.d.ts +0 -1
- package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +1 -1
- package/typings/generated/src/utils/useHotKey.d.ts.map +1 -1
- package/typings/generated/src/utils/useStopwatch.d.ts.map +1 -1
- package/typings/generated/test/dispatchTo.d.ts +1 -1
- package/typings/generated/test/dispatchTo.d.ts.map +1 -1
- package/typings/generated/test/testrenderer.d.ts +2 -1
- package/typings/generated/test/testrenderer.d.ts.map +1 -1
package/nrfutil/sandbox.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { exec, spawn } from 'child_process';
|
|
|
8
8
|
import fs from 'fs';
|
|
9
9
|
import os from 'os';
|
|
10
10
|
import path from 'path';
|
|
11
|
+
import process from 'process';
|
|
11
12
|
import treeKill from 'tree-kill';
|
|
12
13
|
|
|
13
14
|
import describeError from '../src/logging/describeError';
|
|
@@ -19,6 +20,7 @@ import {
|
|
|
19
20
|
convertNrfutilProgress,
|
|
20
21
|
parseJsonBuffers,
|
|
21
22
|
} from './common';
|
|
23
|
+
import { createDisposableTempDir } from './fs';
|
|
22
24
|
import { getNrfutilLogger } from './nrfutilLogger';
|
|
23
25
|
import type {
|
|
24
26
|
BackgroundTask,
|
|
@@ -37,10 +39,27 @@ import {
|
|
|
37
39
|
|
|
38
40
|
const CORE_VERSION_FOR_LEGACY_APPS = '8.1.1';
|
|
39
41
|
|
|
42
|
+
export const getTriplet = () => {
|
|
43
|
+
switch (process.platform) {
|
|
44
|
+
case 'darwin':
|
|
45
|
+
return process.arch === 'arm64'
|
|
46
|
+
? 'aarch64-apple-darwin'
|
|
47
|
+
: 'x86_64-apple-darwin';
|
|
48
|
+
case 'linux':
|
|
49
|
+
return process.arch === 'arm64'
|
|
50
|
+
? 'aarch64-unknown-linux-gnu'
|
|
51
|
+
: 'x86_64-unknown-linux-gnu';
|
|
52
|
+
case 'win32':
|
|
53
|
+
return 'x86_64-pc-windows-msvc';
|
|
54
|
+
default:
|
|
55
|
+
throw new Error(`Unsupported platform: ${process.platform}`);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
40
59
|
export class NrfutilSandbox {
|
|
41
60
|
private readonly onLoggingHandlers: ((
|
|
42
61
|
logging: LogMessage,
|
|
43
|
-
pid?: number
|
|
62
|
+
pid?: number,
|
|
44
63
|
) => void)[] = [];
|
|
45
64
|
private logLevel: LogLevel = isDevelopment ? 'error' : 'off';
|
|
46
65
|
|
|
@@ -53,13 +72,13 @@ export class NrfutilSandbox {
|
|
|
53
72
|
module: string,
|
|
54
73
|
version?: string,
|
|
55
74
|
coreVersion?: string,
|
|
56
|
-
onProgress?: OnProgress
|
|
75
|
+
onProgress?: OnProgress,
|
|
57
76
|
) {
|
|
58
77
|
const sandbox = new NrfutilSandbox(
|
|
59
78
|
baseDir,
|
|
60
79
|
module,
|
|
61
80
|
versionToInstall(module, version),
|
|
62
|
-
coreVersionsToInstall(coreVersion)
|
|
81
|
+
coreVersionsToInstall(coreVersion),
|
|
63
82
|
);
|
|
64
83
|
|
|
65
84
|
onProgress?.(convertNrfutilProgress({ progressPercentage: 0 }));
|
|
@@ -77,7 +96,7 @@ export class NrfutilSandbox {
|
|
|
77
96
|
private readonly baseDir: string,
|
|
78
97
|
private readonly module: string,
|
|
79
98
|
private readonly version: string,
|
|
80
|
-
coreVersion?: string // Must only be undefined when the launcher creates a sandbox for a legacy app, which does not specify the required core version
|
|
99
|
+
coreVersion?: string, // Must only be undefined when the launcher creates a sandbox for a legacy app, which does not specify the required core version
|
|
81
100
|
) {
|
|
82
101
|
this.sandboxPath = path.join(
|
|
83
102
|
this.baseDir,
|
|
@@ -87,7 +106,7 @@ export class NrfutilSandbox {
|
|
|
87
106
|
: []),
|
|
88
107
|
...(coreVersion != null ? [coreVersion] : []),
|
|
89
108
|
this.module,
|
|
90
|
-
this.version
|
|
109
|
+
this.version,
|
|
91
110
|
);
|
|
92
111
|
|
|
93
112
|
this.coreVersion = coreVersion ?? CORE_VERSION_FOR_LEGACY_APPS;
|
|
@@ -153,8 +172,8 @@ export class NrfutilSandbox {
|
|
|
153
172
|
'bin',
|
|
154
173
|
`nrfutil-${this.module}${
|
|
155
174
|
os.platform() === 'win32' ? '.exe' : ''
|
|
156
|
-
}
|
|
157
|
-
)
|
|
175
|
+
}`,
|
|
176
|
+
),
|
|
158
177
|
);
|
|
159
178
|
}
|
|
160
179
|
|
|
@@ -186,14 +205,43 @@ export class NrfutilSandbox {
|
|
|
186
205
|
}
|
|
187
206
|
};
|
|
188
207
|
|
|
189
|
-
private installNrfUtilCore = (onProgress?: OnProgress) =>
|
|
190
|
-
|
|
208
|
+
private installNrfUtilCore = async (onProgress?: OnProgress) => {
|
|
209
|
+
using tmpDir = createDisposableTempDir();
|
|
210
|
+
|
|
211
|
+
const nrfutilTarGzFile = await this.downloadNrfutilTarGz(tmpDir.path);
|
|
212
|
+
|
|
213
|
+
await this.install(
|
|
191
214
|
'core',
|
|
192
215
|
this.coreVersion,
|
|
193
|
-
'
|
|
194
|
-
[
|
|
195
|
-
onProgress
|
|
216
|
+
'--version',
|
|
217
|
+
[],
|
|
218
|
+
onProgress,
|
|
219
|
+
undefined,
|
|
220
|
+
undefined,
|
|
221
|
+
undefined,
|
|
222
|
+
env => ({
|
|
223
|
+
...env,
|
|
224
|
+
NRFUTIL_BOOTSTRAP_TARBALL_PATH: nrfutilTarGzFile,
|
|
225
|
+
}),
|
|
196
226
|
);
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
private downloadNrfutilTarGz = async (folder: string) => {
|
|
230
|
+
const baseUrl =
|
|
231
|
+
'https://files.nordicsemi.com/ui/api/v1/download?isNativeBrowsing=true&repoKey=swtools&path=external/nrfutil/packages/nrfutil/';
|
|
232
|
+
const fileName = `nrfutil-${getTriplet()}-${this.coreVersion}.tar.gz`;
|
|
233
|
+
const url = baseUrl + fileName;
|
|
234
|
+
|
|
235
|
+
const response = await fetch(url);
|
|
236
|
+
if (!response.ok) {
|
|
237
|
+
throw new Error(`Failed to fetch ${url}: ${response.statusText}`);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
const filePath = path.join(folder, fileName);
|
|
241
|
+
fs.writeFileSync(filePath, new DataView(await response.arrayBuffer()));
|
|
242
|
+
|
|
243
|
+
return filePath;
|
|
244
|
+
};
|
|
197
245
|
|
|
198
246
|
public installNrfUtilCommand = (onProgress?: OnProgress) =>
|
|
199
247
|
this.install(
|
|
@@ -201,7 +249,7 @@ export class NrfutilSandbox {
|
|
|
201
249
|
this.version,
|
|
202
250
|
'install',
|
|
203
251
|
[`${this.module}=${this.version}`, '--force'],
|
|
204
|
-
onProgress
|
|
252
|
+
onProgress,
|
|
205
253
|
);
|
|
206
254
|
|
|
207
255
|
public install = async (
|
|
@@ -212,11 +260,11 @@ export class NrfutilSandbox {
|
|
|
212
260
|
try {
|
|
213
261
|
await this.spawnNrfutil(...args);
|
|
214
262
|
getNrfutilLogger()?.info(
|
|
215
|
-
`Successfully installed nrfutil ${module} version: ${version}
|
|
263
|
+
`Successfully installed nrfutil ${module} version: ${version}`,
|
|
216
264
|
);
|
|
217
265
|
} catch (error) {
|
|
218
266
|
const errorMessage = `Error while installing nrfutil ${module} version ${version}: ${describeError(
|
|
219
|
-
error
|
|
267
|
+
error,
|
|
220
268
|
)}`;
|
|
221
269
|
|
|
222
270
|
getNrfutilLogger()?.error(errorMessage);
|
|
@@ -233,7 +281,7 @@ export class NrfutilSandbox {
|
|
|
233
281
|
onTaskBegin?: OnTaskBegin,
|
|
234
282
|
onTaskEnd?: OnTaskEnd<Result>,
|
|
235
283
|
controller?: AbortController,
|
|
236
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
284
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
237
285
|
) =>
|
|
238
286
|
this.spawnNrfutil<Result>(
|
|
239
287
|
this.module,
|
|
@@ -242,7 +290,7 @@ export class NrfutilSandbox {
|
|
|
242
290
|
onTaskBegin,
|
|
243
291
|
onTaskEnd,
|
|
244
292
|
controller,
|
|
245
|
-
editEnv
|
|
293
|
+
editEnv,
|
|
246
294
|
);
|
|
247
295
|
|
|
248
296
|
private spawnNrfutilCommand = (
|
|
@@ -251,7 +299,7 @@ export class NrfutilSandbox {
|
|
|
251
299
|
parser: (data: Buffer, pid?: number) => Buffer | undefined,
|
|
252
300
|
onStdError: (data: Buffer, pid?: number) => void,
|
|
253
301
|
controller?: AbortController,
|
|
254
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
302
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
255
303
|
) =>
|
|
256
304
|
this.spawnCommand(
|
|
257
305
|
this.getNrfutilExePath(),
|
|
@@ -266,7 +314,7 @@ export class NrfutilSandbox {
|
|
|
266
314
|
parser,
|
|
267
315
|
onStdError,
|
|
268
316
|
controller,
|
|
269
|
-
editEnv
|
|
317
|
+
editEnv,
|
|
270
318
|
);
|
|
271
319
|
|
|
272
320
|
private spawnNrfutil = async <Result>(
|
|
@@ -276,7 +324,7 @@ export class NrfutilSandbox {
|
|
|
276
324
|
onTaskBegin?: OnTaskBegin,
|
|
277
325
|
onTaskEnd?: OnTaskEnd<Result>,
|
|
278
326
|
controller?: AbortController,
|
|
279
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
327
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
280
328
|
) => {
|
|
281
329
|
let stdErr: string | undefined;
|
|
282
330
|
let pid: number | undefined;
|
|
@@ -285,7 +333,7 @@ export class NrfutilSandbox {
|
|
|
285
333
|
this.log,
|
|
286
334
|
onProgress,
|
|
287
335
|
onTaskBegin,
|
|
288
|
-
onTaskEnd
|
|
336
|
+
onTaskEnd,
|
|
289
337
|
);
|
|
290
338
|
|
|
291
339
|
try {
|
|
@@ -298,7 +346,7 @@ export class NrfutilSandbox {
|
|
|
298
346
|
stdErr = (stdErr ?? '') + data.toString();
|
|
299
347
|
},
|
|
300
348
|
controller,
|
|
301
|
-
editEnv
|
|
349
|
+
editEnv,
|
|
302
350
|
);
|
|
303
351
|
|
|
304
352
|
if (stdErr || parser.hasFailures()) throw new Error('Task failed.');
|
|
@@ -310,11 +358,11 @@ export class NrfutilSandbox {
|
|
|
310
358
|
error.message = collectErrorMessages(
|
|
311
359
|
error.message,
|
|
312
360
|
stdErr,
|
|
313
|
-
parser.errorMessage()
|
|
361
|
+
parser.errorMessage(),
|
|
314
362
|
);
|
|
315
363
|
|
|
316
364
|
telemetry.sendErrorReport(
|
|
317
|
-
`${this.pidIfTraceLogging(pid)}${describeError(error)}
|
|
365
|
+
`${this.pidIfTraceLogging(pid)}${describeError(error)}`,
|
|
318
366
|
);
|
|
319
367
|
throw error;
|
|
320
368
|
}
|
|
@@ -326,16 +374,16 @@ export class NrfutilSandbox {
|
|
|
326
374
|
parser: (data: Buffer, pid?: number) => Buffer | undefined,
|
|
327
375
|
onStdError: (data: Buffer, pid?: number) => void,
|
|
328
376
|
controller?: AbortController,
|
|
329
|
-
editEnv: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv = env => env
|
|
377
|
+
editEnv: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv = env => env,
|
|
330
378
|
) =>
|
|
331
379
|
new Promise<void>((resolve, reject) => {
|
|
332
380
|
if (controller?.signal.aborted) {
|
|
333
381
|
reject(
|
|
334
382
|
new Error(
|
|
335
383
|
`Aborted before start executing ${path.basename(
|
|
336
|
-
command
|
|
337
|
-
)} ${JSON.stringify(args)}
|
|
338
|
-
)
|
|
384
|
+
command,
|
|
385
|
+
)} ${JSON.stringify(args)}`,
|
|
386
|
+
),
|
|
339
387
|
);
|
|
340
388
|
return;
|
|
341
389
|
}
|
|
@@ -359,7 +407,7 @@ export class NrfutilSandbox {
|
|
|
359
407
|
|
|
360
408
|
controller?.signal.addEventListener('abort', listener);
|
|
361
409
|
|
|
362
|
-
let buffer = Buffer.from('');
|
|
410
|
+
let buffer: Buffer<ArrayBufferLike> = Buffer.from('');
|
|
363
411
|
|
|
364
412
|
nrfutil.stdout.on('data', (data: Buffer) => {
|
|
365
413
|
if (controller?.signal.aborted) return;
|
|
@@ -387,9 +435,9 @@ export class NrfutilSandbox {
|
|
|
387
435
|
reject(
|
|
388
436
|
new Error(
|
|
389
437
|
`Aborted ongoing ${path.basename(
|
|
390
|
-
command
|
|
391
|
-
)} ${JSON.stringify(args)}
|
|
392
|
-
)
|
|
438
|
+
command,
|
|
439
|
+
)} ${JSON.stringify(args)}`,
|
|
440
|
+
),
|
|
393
441
|
);
|
|
394
442
|
return;
|
|
395
443
|
}
|
|
@@ -409,7 +457,7 @@ export class NrfutilSandbox {
|
|
|
409
457
|
onTaskBegin?: OnTaskBegin,
|
|
410
458
|
onTaskEnd?: OnTaskEnd<Result>,
|
|
411
459
|
controller?: AbortController,
|
|
412
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
460
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
413
461
|
) =>
|
|
414
462
|
this.execNrfutilCommand<Result>(
|
|
415
463
|
this.module,
|
|
@@ -418,7 +466,7 @@ export class NrfutilSandbox {
|
|
|
418
466
|
onTaskBegin,
|
|
419
467
|
onTaskEnd,
|
|
420
468
|
controller,
|
|
421
|
-
editEnv
|
|
469
|
+
editEnv,
|
|
422
470
|
);
|
|
423
471
|
|
|
424
472
|
private execNrfutilCommand = async <Result>(
|
|
@@ -428,7 +476,7 @@ export class NrfutilSandbox {
|
|
|
428
476
|
onTaskBegin?: OnTaskBegin,
|
|
429
477
|
onTaskEnd?: OnTaskEnd<Result>,
|
|
430
478
|
controller?: AbortController,
|
|
431
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
479
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
432
480
|
) => {
|
|
433
481
|
let stdErr: string | undefined;
|
|
434
482
|
let pid: number | undefined;
|
|
@@ -437,7 +485,7 @@ export class NrfutilSandbox {
|
|
|
437
485
|
this.log,
|
|
438
486
|
onProgress,
|
|
439
487
|
onTaskBegin,
|
|
440
|
-
onTaskEnd
|
|
488
|
+
onTaskEnd,
|
|
441
489
|
);
|
|
442
490
|
|
|
443
491
|
try {
|
|
@@ -450,7 +498,7 @@ export class NrfutilSandbox {
|
|
|
450
498
|
stdErr = (stdErr ?? '') + data.toString();
|
|
451
499
|
},
|
|
452
500
|
controller,
|
|
453
|
-
editEnv
|
|
501
|
+
editEnv,
|
|
454
502
|
);
|
|
455
503
|
|
|
456
504
|
if (stdErr || parser.hasFailures()) throw new Error('Task failed.');
|
|
@@ -462,11 +510,11 @@ export class NrfutilSandbox {
|
|
|
462
510
|
error.message = collectErrorMessages(
|
|
463
511
|
error.message,
|
|
464
512
|
stdErr,
|
|
465
|
-
parser.errorMessage()
|
|
513
|
+
parser.errorMessage(),
|
|
466
514
|
);
|
|
467
515
|
|
|
468
516
|
telemetry.sendErrorReport(
|
|
469
|
-
`${this.pidIfTraceLogging(pid)}${describeError(error)}
|
|
517
|
+
`${this.pidIfTraceLogging(pid)}${describeError(error)}`,
|
|
470
518
|
);
|
|
471
519
|
throw error;
|
|
472
520
|
}
|
|
@@ -478,7 +526,7 @@ export class NrfutilSandbox {
|
|
|
478
526
|
onData: (data: Buffer, pid?: number) => void,
|
|
479
527
|
onStdError: (data: Buffer, pid?: number) => void,
|
|
480
528
|
controller?: AbortController,
|
|
481
|
-
editEnv: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv = env => env
|
|
529
|
+
editEnv: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv = env => env,
|
|
482
530
|
) =>
|
|
483
531
|
new Promise<void>((resolve, reject) => {
|
|
484
532
|
let aborting = false;
|
|
@@ -495,7 +543,7 @@ export class NrfutilSandbox {
|
|
|
495
543
|
getNrfutilLogger()?.info(
|
|
496
544
|
`Aborting the ongoing command nrfutil ${
|
|
497
545
|
this.module
|
|
498
|
-
} ${command} ${JSON.stringify(args)}
|
|
546
|
+
} ${command} ${JSON.stringify(args)}`,
|
|
499
547
|
);
|
|
500
548
|
aborting = true;
|
|
501
549
|
if (nrfutil.pid) {
|
|
@@ -524,8 +572,8 @@ export class NrfutilSandbox {
|
|
|
524
572
|
new Error(
|
|
525
573
|
`Aborted ongoing ${path.basename(command)} ${
|
|
526
574
|
args[0] ?? ''
|
|
527
|
-
}
|
|
528
|
-
)
|
|
575
|
+
}`,
|
|
576
|
+
),
|
|
529
577
|
);
|
|
530
578
|
return;
|
|
531
579
|
}
|
|
@@ -542,7 +590,7 @@ export class NrfutilSandbox {
|
|
|
542
590
|
command: string,
|
|
543
591
|
args: string[],
|
|
544
592
|
processors: BackgroundTask<Result>,
|
|
545
|
-
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv
|
|
593
|
+
editEnv?: (env: NodeJS.ProcessEnv) => NodeJS.ProcessEnv,
|
|
546
594
|
) => {
|
|
547
595
|
const controller = new AbortController();
|
|
548
596
|
let running = true;
|
|
@@ -573,7 +621,7 @@ export class NrfutilSandbox {
|
|
|
573
621
|
processors.onError(new Error(data.toString()), pid);
|
|
574
622
|
},
|
|
575
623
|
controller,
|
|
576
|
-
editEnv
|
|
624
|
+
editEnv,
|
|
577
625
|
);
|
|
578
626
|
|
|
579
627
|
operation
|
|
@@ -606,13 +654,13 @@ export class NrfutilSandbox {
|
|
|
606
654
|
command: string,
|
|
607
655
|
onProgress?: OnProgress,
|
|
608
656
|
controller?: AbortController,
|
|
609
|
-
args: string[] = []
|
|
657
|
+
args: string[] = [],
|
|
610
658
|
) => {
|
|
611
659
|
const data = await this.singleTaskEndOperationOptionalData<T>(
|
|
612
660
|
command,
|
|
613
661
|
onProgress,
|
|
614
662
|
controller,
|
|
615
|
-
args
|
|
663
|
+
args,
|
|
616
664
|
);
|
|
617
665
|
|
|
618
666
|
if (data != null) {
|
|
@@ -625,7 +673,7 @@ export class NrfutilSandbox {
|
|
|
625
673
|
command: string,
|
|
626
674
|
onProgress?: OnProgress,
|
|
627
675
|
controller?: AbortController,
|
|
628
|
-
args: string[] = []
|
|
676
|
+
args: string[] = [],
|
|
629
677
|
) => {
|
|
630
678
|
const results = await this.spawnNrfutilSubcommand<T>(
|
|
631
679
|
command,
|
|
@@ -633,7 +681,7 @@ export class NrfutilSandbox {
|
|
|
633
681
|
onProgress,
|
|
634
682
|
undefined,
|
|
635
683
|
undefined,
|
|
636
|
-
controller
|
|
684
|
+
controller,
|
|
637
685
|
);
|
|
638
686
|
|
|
639
687
|
if (results.taskEnd.length === 1) {
|
|
@@ -645,7 +693,7 @@ export class NrfutilSandbox {
|
|
|
645
693
|
public singleInfoOperationOptionalData = async <T = void>(
|
|
646
694
|
command: string,
|
|
647
695
|
controller?: AbortController,
|
|
648
|
-
args: string[] = []
|
|
696
|
+
args: string[] = [],
|
|
649
697
|
) => {
|
|
650
698
|
const results = await this.spawnNrfutilSubcommand<T>(
|
|
651
699
|
command,
|
|
@@ -653,7 +701,7 @@ export class NrfutilSandbox {
|
|
|
653
701
|
undefined,
|
|
654
702
|
undefined,
|
|
655
703
|
undefined,
|
|
656
|
-
controller
|
|
704
|
+
controller,
|
|
657
705
|
);
|
|
658
706
|
|
|
659
707
|
if (results.info.length === 1) {
|
|
@@ -663,14 +711,14 @@ export class NrfutilSandbox {
|
|
|
663
711
|
};
|
|
664
712
|
|
|
665
713
|
public onLogging = (
|
|
666
|
-
handler: (logging: LogMessage, pid?: number) => void
|
|
714
|
+
handler: (logging: LogMessage, pid?: number) => void,
|
|
667
715
|
) => {
|
|
668
716
|
this.onLoggingHandlers.push(handler);
|
|
669
717
|
|
|
670
718
|
return () =>
|
|
671
719
|
this.onLoggingHandlers.splice(
|
|
672
720
|
this.onLoggingHandlers.indexOf(handler),
|
|
673
|
-
1
|
|
721
|
+
1,
|
|
674
722
|
);
|
|
675
723
|
};
|
|
676
724
|
|
|
@@ -21,13 +21,13 @@ test('strippedVersionName', () => {
|
|
|
21
21
|
strippedVersionName({
|
|
22
22
|
version: '7.94i',
|
|
23
23
|
versionFormat: 'string',
|
|
24
|
-
})
|
|
24
|
+
}),
|
|
25
25
|
).toBe('7.94i');
|
|
26
26
|
expect(
|
|
27
27
|
strippedVersionName({
|
|
28
28
|
version: '7.96 ',
|
|
29
29
|
versionFormat: 'string',
|
|
30
|
-
})
|
|
30
|
+
}),
|
|
31
31
|
).toBe('7.96');
|
|
32
32
|
});
|
|
33
33
|
|
|
@@ -39,8 +39,8 @@ describe('expectedFormat', () => {
|
|
|
39
39
|
version: 18,
|
|
40
40
|
versionFormat: 'incremental',
|
|
41
41
|
},
|
|
42
|
-
false
|
|
43
|
-
)
|
|
42
|
+
false,
|
|
43
|
+
),
|
|
44
44
|
).toBe(false);
|
|
45
45
|
|
|
46
46
|
expect(
|
|
@@ -49,8 +49,8 @@ describe('expectedFormat', () => {
|
|
|
49
49
|
version: { major: 1, minor: 2, patch: 3 },
|
|
50
50
|
versionFormat: 'semantic',
|
|
51
51
|
},
|
|
52
|
-
false
|
|
53
|
-
)
|
|
52
|
+
false,
|
|
53
|
+
),
|
|
54
54
|
).toBe(false);
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -81,8 +81,8 @@ describe('expectedFormat', () => {
|
|
|
81
81
|
version: 'JLink_V7.94i',
|
|
82
82
|
versionFormat: 'string',
|
|
83
83
|
},
|
|
84
|
-
false
|
|
85
|
-
)
|
|
84
|
+
false,
|
|
85
|
+
),
|
|
86
86
|
).toBe(true);
|
|
87
87
|
expect(
|
|
88
88
|
hasExpectedVersionFormat(
|
|
@@ -90,8 +90,8 @@ describe('expectedFormat', () => {
|
|
|
90
90
|
version: 'JLink_V7.96 ',
|
|
91
91
|
versionFormat: 'string',
|
|
92
92
|
},
|
|
93
|
-
false
|
|
94
|
-
)
|
|
93
|
+
false,
|
|
94
|
+
),
|
|
95
95
|
).toBe(true);
|
|
96
96
|
expect(
|
|
97
97
|
hasExpectedVersionFormat(
|
|
@@ -99,24 +99,24 @@ describe('expectedFormat', () => {
|
|
|
99
99
|
version: 'JLink_V8.10',
|
|
100
100
|
versionFormat: 'string',
|
|
101
101
|
},
|
|
102
|
-
false
|
|
103
|
-
)
|
|
102
|
+
false,
|
|
103
|
+
),
|
|
104
104
|
).toBe(true);
|
|
105
105
|
});
|
|
106
106
|
});
|
|
107
107
|
|
|
108
108
|
test('convertToSemver', () => {
|
|
109
109
|
expect(
|
|
110
|
-
convertToSemver({ version: 'JLink_V7.94', versionFormat: 'string' })
|
|
110
|
+
convertToSemver({ version: 'JLink_V7.94', versionFormat: 'string' }),
|
|
111
111
|
).toBe('7.94.0');
|
|
112
112
|
expect(
|
|
113
|
-
convertToSemver({ version: 'JLink_V7.96 ', versionFormat: 'string' })
|
|
113
|
+
convertToSemver({ version: 'JLink_V7.96 ', versionFormat: 'string' }),
|
|
114
114
|
).toBe('7.96.0');
|
|
115
115
|
expect(
|
|
116
|
-
convertToSemver({ version: 'JLink_V7.98a', versionFormat: 'string' })
|
|
116
|
+
convertToSemver({ version: 'JLink_V7.98a', versionFormat: 'string' }),
|
|
117
117
|
).toBe('7.98.1');
|
|
118
118
|
expect(
|
|
119
|
-
convertToSemver({ version: 'JLink_V8.10b', versionFormat: 'string' })
|
|
119
|
+
convertToSemver({ version: 'JLink_V8.10b', versionFormat: 'string' }),
|
|
120
120
|
).toBe('8.10.2');
|
|
121
121
|
});
|
|
122
122
|
|
|
@@ -140,7 +140,7 @@ describe('existingIsOlderThanExpected', () => {
|
|
|
140
140
|
|
|
141
141
|
it('is false if no expected is specified', () => {
|
|
142
142
|
expect(
|
|
143
|
-
existingIsOlderThanExpected({ ...version794i, name: 'JlinkARM' })
|
|
143
|
+
existingIsOlderThanExpected({ ...version794i, name: 'JlinkARM' }),
|
|
144
144
|
).toBe(false);
|
|
145
145
|
});
|
|
146
146
|
it('is false if the actual is equal the expected', () => {
|
|
@@ -149,7 +149,7 @@ describe('existingIsOlderThanExpected', () => {
|
|
|
149
149
|
...version794i,
|
|
150
150
|
name: 'JlinkARM',
|
|
151
151
|
expectedVersion: version794i,
|
|
152
|
-
})
|
|
152
|
+
}),
|
|
153
153
|
).toBe(false);
|
|
154
154
|
});
|
|
155
155
|
it('is false if the actual is newer than the expected', () => {
|
|
@@ -158,21 +158,21 @@ describe('existingIsOlderThanExpected', () => {
|
|
|
158
158
|
...version794k,
|
|
159
159
|
name: 'JlinkARM',
|
|
160
160
|
expectedVersion: version794i,
|
|
161
|
-
})
|
|
161
|
+
}),
|
|
162
162
|
).toBe(false);
|
|
163
163
|
expect(
|
|
164
164
|
existingIsOlderThanExpected({
|
|
165
165
|
...version796,
|
|
166
166
|
name: 'JlinkARM',
|
|
167
167
|
expectedVersion: version794i,
|
|
168
|
-
})
|
|
168
|
+
}),
|
|
169
169
|
).toBe(false);
|
|
170
170
|
expect(
|
|
171
171
|
existingIsOlderThanExpected({
|
|
172
172
|
...version810b,
|
|
173
173
|
name: 'JlinkARM',
|
|
174
174
|
expectedVersion: version794i,
|
|
175
|
-
})
|
|
175
|
+
}),
|
|
176
176
|
).toBe(false);
|
|
177
177
|
});
|
|
178
178
|
|
|
@@ -182,21 +182,21 @@ describe('existingIsOlderThanExpected', () => {
|
|
|
182
182
|
...version794i,
|
|
183
183
|
name: 'JlinkARM',
|
|
184
184
|
expectedVersion: version794k,
|
|
185
|
-
})
|
|
185
|
+
}),
|
|
186
186
|
).toBe(true);
|
|
187
187
|
expect(
|
|
188
188
|
existingIsOlderThanExpected({
|
|
189
189
|
...version794i,
|
|
190
190
|
name: 'JlinkARM',
|
|
191
191
|
expectedVersion: version796,
|
|
192
|
-
})
|
|
192
|
+
}),
|
|
193
193
|
).toBe(true);
|
|
194
194
|
expect(
|
|
195
195
|
existingIsOlderThanExpected({
|
|
196
196
|
...version794i,
|
|
197
197
|
name: 'JlinkARM',
|
|
198
198
|
expectedVersion: version810b,
|
|
199
|
-
})
|
|
199
|
+
}),
|
|
200
200
|
).toBe(true);
|
|
201
201
|
});
|
|
202
202
|
});
|
|
@@ -244,8 +244,8 @@ describe('getJlinkCompatibility', () => {
|
|
|
244
244
|
versionFormat: 'string',
|
|
245
245
|
version: 'JLink_V8.10f',
|
|
246
246
|
},
|
|
247
|
-
})
|
|
248
|
-
)
|
|
247
|
+
}),
|
|
248
|
+
),
|
|
249
249
|
).toEqual({
|
|
250
250
|
kind: 'No SEGGER J-Link installed',
|
|
251
251
|
requiredJlink: '8.10f',
|
|
@@ -264,8 +264,8 @@ describe('getJlinkCompatibility', () => {
|
|
|
264
264
|
version: 'JLink_V7.94i',
|
|
265
265
|
versionFormat: 'string',
|
|
266
266
|
},
|
|
267
|
-
})
|
|
268
|
-
)
|
|
267
|
+
}),
|
|
268
|
+
),
|
|
269
269
|
).toEqual({
|
|
270
270
|
kind: 'Outdated SEGGER J-Link',
|
|
271
271
|
requiredJlink: '7.94i',
|
|
@@ -284,8 +284,8 @@ describe('getJlinkCompatibility', () => {
|
|
|
284
284
|
version: 'JLink_V7.94i',
|
|
285
285
|
versionFormat: 'string',
|
|
286
286
|
},
|
|
287
|
-
})
|
|
288
|
-
)
|
|
287
|
+
}),
|
|
288
|
+
),
|
|
289
289
|
).toEqual({
|
|
290
290
|
kind: 'Newer SEGGER J-Link is used',
|
|
291
291
|
requiredJlink: '7.94i',
|
|
@@ -304,8 +304,8 @@ describe('getJlinkCompatibility', () => {
|
|
|
304
304
|
version: 'JLink_V7.94i',
|
|
305
305
|
versionFormat: 'string',
|
|
306
306
|
},
|
|
307
|
-
})
|
|
308
|
-
)
|
|
307
|
+
}),
|
|
308
|
+
),
|
|
309
309
|
).toEqual({ kind: 'Tested SEGGER J-Link is used' });
|
|
310
310
|
});
|
|
311
311
|
|
|
@@ -316,8 +316,8 @@ describe('getJlinkCompatibility', () => {
|
|
|
316
316
|
name: 'JlinkARM',
|
|
317
317
|
version: 'JLink_V7.94i',
|
|
318
318
|
versionFormat: 'string',
|
|
319
|
-
})
|
|
320
|
-
)
|
|
319
|
+
}),
|
|
320
|
+
),
|
|
321
321
|
).toEqual({ kind: 'Tested SEGGER J-Link is used' });
|
|
322
322
|
});
|
|
323
323
|
});
|