Skip to content

feat(core): add tvOS platform and webpack resolution - #11420

Merged
NathanWalker merged 2 commits into
NativeScript:feat/lorenz-tvosfrom
LorenzGit:contrib/core-tvos
Sep 13, 2026
Merged

NathanWalker merged 2 commits into
NativeScript:feat/lorenz-tvosfrom
LorenzGit:contrib/core-tvos

Conversation

@LorenzGit

@LorenzGit LorenzGit commented Sep 8, 2026

Copy link
Copy Markdown

Add tvOS platform flags, supported UI guards, cache paths and native availability annotations. Export isTvOS at the package root and make webpack honor the configured tvOS projectName. Normalize snapshot paths so the suite runs outside the original author checkout.

Validation

Core: 487 passed, one skipped. Webpack: 79 tests and 22 snapshots passed. Fresh TNSWidgets and NSCWinterTC tvOS frameworks built. The final simulator app verifies root platform exports, writable cache storage and correct bundle placement with projectName=TVOSReview.

Reproduce

Revision-pinned reviewer setup builds the companion stack in an isolated workspace. It includes commands, requirements, dependency pins and physical-device limitations. No binary artifacts or private development paths are committed.

This PR contains one commit, df7776ba8a9a32900b4d1ac7c8718b3eaa3782d7, changing 28 files against 9a7ae4ec5c8de4d79d0b21cb0e80f870afbd05f4. Its exported patch reproduces the committed tree from a fresh base index.

The source-built runtime was validated in the prepared runtime checkout; companion clones, native helpers, Canvas and clean npm installation were validated in a separate workspace on the same Mac. A second machine and one uninterrupted cold all run have not been tested.

@LorenzGit
LorenzGit marked this pull request as ready for review September 8, 2026 18:44
@NathanWalker

Copy link
Copy Markdown
Contributor

I can add vite support here as well 💯

…works

The shipped xcframeworks are committed, so the appletvos and
appletvsimulator slices that ui-mobile-base/ios/build.sh and
winter-tc/ios/build.sh now produce have to be checked in for the npm
package to link on tvOS. The existing iOS, Mac Catalyst and visionOS
slices are untouched; only the two tvOS slices and their Info.plist
entries are added (built from this branch's projects with Xcode 26.5).
@NathanWalker

Copy link
Copy Markdown
Contributor

Pushed one commit on top of df7776b (maintainer edit): the appletvos and appletvsimulator slices for TNSWidgets.xcframework and NSCWinterTC.xcframework, built from this branch's projects (the build.sh targets this PR adds). The xcframeworks are committed artifacts, so without these slices npm pack of core from this branch still fails to link on tvOS (While building for tvOS Simulator, no library for this platform was found in TNSWidgets.xcframework). Existing iOS / Mac Catalyst / visionOS slices are byte-for-byte unchanged.

Verified with the tvOS runtime from NativeScript/ios feat/lorenz-tvos and NativeScript/nativescript-cli#6152: ns build tvos --emulator links and ns run tvos --emulator boots on an Apple TV 4K simulator with isTvOS === true.

@NathanWalker
NathanWalker changed the base branch from main to feat/lorenz-tvos September 13, 2026 23:42
@NathanWalker
NathanWalker merged commit 121d309 into NativeScript:feat/lorenz-tvos Sep 13, 2026
2 checks passed
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