History log of /expo/packages/@expo/package-manager/src/utils/nodeManagers.ts (Results 1 – 4 of 4)
Revision Date Author Comments
# 82c7d456 20-Sep-2023 Cedric van Putten <[email protected]>

fix(package-manager): detect `bun` before `yarn` to allow `bun install --yarn` usage (#24360)

# Why

Some people value readable lock files, and unfortunately, `bun.lockb`
isn't readable. Bun has

fix(package-manager): detect `bun` before `yarn` to allow `bun install --yarn` usage (#24360)

# Why

Some people value readable lock files, and unfortunately, `bun.lockb`
isn't readable. Bun has a feature for this, where it exports both a
`bun.lockb` and `yarn.lock` (based on `bun.lockb`).

For that reason, we should resolve `bun` before `yarn`. If people use
`bun install --yarn`, we always resolve to `yarn`.

# How

- Move `bun` detection before `yarn`.

# Test Plan

- `$ bun create expo ./test -t tabs`
- `$ cd ./test`
- `$ bun install --yarn`
- `$ bun expo install`
- _Should use `bun` to install_

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


# 6a725f6f 08-Sep-2023 Colin McDonnell <[email protected]>

feat: detect Bun package manager (#24168)

# Why

Adds Bun as a recognized package manager

Sister PR: https://github.com/expo/expo-cli/pull/4752

# How

Added `@expo/package-manager`

# Te

feat: detect Bun package manager (#24168)

# Why

Adds Bun as a recognized package manager

Sister PR: https://github.com/expo/expo-cli/pull/4752

# How

Added `@expo/package-manager`

# Test Plan

Added `BunPackageManager-test.ts` and added Bun tests to
`nodeManagers-test.ts`.

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

---------

Co-authored-by: Evan Bacon <[email protected]>
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 ...


# 8d3f3824 13-Feb-2023 Cedric van Putten <[email protected]>

refactor(package-manager)!: extend the API and provide access to spawn child (#18576)

# Why

Fixes ENG-7545

This proposal PR changes the API of the (node) package managers, with
the goal of:

refactor(package-manager)!: extend the API and provide access to spawn child (#18576)

# Why

Fixes ENG-7545

This proposal PR changes the API of the (node) package managers, with
the goal of:
- Having the right API options to install/remove packages to
`dependencies`/`devDependencies`/global deps
- Having access to the actual `spawnAsync` child, to pipe logs into
different systems (for example in EAS build)
- Allowing us to fix a couple of annoying DX issues (see follow up PRs)

> This is further outlined in the Package Manager API proposal.

Before merging this one, we need to merge these other PRs to not-break
`main`. Any feedback on the proposal is welcome, especially while in
draft.
- https://github.com/expo/expo/pull/19343
- https://github.com/expo/expo/pull/19344

# How

See Package Manager API proposal.

# Test Plan

> These changes are backward incompatible and require a new version
update.

This change also allowed us to implement the following fixes (all
stacked PRs):
- https://github.com/expo/expo/pull/19343
- https://github.com/expo/expo/pull/19344
- https://github.com/expo/expo/pull/19342
- https://github.com/expo/expo/pull/19340
- https://github.com/expo/expo/pull/19341
- https://github.com/expo/expo/pull/19764
- https://github.com/expo/expo/pull/19835
- https://github.com/expo/expo/pull/21189

# Checklist

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

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

show more ...