<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in paths.ts</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>8a424beb - [lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)</title>
        <link>http://172.16.0.5:8080/history/expo/packages/@expo/config/src/paths/paths.ts#8a424beb</link>
        <description>[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why---Prettier 3 is out. Add support for it with this linter config.**Note for reviewer:** the first commit is the one with the actualchanges. The rest of this PR are changes to get the linter passing(mostly autofix).How---Update eslint-config-prettier and eslint-plugin-prettier. To addressdeprecation warnings, also update typescript-eslint/parser andtypescript-eslint/eslint-plugin.Because of an update to typescript-eslint/parser, we need to suppressdeprecation warnings (documented in a comment).Regenerated test snapshots. Due to the upgraded dependencies, typecastsand optional chaining are now auto-fixable by lint. This convertswarnings into autofixes.Test Plan---`yarn test` in the linter config. Run `expotools check --all --fix-lint--no-build --no-test --no-uniformity-check` to try this config on thewhole repo.---------Co-authored-by: Expo Bot &lt;34669131+expo-bot@users.noreply.github.com&gt;

            List of files:
            /expo/packages/@expo/config/src/paths/paths.ts</description>
        <pubDate>Fri, 11 Aug 2023 07:31:41 +0000</pubDate>
        <dc:creator>James Ide &lt;ide@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>fdde7bb6 - update config files (#22416)</title>
        <link>http://172.16.0.5:8080/history/expo/packages/@expo/config/src/paths/paths.ts#fdde7bb6</link>
        <description>update config files (#22416)# Why&lt;!--Please describe the motivation for this PR, and link to relevant GitHubissues, forums posts, or feature requests.--&gt;# How&lt;!--How did you build this feature or fix this bug and why?--&gt;# Test Plan&lt;!--Please describe how you tested this change and how a reviewer couldreproduce your test, especially if this PR does not include automatedtests! If possible, please also provide terminal output and/orscreenshots demonstrating your test/reproduction.--&gt;# Checklist&lt;!--Please check the appropriate items below if they apply to your diff.This is required for changes to Expo modules.--&gt;- [ ] Documentation is up to date to reflect these changes (eg:https://docs.expo.dev and README.md).- [ ] Conforms with the [Documentation Writing StyleGuide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)- [ ] This diff will work correctly for `npx expo prebuild` &amp; EAS Build(eg: updated a module plugin).---------Co-authored-by: Expo Bot &lt;34669131+expo-bot@users.noreply.github.com&gt;

            List of files:
            /expo/packages/@expo/config/src/paths/paths.ts</description>
        <pubDate>Mon, 08 May 2023 14:59:03 +0000</pubDate>
        <dc:creator>Evan Bacon &lt;bacon@expo.io&gt;</dc:creator>
    </item>
<item>
        <title>036e9444 - feat(metro-config): support any entry file in development builds that don&apos;t use Expo dev client (#21643)</title>
        <link>http://172.16.0.5:8080/history/expo/packages/@expo/config/src/paths/paths.ts#036e9444</link>
        <description>feat(metro-config): support any entry file in development builds that don&apos;t use Expo dev client (#21643)# Why- React Native enforces that apps must use `index.js` as the entry file,this is highly inconvenient and forces us to change the app entry on`expo prebuild` (cite: [prebuild sideeffects](https://github.com/expo/expo/blob/4d2795e/docs/pages/workflow/prebuild.mdx#side-effects)(`index.js` and `package.json` `scripts`)).- In #14964 I added support for production Android apps to use any entrypoint.- In #18381 I added the same support to iOS apps in production.- Development builds using `expo-dev-client` and Expo Go both use amanifest which support arbitrary entry points.- This just leaves development builds that don&apos;t have Expo code-loadingsupport (e.g. no manifest/index.html where the script can be changeddynamically).# How- This PR introduces the virtual entry file `.expo/.virtual-metro-entry`which should never physically exist. When this endpoint is pinged, ExpoCLI will rewrite the the URL to the correct entry point based on theproject configuration. This enables us to fully drop the prebuildside-effect as no case will require an `index.js` (`index.bundle`) asthe entry file.- The rewrite means Metro will never support a physical file located at`.expo/.virtual-metro-entry.js` as this will always be ignored. We couldsupport forwarding the request if this file exists but we&apos;ll probably gothe other way and assert if this file exists to mitigate possibleconfusion.- The name `.expo/.virtual-metro-entry.js` was chosen to be clear andlong enough that users wouldn&apos;t try to actually create this file.- I originally tried using a middleware to perform the redirect but thiswouldn&apos;t work with the HMR server which emulates pinging the endpointin-memory. Because of this, I went with the metro`server.rewriteRequestUrl` function.&gt; This feature is implemented in Expo&apos;s Metro configuration, meaning itshould apply to `npx react-native start` (but this is untested and notofficially supported).## New Setup Instructions for non-prebuild usersNon-prebuild projects will need to modify their `AppDelegate.mm` asfollows:```diff- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge{#if DEBUG-  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@&quot;index&quot;];+  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@&quot;.expo/.virtual-metro-entry&quot;];#else  return [[NSBundle mainBundle] URLForResource:@&quot;main&quot; withExtension:@&quot;jsbundle&quot;];#endif}```And their `android/app/src/main/java/***/MainApplication.java`:```diff      @Override      protected String getJSMainModuleName() {-        return &quot;index&quot;;+        return &quot;.expo/.virtual-metro-entry&quot;;      }```This is of course in addition to the `android/app/build.gradle`:```groovy    entryFile = file([&quot;node&quot;, &quot;-e&quot;, &quot;require(&apos;expo/scripts/resolveAppEntry&apos;)&quot;, projectRoot, &quot;android&quot;, &quot;absolute&quot;].execute(null, rootDir).text.trim())```And iOS production change:```shellScript = &quot;if [[ -f \&quot;$PODS_ROOT/../.xcode.env\&quot; ]]; then\n  source \&quot;$PODS_ROOT/../.xcode.env\&quot;\nfi\nif [[ -f \&quot;$PODS_ROOT/../.xcode.env.local\&quot; ]]; then\n  source \&quot;$PODS_ROOT/../.xcode.env.local\&quot;\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\&quot;$PROJECT_DIR\&quot;/..\n\nif [[ \&quot;$CONFIGURATION\&quot; = *Debug* ]]; then\n  export SKIP_BUNDLING=1\nfi\nif [[ -z \&quot;$ENTRY_FILE\&quot; ]]; then\n  # Set the entry JS file using the bundler&apos;s entry resolution.\n  export ENTRY_FILE=\&quot;$(\&quot;$NODE_BINARY\&quot; -e \&quot;require(&apos;expo/scripts/resolveAppEntry&apos;)\&quot; $PROJECT_ROOT ios relative | tail -n 1)\&quot;\nfi\n\n`\&quot;$NODE_BINARY\&quot; --print \&quot;require(&apos;path&apos;).dirname(require.resolve(&apos;react-native/package.json&apos;)) + &apos;/scripts/react-native-xcode.sh&apos;\&quot;`\n\n&quot;;```# Test Plan### Continuous(-ish)- Updated the templates to use this new format.### Quick test- Start the dev server and ping the entry URL directly:-`http://localhost:8081/.expo/.virtual-metro-entry.bundle?platform=web&amp;dev=true&amp;minify=false&amp;modulesOnly=true&amp;runModule=false&amp;shallow=true`- The redirected URL should show in the `sourceURL` at the end of thefile.### E2E- Prebuild, then apply the native changes in a local projects - Use the following `metro.config.js` (you don&apos;t need to use the latestExpo CLI for this to work):```js// Learn more https://docs.expo.io/guides/customizing-metroconst { getDefaultConfig } = require(&quot;../../expo/packages/@expo/metro-config&quot;);// const { getDefaultConfig } = require(&apos;expo/metro-config&apos;);module.exports = getDefaultConfig(__dirname);```- `npx expo run:ios` and `npx expo run:android` should point to`index.bundle`- Changing the `main` field in the package.json or deleting `index.js`should continue to work when you reload the app.# Checklist&lt;!--Please check the appropriate items below if they apply to your diff.This is required for changes to Expo modules.--&gt;- [ ] Documentation is up to date to reflect these changes (eg:https://docs.expo.dev and README.md).- [ ] Conforms with the [Documentation Writing StyleGuide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)- [ ] This diff will work correctly for `expo prebuild` &amp; EAS Build (eg:updated a module plugin).---------Co-authored-by: Expo Bot &lt;34669131+expo-bot@users.noreply.github.com&gt;

            List of files:
            /expo/packages/@expo/config/src/paths/paths.ts</description>
        <pubDate>Tue, 28 Mar 2023 18:51:07 +0000</pubDate>
        <dc:creator>Evan Bacon &lt;bacon@expo.io&gt;</dc:creator>
    </item>
<item>
        <title>ca1df09a - feat(config)!: Remove support for `expo.entryPoint` (#20891)</title>
        <link>http://172.16.0.5:8080/history/expo/packages/@expo/config/src/paths/paths.ts#ca1df09a</link>
        <description>feat(config)!: Remove support for `expo.entryPoint` (#20891)# Why- Follow up https://github.com/expo/universe/pull/11265- `entryPoint` (and `package.json` `main`) do not work.Co-authored-by: Expo Bot &lt;34669131+expo-bot@users.noreply.github.com&gt;

            List of files:
            /expo/packages/@expo/config/src/paths/paths.ts</description>
        <pubDate>Wed, 25 Jan 2023 23:06:06 +0000</pubDate>
        <dc:creator>Evan Bacon &lt;bacon@expo.io&gt;</dc:creator>
    </item>
<item>
        <title>082815dc - chore: migrate config, config-plugins, config-types, prebuild-config (#17958)</title>
        <link>http://172.16.0.5:8080/history/expo/packages/@expo/config/src/paths/paths.ts#082815dc</link>
        <description>chore: migrate config, config-plugins, config-types, prebuild-config (#17958)

            List of files:
            /expo/packages/@expo/config/src/paths/paths.ts</description>
        <pubDate>Tue, 28 Jun 2022 00:09:27 +0000</pubDate>
        <dc:creator>Evan Bacon &lt;bacon@expo.io&gt;</dc:creator>
    </item>
</channel>
</rss>
