-
-
Notifications
You must be signed in to change notification settings - Fork 538
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
feat: add biome_project
#626
Merged
Merged
Conversation
This file contains 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
Parser conformance results onjs/262
jsx/babel
symbols/microsoft
ts/babel
ts/microsoft
|
a09be6b
to
9551309
Compare
9551309
to
8e1f5c5
Compare
8e1f5c5
to
ddb2aa9
Compare
ddb2aa9
to
bf4a2d0
Compare
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.
Summary
This PR adds the concept of project. A project is a generic concept and it's not necessarily tight to the
package.json
file. Here's a list of important information about a project:Project
, a project has an associated type calledManifest
;Manifest,
that defines the type of project; in a Node.js project, the filepackage.json
is the manifest;Then, there's a
node_js_project
folder where I created theNodeJsProject
andPackageJson
types, which implement the previous traits.The APIs of said traits are still a WIP and not set on stone. This is because I still need to wire those manifest inside the workspace. I believe these APIs will change once we actually start using those manifests based on their needs.
The PR also adds a codegen job to retrieve the licenses available on the internet, and the PR also adds some tests for how the validation happens. This is a way to show the diagnostic, the where and the how are not set on stone and it's subject to change.
Another thing that I am unsure about if the linting of a manifest should occur in its own infra (this PR prepares said infra, using the
analyze
method), or if we should use the current analyzer.This is outside of the scope of this PR.
I didn't add the process of the manifest in the CLI/LSP on purpose because this still needs to be defined, and we need to understand to how to process those manifests.
Test Plan
I added some tests