You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit afd3006
Browse filesBrowse the repository at this point in the historyBrowse files
refactor(module): add internal parser/generator lifecycle for incremental rebuilds (#21555)
* refactor(exports): add internal ExportsInfo reset APIs for incremental rebuilds
Reset provide-side and use-side export info to the undetermined state so
FlagDependencyExports/FlagDependencyUsage can recompute them against a
persisted module graph. No behavior change.
* refactor(exports): recurse use-info reset into nested and redirected exports
Mirror setHasUseInfo: _resetUseInfo recurses into an owned nested
exportsInfo and _resetUsedExports follows the redirect target, so no
stale usage survives a use-only reset.
* refactor(exports): keep nested exports info on provide reset; drop stale inlined flag
Reset an owned nested exportsInfo in place instead of discarding it (its
use state must survive a provide-only reset), and clear the
_hasInlinedExports fast-path flag when use info is reset.
* refactor(exports): recurse setHasProvideInfo into owned nested exports info
After a provide reset the nested exports are back to undefined, and
FlagDependencyExports only upgrades provided from false/null, so the
module-level re-init must reach nested exports (mirrors setHasUseInfo).
* refactor(exports): never follow the redirect target in the use reset
The redirect points into another module's exports info; the global
incremental reset loop already resets it via its own module, so
following it wiped foreign state (and double-reset shared targets).
* test(exports): assert runtime-usage, target-memo and deep-nested resets
* test(exports): fix type errors in reset assertions
Assert use-state resets through the public getUsed/getUsedName API
instead of private fields, and cast the setTarget/canInlineProvide
fixtures.
* refactor(module): add internal parser/generator lifecycle for incremental rebuilds
_cleanupParserForCache releases the parser between rebuilds so it does
not retain the previous compilation; _restoreParserAndGenerator
re-acquires both from the factory so the new compilation's plugin hooks
apply. AsyncQueue.invalidate now tolerates items absent from the
current run. No behavior change.
* refactor(module): align override JSDoc with the base lifecycle methods
0 commit comments