@expo/cli 55.0.22 → 55.0.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.
Files changed (29) hide show
  1. package/build/bin/cli +1 -1
  2. package/build/src/events/index.js +1 -1
  3. package/build/src/expoUpdatesExports.js +46 -3
  4. package/build/src/expoUpdatesExports.js.map +1 -1
  5. package/build/src/export/embed/exportEmbedAsync.js +13 -4
  6. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  7. package/build/src/export/embed/index.js +1 -1
  8. package/build/src/export/embed/index.js.map +1 -1
  9. package/build/src/export/exportApp.js +8 -2
  10. package/build/src/export/exportApp.js.map +1 -1
  11. package/build/src/export/exportDomComponents.js +11 -4
  12. package/build/src/export/exportDomComponents.js.map +1 -1
  13. package/build/src/start/doctor/ngrok/ExternalModule.js +11 -6
  14. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  15. package/build/src/start/server/metro/MetroBundlerDevServer.js +6 -6
  16. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  17. package/build/src/start/server/metro/createExpoFallbackResolver.js +39 -0
  18. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
  19. package/build/src/start/server/middleware/DomComponentsMiddleware.js +14 -5
  20. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  21. package/build/src/start/server/middleware/ManifestMiddleware.js +4 -41
  22. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  23. package/build/src/utils/filePath.js +3 -29
  24. package/build/src/utils/filePath.js.map +1 -1
  25. package/build/src/utils/telemetry/clients/FetchClient.js +1 -1
  26. package/build/src/utils/telemetry/utils/context.js +1 -1
  27. package/package.json +11 -11
  28. package/build/src/utils/resolveGlobal.js +0 -195
  29. package/build/src/utils/resolveGlobal.js.map +0 -1
