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

Upgrade to Volar 2.4.11 #784

Merged
merged 14 commits into from
Jan 9, 2025
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"eslint": "^8.27.0",
"prettier": "^3.3.2",
"release-it": "^15.5.0",
"typescript": ">=5.4.0"
"typescript": ">=5.6.0"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Volar hugs TS pretty closely; this was necessary due to output lib code referencing SetIterator which is new to TS 5.6. Perhaps at some point we might need some upstream tweaks to make a little room for older Ember apps that are tied to older TS?

Copy link
Contributor

Choose a reason for hiding this comment

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

maybe eventually, but TS support and ember support aren't so tied together, so our flexibility here is pretty good -- like older embers can use 5.6 just fine (older = > 5.1, because we're not messing with DT ever)

},
"resolutions:notes": {
"@glimmer/validator": "Newer versions of @glimmer/* are ESM-only, and Glint is compiled to CJS, so newer versions of @glimmer/* are not compatible",
Expand Down
68 changes: 59 additions & 9 deletions packages/core/__tests__/cli/build.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -466,8 +466,13 @@ describe('CLI: single-pass build mode typechecking', () => {
2 const A = 2 * C;
~

src/index.gts:2:15 - error TS2307: Cannot find module '@glint-test/a' or its corresponding type declarations.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since the TS/Volar upgrade, there seems to be some internal changes in the build algorithm, producing more error messages than before if one of the subprojects fails to build.


Found 1 error.
2 import A from '@glint-test/a';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -573,8 +578,13 @@ describe('CLI: single-pass build mode typechecking', () => {
4 const A = <template>{{double C}}</template>;
~

src/index.gts:2:15 - error TS2307: Cannot find module '@glint-test/a' or its corresponding type declarations.

Found 1 error.
2 import A from '@glint-test/a';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -702,8 +712,13 @@ describe('CLI: single-pass build mode typechecking', () => {
1 const B: number = 'ahoy';
~

src/index.gts:3:15 - error TS2307: Cannot find module '@glint-test/b' or its corresponding type declarations.

Found 1 error.
3 import B from '@glint-test/b';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -807,8 +822,13 @@ describe('CLI: single-pass build mode typechecking', () => {
2 const Usage = <template>{{double "hello"}}</template>;
~~~~~~~

src/index.gts:3:15 - error TS2307: Cannot find module '@glint-test/b' or its corresponding type declarations.

Found 1 error.
3 import B from '@glint-test/b';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -895,8 +915,18 @@ describe('CLI: single-pass build mode typechecking', () => {
1 const C: number = 'world';
~

../a/src/index.gts:1:15 - error TS2307: Cannot find module '@glint-test/c' or its corresponding type declarations.

Found 1 error.
1 import C from '@glint-test/c';
~~~~~~~~~~~~~~~

src/index.gts:2:15 - error TS2307: Cannot find module '@glint-test/a' or its corresponding type declarations.

2 import A from '@glint-test/a';
~~~~~~~~~~~~~~~


Found 3 errors.
"
`);

Expand All @@ -915,8 +945,13 @@ describe('CLI: single-pass build mode typechecking', () => {
1 const C: number = 'world';
~

src/index.gts:1:15 - error TS2307: Cannot find module '@glint-test/c' or its corresponding type declarations.

Found 1 error.
1 import C from '@glint-test/c';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -1040,8 +1075,18 @@ describe('CLI: single-pass build mode typechecking', () => {
2 const useDouble = <template>{{double "hello"}}</template>;
~~~~~~~

../a/src/index.gts:1:15 - error TS2307: Cannot find module '@glint-test/c' or its corresponding type declarations.

Found 1 error.
1 import C from '@glint-test/c';
~~~~~~~~~~~~~~~

src/index.gts:2:15 - error TS2307: Cannot find module '@glint-test/a' or its corresponding type declarations.

2 import A from '@glint-test/a';
~~~~~~~~~~~~~~~


Found 3 errors.
"
`);

Expand All @@ -1060,8 +1105,13 @@ describe('CLI: single-pass build mode typechecking', () => {
2 const useDouble = <template>{{double "hello"}}</template>;
~~~~~~~

src/index.gts:1:15 - error TS2307: Cannot find module '@glint-test/c' or its corresponding type declarations.

Found 1 error.
1 import C from '@glint-test/c';
~~~~~~~~~~~~~~~


Found 2 errors.
"
`);

Expand Down Expand Up @@ -1614,7 +1664,7 @@ describe('CLI: --build --dry', () => {
let buildResult = await projects.root.buildDeclaration({ flags: ['--dry'] });
expect(buildResult.exitCode).toBe(0);
expect(stripAnsi(buildResult.stdout)).toMatch(
`A non-dry build would build project '${projects.main.filePath('tsconfig.json')}'`,
` A non-dry build would update timestamps for output of project '${projects.main.filePath('tsconfig.json')}'`,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This also seems to be a change/optimization within TSC that's smart enough to realize root project would have no changed output and hence would only update timestamps (?)

);
expect(stripAnsi(buildResult.stdout)).toMatch(
`A non-dry build would build project '${projects.children.a.filePath('tsconfig.json')}'`,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 10,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This additional snapshotted data just means that Volar has since enhanced the metadata provided on each diagnostic, e.g. you should start to see more "SYMBOL is declared here" messages with links to the declaration source.

"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -612,7 +629,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 11,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -641,7 +675,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 12,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -670,7 +721,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 14,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -699,7 +767,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 15,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -728,7 +813,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 16,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down Expand Up @@ -757,7 +859,24 @@ describe('Language Server: Diagnostic Augmentation', () => {
"line": 17,
},
},
"relatedInformation": [],
"relatedInformation": [
{
"location": {
"range": {
"end": {
"character": 83,
"line": 18,
},
"start": {
"character": 69,
"line": 18,
},
},
"uri": "file:///PATH_TO_MODULE/@glint/template/-private/integration.d.ts",
},
"message": "'[InvokeDirect]' is declared here.",
},
],
"severity": 1,
"source": "glint",
},
Expand Down
16 changes: 8 additions & 8 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@
"prepack": "yarn build"
},
"peerDependencies": {
"typescript": ">=5.4.0"
"typescript": ">=5.6.0"
},
"dependencies": {
"@glimmer/syntax": "^0.84.3",
"@volar/kit": "2.4.0-alpha.16",
"@volar/language-core": "2.4.0-alpha.16",
"@volar/language-server": "2.4.0-alpha.16",
"@volar/language-service": "2.4.0-alpha.16",
"@volar/source-map": "2.4.0-alpha.16",
"@volar/test-utils": "2.4.0-alpha.16",
"@volar/typescript": "2.4.0-alpha.16",
"@volar/kit": "2.4.11",
"@volar/language-core": "2.4.11",
"@volar/language-server": "2.4.11",
"@volar/language-service": "2.4.11",
"@volar/source-map": "2.4.11",
"@volar/test-utils": "2.4.11",
"@volar/typescript": "2.4.11",
"computeds": "^0.0.1",
"escape-string-regexp": "^4.0.0",
"semver": "^7.5.2",
Expand Down
Loading
Loading