@arkts/image-manager 0.4.2 → 0.5.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/README.md CHANGED
@@ -4,78 +4,4 @@ OpenHarmony/HarmonyOS qemu image manager.
4
4
 
5
5
  ## Usage
6
6
 
7
- ```ts
8
- import { createImageManager, RequestUrlError } from '@arkts/image-manager'
9
-
10
- async function main() {
11
- const imageManager = createImageManager({ /** options */ })
12
-
13
- // Get all local and remote images
14
- const images = await imageManager.getImages()
15
- console.log(images)
16
-
17
- // We choice the first image to deploy
18
- const image = images[0]
19
- // Download the image
20
- const downloader = await image.createDownloader()
21
- if (downloader instanceof RequestUrlError)
22
- return console.error(downloader)
23
-
24
- // Listen to the download and extract progress
25
- downloader.on('download-progress', progress => console.warn(progress))
26
- downloader.on('extract-progress', progress => console.warn(progress))
27
-
28
- // Start download
29
- await downloader.startDownload()
30
-
31
- // When the download is complete, we can check the checksum
32
- const checksum = await downloader.checkChecksum()
33
- console.warn(`Checksum: ${checksum}`)
34
- if (!checksum)
35
- return console.error('Checksum is not valid')
36
-
37
- // Start extract the image
38
- await downloader.extract()
39
-
40
- // Clean the download cache
41
- await downloader.clean()
42
-
43
- // Start to deploy the image
44
- // We must find the product config item if you don't want to customize the deployed image options,
45
- // like `screenWidth`, `screenHeight`, `screenDiagonal`, `screenDensity`, etc.
46
- const productConfig = await image.getProductConfig()
47
- const mateBookFold = productConfig.find(item => item.name === 'MateBook Fold')
48
- if (!mateBookFold)
49
- throw new Error('MateBook Fold not found')
50
-
51
- // Create the deployer
52
- const device = image.createDevice('MateBook Fold', createDeployedImageConfig(image))
53
- .setCpuNumber(4)
54
- .setMemoryRamSize(4096)
55
- .setDataDiskSize(6144)
56
-
57
- // We can get the final deployed image options,
58
- // it will be written to the `imageBasePath/lists.json` file when deployed.
59
- const list = await device.buildList()
60
- console.warn(list)
61
-
62
- // We can get the `config.ini` object,
63
- // it will be written to the `deployedPath/MateBook Fold/config.ini` file when deployed.
64
- const config = await device.buildIni()
65
- console.warn(config)
66
- // You also can get the `config.ini` string version:
67
- const iniString = await device.toIniString()
68
- console.warn(iniString)
69
-
70
- // Deploy the device
71
- await device.deploy()
72
- console.warn('Image deployed successfully')
73
-
74
- // Start the emulator
75
- await image.start(device)
76
-
77
- await new Promise<void>(resolve => setTimeout(resolve, 1000 * 60))
78
- // Stop the emulator
79
- image.stop(device)
80
- }
81
- ```
7
+ Please refer to testing code for usage.
@@ -1,5 +1,276 @@
1
- import { n as EmulatorConfig } from "./emulator-config-HeXlMqZ-.cjs";
2
-
3
1
  //#region src/default-emulator-config.d.ts
