@expo/cli 0.22.24 → 0.22.25
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 +10 -8
- 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 +53 -35
- 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 +39 -21
- 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 +71 -61
- 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 +67 -63
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +35 -27
- 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 +85 -63
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +72 -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 +42 -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 +400 -274
- 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 +13 -11
- 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 +46 -40
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +66 -52
- 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 +74 -56
- 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 +87 -73
- 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 +40 -36
- 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 +29 -21
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +6 -4
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +269 -271
- 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/createExpoMetroResolver.js +46 -40
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +32 -28
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +32 -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 +16 -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 +22 -18
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +85 -79
- 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 +149 -139
- 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 +64 -60
- 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 +15 -14
- 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 +76 -54
- 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 +78 -68
- 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 +17 -13
- 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 +46 -28
- 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 +25 -21
- 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 +32 -26
- 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/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 +50 -36
- 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 +19 -15
- 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/RudderClient.js +10 -8
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/RudderDetachedClient.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/clients/flushRudderDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushRudderDetached.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/flushDetached.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 +3 -3
|
@@ -9,26 +9,30 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
autoAddConfigPluginsAsync: function() {
|
|
13
|
+
return autoAddConfigPluginsAsync;
|
|
14
|
+
},
|
|
15
|
+
getNamedPlugins: function() {
|
|
16
|
+
return getNamedPlugins;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
|
-
function
|
|
19
|
+
function _pluginresolver() {
|
|
16
20
|
const data = require("@expo/config-plugins/build/utils/plugin-resolver");
|
|
17
|
-
|
|
21
|
+
_pluginresolver = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
|
-
function
|
|
26
|
+
function _prebuildconfig() {
|
|
23
27
|
const data = require("@expo/prebuild-config");
|
|
24
|
-
|
|
28
|
+
_prebuildconfig = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
27
31
|
return data;
|
|
28
32
|
}
|
|
29
33
|
const _modifyConfigPlugins = require("../../utils/modifyConfigPlugins");
|
|
30
|
-
const debug = require(
|
|
31
|
-
const AUTO_PLUGINS = (0,
|
|
34
|
+
const debug = require('debug')('expo:install:config-plugins');
|
|
35
|
+
const AUTO_PLUGINS = (0, _prebuildconfig().getAutoPlugins)();
|
|
32
36
|
/**
|
|
33
37
|
* Resolve if a package has a config plugin.
|
|
34
38
|
* For sanity, we'll only support config plugins that use the `app.config.js` entry file,
|
|
@@ -39,7 +43,7 @@ const AUTO_PLUGINS = (0, _prebuildConfig().getAutoPlugins)();
|
|
|
39
43
|
* @returns
|
|
40
44
|
*/ function packageHasConfigPlugin(projectRoot, packageName) {
|
|
41
45
|
try {
|
|
42
|
-
const info = (0,
|
|
46
|
+
const info = (0, _pluginresolver().resolveConfigPluginFunctionWithInfo)(projectRoot, packageName);
|
|
43
47
|
if (info.isPluginFile) {
|
|
44
48
|
return info.plugin;
|
|
45
49
|
}
|
|
@@ -51,8 +55,8 @@ function getNamedPlugins(plugins) {
|
|
|
51
55
|
for (const plugin of plugins){
|
|
52
56
|
try {
|
|
53
57
|
// @ts-ignore
|
|
54
|
-
const [normal] = (0,
|
|
55
|
-
if (typeof normal ===
|
|
58
|
+
const [normal] = (0, _pluginresolver().normalizeStaticPlugin)(plugin);
|
|
59
|
+
if (typeof normal === 'string') {
|
|
56
60
|
namedPlugins.push(normal);
|
|
57
61
|
}
|
|
58
62
|
} catch {
|
|
@@ -62,10 +66,10 @@ function getNamedPlugins(plugins) {
|
|
|
62
66
|
return namedPlugins;
|
|
63
67
|
}
|
|
64
68
|
async function autoAddConfigPluginsAsync(projectRoot, exp, packages) {
|
|
65
|
-
debug(
|
|
69
|
+
debug('Checking config plugins...');
|
|
66
70
|
const currentPlugins = exp.plugins || [];
|
|
67
71
|
const normalized = getNamedPlugins(currentPlugins);
|
|
68
|
-
debug(`Existing plugins: ${normalized.join(
|
|
72
|
+
debug(`Existing plugins: ${normalized.join(', ')}`);
|
|
69
73
|
const plugins = packages.filter((pkg)=>{
|
|
70
74
|
if (normalized.includes(pkg)) {
|
|
71
75
|
// already included in plugins array
|
|
@@ -73,7 +77,7 @@ async function autoAddConfigPluginsAsync(projectRoot, exp, packages) {
|
|
|
73
77
|
}
|
|
74
78
|
// Check if the package has a valid plugin. Must be a well-made plugin for it to work with this.
|
|
75
79
|
const plugin = packageHasConfigPlugin(projectRoot, pkg);
|
|
76
|
-
debug(`Package "${pkg}" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` :
|
|
80
|
+
debug(`Package "${pkg}" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` : ''));
|
|
77
81
|
if (AUTO_PLUGINS.includes(pkg)) {
|
|
78
82
|
debug(`Package "${pkg}" is an auto plugin, skipping...`);
|
|
79
83
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/install/utils/autoAddConfigPlugins.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport {\n normalizeStaticPlugin,\n resolveConfigPluginFunctionWithInfo,\n} from '@expo/config-plugins/build/utils/plugin-resolver';\nimport { getAutoPlugins } from '@expo/prebuild-config';\n\nimport { attemptAddingPluginsAsync } from '../../utils/modifyConfigPlugins';\n\nconst debug = require('debug')('expo:install:config-plugins') as typeof console.log;\n\nconst AUTO_PLUGINS = getAutoPlugins();\n\n/**\n * Resolve if a package has a config plugin.\n * For sanity, we'll only support config plugins that use the `app.config.js` entry file,\n * this is because a package like `lodash` could be a \"valid\" config plugin and break the prebuild process.\n *\n * @param projectRoot\n * @param packageName\n * @returns\n */\nfunction packageHasConfigPlugin(projectRoot: string, packageName: string) {\n try {\n const info = resolveConfigPluginFunctionWithInfo(projectRoot, packageName);\n if (info.isPluginFile) {\n return info.plugin;\n }\n } catch {}\n return false;\n}\n\n/**\n * Get a list of plugins that were are supplied as string module IDs.\n * @example\n * ```json\n * {\n * \"plugins\": [\n * \"expo-camera\",\n * [\"react-native-firebase\", ...]\n * ]\n * }\n * ```\n * ↓ ↓ ↓ ↓ ↓ ↓\n *\n * `['expo-camera', 'react-native-firebase']`\n *\n */\nexport function getNamedPlugins(plugins: NonNullable<ExpoConfig['plugins']>): string[] {\n const namedPlugins: string[] = [];\n for (const plugin of plugins) {\n try {\n // @ts-ignore\n const [normal] = normalizeStaticPlugin(plugin);\n if (typeof normal === 'string') {\n namedPlugins.push(normal);\n }\n } catch {\n // ignore assertions\n }\n }\n return namedPlugins;\n}\n\n/** Attempts to ensure that non-auto plugins are added to the `app.json` `plugins` array when modules with Expo Config Plugins are installed. */\nexport async function autoAddConfigPluginsAsync(\n projectRoot: string,\n exp: Pick<ExpoConfig, 'plugins'>,\n packages: string[]\n) {\n debug('Checking config plugins...');\n\n const currentPlugins = exp.plugins || [];\n const normalized = getNamedPlugins(currentPlugins);\n\n debug(`Existing plugins: ${normalized.join(', ')}`);\n\n const plugins = packages.filter((pkg) => {\n if (normalized.includes(pkg)) {\n // already included in plugins array\n return false;\n }\n // Check if the package has a valid plugin. Must be a well-made plugin for it to work with this.\n const plugin = packageHasConfigPlugin(projectRoot, pkg);\n\n debug(`Package \"${pkg}\" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` : ''));\n\n if (AUTO_PLUGINS.includes(pkg)) {\n debug(`Package \"${pkg}\" is an auto plugin, skipping...`);\n return false;\n }\n\n return !!plugin;\n });\n\n await attemptAddingPluginsAsync(projectRoot, plugins);\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/install/utils/autoAddConfigPlugins.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport {\n normalizeStaticPlugin,\n resolveConfigPluginFunctionWithInfo,\n} from '@expo/config-plugins/build/utils/plugin-resolver';\nimport { getAutoPlugins } from '@expo/prebuild-config';\n\nimport { attemptAddingPluginsAsync } from '../../utils/modifyConfigPlugins';\n\nconst debug = require('debug')('expo:install:config-plugins') as typeof console.log;\n\nconst AUTO_PLUGINS = getAutoPlugins();\n\n/**\n * Resolve if a package has a config plugin.\n * For sanity, we'll only support config plugins that use the `app.config.js` entry file,\n * this is because a package like `lodash` could be a \"valid\" config plugin and break the prebuild process.\n *\n * @param projectRoot\n * @param packageName\n * @returns\n */\nfunction packageHasConfigPlugin(projectRoot: string, packageName: string) {\n try {\n const info = resolveConfigPluginFunctionWithInfo(projectRoot, packageName);\n if (info.isPluginFile) {\n return info.plugin;\n }\n } catch {}\n return false;\n}\n\n/**\n * Get a list of plugins that were are supplied as string module IDs.\n * @example\n * ```json\n * {\n * \"plugins\": [\n * \"expo-camera\",\n * [\"react-native-firebase\", ...]\n * ]\n * }\n * ```\n * ↓ ↓ ↓ ↓ ↓ ↓\n *\n * `['expo-camera', 'react-native-firebase']`\n *\n */\nexport function getNamedPlugins(plugins: NonNullable<ExpoConfig['plugins']>): string[] {\n const namedPlugins: string[] = [];\n for (const plugin of plugins) {\n try {\n // @ts-ignore\n const [normal] = normalizeStaticPlugin(plugin);\n if (typeof normal === 'string') {\n namedPlugins.push(normal);\n }\n } catch {\n // ignore assertions\n }\n }\n return namedPlugins;\n}\n\n/** Attempts to ensure that non-auto plugins are added to the `app.json` `plugins` array when modules with Expo Config Plugins are installed. */\nexport async function autoAddConfigPluginsAsync(\n projectRoot: string,\n exp: Pick<ExpoConfig, 'plugins'>,\n packages: string[]\n) {\n debug('Checking config plugins...');\n\n const currentPlugins = exp.plugins || [];\n const normalized = getNamedPlugins(currentPlugins);\n\n debug(`Existing plugins: ${normalized.join(', ')}`);\n\n const plugins = packages.filter((pkg) => {\n if (normalized.includes(pkg)) {\n // already included in plugins array\n return false;\n }\n // Check if the package has a valid plugin. Must be a well-made plugin for it to work with this.\n const plugin = packageHasConfigPlugin(projectRoot, pkg);\n\n debug(`Package \"${pkg}\" has plugin: ${!!plugin}` + (plugin ? ` (args: ${plugin.length})` : ''));\n\n if (AUTO_PLUGINS.includes(pkg)) {\n debug(`Package \"${pkg}\" is an auto plugin, skipping...`);\n return false;\n }\n\n return !!plugin;\n });\n\n await attemptAddingPluginsAsync(projectRoot, plugins);\n}\n"],"names":["autoAddConfigPluginsAsync","getNamedPlugins","debug","require","AUTO_PLUGINS","getAutoPlugins","packageHasConfigPlugin","projectRoot","packageName","info","resolveConfigPluginFunctionWithInfo","isPluginFile","plugin","plugins","namedPlugins","normal","normalizeStaticPlugin","push","exp","packages","currentPlugins","normalized","join","filter","pkg","includes","length","attemptAddingPluginsAsync"],"mappings":";;;;;;;;;;;IAiEsBA,yBAAyB;eAAzBA;;IAjBNC,eAAe;eAAfA;;;;yBA5CT;;;;;;;yBACwB;;;;;;qCAEW;AAE1C,MAAMC,QAAQC,QAAQ,SAAS;AAE/B,MAAMC,eAAeC,IAAAA,gCAAc;AAEnC;;;;;;;;CAQC,GACD,SAASC,uBAAuBC,WAAmB,EAAEC,WAAmB;IACtE,IAAI;QACF,MAAMC,OAAOC,IAAAA,qDAAmC,EAACH,aAAaC;QAC9D,IAAIC,KAAKE,YAAY,EAAE;YACrB,OAAOF,KAAKG,MAAM;QACpB;IACF,EAAE,OAAM,CAAC;IACT,OAAO;AACT;AAkBO,SAASX,gBAAgBY,OAA2C;IACzE,MAAMC,eAAyB,EAAE;IACjC,KAAK,MAAMF,UAAUC,QAAS;QAC5B,IAAI;YACF,aAAa;YACb,MAAM,CAACE,OAAO,GAAGC,IAAAA,uCAAqB,EAACJ;YACvC,IAAI,OAAOG,WAAW,UAAU;gBAC9BD,aAAaG,IAAI,CAACF;YACpB;QACF,EAAE,OAAM;QACN,oBAAoB;QACtB;IACF;IACA,OAAOD;AACT;AAGO,eAAed,0BACpBO,WAAmB,EACnBW,GAAgC,EAChCC,QAAkB;IAElBjB,MAAM;IAEN,MAAMkB,iBAAiBF,IAAIL,OAAO,IAAI,EAAE;IACxC,MAAMQ,aAAapB,gBAAgBmB;IAEnClB,MAAM,CAAC,kBAAkB,EAAEmB,WAAWC,IAAI,CAAC,OAAO;IAElD,MAAMT,UAAUM,SAASI,MAAM,CAAC,CAACC;QAC/B,IAAIH,WAAWI,QAAQ,CAACD,MAAM;YAC5B,oCAAoC;YACpC,OAAO;QACT;QACA,gGAAgG;QAChG,MAAMZ,SAASN,uBAAuBC,aAAaiB;QAEnDtB,MAAM,CAAC,SAAS,EAAEsB,IAAI,cAAc,EAAE,CAAC,CAACZ,QAAQ,GAAIA,CAAAA,SAAS,CAAC,QAAQ,EAAEA,OAAOc,MAAM,CAAC,CAAC,CAAC,GAAG,EAAC;QAE5F,IAAItB,aAAaqB,QAAQ,CAACD,MAAM;YAC9BtB,MAAM,CAAC,SAAS,EAAEsB,IAAI,gCAAgC,CAAC;YACvD,OAAO;QACT;QAEA,OAAO,CAAC,CAACZ;IACX;IAEA,MAAMe,IAAAA,8CAAyB,EAACpB,aAAaM;AAC/C"}
|
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "checkPackagesCompatibility", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return checkPackagesCompatibility;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
12
|
function _chalk() {
|
|
11
|
-
const data = /*#__PURE__*/
|
|
13
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
12
14
|
_chalk = function() {
|
|
13
15
|
return data;
|
|
14
16
|
};
|
|
@@ -17,18 +19,18 @@ function _chalk() {
|
|
|
17
19
|
const _log = require("../../log");
|
|
18
20
|
const _fetch = require("../../utils/fetch");
|
|
19
21
|
const _link = require("../../utils/link");
|
|
20
|
-
function
|
|
22
|
+
function _interop_require_default(obj) {
|
|
21
23
|
return obj && obj.__esModule ? obj : {
|
|
22
24
|
default: obj
|
|
23
25
|
};
|
|
24
26
|
}
|
|
25
|
-
const ERROR_MESSAGE =
|
|
27
|
+
const ERROR_MESSAGE = 'Unable to fetch compatibility data from React Native Directory. Skipping check.';
|
|
26
28
|
async function checkPackagesCompatibility(packages) {
|
|
27
29
|
try {
|
|
28
|
-
const response = await (0, _fetch.fetch)(
|
|
29
|
-
method:
|
|
30
|
+
const response = await (0, _fetch.fetch)('https://reactnative.directory/api/libraries/check', {
|
|
31
|
+
method: 'POST',
|
|
30
32
|
headers: {
|
|
31
|
-
|
|
33
|
+
'Content-Type': 'application/json'
|
|
32
34
|
},
|
|
33
35
|
body: JSON.stringify({
|
|
34
36
|
packages
|
|
@@ -39,11 +41,11 @@ async function checkPackagesCompatibility(packages) {
|
|
|
39
41
|
}
|
|
40
42
|
const packageMetadata = await response.json();
|
|
41
43
|
const incompatiblePackages = packages.filter((packageName)=>{
|
|
42
|
-
var
|
|
43
|
-
return ((
|
|
44
|
+
var _packageMetadata_packageName;
|
|
45
|
+
return ((_packageMetadata_packageName = packageMetadata[packageName]) == null ? void 0 : _packageMetadata_packageName.newArchitecture) === 'unsupported';
|
|
44
46
|
});
|
|
45
47
|
if (incompatiblePackages.length) {
|
|
46
|
-
_log.Log.warn(_chalk().default.yellow(`${_chalk().default.bold(
|
|
48
|
+
_log.Log.warn(_chalk().default.yellow(`${_chalk().default.bold('Warning')}: ${formatPackageNames(incompatiblePackages)} do${incompatiblePackages.length > 1 ? '' : 'es'} not support the New Architecture. ${(0, _link.learnMore)('https://docs.expo.dev/guides/new-architecture/')}`));
|
|
47
49
|
}
|
|
48
50
|
} catch {
|
|
49
51
|
_log.Log.log(_chalk().default.gray(ERROR_MESSAGE));
|
|
@@ -54,7 +56,7 @@ function formatPackageNames(incompatiblePackages) {
|
|
|
54
56
|
return incompatiblePackages.join();
|
|
55
57
|
}
|
|
56
58
|
const lastPackage = incompatiblePackages.pop();
|
|
57
|
-
return `${incompatiblePackages.join(
|
|
59
|
+
return `${incompatiblePackages.join(', ')} and ${lastPackage}`;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
//# sourceMappingURL=checkPackagesCompatibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/install/utils/checkPackagesCompatibility.ts"],"sourcesContent":["// note(Simek): https://github.com/react-native-community/directory/blob/main/pages/api/libraries/check.ts\nimport chalk from 'chalk';\n\nimport { Log } from '../../log';\nimport { fetch } from '../../utils/fetch';\nimport { learnMore } from '../../utils/link';\n\nexport type ReactNativeDirectoryCheckResult = {\n unmaintained: boolean;\n newArchitecture: 'supported' | 'unsupported' | 'untested';\n};\n\nconst ERROR_MESSAGE =\n 'Unable to fetch compatibility data from React Native Directory. Skipping check.';\n\nexport async function checkPackagesCompatibility(packages: string[]) {\n try {\n const response = await fetch('https://reactnative.directory/api/libraries/check', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ packages }),\n });\n\n if (!response.ok) {\n Log.log(chalk.gray(ERROR_MESSAGE));\n }\n\n const packageMetadata = (await response.json()) as Record<\n string,\n ReactNativeDirectoryCheckResult\n >;\n\n const incompatiblePackages = packages.filter(\n (packageName) => packageMetadata[packageName]?.newArchitecture === 'unsupported'\n );\n\n if (incompatiblePackages.length) {\n Log.warn(\n chalk.yellow(\n `${chalk.bold('Warning')}: ${formatPackageNames(incompatiblePackages)} do${incompatiblePackages.length > 1 ? '' : 'es'} not support the New Architecture. ${learnMore('https://docs.expo.dev/guides/new-architecture/')}`\n )\n );\n }\n } catch {\n Log.log(chalk.gray(ERROR_MESSAGE));\n }\n}\n\nfunction formatPackageNames(incompatiblePackages: string[]) {\n if (incompatiblePackages.length === 1) {\n return incompatiblePackages.join();\n }\n\n const lastPackage = incompatiblePackages.pop();\n return `${incompatiblePackages.join(', ')} and ${lastPackage}`;\n}\n"],"names":["checkPackagesCompatibility","ERROR_MESSAGE","packages","response","fetch","method","headers","body","JSON","stringify","ok","Log","log","chalk","gray","packageMetadata","json","incompatiblePackages","filter","packageName","newArchitecture","length","warn","yellow","bold","formatPackageNames","learnMore","join","lastPackage","pop"],"mappings":"AAAA,0GAA0G
|
|
1
|
+
{"version":3,"sources":["../../../../src/install/utils/checkPackagesCompatibility.ts"],"sourcesContent":["// note(Simek): https://github.com/react-native-community/directory/blob/main/pages/api/libraries/check.ts\nimport chalk from 'chalk';\n\nimport { Log } from '../../log';\nimport { fetch } from '../../utils/fetch';\nimport { learnMore } from '../../utils/link';\n\nexport type ReactNativeDirectoryCheckResult = {\n unmaintained: boolean;\n newArchitecture: 'supported' | 'unsupported' | 'untested';\n};\n\nconst ERROR_MESSAGE =\n 'Unable to fetch compatibility data from React Native Directory. Skipping check.';\n\nexport async function checkPackagesCompatibility(packages: string[]) {\n try {\n const response = await fetch('https://reactnative.directory/api/libraries/check', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ packages }),\n });\n\n if (!response.ok) {\n Log.log(chalk.gray(ERROR_MESSAGE));\n }\n\n const packageMetadata = (await response.json()) as Record<\n string,\n ReactNativeDirectoryCheckResult\n >;\n\n const incompatiblePackages = packages.filter(\n (packageName) => packageMetadata[packageName]?.newArchitecture === 'unsupported'\n );\n\n if (incompatiblePackages.length) {\n Log.warn(\n chalk.yellow(\n `${chalk.bold('Warning')}: ${formatPackageNames(incompatiblePackages)} do${incompatiblePackages.length > 1 ? '' : 'es'} not support the New Architecture. ${learnMore('https://docs.expo.dev/guides/new-architecture/')}`\n )\n );\n }\n } catch {\n Log.log(chalk.gray(ERROR_MESSAGE));\n }\n}\n\nfunction formatPackageNames(incompatiblePackages: string[]) {\n if (incompatiblePackages.length === 1) {\n return incompatiblePackages.join();\n }\n\n const lastPackage = incompatiblePackages.pop();\n return `${incompatiblePackages.join(', ')} and ${lastPackage}`;\n}\n"],"names":["checkPackagesCompatibility","ERROR_MESSAGE","packages","response","fetch","method","headers","body","JSON","stringify","ok","Log","log","chalk","gray","packageMetadata","json","incompatiblePackages","filter","packageName","newArchitecture","length","warn","yellow","bold","formatPackageNames","learnMore","join","lastPackage","pop"],"mappings":"AAAA,0GAA0G;;;;;+BAepFA;;;eAAAA;;;;gEAdJ;;;;;;qBAEE;uBACE;sBACI;;;;;;AAO1B,MAAMC,gBACJ;AAEK,eAAeD,2BAA2BE,QAAkB;IACjE,IAAI;QACF,MAAMC,WAAW,MAAMC,IAAAA,YAAK,EAAC,qDAAqD;YAChFC,QAAQ;YACRC,SAAS;gBACP,gBAAgB;YAClB;YACAC,MAAMC,KAAKC,SAAS,CAAC;gBAAEP;YAAS;QAClC;QAEA,IAAI,CAACC,SAASO,EAAE,EAAE;YAChBC,QAAG,CAACC,GAAG,CAACC,gBAAK,CAACC,IAAI,CAACb;QACrB;QAEA,MAAMc,kBAAmB,MAAMZ,SAASa,IAAI;QAK5C,MAAMC,uBAAuBf,SAASgB,MAAM,CAC1C,CAACC;gBAAgBJ;mBAAAA,EAAAA,+BAAAA,eAAe,CAACI,YAAY,qBAA5BJ,6BAA8BK,eAAe,MAAK;;QAGrE,IAAIH,qBAAqBI,MAAM,EAAE;YAC/BV,QAAG,CAACW,IAAI,CACNT,gBAAK,CAACU,MAAM,CACV,GAAGV,gBAAK,CAACW,IAAI,CAAC,WAAW,EAAE,EAAEC,mBAAmBR,sBAAsB,GAAG,EAAEA,qBAAqBI,MAAM,GAAG,IAAI,KAAK,KAAK,mCAAmC,EAAEK,IAAAA,eAAS,EAAC,mDAAmD;QAG/N;IACF,EAAE,OAAM;QACNf,QAAG,CAACC,GAAG,CAACC,gBAAK,CAACC,IAAI,CAACb;IACrB;AACF;AAEA,SAASwB,mBAAmBR,oBAA8B;IACxD,IAAIA,qBAAqBI,MAAM,KAAK,GAAG;QACrC,OAAOJ,qBAAqBU,IAAI;IAClC;IAEA,MAAMC,cAAcX,qBAAqBY,GAAG;IAC5C,OAAO,GAAGZ,qBAAqBU,IAAI,CAAC,MAAM,KAAK,EAAEC,aAAa;AAChE"}
|
|
@@ -4,59 +4,61 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "ESLintProjectPrerequisite", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return ESLintProjectPrerequisite;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
10
|
-
const data = /*#__PURE__*/
|
|
11
|
-
|
|
11
|
+
function _jsonfile() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/json-file"));
|
|
13
|
+
_jsonfile = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
function _promises() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
|
|
18
20
|
_promises = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
25
|
function _path() {
|
|
24
|
-
const data = /*#__PURE__*/
|
|
26
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
25
27
|
_path = function() {
|
|
26
28
|
return data;
|
|
27
29
|
};
|
|
28
30
|
return data;
|
|
29
31
|
}
|
|
30
32
|
const _log = require("../log");
|
|
31
|
-
const
|
|
33
|
+
const _Prerequisite = require("../start/doctor/Prerequisite");
|
|
32
34
|
const _ensureDependenciesAsync = require("../start/doctor/dependencies/ensureDependenciesAsync");
|
|
33
35
|
const _findUp = require("../utils/findUp");
|
|
34
36
|
const _interactive = require("../utils/interactive");
|
|
35
37
|
const _prompts = require("../utils/prompts");
|
|
36
|
-
function
|
|
38
|
+
function _interop_require_default(obj) {
|
|
37
39
|
return obj && obj.__esModule ? obj : {
|
|
38
40
|
default: obj
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
|
-
const debug = require(
|
|
42
|
-
class ESLintProjectPrerequisite extends
|
|
43
|
+
const debug = require('debug')('expo:lint');
|
|
44
|
+
class ESLintProjectPrerequisite extends _Prerequisite.ProjectPrerequisite {
|
|
43
45
|
async assertImplementation() {
|
|
44
46
|
const hasEslintConfig = await eslintIsConfigured(this.projectRoot);
|
|
45
47
|
const hasLintScript = await lintScriptIsConfigured(this.projectRoot);
|
|
46
48
|
return hasEslintConfig && hasLintScript;
|
|
47
49
|
}
|
|
48
50
|
async bootstrapAsync() {
|
|
49
|
-
debug(
|
|
51
|
+
debug('Setting up ESLint');
|
|
50
52
|
const hasEslintConfig = await eslintIsConfigured(this.projectRoot);
|
|
51
53
|
if (!hasEslintConfig) {
|
|
52
54
|
if (!(0, _interactive.isInteractive)()) {
|
|
53
55
|
_log.Log.warn(`No ESLint config found. Configuring automatically.`);
|
|
54
56
|
} else {
|
|
55
57
|
const shouldSetupLint = await (0, _prompts.confirmAsync)({
|
|
56
|
-
message:
|
|
58
|
+
message: 'No ESLint config found. Install and configure ESLint in this project?'
|
|
57
59
|
});
|
|
58
60
|
if (!shouldSetupLint) {
|
|
59
|
-
throw new
|
|
61
|
+
throw new _Prerequisite.PrerequisiteCommandError('ESLint is not configured for this project.');
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
// TODO(cedric): if we want to add prettier, also configure proper prettier rules
|
|
@@ -84,44 +86,44 @@ class ESLintProjectPrerequisite extends _prerequisite.ProjectPrerequisite {
|
|
|
84
86
|
// if (shouldIncludePrettier) {
|
|
85
87
|
// await fs.writeFile(path.join(this.projectRoot, '.prettierrc'), '{}', 'utf8');
|
|
86
88
|
// }
|
|
87
|
-
await _promises().default.writeFile(_path().default.join(this.projectRoot,
|
|
89
|
+
await _promises().default.writeFile(_path().default.join(this.projectRoot, '.eslintrc.js'), await _promises().default.readFile(require.resolve(`@expo/cli/static/template/.eslintrc.js`), 'utf8'), 'utf8');
|
|
88
90
|
}
|
|
89
91
|
const hasLintScript = await lintScriptIsConfigured(this.projectRoot);
|
|
90
92
|
if (!hasLintScript) {
|
|
91
|
-
const scripts =
|
|
92
|
-
await
|
|
93
|
+
const scripts = _jsonfile().default.read(_path().default.join(this.projectRoot, 'package.json')).scripts;
|
|
94
|
+
await _jsonfile().default.setAsync(_path().default.join(this.projectRoot, 'package.json'), 'scripts', typeof scripts === 'object' ? {
|
|
93
95
|
...scripts,
|
|
94
|
-
lint:
|
|
96
|
+
lint: 'eslint .'
|
|
95
97
|
} : {
|
|
96
|
-
lint:
|
|
98
|
+
lint: 'eslint .'
|
|
97
99
|
}, {
|
|
98
100
|
json5: false
|
|
99
101
|
});
|
|
100
102
|
}
|
|
101
103
|
_log.Log.log();
|
|
102
|
-
_log.Log.log(
|
|
104
|
+
_log.Log.log('ESlint has been configured 🎉');
|
|
103
105
|
_log.Log.log();
|
|
104
106
|
return true;
|
|
105
107
|
}
|
|
106
|
-
async _ensureDependenciesInstalledAsync({ skipPrompt
|
|
108
|
+
async _ensureDependenciesInstalledAsync({ skipPrompt, isProjectMutable }) {
|
|
107
109
|
try {
|
|
108
110
|
return await (0, _ensureDependenciesAsync.ensureDependenciesAsync)(this.projectRoot, {
|
|
109
111
|
skipPrompt,
|
|
110
112
|
isProjectMutable,
|
|
111
|
-
installMessage:
|
|
112
|
-
warningMessage:
|
|
113
|
+
installMessage: 'ESLint is required to lint your project.',
|
|
114
|
+
warningMessage: 'ESLint not installed, unable to set up linting for your project.',
|
|
113
115
|
requiredPackages: [
|
|
114
116
|
{
|
|
115
|
-
version:
|
|
116
|
-
pkg:
|
|
117
|
-
file:
|
|
117
|
+
version: '^8.57.0',
|
|
118
|
+
pkg: 'eslint',
|
|
119
|
+
file: 'eslint/package.json',
|
|
118
120
|
dev: true
|
|
119
121
|
},
|
|
120
122
|
{
|
|
121
|
-
pkg:
|
|
122
|
-
file:
|
|
123
|
+
pkg: 'eslint-config-expo',
|
|
124
|
+
file: 'eslint-config-expo/package.json',
|
|
123
125
|
dev: true
|
|
124
|
-
}
|
|
126
|
+
}
|
|
125
127
|
]
|
|
126
128
|
});
|
|
127
129
|
} catch (error) {
|
|
@@ -131,43 +133,47 @@ class ESLintProjectPrerequisite extends _prerequisite.ProjectPrerequisite {
|
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
async function eslintIsConfigured(projectRoot) {
|
|
134
|
-
debug(
|
|
136
|
+
debug('Ensuring ESlint is configured in', projectRoot);
|
|
135
137
|
// TODO(cedric): drop `package.json` check once we swap to flat config
|
|
136
|
-
const packageFile = await
|
|
137
|
-
if (typeof packageFile.eslintConfig ===
|
|
138
|
-
debug(
|
|
138
|
+
const packageFile = await _jsonfile().default.readAsync(_path().default.join(projectRoot, 'package.json'));
|
|
139
|
+
if (typeof packageFile.eslintConfig === 'object' && Object.keys(packageFile.eslintConfig).length > 0) {
|
|
140
|
+
debug('Found ESlint config in package.json');
|
|
139
141
|
return true;
|
|
140
142
|
}
|
|
141
143
|
const eslintConfigFiles = [
|
|
142
144
|
// TODO(cedric): drop these files once we swap to flat config
|
|
143
145
|
// See: https://eslint.org/docs/latest/use/configure/configuration-files-deprecated
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
'.eslintrc.js',
|
|
147
|
+
'.eslintrc.cjs',
|
|
148
|
+
'.eslintrc.yaml',
|
|
149
|
+
'.eslintrc.yml',
|
|
150
|
+
'.eslintrc.json'
|
|
149
151
|
];
|
|
150
152
|
for (const configFile of eslintConfigFiles){
|
|
151
153
|
const configPath = (0, _findUp.findFileInParents)(projectRoot, configFile);
|
|
152
154
|
const configIsEmpty = configPath ? await eslintConfigIsEmpty(configPath) : null;
|
|
153
155
|
if (configPath && !configIsEmpty) {
|
|
154
|
-
debug(
|
|
156
|
+
debug('Found ESlint config file:', configPath);
|
|
155
157
|
return true;
|
|
156
158
|
} else if (configPath && configIsEmpty) {
|
|
157
|
-
debug(
|
|
159
|
+
debug('Skipping empty ESlint config file:', configPath);
|
|
158
160
|
}
|
|
159
161
|
}
|
|
160
162
|
return false;
|
|
161
163
|
}
|
|
162
164
|
/** Determine if the eslint config file is empty. */ async function eslintConfigIsEmpty(filePath) {
|
|
163
|
-
const content = await _promises().default.readFile(filePath,
|
|
164
|
-
return !content || content ===
|
|
165
|
+
const content = await _promises().default.readFile(filePath, 'utf8').then((text)=>text.trim().replaceAll(/\s|\r\n|\n|\r/g, ''), ()=>null);
|
|
166
|
+
return !content || content === '{}' || // .eslintrc.json
|
|
167
|
+
content === '---' || // .eslintrc.yaml / .eslintrc.yml
|
|
168
|
+
content.startsWith('module.exports={}') || // .eslintrc.js / .eslintrc.cjs / eslint.config.js / eslint.config.cjs
|
|
169
|
+
content.startsWith('exportdefault{}') || // .eslint.config.mjs
|
|
170
|
+
content.startsWith('exportdefault[]') // .eslint.config.mjs
|
|
165
171
|
;
|
|
166
172
|
}
|
|
167
173
|
async function lintScriptIsConfigured(projectRoot) {
|
|
168
|
-
var
|
|
169
|
-
const packageFile = await
|
|
170
|
-
return typeof ((
|
|
174
|
+
var _packageFile_scripts;
|
|
175
|
+
const packageFile = await _jsonfile().default.readAsync(_path().default.join(projectRoot, 'package.json'));
|
|
176
|
+
return typeof ((_packageFile_scripts = packageFile.scripts) == null ? void 0 : _packageFile_scripts.lint) === 'string';
|
|
171
177
|
}
|
|
172
178
|
|
|
173
179
|
//# sourceMappingURL=ESlintPrerequisite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lint/ESlintPrerequisite.ts"],"sourcesContent":["import JsonFile, { JSONObject } from '@expo/json-file';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { Log } from '../log';\nimport { PrerequisiteCommandError, ProjectPrerequisite } from '../start/doctor/Prerequisite';\nimport { ensureDependenciesAsync } from '../start/doctor/dependencies/ensureDependenciesAsync';\nimport { findFileInParents } from '../utils/findUp';\nimport { isInteractive } from '../utils/interactive';\nimport { confirmAsync } from '../utils/prompts';\n\nconst debug = require('debug')('expo:lint') as typeof console.log;\n\n// TODO(cedric): if we want to add prettier, also configure proper prettier rules\n// const ESLINT_TEMPLATE_PRETTIER = `// https://docs.expo.dev/guides/using-eslint/\n// module.exports = {\n// extends: ['expo', 'prettier'],\n// plugins: ['prettier'],\n// rules: {\n// 'prettier/prettier': ['warn'],\n// },\n// };\n// `;\n\n/** Ensure the project has the required ESlint config. */\nexport class ESLintProjectPrerequisite extends ProjectPrerequisite<boolean> {\n async assertImplementation(): Promise<boolean> {\n const hasEslintConfig = await eslintIsConfigured(this.projectRoot);\n const hasLintScript = await lintScriptIsConfigured(this.projectRoot);\n\n return hasEslintConfig && hasLintScript;\n }\n\n async bootstrapAsync(): Promise<boolean> {\n debug('Setting up ESLint');\n\n const hasEslintConfig = await eslintIsConfigured(this.projectRoot);\n if (!hasEslintConfig) {\n if (!isInteractive()) {\n Log.warn(`No ESLint config found. Configuring automatically.`);\n } else {\n const shouldSetupLint = await confirmAsync({\n message: 'No ESLint config found. Install and configure ESLint in this project?',\n });\n if (!shouldSetupLint) {\n throw new PrerequisiteCommandError('ESLint is not configured for this project.');\n }\n }\n\n // TODO(cedric): if we want to add prettier, also configure proper prettier rules\n // const shouldIncludePrettier = await confirmAsync({\n // message: 'Include Prettier?',\n // });\n\n // if (shouldIncludePrettier) {\n // packages.push({ file: 'prettier/package.json', pkg: 'prettier', dev: true });\n // packages.push({\n // file: 'eslint-config-prettier/package.json',\n // pkg: 'eslint-config-prettier',\n // dev: true,\n // });\n // packages.push({\n // file: 'eslint-plugin-prettier/package.json',\n // pkg: 'eslint-plugin-prettier',\n // dev: true,\n // });\n // }\n\n await this._ensureDependenciesInstalledAsync({ skipPrompt: true, isProjectMutable: true });\n\n // TODO(cedric): if we want to add prettier, also configure proper prettier rules\n // if (shouldIncludePrettier) {\n // await fs.writeFile(path.join(this.projectRoot, '.prettierrc'), '{}', 'utf8');\n // }\n\n await fs.writeFile(\n path.join(this.projectRoot, '.eslintrc.js'),\n await fs.readFile(require.resolve(`@expo/cli/static/template/.eslintrc.js`), 'utf8'),\n 'utf8'\n );\n }\n\n const hasLintScript = await lintScriptIsConfigured(this.projectRoot);\n if (!hasLintScript) {\n const scripts = JsonFile.read(path.join(this.projectRoot, 'package.json')).scripts;\n await JsonFile.setAsync(\n path.join(this.projectRoot, 'package.json'),\n 'scripts',\n typeof scripts === 'object' ? { ...scripts, lint: 'eslint .' } : { lint: 'eslint .' },\n { json5: false }\n );\n }\n\n Log.log();\n Log.log('ESlint has been configured 🎉');\n Log.log();\n\n return true;\n }\n\n async _ensureDependenciesInstalledAsync({\n skipPrompt,\n isProjectMutable,\n }: {\n skipPrompt?: boolean;\n isProjectMutable?: boolean;\n }): Promise<boolean> {\n try {\n return await ensureDependenciesAsync(this.projectRoot, {\n skipPrompt,\n isProjectMutable,\n installMessage: 'ESLint is required to lint your project.',\n warningMessage: 'ESLint not installed, unable to set up linting for your project.',\n requiredPackages: [\n { version: '^8.57.0', pkg: 'eslint', file: 'eslint/package.json', dev: true },\n {\n pkg: 'eslint-config-expo',\n file: 'eslint-config-expo/package.json',\n dev: true,\n },\n ],\n });\n } catch (error) {\n this.resetAssertion();\n throw error;\n }\n }\n}\n\nasync function eslintIsConfigured(projectRoot: string) {\n debug('Ensuring ESlint is configured in', projectRoot);\n\n // TODO(cedric): drop `package.json` check once we swap to flat config\n const packageFile = await JsonFile.readAsync(path.join(projectRoot, 'package.json'));\n if (\n typeof packageFile.eslintConfig === 'object' &&\n Object.keys(packageFile.eslintConfig as JSONObject).length > 0\n ) {\n debug('Found ESlint config in package.json');\n return true;\n }\n\n const eslintConfigFiles = [\n // TODO(cedric): drop these files once we swap to flat config\n // See: https://eslint.org/docs/latest/use/configure/configuration-files-deprecated\n '.eslintrc.js',\n '.eslintrc.cjs',\n '.eslintrc.yaml',\n '.eslintrc.yml',\n '.eslintrc.json',\n // TODO(cedric): use these files once we swap to flat config\n // See: https://eslint.org/docs/latest/use/configure/configuration-files\n // 'eslint.config.js',\n // 'eslint.config.mjs',\n // 'eslint.config.cjs',\n ];\n for (const configFile of eslintConfigFiles) {\n const configPath = findFileInParents(projectRoot, configFile);\n const configIsEmpty = configPath ? await eslintConfigIsEmpty(configPath) : null;\n\n if (configPath && !configIsEmpty) {\n debug('Found ESlint config file:', configPath);\n return true;\n } else if (configPath && configIsEmpty) {\n debug('Skipping empty ESlint config file:', configPath);\n }\n }\n\n return false;\n}\n\n/** Determine if the eslint config file is empty. */\nasync function eslintConfigIsEmpty(filePath: string) {\n const content = await fs.readFile(filePath, 'utf8').then(\n (text) => text.trim().replaceAll(/\\s|\\r\\n|\\n|\\r/g, ''),\n () => null\n );\n\n return (\n !content ||\n content === '{}' || // .eslintrc.json\n content === '---' || // .eslintrc.yaml / .eslintrc.yml\n content.startsWith('module.exports={}') || // .eslintrc.js / .eslintrc.cjs / eslint.config.js / eslint.config.cjs\n content.startsWith('exportdefault{}') || // .eslint.config.mjs\n content.startsWith('exportdefault[]') // .eslint.config.mjs\n );\n}\n\nasync function lintScriptIsConfigured(projectRoot: string) {\n const packageFile = await JsonFile.readAsync(path.join(projectRoot, 'package.json'));\n return typeof (packageFile.scripts as JSONObject | undefined)?.lint === 'string';\n}\n"],"names":["ESLintProjectPrerequisite","debug","require","ProjectPrerequisite","assertImplementation","hasEslintConfig","eslintIsConfigured","projectRoot","hasLintScript","lintScriptIsConfigured","bootstrapAsync","isInteractive","Log","warn","shouldSetupLint","confirmAsync","message","PrerequisiteCommandError","_ensureDependenciesInstalledAsync","skipPrompt","isProjectMutable","fs","writeFile","path","join","readFile","resolve","scripts","JsonFile","read","setAsync","lint","json5","log","ensureDependenciesAsync","installMessage","warningMessage","requiredPackages","version","pkg","file","dev","error","resetAssertion","packageFile","readAsync","eslintConfig","Object","keys","length","eslintConfigFiles","configFile","configPath","findFileInParents","configIsEmpty","eslintConfigIsEmpty","filePath","content","then","text","trim","replaceAll","startsWith"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lint/ESlintPrerequisite.ts"],"sourcesContent":["import JsonFile, { JSONObject } from '@expo/json-file';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { Log } from '../log';\nimport { PrerequisiteCommandError, ProjectPrerequisite } from '../start/doctor/Prerequisite';\nimport { ensureDependenciesAsync } from '../start/doctor/dependencies/ensureDependenciesAsync';\nimport { findFileInParents } from '../utils/findUp';\nimport { isInteractive } from '../utils/interactive';\nimport { confirmAsync } from '../utils/prompts';\n\nconst debug = require('debug')('expo:lint') as typeof console.log;\n\n// TODO(cedric): if we want to add prettier, also configure proper prettier rules\n// const ESLINT_TEMPLATE_PRETTIER = `// https://docs.expo.dev/guides/using-eslint/\n// module.exports = {\n// extends: ['expo', 'prettier'],\n// plugins: ['prettier'],\n// rules: {\n// 'prettier/prettier': ['warn'],\n// },\n// };\n// `;\n\n/** Ensure the project has the required ESlint config. */\nexport class ESLintProjectPrerequisite extends ProjectPrerequisite<boolean> {\n async assertImplementation(): Promise<boolean> {\n const hasEslintConfig = await eslintIsConfigured(this.projectRoot);\n const hasLintScript = await lintScriptIsConfigured(this.projectRoot);\n\n return hasEslintConfig && hasLintScript;\n }\n\n async bootstrapAsync(): Promise<boolean> {\n debug('Setting up ESLint');\n\n const hasEslintConfig = await eslintIsConfigured(this.projectRoot);\n if (!hasEslintConfig) {\n if (!isInteractive()) {\n Log.warn(`No ESLint config found. Configuring automatically.`);\n } else {\n const shouldSetupLint = await confirmAsync({\n message: 'No ESLint config found. Install and configure ESLint in this project?',\n });\n if (!shouldSetupLint) {\n throw new PrerequisiteCommandError('ESLint is not configured for this project.');\n }\n }\n\n // TODO(cedric): if we want to add prettier, also configure proper prettier rules\n // const shouldIncludePrettier = await confirmAsync({\n // message: 'Include Prettier?',\n // });\n\n // if (shouldIncludePrettier) {\n // packages.push({ file: 'prettier/package.json', pkg: 'prettier', dev: true });\n // packages.push({\n // file: 'eslint-config-prettier/package.json',\n // pkg: 'eslint-config-prettier',\n // dev: true,\n // });\n // packages.push({\n // file: 'eslint-plugin-prettier/package.json',\n // pkg: 'eslint-plugin-prettier',\n // dev: true,\n // });\n // }\n\n await this._ensureDependenciesInstalledAsync({ skipPrompt: true, isProjectMutable: true });\n\n // TODO(cedric): if we want to add prettier, also configure proper prettier rules\n // if (shouldIncludePrettier) {\n // await fs.writeFile(path.join(this.projectRoot, '.prettierrc'), '{}', 'utf8');\n // }\n\n await fs.writeFile(\n path.join(this.projectRoot, '.eslintrc.js'),\n await fs.readFile(require.resolve(`@expo/cli/static/template/.eslintrc.js`), 'utf8'),\n 'utf8'\n );\n }\n\n const hasLintScript = await lintScriptIsConfigured(this.projectRoot);\n if (!hasLintScript) {\n const scripts = JsonFile.read(path.join(this.projectRoot, 'package.json')).scripts;\n await JsonFile.setAsync(\n path.join(this.projectRoot, 'package.json'),\n 'scripts',\n typeof scripts === 'object' ? { ...scripts, lint: 'eslint .' } : { lint: 'eslint .' },\n { json5: false }\n );\n }\n\n Log.log();\n Log.log('ESlint has been configured 🎉');\n Log.log();\n\n return true;\n }\n\n async _ensureDependenciesInstalledAsync({\n skipPrompt,\n isProjectMutable,\n }: {\n skipPrompt?: boolean;\n isProjectMutable?: boolean;\n }): Promise<boolean> {\n try {\n return await ensureDependenciesAsync(this.projectRoot, {\n skipPrompt,\n isProjectMutable,\n installMessage: 'ESLint is required to lint your project.',\n warningMessage: 'ESLint not installed, unable to set up linting for your project.',\n requiredPackages: [\n { version: '^8.57.0', pkg: 'eslint', file: 'eslint/package.json', dev: true },\n {\n pkg: 'eslint-config-expo',\n file: 'eslint-config-expo/package.json',\n dev: true,\n },\n ],\n });\n } catch (error) {\n this.resetAssertion();\n throw error;\n }\n }\n}\n\nasync function eslintIsConfigured(projectRoot: string) {\n debug('Ensuring ESlint is configured in', projectRoot);\n\n // TODO(cedric): drop `package.json` check once we swap to flat config\n const packageFile = await JsonFile.readAsync(path.join(projectRoot, 'package.json'));\n if (\n typeof packageFile.eslintConfig === 'object' &&\n Object.keys(packageFile.eslintConfig as JSONObject).length > 0\n ) {\n debug('Found ESlint config in package.json');\n return true;\n }\n\n const eslintConfigFiles = [\n // TODO(cedric): drop these files once we swap to flat config\n // See: https://eslint.org/docs/latest/use/configure/configuration-files-deprecated\n '.eslintrc.js',\n '.eslintrc.cjs',\n '.eslintrc.yaml',\n '.eslintrc.yml',\n '.eslintrc.json',\n // TODO(cedric): use these files once we swap to flat config\n // See: https://eslint.org/docs/latest/use/configure/configuration-files\n // 'eslint.config.js',\n // 'eslint.config.mjs',\n // 'eslint.config.cjs',\n ];\n for (const configFile of eslintConfigFiles) {\n const configPath = findFileInParents(projectRoot, configFile);\n const configIsEmpty = configPath ? await eslintConfigIsEmpty(configPath) : null;\n\n if (configPath && !configIsEmpty) {\n debug('Found ESlint config file:', configPath);\n return true;\n } else if (configPath && configIsEmpty) {\n debug('Skipping empty ESlint config file:', configPath);\n }\n }\n\n return false;\n}\n\n/** Determine if the eslint config file is empty. */\nasync function eslintConfigIsEmpty(filePath: string) {\n const content = await fs.readFile(filePath, 'utf8').then(\n (text) => text.trim().replaceAll(/\\s|\\r\\n|\\n|\\r/g, ''),\n () => null\n );\n\n return (\n !content ||\n content === '{}' || // .eslintrc.json\n content === '---' || // .eslintrc.yaml / .eslintrc.yml\n content.startsWith('module.exports={}') || // .eslintrc.js / .eslintrc.cjs / eslint.config.js / eslint.config.cjs\n content.startsWith('exportdefault{}') || // .eslint.config.mjs\n content.startsWith('exportdefault[]') // .eslint.config.mjs\n );\n}\n\nasync function lintScriptIsConfigured(projectRoot: string) {\n const packageFile = await JsonFile.readAsync(path.join(projectRoot, 'package.json'));\n return typeof (packageFile.scripts as JSONObject | undefined)?.lint === 'string';\n}\n"],"names":["ESLintProjectPrerequisite","debug","require","ProjectPrerequisite","assertImplementation","hasEslintConfig","eslintIsConfigured","projectRoot","hasLintScript","lintScriptIsConfigured","bootstrapAsync","isInteractive","Log","warn","shouldSetupLint","confirmAsync","message","PrerequisiteCommandError","_ensureDependenciesInstalledAsync","skipPrompt","isProjectMutable","fs","writeFile","path","join","readFile","resolve","scripts","JsonFile","read","setAsync","lint","json5","log","ensureDependenciesAsync","installMessage","warningMessage","requiredPackages","version","pkg","file","dev","error","resetAssertion","packageFile","readAsync","eslintConfig","Object","keys","length","eslintConfigFiles","configFile","configPath","findFileInParents","configIsEmpty","eslintConfigIsEmpty","filePath","content","then","text","trim","replaceAll","startsWith"],"mappings":"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"}
|
package/build/src/lint/index.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "expoLint", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return expoLint;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _args = require("../utils/args");
|
|
10
12
|
const _errors = require("../utils/errors");
|
|
@@ -16,7 +18,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
16
18
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
17
19
|
})(nodeInterop);
|
|
18
20
|
}
|
|
19
|
-
function
|
|
21
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
20
22
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
21
23
|
return obj;
|
|
22
24
|
}
|
|
@@ -29,7 +31,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
29
31
|
if (cache && cache.has(obj)) {
|
|
30
32
|
return cache.get(obj);
|
|
31
33
|
}
|
|
32
|
-
var newObj = {
|
|
34
|
+
var newObj = {
|
|
35
|
+
__proto__: null
|
|
36
|
+
};
|
|
33
37
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
34
38
|
for(var key in obj){
|
|
35
39
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -50,15 +54,15 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
50
54
|
const expoLint = async (argv)=>{
|
|
51
55
|
const args = (0, _args.assertArgs)({
|
|
52
56
|
// Types
|
|
53
|
-
|
|
57
|
+
'--help': Boolean,
|
|
54
58
|
// Aliases
|
|
55
|
-
|
|
59
|
+
'-h': '--help'
|
|
56
60
|
}, argv);
|
|
57
|
-
if (args[
|
|
58
|
-
(0, _args.printHelp)(
|
|
61
|
+
if (args['--help']) {
|
|
62
|
+
(0, _args.printHelp)('Utility to run ESLint. Prompts to install and configure if not yet set up.', 'npx expo lint', '-h, --help Usage info');
|
|
59
63
|
}
|
|
60
64
|
// Load modules after the help prompt so `npx expo lint -h` shows as fast as possible.
|
|
61
|
-
const { lintAsync
|
|
65
|
+
const { lintAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./lintAsync.js")));
|
|
62
66
|
const projectRoot = (0, _args.getProjectRoot)(args);
|
|
63
67
|
return lintAsync(projectRoot).catch(_errors.logCmdError);
|
|
64
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lint/index.ts"],"sourcesContent":["import type { Command } from '../../bin/cli';\nimport { assertArgs, getProjectRoot, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoLint: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n 'Utility to run ESLint. Prompts to install and configure if not yet set up.',\n 'npx expo lint',\n '-h, --help Usage info'\n );\n }\n\n // Load modules after the help prompt so `npx expo lint -h` shows as fast as possible.\n const { lintAsync } = await import('./lintAsync.js');\n const projectRoot = getProjectRoot(args);\n\n return lintAsync(projectRoot).catch(logCmdError);\n};\n"],"names":["expoLint","argv","args","assertArgs","Boolean","printHelp","lintAsync","projectRoot","getProjectRoot","catch","logCmdError"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lint/index.ts"],"sourcesContent":["import type { Command } from '../../bin/cli';\nimport { assertArgs, getProjectRoot, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoLint: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n 'Utility to run ESLint. Prompts to install and configure if not yet set up.',\n 'npx expo lint',\n '-h, --help Usage info'\n );\n }\n\n // Load modules after the help prompt so `npx expo lint -h` shows as fast as possible.\n const { lintAsync } = await import('./lintAsync.js');\n const projectRoot = getProjectRoot(args);\n\n return lintAsync(projectRoot).catch(logCmdError);\n};\n"],"names":["expoLint","argv","args","assertArgs","Boolean","printHelp","lintAsync","projectRoot","getProjectRoot","catch","logCmdError"],"mappings":";;;;+BAIaA;;;eAAAA;;;sBAHyC;wBAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMA,WAAoB,OAAOC;IACtC,MAAMC,OAAOC,IAAAA,gBAAU,EACrB;QACE,QAAQ;QACR,UAAUC;QACV,UAAU;QACV,MAAM;IACR,GACAH;IAGF,IAAIC,IAAI,CAAC,SAAS,EAAE;QAClBG,IAAAA,eAAS,EACP,8EACA,iBACA;IAEJ;IAEA,sFAAsF;IACtF,MAAM,EAAEC,SAAS,EAAE,GAAG,MAAM,mEAAA,QAAO;IACnC,MAAMC,cAAcC,IAAAA,oBAAc,EAACN;IAEnC,OAAOI,UAAUC,aAAaE,KAAK,CAACC,mBAAW;AACjD"}
|
|
@@ -4,26 +4,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "lintAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return lintAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
11
|
+
function _packagemanager() {
|
|
10
12
|
const data = require("@expo/package-manager");
|
|
11
|
-
|
|
13
|
+
_packagemanager = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
|
-
const
|
|
18
|
+
const _ESlintPrerequisite = require("./ESlintPrerequisite");
|
|
17
19
|
const lintAsync = async (projectRoot)=>{
|
|
18
|
-
const prerequisite = new
|
|
20
|
+
const prerequisite = new _ESlintPrerequisite.ESLintProjectPrerequisite(projectRoot);
|
|
19
21
|
if (!await prerequisite.assertAsync()) {
|
|
20
22
|
await prerequisite.bootstrapAsync();
|
|
21
23
|
}
|
|
22
|
-
const manager = (0,
|
|
24
|
+
const manager = (0, _packagemanager().createForProject)(projectRoot);
|
|
23
25
|
try {
|
|
24
26
|
await manager.runBinAsync([
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
'eslint',
|
|
28
|
+
'.'
|
|
27
29
|
]);
|
|
28
30
|
} catch (error) {
|
|
29
31
|
process.exit(error.status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lint/lintAsync.ts"],"sourcesContent":["import { createForProject } from '@expo/package-manager';\n\nimport { ESLintProjectPrerequisite } from './ESlintPrerequisite';\n\nexport const lintAsync = async (projectRoot: string) => {\n const prerequisite = new ESLintProjectPrerequisite(projectRoot);\n if (!(await prerequisite.assertAsync())) {\n await prerequisite.bootstrapAsync();\n }\n\n const manager = createForProject(projectRoot);\n try {\n await manager.runBinAsync(['eslint', '.']);\n } catch (error: any) {\n process.exit(error.status);\n }\n};\n"],"names":["lintAsync","projectRoot","prerequisite","ESLintProjectPrerequisite","assertAsync","bootstrapAsync","manager","createForProject","runBinAsync","error","process","exit","status"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lint/lintAsync.ts"],"sourcesContent":["import { createForProject } from '@expo/package-manager';\n\nimport { ESLintProjectPrerequisite } from './ESlintPrerequisite';\n\nexport const lintAsync = async (projectRoot: string) => {\n const prerequisite = new ESLintProjectPrerequisite(projectRoot);\n if (!(await prerequisite.assertAsync())) {\n await prerequisite.bootstrapAsync();\n }\n\n const manager = createForProject(projectRoot);\n try {\n await manager.runBinAsync(['eslint', '.']);\n } catch (error: any) {\n process.exit(error.status);\n }\n};\n"],"names":["lintAsync","projectRoot","prerequisite","ESLintProjectPrerequisite","assertAsync","bootstrapAsync","manager","createForProject","runBinAsync","error","process","exit","status"],"mappings":";;;;+BAIaA;;;eAAAA;;;;yBAJoB;;;;;;oCAES;AAEnC,MAAMA,YAAY,OAAOC;IAC9B,MAAMC,eAAe,IAAIC,6CAAyB,CAACF;IACnD,IAAI,CAAE,MAAMC,aAAaE,WAAW,IAAK;QACvC,MAAMF,aAAaG,cAAc;IACnC;IAEA,MAAMC,UAAUC,IAAAA,kCAAgB,EAACN;IACjC,IAAI;QACF,MAAMK,QAAQE,WAAW,CAAC;YAAC;YAAU;SAAI;IAC3C,EAAE,OAAOC,OAAY;QACnBC,QAAQC,IAAI,CAACF,MAAMG,MAAM;IAC3B;AACF"}
|