@nordicsemiconductor/pc-nrfconnect-shared 89.0.0 → 91.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/Changelog.md +54 -0
  2. package/config/jest.config.js +0 -1
  3. package/config/tsconfig.json +1 -1
  4. package/coverage/cobertura-coverage.xml +2166 -1086
  5. package/ipc/MetaFiles.ts +26 -8
  6. package/nrfutil/device/__mocks__/device.ts +43 -0
  7. package/nrfutil/device/batch.ts +219 -0
  8. package/nrfutil/device/batchTypes.ts +133 -0
  9. package/nrfutil/device/common.ts +274 -0
  10. package/nrfutil/device/device.ts +62 -0
  11. package/nrfutil/device/erase.ts +26 -0
  12. package/nrfutil/device/eraseBatch.ts +28 -0
  13. package/nrfutil/device/firmwareRead.ts +34 -0
  14. package/nrfutil/device/firmwareReadBatch.ts +42 -0
  15. package/nrfutil/device/getCoreInfo.ts +44 -0
  16. package/nrfutil/device/getCoreInfoBatch.ts +29 -0
  17. package/nrfutil/device/getFwInfo.ts +69 -0
  18. package/nrfutil/device/getFwInfoBatch.ts +29 -0
  19. package/nrfutil/device/getProtectionStatus.ts +46 -0
  20. package/nrfutil/device/getProtectionStatusBatch.ts +32 -0
  21. package/nrfutil/device/list.ts +81 -0
  22. package/nrfutil/device/program.ts +186 -0
  23. package/nrfutil/device/programBatch.ts +69 -0
  24. package/nrfutil/device/recover.ts +26 -0
  25. package/nrfutil/device/recoverBatch.ts +28 -0
  26. package/nrfutil/device/reset.ts +41 -0
  27. package/nrfutil/device/resetBatch.ts +30 -0
  28. package/nrfutil/device/setMcuState.ts +27 -0
  29. package/nrfutil/device/setProtectionStatus.ts +27 -0
  30. package/nrfutil/index.ts +25 -0
  31. package/nrfutil/moduleVersion.ts +57 -0
  32. package/nrfutil/nrfutilLogger.ts +15 -0
  33. package/nrfutil/sandbox.ts +504 -0
  34. package/nrfutil/sandboxTypes.ts +178 -0
  35. package/package.json +1 -4
  36. package/scripts/check-app-properties.ts +49 -22
  37. package/scripts/esbuild-renderer.js +0 -1
  38. package/scripts/nordic-publish.js +6 -6
  39. package/scripts/nordic-publish.ts +11 -2
  40. package/src/About/SupportCard.tsx +6 -9
  41. package/src/App/App.test.tsx +4 -0
  42. package/src/App/App.tsx +13 -2
  43. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +1 -1
  44. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +39 -31
  45. package/src/Device/DeviceSelector/DeviceSelector.tsx +3 -12
  46. package/src/Device/deviceInfo/deviceInfo.ts +2 -3
  47. package/src/Device/deviceLister.test.ts +1 -2
  48. package/src/Device/deviceLister.ts +169 -215
  49. package/src/Device/deviceSlice.ts +2 -16
  50. package/src/Device/jprogOperations.ts +21 -69
  51. package/src/Device/sdfuOperations.ts +77 -93
  52. package/src/ErrorBoundary/ErrorBoundary.tsx +1 -1
  53. package/src/Log/LogViewer.tsx +0 -4
  54. package/src/Log/logSlice.ts +4 -7
  55. package/src/index.ts +0 -1
  56. package/src/logging/sendInitialLogMessages.ts +7 -8
  57. package/src/utils/appDirs.ts +6 -11
  58. package/src/utils/logLibVersions.ts +12 -14
  59. package/src/utils/packageJson.ts +11 -1
  60. package/src/utils/systemReport.ts +11 -17
  61. package/src/utils/usageData.ts +14 -9
  62. package/tsconfig.json +1 -0
  63. package/typings/generated/ipc/MetaFiles.d.ts +21 -8
  64. package/typings/generated/ipc/MetaFiles.d.ts.map +1 -1
  65. package/typings/generated/nrfutil/device/__mocks__/device.d.ts +23 -0
  66. package/typings/generated/nrfutil/device/__mocks__/device.d.ts.map +1 -0
  67. package/typings/generated/nrfutil/device/batch.d.ts +26 -0
  68. package/typings/generated/nrfutil/device/batch.d.ts.map +1 -0
  69. package/typings/generated/nrfutil/device/batchTypes.d.ts +78 -0
  70. package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -0
  71. package/typings/generated/nrfutil/device/common.d.ts +125 -0
  72. package/typings/generated/nrfutil/device/common.d.ts.map +1 -0
  73. package/typings/generated/nrfutil/device/device.d.ts +30 -0
  74. package/typings/generated/nrfutil/device/device.d.ts.map +1 -0
  75. package/typings/generated/nrfutil/device/erase.d.ts +5 -0
  76. package/typings/generated/nrfutil/device/erase.d.ts.map +1 -0
  77. package/typings/generated/nrfutil/device/eraseBatch.d.ts +7 -0
  78. package/typings/generated/nrfutil/device/eraseBatch.d.ts.map +1 -0
  79. package/typings/generated/nrfutil/device/firmwareRead.d.ts +10 -0
  80. package/typings/generated/nrfutil/device/firmwareRead.d.ts.map +1 -0
  81. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts +9 -0
  82. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts.map +1 -0
  83. package/typings/generated/nrfutil/device/getCoreInfo.d.ts +22 -0
  84. package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -0
  85. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts +8 -0
  86. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts.map +1 -0
  87. package/typings/generated/nrfutil/device/getFwInfo.d.ts +31 -0
  88. package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -0
  89. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts +8 -0
  90. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts.map +1 -0
  91. package/typings/generated/nrfutil/device/getProtectionStatus.d.ts +13 -0
  92. package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -0
  93. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts +8 -0
  94. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts.map +1 -0
  95. package/typings/generated/nrfutil/device/list.d.ts +19 -0
  96. package/typings/generated/nrfutil/device/list.d.ts.map +1 -0
  97. package/typings/generated/nrfutil/device/program.d.ts +27 -0
  98. package/typings/generated/nrfutil/device/program.d.ts.map +1 -0
  99. package/typings/generated/nrfutil/device/programBatch.d.ts +9 -0
  100. package/typings/generated/nrfutil/device/programBatch.d.ts.map +1 -0
  101. package/typings/generated/nrfutil/device/recover.d.ts +5 -0
  102. package/typings/generated/nrfutil/device/recover.d.ts.map +1 -0
  103. package/typings/generated/nrfutil/device/recoverBatch.d.ts +7 -0
  104. package/typings/generated/nrfutil/device/recoverBatch.d.ts.map +1 -0
  105. package/typings/generated/nrfutil/device/reset.d.ts +5 -0
  106. package/typings/generated/nrfutil/device/reset.d.ts.map +1 -0
  107. package/typings/generated/nrfutil/device/resetBatch.d.ts +8 -0
  108. package/typings/generated/nrfutil/device/resetBatch.d.ts.map +1 -0
  109. package/typings/generated/nrfutil/device/setMcuState.d.ts +6 -0
  110. package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -0
  111. package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +5 -0
  112. package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -0
  113. package/typings/generated/nrfutil/index.d.ts +11 -0
  114. package/typings/generated/nrfutil/index.d.ts.map +1 -0
  115. package/typings/generated/nrfutil/moduleVersion.d.ts +6 -0
  116. package/typings/generated/nrfutil/moduleVersion.d.ts.map +1 -0
  117. package/typings/generated/nrfutil/nrfutilLogger.d.ts +4 -0
  118. package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -0
  119. package/typings/generated/nrfutil/sandbox.d.ts +36 -0
  120. package/typings/generated/nrfutil/sandbox.d.ts.map +1 -0
  121. package/typings/generated/nrfutil/sandboxTypes.d.ts +135 -0
  122. package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -0
  123. package/typings/generated/src/About/SupportCard.d.ts.map +1 -1
  124. package/typings/generated/src/App/App.d.ts.map +1 -1
  125. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +2 -6
  126. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -1
  127. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +2 -2
  128. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
  129. package/typings/generated/src/Device/deviceLister.d.ts +11 -16
  130. package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
  131. package/typings/generated/src/Device/deviceLister.test.d.ts.map +1 -1
  132. package/typings/generated/src/Device/deviceSlice.d.ts +3 -3
  133. package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -1
  134. package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -1
  135. package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -1
  136. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -1
  137. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  138. package/typings/generated/src/Log/LogViewer.d.ts.map +1 -1
  139. package/typings/generated/src/Log/logSlice.d.ts +2 -3
  140. package/typings/generated/src/Log/logSlice.d.ts.map +1 -1
  141. package/typings/generated/src/index.d.ts +0 -1
  142. package/typings/generated/src/index.d.ts.map +1 -1
  143. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +1 -1
  144. package/typings/generated/src/utils/appDirs.d.ts +4 -4
  145. package/typings/generated/src/utils/appDirs.d.ts.map +1 -1
  146. package/typings/generated/src/utils/logLibVersions.d.ts.map +1 -1
  147. package/typings/generated/src/utils/packageJson.d.ts.map +1 -1
  148. package/typings/generated/src/utils/systemReport.d.ts +1 -1
  149. package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
  150. package/typings/generated/src/utils/usageData.d.ts +2 -0
  151. package/typings/generated/src/utils/usageData.d.ts.map +1 -1
  152. package/mocks/deviceLibMock.ts +0 -21
  153. package/src/Device/deviceLibWrapper.test.ts +0 -97
  154. package/src/Device/deviceLibWrapper.ts +0 -132
  155. package/src/utils/describeVersion.ts +0 -21
  156. package/typings/generated/src/Device/deviceLibWrapper.d.ts +0 -9
  157. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +0 -1
  158. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +0 -2
  159. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +0 -1
  160. package/typings/generated/src/utils/describeVersion.d.ts +0 -4
  161. package/typings/generated/src/utils/describeVersion.d.ts.map +0 -1