4
- declare const _default: EmulatorConfig;
2
+ declare const _default: ({
3
+ name: string;
4
+ deviceType: "phone";
5
+ resolutionWidth: number;
6
+ resolutionHeight: number;
7
+ physicalWidth: number;
8
+ physicalHeight: number;
9
+ diagonalSize: number;
10
+ density: number;
11
+ memoryRamSize: number;
12
+ datadiskSize: number;
13
+ procNumber: number;
14
+ api: number;
15
+ coverResolutionWidth?: undefined;
16
+ coverResolutionHeight?: undefined;
17
+ coverDiagonalSize?: undefined;
18
+ children?: undefined;
19
+ } | {
20
+ name: string;
21
+ deviceType: "foldable";
22
+ resolutionWidth: number;
23
+ resolutionHeight: number;
24
+ physicalWidth: number;
25
+ physicalHeight: number;
26
+ density: number;
27
+ diagonalSize: number;
28
+ memoryRamSize: number;
29
+ datadiskSize: number;
30
+ procNumber: number;
31
+ coverResolutionWidth: number;
32
+ coverResolutionHeight: number;
33
+ coverDiagonalSize: number;
34
+ api: number;
35
+ children?: undefined;
36
+ } | {
37
+ name: string;
38
+ deviceType: "tablet";
39
+ resolutionWidth: number;
40
+ resolutionHeight: number;
41
+ physicalWidth: number;
42
+ physicalHeight: number;
43
+ density: number;
44
+ diagonalSize: number;
45
+ memoryRamSize: number;
46
+ datadiskSize: number;
47
+ procNumber: number;
48
+ api: number;
49
+ coverResolutionWidth?: undefined;
50
+ coverResolutionHeight?: undefined;
51
+ coverDiagonalSize?: undefined;
52
+ children?: undefined;
53
+ } | {
54
+ name: string;
55
+ deviceType: "2in1";
56
+ resolutionWidth: number;
57
+ resolutionHeight: number;
58
+ physicalWidth: number;
59
+ physicalHeight: number;
60
+ diagonalSize: number;
61
+ density: number;
62
+ memoryRamSize: number;
63
+ datadiskSize: number;
64
+ procNumber: number;
65
+ api: number;
66
+ coverResolutionWidth?: undefined;
67
+ coverResolutionHeight?: undefined;
68
+ coverDiagonalSize?: undefined;
69
+ children?: undefined;
70
+ } | {
71
+ name: string;
72
+ deviceType: "widefold";
73
+ resolutionWidth: number;
74
+ resolutionHeight: number;
75
+ physicalWidth: number;
76
+ physicalHeight: number;
77
+ density: number;
78
+ diagonalSize: number;
79
+ memoryRamSize: number;
80
+ datadiskSize: number;
81
+ procNumber: number;
82
+ coverResolutionWidth: number;
83
+ coverResolutionHeight: number;
84
+ coverDiagonalSize: number;
85
+ api: number;
86
+ children?: undefined;
87
+ } | {
88
+ name: string;
89
+ deviceType: "tv";
90
+ resolutionWidth: number;
91
+ resolutionHeight: number;
92
+ physicalWidth: number;
93
+ physicalHeight: number;
94
+ density: number;
95
+ diagonalSize: number;
96
+ memoryRamSize: number;
97
+ datadiskSize: number;
98
+ procNumber: number;
99
+ api: number;
100
+ coverResolutionWidth?: undefined;
101
+ coverResolutionHeight?: undefined;
102
+ coverDiagonalSize?: undefined;
103
+ children?: undefined;
104
+ } | {
105
+ name: string;
106
+ deviceType: "phone_all";
107
+ api: number;
108
+ children: ({
109
+ name: string;
110
+ deviceType: "phone";
111
+ resolutionWidth: number;
112
+ resolutionHeight: number;
113
+ physicalWidth: number;
114
+ physicalHeight: number;
115
+ diagonalSize: number;
116
+ density: number;
117
+ memoryRamSize: number;
118
+ datadiskSize: number;
119
+ procNumber: number;
120
+ api: number;
121
+ coverResolutionWidth?: undefined;
122
+ coverResolutionHeight?: undefined;
123
+ coverDiagonalSize?: undefined;
124
+ singleResolutionHeight?: undefined;
125
+ singleResolutionWidth?: undefined;
126
+ singleDiagonalSize?: undefined;
127
+ doubleResolutionWidth?: undefined;
128
+ doubleResolutionHeight?: undefined;
129
+ doubleDiagonalSize?: undefined;
130
+ } | {
131
+ name: string;
132
+ deviceType: "foldable";
133
+ resolutionWidth: number;
134
+ resolutionHeight: number;
135
+ physicalWidth: number;
136
+ physicalHeight: number;
137
+ density: number;
138
+ diagonalSize: number;
139
+ memoryRamSize: number;
140
+ datadiskSize: number;
141
+ procNumber: number;
142
+ coverResolutionWidth: number;
143
+ coverResolutionHeight: number;
144
+ coverDiagonalSize: number;
145
+ api: number;
146
+ singleResolutionHeight?: undefined;
147
+ singleResolutionWidth?: undefined;
148
+ singleDiagonalSize?: undefined;
149
+ doubleResolutionWidth?: undefined;
150
+ doubleResolutionHeight?: undefined;
151
+ doubleDiagonalSize?: undefined;
152
+ } | {
153
+ name: string;
154
+ deviceType: "triplefold";
155
+ resolutionWidth: number;
156
+ resolutionHeight: number;
157
+ physicalWidth: number;
158
+ physicalHeight: number;
159
+ density: number;
160
+ diagonalSize: number;
161
+ memoryRamSize: number;
162
+ datadiskSize: number;
163
+ procNumber: number;
164
+ singleResolutionHeight: number;
165
+ singleResolutionWidth: number;
166
+ singleDiagonalSize: number;
167
+ doubleResolutionWidth: number;
168
+ doubleResolutionHeight: number;
169
+ doubleDiagonalSize: number;
170
+ api: number;
171
+ coverResolutionWidth?: undefined;
172
+ coverResolutionHeight?: undefined;
173
+ coverDiagonalSize?: undefined;
174
+ } | {
175
+ name: string;
176
+ deviceType: "widefold";
177
+ resolutionWidth: number;
178
+ resolutionHeight: number;
179
+ physicalWidth: number;
180
+ physicalHeight: number;
181
+ density: number;
182
+ diagonalSize: number;
183
+ memoryRamSize: number;
184
+ datadiskSize: number;
185
+ procNumber: number;
186
+ coverResolutionWidth: number;
187
+ coverResolutionHeight: number;
188
+ coverDiagonalSize: number;
189
+ api: number;
190
+ singleResolutionHeight?: undefined;
191
+ singleResolutionWidth?: undefined;
192
+ singleDiagonalSize?: undefined;
193
+ doubleResolutionWidth?: undefined;
194
+ doubleResolutionHeight?: undefined;
195
+ doubleDiagonalSize?: undefined;
196
+ })[];
197
+ resolutionWidth?: undefined;
198
+ resolutionHeight?: undefined;
199
+ physicalWidth?: undefined;
200
+ physicalHeight?: undefined;
201
+ diagonalSize?: undefined;
202
+ density?: undefined;
203
+ memoryRamSize?: undefined;
204
+ datadiskSize?: undefined;
205
+ procNumber?: undefined;
206
+ coverResolutionWidth?: undefined;
207
+ coverResolutionHeight?: undefined;
208
+ coverDiagonalSize?: undefined;
209
+ } | {
210
+ name: string;
211
+ deviceType: "pc_all";
212
+ api: number;
213
+ children: ({
214
+ name: string;
215
+ deviceType: "2in1";
216
+ resolutionWidth: number;
217
+ resolutionHeight: number;
218
+ physicalWidth: number;
219
+ physicalHeight: number;
220
+ diagonalSize: number;
221
+ density: number;
222
+ memoryRamSize: number;
223
+ datadiskSize: number;
224
+ procNumber: number;
225
+ api: number;
226
+ coverResolutionWidth?: undefined;
227
+ coverResolutionHeight?: undefined;
228
+ coverDiagonalSize?: undefined;
229
+ } | {
230
+ name: string;
231
+ deviceType: "2in1_foldable";
232
+ resolutionWidth: number;
233
+ resolutionHeight: number;
234
+ physicalWidth: number;
235
+ physicalHeight: number;
236
+ diagonalSize: number;
237
+ density: number;
238
+ memoryRamSize: number;
239
+ datadiskSize: number;
240
+ procNumber: number;
241
+ coverResolutionWidth: number;
242
+ coverResolutionHeight: number;
243
+ coverDiagonalSize: number;
244
+ api: number;
245
+ })[];
246
+ resolutionWidth?: undefined;
247
+ resolutionHeight?: undefined;
248
+ physicalWidth?: undefined;
249
+ physicalHeight?: undefined;
250
+ diagonalSize?: undefined;
251
+ density?: undefined;
252
+ memoryRamSize?: undefined;
253
+ datadiskSize?: undefined;
254
+ procNumber?: undefined;
255
+ coverResolutionWidth?: undefined;
256
+ coverResolutionHeight?: undefined;
257
+ coverDiagonalSize?: undefined;
258
+ } | {
259
+ name: string;
260
+ deviceType: "wearable";
261
+ resolutionWidth: number;
262
+ resolutionHeight: number;
263
+ physicalWidth: number;
264
+ physicalHeight: number;
265
+ diagonalSize: number;
266
+ density: number;
267
+ memoryRamSize: number;
268
+ datadiskSize: number;
269
+ procNumber: number;
270
+ api: number;
271
+ coverResolutionWidth?: undefined;
272
+ coverResolutionHeight?: undefined;
273
+ coverDiagonalSize?: undefined;
274
+ children?: undefined;
275
+ })[];
5
276
  export = _default;
