-
Notifications
You must be signed in to change notification settings - Fork 166
[chore] Add eas-build packages
#3290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
sjchmiela
wants to merge
19
commits into
main
Choose a base branch
from
stanley/add-eas-build
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c615871 to
12e1ee6
Compare
12e1ee6 to
174dcc2
Compare
|
⏩ The changelog entry check has been skipped since the "no changelog" label is present. |
Without rootDir, TypeScript places compiled output in dist/src/ instead of dist/ when the project has references. This breaks module resolution since package.json points to dist/index.js. Affected packages: - @expo/build-tools - eas-cli-local-build-plugin - @expo/worker
Node.js 20+ has stricter TypeScript types where Buffer no longer directly satisfies ArrayBufferView in all contexts. Wrapping Buffer instances with new Uint8Array() resolves type errors for: - fs.writeFile() calls with binary data - crypto.createHash().update() calls - fs.read() buffer parameters This is a type-level fix only; runtime behavior is unchanged since Buffer extends Uint8Array.
Replace stream.pipeline with tar's built-in file option for archive extraction. This simplifies the code and avoids TypeScript type mismatches between Node.js stream types and tar's expected input types. The file option handles opening and reading the archive internally, making the code cleaner and more maintainable.
…path The expression `output_format + '-' ?? ''` always evaluates to a non-null string (concatenation result), making the ?? operator ineffective. Changed to a ternary expression that properly checks if output_format is defined before adding the dash suffix.
The ctx parameter is now properly typed and used, so the ts-expect-error directive is no longer needed.
Enables corepack to automatically use the correct yarn version.
Change pattern from 'tsconfig.tsbuildinfo' to '*.tsbuildinfo' to ignore all TypeScript incremental compilation cache files regardless of tsconfig filename (e.g., tsconfig.build.tsbuildinfo).
This reverts commit 91d8146.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Consolidate eas-build packages into eas-cli monorepo
This PR completes the migration of packages from the
eas-buildrepository intoeas-cli, consolidating all EAS Build tooling into a single monorepo.Background
Previously, the EAS Build libraries lived in a separate
expo/eas-buildrepository. This made development and releases more complex, requiring coordination between two repos. By consolidating intoeas-cli, we can:Migrated Packages
The following packages have been moved from
eas-build:build-tools@expo/build-toolseas-build-job@expo/eas-build-jobsteps@expo/stepslogger@expo/loggerdownloader@expo/downloaderturtle-spawn@expo/turtle-spawntemplate-file@expo/template-filelocal-build-plugineas-cli-local-build-plugincreate-eas-build-functioncreate-eas-build-functionChanges
Package Configuration:
repositoryandbugsURLs in all migrated package.json files to point toexpo/eas-clieas-cli,eas-json, andworkerto use workspace packages (1.0.260)Documentation:
CLAUDE.mdwith comprehensive documentation covering all packages, architectural patterns, and development workflowsAGENTS.mdfor AI agent guidanceLicensing:
LICENSE-BUSLfor BUSL-1.1 licensed packagesLICENSE-eas-build-jobfor MIT licensed packagesBuild Infrastructure:
.gitignoreentries for build artifacts:dist,dist_*,tsconfig.tsbuildinfo, vim swap filesbin/eas-cli-local-build-pluginsymlink for local build testingDependency Cleanup:
yarn.lock- workspace packages now resolve locallyTesting
yarn installcompletes successfullyyarn buildbuilds all packagesyarn testpasseseas build --localworks with the new package structureFollow-up
After this PR is merged:
expo/eas-buildrepository