Skip to content

Dev#66

Merged
norilanda merged 14 commits intomasterfrom
dev
Nov 1, 2025
Merged

Dev#66
norilanda merged 14 commits intomasterfrom
dev

Conversation

@norilanda
Copy link
Owner

No description provided.

norilanda and others added 14 commits May 18, 2025 13:16
* Add the initial extension project

* Fix conflicts between the parent and child projects

* Export parent project as a library
* Setup lsp project structure

* Remove an old extension folder
* Set up the debugger, add a command to generate the model from zero

* Move all the ts-morph related code to the ts2famix to fix the instanceof problem

* Add the documentation for the extension
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Set up the unit tests for the server

* Add client tests

* Add CI for the extension tests

* Add smoke tests for the VSCode extension

* Update README.md: Add the testing section
* Refactor the global variables: move them inside the classes

* Add tests for verifying the global state is not present

* Refactor: Move absolutePath to EntityDictionary

* Refactor: Remove the fmxElementObjectMap from the FamixRepository class
* Add model initialization, Implement listening for the file changes

* Add an example of the classes layout for adding the incremental update feature

* Add tests for the incremental update feature

* Implement incremental update feature: Use proxy to track entities by file, Add methods to remove obsolete entities and relations

* Change the ts2famix creating file and class code, leave comments regarding this

* Remove unused files

* Add testPathIgnorePatterns into the Jest configuration

* Fix the failing smoke test

* Refactor code for the Famix Class creation (#8)

* Refactor code for the Famic Class creation

* Connect vscode extension with ts2famix changes

* Add neverthrow library, Throw the error when the tsconfig file is not found

* Add better error handling for commands, Add response type for commands

* Add the test cases list

* Rename 'createOrGetFamixClass' method to 'ensureFamixClass' method

* Inheritance incremental update (#20)

* Add the source anchor deletion implementation

* Refactor inheritance and interface creation

* Add a FullyQualifiedNameEntity interface

* Add catching the error for the extension incremental update

* Update README.md

* Split SourcedEntity class into 2 classes: SourcedEntity and EntityWithSourceAnchor

* Properties incremental update (#59)

* Add tests and incremental update for property

* Import clause incremental update new (#58)

* Add the source anchor deletion implementation

* Refactor inheritance and interface creation

* Add a FullyQualifiedNameEntity interface

* Split SourcedEntity class into 2 classes: SourcedEntity and EntityWithSourceAnchor

* Add tests for import clause

* Implement ImportClause for named imports. Add incremental update for the imported entities (Inheritance and ImportClause).
----------------------------
Still need to resolve the issue with:
- re-export
- the cases when we choose to create the module over a file
- finish file and module Famix elements creation, add tests
- implement ImportClause for other types of imports

* Add reexport tests

* Add namespace import tests

* Add implementation for the Import Clause for
- named import/export;
- namespace import/export;
- reexport.
Encapsulate ImportClause creation logic in a separate file

* Add test with exporting interfaces for the inheritance

* Remove the old ImportClause test

* Fix getFamixEntityByFullyQualifiedName to work with all the entities that have fullyQualifiedName field

* Fix getModuleSpecifierFromDeclaration to work with import without ts. We still need to verify how does it work with node_modules and import aliases

* Add excluding files specified in tsconfig from watching

* Add tests for incremental update of adding types

* Incremental update cleanup (#63)

* Review and fix tests
@norilanda norilanda merged commit ef5af06 into master Nov 1, 2025
9 checks passed
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.

1 participant