-
Notifications
You must be signed in to change notification settings - Fork 190
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
Refresh tsconfig and eslint setup #1677
Merged
+21,074
−15,297
Merged
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
Next
Next commit
Attempt to overhaul tsconfig/eslint
1. Migrate to ESLint 9 + new config format 2. Migrate to a single tsconfig file for the entire repo In general, this results in more consistency across the repo, including in one-off packages and tests, but it still gives us flexibility to create special rules if necessary. As part of this process, a new `repo-metadata` package was created that allows other infrastructure packages to get workspace metadata. This package has a static JSON file with the information about each package in the workspace. This was important in the current PR because it allows our eslint config to be sensitive to information in individual packages without slowing down the boot time of eslint. Fully migrating to ESLint 9 required: - Making the whole repo clean with `eslint .` - Making `eslint .` in individual packages work (and perhaps move the custom configuration to configs in each package - Moving the guts of the code into `@glimmer-workspace/eslint-plugin`. This should be **much** more straightforward with ESLint 9. - Porting all of the ESLint rules from the current setup to the new config, or deciding to ignore them. - Updating our JSON linting Rather than using a workspace package for benchmarks and trying to get `vite build` to emulate the expected behavior, we `pack` the dependencies and refer to them directly in the `package.json`. This is a little bit more involved than it might seem like it should be because the benchmark has to run on the `main` branch, so it has to be very general and can't use any infrastructure in the workspace itself that could affect the builds. On the bright side, that constraint pushes us towards treating the benchmark environment as a normal consumer of the normal Glimmer packages, which is good. The only tiny exception to that rule is that the build script builds the `@glimmer-workspace/benchmark-env` package, even though it's not a public package. This means that the code in `@glimmer-workspace/benchmark-env` needs to make sure it can be built. The current setup allows us to use the `main` branch's `@glimmer-workspace/benchmark-env` package with the experiment's `krausest` package, so it seems reasonable to build the benchmark env and use it as a traditional package rather than trying to get two workspaces to somehow mesh together (which is what got us into trouble in the first place). Note: Getting this working right now requires a little bit of hackery when setting up the current `control` (i.e. `main`) branch, because `main` isn't set up to build the `@glimmer-workspace/benchmark-env`. Once this PR is merged, we should be able to remove those hacks and rely on vanilla package builds for the entire setup going forward. Other changes: - Document recommendations - Use LFS - Explain recommended extensions for vscode - Remove unused dependencies NOTE: This PR comes after multiple attempts to set up a `.meta-updater` config, but I realized that it would be much easier after a long-needed overhaul to the tsconfig and eslint configs.
- v0.94.9-@glimmer/compiler
- v0.94.8-@glimmer/syntax
- v0.94.8-@glimmer/runtime
- v0.94.8-@glimmer/program
- v0.94.8-@glimmer/opcode-compiler
- v0.94.8-@glimmer/node
- v0.94.8-@glimmer/manager
- v0.94.8-@glimmer/compiler
- v0.94.7-@glimmer/wire-format
- v0.94.7-@glimmer/vm
- v0.94.7-@glimmer/validator
- v0.94.7-@glimmer/util
- v0.94.7-@glimmer/syntax
- v0.94.7-@glimmer/runtime
- v0.94.7-@glimmer/reference
- v0.94.7-@glimmer/program
- v0.94.7-@glimmer/opcode-compiler
- v0.94.7-@glimmer/node
- v0.94.7-@glimmer/manager
- v0.94.7-@glimmer/destroyable
- v0.94.7-@glimmer/compiler
- v0.94.6-@glimmer/wire-format
- v0.94.6-@glimmer/vm
- v0.94.6-@glimmer/validator
- v0.94.6-@glimmer/util
- v0.94.6-@glimmer/syntax
- v0.94.6-@glimmer/runtime
- v0.94.6-@glimmer/reference
- v0.94.6-@glimmer/program
- v0.94.6-@glimmer/opcode-compiler
- v0.94.6-@glimmer/node
- v0.94.6-@glimmer/manager
- v0.94.6-@glimmer/interfaces
- v0.94.6-@glimmer/destroyable
- v0.94.6-@glimmer/compiler
- v0.94.5-@glimmer/wire-format
- v0.94.5-@glimmer/vm
- v0.94.5-@glimmer/validator
- v0.94.5-@glimmer/util
- v0.94.5-@glimmer/syntax
- v0.94.5-@glimmer/runtime
- v0.94.5-@glimmer/reference
- v0.94.5-@glimmer/program
- v0.94.5-@glimmer/opcode-compiler
- v0.94.5-@glimmer/node
- v0.94.5-@glimmer/manager
- v0.94.5-@glimmer/interfaces
- v0.94.5-@glimmer/destroyable
- v0.94.5-@glimmer/compiler
- v0.94.4-@glimmer/wire-format
- v0.94.4-@glimmer/vm
- v0.94.4-@glimmer/validator
- v0.94.4-@glimmer/util
- v0.94.4-@glimmer/syntax
- v0.94.4-@glimmer/runtime
- v0.94.4-@glimmer/reference
- v0.94.4-@glimmer/program
- v0.94.4-@glimmer/opcode-compiler
- v0.94.4-@glimmer/node
- v0.94.4-@glimmer/manager
- v0.94.4-@glimmer/interfaces
- v0.94.4-@glimmer/destroyable
- v0.94.4-@glimmer/compiler
- v0.94.3-@glimmer/wire-format
- v0.94.3-@glimmer/vm
- v0.94.3-@glimmer/validator
- v0.94.3-@glimmer/util
- v0.94.3-@glimmer/syntax
- v0.94.3-@glimmer/runtime
- v0.94.3-@glimmer/reference
- v0.94.3-@glimmer/program
- v0.94.3-@glimmer/opcode-compiler
- v0.94.3-@glimmer/node
- v0.94.3-@glimmer/manager
- v0.94.3-@glimmer/interfaces
- v0.94.3-@glimmer/destroyable
- v0.94.3-@glimmer/compiler
- v0.94.2-@glimmer/wire-format
- v0.94.2-@glimmer/vm
- v0.94.2-@glimmer/validator
- v0.94.2-@glimmer/util
- v0.94.2-@glimmer/syntax
- v0.94.2-@glimmer/runtime
- v0.94.2-@glimmer/reference
- v0.94.2-@glimmer/program
- v0.94.2-@glimmer/opcode-compiler
- v0.94.2-@glimmer/node
- v0.94.2-@glimmer/manager
- v0.94.2-@glimmer/interfaces
- v0.94.2-@glimmer/destroyable
- v0.94.2-@glimmer/compiler
- v0.94.1-@glimmer/wire-format
- v0.94.1-@glimmer/vm
- v0.94.1-@glimmer/validator
- v0.94.1-@glimmer/util
- v0.94.1-@glimmer/syntax
- v0.94.1-@glimmer/runtime
- v0.94.1-@glimmer/reference
- v0.94.1-@glimmer/program
- v0.94.1-@glimmer/opcode-compiler
- v0.94.1-@glimmer/node
- v0.94.1-@glimmer/manager
- v0.94.1-@glimmer/interfaces
- v0.94.1-@glimmer/destroyable
- v0.94.1-@glimmer/compiler
- v0.94.0-@glimmer/wire-format
- v0.94.0-@glimmer/vm
- v0.94.0-@glimmer/validator
- v0.94.0-@glimmer/util
- v0.94.0-@glimmer/syntax
- v0.94.0-@glimmer/runtime
- v0.94.0-@glimmer/reference
- v0.94.0-@glimmer/program
- v0.94.0-@glimmer/opcode-compiler
- v0.94.0-@glimmer/node
- v0.94.0-@glimmer/manager
- v0.94.0-@glimmer/interfaces
- v0.94.0-@glimmer/destroyable
- v0.94.0-@glimmer/compiler
- v0.93.7-@glimmer/encoder
- v0.93.6-@glimmer/encoder
- v0.93.5-@glimmer/encoder
- v0.93.4-@glimmer/vm-babel-plugins
- v0.93.4-@glimmer/encoder
- v0.93.3-@glimmer/vm-babel-plugins
- v0.93.3-@glimmer/owner
- v0.93.3-@glimmer/global-context
- v0.93.3-@glimmer/encoder
- v0.93.2-@glimmer/vm-babel-plugins
- v0.93.2-@glimmer/owner
- v0.93.2-@glimmer/global-context
- v0.93.2-@glimmer/encoder
- v0.93.1-@glimmer/vm-babel-plugins
- v0.93.1-@glimmer/owner
- v0.93.1-@glimmer/global-context
- v0.93.1-@glimmer/encoder
- v0.93.0-@glimmer/vm-babel-plugins
- v0.93.0-@glimmer/owner
- v0.93.0-@glimmer/global-context
- v0.93.0-@glimmer/encoder
commit edf78f2a18cbeecd6c61aa2fb7c9a4d4f6c1e20a
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
guides/workspace/demos/auto-import.gif filter=lfs diff=lfs merge=lfs -text | ||
guides/workspace/demos/fixme.png filter=lfs diff=lfs merge=lfs -text | ||
guides/workspace/demos/dependency-links.png filter=lfs diff=lfs merge=lfs -text | ||
guides/workspace/demos/dependi-outdated.png filter=lfs diff=lfs merge=lfs -text | ||
guides/workspace/demos/dependi-update.png filter=lfs diff=lfs merge=lfs -text |
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
/dist/ | ||
/dist | ||
**/dist | ||
/control-dist/ | ||
node_modules/ | ||
|
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
use-node-version=20.9.0 | ||
ignore-workspace-root-check=true | ||
auto-install-peers=true | ||
strict-peer-dependencies=true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,4 +9,5 @@ ts-dist/ | |
!packages/**/*.md | ||
*.yaml | ||
*.yml | ||
guides/ | ||
guides/**/*.md | ||
!guides/workspace/**/*.md |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
node = "22" | ||
pnpm = "latest" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,12 @@ | ||
{ | ||
"recommendations": ["foxundermoon.shell-format"] | ||
} | ||
"recommendations": [ | ||
"foxundermoon.shell-format", | ||
"dbaeumer.vscode-eslint", | ||
"fill-labs.dependi", | ||
"rohit-gohri.format-code-action", | ||
"tintinweb.vscode-inline-bookmarks", | ||
"herrmannplatz.npm-dependency-links", | ||
"esbenp.prettier-vscode", | ||
"dnut.rewrap-revived" | ||
] | ||
} |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These recommendations are documented in guides/workspace/vscode.md