juspay / juspay/codetraverse

Need to build language agnostic AST differ

Open
#10 0 comments 0 reactions 1 assignee Claimed by @p-pramodchandra View on GitHub
Dominant language
Python
Stars
4
Forks
4
PR merge metrics
No merged PRs in 30d

Description

given [remote url , dir , commit1/branch1 , commit2/branch2 ] as function input

- clone the repo
- use git command to get modified/added/deleted files between two commits/branches
- parse the files in first commit (load top level components)
- parse the files in second commit (load top level components)
- do a diff
- then generate a file `all_code_changes.json` with the following format , list of `DetailedChanges`

```haskell
data DetailedChanges = DetailedChanges {
moduleName :: String,
-- Functions
addedFunctions :: [(String, String)], -- (name, code)
modifiedFunctions :: [(String, String, String)], -- (name, old code, new code)
deletedFunctions :: [(String, String)], -- (name, code)
-- Types
addedTypes :: [(String, String)], -- (name, code)
modifiedTypes :: [(String, String, String)], -- (name, old code, new code)
deletedTypes :: [(String, String)], -- (name, code)
-- Instances
addedInstances :: [(String, String)], -- (name, code)
modifiedInstances :: [(String, String, String)], -- (name, old code, new code)
deletedInstances :: [(String, String)] -- (name, code)
} deriving (Show, Generic)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.