@expo/cli 55.0.3 → 55.0.5
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/build/bin/cli +1 -1
- package/build/src/api/graphql/client.js +133 -68
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +21 -25
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +45 -38
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +7 -7
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +3 -7
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +1 -8
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/user/user.js +6 -36
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +2 -6
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveLocalTemplate.js +2 -4
- package/build/src/prebuild/resolveLocalTemplate.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +13 -17
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +4 -6
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +2 -8
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +1 -9
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +13 -8
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +4 -14
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +17 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +1 -13
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +1 -3
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +47 -34
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +27 -4
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +2 -62
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/utils/build-cache-providers/index.js +1 -1
- package/build/src/utils/build-cache-providers/index.js.map +1 -1
- package/build/src/utils/codesigning.js +3 -17
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +3 -38
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +1 -12
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/fetch.js +23 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/freeport.js +21 -5
- package/build/src/utils/freeport.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +2 -15
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/npm.js +60 -65
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/port.js +4 -4
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/resolveGlobal.js +195 -0
- package/build/src/utils/resolveGlobal.js.map +1 -0
- package/build/src/utils/tar.js +138 -69
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +12 -24
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +1 -1
- package/package.json +18 -28
- package/build/src/api/graphql/types/App.js +0 -29
- package/build/src/api/graphql/types/App.js.map +0 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +0 -31
- package/build/src/api/rest/wrapFetchWithProxy.js.map +0 -1
- package/build/src/graphql/generated.js +0 -1196
- package/build/src/graphql/generated.js.map +0 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +0 -85
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +0 -1
- package/build/src/utils/multipartMixed.js +0 -56
- package/build/src/utils/multipartMixed.js.map +0 -1
package/build/src/utils/tar.js
CHANGED
|
@@ -2,98 +2,167 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
extractAsync: function() {
|
|
8
13
|
return extractAsync;
|
|
14
|
+
},
|
|
15
|
+
extractStream: function() {
|
|
16
|
+
return extractStream;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
|
-
function
|
|
12
|
-
const data =
|
|
13
|
-
|
|
19
|
+
function _multitars() {
|
|
20
|
+
const data = require("multitars");
|
|
21
|
+
_multitars = function() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
function _nodecrypto() {
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:crypto"));
|
|
28
|
+
_nodecrypto = function() {
|
|
14
29
|
return data;
|
|
15
30
|
};
|
|
16
31
|
return data;
|
|
17
32
|
}
|
|
18
|
-
function
|
|
19
|
-
const data = require("
|
|
20
|
-
|
|
33
|
+
function _nodefs() {
|
|
34
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
35
|
+
_nodefs = function() {
|
|
21
36
|
return data;
|
|
22
37
|
};
|
|
23
38
|
return data;
|
|
24
39
|
}
|
|
25
|
-
|
|
40
|
+
function _nodepath() {
|
|
41
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
42
|
+
_nodepath = function() {
|
|
43
|
+
return data;
|
|
44
|
+
};
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
function _nodestream() {
|
|
48
|
+
const data = require("node:stream");
|
|
49
|
+
_nodestream = function() {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
return data;
|
|
53
|
+
}
|
|
54
|
+
const _dir = require("./dir");
|
|
26
55
|
function _interop_require_default(obj) {
|
|
27
56
|
return obj && obj.__esModule ? obj : {
|
|
28
57
|
default: obj
|
|
29
58
|
};
|
|
30
59
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return obj;
|
|
42
|
-
}
|
|
43
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
44
|
-
return {
|
|
45
|
-
default: obj
|
|
46
|
-
};
|
|
60
|
+
const debug = require('debug')('expo:utils:tar');
|
|
61
|
+
class ChecksumStream extends TransformStream {
|
|
62
|
+
constructor(algorithm){
|
|
63
|
+
super({
|
|
64
|
+
transform: (chunk, controller)=>{
|
|
65
|
+
this.hash.update(chunk);
|
|
66
|
+
controller.enqueue(chunk);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.hash = _nodecrypto().default.createHash(algorithm);
|
|
47
70
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return cache.get(obj);
|
|
71
|
+
digest(encoding) {
|
|
72
|
+
return this.hash.digest(encoding);
|
|
51
73
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
}
|
|
75
|
+
async function extractStream(input, output, options = {}) {
|
|
76
|
+
output = _nodepath().default.resolve(output);
|
|
77
|
+
await (0, _dir.ensureDirectoryAsync)(output);
|
|
78
|
+
const { checksumAlgorithm, strip = 0, rename, filter } = options;
|
|
79
|
+
const checksumStream = new ChecksumStream(checksumAlgorithm || 'md5');
|
|
80
|
+
const decompressionStream = new DecompressionStream('gzip');
|
|
81
|
+
const body = input.pipeThrough(checksumStream).pipeThrough(decompressionStream);
|
|
82
|
+
for await (const file of (0, _multitars().untar)(body)){
|
|
83
|
+
let name = _nodepath().default.normalize(file.name);
|
|
84
|
+
if (filter && !filter(name, file.typeflag)) {
|
|
85
|
+
debug(`filtered: ${_nodepath().default.resolve(output, name)}`);
|
|
86
|
+
continue;
|
|
87
|
+
} else if (rename) {
|
|
88
|
+
name = rename(name, file.typeflag) ?? name;
|
|
89
|
+
}
|
|
90
|
+
for(let idx = 0; idx < strip; idx++){
|
|
91
|
+
const sepIdx = name.indexOf(_nodepath().default.sep);
|
|
92
|
+
if (sepIdx > -1) {
|
|
93
|
+
name = name.slice(sepIdx + 1);
|
|
61
94
|
} else {
|
|
62
|
-
|
|
95
|
+
break;
|
|
63
96
|
}
|
|
64
97
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
98
|
+
const resolved = _nodepath().default.resolve(output, name);
|
|
99
|
+
if (!resolved.startsWith(output)) {
|
|
100
|
+
debug(`skip: ${resolved}`);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const parent = _nodepath().default.dirname(resolved);
|
|
104
|
+
if (parent !== output) {
|
|
105
|
+
let exists = false;
|
|
106
|
+
try {
|
|
107
|
+
const stat = await _nodefs().default.promises.lstat(parent);
|
|
108
|
+
if (stat.isSymbolicLink() || !stat.isDirectory() && !stat.isFile()) {
|
|
109
|
+
debug(`skip: ${resolved}`);
|
|
110
|
+
continue;
|
|
111
|
+
} else if (stat.isDirectory()) {
|
|
112
|
+
exists = true;
|
|
113
|
+
}
|
|
114
|
+
} catch {}
|
|
115
|
+
if (!exists) {
|
|
116
|
+
debug(`mkdir(p): ${parent}`);
|
|
117
|
+
await _nodefs().default.promises.mkdir(parent, {
|
|
118
|
+
recursive: true
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
switch(file.typeflag){
|
|
123
|
+
case _multitars().TarTypeFlag.FILE:
|
|
124
|
+
debug(`write(${file.mode.toString(8)}): ${resolved}`);
|
|
125
|
+
await _nodefs().default.promises.writeFile(resolved, (0, _multitars().streamToAsyncIterable)(file.stream()), {
|
|
126
|
+
mode: file.mode
|
|
127
|
+
});
|
|
128
|
+
break;
|
|
129
|
+
case _multitars().TarTypeFlag.DIRECTORY:
|
|
130
|
+
debug(`mkdir(${file.mode.toString(8)}): ${resolved}`);
|
|
131
|
+
try {
|
|
132
|
+
await _nodefs().default.promises.mkdir(resolved, {
|
|
133
|
+
mode: file.mode
|
|
134
|
+
});
|
|
135
|
+
} catch (error) {
|
|
136
|
+
if (error.code !== 'EEXIST') {
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
case _multitars().TarTypeFlag.SYMLINK:
|
|
142
|
+
case _multitars().TarTypeFlag.LINK:
|
|
143
|
+
{
|
|
144
|
+
const target = _nodepath().default.resolve(parent, file.linkname ?? '');
|
|
145
|
+
if (!target.startsWith(output) || target === parent) {
|
|
146
|
+
debug(`skip: ${resolved} -> ${target}`);
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (file.typeflag === _multitars().TarTypeFlag.LINK) {
|
|
150
|
+
debug(`link: ${resolved} -> ${target}`);
|
|
151
|
+
await _nodefs().default.promises.link(target, resolved);
|
|
152
|
+
} else {
|
|
153
|
+
const stat = await _nodefs().default.promises.lstat(target).catch(()=>null);
|
|
154
|
+
const type = (stat == null ? void 0 : stat.isDirectory()) ? 'dir' : 'file';
|
|
155
|
+
debug(`symlink(${type}): ${resolved} -> ${target}`);
|
|
156
|
+
await _nodefs().default.promises.symlink(target, resolved, type);
|
|
157
|
+
}
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
86
160
|
}
|
|
87
|
-
} catch (error) {
|
|
88
|
-
_log.warn(`Failed to extract tar using native tools, falling back on JS tar module. ${error.message}`);
|
|
89
161
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
await (
|
|
94
|
-
file: input,
|
|
95
|
-
cwd: output
|
|
96
|
-
});
|
|
162
|
+
return checksumStream.digest('hex');
|
|
163
|
+
}
|
|
164
|
+
async function extractAsync(input, output, options) {
|
|
165
|
+
await extractStream(_nodestream().Readable.toWeb(_nodefs().default.createReadStream(input)), output, options);
|
|
97
166
|
}
|
|
98
167
|
|
|
99
168
|
//# sourceMappingURL=tar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import { streamToAsyncIterable, TarTypeFlag, untar } from 'multitars';\nimport crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable } from 'node:stream';\n\nimport { ensureDirectoryAsync } from './dir';\n\nconst debug = require('debug')('expo:utils:tar') as typeof console.log;\n\nclass ChecksumStream extends TransformStream {\n hash: crypto.Hash;\n constructor(algorithm: string) {\n super({\n transform: (chunk, controller) => {\n this.hash.update(chunk);\n controller.enqueue(chunk);\n },\n });\n this.hash = crypto.createHash(algorithm);\n }\n\n digest(): Buffer;\n digest(encoding: crypto.BinaryToTextEncoding): string;\n digest(encoding?: crypto.BinaryToTextEncoding): string | Buffer {\n return this.hash.digest(encoding!);\n }\n}\n\nexport interface ExtractOptions {\n strip?: number;\n filter?(name: string, type: TarTypeFlag): boolean | null | undefined;\n rename?(name: string, type: TarTypeFlag): string | null | undefined;\n checksumAlgorithm?: string;\n}\n\nexport async function extractStream(\n input: ReadableStream,\n output: string,\n options: ExtractOptions = {}\n): Promise<string> {\n output = path.resolve(output);\n await ensureDirectoryAsync(output);\n\n const { checksumAlgorithm, strip = 0, rename, filter } = options;\n\n const checksumStream = new ChecksumStream(checksumAlgorithm || 'md5');\n const decompressionStream = new DecompressionStream('gzip');\n\n const body = input.pipeThrough(checksumStream).pipeThrough(decompressionStream);\n\n for await (const file of untar(body)) {\n let name = path.normalize(file.name);\n if (filter && !filter(name, file.typeflag)) {\n debug(`filtered: ${path.resolve(output, name)}`);\n continue;\n } else if (rename) {\n name = rename(name, file.typeflag) ?? name;\n }\n\n for (let idx = 0; idx < strip; idx++) {\n const sepIdx = name.indexOf(path.sep);\n if (sepIdx > -1) {\n name = name.slice(sepIdx + 1);\n } else {\n break;\n }\n }\n\n const resolved = path.resolve(output, name);\n if (!resolved.startsWith(output)) {\n debug(`skip: ${resolved}`);\n continue;\n }\n\n const parent = path.dirname(resolved);\n if (parent !== output) {\n let exists = false;\n try {\n const stat = await fs.promises.lstat(parent);\n if (stat.isSymbolicLink() || (!stat.isDirectory() && !stat.isFile())) {\n debug(`skip: ${resolved}`);\n continue;\n } else if (stat.isDirectory()) {\n exists = true;\n }\n } catch {}\n\n if (!exists) {\n debug(`mkdir(p): ${parent}`);\n await fs.promises.mkdir(parent, { recursive: true });\n }\n }\n\n switch (file.typeflag) {\n case TarTypeFlag.FILE:\n debug(`write(${file.mode.toString(8)}): ${resolved}`);\n await fs.promises.writeFile(resolved, streamToAsyncIterable(file.stream()), {\n mode: file.mode,\n });\n break;\n case TarTypeFlag.DIRECTORY:\n debug(`mkdir(${file.mode.toString(8)}): ${resolved}`);\n try {\n await fs.promises.mkdir(resolved, { mode: file.mode });\n } catch (error: any) {\n if (error.code !== 'EEXIST') {\n throw error;\n }\n }\n break;\n case TarTypeFlag.SYMLINK:\n case TarTypeFlag.LINK: {\n const target = path.resolve(parent, file.linkname ?? '');\n if (!target.startsWith(output) || target === parent) {\n debug(`skip: ${resolved} -> ${target}`);\n continue;\n }\n\n if (file.typeflag === TarTypeFlag.LINK) {\n debug(`link: ${resolved} -> ${target}`);\n await fs.promises.link(target, resolved);\n } else {\n const stat = await fs.promises.lstat(target).catch(() => null);\n const type = stat?.isDirectory() ? 'dir' : 'file';\n debug(`symlink(${type}): ${resolved} -> ${target}`);\n await fs.promises.symlink(target, resolved, type);\n }\n break;\n }\n }\n }\n\n return checksumStream.digest('hex');\n}\n\n/** Extract a tar using built-in tools if available and falling back on Node.js. */\nexport async function extractAsync(\n input: string,\n output: string,\n options?: ExtractOptions\n): Promise<void> {\n await extractStream(\n Readable.toWeb(fs.createReadStream(input)) as ReadableStream,\n output,\n options\n );\n}\n"],"names":["extractAsync","extractStream","debug","require","ChecksumStream","TransformStream","constructor","algorithm","transform","chunk","controller","hash","update","enqueue","crypto","createHash","digest","encoding","input","output","options","path","resolve","ensureDirectoryAsync","checksumAlgorithm","strip","rename","filter","checksumStream","decompressionStream","DecompressionStream","body","pipeThrough","file","untar","name","normalize","typeflag","idx","sepIdx","indexOf","sep","slice","resolved","startsWith","parent","dirname","exists","stat","fs","promises","lstat","isSymbolicLink","isDirectory","isFile","mkdir","recursive","TarTypeFlag","FILE","mode","toString","writeFile","streamToAsyncIterable","stream","DIRECTORY","error","code","SYMLINK","LINK","target","linkname","link","catch","type","symlink","Readable","toWeb","createReadStream"],"mappings":"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"}
|
|
@@ -15,13 +15,6 @@ function _nodebuffer() {
|
|
|
15
15
|
};
|
|
16
16
|
return data;
|
|
17
17
|
}
|
|
18
|
-
function _undici() {
|
|
19
|
-
const data = require("undici");
|
|
20
|
-
_undici = function() {
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
23
|
-
return data;
|
|
24
|
-
}
|
|
25
18
|
const _fetch = require("../../fetch");
|
|
26
19
|
const _constants = require("../utils/constants");
|
|
27
20
|
class FetchClient {
|
|
@@ -33,7 +26,7 @@ class FetchClient {
|
|
|
33
26
|
this.headers = {
|
|
34
27
|
accept: 'application/json',
|
|
35
28
|
'content-type': 'application/json',
|
|
36
|
-
'user-agent': `expo-cli/${"55.0.
|
|
29
|
+
'user-agent': `expo-cli/${"55.0.5"}`,
|
|
37
30
|
authorization: 'Basic ' + _nodebuffer().Buffer.from(`${target}:`).toString('base64')
|
|
38
31
|
};
|
|
39
32
|
}
|
|
@@ -79,22 +72,17 @@ class FetchClient {
|
|
|
79
72
|
}
|
|
80
73
|
}
|
|
81
74
|
function createTelemetryFetch() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
/** Extract the URL string from either `RequestInfo` or `URL` */ function extractUrl(info) {
|
|
95
|
-
if (typeof info === 'string') return info;
|
|
96
|
-
if ('url' in info) return info.url;
|
|
97
|
-
return info.toString();
|
|
75
|
+
return async function telemetryFetch(info, init) {
|
|
76
|
+
let error;
|
|
77
|
+
for(let attemptCount = 0; attemptCount < 3; attemptCount++){
|
|
78
|
+
try {
|
|
79
|
+
return await (0, _fetch.fetch)(info, init);
|
|
80
|
+
} catch (_error) {
|
|
81
|
+
error = _error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
throw error;
|
|
85
|
+
};
|
|
98
86
|
}
|
|
99
87
|
/** Mute a promise by removing the original return type and hide errors */ function mutePromise(promise) {
|
|
100
88
|
return promise.then(()=>{}, ()=>{});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/utils/telemetry/clients/FetchClient.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/utils/telemetry/clients/FetchClient.ts"],"sourcesContent":["import type { RequestInit } from 'fetch-nodeshim';\nimport { Buffer } from 'node:buffer';\n\nimport { fetch } from '../../fetch';\nimport { TelemetryClient, TelemetryClientStrategy, TelemetryRecordInternal } from '../types';\nimport { TELEMETRY_ENDPOINT, TELEMETRY_TARGET } from '../utils/constants';\n\ntype Fetch = typeof fetch;\n\ntype FetchClientOptions = {\n /** The fetch method for sending events, should handle retries and timeouts */\n fetch?: Fetch;\n /** The endpoint for recorded events */\n url?: string;\n /** The telemetry target for all events */\n target?: string;\n};\n\ntype FetchClientEntry = Promise<void> & {\n records: TelemetryRecordInternal[];\n controller: AbortController;\n};\n\nexport class FetchClient implements TelemetryClient {\n /** This client should be used for long-running commands */\n readonly strategy: TelemetryClientStrategy = 'instant';\n /** The fetch instance used to transport telemetry to the backend */\n private fetch: Fetch;\n /** The endpoint to send events to */\n private url: string;\n /** Additional headers to send with every event */\n private headers: RequestInit['headers'];\n /** All records that are queued and being sent */\n private entries: Set<FetchClientEntry> = new Set();\n\n constructor({\n fetch = createTelemetryFetch(),\n url = TELEMETRY_ENDPOINT,\n target = TELEMETRY_TARGET,\n }: FetchClientOptions = {}) {\n this.fetch = fetch;\n this.url = url;\n this.headers = {\n accept: 'application/json',\n 'content-type': 'application/json',\n 'user-agent': `expo-cli/${process.env.__EXPO_VERSION}`,\n authorization: 'Basic ' + Buffer.from(`${target}:`).toString('base64'),\n };\n }\n\n private queue(\n records: TelemetryRecordInternal[],\n controller: AbortController,\n request: ReturnType<typeof fetch>\n ) {\n const entry: FetchClientEntry = mutePromise(request) as any;\n entry.finally(() => this.entries.delete(entry));\n entry.controller = controller;\n entry.records = records;\n\n this.entries.add(entry);\n\n return entry;\n }\n\n record(record: TelemetryRecordInternal[]) {\n const records = Array.isArray(record) ? record : [record];\n\n if (!records.length) return;\n\n const controller = new AbortController();\n const body = JSON.stringify({\n sentAt: new Date(),\n batch: records,\n });\n\n return this.queue(\n records,\n controller,\n this.fetch(this.url, {\n body,\n method: 'POST',\n signal: controller.signal,\n headers: this.headers,\n })\n );\n }\n\n flush() {\n return mutePromise(Promise.all(this.entries));\n }\n\n abort() {\n const records: TelemetryRecordInternal[] = [];\n\n this.entries.forEach((entry) => {\n try {\n entry.controller.abort();\n records.push(...entry.records);\n } catch {\n // Ignore abort errors\n }\n });\n\n return records;\n }\n}\n\nfunction createTelemetryFetch(): typeof fetch {\n return async function telemetryFetch(info, init) {\n let error: any;\n for (let attemptCount = 0; attemptCount < 3; attemptCount++) {\n try {\n return await fetch(info, init);\n } catch (_error: any) {\n error = _error;\n }\n }\n throw error;\n };\n}\n\n/** Mute a promise by removing the original return type and hide errors */\nfunction mutePromise(promise: Promise<any>) {\n return promise.then(\n () => {},\n () => {}\n );\n}\n"],"names":["FetchClient","constructor","fetch","createTelemetryFetch","url","TELEMETRY_ENDPOINT","target","TELEMETRY_TARGET","strategy","entries","Set","headers","accept","process","env","__EXPO_VERSION","authorization","Buffer","from","toString","queue","records","controller","request","entry","mutePromise","finally","delete","add","record","Array","isArray","length","AbortController","body","JSON","stringify","sentAt","Date","batch","method","signal","flush","Promise","all","abort","forEach","push","telemetryFetch","info","init","error","attemptCount","_error","promise","then"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;yBAtBU;;;;;;uBAED;2BAE+B;AAkB9C,MAAMA;IAYXC,YAAY,EACVC,QAAQC,sBAAsB,EAC9BC,MAAMC,6BAAkB,EACxBC,SAASC,2BAAgB,EACN,GAAG,CAAC,CAAC,CAAE;QAf5B,yDAAyD,QAChDC,WAAoC;QAO7C,+CAA+C,QACvCC,UAAiC,IAAIC;QAO3C,IAAI,CAACR,KAAK,GAAGA;QACb,IAAI,CAACE,GAAG,GAAGA;QACX,IAAI,CAACO,OAAO,GAAG;YACbC,QAAQ;YACR,gBAAgB;YAChB,cAAc,CAAC,SAAS,EAAEC,QAAQC,GAAG,CAACC,cAAc,EAAE;YACtDC,eAAe,WAAWC,oBAAM,CAACC,IAAI,CAAC,GAAGZ,OAAO,CAAC,CAAC,EAAEa,QAAQ,CAAC;QAC/D;IACF;IAEQC,MACNC,OAAkC,EAClCC,UAA2B,EAC3BC,OAAiC,EACjC;QACA,MAAMC,QAA0BC,YAAYF;QAC5CC,MAAME,OAAO,CAAC,IAAM,IAAI,CAACjB,OAAO,CAACkB,MAAM,CAACH;QACxCA,MAAMF,UAAU,GAAGA;QACnBE,MAAMH,OAAO,GAAGA;QAEhB,IAAI,CAACZ,OAAO,CAACmB,GAAG,CAACJ;QAEjB,OAAOA;IACT;IAEAK,OAAOA,MAAiC,EAAE;QACxC,MAAMR,UAAUS,MAAMC,OAAO,CAACF,UAAUA,SAAS;YAACA;SAAO;QAEzD,IAAI,CAACR,QAAQW,MAAM,EAAE;QAErB,MAAMV,aAAa,IAAIW;QACvB,MAAMC,OAAOC,KAAKC,SAAS,CAAC;YAC1BC,QAAQ,IAAIC;YACZC,OAAOlB;QACT;QAEA,OAAO,IAAI,CAACD,KAAK,CACfC,SACAC,YACA,IAAI,CAACpB,KAAK,CAAC,IAAI,CAACE,GAAG,EAAE;YACnB8B;YACAM,QAAQ;YACRC,QAAQnB,WAAWmB,MAAM;YACzB9B,SAAS,IAAI,CAACA,OAAO;QACvB;IAEJ;IAEA+B,QAAQ;QACN,OAAOjB,YAAYkB,QAAQC,GAAG,CAAC,IAAI,CAACnC,OAAO;IAC7C;IAEAoC,QAAQ;QACN,MAAMxB,UAAqC,EAAE;QAE7C,IAAI,CAACZ,OAAO,CAACqC,OAAO,CAAC,CAACtB;YACpB,IAAI;gBACFA,MAAMF,UAAU,CAACuB,KAAK;gBACtBxB,QAAQ0B,IAAI,IAAIvB,MAAMH,OAAO;YAC/B,EAAE,OAAM;YACN,sBAAsB;YACxB;QACF;QAEA,OAAOA;IACT;AACF;AAEA,SAASlB;IACP,OAAO,eAAe6C,eAAeC,IAAI,EAAEC,IAAI;QAC7C,IAAIC;QACJ,IAAK,IAAIC,eAAe,GAAGA,eAAe,GAAGA,eAAgB;YAC3D,IAAI;gBACF,OAAO,MAAMlD,IAAAA,YAAK,EAAC+C,MAAMC;YAC3B,EAAE,OAAOG,QAAa;gBACpBF,QAAQE;YACV;QACF;QACA,MAAMF;IACR;AACF;AAEA,wEAAwE,GACxE,SAAS1B,YAAY6B,OAAqB;IACxC,OAAOA,QAAQC,IAAI,CACjB,KAAO,GACP,KAAO;AAEX"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/cli",
|
|
3
|
-
"version": "55.0.
|
|
3
|
+
"version": "55.0.5",
|
|
4
4
|
"description": "The Expo CLI",
|
|
5
5
|
"main": "build/bin/cli",
|
|
6
6
|
"bin": {
|
|
@@ -22,8 +22,7 @@
|
|
|
22
22
|
"test:e2e": "jest --config e2e/jest.config.js",
|
|
23
23
|
"test:playwright": "playwright test --config e2e/playwright.config.ts",
|
|
24
24
|
"prepublishOnly": "expo-module prepublishOnly",
|
|
25
|
-
"expo-module": "expo-module"
|
|
26
|
-
"generate-graphql-code": "graphql-codegen --config graphql-codegen.yml"
|
|
25
|
+
"expo-module": "expo-module"
|
|
27
26
|
},
|
|
28
27
|
"repository": {
|
|
29
28
|
"type": "git",
|
|
@@ -41,29 +40,26 @@
|
|
|
41
40
|
},
|
|
42
41
|
"homepage": "https://github.com/expo/expo/tree/main/packages/@expo/cli",
|
|
43
42
|
"dependencies": {
|
|
44
|
-
"@0no-co/graphql.web": "^1.0.8",
|
|
45
43
|
"@expo/code-signing-certificates": "^0.0.6",
|
|
46
|
-
"@expo/config": "~55.0.
|
|
47
|
-
"@expo/config-plugins": "~55.0.
|
|
44
|
+
"@expo/config": "~55.0.4",
|
|
45
|
+
"@expo/config-plugins": "~55.0.4",
|
|
48
46
|
"@expo/devcert": "^1.2.1",
|
|
49
47
|
"@expo/env": "~2.0.11",
|
|
50
|
-
"@expo/image-utils": "^0.8.
|
|
51
|
-
"@expo/json-file": "^10.0.
|
|
48
|
+
"@expo/image-utils": "^0.8.12",
|
|
49
|
+
"@expo/json-file": "^10.0.12",
|
|
50
|
+
"@expo/log-box": "55.0.4",
|
|
52
51
|
"@expo/metro": "~54.2.0",
|
|
53
|
-
"@expo/metro-config": "~55.0.
|
|
52
|
+
"@expo/metro-config": "~55.0.4",
|
|
54
53
|
"@expo/osascript": "^2.4.2",
|
|
55
|
-
"@expo/package-manager": "^1.10.
|
|
54
|
+
"@expo/package-manager": "^1.10.3",
|
|
56
55
|
"@expo/plist": "^0.5.2",
|
|
57
|
-
"@expo/prebuild-config": "^55.0.
|
|
58
|
-
"@expo/router-server": "^55.0.
|
|
59
|
-
"@expo/log-box": "55.0.2",
|
|
56
|
+
"@expo/prebuild-config": "^55.0.4",
|
|
57
|
+
"@expo/router-server": "^55.0.4",
|
|
60
58
|
"@expo/schema-utils": "^55.0.2",
|
|
61
59
|
"@expo/spawn-async": "^1.7.2",
|
|
62
60
|
"@expo/ws-tunnel": "^1.0.1",
|
|
63
|
-
"@expo/xcpretty": "^4.
|
|
61
|
+
"@expo/xcpretty": "^4.4.0",
|
|
64
62
|
"@react-native/dev-middleware": "0.83.1",
|
|
65
|
-
"@urql/core": "^5.0.6",
|
|
66
|
-
"@urql/exchange-retry": "^1.3.0",
|
|
67
63
|
"accepts": "^1.3.8",
|
|
68
64
|
"arg": "^5.0.2",
|
|
69
65
|
"better-opn": "~3.0.2",
|
|
@@ -76,11 +72,13 @@
|
|
|
76
72
|
"debug": "^4.3.4",
|
|
77
73
|
"dnssd-advertise": "^1.1.1",
|
|
78
74
|
"env-editor": "^0.4.1",
|
|
79
|
-
"expo-server": "^55.0.
|
|
75
|
+
"expo-server": "^55.0.3",
|
|
76
|
+
"fetch-nodeshim": "^0.4.3",
|
|
80
77
|
"getenv": "^2.0.0",
|
|
81
78
|
"glob": "^13.0.0",
|
|
82
79
|
"lan-network": "^0.1.6",
|
|
83
80
|
"minimatch": "^9.0.0",
|
|
81
|
+
"multitars": "^0.2.3",
|
|
84
82
|
"node-forge": "^1.3.3",
|
|
85
83
|
"npm-package-arg": "^11.0.0",
|
|
86
84
|
"ora": "^3.4.0",
|
|
@@ -90,7 +88,6 @@
|
|
|
90
88
|
"prompts": "^2.3.2",
|
|
91
89
|
"qrcode-terminal": "0.11.0",
|
|
92
90
|
"require-from-string": "^2.0.2",
|
|
93
|
-
"requireg": "^0.2.2",
|
|
94
91
|
"resolve-from": "^5.0.0",
|
|
95
92
|
"semver": "^7.6.0",
|
|
96
93
|
"send": "^0.19.0",
|
|
@@ -98,9 +95,7 @@
|
|
|
98
95
|
"source-map-support": "~0.5.21",
|
|
99
96
|
"stacktrace-parser": "^0.1.10",
|
|
100
97
|
"structured-headers": "^0.4.1",
|
|
101
|
-
"tar": "^7.5.2",
|
|
102
98
|
"terminal-link": "^2.1.1",
|
|
103
|
-
"undici": "^6.18.2",
|
|
104
99
|
"wrap-ansi": "^7.0.0",
|
|
105
100
|
"ws": "^8.12.1",
|
|
106
101
|
"zod": "^3.25.76"
|
|
@@ -125,12 +120,8 @@
|
|
|
125
120
|
},
|
|
126
121
|
"devDependencies": {
|
|
127
122
|
"@expo/mcp-tunnel": "~0.2.3",
|
|
128
|
-
"@expo/multipart-body-parser": "^1.0.0",
|
|
129
123
|
"@expo/ngrok": "4.1.3",
|
|
130
|
-
"@
|
|
131
|
-
"@graphql-codegen/typescript": "^2.8.7",
|
|
132
|
-
"@graphql-codegen/typescript-operations": "^2.5.12",
|
|
133
|
-
"@playwright/test": "^1.53.1",
|
|
124
|
+
"@playwright/test": "^1.58.1",
|
|
134
125
|
"@swc/core": "^1.11.11",
|
|
135
126
|
"@taskr/clear": "^1.1.0",
|
|
136
127
|
"@taskr/esnext": "^1.1.0",
|
|
@@ -164,11 +155,10 @@
|
|
|
164
155
|
"memfs": "^3.2.0",
|
|
165
156
|
"nock": "^14.0.10",
|
|
166
157
|
"node-html-parser": "^6.1.5",
|
|
167
|
-
"
|
|
168
|
-
"playwright": "^1.53.1",
|
|
158
|
+
"playwright": "^1.58.1",
|
|
169
159
|
"taskr": "^1.1.0",
|
|
170
160
|
"tree-kill": "^1.2.2",
|
|
171
161
|
"tsd": "^0.28.1"
|
|
172
162
|
},
|
|
173
|
-
"gitHead": "
|
|
163
|
+
"gitHead": "436ffb4355d5207f4a03fbc3568cd33424a40f3e"
|
|
174
164
|
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "AppFragmentNode", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return AppFragmentNode;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function _core() {
|
|
12
|
-
const data = require("@urql/core");
|
|
13
|
-
_core = function() {
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
const AppFragmentNode = (0, _core().gql)`
|
|
19
|
-
fragment AppFragment on App {
|
|
20
|
-
id
|
|
21
|
-
scopeKey
|
|
22
|
-
ownerAccount {
|
|
23
|
-
id
|
|
24
|
-
name
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
`;
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=App.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/graphql/types/App.ts"],"sourcesContent":["import { TypedDocumentNode, gql } from '@urql/core';\n\nexport const AppFragmentNode: TypedDocumentNode = gql`\n fragment AppFragment on App {\n id\n scopeKey\n ownerAccount {\n id\n name\n }\n }\n`;\n"],"names":["AppFragmentNode","gql"],"mappings":";;;;+BAEaA;;;eAAAA;;;;yBAF0B;;;;;;AAEhC,MAAMA,kBAAqCC,IAAAA,WAAG,CAAA,CAAC;;;;;;;;;AAStD,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "wrapFetchWithProxy", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return wrapFetchWithProxy;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function _undici() {
|
|
12
|
-
const data = require("undici");
|
|
13
|
-
_undici = function() {
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
const _env = require("../../utils/env");
|
|
19
|
-
const debug = require('debug')('expo:api:fetch:proxy');
|
|
20
|
-
function wrapFetchWithProxy(fetchFunction) {
|
|
21
|
-
// NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.
|
|
22
|
-
return function fetchWithProxy(url, options = {}) {
|
|
23
|
-
if (!options.dispatcher && _env.env.HTTP_PROXY) {
|
|
24
|
-
debug('Using proxy:', _env.env.HTTP_PROXY);
|
|
25
|
-
options.dispatcher = new (_undici()).EnvHttpProxyAgent();
|
|
26
|
-
}
|
|
27
|
-
return fetchFunction(url, options);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=wrapFetchWithProxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithProxy.ts"],"sourcesContent":["import { EnvHttpProxyAgent } from 'undici';\n\nimport { FetchLike } from './client.types';\nimport { env } from '../../utils/env';\n\nconst debug = require('debug')('expo:api:fetch:proxy') as typeof console.log;\n\n/** Wrap fetch with support for proxies. */\nexport function wrapFetchWithProxy(fetchFunction: FetchLike): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return function fetchWithProxy(url, options = {}) {\n if (!options.dispatcher && env.HTTP_PROXY) {\n debug('Using proxy:', env.HTTP_PROXY);\n options.dispatcher = new EnvHttpProxyAgent();\n }\n\n return fetchFunction(url, options);\n };\n}\n"],"names":["wrapFetchWithProxy","debug","require","fetchFunction","fetchWithProxy","url","options","dispatcher","env","HTTP_PROXY","EnvHttpProxyAgent"],"mappings":";;;;+BAQgBA;;;eAAAA;;;;yBARkB;;;;;;qBAGd;AAEpB,MAAMC,QAAQC,QAAQ,SAAS;AAGxB,SAASF,mBAAmBG,aAAwB;IACzD,mFAAmF;IACnF,OAAO,SAASC,eAAeC,GAAG,EAAEC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAACA,QAAQC,UAAU,IAAIC,QAAG,CAACC,UAAU,EAAE;YACzCR,MAAM,gBAAgBO,QAAG,CAACC,UAAU;YACpCH,QAAQC,UAAU,GAAG,IAAIG,CAAAA,SAAgB,mBAAC;QAC5C;QAEA,OAAOP,cAAcE,KAAKC;IAC5B;AACF"}
|