@_nazmiforreal/flutter-ota 0.1.22 → 0.1.24
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.
|
Binary file
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
// Launcher for the flutter_ota_kit CLI.
|
|
5
|
+
//
|
|
6
|
+
// Resolves a platform+arch-specific prebuilt binary (`flutter-ota-<os>-<arch>`)
|
|
7
|
+
// shipped next to this script, falling back to `dart run` of the bundled Dart
|
|
8
|
+
// source when no prebuilt exists for the current architecture (e.g. a user on
|
|
9
|
+
// arm64 with only an x64 binary present). This keeps the package installable on
|
|
10
|
+
// any platform that has the Dart SDK, without us needing to ship every binary.
|
|
11
|
+
|
|
12
|
+
const { spawnSync } = require('child_process');
|
|
13
|
+
const fs = require('fs');
|
|
14
|
+
const path = require('path');
|
|
15
|
+
|
|
16
|
+
function platform() {
|
|
17
|
+
if (process.platform === 'win32') return 'windows';
|
|
18
|
+
if (process.platform === 'darwin') return 'macos';
|
|
19
|
+
return 'linux';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function arch() {
|
|
23
|
+
// Only x64/arm64 matter for Dart AOT; everything else falls back to Dart VM.
|
|
24
|
+
return process.arch === 'arm64' ? 'arm64' : 'x64';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const platformName = platform();
|
|
28
|
+
const archName = arch();
|
|
29
|
+
const ext = process.platform === 'win32' ? '.exe' : '';
|
|
30
|
+
const binDir = __dirname;
|
|
31
|
+
const binName = `flutter-ota-${platformName}-${archName}${ext}`;
|
|
32
|
+
const binPath = path.join(binDir, binName);
|
|
33
|
+
|
|
34
|
+
const sourceEntry = path.join(
|
|
35
|
+
binDir, '..', 'dart-src', 'packages', 'cli-tools', 'bin', 'flutter_ota_kit.dart',
|
|
36
|
+
);
|
|
37
|
+
const cliDir = path.dirname(path.dirname(sourceEntry));
|
|
38
|
+
|
|
39
|
+
function chmodIfNeeded(p) {
|
|
40
|
+
try {
|
|
41
|
+
const st = fs.statSync(p);
|
|
42
|
+
// Ensure owner-executable bit is set.
|
|
43
|
+
if (!(st.mode & 0o100)) fs.chmodSync(p, st.mode | 0o755);
|
|
44
|
+
} catch (_) {
|
|
45
|
+
// Non-fatal.
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function run(bin, args) {
|
|
50
|
+
const res = spawnSync(bin, args, { stdio: 'inherit', windowsHide: false });
|
|
51
|
+
process.exit(res.status == null ? 1 : res.status);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (fs.existsSync(binPath)) {
|
|
55
|
+
chmodIfNeeded(binPath);
|
|
56
|
+
run(binPath, process.argv.slice(2));
|
|
57
|
+
} else if (
|
|
58
|
+
spawnSync('dart', ['--version'], { stdio: 'ignore' }).status === 0 &&
|
|
59
|
+
fs.existsSync(sourceEntry)
|
|
60
|
+
) {
|
|
61
|
+
// Ensure dependencies are resolved before running from source. We only run
|
|
62
|
+
// `dart pub get` when the package config is missing, so repeated invocations
|
|
63
|
+
// don't re-resolve dependencies on every command.
|
|
64
|
+
const configPath = path.join(cliDir, '.dart_tool', 'package_config.json');
|
|
65
|
+
if (!fs.existsSync(configPath)) {
|
|
66
|
+
const getRes = spawnSync('dart', ['pub', 'get'], { stdio: 'inherit', cwd: cliDir });
|
|
67
|
+
if (getRes.status !== 0) {
|
|
68
|
+
console.error(
|
|
69
|
+
'flutter-ota: `dart pub get` failed. Install dependencies or build ' +
|
|
70
|
+
`a prebuilt manually:\n cd ${cliDir} && dart compile exe ` +
|
|
71
|
+
`bin/flutter_ota_kit.dart -o ${binPath}`,
|
|
72
|
+
);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
chmodIfNeeded(binPath);
|
|
77
|
+
run('dart', [sourceEntry, ...process.argv.slice(2)]);
|
|
78
|
+
} else {
|
|
79
|
+
console.error(
|
|
80
|
+
`flutter-ota: no prebuilt binary for ${platformName}-${archName} and ` +
|
|
81
|
+
'the Dart SDK was not found. Install Dart (https://dart.dev) or use a ' +
|
|
82
|
+
'platform/arch with a shipped prebuilt binary.',
|
|
83
|
+
);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
@@ -94,36 +94,23 @@
|
|
|
94
94
|
"dependencies": []
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
"name": "
|
|
98
|
-
"version": "
|
|
97
|
+
"name": "pointycastle",
|
|
98
|
+
"version": "4.0.0",
|
|
99
99
|
"dependencies": [
|
|
100
|
-
"analyzer",
|
|
101
|
-
"async",
|
|
102
|
-
"boolean_selector",
|
|
103
100
|
"collection",
|
|
104
|
-
"
|
|
105
|
-
"http_multi_server",
|
|
106
|
-
"io",
|
|
107
|
-
"matcher",
|
|
108
|
-
"node_preamble",
|
|
109
|
-
"package_config",
|
|
110
|
-
"path",
|
|
111
|
-
"pool",
|
|
112
|
-
"shelf",
|
|
113
|
-
"shelf_packages_handler",
|
|
114
|
-
"shelf_static",
|
|
115
|
-
"shelf_web_socket",
|
|
116
|
-
"source_span",
|
|
117
|
-
"stack_trace",
|
|
118
|
-
"stream_channel",
|
|
119
|
-
"test_api",
|
|
120
|
-
"test_core",
|
|
121
|
-
"typed_data",
|
|
122
|
-
"web_socket_channel",
|
|
123
|
-
"webkit_inspection_protocol",
|
|
124
|
-
"yaml"
|
|
101
|
+
"convert"
|
|
125
102
|
]
|
|
126
103
|
},
|
|
104
|
+
{
|
|
105
|
+
"name": "path",
|
|
106
|
+
"version": "1.9.1",
|
|
107
|
+
"dependencies": []
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "mime",
|
|
111
|
+
"version": "2.1.0",
|
|
112
|
+
"dependencies": []
|
|
113
|
+
},
|
|
127
114
|
{
|
|
128
115
|
"name": "shelf",
|
|
129
116
|
"version": "1.4.2",
|
|
@@ -137,59 +124,51 @@
|
|
|
137
124
|
]
|
|
138
125
|
},
|
|
139
126
|
{
|
|
140
|
-
"name": "
|
|
141
|
-
"version": "1.
|
|
127
|
+
"name": "collection",
|
|
128
|
+
"version": "1.19.1",
|
|
129
|
+
"dependencies": []
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "supabase",
|
|
133
|
+
"version": "2.16.1",
|
|
142
134
|
"dependencies": [
|
|
143
|
-
"
|
|
144
|
-
"
|
|
135
|
+
"functions_client",
|
|
136
|
+
"gotrue",
|
|
137
|
+
"http",
|
|
138
|
+
"logging",
|
|
145
139
|
"meta",
|
|
146
|
-
"
|
|
140
|
+
"postgrest",
|
|
141
|
+
"realtime_client",
|
|
142
|
+
"storage_client",
|
|
143
|
+
"supabase_common",
|
|
144
|
+
"yet_another_json_isolate"
|
|
147
145
|
]
|
|
148
146
|
},
|
|
149
147
|
{
|
|
150
|
-
"name": "
|
|
151
|
-
"version": "
|
|
148
|
+
"name": "http",
|
|
149
|
+
"version": "1.6.0",
|
|
152
150
|
"dependencies": [
|
|
153
151
|
"async",
|
|
154
|
-
"
|
|
155
|
-
"charcode",
|
|
156
|
-
"collection",
|
|
157
|
-
"crypto",
|
|
152
|
+
"http_parser",
|
|
158
153
|
"meta",
|
|
159
|
-
"
|
|
160
|
-
"stack_trace",
|
|
161
|
-
"stream_channel"
|
|
154
|
+
"web"
|
|
162
155
|
]
|
|
163
156
|
},
|
|
164
157
|
{
|
|
165
|
-
"name": "
|
|
166
|
-
"version": "2.
|
|
158
|
+
"name": "yet_another_json_isolate",
|
|
159
|
+
"version": "2.1.1",
|
|
167
160
|
"dependencies": [
|
|
168
|
-
"
|
|
169
|
-
"crypto",
|
|
170
|
-
"ffi",
|
|
171
|
-
"meta",
|
|
172
|
-
"typed_data"
|
|
161
|
+
"async"
|
|
173
162
|
]
|
|
174
163
|
},
|
|
175
164
|
{
|
|
176
|
-
"name": "
|
|
177
|
-
"version": "1.
|
|
178
|
-
"dependencies": []
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
"name": "archive",
|
|
182
|
-
"version": "4.2.0",
|
|
165
|
+
"name": "supabase_common",
|
|
166
|
+
"version": "0.1.2",
|
|
183
167
|
"dependencies": [
|
|
184
|
-
"
|
|
185
|
-
"
|
|
168
|
+
"crypto",
|
|
169
|
+
"meta"
|
|
186
170
|
]
|
|
187
171
|
},
|
|
188
|
-
{
|
|
189
|
-
"name": "path",
|
|
190
|
-
"version": "1.9.1",
|
|
191
|
-
"dependencies": []
|
|
192
|
-
},
|
|
193
172
|
{
|
|
194
173
|
"name": "crypto",
|
|
195
174
|
"version": "3.0.7",
|
|
@@ -198,58 +177,66 @@
|
|
|
198
177
|
]
|
|
199
178
|
},
|
|
200
179
|
{
|
|
201
|
-
"name": "
|
|
202
|
-
"version": "2.
|
|
203
|
-
"dependencies": [
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
180
|
+
"name": "storage_client",
|
|
181
|
+
"version": "2.8.0",
|
|
182
|
+
"dependencies": [
|
|
183
|
+
"http",
|
|
184
|
+
"logging",
|
|
185
|
+
"meta",
|
|
186
|
+
"mime",
|
|
187
|
+
"supabase_common"
|
|
188
|
+
]
|
|
209
189
|
},
|
|
210
190
|
{
|
|
211
|
-
"name": "
|
|
212
|
-
"version": "
|
|
191
|
+
"name": "realtime_client",
|
|
192
|
+
"version": "2.13.0",
|
|
213
193
|
"dependencies": [
|
|
214
194
|
"collection",
|
|
215
|
-
"
|
|
195
|
+
"http",
|
|
196
|
+
"logging",
|
|
197
|
+
"meta",
|
|
198
|
+
"supabase_common",
|
|
199
|
+
"web_socket_channel"
|
|
216
200
|
]
|
|
217
201
|
},
|
|
218
202
|
{
|
|
219
|
-
"name": "
|
|
220
|
-
"version": "2.
|
|
203
|
+
"name": "postgrest",
|
|
204
|
+
"version": "2.9.1",
|
|
221
205
|
"dependencies": [
|
|
222
|
-
"functions_client",
|
|
223
|
-
"gotrue",
|
|
224
206
|
"http",
|
|
225
207
|
"logging",
|
|
226
208
|
"meta",
|
|
227
|
-
"postgrest",
|
|
228
|
-
"realtime_client",
|
|
229
|
-
"storage_client",
|
|
230
209
|
"supabase_common",
|
|
231
210
|
"yet_another_json_isolate"
|
|
232
211
|
]
|
|
233
212
|
},
|
|
234
213
|
{
|
|
235
|
-
"name": "
|
|
236
|
-
"version": "
|
|
214
|
+
"name": "logging",
|
|
215
|
+
"version": "1.3.0",
|
|
237
216
|
"dependencies": []
|
|
238
217
|
},
|
|
239
218
|
{
|
|
240
|
-
"name": "
|
|
241
|
-
"version": "
|
|
219
|
+
"name": "gotrue",
|
|
220
|
+
"version": "2.27.2",
|
|
242
221
|
"dependencies": [
|
|
243
222
|
"collection",
|
|
244
|
-
"
|
|
245
|
-
"
|
|
223
|
+
"crypto",
|
|
224
|
+
"dart_jsonwebtoken",
|
|
225
|
+
"http",
|
|
226
|
+
"logging",
|
|
227
|
+
"meta",
|
|
228
|
+
"supabase_common",
|
|
229
|
+
"web"
|
|
246
230
|
]
|
|
247
231
|
},
|
|
248
232
|
{
|
|
249
|
-
"name": "
|
|
250
|
-
"version": "
|
|
233
|
+
"name": "functions_client",
|
|
234
|
+
"version": "2.7.1",
|
|
251
235
|
"dependencies": [
|
|
252
|
-
"
|
|
236
|
+
"http",
|
|
237
|
+
"logging",
|
|
238
|
+
"supabase_common",
|
|
239
|
+
"yet_another_json_isolate"
|
|
253
240
|
]
|
|
254
241
|
},
|
|
255
242
|
{
|
|
@@ -264,52 +251,43 @@
|
|
|
264
251
|
]
|
|
265
252
|
},
|
|
266
253
|
{
|
|
267
|
-
"name": "
|
|
268
|
-
"version": "1.
|
|
254
|
+
"name": "http_parser",
|
|
255
|
+
"version": "4.1.2",
|
|
269
256
|
"dependencies": [
|
|
270
|
-
"collection"
|
|
257
|
+
"collection",
|
|
258
|
+
"source_span",
|
|
259
|
+
"string_scanner",
|
|
260
|
+
"typed_data"
|
|
271
261
|
]
|
|
272
262
|
},
|
|
273
263
|
{
|
|
274
|
-
"name": "
|
|
275
|
-
"version": "
|
|
264
|
+
"name": "web",
|
|
265
|
+
"version": "1.1.1",
|
|
266
|
+
"dependencies": []
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"name": "cryptography",
|
|
270
|
+
"version": "2.9.0",
|
|
276
271
|
"dependencies": [
|
|
277
|
-
"analyzer",
|
|
278
|
-
"args",
|
|
279
|
-
"async",
|
|
280
|
-
"boolean_selector",
|
|
281
272
|
"collection",
|
|
282
|
-
"
|
|
283
|
-
"
|
|
284
|
-
"glob",
|
|
285
|
-
"io",
|
|
273
|
+
"crypto",
|
|
274
|
+
"ffi",
|
|
286
275
|
"meta",
|
|
287
|
-
"
|
|
288
|
-
"path",
|
|
289
|
-
"pool",
|
|
290
|
-
"source_map_stack_trace",
|
|
291
|
-
"source_maps",
|
|
292
|
-
"source_span",
|
|
293
|
-
"stack_trace",
|
|
294
|
-
"stream_channel",
|
|
295
|
-
"test_api",
|
|
296
|
-
"vm_service",
|
|
297
|
-
"yaml"
|
|
276
|
+
"typed_data"
|
|
298
277
|
]
|
|
299
278
|
},
|
|
300
279
|
{
|
|
301
|
-
"name": "
|
|
302
|
-
"version": "
|
|
280
|
+
"name": "typed_data",
|
|
281
|
+
"version": "1.4.0",
|
|
303
282
|
"dependencies": [
|
|
304
|
-
"
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
"
|
|
312
|
-
"term_glyph"
|
|
283
|
+
"collection"
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "web_socket",
|
|
288
|
+
"version": "1.0.1",
|
|
289
|
+
"dependencies": [
|
|
290
|
+
"web"
|
|
313
291
|
]
|
|
314
292
|
},
|
|
315
293
|
{
|
|
@@ -319,6 +297,18 @@
|
|
|
319
297
|
"async"
|
|
320
298
|
]
|
|
321
299
|
},
|
|
300
|
+
{
|
|
301
|
+
"name": "args",
|
|
302
|
+
"version": "2.7.0",
|
|
303
|
+
"dependencies": []
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "convert",
|
|
307
|
+
"version": "3.1.2",
|
|
308
|
+
"dependencies": [
|
|
309
|
+
"typed_data"
|
|
310
|
+
]
|
|
311
|
+
},
|
|
322
312
|
{
|
|
323
313
|
"name": "stack_trace",
|
|
324
314
|
"version": "1.12.2",
|
|
@@ -327,289 +317,303 @@
|
|
|
327
317
|
]
|
|
328
318
|
},
|
|
329
319
|
{
|
|
330
|
-
"name": "
|
|
331
|
-
"version": "1.
|
|
320
|
+
"name": "string_scanner",
|
|
321
|
+
"version": "1.4.1",
|
|
332
322
|
"dependencies": [
|
|
333
|
-
"
|
|
334
|
-
"path",
|
|
335
|
-
"term_glyph"
|
|
323
|
+
"source_span"
|
|
336
324
|
]
|
|
337
325
|
},
|
|
338
326
|
{
|
|
339
|
-
"name": "
|
|
340
|
-
"version": "
|
|
341
|
-
"dependencies": [
|
|
342
|
-
"shelf",
|
|
343
|
-
"stream_channel",
|
|
344
|
-
"web_socket_channel"
|
|
345
|
-
]
|
|
327
|
+
"name": "meta",
|
|
328
|
+
"version": "1.19.0",
|
|
329
|
+
"dependencies": []
|
|
346
330
|
},
|
|
347
331
|
{
|
|
348
|
-
"name": "
|
|
349
|
-
"version": "
|
|
332
|
+
"name": "ffi",
|
|
333
|
+
"version": "2.2.0",
|
|
334
|
+
"dependencies": []
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"name": "dart_jsonwebtoken",
|
|
338
|
+
"version": "3.4.1",
|
|
350
339
|
"dependencies": [
|
|
340
|
+
"clock",
|
|
351
341
|
"convert",
|
|
352
|
-
"
|
|
353
|
-
"mime",
|
|
354
|
-
"path",
|
|
355
|
-
"shelf"
|
|
342
|
+
"pointycastle"
|
|
356
343
|
]
|
|
357
344
|
},
|
|
358
345
|
{
|
|
359
|
-
"name": "
|
|
360
|
-
"version": "
|
|
346
|
+
"name": "clock",
|
|
347
|
+
"version": "1.1.3",
|
|
348
|
+
"dependencies": []
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"name": "source_span",
|
|
352
|
+
"version": "1.10.2",
|
|
361
353
|
"dependencies": [
|
|
354
|
+
"collection",
|
|
362
355
|
"path",
|
|
363
|
-
"
|
|
364
|
-
"shelf_static"
|
|
356
|
+
"term_glyph"
|
|
365
357
|
]
|
|
366
358
|
},
|
|
367
359
|
{
|
|
368
|
-
"name": "
|
|
369
|
-
"version": "1.
|
|
360
|
+
"name": "term_glyph",
|
|
361
|
+
"version": "1.2.2",
|
|
362
|
+
"dependencies": []
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"name": "async",
|
|
366
|
+
"version": "2.13.1",
|
|
370
367
|
"dependencies": [
|
|
371
|
-
"
|
|
372
|
-
"
|
|
368
|
+
"collection",
|
|
369
|
+
"meta"
|
|
373
370
|
]
|
|
374
371
|
},
|
|
375
372
|
{
|
|
376
|
-
"name": "
|
|
377
|
-
"version": "
|
|
373
|
+
"name": "archive",
|
|
374
|
+
"version": "4.2.0",
|
|
378
375
|
"dependencies": [
|
|
379
|
-
"
|
|
376
|
+
"path",
|
|
377
|
+
"posix"
|
|
380
378
|
]
|
|
381
379
|
},
|
|
382
380
|
{
|
|
383
|
-
"name": "
|
|
384
|
-
"version": "
|
|
381
|
+
"name": "posix",
|
|
382
|
+
"version": "6.5.2",
|
|
383
|
+
"dependencies": [
|
|
384
|
+
"ffi",
|
|
385
|
+
"meta",
|
|
386
|
+
"path"
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "asn1lib",
|
|
391
|
+
"version": "1.6.5",
|
|
385
392
|
"dependencies": []
|
|
386
393
|
},
|
|
387
394
|
{
|
|
388
|
-
"name": "
|
|
389
|
-
"version": "
|
|
395
|
+
"name": "postgres",
|
|
396
|
+
"version": "3.5.12",
|
|
390
397
|
"dependencies": [
|
|
391
398
|
"async",
|
|
399
|
+
"buffer",
|
|
400
|
+
"charcode",
|
|
401
|
+
"collection",
|
|
402
|
+
"crypto",
|
|
392
403
|
"meta",
|
|
404
|
+
"pool",
|
|
393
405
|
"stack_trace",
|
|
394
|
-
"
|
|
395
|
-
"test_api"
|
|
406
|
+
"stream_channel"
|
|
396
407
|
]
|
|
397
408
|
},
|
|
398
409
|
{
|
|
399
|
-
"name": "
|
|
400
|
-
"version": "1.
|
|
410
|
+
"name": "charcode",
|
|
411
|
+
"version": "1.4.0",
|
|
412
|
+
"dependencies": []
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"name": "buffer",
|
|
416
|
+
"version": "1.2.3",
|
|
417
|
+
"dependencies": []
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"name": "pool",
|
|
421
|
+
"version": "1.5.3",
|
|
401
422
|
"dependencies": [
|
|
402
|
-
"
|
|
403
|
-
"
|
|
404
|
-
"string_scanner"
|
|
423
|
+
"async",
|
|
424
|
+
"stack_trace"
|
|
405
425
|
]
|
|
406
426
|
},
|
|
407
427
|
{
|
|
408
|
-
"name": "
|
|
409
|
-
"version": "
|
|
428
|
+
"name": "test",
|
|
429
|
+
"version": "1.32.0",
|
|
410
430
|
"dependencies": [
|
|
411
|
-
"
|
|
431
|
+
"analyzer",
|
|
432
|
+
"async",
|
|
433
|
+
"boolean_selector",
|
|
434
|
+
"collection",
|
|
435
|
+
"coverage",
|
|
436
|
+
"http_multi_server",
|
|
437
|
+
"io",
|
|
438
|
+
"matcher",
|
|
439
|
+
"node_preamble",
|
|
440
|
+
"package_config",
|
|
441
|
+
"path",
|
|
442
|
+
"pool",
|
|
443
|
+
"shelf",
|
|
444
|
+
"shelf_packages_handler",
|
|
445
|
+
"shelf_static",
|
|
446
|
+
"shelf_web_socket",
|
|
447
|
+
"source_span",
|
|
448
|
+
"stack_trace",
|
|
449
|
+
"stream_channel",
|
|
450
|
+
"test_api",
|
|
451
|
+
"test_core",
|
|
452
|
+
"typed_data",
|
|
453
|
+
"web_socket_channel",
|
|
454
|
+
"webkit_inspection_protocol",
|
|
455
|
+
"yaml"
|
|
412
456
|
]
|
|
413
457
|
},
|
|
414
458
|
{
|
|
415
|
-
"name": "
|
|
416
|
-
"version": "
|
|
459
|
+
"name": "test_core",
|
|
460
|
+
"version": "0.6.20",
|
|
417
461
|
"dependencies": [
|
|
462
|
+
"analyzer",
|
|
418
463
|
"args",
|
|
419
|
-
"
|
|
464
|
+
"async",
|
|
465
|
+
"boolean_selector",
|
|
466
|
+
"collection",
|
|
467
|
+
"coverage",
|
|
468
|
+
"frontend_server_client",
|
|
420
469
|
"glob",
|
|
421
|
-
"
|
|
470
|
+
"io",
|
|
422
471
|
"meta",
|
|
423
472
|
"package_config",
|
|
424
473
|
"path",
|
|
474
|
+
"pool",
|
|
475
|
+
"source_map_stack_trace",
|
|
425
476
|
"source_maps",
|
|
477
|
+
"source_span",
|
|
426
478
|
"stack_trace",
|
|
479
|
+
"stream_channel",
|
|
480
|
+
"test_api",
|
|
427
481
|
"vm_service",
|
|
428
482
|
"yaml"
|
|
429
483
|
]
|
|
430
484
|
},
|
|
431
485
|
{
|
|
432
|
-
"name": "
|
|
433
|
-
"version": "
|
|
434
|
-
"dependencies": [
|
|
435
|
-
"source_span",
|
|
436
|
-
"string_scanner"
|
|
437
|
-
]
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
"name": "async",
|
|
441
|
-
"version": "2.13.1",
|
|
486
|
+
"name": "test_api",
|
|
487
|
+
"version": "0.7.14",
|
|
442
488
|
"dependencies": [
|
|
489
|
+
"async",
|
|
490
|
+
"boolean_selector",
|
|
443
491
|
"collection",
|
|
444
|
-
"meta"
|
|
492
|
+
"meta",
|
|
493
|
+
"source_span",
|
|
494
|
+
"stack_trace",
|
|
495
|
+
"stream_channel",
|
|
496
|
+
"string_scanner",
|
|
497
|
+
"term_glyph"
|
|
445
498
|
]
|
|
446
499
|
},
|
|
447
500
|
{
|
|
448
|
-
"name": "
|
|
449
|
-
"version": "
|
|
501
|
+
"name": "coverage",
|
|
502
|
+
"version": "1.15.1",
|
|
450
503
|
"dependencies": [
|
|
451
|
-
"
|
|
452
|
-
"
|
|
453
|
-
"convert",
|
|
454
|
-
"crypto",
|
|
504
|
+
"args",
|
|
505
|
+
"cli_config",
|
|
455
506
|
"glob",
|
|
507
|
+
"logging",
|
|
456
508
|
"meta",
|
|
457
509
|
"package_config",
|
|
458
510
|
"path",
|
|
459
|
-
"
|
|
460
|
-
"
|
|
461
|
-
"
|
|
511
|
+
"source_maps",
|
|
512
|
+
"stack_trace",
|
|
513
|
+
"vm_service",
|
|
462
514
|
"yaml"
|
|
463
515
|
]
|
|
464
516
|
},
|
|
465
517
|
{
|
|
466
|
-
"name": "
|
|
467
|
-
"version": "
|
|
518
|
+
"name": "cli_config",
|
|
519
|
+
"version": "0.2.0",
|
|
468
520
|
"dependencies": [
|
|
469
|
-
"
|
|
470
|
-
"
|
|
471
|
-
"string_scanner",
|
|
472
|
-
"typed_data"
|
|
521
|
+
"args",
|
|
522
|
+
"yaml"
|
|
473
523
|
]
|
|
474
524
|
},
|
|
475
525
|
{
|
|
476
|
-
"name": "
|
|
477
|
-
"version": "
|
|
478
|
-
"dependencies": [
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
"dependencies": []
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
"name": "charcode",
|
|
487
|
-
"version": "1.4.0",
|
|
488
|
-
"dependencies": []
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
"name": "buffer",
|
|
492
|
-
"version": "1.2.3",
|
|
493
|
-
"dependencies": []
|
|
494
|
-
},
|
|
495
|
-
{
|
|
496
|
-
"name": "ffi",
|
|
497
|
-
"version": "2.2.0",
|
|
498
|
-
"dependencies": []
|
|
526
|
+
"name": "yaml",
|
|
527
|
+
"version": "3.1.4",
|
|
528
|
+
"dependencies": [
|
|
529
|
+
"collection",
|
|
530
|
+
"source_span",
|
|
531
|
+
"string_scanner"
|
|
532
|
+
]
|
|
499
533
|
},
|
|
500
534
|
{
|
|
501
|
-
"name": "
|
|
502
|
-
"version": "
|
|
535
|
+
"name": "frontend_server_client",
|
|
536
|
+
"version": "4.0.0",
|
|
503
537
|
"dependencies": [
|
|
504
|
-
"
|
|
505
|
-
"meta",
|
|
538
|
+
"async",
|
|
506
539
|
"path"
|
|
507
540
|
]
|
|
508
541
|
},
|
|
509
542
|
{
|
|
510
|
-
"name": "
|
|
511
|
-
"version": "3.
|
|
543
|
+
"name": "shelf_packages_handler",
|
|
544
|
+
"version": "3.0.2",
|
|
512
545
|
"dependencies": [
|
|
513
|
-
"
|
|
546
|
+
"path",
|
|
547
|
+
"shelf",
|
|
548
|
+
"shelf_static"
|
|
514
549
|
]
|
|
515
550
|
},
|
|
516
551
|
{
|
|
517
|
-
"name": "
|
|
518
|
-
"version": "
|
|
552
|
+
"name": "node_preamble",
|
|
553
|
+
"version": "2.0.2",
|
|
519
554
|
"dependencies": []
|
|
520
555
|
},
|
|
521
556
|
{
|
|
522
|
-
"name": "
|
|
523
|
-
"version": "2.1.
|
|
524
|
-
"dependencies": [
|
|
525
|
-
"async"
|
|
526
|
-
]
|
|
527
|
-
},
|
|
528
|
-
{
|
|
529
|
-
"name": "supabase_common",
|
|
530
|
-
"version": "0.1.2",
|
|
557
|
+
"name": "boolean_selector",
|
|
558
|
+
"version": "2.1.2",
|
|
531
559
|
"dependencies": [
|
|
532
|
-
"
|
|
533
|
-
"
|
|
560
|
+
"source_span",
|
|
561
|
+
"string_scanner"
|
|
534
562
|
]
|
|
535
563
|
},
|
|
536
564
|
{
|
|
537
|
-
"name": "
|
|
538
|
-
"version": "2.
|
|
565
|
+
"name": "source_map_stack_trace",
|
|
566
|
+
"version": "2.1.2",
|
|
539
567
|
"dependencies": [
|
|
540
|
-
"
|
|
541
|
-
"
|
|
542
|
-
"
|
|
543
|
-
"mime",
|
|
544
|
-
"supabase_common"
|
|
568
|
+
"path",
|
|
569
|
+
"source_maps",
|
|
570
|
+
"stack_trace"
|
|
545
571
|
]
|
|
546
572
|
},
|
|
547
573
|
{
|
|
548
|
-
"name": "
|
|
549
|
-
"version": "2.
|
|
574
|
+
"name": "glob",
|
|
575
|
+
"version": "2.2.0",
|
|
550
576
|
"dependencies": [
|
|
577
|
+
"async",
|
|
551
578
|
"collection",
|
|
552
|
-
"
|
|
553
|
-
"
|
|
554
|
-
"
|
|
555
|
-
"supabase_common",
|
|
556
|
-
"web_socket_channel"
|
|
557
|
-
]
|
|
558
|
-
},
|
|
559
|
-
{
|
|
560
|
-
"name": "postgrest",
|
|
561
|
-
"version": "2.9.1",
|
|
562
|
-
"dependencies": [
|
|
563
|
-
"http",
|
|
564
|
-
"logging",
|
|
565
|
-
"meta",
|
|
566
|
-
"supabase_common",
|
|
567
|
-
"yet_another_json_isolate"
|
|
579
|
+
"file",
|
|
580
|
+
"path",
|
|
581
|
+
"string_scanner"
|
|
568
582
|
]
|
|
569
583
|
},
|
|
570
584
|
{
|
|
571
|
-
"name": "
|
|
572
|
-
"version": "
|
|
585
|
+
"name": "file",
|
|
586
|
+
"version": "7.0.1",
|
|
573
587
|
"dependencies": [
|
|
574
|
-
"collection",
|
|
575
|
-
"crypto",
|
|
576
|
-
"dart_jsonwebtoken",
|
|
577
|
-
"http",
|
|
578
|
-
"logging",
|
|
579
588
|
"meta",
|
|
580
|
-
"
|
|
581
|
-
"web"
|
|
589
|
+
"path"
|
|
582
590
|
]
|
|
583
591
|
},
|
|
584
592
|
{
|
|
585
|
-
"name": "
|
|
586
|
-
"version": "2.
|
|
593
|
+
"name": "webkit_inspection_protocol",
|
|
594
|
+
"version": "1.2.1",
|
|
587
595
|
"dependencies": [
|
|
588
|
-
"
|
|
589
|
-
"logging",
|
|
590
|
-
"supabase_common",
|
|
591
|
-
"yet_another_json_isolate"
|
|
596
|
+
"logging"
|
|
592
597
|
]
|
|
593
598
|
},
|
|
594
599
|
{
|
|
595
|
-
"name": "
|
|
596
|
-
"version": "1.
|
|
600
|
+
"name": "shelf_static",
|
|
601
|
+
"version": "1.1.3",
|
|
597
602
|
"dependencies": [
|
|
598
|
-
"
|
|
603
|
+
"convert",
|
|
604
|
+
"http_parser",
|
|
605
|
+
"mime",
|
|
606
|
+
"path",
|
|
607
|
+
"shelf"
|
|
599
608
|
]
|
|
600
609
|
},
|
|
601
610
|
{
|
|
602
|
-
"name": "
|
|
603
|
-
"version": "
|
|
611
|
+
"name": "http_multi_server",
|
|
612
|
+
"version": "3.2.2",
|
|
604
613
|
"dependencies": [
|
|
605
|
-
"
|
|
614
|
+
"async"
|
|
606
615
|
]
|
|
607
616
|
},
|
|
608
|
-
{
|
|
609
|
-
"name": "vm_service",
|
|
610
|
-
"version": "15.3.0",
|
|
611
|
-
"dependencies": []
|
|
612
|
-
},
|
|
613
617
|
{
|
|
614
618
|
"name": "source_maps",
|
|
615
619
|
"version": "0.10.14",
|
|
@@ -618,52 +622,55 @@
|
|
|
618
622
|
]
|
|
619
623
|
},
|
|
620
624
|
{
|
|
621
|
-
"name": "
|
|
622
|
-
"version": "
|
|
625
|
+
"name": "package_config",
|
|
626
|
+
"version": "3.0.0",
|
|
623
627
|
"dependencies": [
|
|
624
|
-
"
|
|
625
|
-
"source_maps",
|
|
626
|
-
"stack_trace"
|
|
628
|
+
"meta"
|
|
627
629
|
]
|
|
628
630
|
},
|
|
629
631
|
{
|
|
630
|
-
"name": "
|
|
631
|
-
"version": "
|
|
632
|
+
"name": "matcher",
|
|
633
|
+
"version": "0.12.20",
|
|
632
634
|
"dependencies": [
|
|
633
635
|
"async",
|
|
634
|
-
"
|
|
635
|
-
"
|
|
636
|
-
"
|
|
637
|
-
"
|
|
636
|
+
"meta",
|
|
637
|
+
"stack_trace",
|
|
638
|
+
"term_glyph",
|
|
639
|
+
"test_api"
|
|
638
640
|
]
|
|
639
641
|
},
|
|
640
642
|
{
|
|
641
|
-
"name": "
|
|
642
|
-
"version": "
|
|
643
|
+
"name": "io",
|
|
644
|
+
"version": "1.1.0",
|
|
643
645
|
"dependencies": [
|
|
644
|
-
"
|
|
645
|
-
"path"
|
|
646
|
+
"meta",
|
|
647
|
+
"path",
|
|
648
|
+
"string_scanner"
|
|
646
649
|
]
|
|
647
650
|
},
|
|
648
651
|
{
|
|
649
|
-
"name": "
|
|
650
|
-
"version": "
|
|
651
|
-
"dependencies": []
|
|
652
|
-
},
|
|
653
|
-
{
|
|
654
|
-
"name": "cli_config",
|
|
655
|
-
"version": "0.2.0",
|
|
652
|
+
"name": "analyzer",
|
|
653
|
+
"version": "14.3.0",
|
|
656
654
|
"dependencies": [
|
|
657
|
-
"
|
|
655
|
+
"_fe_analyzer_shared",
|
|
656
|
+
"collection",
|
|
657
|
+
"convert",
|
|
658
|
+
"crypto",
|
|
659
|
+
"glob",
|
|
660
|
+
"meta",
|
|
661
|
+
"package_config",
|
|
662
|
+
"path",
|
|
663
|
+
"pub_semver",
|
|
664
|
+
"source_span",
|
|
665
|
+
"watcher",
|
|
658
666
|
"yaml"
|
|
659
667
|
]
|
|
660
668
|
},
|
|
661
669
|
{
|
|
662
|
-
"name": "
|
|
663
|
-
"version": "
|
|
670
|
+
"name": "_fe_analyzer_shared",
|
|
671
|
+
"version": "107.0.0",
|
|
664
672
|
"dependencies": [
|
|
665
|
-
"
|
|
666
|
-
"path"
|
|
673
|
+
"meta"
|
|
667
674
|
]
|
|
668
675
|
},
|
|
669
676
|
{
|
|
@@ -674,32 +681,25 @@
|
|
|
674
681
|
]
|
|
675
682
|
},
|
|
676
683
|
{
|
|
677
|
-
"name": "
|
|
678
|
-
"version": "
|
|
679
|
-
"dependencies": [
|
|
680
|
-
"meta"
|
|
681
|
-
]
|
|
682
|
-
},
|
|
683
|
-
{
|
|
684
|
-
"name": "dart_jsonwebtoken",
|
|
685
|
-
"version": "3.4.1",
|
|
684
|
+
"name": "watcher",
|
|
685
|
+
"version": "1.2.1",
|
|
686
686
|
"dependencies": [
|
|
687
|
-
"
|
|
688
|
-
"
|
|
689
|
-
"pointycastle"
|
|
687
|
+
"async",
|
|
688
|
+
"path"
|
|
690
689
|
]
|
|
691
690
|
},
|
|
692
691
|
{
|
|
693
|
-
"name": "
|
|
694
|
-
"version": "
|
|
692
|
+
"name": "shelf_web_socket",
|
|
693
|
+
"version": "3.0.0",
|
|
695
694
|
"dependencies": [
|
|
696
|
-
"
|
|
697
|
-
"
|
|
695
|
+
"shelf",
|
|
696
|
+
"stream_channel",
|
|
697
|
+
"web_socket_channel"
|
|
698
698
|
]
|
|
699
699
|
},
|
|
700
700
|
{
|
|
701
|
-
"name": "
|
|
702
|
-
"version": "
|
|
701
|
+
"name": "vm_service",
|
|
702
|
+
"version": "15.3.0",
|
|
703
703
|
"dependencies": []
|
|
704
704
|
}
|
|
705
705
|
],
|
package/package.json
CHANGED
package/scripts/postinstall.js
CHANGED
|
@@ -94,3 +94,97 @@ if (res.status !== 0) {
|
|
|
94
94
|
}
|
|
95
95
|
chmod(target);
|
|
96
96
|
console.log(`flutter-ota: built ${target}`);
|
|
97
|
+
|
|
98
|
+
// Ensure the npm bin wrapper exists (entry point for `flutter-ota` command)
|
|
99
|
+
const wrapper = path.join(binDir, 'flutter-ota.js');
|
|
100
|
+
if (!fs.existsSync(wrapper)) {
|
|
101
|
+
const wrapperContent = `#!/usr/bin/env node
|
|
102
|
+
'use strict';
|
|
103
|
+
|
|
104
|
+
// Launcher for the flutter_ota_kit CLI.
|
|
105
|
+
//
|
|
106
|
+
// Resolves a platform+arch-specific prebuilt binary (\`flutter-ota-<os>-<arch>\`)
|
|
107
|
+
// shipped next to this script, falling back to \`dart run\` of the bundled Dart
|
|
108
|
+
// source when no prebuilt exists for the current architecture (e.g. a user on
|
|
109
|
+
// arm64 with only an x64 binary present). This keeps the package installable on
|
|
110
|
+
// any platform that has the Dart SDK, without us needing to ship every binary.
|
|
111
|
+
|
|
112
|
+
const { spawnSync } = require('child_process');
|
|
113
|
+
const fs = require('fs');
|
|
114
|
+
const path = require('path');
|
|
115
|
+
|
|
116
|
+
function platform() {
|
|
117
|
+
if (process.platform === 'win32') return 'windows';
|
|
118
|
+
if (process.platform === 'darwin') return 'macos';
|
|
119
|
+
return 'linux';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function arch() {
|
|
123
|
+
// Only x64/arm64 matter for Dart AOT; everything else falls back to Dart VM.
|
|
124
|
+
return process.arch === 'arm64' ? 'arm64' : 'x64';
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const platformName = platform();
|
|
128
|
+
const archName = arch();
|
|
129
|
+
const ext = process.platform === 'win32' ? '.exe' : '';
|
|
130
|
+
const binDir = __dirname;
|
|
131
|
+
const binName = \`flutter-ota-\${platformName}-\${archName}\${ext}\`;
|
|
132
|
+
const binPath = path.join(binDir, binName);
|
|
133
|
+
|
|
134
|
+
const sourceEntry = path.join(
|
|
135
|
+
binDir, '..', 'dart-src', 'packages', 'cli-tools', 'bin', 'flutter_ota_kit.dart',
|
|
136
|
+
);
|
|
137
|
+
const cliDir = path.dirname(path.dirname(sourceEntry));
|
|
138
|
+
|
|
139
|
+
function chmodIfNeeded(p) {
|
|
140
|
+
try {
|
|
141
|
+
const st = fs.statSync(p);
|
|
142
|
+
// Ensure owner-executable bit is set.
|
|
143
|
+
if (!(st.mode & 0o100)) fs.chmodSync(p, st.mode | 0o755);
|
|
144
|
+
} catch (_) {
|
|
145
|
+
// Non-fatal.
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function run(bin, args) {
|
|
150
|
+
const res = spawnSync(bin, args, { stdio: 'inherit', windowsHide: false });
|
|
151
|
+
process.exit(res.status == null ? 1 : res.status);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (fs.existsSync(binPath)) {
|
|
155
|
+
chmodIfNeeded(binPath);
|
|
156
|
+
run(binPath, process.argv.slice(2));
|
|
157
|
+
} else if (
|
|
158
|
+
spawnSync('dart', ['--version'], { stdio: 'ignore' }).status === 0 &&
|
|
159
|
+
fs.existsSync(sourceEntry)
|
|
160
|
+
) {
|
|
161
|
+
// Ensure dependencies are resolved before running from source. We only run
|
|
162
|
+
// \`dart pub get\` when the package config is missing, so repeated invocations
|
|
163
|
+
// don't re-resolve dependencies on every command.
|
|
164
|
+
const configPath = path.join(cliDir, '.dart_tool', 'package_config.json');
|
|
165
|
+
if (!fs.existsSync(configPath)) {
|
|
166
|
+
const getRes = spawnSync('dart', ['pub', 'get'], { stdio: 'inherit', cwd: cliDir });
|
|
167
|
+
if (getRes.status !== 0) {
|
|
168
|
+
console.error(
|
|
169
|
+
'flutter-ota: \`dart pub get\` failed. Install dependencies or build ' +
|
|
170
|
+
\`a prebuilt manually:\n cd \${cliDir} && dart compile exe \` +
|
|
171
|
+
\`bin/flutter_ota_kit.dart -o \${binPath}\`,
|
|
172
|
+
);
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
chmodIfNeeded(binPath);
|
|
177
|
+
run('dart', [sourceEntry, ...process.argv.slice(2)]);
|
|
178
|
+
} else {
|
|
179
|
+
console.error(
|
|
180
|
+
\`flutter-ota: no prebuilt binary for \${platformName}-\${archName} and \` +
|
|
181
|
+
'the Dart SDK was not found. Install Dart (https://dart.dev) or use a ' +
|
|
182
|
+
'platform/arch with a shipped prebuilt binary.',
|
|
183
|
+
);
|
|
184
|
+
process.exit(1);
|
|
185
|
+
}
|
|
186
|
+
`;
|
|
187
|
+
fs.writeFileSync(wrapper, wrapperContent);
|
|
188
|
+
chmod(wrapper);
|
|
189
|
+
console.log(`flutter-ota: created npm bin wrapper at ${wrapper}`);
|
|
190
|
+
}
|