Commit graph

70 commits

Author SHA1 Message Date
Andrew Scott
a41b0ce025 fix(vscode-extension): Show warning if multiple versions of Angular are detected in workspace
This shows a more prominent warning when multiple versions of Angular
are detected in the workspace and we are forced to choose one to use for
the language server. This also logs those versions with their locations
and directs the user to view the output panel.

fixes #65466

(cherry picked from commit c9dfc6c484)
2025-12-09 09:23:52 -08:00
Joey Perrott
c3bd22d10d
build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-04 11:26:14 -08:00
Angular Robot
706d7620e8 build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-01 19:36:18 +01:00
Alan Agius
6d4e68977f build: update release script to support changelog cherry-picking
This commit updates the release script to support cherry-picking changelog updates to the main branch when releasing from a patch branch. It also introduces a marker in the changelog to separate releases and ensures the GitHub release uses the formatted changelog from disk.

(cherry picked from commit c843a46912)
2025-11-24 12:17:23 -05:00
Alan Agius
2d658b3662 build: run e2e in sandbox
Updates the E2E test configuration to run within the Bazel sandbox.

(cherry picked from commit f7f9707508)
2025-11-24 10:03:03 -05:00
Alan Agius
36c967e0ef build: automate GitHub release creation for vscode extension
Update the release script to automatically create a GitHub release and upload the VSIX asset.

Example release: https://github.com/angular/angular/releases/tag/vsix-21.0.0

(cherry picked from commit 74405c7e7a)
2025-11-21 12:22:22 -05:00
Alan Agius
70fb1d6cf2 ci: try to resolve vscode extension e2e flakes
Update e2e test runner to VS Code 1.102.0, streamline test activation, and manage temporary directories via `TEST_TMPDIR`.

(cherry picked from commit 1a094ddb2b)
2025-11-20 17:03:18 -05:00
Angular Robot
e0026c870a build: update cross-repo angular dependencies
See associated pull request for more information.
2025-11-19 15:08:39 -08:00
Alan Agius
47fc721202 refactor: improve release process instructions and vsce login handling
This commit introduces several improvements to the release process:

- Adds a clear warning and instructions to test the extension before merging the release PR
- Removes the explicit `vsce login` command.

(cherry picked from commit 22ad71d752)
2025-11-19 22:22:48 +00:00
Alan Agius
2a38387466 docs: add release document
Adds the initial documentation for the VSCode Angular Language Service release.
2025-11-19 14:08:36 -08:00
Alan Agius
f88e950f65 build: add vsce script
Adds a "vsce" script to package.json to facilitate easier VSCE packaging.
2025-11-19 14:08:36 -08:00
Joey Perrott
3d9c82c21d build: provide a specific version of zone.js for the vscode pre standalone test
Use zone.js 0.15.0 specifically instead of moving to a later verison of zone.js for the test

(cherry picked from commit c03883ec54)
2025-11-19 21:07:46 +00:00
Andrew Scott
00dcbf2eeb release: bump VSCode extension version to 21.0.0 2025-11-18 14:09:30 -08:00
Angular Robot
9400afa5ba build: update cross-repo angular dependencies to v21.0.0-rc.3
See associated pull request for more information.
2025-11-17 15:20:16 -08:00
Alan Agius
414191e87e build: improve vscode-ng-language-service release process
This commit improves the release process for the vscode-ng-language-service by adding automated changelog generation and updating the package.json version.
2025-11-17 14:35:12 -08:00
Angular Robot
1021b7a394 build: update cross-repo angular dependencies
See associated pull request for more information.
2025-11-12 11:32:20 -08:00
Andrew Scott
89095946cf fix(language-service): address potential memory leak during project creation
This addresses a potential memory leak in plugin-factory.ts.
The require call inside the create function reloads the entire language
service module for every new project, which is inefficient and could be a cause of the memory leak during branch
switching. This ensures the module is loaded only once and the same
instance is shared across all projects.