@@ -1,97 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import { getModuleVersion } from './deviceLibWrapper';
8
-
9
- const exampleModuleVersions = [
10
- {
11
- name: 'nrfdl',
12
- plugins: [
13
- {
14
- dependencies: [
15
- {
16
- dependencies: [
17
- {
18
- expectedVersion: {
19
- version: 'JLink_V7.66a',
20
- versionFormat: 'string' as const,
21
- },
22
- name: 'JlinkARM',
23
- version: 'JLink_V7.66a',
24
- versionFormat: 'string' as const,
25
- },
26
- ],
27
- name: 'jprog',
28
- version: {
29
- major: 10,
30
- metadata: '0',
31
- minor: 16,
32
- patch: 0,
33
- pre: '0',
34
- },
35
- versionFormat: 'semantic' as const,
36
- },
37
- ],
38
- name: 'jlink',
39
- version: {
40
- major: 0,
41
- metadata: '0',
42
- minor: 12,
43
- patch: 5,
44
- pre: '0',
45
- },
46
- versionFormat: 'semantic' as const,
47
- },
48
- ],
49
- version: {
50
- major: 0,
51
- metadata: '0',
52
- minor: 12,
53
- patch: 5,
54
- pre: '0',
55
- },
56
- versionFormat: 'semantic' as const,
57
- },
58
- {
59
- name: 'nrfdl-js',
60
- version: {
61
- major: 0,
62
- minor: 4,
63
- patch: 12,
64
- metadata: '0',
65
- pre: '0',
66
- },
67
- versionFormat: 'semantic' as const,
68
- },
69
- ];
70
-
71
- describe('finding module versions', () => {
72
- test('in the top level modules', () => {
73
- expect(getModuleVersion('nrfdl-js', exampleModuleVersions)).toEqual({
74
- name: 'nrfdl-js',
75
- version: {
76
- major: 0,
77
- minor: 4,
78
- patch: 12,
79
- metadata: '0',
80
- pre: '0',
81
- },
82
- versionFormat: 'semantic' as const,
83
- });
84
- });
85
-
86
- test('in nested dependencies', () => {
87
- expect(getModuleVersion('JlinkARM', exampleModuleVersions)).toEqual({
88
- expectedVersion: {
89
- version: 'JLink_V7.66a',
90
- versionFormat: 'string' as const,
91
- },
92
- name: 'JlinkARM',
93
- version: 'JLink_V7.66a',
94
- versionFormat: 'string' as const,
95
- });
96
- });
97
- });
@@ -1,132 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import { app } from '@electron/remote';
8
- import {
9
- createContext,
10
- Error,
11
- LogEvent,
12
- ModuleVersion,
13
- setLogLevel,
14
- setLogPattern,
15
- setTimeoutConfig,
16
- startLogEvents,
17
- stopLogEvents,
18
- } from '@nordicsemiconductor/nrf-device-lib-js';
19
- import path from 'path';
20
-
21
- import { isLoggingVerbose } from '../Log/logSlice';
22
- import logger from '../logging';
23
- import {
24
- getIsLoggingVerbose,
25
- persistIsLoggingVerbose,
26
- } from '../utils/persistentStore';
27
-
28
- let deviceLibContext = 0n;
29
- export const getDeviceLibContext = () => {
30
- if (deviceLibContext === 0n) initDeviceLib();
31
-
32
- return deviceLibContext;
33
- };
34
-
35
- const initDeviceLib = () => {
36
- if (process.platform === 'win32') {
37
- const binariesPath = app.getAppPath().endsWith('app.asar')
38
- ? `${app.getAppPath()}.unpacked`
39
- : app.getAppPath();
40
- deviceLibContext = createContext({
41
- plugins_dir: path.join(
42
- binariesPath,
43
- 'node_modules',
44
- '@nordicsemiconductor',
45
- 'nrf-device-lib-js',
46
- 'Release'
47
- ),
48
- });
49
- } else {
50
- deviceLibContext = createContext();
51
- }
52
-
53
- setTimeoutConfig(getDeviceLibContext(), {
54
- enumerateMs: 3 * 60 * 1000,
55
- });
56
- };
57
-
58
- export const logNrfdlLogs = (evt: LogEvent) => {
59
- if (process.env.NODE_ENV === 'production' && !isLoggingVerbose()) return;
60
- switch (evt.level) {
61
- case 'NRFDL_LOG_TRACE':
62
- logger.verbose(evt.message);
63
- break;
64
- case 'NRFDL_LOG_DEBUG':
65
- logger.debug(evt.message);
66
- break;
67
- case 'NRFDL_LOG_INFO':
68
- logger.info(evt.message);
69
- break;
70
- case 'NRFDL_LOG_WARNING':
71
- logger.warn(evt.message);
72
- break;
73
- case 'NRFDL_LOG_ERROR':
74
- logger.error(evt.message);
75
- break;
76
- case 'NRFDL_LOG_CRITICAL':
77
- logger.error(evt.message);
78
- break;
79
- }
80
- };
81
-
82
- export const forwardLogEventsFromDeviceLib = () => {
83
- setLogPattern(getDeviceLibContext(), '[%n][%l](%T.%e) %v');
84
- setVerboseDeviceLibLogging(getIsLoggingVerbose());
85
-
86
- // Only the first reset after selecting "reset with verbose logging" is relevant
87
- persistIsLoggingVerbose(false);
88
-
89
- const taskId = startLogEvents(
90
- getDeviceLibContext(),
91
- (err?: Error) => {
92
- if (err)
93
- logger.logError(
94
- 'Error while listening to log messages from nrf-device-lib',
95
- err
96
- );
97
- },
98
- (evt: LogEvent) => logNrfdlLogs(evt)
99
- );
100
- return () => {
101
- stopLogEvents(taskId);
102
- };
103
- };
104
-
105
- export const setVerboseDeviceLibLogging = (verboseLogging: boolean) =>
106
- setLogLevel(
107
- getDeviceLibContext(),
108
- verboseLogging ? 'NRFDL_LOG_TRACE' : 'NRFDL_LOG_ERROR'
109
- );
110
-
111
- type KnownModule = 'nrfdl' | 'nrfdl-js' | 'jprog' | 'JlinkARM';
112
-
113
- const findTopLevel = (module: KnownModule, versions: ModuleVersion[]) =>
114
- versions.find(version => version.name === module);
115
-
116
- const findInDependencies = (module: KnownModule, versions: ModuleVersion[]) => {
117
- if (versions.length > 0) {
118
- return getModuleVersion(
119
- module,
120
- versions.flatMap(version => [
121
- ...(version.dependencies ?? []),
122
- ...((version.plugins as ModuleVersion[]) ?? []),
123
- ])
124
- );
125
- }
126
- };
127
-
128
- export const getModuleVersion = (
129
- module: KnownModule,
130
- versions: ModuleVersion[] = []
131
- ): ModuleVersion | undefined =>
132
- findTopLevel(module, versions) ?? findInDependencies(module, versions);
@@ -1,21 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import { ModuleVersion } from '@nordicsemiconductor/nrf-device-lib-js';
8
-
9
- export default (version?: ModuleVersion) => {
10
- if (version == null) {
11
- return 'Unknown';
12
- }
13
-
14
- switch (version.versionFormat) {
15
- case 'incremental':
16
- case 'string':
17
- return String(version.version);
18
- case 'semantic':
19
- return `${version.version.major}.${version.version.minor}.${version.version.patch}`;
20
- }
21
- };
@@ -1,9 +0,0 @@
1
- import { LogEvent, ModuleVersion } from '@nordicsemiconductor/nrf-device-lib-js';
2
- export declare const getDeviceLibContext: () => bigint;
3
- export declare const logNrfdlLogs: (evt: LogEvent) => void;
4
- export declare const forwardLogEventsFromDeviceLib: () => () => void;
5
- export declare const setVerboseDeviceLibLogging: (verboseLogging: boolean) => void;
6
- type KnownModule = 'nrfdl' | 'nrfdl-js' | 'jprog' | 'JlinkARM';
7
- export declare const getModuleVersion: (module: KnownModule, versions?: ModuleVersion[]) => ModuleVersion | undefined;
8
- export {};
9
- //# sourceMappingURL=deviceLibWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceLibWrapper.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceLibWrapper.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,QAAQ,EACR,aAAa,EAMhB,MAAM,wCAAwC,CAAC;AAWhD,eAAO,MAAM,mBAAmB,cAI/B,CAAC;AAyBF,eAAO,MAAM,YAAY,QAAS,QAAQ,SAsBzC,CAAC;AAEF,eAAO,MAAM,6BAA6B,kBAqBzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,mBAAoB,OAAO,SAI7D,CAAC;AAEN,KAAK,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAiB/D,eAAO,MAAM,gBAAgB,WACjB,WAAW,aACT,aAAa,EAAE,KAC1B,aAAa,GAAG,SACuD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=deviceLibWrapper.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deviceLibWrapper.test.d.ts","sourceRoot":"","sources":["../../../../src/Device/deviceLibWrapper.test.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { ModuleVersion } from '@nordicsemiconductor/nrf-device-lib-js';
2
- declare const _default: (version?: ModuleVersion) => string;
3
- export default _default;
4
- //# sourceMappingURL=describeVersion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describeVersion.d.ts","sourceRoot":"","sources":["../../../../src/utils/describeVersion.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;mCAE7C,aAAa;AAAvC,wBAYE"}