@@ -1,195 +0,0 @@
1
- // NOTE: This file is replicated to multiple packages! Keep these files in-sync:
2
- // - packages/@expo/cli/src/utils/resolveGlobal.ts
3
- // - packages/@expo/image-utils/src/resolveGlobal.ts
4
- "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "resolveGlobal", {
9
- enumerable: true,
10
- get: function() {
11
- return resolveGlobal;
12
- }
13
- });
14
- function _child_process() {
15
- const data = require("child_process");
16
- _child_process = function() {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _fs() {
22
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
23
- _fs = function() {
24
- return data;
25
- };
26
- return data;
27
- }
28
- function _module() {
29
- const data = /*#__PURE__*/ _interop_require_default(require("module"));
30
- _module = function() {
31
- return data;
32
- };
33
- return data;
34
- }
35
- function _os() {
36
- const data = /*#__PURE__*/ _interop_require_default(require("os"));
37
- _os = function() {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _path() {
43
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
44
- _path = function() {
45
- return data;
46
- };
47
- return data;
48
- }
49
- function _interop_require_default(obj) {
50
- return obj && obj.__esModule ? obj : {
51
- default: obj
52
- };
53
- }
54
- const memoize = (fn)=>{
55
- let result;
56
- return (...args)=>{
57
- if (result === undefined) {
58
- result = {
59
- value: fn(...args)
60
- };
61
- }
62
- return result.value;
63
- };
64
- };
65
- const isWindows = process.platform === 'win32';
66
- const getDelimitedPaths = (delimited)=>delimited.split(_path().default.delimiter).map((target)=>{
67
- try {
68
- const normalized = _path().default.normalize(target.trim());
69
- if (!normalized) {
70
- return null;
71
- } else if (!_path().default.isAbsolute(normalized)) {
72
- return _path().default.resolve(process.cwd(), normalized);
73
- } else {
74
- return normalized;
75
- }
76
- } catch {
77
- return null;
78
- }
79
- }).filter((target)=>!!target);
80
- const execGetPaths = (cmd, args)=>{
81
- const result = (0, _child_process().spawnSync)(cmd, args, {
82
- encoding: 'utf8'
83
- });
84
- if (!result.error && result.status === 0 && result.stdout) {
85
- const paths = getDelimitedPaths(result.stdout.replace(/[\r\n]+/g, _path().default.delimiter));
86
- return paths.filter((target)=>_fs().default.existsSync(target));
87
- }
88
- return [];
89
- };
90
- const getNativeNodePaths = ()=>{
91
- if (Array.isArray(_module().default.globalPaths)) {
92
- return _module().default.globalPaths;
93
- } else {
94
- return [];
95
- }
96
- };
97
- const getHomePath = memoize(()=>{
98
- try {
99
- return _os().default.homedir();
100
- } catch {
101
- return isWindows ? process.env.UserProfile ?? process.env.USERPROFILE : process.env.HOME;
102
- }
103
- });
104
- const getNpmDefaultPaths = ()=>{
105
- const prefix = [];
106
- const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
107
- if (isWindows && localAppData) {
108
- prefix.push(_path().default.resolve(localAppData, 'npm'));
109
- } else if (!isWindows) {
110
- prefix.push('/usr/local/lib/node_modules');
111
- }
112
- return prefix.filter((target)=>_fs().default.existsSync(target));
113
- };
114
- const getNpmPrefixPaths = memoize(()=>{
115
- const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', [
116
- 'config',
117
- '-g',
118
- 'get',
119
- 'prefix'
120
- ]);
121
- return npmPrefix.map((prefix)=>_path().default.resolve(prefix, 'lib'));
122
- });
123
- const getYarnDefaultPaths = ()=>{
124
- const prefix = [];
125
- const homePath = getHomePath();
126
- const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
127
- const dataHomePath = process.env.XDG_DATA_HOME || homePath && _path().default.join(homePath, '.local', 'share');
128
- if (isWindows && localAppData) {
129
- prefix.push(_path().default.resolve(localAppData, 'Yarn', 'global'));
130
- }
131
- if (dataHomePath) {
132
- prefix.push(_path().default.resolve(dataHomePath, 'yarn', 'global'));
133
- }
134
- if (homePath) {
135
- prefix.push(_path().default.resolve(homePath, '.yarn', 'global'));
136
- }
137
- return prefix.filter((target)=>_fs().default.existsSync(target));
138
- };
139
- const getYarnPrefixPaths = memoize(()=>{
140
- return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', [
141
- 'global',
142
- 'dir'
143
- ]);
144
- });
145
- const getPnpmPrefixPaths = memoize(()=>{
146
- return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', [
147
- 'root',
148
- '-g'
149
- ]);
150
- });
151
- const getBunPrefixPaths = memoize(()=>{
152
- const prefix = [];
153
- const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', [
154
- 'pm',
155
- 'bin',
156
- '-g'
157
- ])[0];
158
- if (!bunPath) {
159
- return [];
160
- }
161
- prefix.push(_path().default.resolve(bunPath, 'global'));
162
- const moduleEntry = _fs().default.readdirSync(bunPath, {
163
- withFileTypes: true
164
- }).find((entry)=>{
165
- return entry.isSymbolicLink() && entry.name !== 'global';
166
- });
167
- if (moduleEntry) {
168
- try {
169
- const moduleTarget = _fs().default.realpathSync(_path().default.resolve(bunPath, moduleEntry.name));
170
- const splitIdx = moduleTarget.indexOf(_path().default.sep + 'node_modules' + _path().default.sep);
171
- if (splitIdx > -1) {
172
- const modulePath = moduleTarget.slice(0, splitIdx);
173
- prefix.push(modulePath);
174
- }
175
- } catch {}
176
- }
177
- return prefix.filter((target)=>_fs().default.existsSync(target));
178
- });
179
- const getPaths = ()=>[
180
- ...getNpmDefaultPaths(),
181
- ...getNpmPrefixPaths(),
182
- ...getYarnDefaultPaths(),
183
- ...getYarnPrefixPaths(),
184
- ...getPnpmPrefixPaths(),
185
- ...getBunPrefixPaths(),
186
- ...getNativeNodePaths(),
187
- process.cwd()
188
- ];
189
- const resolveGlobal = (id)=>{
190
- return require.resolve(id, {
191
- paths: getPaths()
192
- });
193
- };
194
-
195
- //# sourceMappingURL=resolveGlobal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/resolveGlobal.ts"],"sourcesContent":["// NOTE: This file is replicated to multiple packages! Keep these files in-sync:\n// - packages/@expo/cli/src/utils/resolveGlobal.ts\n// - packages/@expo/image-utils/src/resolveGlobal.ts\n\nimport { spawnSync } from 'child_process';\nimport fs from 'fs';\nimport Module from 'module';\nimport os from 'os';\nimport path from 'path';\n\ndeclare module 'module' {\n namespace Module {\n const globalPaths: readonly string[] | void;\n }\n}\n\nconst memoize = <Args extends any[], T>(fn: (...args: Args) => T): ((...args: Args) => T) => {\n let result: { value: T } | undefined;\n return (...args: Args): T => {\n if (result === undefined) {\n result = { value: fn(...args) };\n }\n return result.value;\n };\n};\n\nconst isWindows = process.platform === 'win32';\n\nconst getDelimitedPaths = (delimited: string): string[] =>\n delimited\n .split(path.delimiter)\n .map((target) => {\n try {\n const normalized = path.normalize(target.trim());\n if (!normalized) {\n return null;\n } else if (!path.isAbsolute(normalized)) {\n return path.resolve(process.cwd(), normalized);\n } else {\n return normalized;\n }\n } catch {\n return null;\n }\n })\n .filter((target): target is string => !!target);\n\nconst execGetPaths = (cmd: string, args: string[]): string[] => {\n const result = spawnSync(cmd, args, { encoding: 'utf8' });\n if (!result.error && result.status === 0 && result.stdout) {\n const paths = getDelimitedPaths(result.stdout.replace(/[\\r\\n]+/g, path.delimiter));\n return paths.filter((target) => fs.existsSync(target));\n }\n return [];\n};\n\nconst getNativeNodePaths = () => {\n if (Array.isArray(Module.globalPaths)) {\n return Module.globalPaths;\n } else {\n return [];\n }\n};\n\nconst getHomePath = memoize(() => {\n try {\n return os.homedir();\n } catch {\n return isWindows ? (process.env.UserProfile ?? process.env.USERPROFILE) : process.env.HOME;\n }\n});\n\nconst getNpmDefaultPaths = () => {\n const prefix = [];\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'npm'));\n } else if (!isWindows) {\n prefix.push('/usr/local/lib/node_modules');\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getNpmPrefixPaths = memoize(() => {\n const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', ['config', '-g', 'get', 'prefix']);\n return npmPrefix.map((prefix) => path.resolve(prefix, 'lib'));\n});\n\nconst getYarnDefaultPaths = () => {\n const prefix = [];\n const homePath = getHomePath();\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n const dataHomePath =\n process.env.XDG_DATA_HOME || (homePath && path.join(homePath, '.local', 'share'));\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'Yarn', 'global'));\n }\n if (dataHomePath) {\n prefix.push(path.resolve(dataHomePath, 'yarn', 'global'));\n }\n if (homePath) {\n prefix.push(path.resolve(homePath, '.yarn', 'global'));\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getYarnPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', ['global', 'dir']);\n});\n\nconst getPnpmPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', ['root', '-g']);\n});\n\nconst getBunPrefixPaths = memoize(() => {\n const prefix = [];\n const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', ['pm', 'bin', '-g'])[0];\n if (!bunPath) {\n return [];\n }\n prefix.push(path.resolve(bunPath, 'global'));\n const moduleEntry = fs.readdirSync(bunPath, { withFileTypes: true }).find((entry) => {\n return entry.isSymbolicLink() && entry.name !== 'global';\n });\n if (moduleEntry) {\n try {\n const moduleTarget = fs.realpathSync(path.resolve(bunPath, moduleEntry.name));\n const splitIdx = moduleTarget.indexOf(path.sep + 'node_modules' + path.sep);\n if (splitIdx > -1) {\n const modulePath = moduleTarget.slice(0, splitIdx);\n prefix.push(modulePath);\n }\n } catch {}\n }\n return prefix.filter((target) => fs.existsSync(target));\n});\n\nconst getPaths = () => [\n ...getNpmDefaultPaths(),\n ...getNpmPrefixPaths(),\n ...getYarnDefaultPaths(),\n ...getYarnPrefixPaths(),\n ...getPnpmPrefixPaths(),\n ...getBunPrefixPaths(),\n ...getNativeNodePaths(),\n process.cwd(),\n];\n\n/** Resolve a globally installed module before a locally installed one */\nexport const resolveGlobal = (id: string): string => {\n return require.resolve(id, { paths: getPaths() });\n};\n"],"names":["resolveGlobal","memoize","fn","result","args","undefined","value","isWindows","process","platform","getDelimitedPaths","delimited","split","path","delimiter","map","target","normalized","normalize","trim","isAbsolute","resolve","cwd","filter","execGetPaths","cmd","spawnSync","encoding","error","status","stdout","paths","replace","fs","existsSync","getNativeNodePaths","Array","isArray","Module","globalPaths","getHomePath","os","homedir","env","UserProfile","USERPROFILE","HOME","getNpmDefaultPaths","prefix","localAppData","LocalAppData","LOCALAPPDATA","push","getNpmPrefixPaths","npmPrefix","getYarnDefaultPaths","homePath","dataHomePath","XDG_DATA_HOME","join","getYarnPrefixPaths","getPnpmPrefixPaths","getBunPrefixPaths","bunPath","moduleEntry","readdirSync","withFileTypes","find","entry","isSymbolicLink","name","moduleTarget","realpathSync","splitIdx","indexOf","sep","modulePath","slice","getPaths","id","require"],"mappings":"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"}