@expo/cli 0.11.0 → 0.12.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/build/bin/cli +2 -2
- package/build/src/api/getExpoGoIntermediateCertificate.js +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +1 -1
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +1 -1
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +1 -1
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +5 -5
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +1 -1
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/actions.js +2 -2
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/otp.js +1 -1
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +2 -2
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +17 -1
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/customize/customizeAsync.js +1 -1
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +29 -2
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/templates.js +8 -0
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +54 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createBundles.js +1 -1
- package/build/src/export/createBundles.js.map +1 -1
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +50 -4
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +1 -3
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +6 -10
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/exportApp.js +50 -41
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +2 -2
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +1 -1
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +42 -12
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +27 -2
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +1 -1
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/printBundleSizes.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/writeContents.js +5 -1
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/install/checkPackages.js +1 -1
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/installAsync.js +1 -1
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +5 -9
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +5 -5
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +8 -5
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/register/registerAsync.js +0 -1
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +1 -1
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +2 -2
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +2 -2
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +4 -4
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +2 -2
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +3 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +2 -2
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +1 -1
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +2 -2
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +3 -3
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +43 -2
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +5 -3
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +7 -7
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +11 -10
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/index.js +0 -2
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +1 -1
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +3 -3
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +1 -1
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +5 -5
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +1 -1
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +2 -2
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +1 -1
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +1 -1
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +5 -5
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +1 -1
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/resolveOptions.js +0 -5
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +4 -3
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +4 -11
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +3 -2
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +2 -1
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +2 -2
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +42 -25
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +14 -3
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/index.js +1 -1
- package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +49 -8
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/resolveFromProject.js +0 -4
- package/build/src/start/server/metro/resolveFromProject.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +1 -1
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +59 -9
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +6 -5
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +2 -2
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +8 -11
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +6 -6
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +3 -3
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +10 -5
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +1 -1
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/startAsync.js +10 -32
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +1 -1
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/analytics/rudderstackClient.js +2 -2
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +2 -2
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +2 -2
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +1 -1
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +2 -2
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +1 -1
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +1 -1
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +2 -2
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/git.js +1 -1
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +1 -1
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +1 -1
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/npm.js +1 -1
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/plist.js +1 -1
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +1 -1
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +1 -1
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/scheme.js +1 -1
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +85 -5
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/package.json +11 -8
- package/build/src/api/signManifest.js +0 -26
- package/build/src/api/signManifest.js.map +0 -1
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js +0 -155
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js.map +0 -1
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
6
|
-
var _os = _interopRequireDefault(require("os"));
|
|
7
|
-
var _settings = require("../../../api/settings");
|
|
8
|
-
var _signManifest = require("../../../api/signManifest");
|
|
9
|
-
var _userSettings = _interopRequireDefault(require("../../../api/user/UserSettings"));
|
|
10
|
-
var _user = require("../../../api/user/user");
|
|
11
|
-
var Log = _interopRequireWildcard(require("../../../log"));
|
|
12
|
-
var _rudderstackClient = require("../../../utils/analytics/rudderstackClient");
|
|
13
|
-
var _env = require("../../../utils/env");
|
|
14
|
-
var _fn = require("../../../utils/fn");
|
|
15
|
-
var _link = require("../../../utils/link");
|
|
16
|
-
var _url = require("../../../utils/url");
|
|
17
|
-
var _manifestMiddleware = require("./ManifestMiddleware");
|
|
18
|
-
var _resolvePlatform = require("./resolvePlatform");
|
|
19
|
-
function _interopRequireDefault(obj) {
|
|
20
|
-
return obj && obj.__esModule ? obj : {
|
|
21
|
-
default: obj
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function _interopRequireWildcard(obj) {
|
|
25
|
-
if (obj && obj.__esModule) {
|
|
26
|
-
return obj;
|
|
27
|
-
} else {
|
|
28
|
-
var newObj = {};
|
|
29
|
-
if (obj != null) {
|
|
30
|
-
for(var key in obj){
|
|
31
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
32
|
-
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
33
|
-
if (desc.get || desc.set) {
|
|
34
|
-
Object.defineProperty(newObj, key, desc);
|
|
35
|
-
} else {
|
|
36
|
-
newObj[key] = obj[key];
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
newObj.default = obj;
|
|
42
|
-
return newObj;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const debug = require("debug")("expo:start:server:middleware:ClassicManifestMiddleware");
|
|
46
|
-
class ClassicManifestMiddleware extends _manifestMiddleware.ManifestMiddleware {
|
|
47
|
-
getParsedHeaders(req) {
|
|
48
|
-
const platform = (0, _resolvePlatform).parsePlatformHeader(req) || "ios";
|
|
49
|
-
(0, _resolvePlatform).assertRuntimePlatform(platform);
|
|
50
|
-
return {
|
|
51
|
-
platform,
|
|
52
|
-
acceptSignature: this.getLegacyAcceptSignatureHeader(req),
|
|
53
|
-
hostname: (0, _url).stripPort(req.headers["host"])
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* This header is specified as a string "true" or "false", in one of two headers:
|
|
58
|
-
* - exponent-accept-signature
|
|
59
|
-
* - expo-accept-signature
|
|
60
|
-
*/ getLegacyAcceptSignatureHeader(req) {
|
|
61
|
-
return req.headers["exponent-accept-signature"] === "true" || req.headers["expo-accept-signature"] === "true";
|
|
62
|
-
}
|
|
63
|
-
async _getManifestResponseAsync({ acceptSignature , ...requestOptions }) {
|
|
64
|
-
const { exp , hostUri , expoGoConfig , bundleUrl } = await this._resolveProjectSettingsAsync(requestOptions);
|
|
65
|
-
const manifest = {
|
|
66
|
-
...exp,
|
|
67
|
-
...expoGoConfig,
|
|
68
|
-
hostUri,
|
|
69
|
-
bundleUrl
|
|
70
|
-
};
|
|
71
|
-
// Gather packager and host info
|
|
72
|
-
const hostInfo = await createHostInfoAsync();
|
|
73
|
-
const headers = new Map();
|
|
74
|
-
headers.set("Exponent-Server", JSON.stringify(hostInfo));
|
|
75
|
-
// Create the final string
|
|
76
|
-
const body = await this._fetchComputedManifestStringAsync({
|
|
77
|
-
manifest,
|
|
78
|
-
hostId: hostInfo.host,
|
|
79
|
-
acceptSignature
|
|
80
|
-
});
|
|
81
|
-
return {
|
|
82
|
-
body,
|
|
83
|
-
version: manifest.sdkVersion,
|
|
84
|
-
headers
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
trackManifest(version) {
|
|
88
|
-
// Log analytics
|
|
89
|
-
(0, _rudderstackClient).logEventAsync("Serve Manifest", {
|
|
90
|
-
sdkVersion: version != null ? version : null
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
/** Exposed for testing. */ async _getManifestStringAsync({ manifest , hostId , acceptSignature }) {
|
|
94
|
-
const currentSession = await (0, _user).getUserAsync();
|
|
95
|
-
if (!currentSession || _env.env.EXPO_OFFLINE) {
|
|
96
|
-
manifest.id = `@${_user.ANONYMOUS_USERNAME}/${manifest.slug}-${hostId}`;
|
|
97
|
-
}
|
|
98
|
-
if (!acceptSignature) {
|
|
99
|
-
return JSON.stringify(manifest);
|
|
100
|
-
} else if (!currentSession || _env.env.EXPO_OFFLINE) {
|
|
101
|
-
return getUnsignedManifestString(manifest);
|
|
102
|
-
} else {
|
|
103
|
-
return this.getSignedManifestStringAsync(manifest);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
getSignedManifestStringAsync = (0, _fn).memoize(_signManifest.signClassicExpoGoManifestAsync);
|
|
107
|
-
/** Exposed for testing. */ async _fetchComputedManifestStringAsync(props) {
|
|
108
|
-
try {
|
|
109
|
-
return await this._getManifestStringAsync(props);
|
|
110
|
-
} catch (error) {
|
|
111
|
-
debug(`Error getting manifest:`, error);
|
|
112
|
-
if (error.code === "UNAUTHORIZED" && props.manifest.owner) {
|
|
113
|
-
// Don't have permissions for signing, warn and enable offline mode.
|
|
114
|
-
this.addSigningDisabledWarning(`This project belongs to ${_chalk.default.bold(`@${props.manifest.owner}`)} and you have not been granted the appropriate permissions.\n` + `Please request access from an admin of @${props.manifest.owner} or change the "owner" field to an account you belong to.\n` + (0, _link).learnMore("https://docs.expo.dev/versions/latest/config/app/#owner"));
|
|
115
|
-
(0, _settings).disableNetwork();
|
|
116
|
-
return await this._getManifestStringAsync(props);
|
|
117
|
-
} else if (error.code === "ENOTFOUND" || error.code === "OFFLINE") {
|
|
118
|
-
// Got a DNS error, i.e. can't access exp.host, warn and enable offline mode.
|
|
119
|
-
this.addSigningDisabledWarning(`Could not reach Expo servers, please check if you can access ${error.hostname || "exp.host"}.`);
|
|
120
|
-
(0, _settings).disableNetwork();
|
|
121
|
-
return await this._getManifestStringAsync(props);
|
|
122
|
-
} else {
|
|
123
|
-
throw error;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
addSigningDisabledWarning = (0, _fn).memoize((reason)=>{
|
|
128
|
-
Log.warn(`${reason}\nFalling back to offline mode.`);
|
|
129
|
-
// For the memo
|
|
130
|
-
return reason;
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
exports.ClassicManifestMiddleware = ClassicManifestMiddleware;
|
|
134
|
-
// Passed to Expo Go and registered as telemetry.
|
|
135
|
-
// TODO: it's unclear why we don't just send it from the CLI.
|
|
136
|
-
async function createHostInfoAsync() {
|
|
137
|
-
return {
|
|
138
|
-
host: await _userSettings.default.getAnonymousIdentifierAsync(),
|
|
139
|
-
server: "expo",
|
|
140
|
-
// Defined in the build step
|
|
141
|
-
serverVersion: "0.11.0",
|
|
142
|
-
serverDriver: _manifestMiddleware.DEVELOPER_TOOL,
|
|
143
|
-
serverOS: _os.default.platform(),
|
|
144
|
-
serverOSVersion: _os.default.release()
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
function getUnsignedManifestString(manifest) {
|
|
148
|
-
const unsignedManifest = {
|
|
149
|
-
manifestString: JSON.stringify(manifest),
|
|
150
|
-
signature: "UNSIGNED"
|
|
151
|
-
};
|
|
152
|
-
return JSON.stringify(unsignedManifest);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
//# sourceMappingURL=ClassicManifestMiddleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/ClassicManifestMiddleware.ts"],"sourcesContent":["import { ExpoAppManifest, ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport os from 'os';\n\nimport { disableNetwork } from '../../../api/settings';\nimport { signClassicExpoGoManifestAsync } from '../../../api/signManifest';\nimport UserSettings from '../../../api/user/UserSettings';\nimport { ANONYMOUS_USERNAME, getUserAsync } from '../../../api/user/user';\nimport * as Log from '../../../log';\nimport { logEventAsync } from '../../../utils/analytics/rudderstackClient';\nimport { env } from '../../../utils/env';\nimport { memoize } from '../../../utils/fn';\nimport { learnMore } from '../../../utils/link';\nimport { stripPort } from '../../../utils/url';\nimport {\n DEVELOPER_TOOL,\n HostInfo,\n ManifestMiddleware,\n ManifestRequestInfo,\n} from './ManifestMiddleware';\nimport { assertRuntimePlatform, parsePlatformHeader } from './resolvePlatform';\nimport { ServerHeaders, ServerRequest } from './server.types';\n\ntype SignManifestProps = {\n manifest: ExpoAppManifest;\n hostId: string;\n acceptSignature: boolean;\n};\n\ninterface ClassicManifestRequestInfo extends ManifestRequestInfo {\n /** Should return the signed manifest. */\n acceptSignature: boolean;\n}\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:ClassicManifestMiddleware'\n) as typeof console.log;\n\nexport class ClassicManifestMiddleware extends ManifestMiddleware<ClassicManifestRequestInfo> {\n public getParsedHeaders(req: ServerRequest): ClassicManifestRequestInfo {\n const platform = parsePlatformHeader(req) || 'ios';\n assertRuntimePlatform(platform);\n return {\n platform,\n acceptSignature: this.getLegacyAcceptSignatureHeader(req),\n hostname: stripPort(req.headers['host']),\n };\n }\n\n /**\n * This header is specified as a string \"true\" or \"false\", in one of two headers:\n * - exponent-accept-signature\n * - expo-accept-signature\n */\n private getLegacyAcceptSignatureHeader(req: ServerRequest): boolean {\n return (\n req.headers['exponent-accept-signature'] === 'true' ||\n req.headers['expo-accept-signature'] === 'true'\n );\n }\n\n public async _getManifestResponseAsync({\n acceptSignature,\n ...requestOptions\n }: ClassicManifestRequestInfo): Promise<{\n body: string;\n version: string;\n headers: ServerHeaders;\n }> {\n const { exp, hostUri, expoGoConfig, bundleUrl } = await this._resolveProjectSettingsAsync(\n requestOptions\n );\n\n const manifest: ExpoAppManifest = {\n ...(exp as ExpoAppManifest),\n ...expoGoConfig,\n hostUri,\n bundleUrl,\n };\n\n // Gather packager and host info\n const hostInfo = await createHostInfoAsync();\n\n const headers = new Map<string, any>();\n headers.set('Exponent-Server', JSON.stringify(hostInfo));\n\n // Create the final string\n const body = await this._fetchComputedManifestStringAsync({\n manifest,\n hostId: hostInfo.host,\n acceptSignature,\n });\n\n return {\n body,\n version: manifest.sdkVersion,\n headers,\n };\n }\n\n protected trackManifest(version?: string) {\n // Log analytics\n logEventAsync('Serve Manifest', {\n sdkVersion: version ?? null,\n });\n }\n\n /** Exposed for testing. */\n async _getManifestStringAsync({\n manifest,\n hostId,\n acceptSignature,\n }: SignManifestProps): Promise<string> {\n const currentSession = await getUserAsync();\n if (!currentSession || env.EXPO_OFFLINE) {\n manifest.id = `@${ANONYMOUS_USERNAME}/${manifest.slug}-${hostId}`;\n }\n if (!acceptSignature) {\n return JSON.stringify(manifest);\n } else if (!currentSession || env.EXPO_OFFLINE) {\n return getUnsignedManifestString(manifest);\n } else {\n return this.getSignedManifestStringAsync(manifest);\n }\n }\n\n private getSignedManifestStringAsync = memoize(signClassicExpoGoManifestAsync);\n\n /** Exposed for testing. */\n async _fetchComputedManifestStringAsync(props: SignManifestProps): Promise<string> {\n try {\n return await this._getManifestStringAsync(props);\n } catch (error: any) {\n debug(`Error getting manifest:`, error);\n if (error.code === 'UNAUTHORIZED' && props.manifest.owner) {\n // Don't have permissions for signing, warn and enable offline mode.\n this.addSigningDisabledWarning(\n `This project belongs to ${chalk.bold(\n `@${props.manifest.owner}`\n )} and you have not been granted the appropriate permissions.\\n` +\n `Please request access from an admin of @${props.manifest.owner} or change the \"owner\" field to an account you belong to.\\n` +\n learnMore('https://docs.expo.dev/versions/latest/config/app/#owner')\n );\n\n disableNetwork();\n return await this._getManifestStringAsync(props);\n } else if (error.code === 'ENOTFOUND' || error.code === 'OFFLINE') {\n // Got a DNS error, i.e. can't access exp.host, warn and enable offline mode.\n this.addSigningDisabledWarning(\n `Could not reach Expo servers, please check if you can access ${\n error.hostname || 'exp.host'\n }.`\n );\n\n disableNetwork();\n return await this._getManifestStringAsync(props);\n } else {\n throw error;\n }\n }\n }\n\n private addSigningDisabledWarning = memoize((reason: string) => {\n Log.warn(`${reason}\\nFalling back to offline mode.`);\n // For the memo\n return reason;\n });\n}\n\n// Passed to Expo Go and registered as telemetry.\n// TODO: it's unclear why we don't just send it from the CLI.\nasync function createHostInfoAsync(): Promise<HostInfo> {\n return {\n host: await UserSettings.getAnonymousIdentifierAsync(),\n server: 'expo',\n // Defined in the build step\n serverVersion: process.env.__EXPO_VERSION!,\n serverDriver: DEVELOPER_TOOL,\n serverOS: os.platform(),\n serverOSVersion: os.release(),\n };\n}\n\nfunction getUnsignedManifestString(manifest: ExpoConfig) {\n const unsignedManifest = {\n manifestString: JSON.stringify(manifest),\n signature: 'UNSIGNED',\n };\n return JSON.stringify(unsignedManifest);\n}\n"],"names":["Log","debug","require","ClassicManifestMiddleware","ManifestMiddleware","getParsedHeaders","req","platform","parsePlatformHeader","assertRuntimePlatform","acceptSignature","getLegacyAcceptSignatureHeader","hostname","stripPort","headers","_getManifestResponseAsync","requestOptions","exp","hostUri","expoGoConfig","bundleUrl","_resolveProjectSettingsAsync","manifest","hostInfo","createHostInfoAsync","Map","set","JSON","stringify","body","_fetchComputedManifestStringAsync","hostId","host","version","sdkVersion","trackManifest","logEventAsync","_getManifestStringAsync","currentSession","getUserAsync","env","EXPO_OFFLINE","id","ANONYMOUS_USERNAME","slug","getUnsignedManifestString","getSignedManifestStringAsync","memoize","signClassicExpoGoManifestAsync","props","error","code","owner","addSigningDisabledWarning","chalk","bold","learnMore","disableNetwork","reason","warn","UserSettings","getAnonymousIdentifierAsync","server","serverVersion","process","__EXPO_VERSION","serverDriver","DEVELOPER_TOOL","serverOS","os","serverOSVersion","release","unsignedManifest","manifestString","signature"],"mappings":"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"}
|