@@ -1,6 +1,277 @@
1
- import { n as EmulatorConfig } from "./emulator-config-DbI3FRE5.mjs";
2
-
3
1
  //#region src/default-emulator-config.d.ts
4
- declare const _default: EmulatorConfig;
2
+ declare const _default: ({
3
+ name: string;
4
+ deviceType: "phone";
5
+ resolutionWidth: number;
6
+ resolutionHeight: number;
7
+ physicalWidth: number;
8
+ physicalHeight: number;
9
+ diagonalSize: number;
10
+ density: number;
11
+ memoryRamSize: number;
12
+ datadiskSize: number;
13
+ procNumber: number;
14
+ api: number;
15
+ coverResolutionWidth?: undefined;
16
+ coverResolutionHeight?: undefined;
17
+ coverDiagonalSize?: undefined;
18
+ children?: undefined;
19
+ } | {
20
+ name: string;
21
+ deviceType: "foldable";
22
+ resolutionWidth: number;
23
+ resolutionHeight: number;
24
+ physicalWidth: number;
25
+ physicalHeight: number;
26
+ density: number;
27
+ diagonalSize: number;
28
+ memoryRamSize: number;
29
+ datadiskSize: number;
30
+ procNumber: number;
31
+ coverResolutionWidth: number;
32
+ coverResolutionHeight: number;
33
+ coverDiagonalSize: number;
34
+ api: number;
35
+ children?: undefined;
36
+ } | {
37
+ name: string;
38
+ deviceType: "tablet";
39
+ resolutionWidth: number;
40
+ resolutionHeight: number;
41
+ physicalWidth: number;
42
+ physicalHeight: number;
43
+ density: number;
44
+ diagonalSize: number;
45
+ memoryRamSize: number;
46
+ datadiskSize: number;
47
+ procNumber: number;
48
+ api: number;
49
+ coverResolutionWidth?: undefined;
50
+ coverResolutionHeight?: undefined;
51
+ coverDiagonalSize?: undefined;
52
+ children?: undefined;
53
+ } | {
54
+ name: string;
55
+ deviceType: "2in1";
56
+ resolutionWidth: number;
57
+ resolutionHeight: number;
58
+ physicalWidth: number;
59
+ physicalHeight: number;
60
+ diagonalSize: number;
61
+ density: number;
62
+ memoryRamSize: number;
63
+ datadiskSize: number;
64
+ procNumber: number;
65
+ api: number;
66
+ coverResolutionWidth?: undefined;
67
+ coverResolutionHeight?: undefined;
68
+ coverDiagonalSize?: undefined;
69
+ children?: undefined;
70
+ } | {
71
+ name: string;
72
+ deviceType: "widefold";
73
+ resolutionWidth: number;
74
+ resolutionHeight: number;
75
+ physicalWidth: number;
76
+ physicalHeight: number;
77
+ density: number;
78
+ diagonalSize: number;
79
+ memoryRamSize: number;
80
+ datadiskSize: number;
81
+ procNumber: number;
82
+ coverResolutionWidth: number;
83
+ coverResolutionHeight: number;
84
+ coverDiagonalSize: number;
85
+ api: number;
86
+ children?: undefined;
87
+ } | {
88
+ name: string;
89
+ deviceType: "tv";
90
+ resolutionWidth: number;
91
+ resolutionHeight: number;
92
+ physicalWidth: number;
93
+ physicalHeight: number;
94
+ density: number;
95
+ diagonalSize: number;
96
+ memoryRamSize: number;
97
+ datadiskSize: number;
98
+ procNumber: number;
99
+ api: number;
100
+ coverResolutionWidth?: undefined;
101
+ coverResolutionHeight?: undefined;
102
+ coverDiagonalSize?: undefined;
103
+ children?: undefined;
104
+ } | {
105
+ name: string;
106
+ deviceType: "phone_all";
107
+ api: number;
108
+ children: ({
109
+ name: string;
110
+ deviceType: "phone";
111
+ resolutionWidth: number;
112
+ resolutionHeight: number;
113
+ physicalWidth: number;
114
+ physicalHeight: number;
115
+ diagonalSize: number;
116
+ density: number;
117
+ memoryRamSize: number;
118
+ datadiskSize: number;
119
+ procNumber: number;
120
+ api: number;
121
+ coverResolutionWidth?: undefined;
122
+ coverResolutionHeight?: undefined;
123
+ coverDiagonalSize?: undefined;
124
+ singleResolutionHeight?: undefined;
125
+ singleResolutionWidth?: undefined;
126
+ singleDiagonalSize?: undefined;
127
+ doubleResolutionWidth?: undefined;
128
+ doubleResolutionHeight?: undefined;
129
+ doubleDiagonalSize?: undefined;
130
+ } | {
131
+ name: string;
132
+ deviceType: "foldable";
133
+ resolutionWidth: number;
134
+ resolutionHeight: number;
135
+ physicalWidth: number;
136
+ physicalHeight: number;
137
+ density: number;
138
+ diagonalSize: number;
139
+ memoryRamSize: number;
140
+ datadiskSize: number;
141
+ procNumber: number;
142
+ coverResolutionWidth: number;
143
+ coverResolutionHeight: number;
144
+ coverDiagonalSize: number;
145
+ api: number;
146
+ singleResolutionHeight?: undefined;
147
+ singleResolutionWidth?: undefined;
148
+ singleDiagonalSize?: undefined;
149
+ doubleResolutionWidth?: undefined;
150
+ doubleResolutionHeight?: undefined;
151
+ doubleDiagonalSize?: undefined;
152
+ } | {
153
+ name: string;
154
+ deviceType: "triplefold";
155
+ resolutionWidth: number;
156
+ resolutionHeight: number;
157
+ physicalWidth: number;
158
+ physicalHeight: number;
159
+ density: number;
160
+ diagonalSize: number;
161
+ memoryRamSize: number;
162
+ datadiskSize: number;
163
+ procNumber: number;
164
+ singleResolutionHeight: number;
165
+ singleResolutionWidth: number;
166
+ singleDiagonalSize: number;
167
+ doubleResolutionWidth: number;
168
+ doubleResolutionHeight: number;
169
+ doubleDiagonalSize: number;
170
+ api: number;
171
+ coverResolutionWidth?: undefined;
172
+ coverResolutionHeight?: undefined;
173
+ coverDiagonalSize?: undefined;
174
+ } | {
175
+ name: string;
176
+ deviceType: "widefold";
177
+ resolutionWidth: number;
178
+ resolutionHeight: number;
179
+ physicalWidth: number;
180
+ physicalHeight: number;
181
+ density: number;
182
+ diagonalSize: number;
183
+ memoryRamSize: number;
184
+ datadiskSize: number;
185
+ procNumber: number;
186
+ coverResolutionWidth: number;
187
+ coverResolutionHeight: number;
188
+ coverDiagonalSize: number;
189
+ api: number;
190
+ singleResolutionHeight?: undefined;
191
+ singleResolutionWidth?: undefined;
192
+ singleDiagonalSize?: undefined;
193
+ doubleResolutionWidth?: undefined;
194
+ doubleResolutionHeight?: undefined;
195
+ doubleDiagonalSize?: undefined;
196
+ })[];
197
+ resolutionWidth?: undefined;
198
+ resolutionHeight?: undefined;
199
+ physicalWidth?: undefined;
200
+ physicalHeight?: undefined;
201
+ diagonalSize?: undefined;
202
+ density?: undefined;
203
+ memoryRamSize?: undefined;
204
+ datadiskSize?: undefined;
205
+ procNumber?: undefined;
206
+ coverResolutionWidth?: undefined;
207
+ coverResolutionHeight?: undefined;
208
+ coverDiagonalSize?: undefined;
209
+ } | {
210
+ name: string;
211
+ deviceType: "pc_all";
212
+ api: number;
213
+ children: ({
214
+ name: string;
215
+ deviceType: "2in1";
216
+ resolutionWidth: number;
217
+ resolutionHeight: number;
218
+ physicalWidth: number;
219
+ physicalHeight: number;
220
+ diagonalSize: number;
221
+ density: number;
222
+ memoryRamSize: number;
223
+ datadiskSize: number;
224
+ procNumber: number;
225
+ api: number;
226
+ coverResolutionWidth?: undefined;
227
+ coverResolutionHeight?: undefined;
228
+ coverDiagonalSize?: undefined;
229
+ } | {
230
+ name: string;
231
+ deviceType: "2in1_foldable";
232
+ resolutionWidth: number;
233
+ resolutionHeight: number;
234
+ physicalWidth: number;
235
+ physicalHeight: number;
236
+ diagonalSize: number;
237
+ density: number;
238
+ memoryRamSize: number;
239
+ datadiskSize: number;
240
+ procNumber: number;
241
+ coverResolutionWidth: number;
242
+ coverResolutionHeight: number;
243
+ coverDiagonalSize: number;
244
+ api: number;
245
+ })[];
246
+ resolutionWidth?: undefined;
247
+ resolutionHeight?: undefined;
248
+ physicalWidth?: undefined;
249
+ physicalHeight?: undefined;
250
+ diagonalSize?: undefined;
251
+ density?: undefined;
252
+ memoryRamSize?: undefined;
253
+ datadiskSize?: undefined;
254
+ procNumber?: undefined;
255
+ coverResolutionWidth?: undefined;
256
+ coverResolutionHeight?: undefined;
257
+ coverDiagonalSize?: undefined;
258
+ } | {
259
+ name: string;
260
+ deviceType: "wearable";
261
+ resolutionWidth: number;
262
+ resolutionHeight: number;
263
+ physicalWidth: number;
264
+ physicalHeight: number;
265
+ diagonalSize: number;
266
+ density: number;
267
+ memoryRamSize: number;
268
+ datadiskSize: number;
269
+ procNumber: number;
270
+ api: number;
271
+ coverResolutionWidth?: undefined;
272
+ coverResolutionHeight?: undefined;
273
+ coverDiagonalSize?: undefined;
274
+ children?: undefined;
275
+ })[];
5
276
  //#endregion
6
277
  export { _default as default };
@@ -383,6 +383,14 @@ var default_product_config_default = {
383
383
  screenDensity: "320",
384
384
  visible: false,
385
385
  devModel: "MCHEMU-AL00CN"
386
+ }],
387
+ "WearableKid": [{
388
+ name: "WearableKid",
389
+ screenWidth: "480",
390
+ screenHeight: "408",
391
+ screenDiagonal: "1.6",
392
+ screenDensity: "320",
393
+ visible: false
386
394
  }]
387
395
  };
388
396