Compare commits

...
Author SHA1 Message Date
Stanisław Chmiela ed3cd6fd72 Switch from Yarn to Bun 2026-02-05 14:15:01 +01:00
Stanisław Chmiela 947ca9bc6e Use Mise everywhere in CI 2026-02-05 13:30:16 +01:00
Stanisław Chmiela 2b988581b9 Remove unused workflow 2026-02-05 13:25:01 +01:00
57 changed files with 21788 additions and 19717 deletions

No files matched your search

-2
View File
@@ -1,5 +1,3 @@
* text eol=lf
*.png binary
*.jpg binary
**/yarn.lock linguist-generated
+11
View File
@@ -0,0 +1,11 @@
name: setup-mise
description: Install tools via mise
runs:
using: "composite"
steps:
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
with:
install: true
cache: true
experimental: true
@@ -25,7 +25,7 @@ jobs:
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
- uses: ./.github/actions/setup-mise
- uses: ./.github/internal-actions/setup-gcloud
+23 -35
View File
@@ -30,20 +30,18 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: yarn install --frozen-lockfile --check-files
- run: yarn build
- uses: ./.github/actions/setup-mise
- run: bun install --frozen-lockfile
- run: bun run build
- name: Ensure GraphQL schema and generated code is up-to-date
working-directory: ${{ github.workspace }}/packages/eas-cli
run: |
yarn verify-graphql-code
bun run verify-graphql-code
- name: Build tarballs
working-directory: ${{ github.workspace }}/packages/eas-cli
run: |
yarn pretarball-ci
yarn oclif pack:tarballs --no-xz --targets linux-x64,linux-arm
bun run pretarball-ci
bunx oclif pack:tarballs --no-xz --targets linux-x64,linux-arm
- id: x64
run: echo "filename=$(ls eas-*-x64.tar.gz)" >> $GITHUB_OUTPUT
working-directory: ${{ github.workspace }}/packages/eas-cli/dist
@@ -77,19 +75,17 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: ./.github/actions/setup-mise
- run: brew install python-setuptools
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- run: yarn install --frozen-lockfile --check-files
- run: yarn build
- run: bun install --frozen-lockfile
- run: bun run build
- name: Build tarballs
working-directory: ${{ github.workspace }}/packages/eas-cli
run: |
yarn pretarball-ci
yarn oclif pack:tarballs --no-xz --targets darwin-x64,darwin-arm64
bun run pretarball-ci
bunx oclif pack:tarballs --no-xz --targets darwin-x64,darwin-arm64
- id: x64
run: echo "filename=$(ls eas-*-x64.tar.gz)" >> $GITHUB_OUTPUT
working-directory: ${{ github.workspace }}/packages/eas-cli/dist
@@ -122,15 +118,13 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: yarn install --frozen-lockfile --check-files
- uses: ./.github/actions/setup-mise
- run: bun install --frozen-lockfile
- run: sudo apt-get install nsis
- run: yarn build
- run: bun run build
- run: |
yarn pretarball-ci
yarn oclif pack:win
bun run pretarball-ci
bunx oclif pack:win
working-directory: ${{ github.workspace }}/packages/eas-cli
- id: x64
run: echo "filename=$(ls eas-*-x64.exe)" >> $GITHUB_OUTPUT
@@ -164,17 +158,13 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org/'
scope: 'expo'
node-version: 22
- uses: ./.github/actions/setup-mise
- name: Install dependencies
run: yarn install --frozen-lockfile --check-files
run: bun install --frozen-lockfile
- name: Build
run: yarn build
run: bun run build
- name: Publish packages to npm
run: yarn lerna publish from-package --yes --no-verify-access
run: bunx lerna publish from-package --yes --no-verify-access
- name: Add latest-eas-build-staging tag
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
@@ -199,17 +189,15 @@ jobs:
- uses: actions/checkout@v4
with:
token: ${{ secrets.EXPO_BOT_PAT }}
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: ./.github/actions/setup-mise
- name: Install dependencies
working-directory: ./scripts
run: yarn install --frozen-lockfile --check-files
run: bun install --frozen-lockfile
- name: Resolve version
run: echo "EAS_CLI_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Update changelog
working-directory: ./scripts
run: yarn --silent release-changelog $EAS_CLI_VERSION > /tmp/current-changelog
run: bun run release-changelog $EAS_CLI_VERSION > /tmp/current-changelog
- name: Publish release
run: gh release edit v$EAS_CLI_VERSION --draft=false -F /tmp/current-changelog
env:
+1 -3
View File
@@ -10,9 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 20
- uses: ./.github/actions/setup-mise
- uses: preactjs/compressed-size-action@v2
with:
build-script: 'build:tarballs:linux'
+4 -6
View File
@@ -18,10 +18,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: 22
- run: yarn install --frozen-lockfile
- run: yarn verify-graphql-code
- name: Setup tools
uses: ./.github/actions/setup-mise
- run: bun install --frozen-lockfile
- run: bun run verify-graphql-code
working-directory: packages/eas-cli
+4 -6
View File
@@ -22,9 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: 20
- run: yarn install --frozen-lockfile --check-files
- run: yarn typecheck
- name: Setup tools
uses: ./.github/actions/setup-mise
- run: bun install --frozen-lockfile
- run: bun run typecheck
+13 -8
View File
@@ -26,8 +26,13 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- run: yarn install --frozen-lockfile --check-files
- run: yarn typecheck
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
with:
install: false
- name: Install Bun via mise
run: mise install bun
- run: bun install --frozen-lockfile
- run: bun run typecheck
- run: |
git config --global user.email "[email protected]"
git config --global user.name "Test"
@@ -38,31 +43,31 @@ jobs:
- name: Run tests (affected)
# PRs: only run tests for changed packages + dependents.
if: ${{ !matrix.coverage && github.event_name == 'pull_request' }}
run: yarn lerna run test --since ${{ github.event.pull_request.base.sha }} --include-dependents
run: bun run test -- --since ${{ github.event.pull_request.base.sha }} --include-dependents
env:
NODE_OPTIONS: --max-old-space-size=8192
- name: Run tests (all)
# Pushes to main: run all package tests.
if: ${{ !matrix.coverage && github.event_name == 'push' }}
run: yarn lerna run test
run: bun run test
env:
NODE_OPTIONS: --max-old-space-size=8192
- name: Run tests (coverage)
# Coverage on PRs and main; per-package reports are uploaded to Codecov.
if: ${{ matrix.coverage }}
run: yarn lerna run test -- -- --coverage
run: bun run test -- -- --coverage
env:
# Oclif seems to cause OOM errors when testing with coverage enabled.
# Remove this whenever we solved those OOM errors.
NODE_OPTIONS: --max-old-space-size=8192
- run: yarn lint --max-warnings=0
- run: yarn install --frozen-lockfile --check-files
- run: bun run lint -- --max-warnings=0
- run: bun install --frozen-lockfile
working-directory: ./scripts
- uses: codecov/codecov-action@v1
if: ${{ matrix.coverage }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
- run: yarn lint-changelog
- run: bun run lint-changelog
notify-slack:
runs-on: ubuntu-latest
+5 -7
View File
@@ -27,9 +27,7 @@ jobs:
ref: main
fetch-depth: 0
token: ${{ secrets.EXPO_BOT_PAT }}
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: ./.github/actions/setup-mise
- run: |
# Lerna will not detect changes correctly without having all tags
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
@@ -37,12 +35,12 @@ jobs:
git checkout main
git config --global user.email "[email protected]"
git config --global user.name "Expo CI"
yarn install --frozen-lockfile --check-files
yarn build
bun install --frozen-lockfile
bun run build
if [[ "$INPUT_VERSION" == "" ]]; then
echo "Releasing with default version"
yarn release
bun run release
else
echo "Releasing with version $INPUT_VERSION"
yarn release $INPUT_VERSION
bun run release $INPUT_VERSION
fi
@@ -1,81 +0,0 @@
name: Open a PR bumping eas-build modules
on: workflow_dispatch
jobs:
open-pr:
name: Open a PR bumping eas-build modules
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
token: ${{ secrets.EXPO_BOT_PAT }}
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: 20
- run: yarn install --frozen-lockfile
- name: Configure git
run: |
git config --global user.email "[email protected]"
git config --global user.name "Expo Bot"
- name: Upgrade eas-build modules
run: |
for DIR in packages/eas-cli packages/eas-json; do
pushd $DIR >/dev/null 2>&1
# packages are ordered according to output of `lerna list --toposort`
# https://github.com/expo/turtle-v2/pull/568
for PACKAGE in "@expo/downloader" "@expo/eas-build-job" "@expo/logger" "@expo/template-file" "@expo/steps" "@expo/turtle-spawn" "@expo/build-tools"; do
if grep -q $PACKAGE package.json; then
echo "[$DIR] yarn --exact add $PACKAGE"
yarn add --exact $PACKAGE
fi
done
popd >/dev/null 2>&1
done
- name: Set a branch name
id: bump-branch-name
run: |
HASH="$(echo $RANDOM | md5sum | head -c 10)"
BRANCH_NAME="@expo-bot/eas-build-bump-$HASH"
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
- name: Create a branch, commit, and push
run: |
BRANCH_NAME="${{ steps.bump-branch-name.outputs.BRANCH_NAME }}"
git checkout -b $BRANCH_NAME
git add .
git commit -m "Upgrade eas-build dependencies"
git push origin $BRANCH_NAME
- name: Open a PR to main
uses: repo-sync/pull-request@v2
id: open-pr
with:
source_branch: '${{ steps.bump-branch-name.outputs.BRANCH_NAME }}'
destination_branch: 'main'
pr_title: 'Upgrade eas-build dependencies'
pr_body: ':arrow_up: Upgrades [`eas-build`](https://github.com/expo/eas-build) dependencies.'
pr_reviewer: 'sjchmiela'
github_token: ${{ secrets.EXPO_BOT_PAT }}
- uses: actions/github-script@v3
with:
github-token: ${{ secrets.EXPO_BOT_PAT }}
script: |
github.issues.createComment({
issue_number: ${{ steps.open-pr.outputs.pr_number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: "/changelog-entry chore Upgrade [`eas-build`](https://github.com/expo/eas-build) dependencies."
})
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
- uses: ./.github/actions/setup-mise
- name: Create test app
run: npx -y create-expo-app@latest ${{ runner.temp }}/test-app --template tabs
+6 -6
View File
@@ -14,7 +14,7 @@ on:
- "packages/turtle-spawn/**"
- .github/workflows/worker.yml
- .github/workflows/build-and-deploy-worker.yml
- yarn.lock
- bun.lock
concurrency:
group: worker-${{ github.ref }}-${{ github.event_name }}
@@ -26,19 +26,19 @@ jobs:
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
- uses: ./.github/actions/setup-mise
- run: yarn install --frozen-lockfile --check-files
- run: bun install --frozen-lockfile
- run: yarn typecheck
- run: bun run typecheck
- name: Run unit tests
working-directory: packages/worker
run: yarn test:unit
run: bun run test:unit
- name: Run integration tests
working-directory: packages/worker
run: yarn test:integration
run: bun run test:integration
worker-build:
needs:
-1
View File
@@ -1 +0,0 @@
save-prefix ""
+2
View File
@@ -2,5 +2,7 @@
When working with this repository follow instructions from CLAUDE.md.
Use Bun for installs and scripts unless a command explicitly requires a different tool.
- [./CLAUDE.md](./CLAUDE.md)
+24 -22
View File
@@ -89,49 +89,51 @@ This is a **Lerna-based monorepo** containing the EAS CLI and all supporting bui
### Setup
```bash
yarn install # Install all dependencies
yarn build # Build all packages in the monorepo
bun install # Install all dependencies
bun run build # Build all packages in the monorepo
```
### Development
```bash
yarn start # Watch mode with parallel builds across all packages
yarn watch # Alias for start
bun run start # Watch mode with parallel builds across all packages
bun run watch # Alias for start
# Development with relaxed TypeScript rules (allows unused variables)
yarn start-allow-unused
bun run start-allow-unused
```
### Testing
```bash
yarn lerna run test # Run all tests across packages
yarn lerna run test -- --watch # Watch mode across packages (heavier)
# Run all tests across packages
bun run test
# Watch mode across packages (heavier)
bun run test -- --watch
#
# If you use `yarn test`, remember to pass args through two separators:
# yarn test -- -- --watch
# If you use `bun run test`, remember to pass args through two separators:
# bun run test -- -- --watch
# Run tests for a specific package
cd packages/eas-cli && yarn test
cd packages/eas-json && yarn test
cd packages/worker && yarn test
cd packages/build-tools && yarn test
cd packages/steps && yarn test
cd packages/eas-cli && bun run test
cd packages/eas-json && bun run test
cd packages/worker && bun run test
cd packages/build-tools && bun run test
cd packages/steps && bun run test
```
### Type Checking & Linting
```bash
yarn typecheck # TypeScript type check all packages
yarn lint # ESLint across all packages
bun run typecheck # TypeScript type check all packages
bun run lint # ESLint across all packages
```
### Running EAS CLI Locally
```bash
# From repository root:
yarn eas <command> # Run via root package script
bun run eas <command> # Run via root package script
# Or use the binary directly:
packages/eas-cli/bin/run <command>
@@ -257,9 +259,9 @@ Most packages depend on `@expo/eas-build-job` as the source of truth for types.
Run a single test file:
```bash
cd packages/eas-cli && yarn test <path-to-test-file>
cd packages/eas-cli && bun run test <path-to-test-file>
# Example:
cd packages/eas-cli && yarn test src/project/__tests__/projectUtils-test.ts
cd packages/eas-cli && bun run test src/project/__tests__/projectUtils-test.ts
```
## Common Development Scenarios
@@ -306,8 +308,8 @@ export EXPO_DEBUG=1 # Enable debug logging
All changes should be validated with TypeScript and the linter before committing:
```bash
yarn typecheck # Validate TypeScript types
yarn lint # Run ESLint
bun run typecheck # Validate TypeScript types
bun run lint # Run ESLint
```
### Logging
@@ -355,5 +357,5 @@ See `LICENSE` (MIT) and `LICENSE-BUSL` (BUSL-1.1) for details.
## Important Notes
- **Node Version**: Requires Node.js (managed via Mise)
- **Package Manager**: Uses Yarn 1.22.21
- **Package Manager**: Uses Bun
- **Compilation Target**: CommonJS with Node resolution
+6 -6
View File
@@ -5,13 +5,13 @@
If this is your first time running `eas-cli` locally, make sure you install and build the packages. In the project root, run:
```sh
yarn install
yarn build
bun install
bun run build
```
From there, set up an alias for the EAS CLI so you can try it in projects all around your computer. The project is compiled on the fly so you don't need to run a build (watch) command.
> The only exception is if there have been changes in `packages/eas-json`. In that case, you'll have to run `yarn build` in the root.
> The only exception is if there have been changes in `packages/eas-json`. In that case, you'll have to run `bun run build` in the root.
Open your `.zshrc` or other config file and add:
@@ -24,7 +24,7 @@ Then use it with `easd` like `easd build`.
If you're making changes to `packages/eas-json` or prefer/need to work with production code, start the build command in watch mode with:
```sh
yarn start
bun run start
```
If it is easier for you to work with the code locally with compiler options set to:
@@ -43,7 +43,7 @@ If it is easier for you to work with the code locally with compiler options set
you can consider using:
```sh
yarn start-allow-unused
bun run start-allow-unused
```
## Format
@@ -69,7 +69,7 @@ See [`CLAUDE.md`](./CLAUDE.md) for how to set up your environment when making ch
## Testing
From the repository root, run `yarn lerna run test`. For a single package, run `yarn test` in that package directory.
From the repository root, run `bun run test`. For a single package, run `bun run test` in that package directory.
## Releasing
+13301
View File
File diff suppressed because it is too large. Load diff
-1
View File
@@ -1,5 +1,4 @@
{
"npmClient": "yarn",
"version": "16.32.0",
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
}
+1 -1
View File
@@ -1,3 +1,3 @@
[tools]
node = "20.19.4"
yarn = "1.22.22"
bun = "1.3.5"
+3 -3
View File
@@ -6,12 +6,12 @@
],
"scripts": {
"build": "lerna run build",
"build:tarballs:linux": "yarn build-for-size-check",
"build-for-size-check": "yarn build && yarn workspace eas-cli pretarball-ci && CLI_SIZE_CHECK=1 yarn workspace eas-cli oclif pack:tarballs --no-xz --targets linux-x64",
"build:tarballs:linux": "bun run build-for-size-check",
"build-for-size-check": "bun run build && lerna run pretarball-ci --scope eas-cli && CLI_SIZE_CHECK=1 lerna exec --scope eas-cli -- oclif pack:tarballs --no-xz --targets linux-x64",
"typecheck": "lerna run typecheck",
"start": "lerna run watch --stream --parallel",
"start-allow-unused": "lerna run watch-allow-unused --stream --parallel",
"watch": "yarn start",
"watch": "bun run start",
"eas": "packages/eas-cli/bin/run",
"lint": "eslint .",
"lint-changelog": "./scripts/bin/run lint-changelog",
+5 -5
View File
@@ -15,10 +15,10 @@
"bin"
],
"scripts": {
"start": "yarn watch",
"prewatch": "yarn gql",
"start": "bun run watch",
"prewatch": "bun run gql",
"watch": "tsc --watch --preserveWatchOutput",
"prebuild": "yarn gql",
"prebuild": "bun run gql",
"build": "tsc",
"typecheck": "tsc",
"prepack": "rm -rf dist && tsc -p tsconfig.build.json",
@@ -28,8 +28,8 @@
"jest-integration-watch": "jest --config jest/integration-config.ts --watch",
"clean": "rm -rf node_modules dist coverage *.tsbuildinfo",
"gql": "gql.tada generate-schema ${API_SERVER_URL:-https://api.expo.dev}/graphql --output ./schema.graphql && gql.tada generate-output",
"gql:local": "API_SERVER_URL=http://api.expo.test yarn gql",
"test": "yarn jest-unit"
"gql:local": "API_SERVER_URL=http://api.expo.test bun run gql",
"test": "bun run jest-unit"
},
"author": "Expo <[email protected]>",
"bugs": "https://github.com/expo/eas-cli/issues",
@@ -12,6 +12,9 @@
# With NPM
npx create-eas-build-function
# With Bun
bunx create-eas-build-function
# With Yarn
yarn create eas-build-function
@@ -24,10 +24,10 @@
"templates"
],
"scripts": {
"prepack": "yarn run clean && yarn run build",
"prepack": "bun run clean && bun run build",
"lint": "eslint .",
"test": "echo 'No tests yet.'",
"watch": "yarn run build:dev -w",
"watch": "bun run build:dev -w",
"build:dev": "ncc build ./src/index.ts -o build/",
"build": "ncc build ./src/index.ts -o build/ --minify --no-cache --no-source-map-register",
"typecheck": "tsc",
@@ -11,6 +11,6 @@
},
"scripts": {
"babel": "babel src --out-dir babel",
"build": "yarn babel && ncc build ./babel/index.js -o build/ --minify --no-cache --no-source-map-register"
"build": "bun run babel && ncc build ./babel/index.js -o build/ --minify --no-cache --no-source-map-register"
}
}
+1 -1
View File
@@ -12,7 +12,7 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+6 -4
View File
@@ -13,10 +13,10 @@ A build cache provider plugin for Expo CLI. Published as `eas-build-cache-provid
## Development Commands
```bash
yarn build # TypeScript compilation (src → build)
yarn watch # Watch mode
yarn typecheck # Type check
yarn test # Run tests
bun run build # TypeScript compilation (src → build)
bun run watch # Watch mode
bun run typecheck # Type check
bun run test # Run tests
```
## Usage
@@ -28,6 +28,8 @@ Install as a dev dependency in your Expo project:
```bash
npm install --save-dev eas-build-cache-provider
# or
bun add --dev eas-build-cache-provider
# or
yarn add --dev eas-build-cache-provider
```
@@ -41,13 +41,13 @@
"scripts": {
"build": "tsc --project tsconfig.build.json",
"build-allow-unused": "tsc --project tsconfig.allowUnused.json",
"watch": "yarn build --watch --preserveWatchOutput",
"watch-allow-unused": "yarn build-allow-unused --watch --preserveWatchOutput",
"watch": "bun run build --watch --preserveWatchOutput",
"watch-allow-unused": "bun run build-allow-unused --watch --preserveWatchOutput",
"typecheck": "tsc",
"prepack": "yarn rebuild",
"rebuild": "rimraf build && yarn build",
"prepack": "bun run rebuild",
"rebuild": "rimraf build && bun run build",
"test": "jest --passWithNoTests",
"clean": "rimraf build node_modules yarn-error.log *.tsbuildinfo"
"clean": "rimraf build node_modules *.tsbuildinfo"
},
"files": [
"/build"
+1 -1
View File
@@ -12,7 +12,7 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+12 -12
View File
@@ -15,7 +15,7 @@ The main CLI tool for Expo Application Services (EAS). Published as `eas-cli` on
### Running Locally
```bash
# From repository root:
yarn eas <command>
bun run eas <command>
# Or use the binary directly:
packages/eas-cli/bin/run <command>
@@ -27,23 +27,23 @@ easd build --help
### Build & Development
```bash
yarn build # TypeScript compilation (src → build)
yarn watch # Watch mode
yarn watch-allow-unused # Watch mode with relaxed TS rules
yarn typecheck # Type check without building
yarn typecheck-for-build # Type check for production build
bun run build # TypeScript compilation (src → build)
bun run watch # Watch mode
bun run watch-allow-unused # Watch mode with relaxed TS rules
bun run typecheck # Type check without building
bun run typecheck-for-build # Type check for production build
```
### Testing
```bash
yarn test # Run all tests
yarn test <path-to-file> # Run specific test file
bun run test # Run all tests
bun run test <path-to-file> # Run specific test file
```
### GraphQL Code Generation
```bash
yarn generate-graphql-code # Generate TypeScript types from GraphQL schema
yarn verify-graphql-code # Verify GraphQL code is up to date (CI check)
bun run generate-graphql-code # Generate TypeScript types from GraphQL schema
bun run verify-graphql-code # Verify GraphQL code is up to date (CI check)
```
The GraphQL schema is fetched from `https://staging-api.expo.dev/graphql` and generates:
@@ -52,7 +52,7 @@ The GraphQL schema is fetched from `https://staging-api.expo.dev/graphql` and ge
### oclif Commands
```bash
yarn oclif readme # Auto-generate README.md from command metadata
bunx oclif readme # Auto-generate README.md from command metadata
```
## Command Architecture
@@ -283,7 +283,7 @@ describe('MyCommand', () => {
## Important Notes
- **oclif**: Commands auto-discovered from `build/commands/`
- **README**: Auto-generated from oclif - update via `yarn oclif readme`
- **README**: Auto-generated from oclif - update via `bunx oclif readme`
- **Manifest**: Generated during `prepack` step
- **Templates**: `src/commandUtils/new/templates` are copied to `build/` during build
- **Node Version**: >= 18.0.0
+5 -5
View File
@@ -16,7 +16,7 @@ EAS command line tool
```sh
npm install -g eas-cli
# or
yarn global add eas-cli
bun add -g eas-cli
```
## Enforcing eas-cli version for your project
@@ -1661,13 +1661,13 @@ Create a new project configured with Expo Application Services (EAS)
```
USAGE
$ eas new [PATH] [-p bun|npm|pnpm|yarn]
$ eas new [PATH] [-p bun|npm|pnpm]
ARGUMENTS
PATH Path to create the project (defaults to current directory)
FLAGS
-p, --package-manager=(bun|npm|pnpm|yarn) [default: npm] Package manager to use for installing dependencies
-p, --package-manager=(bun|npm|pnpm) [default: bun] Package manager to use for installing dependencies
DESCRIPTION
Create a new project configured with Expo Application Services (EAS)
@@ -1749,13 +1749,13 @@ Create a new project configured with Expo Application Services (EAS)
```
USAGE
$ eas project:new [PATH] [-p bun|npm|pnpm|yarn]
$ eas project:new [PATH] [-p bun|npm|pnpm]
ARGUMENTS
PATH Path to create the project (defaults to current directory)
FLAGS
-p, --package-manager=(bun|npm|pnpm|yarn) [default: npm] Package manager to use for installing dependencies
-p, --package-manager=(bun|npm|pnpm) [default: bun] Package manager to use for installing dependencies
DESCRIPTION
Create a new project configured with Expo Application Services (EAS)
+7 -7
View File
@@ -229,20 +229,20 @@
},
"scripts": {
"postpack": "rimraf oclif.manifest.json",
"prepack": "yarn rebuild && node ./scripts/prepack.js",
"rebuild": "rimraf build && yarn build",
"prepack": "bun run rebuild && node ./scripts/prepack.js",
"rebuild": "rimraf build && bun run build",
"pretarball-ci": "./scripts/pretarball-ci.sh",
"build": "yarn typecheck-for-build && yarn copy-new-templates",
"build": "bun run typecheck-for-build && bun run copy-new-templates",
"build-allow-unused": "tsc --project tsconfig.allowUnused.json",
"watch": "yarn typecheck-for-build --watch --preserveWatchOutput",
"watch-allow-unused": "yarn build-allow-unused --watch --preserveWatchOutput",
"watch": "bun run typecheck-for-build --watch --preserveWatchOutput",
"watch-allow-unused": "bun run build-allow-unused --watch --preserveWatchOutput",
"typecheck": "tsc",
"typecheck-for-build": "tsc --project tsconfig.build.json",
"test": "jest",
"version": "yarn oclif readme && node scripts/patch-readme && git add README.md",
"version": "bunx oclif readme && node scripts/patch-readme && git add README.md",
"generate-graphql-code": "graphql-codegen --config graphql-codegen.yml",
"verify-graphql-code": "./scripts/verify-graphql.sh",
"clean": "rimraf dist build tmp node_modules yarn-error.log *.tsbuildinfo",
"clean": "rimraf dist build tmp node_modules *.tsbuildinfo",
"copy-new-templates": "rimraf build/commandUtils/new/templates && mkdir -p build/commandUtils/new && cp -r src/commandUtils/new/templates build/commandUtils/new"
}
}
@@ -6,7 +6,7 @@ const path = './src/graphql/generated.ts';
const generatedCode = await fs.readFile(path, 'utf8');
const comment = `/**
* This file was generated using GraphQL Codegen
* Command: yarn generate-graphql-code
* Command: bun run generate-graphql-code
* Run this during development for automatic type generation when editing GraphQL documents
* For more info and docs, visit https://graphql-code-generator.com/
*/\n\n`;
+1 -1
View File
@@ -2,6 +2,6 @@ const spawn = require('@expo/spawn-async');
(async () => {
if (!process.env.CLI_SIZE_CHECK) {
await spawn('yarn', ['oclif', 'manifest'], { stdio: 'inherit' });
await spawn('bunx', ['oclif', 'manifest'], { stdio: 'inherit' });
}
})();
+3 -3
View File
@@ -14,20 +14,20 @@ trap cleanup EXIT
cp graphql.schema.json graphql.schema.json.bak
cp src/graphql/generated.ts src/graphql/generated.ts.bak
yarn generate-graphql-code
bun run generate-graphql-code
if cmp -s graphql.schema.json graphql.schema.json.bak; then
echo "GraphQL schema is up-to-date"
if cmp -s src/graphql/generated.ts src/graphql/generated.ts.bak; then
echo "GraphQL generated code is up-to-date"
exit 0
else
echo "GraphQL code has changed but has not been regenerated. Run `yarn generate-graphql-code` and commit the changes."
echo "GraphQL code has changed but has not been regenerated. Run `bun run generate-graphql-code` and commit the changes."
exit 1
fi
else
echo "GraphQL schema has changed on the server."
echo "Building eas-cli and its dependencies"
yarn lerna run build --scope eas-cli --include-dependencies
bunx lerna run build --scope eas-cli --include-dependencies
# If there are no errors, then the schema is backwards compatible
exit 0
fi
+8184 -1178
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -69,7 +69,7 @@ function importMetroConfigFromProject(projectDir: string): typeof MetroConfig {
'Missing package "metro-config" in the project. ' +
'This usually means `react-native` is not installed. ' +
'Verify that dependencies in package.json include "react-native" ' +
'and run `yarn` or `npm install`.'
'and run `bun install` or `npm install`.'
);
}
return require(resolvedPath);
+4 -4
View File
@@ -14,10 +14,10 @@ A library for parsing and validating `eas.json` configuration files. Published a
## Development Commands
```bash
yarn build # TypeScript compilation (src → build)
yarn watch # Watch mode
yarn typecheck # Type check
yarn test # Run tests
bun run build # TypeScript compilation (src → build)
bun run watch # Watch mode
bun run typecheck # Type check
bun run test # Run tests
```
## Architecture
+5 -5
View File
@@ -40,13 +40,13 @@
"scripts": {
"build": "tsc --project tsconfig.build.json",
"build-allow-unused": "tsc --project tsconfig.allowUnused.json",
"watch": "yarn build --watch --preserveWatchOutput",
"watch-allow-unused": "yarn build-allow-unused --watch --preserveWatchOutput",
"watch": "bun run build --watch --preserveWatchOutput",
"watch-allow-unused": "bun run build-allow-unused --watch --preserveWatchOutput",
"typecheck": "tsc",
"prepack": "yarn rebuild",
"rebuild": "rimraf build && yarn build",
"prepack": "bun run rebuild",
"rebuild": "rimraf build && bun run build",
"test": "jest",
"clean": "rimraf build node_modules yarn-error.log *.tsbuildinfo"
"clean": "rimraf build node_modules *.tsbuildinfo"
},
"files": [
"/build"
+1 -1
View File
@@ -16,7 +16,7 @@
"eas-cli-local-build-plugin": "./bin/run"
},
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+1 -1
View File
@@ -12,7 +12,7 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+1 -1
View File
@@ -6,7 +6,7 @@ TBD
If you want to run config examples from the **examples** directory, e.g. **examples/simple**, follow the steps:
- Run `yarn` and `yarn build` in the root of the monorepo.
- Run `bun install` and `bun run build` in the root of the monorepo.
- Add `alias eas-steps="/REPLACE/WITH/PATH/TO/eas-cli/packages/steps/cli.sh"` to your **.zshrc**/**.bashrc**/etc.
- cd into **examples/simple** and run `eas-steps config.yml project [darwin|linux]`. The first argument is the config file, and the second is the default working directory for the config file. The third argument is the platform for which you want to simulate running a custom build, it defaults to the platform of the device on which the CLI is currently being run.
+1 -1
View File
@@ -4,4 +4,4 @@ set -eo pipefail
STEPS_ROOT_DIR=$( dirname "${BASH_SOURCE[0]}" )
node $STEPS_ROOT_DIR/dist/cli/cli.js $@ | yarn run bunyan -o short
node $STEPS_ROOT_DIR/dist/cli/cli.js $@ | bunx bunyan -o short
+2 -2
View File
@@ -13,14 +13,14 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"build": "tsc --project tsconfig.build.json",
"typecheck": "tsc",
"prepack": "rm -rf dist && tsc --project tsconfig.build.json",
"watch": "tsc --watch --preserveWatchOutput",
"test": "jest --config jest.config.ts",
"test:coverage": "jest --config jest.config.ts --coverage",
"test:watch": "yarn test --watch",
"test:watch": "bun run test --watch",
"clean": "rm -rf node_modules dist coverage *.tsbuildinfo"
},
"author": "Expo <[email protected]>",
+1 -1
View File
@@ -12,7 +12,7 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+1 -1
View File
@@ -12,7 +12,7 @@
"dist"
],
"scripts": {
"start": "yarn watch",
"start": "bun run watch",
"watch": "tsc --watch --preserveWatchOutput",
"build": "tsc",
"typecheck": "tsc",
+4 -4
View File
@@ -22,15 +22,15 @@ cp ./.direnv/local/.envrc.example ./.direnv/local/.envrc
# Then load it with direnv or source it manually
# Install dependencies (from repo root)
yarn install
bun install
# Build
yarn build
bun run build
```
### Development
```bash
yarn start # Start the worker in development mode
bun run start # Start the worker in development mode
# If you made changes in packages from libs/ directory:
# Type 'rs' in the console and press ENTER
@@ -39,7 +39,7 @@ yarn start # Start the worker in development mode
### Testing
```bash
yarn test # Run unit tests
bun run test # Run unit tests
```
## Architecture
+1 -1
View File
@@ -23,7 +23,7 @@ If for some reason the launcher is down when the build has finished then the new
## Development
- Run `cp ./.direnv/local/.envrc.example ./.direnv/local/.envrc` and fill out the new file with your secrets.
- Run `yarn` (if you haven't run it in the root dir of the repo) and then `yarn start`.
- Run `bun install` (if you haven't run it in the root dir of the repo) and then `bun run start`.
- If you made a change in packages from directory `libs`, type `rs` in the console and press ENTER (or `CTRL+C`, `UP`, `ENTER`).
## Deployment
+4 -4
View File
@@ -3,14 +3,14 @@
"version": "16.32.0",
"private": true,
"scripts": {
"start": "yarn watch",
"watch": "yarn compile --watch --preserveWatchOutput",
"start": "bun run watch",
"watch": "bun run compile --watch --preserveWatchOutput",
"build": "npm run clean && npm run compile",
"clean": "rm -rf ./dist",
"clean-all": "yarn clean && rm -rf node_modules",
"clean-all": "bun run clean && rm -rf node_modules",
"compile": "tsc -p tsconfig.build.json",
"prepublishOnly": "npm run build",
"test": "yarn test:unit",
"test": "bun run test:unit",
"test:unit": "./resources/jest --config jest.config.unit.ts",
"test:unit:watch": "./resources/jest --config jest.config.unit.ts --watch",
"test:integration": "./resources/jest --runInBand --config jest.config.integration.ts",
+5 -5
View File
@@ -45,7 +45,7 @@ copy_package() {
fi
}
cp "$ROOT_DIR/yarn.lock" $target_root_dir
cp "$ROOT_DIR/bun.lock" $target_root_dir
cp "$ROOT_DIR/package.json" $target_root_dir
cp "$ROOT_DIR/lerna.json" $target_root_dir
@@ -53,13 +53,13 @@ copy_package $WORKER_DIR $target_worker_dir
while IFS= read -r package_dir; do
package_name=$(basename "$package_dir")
copy_package "$package_dir" "$target_root_dir/packages/$package_name"
done <<< "$(yarn --silent lerna list --scope "@expo/worker" --include-dependencies --parseable --loglevel silent)"
done <<< "$(bunx --silent lerna list --scope "@expo/worker" --include-dependencies --parseable --loglevel silent)"
pushd $target_root_dir >/dev/null 2>&1
yarn install --silent --frozen-lockfile
yarn build
yarn install --silent --production=true --frozen-lockfile
bun install --silent --frozen-lockfile
bun run build
bun install --silent --production --frozen-lockfile
rm -rf tsconfig.json tsconfig.build.json
popd >/dev/null 2>&1
+1 -1
View File
@@ -9,4 +9,4 @@ ROOT_DIR="$( cd "$DIR/../../../.." && pwd)"
# shellcheck source=test-env.sh
source "$DIR/test-env.sh"
yarn run jest "$@"
bun run jest "$@"
@@ -1,48 +0,0 @@
#!/usr/bin/env bash
# Links/unlinks local eas-build packages for development.
#
# Prerequisites:
# Run `yarn link` in each package directory in eas-build repo first:
# cd /path/to/eas-build
# for pkg in build-tools steps eas-build-job downloader logger template-file turtle-spawn; do
# (cd packages/$pkg && yarn link)
# done
#
# Usage:
# ./resources/link-eas-build-packages.sh # Link all packages
# ./resources/link-eas-build-packages.sh --unlink # Unlink and restore npm versions
set -e
PACKAGES=(
"@expo/build-tools"
"@expo/steps"
"@expo/eas-build-job"
"@expo/downloader"
"@expo/logger"
"@expo/template-file"
"@expo/turtle-spawn"
)
if [[ "$1" == "--unlink" ]]; then
CMD="unlink"
echo "Unlinking eas-build packages..."
else
CMD="link"
echo "Linking eas-build packages..."
fi
for PACKAGE in "${PACKAGES[@]}"; do
echo "yarn $CMD $PACKAGE"
yarn $CMD "$PACKAGE"
done
if [[ "$1" == "--unlink" ]]; then
echo ""
echo "Restoring npm versions..."
yarn install --force
fi
echo ""
echo "Done!"
+2 -2
View File
@@ -6,7 +6,7 @@ SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
pushd $SCRIPTS_DIR >/dev/null 2>&1
# Install modules
yarn --silent
bun install --silent
# Run script
yarn --silent $@
bun run --silent $@
popd >/dev/null 2>&1
+108
View File
@@ -0,0 +1,108 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "scripts",
"dependencies": {
"chalk": "5.2.0",
"dateformat": "4.5.1",
"fs-extra": "11.2.0",
"lodash-es": "4.17.21",
"marked": "3.0.4",
"semver": "7.5.4",
"tslib": "2.6.2",
},
"devDependencies": {
"@types/dateformat": "3.0.1",
"@types/fs-extra": "11.0.4",
"@types/lodash-es": "4.17.12",
"@types/node": "20.11.0",
"@types/semver": "7.5.6",
"ts-node": "10.9.2",
"typescript": "5.3.3",
},
},
},
"packages": {
"@cspotcode/source-map-support": ["@cspotcode/[email protected]", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="],
"@jridgewell/resolve-uri": ["@jridgewell/[email protected]", "", {}, "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="],
"@jridgewell/sourcemap-codec": ["@jridgewell/[email protected]", "", {}, "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="],
"@jridgewell/trace-mapping": ["@jridgewell/[email protected]", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="],
"@tsconfig/node10": ["@tsconfig/[email protected]", "", {}, "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg=="],
"@tsconfig/node12": ["@tsconfig/[email protected]", "", {}, "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw=="],
"@tsconfig/node14": ["@tsconfig/[email protected]", "", {}, "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg=="],
"@tsconfig/node16": ["@tsconfig/[email protected]", "", {}, "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA=="],
"@types/dateformat": ["@types/[email protected]", "", {}, "sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g=="],
"@types/fs-extra": ["@types/[email protected]", "", { "dependencies": { "@types/jsonfile": "*", "@types/node": "*" } }, "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ=="],
"@types/jsonfile": ["@types/[email protected]", "", { "dependencies": { "@types/node": "*" } }, "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ=="],
"@types/lodash": ["@types/[email protected]", "", {}, "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q=="],
"@types/lodash-es": ["@types/[email protected]", "", { "dependencies": { "@types/lodash": "*" } }, "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ=="],
"@types/node": ["@types/[email protected]", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ=="],
"@types/semver": ["@types/[email protected]", "", {}, "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A=="],
"acorn": ["[email protected]", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q=="],
"acorn-walk": ["[email protected]", "", {}, "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA=="],
"arg": ["[email protected]", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="],
"chalk": ["[email protected]", "", {}, "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA=="],
"create-require": ["[email protected]", "", {}, "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="],
"dateformat": ["[email protected]", "", {}, "sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q=="],
"diff": ["[email protected]", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="],
"fs-extra": ["[email protected]", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw=="],
"graceful-fs": ["[email protected]", "", {}, "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="],
"jsonfile": ["[email protected]", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="],
"lodash-es": ["[email protected]", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="],
"lru-cache": ["[email protected]", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="],
"make-error": ["[email protected]", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="],
"marked": ["[email protected]", "", { "bin": { "marked": "bin/marked" } }, "sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA=="],
"semver": ["[email protected]", "", { "dependencies": { "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" } }, "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA=="],
"ts-node": ["[email protected]", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { "ts-node": "dist/bin.js", "ts-script": "dist/bin-script-deprecated.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="],
"tslib": ["[email protected]", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="],
"typescript": ["[email protected]", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw=="],
"undici-types": ["[email protected]", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
"universalify": ["[email protected]", "", {}, "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="],
"v8-compile-cache-lib": ["[email protected]", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="],
"yallist": ["[email protected]", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="],
"yn": ["[email protected]", "", {}, "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="],
"@types/fs-extra/@types/node": ["@types/[email protected]", "", {}, "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="],
"@types/jsonfile/@types/node": ["@types/[email protected]", "", {}, "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ=="],
}
}
+1 -1
View File
@@ -64,7 +64,7 @@ function sanitizeInput(
): [category: EntryCategory, message: string] {
if (!rawCategory || !rawMessage) {
throw new Error(
'Usage: yarn changelog-entry [breaking-change|new-feature|bug-fix|chore] [message]'
'Usage: bun run changelog-entry [breaking-change|new-feature|bug-fix|chore] [message]'
);
}
+1 -1
View File
@@ -18,7 +18,7 @@ const FORMAT_RELEASE_HEADING = (version: string): markdown.Token =>
(async function main(version: string): Promise<void> {
if (!semver.valid(version)) {
throw new Error(`Usage: yarn release-changelog SEMVER`);
throw new Error(`Usage: bun run release-changelog SEMVER`);
}
const tokens = await readAndParseChangelogAsync();
-238
View File
@@ -1,238 +0,0 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
"@jridgewell/resolve-uri@^3.0.3":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.14"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
"@jridgewell/[email protected]":
version "0.3.9"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@tsconfig/node10@^1.0.7":
version "1.0.8"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
"@tsconfig/node12@^1.0.7":
version "1.0.9"
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
"@tsconfig/node14@^1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
"@tsconfig/node16@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
"@types/[email protected]":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@types/dateformat/-/dateformat-3.0.1.tgz#98d747a2e5e9a56070c6bf14e27bff56204e34cc"
integrity sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g==
"@types/[email protected]":
version "11.0.4"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45"
integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==
dependencies:
"@types/jsonfile" "*"
"@types/node" "*"
"@types/jsonfile@*":
version "6.1.4"
resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702"
integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==
dependencies:
"@types/node" "*"
"@types/[email protected]":
version "4.17.12"
resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b"
integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==
dependencies:
"@types/lodash" "*"
"@types/lodash@*":
version "4.14.182"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2"
integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
"@types/node@*":
version "16.10.3"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.3.tgz#7a8f2838603ea314d1d22bb3171d899e15c57bd5"
integrity sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==
"@types/[email protected]":
version "20.11.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.0.tgz#8e0b99e70c0c1ade1a86c4a282f7b7ef87c9552f"
integrity sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==
dependencies:
undici-types "~5.26.4"
"@types/[email protected]":
version "7.5.6"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339"
integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
acorn-walk@^8.1.1:
version "8.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
acorn@^8.4.1:
version "8.5.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
[email protected]:
version "5.2.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
create-require@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
[email protected]:
version "4.5.1"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.5.1.tgz#c20e7a9ca77d147906b6dc2261a8be0a5bd2173c"
integrity sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q==
diff@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
[email protected]:
version "11.2.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.8"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
[email protected]:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
[email protected]:
version "3.0.4"
resolved "https://registry.yarnpkg.com/marked/-/marked-3.0.4.tgz#b8a1539e5e05c6ea9e93f15c0bad1d54ce890406"
integrity sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA==
[email protected]:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
[email protected]:
version "10.9.2"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
"@tsconfig/node10" "^1.0.7"
"@tsconfig/node12" "^1.0.7"
"@tsconfig/node14" "^1.0.0"
"@tsconfig/node16" "^1.0.2"
acorn "^8.4.1"
acorn-walk "^8.1.1"
arg "^4.1.0"
create-require "^1.1.0"
diff "^4.0.1"
make-error "^1.1.1"
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
[email protected]:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
[email protected]:
version "5.3.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37"
integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
undici-types@~5.26.4:
version "5.26.5"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
universalify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
[email protected]:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
-17978
View File
File diff suppressed because it is too large. Load diff