Skip to content

Migrate standalone to Theia 1.75.0 #1556

Description

@peterhnm

Problem

The grouped dependency PR #1545 updates Theia from 1.74.1 to 1.75.0, but this release needs a standalone migration.

  • @theia/scm-extra was retired at 1.74.1; there is no 1.75.0 release. Keeping it retains 13 old Theia package versions, including core/editor/SCM, beside the new stack.
  • Theia 1.75 removes Webpack support and uses esbuild. This app retains webpack.config.js and Webpack-oriented dependencies/documentation. The configuration itself is only a generated-config wrapper, but the new bundler and packaging need validation.
  • React/React DOM and their type peer ranges must remain compatible with the chosen Theia version.

Acceptance criteria

  • Remove @theia/scm-extra and validate its replacement: SCM history graph in @theia/scm and per-file history in @theia/timeline.
  • Align all direct/transitive Theia packages at 1.75.0, without the retained 1.74.1 dependency subtree.
  • Migrate the standalone build to esbuild; remove obsolete Webpack configuration/dependencies and update build/cleanup scripts and documentation as appropriate.
  • Update the existing architecture decision record for the standalone build, following the repository's living-topic ADR guidance.
  • Pass standalone-extension tests and test:security, preserving Theia/Lumino patches and archive-extraction protections.
  • Build and package the standalone application successfully.
  • Smoke-test BPMN/DMN opening, editing, saving, theme switching, editor detach/restore, SCM history, and Timeline; check console/runtime errors.
  • Revisit React/React DOM 19.3.0 and include it only after these standalone build and smoke checks pass.
  • Repeat supply-chain checks for newly resolved versions and distinguish inherited advisories from newly introduced ones.

React validation gap from the safe-update split

A clean isolated checkout was tested with Theia 1.74.1 and React/React DOM 19.3.0. The root build, standalone-extension compilation, and all 15 standalone security tests passed. The standalone build failed twice during Electron 42.3.0 installation with ENOENT: node_modules/electron/dist/version, before the app could launch. Therefore desktop smoke testing was not completed, and React is excluded from the safe-update PR. This is a validation gap, not evidence of a React regression.

The standalone-extension test suite initially hit Node 24's experimental localStorage behavior in Theia's nls.ts. Running with NODE_OPTIONS=--no-experimental-webstorage passed the suite.

References

Safe-update split: #1557 (knip and lint-staged only; React deferred).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions