Skip to content

chore: migrate typescript compiltation to typescript/native-preview#7501

Merged
janechu merged 2 commits intomainfrom
users/chhol/move-typescript-compilation-to-tsgo
Apr 28, 2026
Merged

chore: migrate typescript compiltation to typescript/native-preview#7501
janechu merged 2 commits intomainfrom
users/chhol/move-typescript-compilation-to-tsgo

Conversation

@chrisdholt
Copy link
Copy Markdown
Member

Pull Request

📖 Description

This PR migrates typescript compilation to the latest go-driven typescript implementation.

🎫 Issues

👩‍💻 Reviewer Notes

📑 Test Plan

✅ Checklist

General

  • I have included a change request file using $ npm run change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

⏭ Next Steps

@chrisdholt chrisdholt force-pushed the users/chhol/move-typescript-compilation-to-tsgo branch from 7bca422 to c8aecc6 Compare April 28, 2026 05:08
@janechu janechu merged commit 7dc34b1 into main Apr 28, 2026
14 checks passed
@janechu janechu deleted the users/chhol/move-typescript-compilation-to-tsgo branch April 28, 2026 17:28
@janechu janechu mentioned this pull request May 1, 2026
5 tasks
janechu added a commit that referenced this pull request May 1, 2026
# Pull Request

## 📖 Description

Brings `releases/fast-element-v3` up to date with `main`. Cherry-picks every commit landed on `main` after PR #7477 was merged (the last v3↔main sync) and adds an adaptation commit so the changes work with the v3 architecture (where `@microsoft/fast-html` was merged into `@microsoft/fast-element` under `src/declarative/`).

Cherry-picked (in chronological order):

- #7479 — feat: change default attribute-name-strategy from none to camelCase
- #7494 — chore(deps): bump liquidjs 10.25.6 → 10.25.7
- #7501 — chore: migrate TypeScript compilation to `typescript/native-preview` (`tsgo`)
- #7502 — feat: allow `fast-build` rendering without state
- #7503 — docs: per-package documentation reorg (DESIGN.md/README.md and `docs/architecture/*`)
- #7504 — feat: propagate shadowroot attributes
- #7505 — chore: bump packages after failed publish (`fast-build` → 0.5.0)
- #7469 — feat: add build utilities and SSR renderer to `@microsoft/fast-test-harness`
- #7506 — chore: prepare `@microsoft/fast-test-harness` package for publishing

The "applying package updates" beachball commit (`aad6f5481`) was intentionally skipped — v3 maintains its own versioning track (`fast-element@3.0.0-rc.1`, `fast-test-harness@0.0.1`) and runs its own publish.

Adaptation commit highlights:

- Adds a new `./declarative-syntax.js` subpath export to `@microsoft/fast-element` so tooling consumers (e.g. `fast-test-harness` build utilities) can access declarative HTML syntax constants from fast-element directly. Mirrors the existing `./declarative-utilities.js` subpath.
- Re-points `fast-test-harness/src/build/generate-templates.ts` and `generate-webui-templates.ts` from `@microsoft/fast-html/syntax.js` to the new subpath.
- Replaces the removed `RenderableFASTElement(...).defineAsync({ templateOptions })` pattern with v3's `Element.define()` in test fixtures and the README example.
- Drops `@microsoft/fast-html` from the harness Vite optimizer exclude list.
- Excludes `*.spec.ts` from the fast-element TS build (the declarative `.spec.ts` files import `@playwright/test`, whose `.d.ts` files are incompatible with `tsgo`'s stricter parser; these specs are still type-checked when run via the declarative Playwright config).
- Adapted hydration marker handling in `crates/microsoft-fast-build/src/node.rs` for #7502 (kept v3's `inject_count_marker` / `data-fe="N"` style while merging in main's `Option<&mut HydrationScope>` flow).
- All `packages/fast-html/*` paths from cherry-picks were dropped (the package no longer exists on v3); related `change/@microsoft-fast-html-*.json` files were either converted to `@microsoft-fast-element-*.json` or dropped where they no longer apply.

## 📑 Test Plan

Run from the monorepo root on this branch:

- `npm run build` — all 6 packages build successfully (fast-build, fast-element, fast-router, fast-test-harness, fast-site, fast-todo-app-example).
- `@microsoft/fast-element` — 1410 chromium playwright tests + 176 declarative chromium tests pass.
- `@microsoft/fast-test-harness` — 96 node unit tests + 43 chromium playwright tests pass.
- `npm run biome:check` — clean.
- `npm run checkchange` — passes.

## ✅ Checklist

### General

- [x] I have included a change request file using `$ npm run change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/microsoft/fast/blob/main/CONTRIBUTING.md) documentation and followed the [standards](https://github.com/microsoft/fast/blob/main/CODE_OF_CONDUCT.md#our-standards) for this project.
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