History log of /expo/yarn.lock (Results 1 – 25 of 993)
Revision Date Author Comments
# 04e66b12 26-Sep-2023 Gabriel Donadel Dall'Agnol <[email protected]>

[dev-launcher] Launch directly into previously opened project (#24614)

# Why

Closes ENG-10041

# How

In order to allow users to launch directly into previously opened
projects, this PR upda

[dev-launcher] Launch directly into previously opened project (#24614)

# Why

Closes ENG-10041

# How

In order to allow users to launch directly into previously opened
projects, this PR updates `startWithWindow` and `handleIntent` to try to
launch from the most recent URL of the RecentlyOpenedAppsRegistry. If
the bundle cannot be loaded, it falls back to the regular launcher.

This also refactors the existing dev-client and dev-launcher config
plugins adding a new `tryToLaunchLastOpenedBundle` parameter to the
Android and iOS plugin config types.

E.g.

```json
"plugins": [
[
"expo-dev-client",
{
"android": {
"tryToLaunchLastOpenedBundle": true
},
"ios": {
"tryToLaunchLastOpenedBundle": true
}
}
]
]
```

# Test Plan

Run dev-client through bare-expo on Android and iOS testing opening the
app directly, with and without "Recent Apps" and opening through deep
links

# Checklist


- [ ] 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` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Łukasz Kosmaty <[email protected]>

show more ...


# 1a3a1db5 20-Sep-2023 Evan Bacon <[email protected]>

Update tsconfigs to node 18 (current LTS) (#24471)

# Why

Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.

<!--
Please describe the motivation for this PR,

Update tsconfigs to node 18 (current LTS) (#24471)

# Why

Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# d43fb2a3 20-Sep-2023 Evan Bacon <[email protected]>

feat(server): add Netlify adapter (#24510)

# Why

- Add adapter and guide for publishing Expo Router v3 websites/api
routes to Netlify.

---------

Co-authored-by: Expo Bot <34669131+expo-bot

feat(server): add Netlify adapter (#24510)

# Why

- Add adapter and guide for publishing Expo Router v3 websites/api
routes to Netlify.

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>

show more ...


# 026e1885 16-Sep-2023 Alan Hughes <[email protected]>

[ios][updates] bump sqlite version (#24375)


# 46f023fa 15-Sep-2023 Evan Bacon <[email protected]>

[RFC] API Routes in Expo Router (#24429)

# Why

Servers are an important part of developing many different types of
apps, but they're much harder to configure than they need to be.

API Routes

[RFC] API Routes in Expo Router (#24429)

# Why

Servers are an important part of developing many different types of
apps, but they're much harder to configure than they need to be.

API Routes will enable users to express some abstract JavaScript code
that runs in a server by simply creating a file in the app directory,
and adding the `+api.js` suffix. For example, to securely interact with
OpenAI, simply:

```ts
// app/generate+api.ts
import { ExpoRequest, ExpoResponse } from 'expo-router/server';

export async function POST(req: ExpoRequest): Promise<ExpoResponse> {
const { prompt } = await req.json();

const json = await fetch('https://api.openai.com/v1/engines/text-davinci-003/completions', {
headers: {
'Content-Type': 'application/json',
// `OPENAI_API_KEY` is pulled from the .env file when running in Expo CLI.
Authorization: `Bearer ${process.env.OPENAI_API_KEY ?? ''}`,
},
method: 'POST',
body: JSON.stringify({
prompt,
max_tokens: 100,
}),
}).then(res => res.json());

// Return as JSON
return ExpoResponse.json(json);
}
```

This will be served at `http://localhost:8081/generate` with `npx expo`
and can be used by making a request:

```sh
$ curl -X POST -H "Content-Type: application/json" -d \'{"prompt":"Hello, my name is"}\' http://localhost:8081/generate
```

Expo Router polyfills the URL and `window.location` object on native to
allow for universally requesting with a relative URL:

```js
// Expo prepends the host and port to the URL automatically in development.
const json = await fetch('/generate').then(res => res.json());
```

# How

- API Routes are bundled with Metro, leveraging all the same
functionality as the rest of the app and website.
- The project babel config is used to transpile the API routes.
Indication is passed to the Babel caller via the `isServer` boolean.
This can be used to change the preset based on the environment.
- Each API route is bundled into a standalone file in the `dist/_expo`
directory. This is akin to ncc, the tool we use to make Create Expo App
download in ~1 second.
- Create a new package `@expo/server` which includes the requisite
middleware and runtime polyfills for the Expo server environment.
- Add a new routes manifest which will be used by `@expo/server` to
serve up the three types of routes: HTML routes, API routes, and not
found routes (404s).
- Add a new export `expo-router/server` (potentially will be moved to
`expo/server`) which contains the `ExpoRequest` and `ExpoResponse`
objects. These are all based on the WinterCG specification, and include
some additional properties for interop with the Expo Router filesystem
convention. These are inspired by Remix, SvelteKit, and Next.js for
simplicity.
- Add a new export mode `web.output: "server"` which can be used to
export a dynamic server. Note: I may drop this for now and make server
the default since there's no expo-specific hosting code that must be
exported.
- This PR adds the ability to host the app with an express server,
different production adapters to follow.

# Test Plan

In addition to all the E2E Metro tests, I've added a new E2E runner
which starts a server and pings different requests to ensure expected
behavior. These run in the CLI as opposed to the `@expo/server` package.

- resolve ENG-10057 ENG-8243 ENG-8082 ENG-8079 ENG-8242 ENG-8081
ENG-8080 ENG-9625

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Cedric van Putten <[email protected]>

show more ...


# fec3235c 14-Sep-2023 Tomasz Sapeta <[email protected]>

Update yarn.lock and rebuild expo-background-fetch [skip ci]


# 09a2a2f1 14-Sep-2023 Wojciech Dróżdż <[email protected]>

Update puppeteer to 21.2.1, jest-puppeteer to 9.0.0 (#24440)

# Why

We are using really old version of puppeteer, which causes the CI tests
in https://github.com/expo/expo/pull/24199 to fail due

Update puppeteer to 21.2.1, jest-puppeteer to 9.0.0 (#24440)

# Why

We are using really old version of puppeteer, which causes the CI tests
in https://github.com/expo/expo/pull/24199 to fail due to outdated
chromium

# How

- Updated `puppeteer` to 21.2.1
- Updated `jest-puppeteer` to 9.0.0
- Disabled the `KeepAwake` test, because the new chromium didn't give
sufficient permissions to use it.

show more ...


# b7d15820 13-Sep-2023 Cedric van Putten <[email protected]>

chore(create-expo): move package from `expo/expo-cli` to `expo/expo` (#24373)

# Why

Moving this actively used/developed package from
[expo/expo-cli](https://github.com/expo/expo-cli) to
[expo/e

chore(create-expo): move package from `expo/expo-cli` to `expo/expo` (#24373)

# Why

Moving this actively used/developed package from
[expo/expo-cli](https://github.com/expo/expo-cli) to
[expo/expo](https://github.com/expo/expo).

> ⚠️ ~~Blocked by `@expo/package-manager` changes being merged only in
`sdk-49` and not `main`. See https://github.com/expo/expo/pull/24376~~
> Merged in this PR!

# How

- Copied project into **packages/create-expo-app**
- Applied various changes to fit it in the repository

# Test Plan

See CI

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] 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` & EAS Build
(eg: updated a module plugin).

show more ...


# 22f8ba00 12-Sep-2023 Tomasz Sapeta <[email protected]>

Fix yarn.lock and lint issues


# db9a8321 12-Sep-2023 Brent Vatne <[email protected]>

[modules-test-core] Add missing xml-js dependency (#24383)


# 558626bf 11-Sep-2023 aleqsio <[email protected]>

[expo-module-scripts] Generate expo modules structure and mocks from swift (#24064)


# 1562956e 08-Sep-2023 Kudo Chien <[email protected]>

update yarn.lock


# 2cc218bf 07-Sep-2023 Evan Bacon <[email protected]>

chore(expo-modules-core)!: remove and deprecate objects (#24298)

# Why

- Remove deprecated `RCTDeviceEventEmitter` (deprecated for years).
- Remove `deprecate` utility function (unused in repo).

chore(expo-modules-core)!: remove and deprecate objects (#24298)

# Why

- Remove deprecated `RCTDeviceEventEmitter` (deprecated for years).
- Remove `deprecate` utility function (unused in repo).
- Deprecate `SyntheticPlatformEmitter` in favor of `DeviceEventEmitter`
(renamed internally in `react-native-web`).
- Remove `compare-versions` package.
- Create web-only mock of side-effect file to reduce bundle size in base
web apps.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# edeec536 06-Sep-2023 Evan Bacon <[email protected]>

chore(cli): delete @expo/dev-server (#24272)

# Why

- I tried this before but the logs endpoint was blocking it.
- I forked the dev server when I wrote the original `expo/cli`, been
meaning to d

chore(cli): delete @expo/dev-server (#24272)

# Why

- I tried this before but the logs endpoint was blocking it.
- I forked the dev server when I wrote the original `expo/cli`, been
meaning to delete the original for a while. The duplicate code and
indirection is making the new server features harder to implement.

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

- Copy/paste remaining code from `@expo/dev-server` in to `@expo/cli`.
- Delete `@expo/dev-server`.
- Drop unused `/logs` and json parser middleware.
- Drop logging mocks.
- Drop experimental Webpack native support.
- Drop legacy react-native middleware support (no longer needed since
everything is versioned).

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

- Tests should keep passing.
- Need to do some actual runs since there aren't any e2e tests for
various parts of dev-server.

<!--
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.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] 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` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# 20739444 26-Aug-2023 Tomasz Sapeta <[email protected]>

Update yarn.lock [skip ci]


# 72b417e4 23-Aug-2023 Evan Bacon <[email protected]>

fix(router): Fix error overlay not being applied on web (#24052)

# Why

- regression in #23891.
- fix static rehydration.
- fix react refresh for web in the monorepo.
- fix react-native-web war

fix(router): Fix error overlay not being applied on web (#24052)

# Why

- regression in #23891.
- fix static rehydration.
- fix react refresh for web in the monorepo.
- fix react-native-web warnings.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# c57f1a28 22-Aug-2023 Kudo Chien <[email protected]>

update yarn.lock [skip ci]


# 63fb203d 21-Aug-2023 Kudo Chien <[email protected]>

chore: update react-native to 0.72.4 (#24044)

close ENG-9814

- update react-native to 0.72.4
- [react-native-lab] cherry pick native changes
- [babel-preset-expo] bump `metro-react-native-babel-pre

chore: update react-native to 0.72.4 (#24044)

close ENG-9814

- update react-native to 0.72.4
- [react-native-lab] cherry pick native changes
- [babel-preset-expo] bump `[email protected]`
- [android][ios] re-version sdk-49 code
- [dev-menu][dev-launcher] rebuild js bundles

versioned expo go + sdk 49 project smoke test

show more ...


# 4f473253 16-Aug-2023 Mark Lawlor <[email protected]>

[expo-camera] Remove @koale/useworker (#23967)

# Why

`@koale/useworker` is only used for Web QR code scanning and has been
causing some issues due to lack of maintenance.

Fixes: https://githu

[expo-camera] Remove @koale/useworker (#23967)

# Why

`@koale/useworker` is only used for Web QR code scanning and has been
causing some issues due to lack of maintenance.

Fixes: https://github.com/expo/expo/issues/17846
Related: https://github.com/expo/expo/issues/23296, and the PR to revert
its 'fix' https://github.com/expo/expo-cli/pull/4746

# How

Refactors the existing code to use vanilla JS

1. We create a inline webworker by creating an inline blob with
`qrWorkerMethod.toString()` (code adapted from `@koale/useworker`)
2. Create a smaller wrapper that tracks messages being sent to the
worker via a queue of promises

As the worker is synchronous and will receive messages in order a simple
First In First Out queue should suffice.

This does _slightly_ change the functionality of the existing code.

1. Previously we created a new Worker for every instance of `<Camera
/>`. Now a single worker is shared across all instances.
1. As the worker is declared in the global scope, it is created
regardless if QR code scanning is enabled. We could lazy initialise it,
but because its extremely small and inline (no network requests) I don't
see this being an issue.

I also removed an extra `useEffect` hook by moving its logic into the
cleanup step of the enabling hook.

show more ...


# 5b5e713e 15-Aug-2023 Evan Bacon <[email protected]>

chore: improve expo router testing (#23795)

# Why

- Ensure the various aspects of `npx expo export` continue to work with
the latest Expo Router/Metro depdencies.
- We had a bundling testing fo

chore: improve expo router testing (#23795)

# Why

- Ensure the various aspects of `npx expo export` continue to work with
the latest Expo Router/Metro depdencies.
- We had a bundling testing for Expo Router but it wasn't linked to the
monorepo so the dependencies weren't in sync.

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

- Create a new app in `apps/` which is synchronized with the monorepo.
- This app contains multiple expo-router directories and various dynamic
settings.
- Fold the `expo-router` e2e tests into `@expo/cli`.
- Test static rendering, single-page application exporting, and the
native url polyfill (api).

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

- The CLI E2E tests should pass.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# 8a424beb 11-Aug-2023 James Ide <[email protected]>

[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 th

[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 <[email protected]>

show more ...


# a3696c29 10-Aug-2023 Evan Bacon <[email protected]>

chore(router)!: pull out @bacons/react-views (#23889)

# Why

- Resolve ENG-9691
- Most of the benefits should be folded back in to Expo upstream.
- Simplify the codebase.

---------

Co-auth

chore(router)!: pull out @bacons/react-views (#23889)

# Why

- Resolve ENG-9691
- Most of the benefits should be folded back in to Expo upstream.
- Simplify the codebase.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# 9a348a4e 10-Aug-2023 Evan Bacon <[email protected]>

chore(router): pull in stable changes from #23795 (#23890)

# Why

- #23795 is blocked on some difficult issues. This PR pulls in the safe
changes from that PR so they don't get lost.

---------

chore(router): pull in stable changes from #23795 (#23890)

# Why

- #23795 is blocked on some difficult issues. This PR pulls in the safe
changes from that PR so they don't get lost.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


# 48650d23 10-Aug-2023 Matin Zadeh Dolatabad <[email protected]>

[go] update lottie-react-native to 6.1.2 (#23843)

# Why

There have been a lot of changes in Lottie React Native and there are some issues for users using Expo Go.

May fix:
- https://github.c

[go] update lottie-react-native to 6.1.2 (#23843)

# Why

There have been a lot of changes in Lottie React Native and there are some issues for users using Expo Go.

May fix:
- https://github.com/lottie-react-native/lottie-react-native/issues/1075
- https://github.com/lottie-react-native/lottie-react-native/issues/999
- https://github.com/lottie-react-native/lottie-react-native/issues/1005

# How

- Changed source type to `npm` in expoGoConfig
- Ran `et uvm -m lottie-react-native -c 6.1.2`
- Updated NCL example

# Test Plan

versioned expo go + NCL lottie test case

---------

Co-authored-by: Kudo Chien <[email protected]>

show more ...


# 6c1c31e3 01-Aug-2023 Tomasz Sapeta <[email protected]>

[iOS] Fix pod install failing due to missing fields in expo-router


12345678910>>...40