Skip to content

Develop to Master - #36

Closed
Ivanruii wants to merge 13 commits into
masterfrom
develop
Closed

Ivanruii wants to merge 13 commits into
masterfrom
develop

Conversation

@Ivanruii

Copy link
Copy Markdown
Member

No description provided.

Flussen and others added 13 commits July 31, 2026 17:38
…ator tracking, and add cross-platform file watcher and package management utilities.
…e runtime artifact handling and resource view resolution
The checker ran a TypeScript program through the JS compiler API to type send() payloads,
but TypeScript 7 (the version the starter now ships) exposes no such API, so the pass never
ran and every warning told users to install a typescript they already had.

Payloads that forward a parameter of the enclosing method stay typed; anything else is
typed unknown and the warning now explains how to fix it.
Each resource's generated file now also files viewSend (from the client's send() calls)
and viewReceive (from @Client.OnView handlers) under its resource key, so WebView.send()
autocompletes and checks payloads like net events and RPCs. The per-view UiCanSend and
UiReceives file for UI code is still generated.

Messages are registered even without a local view directory, since the WebView a client
talks to may live elsewhere, and their warnings are reported once by the resource file.
Bundling only strips types, so no type error, including an unknown name under
typegen.strict, could ever fail a build.

With build.typecheck enabled, opencore build regenerates the types and runs the project's
own tsc --noEmit before bundling, failing without writing any output: the output directory
is usually the deploy destination itself. opencore dev reports the errors as warnings and
keeps watching. Off by default so upgrading the CLI never breaks a build; the starter
template enables it, and doctor points to it when strict mode is on without it.
build.typegen.strict now defaults to true, so unknown event, RPC and WebView message
names are compile errors unless a project opts out with strict: false. Strict becomes an
optional bool so an explicit false can be told apart from an absent setting.
@Ivanruii Ivanruii closed this Sep 27, 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