aglinxinyuan opened a new pull request, #9125:
URL: https://github.com/apache/texera/pull/9125

   ### What changes were proposed in this PR?
   
   Bumps `monaco-languageclient` from 10.7.0 to 11.0.3, its latest release, and 
the `@codingame/monaco-vscode-*` packages from 25.1.2 to 37.6.1. 11.0.3 
requires `^37.6.0` of the codingame packages, and two codingame versions cannot 
share one bundle, so the three the frontend pins (the `monaco-editor` alias and 
the Java and Python default extensions) move with it. User-facing behavior is 
unchanged.
   
   What the new versions need besides the version numbers:
   
   - **Language-server connection.** 11.0 replaced the `$type`-based connection 
options with `$family`-based ones that take a connection realization. The 
Python editor now connects through `LcWebSocket` to the same 
`/python-language-server` URL.
   - **Unit-test module resolution.** `vscode-languageclient` 10, 
`vscode-languageserver-protocol` 3.18 and `vscode-jsonrpc` 9 export their 
`/browser` entry points under the `browser` condition only, and those CommonJS 
entry points `require` each other's `/browser` subpaths. The unit-test builder 
resolves packages with Node, which never applies that condition. The jsdom 
setup now retries such a failed resolution with the `browser` condition and 
leaves every other resolution alone. It does so in one synchronous 
`module.registerHooks` hook that also carries the existing CSS stub, because 
only an in-thread hook sees `require` calls.
   - **Production build.** `@vscode/diff`, new in codingame 37, reads its wasm 
through `import("node:fs/promises")` when it runs under Node. A browser build 
cannot load a `node:` module, and on Windows `license-webpack-plugin` then 
failed the build, so the webpack config ignores that one import. The branch 
never runs in a browser.
   - **LICENSE-binary** follows the new bundle and adds `@vscode/diff` and 
`vscode-languageserver-textdocument` (MIT). `minimatch` 10, which 
`vscode-languageclient` 10 pulls in, is under the Blue Oak Model License 1.0.0, 
which the ASF lists in Category A, so it has its own section.
   
   ### Any related issues, documentation, discussions?
   
   Closes #9124.
   
   ### How was this PR tested?
   
   The first commit adds characterization tests to 
`code-editor.component.spec.ts`, which pass on 10.7.0 before the bump and 
unchanged after it. A stand-in WebSocket plays the language server, and the 
tests pin that the Python editor dials the configured `/python-language-server` 
URL, opens with the LSP handshake and sends the shared code as a python 
document, and that Java and R editors dial nothing. Changing the endpoint, the 
document selector or the Python-only check each makes them fail.
   
   From `frontend/` (Windows, Node 24):
   
   ```
   yarn format:ci
   yarn build:ci
   yarn test:ci                    # 241 files: 6826 passed, 1 skipped
   yarn ng run gui:test-browser    # 3 files: 23 passed
   ```
   
   From the repo root, after the build, `./bin/licensing/check_binary_deps.py 
--ignore-transitive-version npm frontend/dist/3rdpartylicenses.json` matches 
all 134 bundled packages.
   
   Manually: `ng serve` with the real `pyright-language-service` on port 3000 
and the backend endpoints stubbed, then opened a Python UDF's code editor. The 
syntax colours render, pyright's diagnostic on an undefined name and its hover 
on `math.floor` show up, and closing the dialog sends `shutdown` and `exit` to 
the server.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 5.5)
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to