chore(release): version packages#49
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
e538c96 to
6409e8a
Compare
6409e8a to
907dbdd
Compare
907dbdd to
0f26512
Compare
0f26512 to
655bf65
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to develop, this PR will be updated.
Releases
@lcui/fluent-icons@2.0.0
Major Changes
b39bde0: BREAKING: package renamed from
@lcui/react-iconsto@lcui/fluent-icons.The functionality is unchanged, but the package name on npm has moved. Update
your dependency and import statements:
The previous package (
@lcui/react-icons) will receive no further updates.Patch Changes
lcui-dev/lcui-toolkit, managed withnpm workspaces and Changesets. The original repositories have been archived.
No runtime behaviour changes; published artifacts are equivalent to the prior
standalone releases.
@lcui/cli@1.3.0
Minor Changes
2488da6: feat(cli): incremental compilation with persistent build manifest
lcui buildis now incremental. A build manifest at.lcui/build/manifest.jsonrecords each source file's content hash, loaderchain, dependency hashes (collected from
import, sass@use/@import,postcss / tailwind config, etc.) and output hashes. Unchanged entries are
skipped entirely on subsequent builds and their previous outputs are reused.
Every write also goes through a content-aware
writeIfChanged: if the newbytes match the file on disk, the file is not touched. This prevents
spurious
mtimeupdates from triggering a fullxmakerebuild when nothingactually changed.
New CLI flags:
--force— ignore the manifest and rebuild everything.--skip-xmake— do not invokexmakeafter compilation.The manifest is invalidated automatically when the CLI version, the
compiler configuration, or
tsconfig.json/postcss.config.*/tailwind.config.*/lcui.config.jschange.xmakeis also auto-skippedwhen no output file changed during the build.
220e7e1: feat(cli): compile all component functions in TSX files
Previously only
export defaultcomponents were compiled. Nowts-loadercompiles all three categories:
export default, named exports (export function),and internal functions (non-exported).
Internal components receive a file-name prefix to avoid global namespace
collisions. For example,
MyButtoninhelpers.tsxbecomeshelpers_my_button.Each component independently generates its own
ui_register_{name},ui_create_{name},and related functions, and all registrations are individually called in
main.h.Patch Changes
8317ce8: fix(cli): track skeleton .c/.h files in manifest to prevent cache from skipping regeneration
Skeleton
.cand.hfiles were lost from the build manifest after thefirst incremental rebuild. When
ts-loaderran on a subsequent build and askeleton already existed on disk,
emitFilewas skipped (by theexistsSyncguard), so
recordEntryOutputwas never called.finalizeEntrythenoverwrote the manifest entry with an
outputslist that omitted theskeletons. Deleting those files afterwards would never invalidate the cache,
and they were never regenerated.
Added a new
CompilerContext.addOutput(filePath)method that lets loadersdeclare an existing file as an entry output without triggering a write.
ts-loadernow calls it in theelsebranch of theexistsSyncguard,ensuring skeletons are always tracked in the manifest regardless of whether
they were created or reused in this build.
b39bde0: Repository restructure: the three packages now live in a single monorepo at
lcui-dev/lcui-toolkit, managed withnpm workspaces and Changesets. The original repositories have been archived.
No runtime behaviour changes; published artifacts are equivalent to the prior
standalone releases.
Updated dependencies [082269c]
Updated dependencies [b39bde0]
Updated dependencies [b39bde0]
Updated dependencies [d97979c]
Bug Fixes
@lcui/react@0.6.0
Minor Changes
b39bde0: Internal: split
src/intoruntime/,compiler/, andwidgets/subdirectories.Add subpath exports so callers can import a narrower surface area:
No breaking changes — every symbol previously exported from
@lcui/reactisstill available from the package root.
d97979c: feat(react): allow string C-function names on JSX event props
@lcui/cli'sts-loaderhas always supported<button onClick="handle_click" />as a way to bind a JSX event to a C function — at runtime the string is
emitted as a
ui_widget_on(...)call plus a forward declaration in thegenerated header. Until now this form failed TypeScript's type check because
React declares e.g.
onClickasMouseEventHandler<T> | undefined.This release ships a focused JSX type augmentation that widens the subset of
on*event props that LCUI actually dispatches to also acceptstring. Theaugmentation is loaded automatically when you
importfrom@lcui/react,so no user-side configuration is required. Covered props (chosen from
ui_event_type_t):onClick,onDoubleClick,onMouseDown,onMouseUp,onMouseMove,onMouseOver,onMouseOut,onWheelonKeyDown,onKeyUp,onKeyPressonFocus,onBluronPasteonChange(semantic"change"event dispatched bywidgets such as
TextInput)Event-name compatibility is handled by a small remap table in the React
compiler so the names users write match the names LCUI actually dispatches:
onDoubleClick→"dblclick"(instead of the default"doubleclick")onXxx → "xxx"ruleTextInputPropsnow also declaresonChangeexplicitly for better IDEhints on
<TextInput>.Props for browser-only events (drag / pointer / animation / transition /
contextmenu / touch with mismatched names) and the
SVGAttributesnamespace are intentionally not widened: passing a string on those will
keep failing type-checking, so users do not end up with code that compiles
but cannot bind at runtime.
JavaScript callbacks (
onClick={() => { ... }}) continue to work unchangedand remain type-checked as before. Invalid values like
onClick={42}arestill rejected.
Patch Changes
082269c: fix(react): bind every widget when multiple widgets share the same string event handler
Previously the compiler deduplicated event handler declarations by name,
which caused
ui_widget_onto be emitted only for the first widget whenseveral buttons shared the same
onClick="my_handler". Split the handlerdeclaration (still deduplicated) from the per-widget binding (no longer
deduplicated) so each widget correctly receives its own
ui_widget_oncall.b39bde0: Repository restructure: the three packages now live in a single monorepo at
lcui-dev/lcui-toolkit, managed withnpm workspaces and Changesets. The original repositories have been archived.
No runtime behaviour changes; published artifacts are equivalent to the prior
standalone releases.
Features
0.4.0 (2024-12-22)
Bug Fixes
Features