(cherry picked from commit 4405725943)
2025-11-07 11:57:25 -08:00
Alan Agius
1e53f4e957 refactor: exclude tsconfig.json from VSIX package contents (#64991)
The  file is no longer included in the VSCode extension package.
This change updates the golden file and the  file to reflect this exclusion.

PR Close #64991
2025-11-07 11:36:31 -08:00
Alan Agius
8967d9bc40 test: add golden file test for VSCode extension package contents (#64991)
This commit introduces a golden file test to verify the contents of the VSCode extension package.
The test ensures that the list of files included in the extension package remains consistent.

A new Bazel rule  is added to generate the list of files, and  is used to compare it against the golden file. A helper script  is also added to facilitate the generation of the golden file.

PR Close #64991
2025-11-07 11:36:31 -08:00
Andrew Scott
3f7111a9c3 fix(language-server): fix directory renaming on Windows
Hopefully addresses issues on Windows where fs.watch on a directory
locks that directory.

fixes https://github.com/angular/vscode-ng-language-service/issues/1398

(cherry picked from commit c91d8203a2)
2025-11-07 10:10:00 -08:00
Alan Agius
3bed9f0f16
build: format md files
This commit configures prettier to format markdown files.
2025-11-06 10:07:13 -08:00
Angular Robot
f0ffd9bebd build: update cross-repo angular dependencies
See associated pull request for more information.
2025-11-05 15:26:25 -08:00
Andrew Scott
d3d2a3416f build: 20.3.3 release notes
update release notes for 20.3.3 of vscode extension
2025-11-05 17:36:29 +00:00
Andrew Scott
3a63bfda94 build: 20.3.2 release for vscode extension
changelog and version bump for 20.3.2
2025-11-05 17:36:29 +00:00
Alan Agius
78c12b32e8 build: update typescript dependency for vscode-ng-language-service
Updates the typescript dependency to 5.9.3 in vscode-ng-language-service/package.json
and updates pnpm-lock.yaml accordingly.

(cherry picked from commit 3ef2edc076)
2025-11-05 09:02:41 -08:00
Andrew Scott
65d6c9317a build: release VSCode extension 20.3.1
bump version and readme for vscode extension release
2025-11-04 18:54:06 +00:00
Angular Robot
c721de112c build: update cross-repo angular dependencies (#64781)
See associated pull request for more information.

PR Close #64781
2025-10-30 17:47:12 +00:00
Angular Robot
d183153545 build: update cross-repo angular dependencies (#64602)
See associated pull request for more information.

PR Close #64602
2025-10-22 21:46:06 +00:00
Andrew Scott
80e00ff4e5 fix(language-service): prevent interpolation from superseding block braces (#64392)
This change omits the injection of the template syntaxes inside any
existing block scope. The injection is not needed because the template
and expression scopes are included explicitly as patterns where
appropriate under the template-blocks definitions.

This change prevents the interpolation curly braces from superseding the
match for the open curly of the block body. This issue also happens with
ICUs (#62697), but those do not have any named scopes to exclude as of
today.

fixes https://github.com/angular/vscode-ng-language-service/issues/1991

PR Close #64392
2025-10-20 17:49:04 +00:00
Angular Robot
fad6e1351e build: update all non-major dependencies (#64514)
See associated pull request for more information.

PR Close #64514
2025-10-20 16:13:17 +00:00
Andrew Scott
570ea346e3 docs: update release notes for vscode extension (#64454)
updates release notes for the 20.3.0 release

PR Close #64454
2025-10-16 14:35:25 +00:00
Angular Robot
3e8e48c918 build: update cross-repo angular dependencies (#64438)
See associated pull request for more information.

PR Close #64438
2025-10-15 10:49:59 -07:00
Alan Agius
a6268d45e0 build: align git tags with package.json version for snapshot builds (#64350)
This commit updates the scripts to use the version from `package.json` for snapshot builds, ensuring that the git tags are aligned with the package version. This change simplifies referencing snapshot builds in the  `package.json` file.

PR Close #64350
2025-10-13 08:28:53 -07:00
Alan Agius
e34776a102 build: correctly use snapshot build repo (#64341)
This package depends on `@angulad/language-service` and not `@angular/language-server`.
PR Close #64341
2025-10-10 08:43:11 -07:00
Alan Agius
8693959fc7 build: use snapshot builds for dependencies in @angular/language-server (#64334)
This commit introduces a mechanism to use snapshot builds for @angular/language-service dependencies when building the VSCode extension.

A new --//:enable_snapshot_repo_deps flag allows swapping the stable versioned dependency with a snapshot build from the angular/language-server-builds GitHub repository. This enables testing and development against the latest unreleased version of the language service.

PR Close #64334
2025-10-10 06:48:51 -07:00
Alan Agius
3c9ed3d529 test: make xvfb start and stop async (#64310)
The `xvfb.start()` and `xvfb.stop()` methods are asynchronous but were being called synchronously. This can lead to race conditions where the tests start running before the virtual frame buffer is fully initialized, or the process exits before it's fully stopped.

This commit promisifies the `start` and `stop` methods to ensure they are properly awaited, making the e2e test setup more robust.

PR Close #64310
2025-10-09 11:09:37 -07:00
Alan Agius
9af3cf7b0b build: migrate to in-repo ts_project with strict deps (#64306)
This commit migrates the vscode-ng-language-service to use the in-repo `ts_project` macro, which has strict dependency checking enabled. This improves build-time dependency validation and helps ensure that all dependencies are explicitly declared.

As part of this change, redundant `tsconfig.json` files have been removed in favor of a centralized configuration, and `jasmine_test` rules have been updated to the standard macro. A minor code adjustment in `server/src/session.ts` was also made to improve error handling.

PR Close #64306
2025-10-09 10:00:31 -07:00
Alan Agius
1c07cb0e1e build: add @angular/language-server to framework release output (#64306)
This change updates the build configuration to include the
@angular/language-server package in the standard framework release
output.

By integrating it into the release train, we ensure that it is versioned and published consistently with the rest of the Angular framework.

PR Close #64306
2025-10-09 10:00:31 -07:00
Alan Agius
ad279efd90 build: use @angular/language-service from source (#64306)
This commit updates the VSCode Angular Language Service extension to use the `@angular/language-service` package built from source within the workspace, rather than a version downloaded from npm.

This change simplifies development and testing by ensuring the extension always uses the latest code from the local repository. The Bazel build configuration, VSCode launch settings, and e2e tests have been updated to reflect this change.

PR Close #64306
2025-10-09 10:00:31 -07:00
Angular Robot
8cd1b43d42 build: update cross-repo angular dependencies (#64282)
See associated pull request for more information.

PR Close #64282
2025-10-09 06:39:05 -07:00
Angular Robot
cb6f8d4228 build: update all non-major dependencies (#64265)
See associated pull request for more information.

PR Close #64265
2025-10-09 05:23:34 -07:00
Alan Agius
e873c22617 build: clean up language service integration tests and Bazel dependencies (#64271)
The legacy `workspace` integration test asset folder has been removed as it was unused and no longer representative of modern Angular CLI workspaces.

In line with this cleanup, the Bazel dependency definitions for the integration tests have been reorganized. Runtime data dependencies have been moved from the `js_test` rules to the `data` attribute of their corresponding `ts_project` rules. This is a cleaner and more appropriate approach as it co-locates a test's runtime data dependencies with its source code definition, making the relationship between the code and its required assets more explicit and improving the overall maintainability of the build configuration.

PR Close #64271
2025-10-08 20:08:47 -07:00
Alan Agius
dd7bb9007f build: update repository URL to point to monorepo (#64220)
The repository URL in `package.json` is updated to point to the `angular/angular` monorepo. This ensures that the package metadata correctly reflects its location within the main repository.

PR Close #64220
2025-10-07 20:38:37 -04:00
Alan Agius
d86f681cd4 build: update supported Node.js versions for language-service (#64220)
The supported Node.js versions for the language service server are updated to align with the versions supported by Angular. This ensures a consistent and stable environment for developers.

PR Close #64220
2025-10-07 20:38:36 -04:00
Alan Agius
66999dd65b build: enable breakpoints in source files (#64220)
This commit revamps the debugging setup and enabling developers to set breakpoints directly in the source TypeScript files.

Key changes include:
- Updated `launch.json` with source map path overrides to correctly map compiled output back to the original source code.
- Switched from `external` to `linked` sourcemaps in the Bazel build configuration for better debugging support.
- Consolidated the recommended VSCode settings into the main `launch.json` and `tasks.json`, removing the separate `recommended-*.json` files.
- Updated the debugging documentation to reflect the new, simplified workflow.

These changes significantly improve the developer experience for contributors working on the language service, making it much easier to debug and troubleshoot issues.

This applies to both the framework packages and vscode-ng-langugage-service.

PR Close #64220
2025-10-07 20:38:36 -04:00
Alan Agius
90d3b7f834 build: align VSCode extension build with vsce (#64220)
This commit refactors the VSCode extension's build and launch configurations to align with `vsce` and `pnpm` workspaces.

The following changes are included:
- Updated `.vscode/launch.json` to use new `vsce:` prefixed tasks and simplified launch configurations.
- Updated `.vscode/tasks.json` to use `pnpm` workspace commands for watching and packaging the extension.
- Adjusted `BUILD.bazel` and `package.json` files to reflect the new build output paths.

These changes streamline the development workflow for the VSCode extension, making it easier to build, debug, and package.

PR Close #64220
2025-10-07 20:38:36 -04:00
Alan Agius
858e37cf83 build: update cross-repo angular dependencies (#64255)
See associated pull request for more information.

Closes #64212 as a pr takeover

PR Close #64255
2025-10-07 20:15:46 -04:00
Alan Agius
fd8383a959 ci: cache vscode binary in CI (#64219)
Caches the downloaded vscode binary in the CI workflows to speed up the e2e tests for the vscode extension. This avoids downloading vscode on every CI run.

PR Close #64219
2025-10-06 15:04:49 -04:00
Alan Agius
8358c19cb1 test: address flakiness in e2e tests (#64219)
It was noted that there are some flakes in CI.
Using seed '29976' it was narrowed down to the e2e tests for the vscode extension.

PR Close #64219
2025-10-06 15:04:49 -04:00
Angular Robot
e23815bb7d build: update dependency typescript to v5.9.3 (#64207)
See associated pull request for more information.

Closes #64192 as a pr takeover

PR Close #64207
2025-10-02 20:48:42 +00:00