@nordicsemiconductor/pc-nrfconnect-shared 230.0.0 → 231.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 +1669 -1674
- package/README.md +8 -8
- package/config/colors.js +1 -1
- package/config/eslintrc.js +16 -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/mocks/electronStoreMock.ts +1 -1
- package/nrfutil/collectingResultParser.ts +3 -4
- package/nrfutil/device/batch.ts +29 -29
- 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 +11 -11
- 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/modules.ts +9 -9
- package/nrfutil/sandbox.ts +49 -49
- 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 +21 -3
- 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 -17
- 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 +1 -1
- 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 +99 -101
- 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 +13 -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/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 -1
- 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/modules.d.ts.map +1 -1
- package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts +4 -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
|
@@ -33,15 +33,15 @@ export type DiscriminatedVersion =
|
|
|
33
33
|
| StringVersion;
|
|
34
34
|
|
|
35
35
|
export const isSemanticVersion = (
|
|
36
|
-
version?: DiscriminatedVersion
|
|
36
|
+
version?: DiscriminatedVersion,
|
|
37
37
|
): version is SemanticVersion => version?.versionFormat === 'semantic';
|
|
38
38
|
|
|
39
39
|
export const isIncrementalVersion = (
|
|
40
|
-
version?: DiscriminatedVersion
|
|
40
|
+
version?: DiscriminatedVersion,
|
|
41
41
|
): version is IncrementalVersion => version?.versionFormat === 'incremental';
|
|
42
42
|
|
|
43
43
|
export const isStringVersion = (
|
|
44
|
-
version?: DiscriminatedVersion
|
|
44
|
+
version?: DiscriminatedVersion,
|
|
45
45
|
): version is StringVersion => version?.versionFormat === 'string';
|
|
46
46
|
|
|
47
47
|
export const versionToString = (version: DiscriminatedVersion) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordicsemiconductor/pc-nrfconnect-shared",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "231.0.0",
|
|
4
4
|
"description": "Shared commodities for developing pc-nrfconnect-* packages",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -53,8 +53,6 @@
|
|
|
53
53
|
"@types/shasum": "1.0.0",
|
|
54
54
|
"@types/triple-beam": "1.3.2",
|
|
55
55
|
"@types/uuid": "8.3.4",
|
|
56
|
-
"@typescript-eslint/eslint-plugin": "5.57.1",
|
|
57
|
-
"@typescript-eslint/parser": "5.57.1",
|
|
58
56
|
"@xterm/headless": "^5.5.0",
|
|
59
57
|
"adm-zip": "^0.5.5",
|
|
60
58
|
"applicationinsights": "^2.9.6",
|
|
@@ -67,14 +65,15 @@
|
|
|
67
65
|
"esbuild": "0.19.2",
|
|
68
66
|
"esbuild-sass-plugin": "2.13.0",
|
|
69
67
|
"esbuild-style-plugin": "1.6.2",
|
|
70
|
-
"eslint": "8.
|
|
68
|
+
"eslint": "^8.57.1",
|
|
71
69
|
"eslint-config-airbnb": "19.0.4",
|
|
72
70
|
"eslint-config-prettier": "8.8.0",
|
|
73
71
|
"eslint-import-resolver-typescript": "3.5.5",
|
|
74
72
|
"eslint-plugin-import": "2.27.5",
|
|
73
|
+
"eslint-plugin-jsonc": "^2.20.1",
|
|
75
74
|
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
76
75
|
"eslint-plugin-md": "^1.0.19",
|
|
77
|
-
"eslint-plugin-prettier": "^
|
|
76
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
78
77
|
"eslint-plugin-react": "7.32.2",
|
|
79
78
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
80
79
|
"eslint-plugin-simple-import-sort": "10.0.0",
|
|
@@ -93,7 +92,7 @@
|
|
|
93
92
|
"nrf-intel-hex": "^1.4.0",
|
|
94
93
|
"postcss": "8.4.24",
|
|
95
94
|
"postcss-modules": "^6.0.0",
|
|
96
|
-
"prettier": "
|
|
95
|
+
"prettier": "^3.6.2",
|
|
97
96
|
"prettier-plugin-tailwindcss": "^0.3.0",
|
|
98
97
|
"prettysize": "2.0.0",
|
|
99
98
|
"protobufjs": "^7.0.0",
|
|
@@ -117,7 +116,8 @@
|
|
|
117
116
|
"tailwindcss": "3.3.2",
|
|
118
117
|
"tree-kill-promise": "^3.0.14",
|
|
119
118
|
"tsx": "^4.20.3",
|
|
120
|
-
"typescript": "
|
|
119
|
+
"typescript": "^5.9.2",
|
|
120
|
+
"typescript-eslint": "^8.45.0",
|
|
121
121
|
"util": "0.12.5",
|
|
122
122
|
"uuid": "8.3.2",
|
|
123
123
|
"winston": "3.8.2",
|
package/release_notes.md
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
###
|
|
1
|
+
### Changed
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
3
|
+
- Updated Prettier 2.8.8 → 3.6.2
|
|
4
|
+
- Updated typescript-eslint 5.57.1 → 8.45.0
|
|
5
|
+
- Updated TypeScript 4.9.5 → 5.9.2
|
|
6
|
+
|
|
7
|
+
### Steps to upgrade when using this package
|
|
8
|
+
|
|
9
|
+
- The new version of prettier will lead to some formatting changes, especially
|
|
10
|
+
added commas and changed whitespaces, but most of those should be
|
|
11
|
+
automatically solvable by running `npm run check:lint -- --fix`.
|
|
12
|
+
- Some linting rules slightly changed and you may need to update some
|
|
13
|
+
constructs. E.g. if in a `catch` block the exception is intentionally not
|
|
14
|
+
used, then you must now remove it: `try {…} catch (e) {/* Ignore */}` →
|
|
15
|
+
`try {…} catch {/* Ignore */}`.
|
|
16
|
+
- Run `npm run check:types` to check if the new TypeScript version breaks the
|
|
17
|
+
type checks. As described at
|
|
18
|
+
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-9.html#libdts-changes,
|
|
19
|
+
a typical problem occurs when you use `Buffer`. First run
|
|
20
|
+
`npm update @types/node --save-dev`, because that might already fix most
|
|
21
|
+
problems. For the rest, also first check what is written in the above linked
|
|
22
|
+
section of the release notes of TypeScript 5.9.
|
|
@@ -39,10 +39,10 @@ const mustBeEmpty = (array: string[], errorMessage: string) => {
|
|
|
39
39
|
const mustContain = (
|
|
40
40
|
existingEntries: readonly string[],
|
|
41
41
|
mandatoryEntries: string[],
|
|
42
|
-
errorMessage: string
|
|
42
|
+
errorMessage: string,
|
|
43
43
|
) => {
|
|
44
44
|
const missingFileEntries = mandatoryEntries.filter(
|
|
45
|
-
entry => !existingEntries.includes(entry)
|
|
45
|
+
entry => !existingEntries.includes(entry),
|
|
46
46
|
);
|
|
47
47
|
|
|
48
48
|
mustBeEmpty(missingFileEntries, errorMessage);
|
|
@@ -51,11 +51,11 @@ const mustContain = (
|
|
|
51
51
|
const mustContainOneOf = (
|
|
52
52
|
existingEntries: readonly string[],
|
|
53
53
|
oneOfTheseEntriesIsMandatory: string[],
|
|
54
|
-
errorMessage: string
|
|
54
|
+
errorMessage: string,
|
|
55
55
|
) => {
|
|
56
56
|
if (
|
|
57
57
|
!oneOfTheseEntriesIsMandatory.some(entry =>
|
|
58
|
-
existingEntries.includes(entry)
|
|
58
|
+
existingEntries.includes(entry),
|
|
59
59
|
)
|
|
60
60
|
) {
|
|
61
61
|
fail(`${errorMessage}: ${format(oneOfTheseEntriesIsMandatory)}`);
|
|
@@ -84,7 +84,7 @@ const checkRepoUrl = (packageJson: PackageJsonApp) => {
|
|
|
84
84
|
|
|
85
85
|
if (stripped(realGitUrl) !== stripped(declaredGitUrl)) {
|
|
86
86
|
fail(
|
|
87
|
-
`package.json says the repository is located at \`${declaredGitUrl}\` but \`git remote get-url origin\` says it is at \`${realGitUrl}
|
|
87
|
+
`package.json says the repository is located at \`${declaredGitUrl}\` but \`git remote get-url origin\` says it is at \`${realGitUrl}\`.`,
|
|
88
88
|
);
|
|
89
89
|
}
|
|
90
90
|
};
|
|
@@ -105,19 +105,19 @@ const checkFileProperty = (packageJson: PackageJsonApp) => {
|
|
|
105
105
|
mustContain(
|
|
106
106
|
packageJson.files ?? [],
|
|
107
107
|
['LICENSE', 'dist/', 'Changelog.md'],
|
|
108
|
-
'These entries are missing in the property `files` in package.json'
|
|
108
|
+
'These entries are missing in the property `files` in package.json',
|
|
109
109
|
);
|
|
110
110
|
|
|
111
111
|
mustContainOneOf(
|
|
112
112
|
packageJson.files ?? [],
|
|
113
113
|
['resources/*', 'resources/icon.*', 'resources/'],
|
|
114
|
-
'One of these entries must be in the property `files` in package.json'
|
|
114
|
+
'One of these entries must be in the property `files` in package.json',
|
|
115
115
|
);
|
|
116
116
|
};
|
|
117
117
|
|
|
118
118
|
const readAndCheckPackageJson = () => {
|
|
119
119
|
const packageJsonResult = parsePackageJsonApp(
|
|
120
|
-
readFileSync('./package.json', 'utf8')
|
|
120
|
+
readFileSync('./package.json', 'utf8'),
|
|
121
121
|
);
|
|
122
122
|
|
|
123
123
|
if (!packageJsonResult.success) {
|
|
@@ -135,7 +135,7 @@ const readAndCheckPackageJson = () => {
|
|
|
135
135
|
|
|
136
136
|
const checkChangelog = (
|
|
137
137
|
packageJson: PackageJsonApp,
|
|
138
|
-
checkChangelogHasCurrentEntry: boolean
|
|
138
|
+
checkChangelogHasCurrentEntry: boolean,
|
|
139
139
|
) => {
|
|
140
140
|
if (!existsSync('./Changelog.md')) {
|
|
141
141
|
fail('The mandatory file `Changelog.md` is missing.');
|
|
@@ -149,7 +149,7 @@ const checkChangelog = (
|
|
|
149
149
|
const latestChangelogEntry = getLatestEntry();
|
|
150
150
|
if (!latestChangelogEntry.header.includes(packageJson.version)) {
|
|
151
151
|
fail(
|
|
152
|
-
`Found no entry for the current version packageJson.version ${packageJson.version} in \`Changelog.md
|
|
152
|
+
`Found no entry for the current version packageJson.version ${packageJson.version} in \`Changelog.md\`.`,
|
|
153
153
|
);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -158,7 +158,7 @@ const checkChangelog = (
|
|
|
158
158
|
const filesIn = (directory: string) => {
|
|
159
159
|
try {
|
|
160
160
|
return readdirSync(directory);
|
|
161
|
-
} catch
|
|
161
|
+
} catch {
|
|
162
162
|
fail(`Unable to read directory \`${directory}\`.`);
|
|
163
163
|
// Unreachable, but not understood by Typescript
|
|
164
164
|
throw new Error();
|
|
@@ -169,7 +169,7 @@ const checkMandatoryResources = () => {
|
|
|
169
169
|
mustContain(
|
|
170
170
|
filesIn('./resources'),
|
|
171
171
|
['icon.svg', 'icon.icns', 'icon.ico', 'icon.png'],
|
|
172
|
-
'In the directory `resources` these files are missing'
|
|
172
|
+
'In the directory `resources` these files are missing',
|
|
173
173
|
);
|
|
174
174
|
};
|
|
175
175
|
|
|
@@ -17,7 +17,7 @@ const launchNextCommand = () => {
|
|
|
17
17
|
spawnSync(command, args, {
|
|
18
18
|
shell: true,
|
|
19
19
|
stdio: 'inherit',
|
|
20
|
-
}).status ?? undefined
|
|
20
|
+
}).status ?? undefined,
|
|
21
21
|
);
|
|
22
22
|
};
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@ const assertNoTypeScriptFilesExist = () => {
|
|
|
27
27
|
klaw('.', { filter: excludeNodeModules }).on('data', ({ path }) => {
|
|
28
28
|
if (path.endsWith('.ts') || path.endsWith('.tsx')) {
|
|
29
29
|
console.log(
|
|
30
|
-
"Your project contains TypeScript files (with the file ending .ts or .tsx), so it also must contain a file 'tsconfig.json'.\n"
|
|
30
|
+
"Your project contains TypeScript files (with the file ending .ts or .tsx), so it also must contain a file 'tsconfig.json'.\n",
|
|
31
31
|
);
|
|
32
32
|
process.exit(1);
|
|
33
33
|
}
|
package/scripts/create-source.ts
CHANGED
|
@@ -33,12 +33,12 @@ const parseOptions = () =>
|
|
|
33
33
|
.addOption(
|
|
34
34
|
new Option('-a, --access-level <access level>', 'Access level')
|
|
35
35
|
.choices(validAccessLevels)
|
|
36
|
-
.makeOptionMandatory()
|
|
36
|
+
.makeOptionMandatory(),
|
|
37
37
|
)
|
|
38
38
|
.requiredOption('-n, --name <name>', 'Name, e.g. "Release Test"')
|
|
39
39
|
.requiredOption(
|
|
40
40
|
'-d, --description <description>',
|
|
41
|
-
'Longer description, e.g. "Versions we intend to release next"'
|
|
41
|
+
'Longer description, e.g. "Versions we intend to release next"',
|
|
42
42
|
)
|
|
43
43
|
.parse()
|
|
44
44
|
.opts();
|
|
@@ -18,13 +18,13 @@ const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
|
18
18
|
|
|
19
19
|
const projectSpecificTailwindConfigPath = path.join(
|
|
20
20
|
process.cwd(),
|
|
21
|
-
'tailwind.config.js'
|
|
21
|
+
'tailwind.config.js',
|
|
22
22
|
);
|
|
23
23
|
const tailwindConfig = () =>
|
|
24
24
|
fs.existsSync(projectSpecificTailwindConfigPath)
|
|
25
25
|
? projectSpecificTailwindConfigPath
|
|
26
26
|
: require.resolve(
|
|
27
|
-
'@nordicsemiconductor/pc-nrfconnect-shared/config/tailwind.config.js'
|
|
27
|
+
'@nordicsemiconductor/pc-nrfconnect-shared/config/tailwind.config.js',
|
|
28
28
|
);
|
|
29
29
|
|
|
30
30
|
type AdditionalOptions = Required<Pick<BuildOptions, 'entryPoints'>> &
|
|
@@ -37,7 +37,7 @@ const outfileOrDir = (additionalOptions: AdditionalOptions) =>
|
|
|
37
37
|
|
|
38
38
|
const options = (
|
|
39
39
|
additionalOptions: AdditionalOptions,
|
|
40
|
-
externalReact: boolean
|
|
40
|
+
externalReact: boolean,
|
|
41
41
|
) =>
|
|
42
42
|
({
|
|
43
43
|
format: 'iife',
|
|
@@ -98,7 +98,7 @@ const options = (
|
|
|
98
98
|
const [, shortpath] = filter.exec(args.path)!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
99
99
|
const resolvedPath = `${path.join(
|
|
100
100
|
args.resolveDir,
|
|
101
|
-
shortpath
|
|
101
|
+
shortpath,
|
|
102
102
|
)}r`;
|
|
103
103
|
return { path: resolvedPath };
|
|
104
104
|
});
|
|
@@ -107,7 +107,7 @@ const options = (
|
|
|
107
107
|
const filePath = args.path.replace('.svgr', '.svg');
|
|
108
108
|
const svg = await fs.promises.readFile(
|
|
109
109
|
filePath,
|
|
110
|
-
'utf8'
|
|
110
|
+
'utf8',
|
|
111
111
|
);
|
|
112
112
|
const plugins = ['@svgr/plugin-jsx'];
|
|
113
113
|
const contents = await svgr(svg, { plugins });
|
|
@@ -120,15 +120,15 @@ const options = (
|
|
|
120
120
|
},
|
|
121
121
|
],
|
|
122
122
|
...additionalOptions,
|
|
123
|
-
} satisfies BuildOptions
|
|
123
|
+
}) satisfies BuildOptions;
|
|
124
124
|
|
|
125
125
|
export const build = async (
|
|
126
126
|
additionalOptions: AdditionalOptions,
|
|
127
|
-
{ externalReact = false } = {}
|
|
127
|
+
{ externalReact = false } = {},
|
|
128
128
|
) => {
|
|
129
129
|
if (process.argv.includes('--watch')) {
|
|
130
130
|
const context = await esbuild.context(
|
|
131
|
-
options(additionalOptions, externalReact)
|
|
131
|
+
options(additionalOptions, externalReact),
|
|
132
132
|
);
|
|
133
133
|
|
|
134
134
|
await context.rebuild();
|
package/scripts/esbuild.ts
CHANGED
|
@@ -69,9 +69,9 @@ const copyFiles = () => {
|
|
|
69
69
|
|
|
70
70
|
fs.copyFileSync(
|
|
71
71
|
fileInShared(
|
|
72
|
-
'fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip'
|
|
72
|
+
'fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip',
|
|
73
73
|
),
|
|
74
|
-
'./fw/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip'
|
|
74
|
+
'./fw/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip',
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
77
|
};
|
|
@@ -18,7 +18,7 @@ const getLatestReleaseName = () => {
|
|
|
18
18
|
export default (latestReleaseName = getLatestReleaseName()) => {
|
|
19
19
|
const latest = Number(
|
|
20
20
|
/^v(?<versionNumber>\d+)$/.exec(latestReleaseName)?.groups
|
|
21
|
-
?.versionNumber
|
|
21
|
+
?.versionNumber,
|
|
22
22
|
);
|
|
23
23
|
|
|
24
24
|
return { latest, next: latest + 1 };
|
package/scripts/is-releasable.ts
CHANGED
|
@@ -25,7 +25,7 @@ const fail = (message: string) => {
|
|
|
25
25
|
const assertPackageJsonIsCorrect = (expectedVersionNumber: number) => {
|
|
26
26
|
if (packageJson.version !== `${expectedVersionNumber}.0.0`) {
|
|
27
27
|
fail(
|
|
28
|
-
`Version number in package.json must be '${expectedVersionNumber}.0.0' but is '${packageJson.version}'
|
|
28
|
+
`Version number in package.json must be '${expectedVersionNumber}.0.0' but is '${packageJson.version}'`,
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
};
|
|
@@ -44,7 +44,7 @@ const assertLatestHeaderIsCorrect = (expectedVersionNumber: number) => {
|
|
|
44
44
|
|
|
45
45
|
if (expectedHeaderline !== actualHeaderline) {
|
|
46
46
|
fail(
|
|
47
|
-
`Latest entry in Changelog.md is not as expected:\n Expected: ${expectedHeaderline}\n Actual: ${actualHeaderline}
|
|
47
|
+
`Latest entry in Changelog.md is not as expected:\n Expected: ${expectedHeaderline}\n Actual: ${actualHeaderline}`,
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
};
|
|
@@ -61,7 +61,7 @@ const main = () => {
|
|
|
61
61
|
assertChangelogIsCorrect(releaseNumbers.next);
|
|
62
62
|
|
|
63
63
|
console.log(
|
|
64
|
-
`The currently released version is ${releaseNumbers.latest}, so the next one will be ${releaseNumbers.next}.\n
|
|
64
|
+
`The currently released version is ${releaseNumbers.latest}, so the next one will be ${releaseNumbers.next}.\n`,
|
|
65
65
|
);
|
|
66
66
|
};
|
|
67
67
|
|
|
@@ -37,17 +37,17 @@ let client: Client;
|
|
|
37
37
|
abstract class Client {
|
|
38
38
|
abstract sourceUrl: string;
|
|
39
39
|
|
|
40
|
-
initialise(options: Options): Promise<void> | void {} // eslint-disable-line
|
|
40
|
+
initialise(options: Options): Promise<void> | void {} // eslint-disable-line no-empty-function,@typescript-eslint/no-unused-vars
|
|
41
41
|
abstract end(): void;
|
|
42
42
|
|
|
43
43
|
abstract download(filename: string): Promise<string>;
|
|
44
44
|
abstract uploadContent(
|
|
45
|
-
content: Buffer
|
|
46
|
-
remoteFilename: string
|
|
45
|
+
content: Buffer<ArrayBuffer>,
|
|
46
|
+
remoteFilename: string,
|
|
47
47
|
): Promise<void>;
|
|
48
48
|
abstract uploadLocalFile(
|
|
49
49
|
localFilename: string,
|
|
50
|
-
remoteFilename: string
|
|
50
|
+
remoteFilename: string,
|
|
51
51
|
): Promise<void>;
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -89,7 +89,7 @@ class FtpClient extends Client {
|
|
|
89
89
|
connect = () =>
|
|
90
90
|
new Promise<void>((resolve, reject) => {
|
|
91
91
|
console.log(
|
|
92
|
-
`Connecting to ftp://${this.user}@${this.host}:${this.port}
|
|
92
|
+
`Connecting to ftp://${this.user}@${this.host}:${this.port}`,
|
|
93
93
|
);
|
|
94
94
|
this.ftpClient.once('error', err => {
|
|
95
95
|
this.ftpClient.removeAllListeners('ready');
|
|
@@ -115,8 +115,8 @@ class FtpClient extends Client {
|
|
|
115
115
|
reject(
|
|
116
116
|
new Error(
|
|
117
117
|
'\nError: Failed to change to directory. ' +
|
|
118
|
-
'Check whether it exists on the FTP server.'
|
|
119
|
-
)
|
|
118
|
+
'Check whether it exists on the FTP server.',
|
|
119
|
+
),
|
|
120
120
|
);
|
|
121
121
|
} else {
|
|
122
122
|
resolve();
|
|
@@ -145,12 +145,12 @@ class FtpClient extends Client {
|
|
|
145
145
|
|
|
146
146
|
upload = (
|
|
147
147
|
contentOrLocalFilename: string | Buffer,
|
|
148
|
-
remoteFilename: string
|
|
148
|
+
remoteFilename: string,
|
|
149
149
|
) =>
|
|
150
150
|
new Promise<void>((resolve, reject) => {
|
|
151
151
|
console.log(`Uploading file ${remoteFilename}`);
|
|
152
152
|
this.ftpClient.put(contentOrLocalFilename, remoteFilename, err =>
|
|
153
|
-
err ? reject(err) : resolve()
|
|
153
|
+
err ? reject(err) : resolve(),
|
|
154
154
|
);
|
|
155
155
|
});
|
|
156
156
|
|
|
@@ -176,7 +176,7 @@ class ArtifactoryClient extends Client {
|
|
|
176
176
|
|
|
177
177
|
if (this.token == null) {
|
|
178
178
|
throw new Error(
|
|
179
|
-
'The environment variable ARTIFACTORY_TOKEN must be set.'
|
|
179
|
+
'The environment variable ARTIFACTORY_TOKEN must be set.',
|
|
180
180
|
);
|
|
181
181
|
}
|
|
182
182
|
|
|
@@ -220,11 +220,11 @@ class ArtifactoryClient extends Client {
|
|
|
220
220
|
if (res.ok || res.status === 404) return;
|
|
221
221
|
|
|
222
222
|
this.filesWhereCacheZappingFailed.push(
|
|
223
|
-
`${this.folderName}/${filename}
|
|
223
|
+
`${this.folderName}/${filename}`,
|
|
224
224
|
);
|
|
225
225
|
};
|
|
226
226
|
|
|
227
|
-
upload = async (content: Buffer
|
|
227
|
+
upload = async (content: Buffer<ArrayBuffer>, remoteFilename: string) => {
|
|
228
228
|
const url = `${this.uploadUrl}/${remoteFilename}`;
|
|
229
229
|
const res = await fetch(url, {
|
|
230
230
|
method: 'PUT',
|
|
@@ -239,7 +239,7 @@ class ArtifactoryClient extends Client {
|
|
|
239
239
|
await this.zapCache(remoteFilename);
|
|
240
240
|
};
|
|
241
241
|
|
|
242
|
-
uploadContent = (content: Buffer
|
|
242
|
+
uploadContent = (content: Buffer<ArrayBuffer>, remoteFilename: string) => {
|
|
243
243
|
console.log(`Uploading content for ${remoteFilename}`);
|
|
244
244
|
|
|
245
245
|
return this.upload(content, remoteFilename);
|
|
@@ -247,7 +247,7 @@ class ArtifactoryClient extends Client {
|
|
|
247
247
|
|
|
248
248
|
uploadLocalFile = (localFilename: string, remoteFilename: string) => {
|
|
249
249
|
console.log(
|
|
250
|
-
`Uploading local file ${localFilename} as ${remoteFilename}
|
|
250
|
+
`Uploading local file ${localFilename} as ${remoteFilename}`,
|
|
251
251
|
);
|
|
252
252
|
|
|
253
253
|
return this.upload(fs.readFileSync(localFilename), remoteFilename);
|
|
@@ -256,14 +256,14 @@ class ArtifactoryClient extends Client {
|
|
|
256
256
|
end = () => {
|
|
257
257
|
if (this.filesWhereCacheZappingFailed.length > 0) {
|
|
258
258
|
console.warn(
|
|
259
|
-
`\nCache zapping failed for these files, probably because your Artifactory token lacks permission for it
|
|
259
|
+
`\nCache zapping failed for these files, probably because your Artifactory token lacks permission for it:`,
|
|
260
260
|
);
|
|
261
261
|
this.filesWhereCacheZappingFailed.forEach(file => {
|
|
262
262
|
console.warn(`- ${file}`);
|
|
263
263
|
});
|
|
264
264
|
|
|
265
265
|
console.warn(
|
|
266
|
-
'\nGo to https://github.com/NordicSemiconductor/pc-nrfconnect-shared/actions/workflows/zap-cache.yml, run the workflow and paste this string as the list of paths to zap them manually:'
|
|
266
|
+
'\nGo to https://github.com/NordicSemiconductor/pc-nrfconnect-shared/actions/workflows/zap-cache.yml, run the workflow and paste this string as the list of paths to zap them manually:',
|
|
267
267
|
);
|
|
268
268
|
console.warn(' ', this.filesWhereCacheZappingFailed.join(', '));
|
|
269
269
|
}
|
|
@@ -290,7 +290,7 @@ const isAccessLevel = (value: string): value is AccessLevel =>
|
|
|
290
290
|
|
|
291
291
|
const splitSourceAndAccessLevel = (sourceAndMaybeAccessLevel: string) => {
|
|
292
292
|
const match = sourceAndMaybeAccessLevel.match(
|
|
293
|
-
/(?<source>.*?)\s*\((?<accessLevel>.*)\)
|
|
293
|
+
/(?<source>.*?)\s*\((?<accessLevel>.*)\)/,
|
|
294
294
|
);
|
|
295
295
|
|
|
296
296
|
if (match == null) {
|
|
@@ -302,8 +302,8 @@ const splitSourceAndAccessLevel = (sourceAndMaybeAccessLevel: string) => {
|
|
|
302
302
|
if (!isAccessLevel(accessLevel)) {
|
|
303
303
|
throw new Error(
|
|
304
304
|
`The specified access level "${accessLevel}" must be one of ${validAccessLevels.join(
|
|
305
|
-
', '
|
|
306
|
-
)}
|
|
305
|
+
', ',
|
|
306
|
+
)}.`,
|
|
307
307
|
);
|
|
308
308
|
}
|
|
309
309
|
|
|
@@ -326,19 +326,19 @@ const parseOptions = (): Options => {
|
|
|
326
326
|
'-s, --source <source>',
|
|
327
327
|
'Specify the source to publish (e.g. "official" or "releast-test"). ' +
|
|
328
328
|
'When publishing to Artifactory, an access level can be ' +
|
|
329
|
-
'specified at the end in parantheses (e.g. "official (external)").'
|
|
329
|
+
'specified at the end in parantheses (e.g. "official (external)").',
|
|
330
330
|
)
|
|
331
331
|
.addOption(
|
|
332
332
|
new Option(
|
|
333
333
|
'-d, --destination <ftp|artifactory>',
|
|
334
|
-
'Specify where to publish.'
|
|
334
|
+
'Specify where to publish.',
|
|
335
335
|
)
|
|
336
336
|
.choices(['ftp', 'artifactory'])
|
|
337
|
-
.makeOptionMandatory()
|
|
337
|
+
.makeOptionMandatory(),
|
|
338
338
|
)
|
|
339
339
|
.option(
|
|
340
340
|
'-n, --no-pack',
|
|
341
|
-
'Publish existing .tgz file at the root directory without npm pack.'
|
|
341
|
+
'Publish existing .tgz file at the root directory without npm pack.',
|
|
342
342
|
)
|
|
343
343
|
.parse();
|
|
344
344
|
|
|
@@ -377,8 +377,8 @@ const getShasum = (filePath: string) => {
|
|
|
377
377
|
} catch (error) {
|
|
378
378
|
throw new Error(
|
|
379
379
|
`Unable to read file when verifying shasum: ${filePath}. \nError: ${errorAsString(
|
|
380
|
-
error
|
|
381
|
-
)}
|
|
380
|
+
error,
|
|
381
|
+
)}`,
|
|
382
382
|
);
|
|
383
383
|
}
|
|
384
384
|
};
|
|
@@ -413,14 +413,14 @@ const packOrReadPackage = (options: Options): App => {
|
|
|
413
413
|
|
|
414
414
|
const assertAppVersionIsValid = (
|
|
415
415
|
latestAppVersion: string | undefined,
|
|
416
|
-
app: App
|
|
416
|
+
app: App,
|
|
417
417
|
) => {
|
|
418
418
|
if (latestAppVersion != null) {
|
|
419
419
|
console.log(`Latest published version ${latestAppVersion}`);
|
|
420
420
|
|
|
421
421
|
if (semver.lte(app.version, latestAppVersion) && app.isOfficial) {
|
|
422
422
|
throw new Error(
|
|
423
|
-
'Current package version cannot be published, bump it higher'
|
|
423
|
+
'Current package version cannot be published, bump it higher',
|
|
424
424
|
);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
@@ -438,7 +438,7 @@ const downloadSourceJson = async () => {
|
|
|
438
438
|
(sourceJson.apps !== undefined && !Array.isArray(sourceJson.apps))
|
|
439
439
|
) {
|
|
440
440
|
throw new Error(
|
|
441
|
-
'`source.json` does not have the expected content.'
|
|
441
|
+
'`source.json` does not have the expected content.',
|
|
442
442
|
);
|
|
443
443
|
}
|
|
444
444
|
|
|
@@ -461,21 +461,21 @@ const getUpdatedSourceJson = async (app: App): Promise<SourceJson> => {
|
|
|
461
461
|
...sourceJson,
|
|
462
462
|
apps: [
|
|
463
463
|
...new Set(sourceJson.apps).add(
|
|
464
|
-
`${app.sourceUrl}/${app.appInfoName}
|
|
464
|
+
`${app.sourceUrl}/${app.appInfoName}`,
|
|
465
465
|
),
|
|
466
466
|
].sort(),
|
|
467
467
|
};
|
|
468
468
|
};
|
|
469
469
|
|
|
470
470
|
const downloadExistingAppInfo = async (
|
|
471
|
-
app: App
|
|
471
|
+
app: App,
|
|
472
472
|
): Promise<Partial<Pick<AppInfo, 'latestVersion' | 'versions'>>> => {
|
|
473
473
|
try {
|
|
474
474
|
const appInfoContent = await client.download(app.appInfoName);
|
|
475
475
|
return JSON.parse(appInfoContent) as AppInfo;
|
|
476
476
|
} catch (error) {
|
|
477
477
|
console.log(
|
|
478
|
-
`No previous app versions found due to: ${errorAsString(error)}
|
|
478
|
+
`No previous app versions found due to: ${errorAsString(error)}`,
|
|
479
479
|
);
|
|
480
480
|
|
|
481
481
|
return {};
|
|
@@ -484,7 +484,7 @@ const downloadExistingAppInfo = async (
|
|
|
484
484
|
|
|
485
485
|
const failBecauseOfMissingProperty = () => {
|
|
486
486
|
throw new Error(
|
|
487
|
-
'This must never happen, because the properties were already checked before'
|
|
487
|
+
'This must never happen, because the properties were already checked before',
|
|
488
488
|
);
|
|
489
489
|
};
|
|
490
490
|
|
|
@@ -529,13 +529,13 @@ const getUpdatedAppInfo = async (app: App): Promise<AppInfo> => {
|
|
|
529
529
|
const uploadSourceJson = (sourceJson: SourceJson) =>
|
|
530
530
|
client.uploadContent(
|
|
531
531
|
Buffer.from(JSON.stringify(sourceJson, undefined, 2)),
|
|
532
|
-
'source.json'
|
|
532
|
+
'source.json',
|
|
533
533
|
);
|
|
534
534
|
|
|
535
535
|
const uploadAppInfo = (app: App, appInfo: AppInfo) =>
|
|
536
536
|
client.uploadContent(
|
|
537
537
|
Buffer.from(JSON.stringify(appInfo, undefined, 2)),
|
|
538
|
-
app.appInfoName
|
|
538
|
+
app.appInfoName,
|
|
539
539
|
);
|
|
540
540
|
|
|
541
541
|
const uploadPackage = (app: App) =>
|
|
@@ -106,7 +106,7 @@ const asRegexp = (string: string) =>
|
|
|
106
106
|
.replace(SPECIAL_REGEXP_CHARACTERS, '\\$1')
|
|
107
107
|
.replace(LINE_ENDINGS, '\\r?\\n') // Because reference string and input string could have different EOLs
|
|
108
108
|
.replace('__YEAR__', '\\d{4}')
|
|
109
|
-
.replace('__YEARS__', '(?<oldStartingYear>\\d{4})( - \\d{4})?')}
|
|
109
|
+
.replace('__YEARS__', '(?<oldStartingYear>\\d{4})( - \\d{4})?')}`,
|
|
110
110
|
);
|
|
111
111
|
|
|
112
112
|
const checkLicense = () => {
|
|
@@ -153,7 +153,7 @@ const allSourceFiles = () =>
|
|
|
153
153
|
'.git',
|
|
154
154
|
],
|
|
155
155
|
baseNameMatch: true,
|
|
156
|
-
}
|
|
156
|
+
},
|
|
157
157
|
);
|
|
158
158
|
|
|
159
159
|
const missesCorrectHeader = (file: string) =>
|
|
@@ -178,7 +178,7 @@ const checkHeaders = () => {
|
|
|
178
178
|
|
|
179
179
|
fail(
|
|
180
180
|
`These files do not contain the correct license, try fixing this` +
|
|
181
|
-
` with running 'npx ${nrfconnectLicenseScript}':\n${listOfFiles}
|
|
181
|
+
` with running 'npx ${nrfconnectLicenseScript}':\n${listOfFiles}`,
|
|
182
182
|
);
|
|
183
183
|
}
|
|
184
184
|
};
|
|
@@ -242,7 +242,7 @@ const updateHeader = (file: string) => {
|
|
|
242
242
|
const COMMENT_START = '/*';
|
|
243
243
|
if (!hadOutdatedLicense && remainingContent.startsWith(COMMENT_START)) {
|
|
244
244
|
console.warn(
|
|
245
|
-
`The file '${file}' has a comment at the beginning which is not a known outdated license. Not touching this file
|
|
245
|
+
`The file '${file}' has a comment at the beginning which is not a known outdated license. Not touching this file.`,
|
|
246
246
|
);
|
|
247
247
|
return;
|
|
248
248
|
}
|
|
@@ -254,12 +254,12 @@ const updateHeader = (file: string) => {
|
|
|
254
254
|
|
|
255
255
|
writeFileSync(
|
|
256
256
|
file,
|
|
257
|
-
shebangLine + newHeader + lineEnding + lineEnding + remainingContent
|
|
257
|
+
shebangLine + newHeader + lineEnding + lineEnding + remainingContent,
|
|
258
258
|
);
|
|
259
259
|
console.log(
|
|
260
260
|
`${
|
|
261
261
|
hadOutdatedLicense ? 'Updated' : 'Added'
|
|
262
|
-
} license header in file '${file}'
|
|
262
|
+
} license header in file '${file}'`,
|
|
263
263
|
);
|
|
264
264
|
};
|
|
265
265
|
|