Skip to content

Fix Windows dev tooling failures and DEP0190 spawn warnings - #4400

Merged
Jason Morse (JasonVMo) merged 1 commit into
microsoft:mainfrom
JasonVMo:user/jasonvmo/windows-tooling
Oct 28, 2026
Merged

Jason Morse (JasonVMo) merged 1 commit into
microsoft:mainfrom
JasonVMo:user/jasonvmo/windows-tooling

Conversation

@JasonVMo

Copy link
Copy Markdown
Contributor

Platforms Impacted

  • iOS
  • macOS
  • win32 (Office)
  • windows
  • android

Description of changes

Fixes Windows-only dev tooling failures and Node's DEP0190 warnings about passing arguments to spawn with shell: true.

  • packages/codemods: button-v0-to-v1 and deprecate-exports keep the source file's line endings instead of using the host default (CRLF on Windows), which caused the persistent Windows buildci test failure.
  • scripts/src/utils/runScript.ts and scripts/src/tasks/checkPackageContentsTask.ts: launch commands through cross-spawn instead of shell-backed spawn; spawn errors now reject instead of being dropped. Adds runScript.test.ts.
  • packages/agentic/desktop-test/src/commands.ts: launch Windows command shims (.cmd/.bat) through cross-spawn so arguments stay escaped without shell: true.
  • Lage's NpmScriptRunner used shell: true on Windows; a Yarn patch (.yarn/patches/lage-npm-2.14.19-*.patch) switches it to cross-spawn, with a matching .yarnrc.yml package extension. The patch must be updated or removed when Lage is upgraded.
  • Docs: references/agents/repository/development.md and desktop-test references/lifecycle.md. Changesets for codemods and desktop-test.

Verification

On Windows:

  • yarn test in scripts: passed (56/56).
  • yarn clean-lage-cache then yarn lage buildci with NODE_OPTIONS=--throw-deprecation: passed (176 tasks, 0 failed); no DEP0190 or other deprecation warnings in the log.
  • yarn change:check: passed.
  • macOS and other platforms: not run locally.
Before After
Windows buildci fails in codemod tests; many DEP0190 spawn warnings Windows buildci passes with no deprecation warnings

Pull request checklist

This PR has considered (when applicable):

  • Automated Tests
  • Documentation and examples
  • Keyboard Accessibility
  • Voiceover
  • Internationalization and Right-to-left Layouts

Launch Windows command shims through cross-spawn instead of shell-backed spawn in scripts, desktop-test, and Lage's script runner (via a Yarn patch). Preserve source line endings in codemod output so codemod tests pass on Windows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 28a50096-95f4-4c6d-a164-944f2784e51a
@github-actions

Copy link
Copy Markdown
Contributor

Bundle size report

Tree-shaken, minified production esbuild bundles with React and React Native runtimes externalized.

Scenario Modules-Mac (Δ) Modules-Win (Δ) Size-Mac (Δ) Size-Win (Δ)
components-button 64 (+0) 65 (+0) 50.63k (+0b) 50.55k (+0b)
components-catalog 214 (+0) 215 (+0) 205.49k (+0b) 205.41k (+0b)
design-theme-state 34 (+0) 35 (+0) 30.15k (+0b) 30.08k (+0b)
design-themed-root 38 (+0) 39 (+0) 32.12k (+0b) 32.04k (+0b)
design-color-lib 6 (+0) 6 (+0) 6.33k (+0b) 6.33k (+0b)
design-theme-state-legacy-source 35 (+0) 36 (+0) 31.81k (+0b) 31.73k (+0b)
design-legacy-theme-from-flex 58 (+0) 59 (+0) 97.77k (+0b) 97.63k (+0b)

The job is advisory: size changes are reported but do not fail the pull request. Bundle or analysis errors still fail.


View bundle-size workflow run

@JasonVMo
Jason Morse (JasonVMo) enabled auto-merge (squash) October 28, 2026 16:34
@JasonVMo
Jason Morse (JasonVMo) merged commit c9998e3 into microsoft:main Oct 28, 2026
18 checks passed
This was referenced Oct 28, 2026
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