Skip to content

test: bump version of pinned @astrojs/language-server #261

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

Merged
merged 3 commits into from
Aug 19, 2024

Conversation

AriPerkkio
Copy link
Member

@AriPerkkio AriPerkkio commented Aug 19, 2024

Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@AriPerkkio AriPerkkio force-pushed the fix/template-astro-deps branch from d955da2 to a1f7323 Compare August 19, 2024 07:05
@AriPerkkio AriPerkkio changed the title fix(template): update @astrojs/check test: don't pin @astrojs/language-server Aug 19, 2024
@AriPerkkio AriPerkkio changed the title test: don't pin @astrojs/language-server test: dont pin @astrojs/language-server Aug 19, 2024
@AriPerkkio AriPerkkio marked this pull request as ready for review August 19, 2024 07:08
@AriPerkkio AriPerkkio requested a review from Nemikolh August 19, 2024 07:08
@@ -240,7 +240,6 @@ async function runPnpmInstall(dest: string, baseDir: string) {

packageJson.pnpm = {
overrides: {
'@astrojs/language-server': '2.11.1',
Copy link
Member

Choose a reason for hiding this comment

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

Wouldn't it be safer to pin it to the latest?

Copy link
Member Author

Choose a reason for hiding this comment

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

As the tests are passing just fine there is no need to pin it at all. Let's use the version that transitive dependencies end up resolving. The overriding was added in #145.

Copy link
Member

Choose a reason for hiding this comment

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

As the tests are passing just fine

They are now, but that's exactly the reason we pinned it in the first place. Because they were broken by an indirect update and I don't think it makes much sense to test in our CI the latest.

Copy link
Member Author

Choose a reason for hiding this comment

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

Sounds like we should then apply this in the template too, so that end-users get the same experience that we are testing against.

Should we lock other transitive dependencies as well?

Copy link
Member

Choose a reason for hiding this comment

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

Sounds like we should then apply this in the template too, so that end-users get the same experience that we are testing against.

I don't think we need to because we generate a lock file for a new tutorial so they already get a fixed experience and don't pull random updates from dependencies.

Should we lock other transitive dependencies as well?

We probably should.

The idea we originally had was to use lock files for those tests but edit them so that they use file dependencies for @tutorialkit/* packages. The problem was that pnpm format is just to complex to be a simple find and replace.

So with the hack in this file we basically partially did that.

I really don't like this test tbqh 😭

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think we need to because we generate a lock file for a new tutorial so they already get a fixed experience

Those lockfiles don't contain this override. 🤔

Copy link
Member

Choose a reason for hiding this comment

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

Hmm maybe I wasn't clear let me clarify.

The reason we have an override is to have a poor's man lockfile. Sam looked at adding one and doing a manual find and replace for @tutorialkit/* packages but it was too complex. Ideally this is what we would want.

We pinned the language server because it was the one causing an issue in that test with astro check. Astro check was picking up a newer version of the language server which surprisingly only failed when using file dependencies. When removing the file dependencies everything was working fine. So we pinned it.

New tutorials use a lock files that we generated when deploying a new version and we checked that everything was working. So new tutorial won't break by accidentally picking up a newer versions of a tutorialkit dependency.

Does that makes more sense?

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure, sounds good!

@AriPerkkio AriPerkkio changed the title test: dont pin @astrojs/language-server test: bump version of pinned @astrojs/language-server Aug 19, 2024
@Nemikolh Nemikolh merged commit dea93e4 into stackblitz:main Aug 19, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants