@praxisjs/runtime
0.2.10
Patch Changes
- Updated dependencies [2c61a25]
- @praxisjs/decorators@0.7.2
0.2.9
Patch Changes
6c353ba: Add
untrackutility and isolate component mounting from outer reactive contexts@praxisjs/coreexports two new functions from the public API:peek(signal)— reads a signal once without subscribing to it (was already in/internal, now public)untrack(fn)— runs a function with no active effect, suppressing all signal tracking inside it
tsimport { peek, untrack } from "@praxisjs/core"; // read a signal without creating a dependency if (peek(this.max) > peek(this.count)) { this.count++; } // suppress tracking for a block of reads const snapshot = untrack(() => this.totalCost);@praxisjs/runtime—mountComponentnow runs entirely insideuntrack. This fixes a bug where components mounted inside a reactive context (e.g. the router) would accidentally subscribe the outer effect to any signal read during construction or render. The symptoms were:- Eager reads like
description={this.count}in JSX causing the router to re-mount the component on every state change, resetting state to its initial value @Debug()(and any decorator that reads a signal in itsaddInitializer) triggering the same re-mount loop
Reactive subscriptions set up via
{() => signal}in JSX are unaffected — each arrow function creates its own isolated effect.Updated dependencies [6c353ba]
- @praxisjs/core@1.2.0
- @praxisjs/decorators@0.7.1
0.2.8
Patch Changes
- Updated dependencies [2b8c768]
- @praxisjs/decorators@0.7.0
0.2.7
Patch Changes
- Updated dependencies [72cd9a8]
- @praxisjs/decorators@0.6.1
0.2.6
Patch Changes
- 029ef04: CSS custom properties (keys starting with
--) are now applied viasetProperty()so they work correctly in style objects. Scope cleanup functions no longer halt on the first error — all cleanups run and errors are collected into anAggregateError. - Updated dependencies [029ef04]
- Updated dependencies [029ef04]
- Updated dependencies [029ef04]
- Updated dependencies [029ef04]
- Updated dependencies [029ef04]
- @praxisjs/core@1.1.0
- @praxisjs/decorators@0.6.0
0.2.5
Patch Changes
- Updated dependencies [3372878]
- Updated dependencies [feaa478]
- @praxisjs/core@1.0.0
- @praxisjs/decorators@0.5.0
0.2.4
Patch Changes
- Updated dependencies [ea59035]
- Updated dependencies [d11a10a]
- @praxisjs/decorators@0.4.3
- @praxisjs/core@0.4.2
0.2.3
Patch Changes
- Updated dependencies [fe39901]
- Updated dependencies [fe39901]
- @praxisjs/decorators@0.4.2
- @praxisjs/core@0.4.1
0.2.2
Patch Changes
- Updated dependencies [966efdc]
- @praxisjs/decorators@0.4.1
0.2.1
Patch Changes
- Updated dependencies [f52354d]
- @praxisjs/decorators@0.4.0
- @praxisjs/core@0.4.0
0.2.0
Minor Changes
bb0d4f8: Refactor decorator system and component architecture across PraxisJS packages
- Replaced legacy decorator signatures (
constructor,target,propertyKey, method descriptor) with the standard TC39 decorator context API (ClassDecoratorContext,ClassFieldDecoratorContext,ClassMethodDecoratorContext) across@praxisjs/decorators,@praxisjs/store,@praxisjs/concurrent,@praxisjs/router,@praxisjs/motion,@praxisjs/di, and@praxisjs/fsm. - Introduced
StatefulComponentandStatelessComponentas the new base classes, replacing the deprecatedBaseComponent/Function Componentpattern, across@praxisjs/core,@praxisjs/runtime,@praxisjs/devtools, and templates. - Implemented core rendering functionality in
@praxisjs/runtime(mountChildren,mountComponent, reactive scope management) and removed the deprecatedrenderer.ts. - Refactored
@praxisjs/jsxto delegate rendering to@praxisjs/runtimeand improved type safety withflattenChildrenandisComponentutilities. - Updated internal module structure with new
internalexports inpackage.jsonfiles for shared utilities and types. - Removed
experimentalDecorators/emitDecoratorMetadatafromtsconfig.jsonin favor of native decorator support.
- Replaced legacy decorator signatures (
Patch Changes
- Updated dependencies [bb0d4f8]
- @praxisjs/decorators@0.3.0
- @praxisjs/core@0.3.0
- @praxisjs/shared@0.2.0
0.1.1
Patch Changes
- Updated dependencies [f48dbc4]
- @praxisjs/core@0.2.0
- @praxisjs/decorators@0.2.0
0.1.0
Minor Changes
- aaf7dab: Initial beta release
Patch Changes
- Updated dependencies [aaf7dab]
- @praxisjs/core@0.1.0
- @praxisjs/decorators@0.1.0
- @praxisjs/jsx@0.1.0
- @praxisjs/shared@0.1.0