Skip to content
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

refactor: initial project layout #4846

Merged
merged 4 commits into from
Jan 7, 2025

Conversation

arendjr
Copy link
Contributor

@arendjr arendjr commented Jan 6, 2025

Summary

Fixes #2475.

With this PR, we get a first version of our ProjectLayout that we will be able to expose through a service to lint rules that want to do more complex analysis. For now, the only thing it contains is the NodeJsPackage which has been updated from the previous NodeJsProject that was stored on ProjectData directly.

This is enough to fix noUndeclaredDependencies in monorepos.

The biome_project crate has also been renamed to biome_package.

As part of this refactoring, clients no longer manually set the manifest. Instead, they call scan_project_folder(), and the manifests are discovered and put into the ProjectLayout when the scanning is done.

Later I want to use a similar mechanism for resolving package-level configs, but I think I better wait with that until @ematipico is done with #4845.

Test Plan

Added tests.

@arendjr arendjr requested a review from a team January 6, 2025 18:49
@github-actions github-actions bot added A-CLI Area: CLI A-Core Area: core A-Project Area: project A-Linter Area: linter A-Tooling Area: internal tools A-LSP Area: language server protocol L-JavaScript Language: JavaScript and super languages labels Jan 6, 2025
@arendjr arendjr force-pushed the initial-project-layout branch from 68da217 to b15b986 Compare January 6, 2025 18:51
Copy link

codspeed-hq bot commented Jan 6, 2025

CodSpeed Performance Report

Merging #4846 will not alter performance

Comparing arendjr:initial-project-layout (470952e) with next (24c8256)

Summary

✅ 97 untouched benchmarks

Copy link
Contributor

@dyc3 dyc3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@arendjr arendjr merged commit 01044aa into biomejs:next Jan 7, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-CLI Area: CLI A-Core Area: core A-Linter Area: linter A-LSP Area: language server protocol A-Project Area: project A-Tooling Area: internal tools L-JavaScript Language: JavaScript and super languages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants