@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
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 +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- 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/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/webpack/WebpackBundlerDevServer.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { Application } from 'express';\nimport fs from 'node:fs';\nimport http from 'node:http';\nimport path from 'node:path';\nimport resolveFrom from 'resolve-from';\nimport type webpack from 'webpack';\nimport type WebpackDevServer from 'webpack-dev-server';\n\nimport { compileAsync } from './compile';\nimport {\n importExpoWebpackConfigFromProject,\n importWebpackDevServerFromProject,\n importWebpackFromProject,\n} from './resolveFromProject';\nimport { ensureEnvironmentSupportsTLSAsync } from './tls';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { getIpAddress } from '../../../utils/ip';\nimport { setNodeEnv } from '../../../utils/nodeEnv';\nimport { choosePortAsync } from '../../../utils/port';\nimport { createProgressBar } from '../../../utils/progress';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\nimport { BundlerDevServer, BundlerStartOptions, DevServerInstance } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:webpack:devServer') as typeof console.log;\n\nexport type WebpackConfiguration = webpack.Configuration & {\n devServer?: {\n before?: (app: Application, server: WebpackDevServer, compiler: webpack.Compiler) => void;\n };\n};\n\nfunction assertIsWebpackDevServer(value: any): asserts value is WebpackDevServer {\n if (!value?.sockWrite && !value?.sendMessage) {\n throw new CommandError(\n 'WEBPACK',\n value\n ? 'Expected Webpack dev server, found: ' + (value.constructor?.name ?? value)\n : 'Webpack dev server not started yet.'\n );\n }\n}\n\nexport class WebpackBundlerDevServer extends BundlerDevServer {\n get name(): string {\n return 'webpack';\n }\n\n public async startTypeScriptServices(): Promise<void> {\n // noop -- this feature is Metro-only.\n }\n\n public broadcastMessage(\n method: string | 'reload' | 'devMenu' | 'sendDevCommand',\n params?: Record<string, any>\n ): void {\n if (!this.instance) {\n return;\n }\n\n assertIsWebpackDevServer(this.instance?.server);\n\n // TODO(EvanBacon): Custom Webpack overlay.\n // Default webpack-dev-server sockets use \"content-changed\" instead of \"reload\" (what we use on native).\n // For now, just manually convert the value so our CLI interface can be unified.\n const hackyConvertedMessage = method === 'reload' ? 'content-changed' : method;\n\n if ('sendMessage' in this.instance.server) {\n // @ts-expect-error: https://github.com/expo/expo/issues/21994#issuecomment-1517122501\n this.instance.server.sendMessage(this.instance.server.sockets, hackyConvertedMessage, params);\n } else {\n this.instance.server.sockWrite(this.instance.server.sockets, hackyConvertedMessage, params);\n }\n }\n\n isTargetingNative(): boolean {\n return false;\n }\n\n private async getAvailablePortAsync(options: { defaultPort?: number }): Promise<number> {\n try {\n const defaultPort = options?.defaultPort ?? 19006;\n const port = await choosePortAsync(this.projectRoot, {\n defaultPort,\n host: env.WEB_HOST,\n });\n if (!port) {\n throw new CommandError('NO_PORT_FOUND', `Port ${defaultPort} not available.`);\n }\n return port;\n } catch (error: any) {\n throw new CommandError('NO_PORT_FOUND', error.message);\n }\n }\n\n async bundleAsync({ mode, clear }: { mode: 'development' | 'production'; clear: boolean }) {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n\n if (clear) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n const config = await this.loadConfigAsync({\n isImageEditingEnabled: true,\n mode,\n });\n\n if (!config.plugins) {\n config.plugins = [];\n }\n\n const bar = createProgressBar(chalk`{bold Web} Bundling Javascript [:bar] :percent`, {\n width: 64,\n total: 100,\n clear: true,\n complete: '=',\n incomplete: ' ',\n });\n\n // NOTE(EvanBacon): Add a progress bar to the webpack logger if defined (e.g. not in CI).\n if (bar != null) {\n config.plugins.push(\n new webpack.ProgressPlugin((percent: number) => {\n bar?.update(percent);\n if (percent === 1) {\n bar?.terminate();\n }\n })\n );\n }\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n try {\n await compileAsync(compiler);\n } catch (error: any) {\n Log.error(chalk.red('Failed to compile'));\n throw error;\n } finally {\n bar?.terminate();\n }\n }\n\n protected async startImplementationAsync(\n options: BundlerStartOptions\n ): Promise<DevServerInstance> {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n const WebpackDevServer = importWebpackDevServerFromProject(this.projectRoot);\n\n await this.stopAsync();\n\n options.port = await this.getAvailablePortAsync({\n defaultPort: options.port,\n });\n const { resetDevServer, https, port, mode } = options;\n\n this.urlCreator = this.getUrlCreator({\n port,\n location: {\n scheme: https ? 'https' : 'http',\n },\n });\n\n debug('Starting webpack on port: ' + port);\n\n if (resetDevServer) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n if (https) {\n debug('Configuring TLS to enable HTTPS support');\n await ensureEnvironmentSupportsTLSAsync(this.projectRoot).catch((error) => {\n Log.error(`Error creating TLS certificates: ${error}`);\n });\n }\n\n const config = await this.loadConfigAsync(options);\n\n Log.log(chalk`Starting Webpack on port ${port} in {underline ${mode}} mode.`);\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n const server = new WebpackDevServer(compiler, config.devServer);\n // Launch WebpackDevServer.\n server.listen(port, env.WEB_HOST, function (this: http.Server, error) {\n if (error) {\n Log.error(error.message);\n }\n });\n\n // Extend the close method to ensure that we clean up the local info.\n const originalClose = server.close.bind(server);\n\n server.close = (callback?: (err?: Error) => void) => {\n return originalClose((err?: Error) => {\n this.instance = null;\n callback?.(err);\n });\n };\n\n const _host = getIpAddress();\n const protocol = https ? 'https' : 'http';\n\n return {\n // Server instance\n server,\n // URL Info\n location: {\n url: `${protocol}://${_host}:${port}`,\n port,\n protocol,\n host: _host,\n },\n middleware: null,\n // Match the native protocol.\n messageSocket: {\n broadcast: this.broadcastMessage,\n },\n };\n }\n\n /** Load the Webpack config. Exposed for testing. */\n getProjectConfigFilePath(): string | null {\n // Check if the project has a webpack.config.js in the root.\n return (\n this.getConfigModuleIds().reduce<string | null | undefined>(\n (prev, moduleId) => prev || resolveFrom.silent(this.projectRoot, moduleId),\n null\n ) ?? null\n );\n }\n\n async loadConfigAsync(\n options: Pick<BundlerStartOptions, 'mode' | 'isImageEditingEnabled' | 'https'>,\n argv?: string[]\n ): Promise<WebpackConfiguration> {\n // let bar: ProgressBar | null = null;\n\n const env = {\n projectRoot: this.projectRoot,\n pwa: !!options.isImageEditingEnabled,\n // TODO: Use a new loader in Webpack config...\n logger: {\n info() {},\n },\n mode: options.mode,\n https: options.https,\n };\n setNodeEnv(env.mode ?? 'development');\n require('@expo/env').load(env.projectRoot);\n // Check if the project has a webpack.config.js in the root.\n const projectWebpackConfig = this.getProjectConfigFilePath();\n let config: WebpackConfiguration;\n if (projectWebpackConfig) {\n const webpackConfig = require(projectWebpackConfig);\n if (typeof webpackConfig === 'function') {\n config = await webpackConfig(env, argv);\n } else {\n config = webpackConfig;\n }\n } else {\n // Fallback to the default expo webpack config.\n const loadDefaultConfigAsync = importExpoWebpackConfigFromProject(this.projectRoot);\n config = await loadDefaultConfigAsync(env, argv);\n }\n return config;\n }\n\n protected getConfigModuleIds(): string[] {\n return ['./webpack.config.js'];\n }\n\n protected async clearWebProjectCacheAsync(\n projectRoot: string,\n mode: string = 'development'\n ): Promise<void> {\n Log.log(chalk.dim(`Clearing Webpack ${mode} cache directory...`));\n\n const dir = await ensureDotExpoProjectDirectoryInitialized(projectRoot);\n const cacheFolder = path.join(dir, 'web/cache', mode);\n try {\n await fs.promises.rm(cacheFolder, { recursive: true, force: true });\n } catch (error: any) {\n Log.error(`Could not clear ${mode} web cache directory: ${error.message}`);\n }\n }\n}\n\nexport function getProjectWebpackConfigFilePath(projectRoot: string) {\n return resolveFrom.silent(projectRoot, './webpack.config.js');\n}\n"],"names":["WebpackBundlerDevServer","getProjectWebpackConfigFilePath","debug","require","assertIsWebpackDevServer","value","sockWrite","sendMessage","CommandError","constructor","name","BundlerDevServer","startTypeScriptServices","broadcastMessage","method","params","instance","server","hackyConvertedMessage","sockets","isTargetingNative","getAvailablePortAsync","options","defaultPort","port","choosePortAsync","projectRoot","host","env","WEB_HOST","error","message","bundleAsync","mode","clear","webpack","importWebpackFromProject","clearWebProjectCacheAsync","config","loadConfigAsync","isImageEditingEnabled","plugins","bar","createProgressBar","chalk","width","total","complete","incomplete","push","ProgressPlugin","percent","update","terminate","compiler","compileAsync","Log","red","startImplementationAsync","WebpackDevServer","importWebpackDevServerFromProject","stopAsync","resetDevServer","https","urlCreator","getUrlCreator","location","scheme","ensureEnvironmentSupportsTLSAsync","catch","log","devServer","listen","originalClose","close","bind","callback","err","_host","getIpAddress","protocol","url","middleware","messageSocket","broadcast","getProjectConfigFilePath","getConfigModuleIds","reduce","prev","moduleId","resolveFrom","silent","argv","pwa","logger","info","setNodeEnv","load","projectWebpackConfig","webpackConfig","loadDefaultConfigAsync","importExpoWebpackConfigFromProject","dim","dir","ensureDotExpoProjectDirectoryInitialized","cacheFolder","path","join","fs","promises","rm","recursive","force"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/webpack/WebpackBundlerDevServer.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { Application } from 'express';\nimport fs from 'node:fs';\nimport http from 'node:http';\nimport path from 'node:path';\nimport resolveFrom from 'resolve-from';\nimport type webpack from 'webpack';\nimport type WebpackDevServer from 'webpack-dev-server';\n\nimport { compileAsync } from './compile';\nimport {\n importExpoWebpackConfigFromProject,\n importWebpackDevServerFromProject,\n importWebpackFromProject,\n} from './resolveFromProject';\nimport { ensureEnvironmentSupportsTLSAsync } from './tls';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { getIpAddress } from '../../../utils/ip';\nimport { setNodeEnv } from '../../../utils/nodeEnv';\nimport { choosePortAsync } from '../../../utils/port';\nimport { createProgressBar } from '../../../utils/progress';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\nimport { BundlerDevServer, BundlerStartOptions, DevServerInstance } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:webpack:devServer') as typeof console.log;\n\nexport type WebpackConfiguration = webpack.Configuration & {\n devServer?: {\n before?: (app: Application, server: WebpackDevServer, compiler: webpack.Compiler) => void;\n };\n};\n\nfunction assertIsWebpackDevServer(value: any): asserts value is WebpackDevServer {\n if (!value?.sockWrite && !value?.sendMessage) {\n throw new CommandError(\n 'WEBPACK',\n value\n ? 'Expected Webpack dev server, found: ' + (value.constructor?.name ?? value)\n : 'Webpack dev server not started yet.'\n );\n }\n}\n\nexport class WebpackBundlerDevServer extends BundlerDevServer {\n get name(): string {\n return 'webpack';\n }\n\n public async startTypeScriptServices(): Promise<void> {\n // noop -- this feature is Metro-only.\n }\n\n public broadcastMessage(\n method: string | 'reload' | 'devMenu' | 'sendDevCommand',\n params?: Record<string, any>\n ): void {\n if (!this.instance) {\n return;\n }\n\n assertIsWebpackDevServer(this.instance?.server);\n\n // TODO(EvanBacon): Custom Webpack overlay.\n // Default webpack-dev-server sockets use \"content-changed\" instead of \"reload\" (what we use on native).\n // For now, just manually convert the value so our CLI interface can be unified.\n const hackyConvertedMessage = method === 'reload' ? 'content-changed' : method;\n\n if ('sendMessage' in this.instance.server) {\n // @ts-expect-error: https://github.com/expo/expo/issues/21994#issuecomment-1517122501\n this.instance.server.sendMessage(this.instance.server.sockets, hackyConvertedMessage, params);\n } else {\n this.instance.server.sockWrite(this.instance.server.sockets, hackyConvertedMessage, params);\n }\n }\n\n isTargetingNative(): boolean {\n return false;\n }\n\n private async getAvailablePortAsync(options: { defaultPort?: number }): Promise<number> {\n try {\n const defaultPort = options?.defaultPort ?? 19006;\n const port = await choosePortAsync(this.projectRoot, {\n defaultPort,\n host: env.WEB_HOST,\n });\n if (!port) {\n throw new CommandError('NO_PORT_FOUND', `Port ${defaultPort} not available.`);\n }\n return port;\n } catch (error: any) {\n throw new CommandError('NO_PORT_FOUND', error.message);\n }\n }\n\n async bundleAsync({ mode, clear }: { mode: 'development' | 'production'; clear: boolean }) {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n\n if (clear) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n const config = await this.loadConfigAsync({\n isImageEditingEnabled: true,\n mode,\n });\n\n if (!config.plugins) {\n config.plugins = [];\n }\n\n const bar = createProgressBar(chalk`{bold Web} Bundling Javascript [:bar] :percent`, {\n width: 64,\n total: 100,\n clear: true,\n complete: '=',\n incomplete: ' ',\n });\n\n // NOTE(EvanBacon): Add a progress bar to the webpack logger if defined (e.g. not in CI).\n if (bar != null) {\n config.plugins.push(\n new webpack.ProgressPlugin((percent: number) => {\n bar?.update(percent);\n if (percent === 1) {\n bar?.terminate();\n }\n })\n );\n }\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n try {\n await compileAsync(compiler);\n } catch (error: any) {\n Log.error(chalk.red('Failed to compile'));\n throw error;\n } finally {\n bar?.terminate();\n }\n }\n\n protected async startImplementationAsync(\n options: BundlerStartOptions\n ): Promise<DevServerInstance> {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n const WebpackDevServer = importWebpackDevServerFromProject(this.projectRoot);\n\n await this.stopAsync();\n\n options.port = await this.getAvailablePortAsync({\n defaultPort: options.port,\n });\n const { resetDevServer, https, port, mode } = options;\n\n this.urlCreator = this.getUrlCreator({\n port,\n location: {\n scheme: https ? 'https' : 'http',\n },\n });\n\n debug('Starting webpack on port: ' + port);\n\n if (resetDevServer) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n if (https) {\n debug('Configuring TLS to enable HTTPS support');\n await ensureEnvironmentSupportsTLSAsync(this.projectRoot).catch((error) => {\n Log.error(`Error creating TLS certificates: ${error}`);\n });\n }\n\n const config = await this.loadConfigAsync(options);\n\n Log.log(chalk`Starting Webpack on port ${port} in {underline ${mode}} mode.`);\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n const server = new WebpackDevServer(compiler, config.devServer);\n // Launch WebpackDevServer.\n server.listen(port, env.WEB_HOST, function (this: http.Server, error) {\n if (error) {\n Log.error(error.message);\n }\n });\n\n // Extend the close method to ensure that we clean up the local info.\n const originalClose = server.close.bind(server);\n\n server.close = (callback?: (err?: Error) => void) => {\n return originalClose((err?: Error) => {\n this.instance = null;\n callback?.(err);\n });\n };\n\n const _host = getIpAddress();\n const protocol = https ? 'https' : 'http';\n\n return {\n // Server instance\n server,\n // URL Info\n location: {\n url: `${protocol}://${_host}:${port}`,\n port,\n protocol,\n host: _host,\n },\n middleware: null,\n // Match the native protocol.\n messageSocket: {\n broadcast: this.broadcastMessage,\n },\n };\n }\n\n /** Load the Webpack config. Exposed for testing. */\n getProjectConfigFilePath(): string | null {\n // Check if the project has a webpack.config.js in the root.\n return (\n this.getConfigModuleIds().reduce<string | null | undefined>(\n (prev, moduleId) => prev || resolveFrom.silent(this.projectRoot, moduleId),\n null\n ) ?? null\n );\n }\n\n async loadConfigAsync(\n options: Pick<BundlerStartOptions, 'mode' | 'isImageEditingEnabled' | 'https'>,\n argv?: string[]\n ): Promise<WebpackConfiguration> {\n // let bar: ProgressBar | null = null;\n\n const env = {\n projectRoot: this.projectRoot,\n pwa: !!options.isImageEditingEnabled,\n // TODO: Use a new loader in Webpack config...\n logger: {\n info() {},\n },\n mode: options.mode,\n https: options.https,\n };\n setNodeEnv(env.mode ?? 'development');\n require('@expo/env').load(env.projectRoot);\n // Check if the project has a webpack.config.js in the root.\n const projectWebpackConfig = this.getProjectConfigFilePath();\n let config: WebpackConfiguration;\n if (projectWebpackConfig) {\n const webpackConfig = require(projectWebpackConfig);\n if (typeof webpackConfig === 'function') {\n config = await webpackConfig(env, argv);\n } else {\n config = webpackConfig;\n }\n } else {\n // Fallback to the default expo webpack config.\n const loadDefaultConfigAsync = importExpoWebpackConfigFromProject(this.projectRoot);\n config = await loadDefaultConfigAsync(env, argv);\n }\n return config;\n }\n\n protected getConfigModuleIds(): string[] {\n return ['./webpack.config.js'];\n }\n\n protected async clearWebProjectCacheAsync(\n projectRoot: string,\n mode: string = 'development'\n ): Promise<void> {\n Log.log(chalk.dim(`Clearing Webpack ${mode} cache directory...`));\n\n const dir = await ensureDotExpoProjectDirectoryInitialized(projectRoot);\n const cacheFolder = path.join(dir, 'web/cache', mode);\n try {\n await fs.promises.rm(cacheFolder, { recursive: true, force: true });\n } catch (error: any) {\n Log.error(`Could not clear ${mode} web cache directory: ${error.message}`);\n }\n }\n}\n\nexport function getProjectWebpackConfigFilePath(projectRoot: string) {\n return resolveFrom.silent(projectRoot, './webpack.config.js');\n}\n"],"names":["WebpackBundlerDevServer","getProjectWebpackConfigFilePath","debug","require","assertIsWebpackDevServer","value","sockWrite","sendMessage","CommandError","constructor","name","BundlerDevServer","startTypeScriptServices","broadcastMessage","method","params","instance","server","hackyConvertedMessage","sockets","isTargetingNative","getAvailablePortAsync","options","defaultPort","port","choosePortAsync","projectRoot","host","env","WEB_HOST","error","message","bundleAsync","mode","clear","webpack","importWebpackFromProject","clearWebProjectCacheAsync","config","loadConfigAsync","isImageEditingEnabled","plugins","bar","createProgressBar","chalk","width","total","complete","incomplete","push","ProgressPlugin","percent","update","terminate","compiler","compileAsync","Log","red","startImplementationAsync","WebpackDevServer","importWebpackDevServerFromProject","stopAsync","resetDevServer","https","urlCreator","getUrlCreator","location","scheme","ensureEnvironmentSupportsTLSAsync","catch","log","devServer","listen","originalClose","close","bind","callback","err","_host","getIpAddress","protocol","url","middleware","messageSocket","broadcast","getProjectConfigFilePath","getConfigModuleIds","reduce","prev","moduleId","resolveFrom","silent","argv","pwa","logger","info","setNodeEnv","load","projectWebpackConfig","webpackConfig","loadDefaultConfigAsync","importExpoWebpackConfigFromProject","dim","dir","ensureDotExpoProjectDirectoryInitialized","cacheFolder","path","join","fs","promises","rm","recursive","force"],"mappings":"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"}
|
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "compileAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return compileAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _chalk() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
11
13
|
_chalk = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
@@ -21,9 +23,9 @@ function _util() {
|
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
25
|
const _formatWebpackMessages = require("./formatWebpackMessages");
|
|
24
|
-
const _log = /*#__PURE__*/
|
|
26
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
25
27
|
const _errors = require("../../../utils/errors");
|
|
26
|
-
function
|
|
28
|
+
function _interop_require_default(obj) {
|
|
27
29
|
return obj && obj.__esModule ? obj : {
|
|
28
30
|
default: obj
|
|
29
31
|
};
|
|
@@ -36,7 +38,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
36
38
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
37
39
|
})(nodeInterop);
|
|
38
40
|
}
|
|
39
|
-
function
|
|
41
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
40
42
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
41
43
|
return obj;
|
|
42
44
|
}
|
|
@@ -49,7 +51,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
49
51
|
if (cache && cache.has(obj)) {
|
|
50
52
|
return cache.get(obj);
|
|
51
53
|
}
|
|
52
|
-
var newObj = {
|
|
54
|
+
var newObj = {
|
|
55
|
+
__proto__: null
|
|
56
|
+
};
|
|
53
57
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
54
58
|
for(var key in obj){
|
|
55
59
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -69,7 +73,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
69
73
|
}
|
|
70
74
|
async function compileAsync(compiler) {
|
|
71
75
|
const stats = await (0, _util().promisify)(compiler.run.bind(compiler))();
|
|
72
|
-
const { errors
|
|
76
|
+
const { errors, warnings } = (0, _formatWebpackMessages.formatWebpackMessages)(stats.toJson({
|
|
73
77
|
all: false,
|
|
74
78
|
warnings: true,
|
|
75
79
|
errors: true
|
|
@@ -80,13 +84,13 @@ async function compileAsync(compiler) {
|
|
|
80
84
|
if (errors.length > 1) {
|
|
81
85
|
errors.length = 1;
|
|
82
86
|
}
|
|
83
|
-
throw new _errors.CommandError(
|
|
87
|
+
throw new _errors.CommandError('WEBPACK_BUNDLE', errors.join('\n\n'));
|
|
84
88
|
}
|
|
85
89
|
if (warnings == null ? void 0 : warnings.length) {
|
|
86
|
-
_log.warn(_chalk().default.yellow(
|
|
87
|
-
_log.warn(warnings.join(
|
|
90
|
+
_log.warn(_chalk().default.yellow('Compiled with warnings\n'));
|
|
91
|
+
_log.warn(warnings.join('\n\n'));
|
|
88
92
|
} else {
|
|
89
|
-
_log.log(_chalk().default.green(
|
|
93
|
+
_log.log(_chalk().default.green('Compiled successfully'));
|
|
90
94
|
}
|
|
91
95
|
return {
|
|
92
96
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/webpack/compile.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { promisify } from 'util';\nimport type webpack from 'webpack';\n\nimport { formatWebpackMessages } from './formatWebpackMessages';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\n\n/** Run the `webpack` compiler and format errors/warnings. */\nexport async function compileAsync(compiler: webpack.Compiler) {\n const stats = await promisify(compiler.run.bind(compiler))();\n const { errors, warnings } = formatWebpackMessages(\n stats.toJson({ all: false, warnings: true, errors: true })\n );\n if (errors?.length) {\n // Only keep the first error. Others are often indicative\n // of the same problem, but confuse the reader with noise.\n if (errors.length > 1) {\n errors.length = 1;\n }\n throw new CommandError('WEBPACK_BUNDLE', errors.join('\\n\\n'));\n }\n if (warnings?.length) {\n Log.warn(chalk.yellow('Compiled with warnings\\n'));\n Log.warn(warnings.join('\\n\\n'));\n } else {\n Log.log(chalk.green('Compiled successfully'));\n }\n\n return { errors, warnings };\n}\n"],"names":["compileAsync","compiler","stats","promisify","run","bind","errors","warnings","formatWebpackMessages","toJson","all","length","CommandError","join","Log","warn","chalk","yellow","log","green"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/webpack/compile.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { promisify } from 'util';\nimport type webpack from 'webpack';\n\nimport { formatWebpackMessages } from './formatWebpackMessages';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\n\n/** Run the `webpack` compiler and format errors/warnings. */\nexport async function compileAsync(compiler: webpack.Compiler) {\n const stats = await promisify(compiler.run.bind(compiler))();\n const { errors, warnings } = formatWebpackMessages(\n stats.toJson({ all: false, warnings: true, errors: true })\n );\n if (errors?.length) {\n // Only keep the first error. Others are often indicative\n // of the same problem, but confuse the reader with noise.\n if (errors.length > 1) {\n errors.length = 1;\n }\n throw new CommandError('WEBPACK_BUNDLE', errors.join('\\n\\n'));\n }\n if (warnings?.length) {\n Log.warn(chalk.yellow('Compiled with warnings\\n'));\n Log.warn(warnings.join('\\n\\n'));\n } else {\n Log.log(chalk.green('Compiled successfully'));\n }\n\n return { errors, warnings };\n}\n"],"names":["compileAsync","compiler","stats","promisify","run","bind","errors","warnings","formatWebpackMessages","toJson","all","length","CommandError","join","Log","warn","chalk","yellow","log","green"],"mappings":";;;;+BASsBA;;;eAAAA;;;;gEATJ;;;;;;;yBACQ;;;;;;uCAGY;6DACjB;wBACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtB,eAAeA,aAAaC,QAA0B;IAC3D,MAAMC,QAAQ,MAAMC,IAAAA,iBAAS,EAACF,SAASG,GAAG,CAACC,IAAI,CAACJ;IAChD,MAAM,EAAEK,MAAM,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,4CAAqB,EAChDN,MAAMO,MAAM,CAAC;QAAEC,KAAK;QAAOH,UAAU;QAAMD,QAAQ;IAAK;IAE1D,IAAIA,0BAAAA,OAAQK,MAAM,EAAE;QAClB,yDAAyD;QACzD,0DAA0D;QAC1D,IAAIL,OAAOK,MAAM,GAAG,GAAG;YACrBL,OAAOK,MAAM,GAAG;QAClB;QACA,MAAM,IAAIC,oBAAY,CAAC,kBAAkBN,OAAOO,IAAI,CAAC;IACvD;IACA,IAAIN,4BAAAA,SAAUI,MAAM,EAAE;QACpBG,KAAIC,IAAI,CAACC,gBAAK,CAACC,MAAM,CAAC;QACtBH,KAAIC,IAAI,CAACR,SAASM,IAAI,CAAC;IACzB,OAAO;QACLC,KAAII,GAAG,CAACF,gBAAK,CAACG,KAAK,CAAC;IACtB;IAEA,OAAO;QAAEb;QAAQC;IAAS;AAC5B"}
|
|
@@ -13,23 +13,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "formatWebpackMessages", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: ()
|
|
16
|
+
get: function() {
|
|
17
|
+
return formatWebpackMessages;
|
|
18
|
+
}
|
|
17
19
|
});
|
|
18
|
-
const friendlySyntaxErrorLabel =
|
|
20
|
+
const friendlySyntaxErrorLabel = 'Syntax error:';
|
|
19
21
|
function isLikelyASyntaxError(message) {
|
|
20
22
|
return message.indexOf(friendlySyntaxErrorLabel) !== -1;
|
|
21
23
|
}
|
|
22
24
|
// Cleans up webpack error messages.
|
|
23
25
|
function formatMessage(message) {
|
|
24
26
|
let lines = [];
|
|
25
|
-
if (typeof message ===
|
|
26
|
-
lines = message.split(
|
|
27
|
-
} else if (
|
|
28
|
-
lines = message[
|
|
27
|
+
if (typeof message === 'string') {
|
|
28
|
+
lines = message.split('\n');
|
|
29
|
+
} else if ('message' in message) {
|
|
30
|
+
lines = message['message'].split('\n');
|
|
29
31
|
} else if (Array.isArray(message)) {
|
|
30
32
|
message.forEach((message)=>{
|
|
31
|
-
if (
|
|
32
|
-
lines = message[
|
|
33
|
+
if ('message' in message) {
|
|
34
|
+
lines = message['message'].split('\n');
|
|
33
35
|
}
|
|
34
36
|
});
|
|
35
37
|
}
|
|
@@ -46,55 +48,55 @@ function formatMessage(message) {
|
|
|
46
48
|
const [, errorLine, errorColumn, errorMessage] = parsingError;
|
|
47
49
|
return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;
|
|
48
50
|
});
|
|
49
|
-
message = lines.join(
|
|
51
|
+
message = lines.join('\n');
|
|
50
52
|
// Smoosh syntax errors (commonly found in CSS)
|
|
51
53
|
message = message.replace(/SyntaxError\s+\((\d+):(\d+)\)\s*(.+?)\n/g, `${friendlySyntaxErrorLabel} $3 ($1:$2)\n`);
|
|
52
54
|
// Clean up export errors
|
|
53
55
|
message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$2'.`);
|
|
54
56
|
message = message.replace(/^.*export 'default' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$2' does not contain a default export (imported as '$1').`);
|
|
55
57
|
message = message.replace(/^.*export '(.+?)' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`);
|
|
56
|
-
lines = message.split(
|
|
58
|
+
lines = message.split('\n');
|
|
57
59
|
// Remove leading newline
|
|
58
|
-
if (lines.length > 2 && lines[1].trim() ===
|
|
60
|
+
if (lines.length > 2 && lines[1].trim() === '') {
|
|
59
61
|
lines.splice(1, 1);
|
|
60
62
|
}
|
|
61
63
|
// Clean up file name
|
|
62
|
-
lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/,
|
|
64
|
+
lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1');
|
|
63
65
|
// Cleans up verbose "module not found" messages for files and packages.
|
|
64
|
-
if (lines[1] && lines[1].indexOf(
|
|
66
|
+
if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {
|
|
65
67
|
lines = [
|
|
66
68
|
lines[0],
|
|
67
|
-
lines[1].replace(
|
|
69
|
+
lines[1].replace('Error: ', '').replace('Module not found: Cannot find file:', 'Cannot find file:')
|
|
68
70
|
];
|
|
69
71
|
}
|
|
70
72
|
// Add helpful message for users trying to use Sass for the first time
|
|
71
73
|
if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {
|
|
72
|
-
lines[1] =
|
|
73
|
-
lines[1] +=
|
|
74
|
+
lines[1] = 'To import Sass files, you first need to install sass.\n';
|
|
75
|
+
lines[1] += 'Run `npm install sass` or `yarn add sass` inside your workspace.';
|
|
74
76
|
}
|
|
75
|
-
message = lines.join(
|
|
77
|
+
message = lines.join('\n');
|
|
76
78
|
// Internal stacks are generally useless so we strip them... with the
|
|
77
79
|
// exception of stacks containing `webpack:` because they're normally
|
|
78
80
|
// from user code generated by webpack. For more information see
|
|
79
81
|
// https://github.com/facebook/create-react-app/pull/1050
|
|
80
|
-
message = message.replace(/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm,
|
|
81
|
-
message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm,
|
|
82
|
-
lines = message.split(
|
|
82
|
+
message = message.replace(/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm, ''); // at ... ...:x:y
|
|
83
|
+
message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm, ''); // at <anonymous>
|
|
84
|
+
lines = message.split('\n');
|
|
83
85
|
// Remove duplicated newlines
|
|
84
|
-
lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !==
|
|
86
|
+
lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim());
|
|
85
87
|
// Reassemble the message
|
|
86
|
-
message = lines.join(
|
|
88
|
+
message = lines.join('\n');
|
|
87
89
|
return message.trim();
|
|
88
90
|
}
|
|
89
91
|
function formatWebpackMessages(json) {
|
|
90
|
-
var
|
|
91
|
-
const formattedErrors = json == null ? void 0 : (
|
|
92
|
-
const formattedWarnings = json == null ? void 0 : (
|
|
92
|
+
var _json_errors, _json_warnings, _result_errors;
|
|
93
|
+
const formattedErrors = json == null ? void 0 : (_json_errors = json.errors) == null ? void 0 : _json_errors.map(formatMessage);
|
|
94
|
+
const formattedWarnings = json == null ? void 0 : (_json_warnings = json.warnings) == null ? void 0 : _json_warnings.map(formatMessage);
|
|
93
95
|
const result = {
|
|
94
96
|
errors: formattedErrors,
|
|
95
97
|
warnings: formattedWarnings
|
|
96
98
|
};
|
|
97
|
-
if ((
|
|
99
|
+
if ((_result_errors = result.errors) == null ? void 0 : _result_errors.some(isLikelyASyntaxError)) {
|
|
98
100
|
// If there are any syntax errors, show just them.
|
|
99
101
|
result.errors = result.errors.filter(isLikelyASyntaxError);
|
|
100
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/webpack/formatWebpackMessages.ts"],"sourcesContent":["/**\n * Copyright (c) 2022 Expo, Inc.\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on https://github.com/facebook/create-react-app/blob/b172b5e/packages/react-dev-utils/ModuleNotFoundPlugin.js\n * But with Node LTS support.\n */\n\nimport type { Stats } from 'webpack';\n\nconst friendlySyntaxErrorLabel = 'Syntax error:';\n\nfunction isLikelyASyntaxError(message: string): boolean {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1;\n}\n\n// Cleans up webpack error messages.\nfunction formatMessage(message: string | { message: string } | { message: string }[]) {\n let lines: string[] = [];\n\n if (typeof message === 'string') {\n lines = message.split('\\n');\n } else if ('message' in message) {\n lines = message['message'].split('\\n');\n } else if (Array.isArray(message)) {\n message.forEach((message) => {\n if ('message' in message) {\n lines = message['message'].split('\\n');\n }\n });\n }\n\n // Strip webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line) => !/Module [A-z ]+\\(from/.test(line));\n\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line) => {\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;\n });\n\n message = lines.join('\\n');\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(\n /SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g,\n `${friendlySyntaxErrorLabel} $3 ($1:$2)\\n`\n );\n // Clean up export errors\n message = message.replace(\n /^.*export '(.+?)' was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$2'.`\n );\n message = message.replace(\n /^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$2' does not contain a default export (imported as '$1').`\n );\n message = message.replace(\n /^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`\n );\n lines = message.split('\\n');\n\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1);\n }\n // Clean up file name\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1');\n\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [\n lines[0],\n lines[1]\n .replace('Error: ', '')\n .replace('Module not found: Cannot find file:', 'Cannot find file:'),\n ];\n }\n\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n lines[1] = 'To import Sass files, you first need to install sass.\\n';\n lines[1] += 'Run `npm install sass` or `yarn add sass` inside your workspace.';\n }\n\n message = lines.join('\\n');\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, ''); // at ... ...:x:y\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, ''); // at <anonymous>\n lines = message.split('\\n');\n\n // Remove duplicated newlines\n lines = lines.filter(\n (line, index, arr) => index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim()\n );\n\n // Reassemble the message\n message = lines.join('\\n');\n return message.trim();\n}\n\nexport function formatWebpackMessages(json?: Stats.ToJsonOutput) {\n const formattedErrors = json?.errors?.map(formatMessage);\n const formattedWarnings = json?.warnings?.map(formatMessage);\n const result = { errors: formattedErrors, warnings: formattedWarnings };\n if (result.errors?.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n }\n return result;\n}\n"],"names":["formatWebpackMessages","friendlySyntaxErrorLabel","isLikelyASyntaxError","message","indexOf","formatMessage","lines","split","Array","isArray","forEach","filter","line","test","map","parsingError","exec","errorLine","errorColumn","errorMessage","join","replace","length","trim","splice","match","index","arr","json","result","formattedErrors","errors","formattedWarnings","warnings","some"],"mappings":"AAAA;;;;;;;;;CASC
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/webpack/formatWebpackMessages.ts"],"sourcesContent":["/**\n * Copyright (c) 2022 Expo, Inc.\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on https://github.com/facebook/create-react-app/blob/b172b5e/packages/react-dev-utils/ModuleNotFoundPlugin.js\n * But with Node LTS support.\n */\n\nimport type { Stats } from 'webpack';\n\nconst friendlySyntaxErrorLabel = 'Syntax error:';\n\nfunction isLikelyASyntaxError(message: string): boolean {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1;\n}\n\n// Cleans up webpack error messages.\nfunction formatMessage(message: string | { message: string } | { message: string }[]) {\n let lines: string[] = [];\n\n if (typeof message === 'string') {\n lines = message.split('\\n');\n } else if ('message' in message) {\n lines = message['message'].split('\\n');\n } else if (Array.isArray(message)) {\n message.forEach((message) => {\n if ('message' in message) {\n lines = message['message'].split('\\n');\n }\n });\n }\n\n // Strip webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line) => !/Module [A-z ]+\\(from/.test(line));\n\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line) => {\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;\n });\n\n message = lines.join('\\n');\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(\n /SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g,\n `${friendlySyntaxErrorLabel} $3 ($1:$2)\\n`\n );\n // Clean up export errors\n message = message.replace(\n /^.*export '(.+?)' was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$2'.`\n );\n message = message.replace(\n /^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$2' does not contain a default export (imported as '$1').`\n );\n message = message.replace(\n /^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`\n );\n lines = message.split('\\n');\n\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1);\n }\n // Clean up file name\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1');\n\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [\n lines[0],\n lines[1]\n .replace('Error: ', '')\n .replace('Module not found: Cannot find file:', 'Cannot find file:'),\n ];\n }\n\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n lines[1] = 'To import Sass files, you first need to install sass.\\n';\n lines[1] += 'Run `npm install sass` or `yarn add sass` inside your workspace.';\n }\n\n message = lines.join('\\n');\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, ''); // at ... ...:x:y\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, ''); // at <anonymous>\n lines = message.split('\\n');\n\n // Remove duplicated newlines\n lines = lines.filter(\n (line, index, arr) => index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim()\n );\n\n // Reassemble the message\n message = lines.join('\\n');\n return message.trim();\n}\n\nexport function formatWebpackMessages(json?: Stats.ToJsonOutput) {\n const formattedErrors = json?.errors?.map(formatMessage);\n const formattedWarnings = json?.warnings?.map(formatMessage);\n const result = { errors: formattedErrors, warnings: formattedWarnings };\n if (result.errors?.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n }\n return result;\n}\n"],"names":["formatWebpackMessages","friendlySyntaxErrorLabel","isLikelyASyntaxError","message","indexOf","formatMessage","lines","split","Array","isArray","forEach","filter","line","test","map","parsingError","exec","errorLine","errorColumn","errorMessage","join","replace","length","trim","splice","match","index","arr","json","result","formattedErrors","errors","formattedWarnings","warnings","some"],"mappings":"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"}
|
|
@@ -9,19 +9,25 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
importExpoWebpackConfigFromProject: function() {
|
|
13
|
+
return importExpoWebpackConfigFromProject;
|
|
14
|
+
},
|
|
15
|
+
importWebpackDevServerFromProject: function() {
|
|
16
|
+
return importWebpackDevServerFromProject;
|
|
17
|
+
},
|
|
18
|
+
importWebpackFromProject: function() {
|
|
19
|
+
return importWebpackFromProject;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
|
-
function
|
|
17
|
-
const data = /*#__PURE__*/
|
|
18
|
-
|
|
22
|
+
function _resolvefrom() {
|
|
23
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
24
|
+
_resolvefrom = function() {
|
|
19
25
|
return data;
|
|
20
26
|
};
|
|
21
27
|
return data;
|
|
22
28
|
}
|
|
23
29
|
const _errors = require("../../../utils/errors");
|
|
24
|
-
function
|
|
30
|
+
function _interop_require_default(obj) {
|
|
25
31
|
return obj && obj.__esModule ? obj : {
|
|
26
32
|
default: obj
|
|
27
33
|
};
|
|
@@ -31,11 +37,11 @@ function _interopRequireDefault(obj) {
|
|
|
31
37
|
// TODO: Maybe combine with AsyncResolver?
|
|
32
38
|
class WebpackImportError extends _errors.CommandError {
|
|
33
39
|
constructor(projectRoot, moduleId){
|
|
34
|
-
super(
|
|
40
|
+
super('WEBPACK_IMPORT', `Missing package "${moduleId}" in the project. Try running the command again. (cwd: ${projectRoot})`);
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
function resolveFromProject(projectRoot, moduleId) {
|
|
38
|
-
const resolvedPath =
|
|
44
|
+
const resolvedPath = _resolvefrom().default.silent(projectRoot, moduleId);
|
|
39
45
|
if (!resolvedPath) {
|
|
40
46
|
throw new WebpackImportError(projectRoot, moduleId);
|
|
41
47
|
}
|
|
@@ -45,13 +51,13 @@ function importFromProject(projectRoot, moduleId) {
|
|
|
45
51
|
return require(resolveFromProject(projectRoot, moduleId));
|
|
46
52
|
}
|
|
47
53
|
function importWebpackFromProject(projectRoot) {
|
|
48
|
-
return importFromProject(projectRoot,
|
|
54
|
+
return importFromProject(projectRoot, 'webpack');
|
|
49
55
|
}
|
|
50
56
|
function importExpoWebpackConfigFromProject(projectRoot) {
|
|
51
|
-
return importFromProject(projectRoot,
|
|
57
|
+
return importFromProject(projectRoot, '@expo/webpack-config');
|
|
52
58
|
}
|
|
53
59
|
function importWebpackDevServerFromProject(projectRoot) {
|
|
54
|
-
return importFromProject(projectRoot,
|
|
60
|
+
return importFromProject(projectRoot, 'webpack-dev-server');
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
//# sourceMappingURL=resolveFromProject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/webpack/resolveFromProject.ts"],"sourcesContent":["import resolveFrom from 'resolve-from';\n\nimport { CommandError } from '../../../utils/errors';\n\n// These resolvers enable us to test the CLI in older projects.\n// We may be able to get rid of this in the future.\n// TODO: Maybe combine with AsyncResolver?\nclass WebpackImportError extends CommandError {\n constructor(projectRoot: string, moduleId: string) {\n super(\n 'WEBPACK_IMPORT',\n `Missing package \"${moduleId}\" in the project. Try running the command again. (cwd: ${projectRoot})`\n );\n }\n}\n\nfunction resolveFromProject(projectRoot: string, moduleId: string) {\n const resolvedPath = resolveFrom.silent(projectRoot, moduleId);\n if (!resolvedPath) {\n throw new WebpackImportError(projectRoot, moduleId);\n }\n return resolvedPath;\n}\n\nfunction importFromProject(projectRoot: string, moduleId: string) {\n return require(resolveFromProject(projectRoot, moduleId));\n}\n\n/** Import `webpack` from the project. */\nexport function importWebpackFromProject(projectRoot: string): typeof import('webpack') {\n return importFromProject(projectRoot, 'webpack');\n}\n\n/** Import `@expo/webpack-config` from the project. */\nexport function importExpoWebpackConfigFromProject(projectRoot: string) {\n return importFromProject(projectRoot, '@expo/webpack-config');\n}\n\n/** Import `webpack-dev-server` from the project. */\nexport function importWebpackDevServerFromProject(\n projectRoot: string\n): typeof import('webpack-dev-server') {\n return importFromProject(projectRoot, 'webpack-dev-server');\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/webpack/resolveFromProject.ts"],"sourcesContent":["import resolveFrom from 'resolve-from';\n\nimport { CommandError } from '../../../utils/errors';\n\n// These resolvers enable us to test the CLI in older projects.\n// We may be able to get rid of this in the future.\n// TODO: Maybe combine with AsyncResolver?\nclass WebpackImportError extends CommandError {\n constructor(projectRoot: string, moduleId: string) {\n super(\n 'WEBPACK_IMPORT',\n `Missing package \"${moduleId}\" in the project. Try running the command again. (cwd: ${projectRoot})`\n );\n }\n}\n\nfunction resolveFromProject(projectRoot: string, moduleId: string) {\n const resolvedPath = resolveFrom.silent(projectRoot, moduleId);\n if (!resolvedPath) {\n throw new WebpackImportError(projectRoot, moduleId);\n }\n return resolvedPath;\n}\n\nfunction importFromProject(projectRoot: string, moduleId: string) {\n return require(resolveFromProject(projectRoot, moduleId));\n}\n\n/** Import `webpack` from the project. */\nexport function importWebpackFromProject(projectRoot: string): typeof import('webpack') {\n return importFromProject(projectRoot, 'webpack');\n}\n\n/** Import `@expo/webpack-config` from the project. */\nexport function importExpoWebpackConfigFromProject(projectRoot: string) {\n return importFromProject(projectRoot, '@expo/webpack-config');\n}\n\n/** Import `webpack-dev-server` from the project. */\nexport function importWebpackDevServerFromProject(\n projectRoot: string\n): typeof import('webpack-dev-server') {\n return importFromProject(projectRoot, 'webpack-dev-server');\n}\n"],"names":["importExpoWebpackConfigFromProject","importWebpackDevServerFromProject","importWebpackFromProject","WebpackImportError","CommandError","constructor","projectRoot","moduleId","resolveFromProject","resolvedPath","resolveFrom","silent","importFromProject","require"],"mappings":";;;;;;;;;;;IAkCgBA,kCAAkC;eAAlCA;;IAKAC,iCAAiC;eAAjCA;;IAVAC,wBAAwB;eAAxBA;;;;gEA7BQ;;;;;;wBAEK;;;;;;AAE7B,+DAA+D;AAC/D,mDAAmD;AACnD,0CAA0C;AAC1C,MAAMC,2BAA2BC,oBAAY;IAC3CC,YAAYC,WAAmB,EAAEC,QAAgB,CAAE;QACjD,KAAK,CACH,kBACA,CAAC,iBAAiB,EAAEA,SAAS,uDAAuD,EAAED,YAAY,CAAC,CAAC;IAExG;AACF;AAEA,SAASE,mBAAmBF,WAAmB,EAAEC,QAAgB;IAC/D,MAAME,eAAeC,sBAAW,CAACC,MAAM,CAACL,aAAaC;IACrD,IAAI,CAACE,cAAc;QACjB,MAAM,IAAIN,mBAAmBG,aAAaC;IAC5C;IACA,OAAOE;AACT;AAEA,SAASG,kBAAkBN,WAAmB,EAAEC,QAAgB;IAC9D,OAAOM,QAAQL,mBAAmBF,aAAaC;AACjD;AAGO,SAASL,yBAAyBI,WAAmB;IAC1D,OAAOM,kBAAkBN,aAAa;AACxC;AAGO,SAASN,mCAAmCM,WAAmB;IACpE,OAAOM,kBAAkBN,aAAa;AACxC;AAGO,SAASL,kCACdK,WAAmB;IAEnB,OAAOM,kBAAkBN,aAAa;AACxC"}
|
|
@@ -9,8 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
ensureEnvironmentSupportsTLSAsync: ()
|
|
13
|
-
|
|
12
|
+
ensureEnvironmentSupportsTLSAsync: function() {
|
|
13
|
+
return ensureEnvironmentSupportsTLSAsync;
|
|
14
|
+
},
|
|
15
|
+
getTLSCertAsync: function() {
|
|
16
|
+
return getTLSCertAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _devcert() {
|
|
16
20
|
const data = require("@expo/devcert");
|
|
@@ -20,30 +24,30 @@ function _devcert() {
|
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
26
|
function _chalk() {
|
|
23
|
-
const data = /*#__PURE__*/
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
24
28
|
_chalk = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
27
31
|
return data;
|
|
28
32
|
}
|
|
29
33
|
function _promises() {
|
|
30
|
-
const data = /*#__PURE__*/
|
|
34
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
|
|
31
35
|
_promises = function() {
|
|
32
36
|
return data;
|
|
33
37
|
};
|
|
34
38
|
return data;
|
|
35
39
|
}
|
|
36
40
|
function _path() {
|
|
37
|
-
const data = /*#__PURE__*/
|
|
41
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
38
42
|
_path = function() {
|
|
39
43
|
return data;
|
|
40
44
|
};
|
|
41
45
|
return data;
|
|
42
46
|
}
|
|
43
|
-
const _log = /*#__PURE__*/
|
|
47
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
44
48
|
const _dir = require("../../../utils/dir");
|
|
45
49
|
const _dotExpo = require("../../project/dotExpo");
|
|
46
|
-
function
|
|
50
|
+
function _interop_require_default(obj) {
|
|
47
51
|
return obj && obj.__esModule ? obj : {
|
|
48
52
|
default: obj
|
|
49
53
|
};
|
|
@@ -56,7 +60,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
56
60
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
57
61
|
})(nodeInterop);
|
|
58
62
|
}
|
|
59
|
-
function
|
|
63
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
60
64
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
61
65
|
return obj;
|
|
62
66
|
}
|
|
@@ -69,7 +73,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
69
73
|
if (cache && cache.has(obj)) {
|
|
70
74
|
return cache.get(obj);
|
|
71
75
|
}
|
|
72
|
-
var newObj = {
|
|
76
|
+
var newObj = {
|
|
77
|
+
__proto__: null
|
|
78
|
+
};
|
|
73
79
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
74
80
|
for(var key in obj){
|
|
75
81
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -98,12 +104,12 @@ async function ensureEnvironmentSupportsTLSAsync(projectRoot) {
|
|
|
98
104
|
}
|
|
99
105
|
async function getTLSCertAsync(projectRoot) {
|
|
100
106
|
_log.log((0, _chalk().default)`Creating TLS certificate for localhost. {dim This functionality may not work on all computers.}`);
|
|
101
|
-
const name =
|
|
107
|
+
const name = 'localhost';
|
|
102
108
|
const result = await (0, _devcert().certificateFor)(name);
|
|
103
109
|
if (result) {
|
|
104
110
|
const dotExpoDir = (0, _dotExpo.ensureDotExpoProjectDirectoryInitialized)(projectRoot);
|
|
105
|
-
const { key
|
|
106
|
-
const folder = _path().default.join(dotExpoDir,
|
|
111
|
+
const { key, cert } = result;
|
|
112
|
+
const folder = _path().default.join(dotExpoDir, 'tls');
|
|
107
113
|
const keyPath = _path().default.join(folder, `key-${name}.pem`);
|
|
108
114
|
const certPath = _path().default.join(folder, `cert-${name}.pem`);
|
|
109
115
|
await (0, _dir.ensureDirectoryAsync)(folder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/webpack/tls.ts"],"sourcesContent":["import { certificateFor } from '@expo/devcert';\nimport chalk from 'chalk';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport * as Log from '../../../log';\nimport { ensureDirectoryAsync } from '../../../utils/dir';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\n\n// TODO: Move to doctor as a prereq.\n\n/** Ensure TLS is setup and environment variables are set. */\nexport async function ensureEnvironmentSupportsTLSAsync(projectRoot: string) {\n if (!process.env.SSL_CRT_FILE || !process.env.SSL_KEY_FILE) {\n const tls = await getTLSCertAsync(projectRoot);\n if (tls) {\n process.env.SSL_CRT_FILE = tls.certPath;\n process.env.SSL_KEY_FILE = tls.keyPath;\n }\n }\n}\n\n/** Create TLS and write to files in the temporary directory. Exposed for testing. */\nexport async function getTLSCertAsync(\n projectRoot: string\n): Promise<{ keyPath: string; certPath: string } | false> {\n Log.log(\n chalk`Creating TLS certificate for localhost. {dim This functionality may not work on all computers.}`\n );\n\n const name = 'localhost';\n const result = await certificateFor(name);\n if (result) {\n const dotExpoDir = ensureDotExpoProjectDirectoryInitialized(projectRoot);\n\n const { key, cert } = result;\n const folder = path.join(dotExpoDir, 'tls');\n const keyPath = path.join(folder, `key-${name}.pem`);\n const certPath = path.join(folder, `cert-${name}.pem`);\n\n await ensureDirectoryAsync(folder);\n await Promise.allSettled([fs.writeFile(keyPath, key), fs.writeFile(certPath, cert)]);\n\n return {\n keyPath,\n certPath,\n };\n }\n return result;\n}\n"],"names":["ensureEnvironmentSupportsTLSAsync","getTLSCertAsync","projectRoot","process","env","SSL_CRT_FILE","SSL_KEY_FILE","tls","certPath","keyPath","Log","log","chalk","name","result","certificateFor","dotExpoDir","ensureDotExpoProjectDirectoryInitialized","key","cert","folder","path","join","ensureDirectoryAsync","Promise","allSettled","fs","writeFile"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/webpack/tls.ts"],"sourcesContent":["import { certificateFor } from '@expo/devcert';\nimport chalk from 'chalk';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport * as Log from '../../../log';\nimport { ensureDirectoryAsync } from '../../../utils/dir';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\n\n// TODO: Move to doctor as a prereq.\n\n/** Ensure TLS is setup and environment variables are set. */\nexport async function ensureEnvironmentSupportsTLSAsync(projectRoot: string) {\n if (!process.env.SSL_CRT_FILE || !process.env.SSL_KEY_FILE) {\n const tls = await getTLSCertAsync(projectRoot);\n if (tls) {\n process.env.SSL_CRT_FILE = tls.certPath;\n process.env.SSL_KEY_FILE = tls.keyPath;\n }\n }\n}\n\n/** Create TLS and write to files in the temporary directory. Exposed for testing. */\nexport async function getTLSCertAsync(\n projectRoot: string\n): Promise<{ keyPath: string; certPath: string } | false> {\n Log.log(\n chalk`Creating TLS certificate for localhost. {dim This functionality may not work on all computers.}`\n );\n\n const name = 'localhost';\n const result = await certificateFor(name);\n if (result) {\n const dotExpoDir = ensureDotExpoProjectDirectoryInitialized(projectRoot);\n\n const { key, cert } = result;\n const folder = path.join(dotExpoDir, 'tls');\n const keyPath = path.join(folder, `key-${name}.pem`);\n const certPath = path.join(folder, `cert-${name}.pem`);\n\n await ensureDirectoryAsync(folder);\n await Promise.allSettled([fs.writeFile(keyPath, key), fs.writeFile(certPath, cert)]);\n\n return {\n keyPath,\n certPath,\n };\n }\n return result;\n}\n"],"names":["ensureEnvironmentSupportsTLSAsync","getTLSCertAsync","projectRoot","process","env","SSL_CRT_FILE","SSL_KEY_FILE","tls","certPath","keyPath","Log","log","chalk","name","result","certificateFor","dotExpoDir","ensureDotExpoProjectDirectoryInitialized","key","cert","folder","path","join","ensureDirectoryAsync","Promise","allSettled","fs","writeFile"],"mappings":";;;;;;;;;;;IAYsBA,iCAAiC;eAAjCA;;IAWAC,eAAe;eAAfA;;;;yBAvBS;;;;;;;gEACb;;;;;;;gEACH;;;;;;;gEACE;;;;;;6DAEI;qBACgB;yBACoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKlD,eAAeD,kCAAkCE,WAAmB;IACzE,IAAI,CAACC,QAAQC,GAAG,CAACC,YAAY,IAAI,CAACF,QAAQC,GAAG,CAACE,YAAY,EAAE;QAC1D,MAAMC,MAAM,MAAMN,gBAAgBC;QAClC,IAAIK,KAAK;YACPJ,QAAQC,GAAG,CAACC,YAAY,GAAGE,IAAIC,QAAQ;YACvCL,QAAQC,GAAG,CAACE,YAAY,GAAGC,IAAIE,OAAO;QACxC;IACF;AACF;AAGO,eAAeR,gBACpBC,WAAmB;IAEnBQ,KAAIC,GAAG,CACLC,IAAAA,gBAAK,CAAA,CAAC,+FAA+F,CAAC;IAGxG,MAAMC,OAAO;IACb,MAAMC,SAAS,MAAMC,IAAAA,yBAAc,EAACF;IACpC,IAAIC,QAAQ;QACV,MAAME,aAAaC,IAAAA,iDAAwC,EAACf;QAE5D,MAAM,EAAEgB,GAAG,EAAEC,IAAI,EAAE,GAAGL;QACtB,MAAMM,SAASC,eAAI,CAACC,IAAI,CAACN,YAAY;QACrC,MAAMP,UAAUY,eAAI,CAACC,IAAI,CAACF,QAAQ,CAAC,IAAI,EAAEP,KAAK,IAAI,CAAC;QACnD,MAAML,WAAWa,eAAI,CAACC,IAAI,CAACF,QAAQ,CAAC,KAAK,EAAEP,KAAK,IAAI,CAAC;QAErD,MAAMU,IAAAA,yBAAoB,EAACH;QAC3B,MAAMI,QAAQC,UAAU,CAAC;YAACC,mBAAE,CAACC,SAAS,CAAClB,SAASS;YAAMQ,mBAAE,CAACC,SAAS,CAACnB,UAAUW;SAAM;QAEnF,OAAO;YACLV;YACAD;QACF;IACF;IACA,OAAOM;AACT"}
|