This step converts as many explicit accesses as possible in favor of direct imports from the modules in which things were declared. This restores the code (as much as possible) back to how it looked originally before the explicitify step, e.g. instead of "ts.Node" and "ts.Symbol", we have just "Node" and "Symbol".
This step converts each file into an exported module by hoisting the namespace bodies into the global scope and transferring internal markers down onto declarations as needed.
The namespaces are reconstructed as "barrel"-style modules, which are identical to the old namespace objects in structure. These reconstructed namespaces are then imported in the newly module-ified files, making existing expressions like "ts." valid.
* 🐛 Avoid grouping JSDoc nodes of propery signatures with others in smart selection
Signed-off-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
* ⚗️ Add test case for JSDoc smart selection (#39618)
Signed-off-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
* ⚗️ Add test baseline for JSDoc smart selection (#39618)
Signed-off-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
* 🐛 Fix skipping SyntaxList first child's JSDoc in smart selection
Signed-off-by: GitHub <noreply@github.com>
* ⚗️ Add tests to ensure not skipping first SyntaxList child's JSDoc
Signed-off-by: GitHub <noreply@github.com>
* 🔨 Exclude JSDoc token from tokens pivoting property signature
Signed-off-by: GitHub <noreply@github.com>
* ⚗️ Update test case to also include modifier
Signed-off-by: GitHub <noreply@github.com>
* ⚗️ Update test case reference baseline
Signed-off-by: GitHub <noreply@github.com>
* Refactor node factory API, use node factory in parser
* Move UnparsedSource nodes to factory
* Make most Node properties read-only
* Make pos/end/parent and JSDoc 'comment' read-only
* Update function/constructor-type factories
* Remove treeStateObserver
* Simplify Debug.deprecate
* Remove unused factory methods, simplify lazy factory methods
* Fix base factory used for source file updates
* Update test baseline due to merge from master
* Rename factory methods to be more consistent (#39058)