Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find with compiler tracer2 #1

Merged
merged 25 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ff39fb3
chore(remove changex):
ckoch-cars Aug 4, 2022
010f1ee
bugfix(cli args): Correct CLI args format
ckoch-cars Aug 10, 2022
b6541cf
feature(compiler tracers): Add tracing code.
ckoch-cars Aug 10, 2022
2a17d00
feature(config): add env-based config
ckoch-cars Aug 14, 2022
6924a9b
refactor(cleanup and modify): use tracers
ckoch-cars Aug 14, 2022
9739eb6
fix(handle extra changes): mood-fn calls
ckoch-cars Aug 15, 2022
4eb61df
tests(add setup files)
ckoch-cars Aug 15, 2022
35817d3
refactor(changer): Use Traces
ckoch-cars Aug 15, 2022
d0276e9
chore(make ex_doc optional): deps better
ckoch-cars Aug 19, 2022
520eaff
chore(Trace): update artifact
ckoch-cars Aug 19, 2022
1393876
testing(update tests): rely on dry run more.
ckoch-cars Aug 19, 2022
303bcba
update(Formatter): Prefer Code
ckoch-cars Aug 19, 2022
0f4bacf
update(Parser): set more metadata
ckoch-cars Aug 19, 2022
2da2e37
update(Remover): Handle end line better
ckoch-cars Aug 19, 2022
93fe933
chreo(Trace): Add more test mods
ckoch-cars Aug 19, 2022
6a6da40
tests: Add more
ckoch-cars Aug 19, 2022
0490486
testing: cover defdelegate
ckoch-cars Aug 20, 2022
8cad8f2
refactor(Parser): set consistent opts
ckoch-cars Aug 20, 2022
cd55987
Tried Changex again, dropped it again
ckoch-cars Aug 20, 2022
7c6ca7e
chore(Changelog) use auto-changelog
ckoch-cars Aug 20, 2022
7d146a2
chore(Tracer) move tracer to support folder
ckoch-cars Aug 20, 2022
f2dc801
tests(fix test): Update Trace
ckoch-cars Aug 23, 2022
b0778fe
docs(update docs and comments)
ckoch-cars Aug 23, 2022
66f78c1
chore(Updates) version and CHANGELOG
ckoch-cars Aug 23, 2022
33e5b31
chore(tag): Update Changelog
ckoch-cars Aug 23, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .auto-changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"output": "CHANGELOG.md",
"template": "keepachangelog",
"unreleased": true,
"commitLimit": false
}
142 changes: 129 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,135 @@
# v0.3.0
# Changelog

## Bug Fixes
All notable changes to this project will be documented in this file.

* **Add and update tests.**
* update test ([23a7438d71250cad27dcb3c7db4f7c9ced883278](https://github.com/ckochx/ex_factor/commit/23a7438d71250cad27dcb3c7db4f7c9ced883278))
* **ExFactor.Extractor**
* create path! for new modules ([04d16d93f86432e28faeb492445fc16f240553b7](https://github.com/ckochx/ex_factor/commit/04d16d93f86432e28faeb492445fc16f240553b7))
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Breaking Changes
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

* **BREAKING CHANGE**
* update min elixir version ([61b6b5759dbd82cb3150324e5f160f60d2b12974](https://github.com/ckochx/ex_factor/commit/61b6b5759dbd82cb3150324e5f160f60d2b12974))
## [Unreleased](https://github.com/ckochx/ex_factor/compare/0.4.0...HEAD)

# v0.2.0 (2022-05-01)
WIP release
## [0.4.0](https://github.com/ckochx/ex_factor/compare/0.3.2...0.4.0) - 2022-08-22

# v0.1.0 (2022-01-01)
Initial release
### Commits

- chore(Updates) version and CHANGELOG [`66f78c1`](https://github.com/ckochx/ex_factor/commit/66f78c1ad8bc68d2b1ebdbeef359ebbe6f19e6aa)
- docs(update docs and comments) [`b0778fe`](https://github.com/ckochx/ex_factor/commit/b0778feae6b6d61048d29da22ff52ead4c09aeca)
- tests(fix test): Update Trace [`f2dc801`](https://github.com/ckochx/ex_factor/commit/f2dc801dcc98fc78d8fc534d277900c98efa0411)
- chore(Tracer) move tracer to support folder [`7d146a2`](https://github.com/ckochx/ex_factor/commit/7d146a26a16c21d7b80a9caa0ebb891e07aefa10)
- chore(Changelog) use auto-changelog [`7c6ca7e`](https://github.com/ckochx/ex_factor/commit/7c6ca7e1695f2d0b2f1b9befb7f7e69fc6a38366)
- Tried Changex again, dropped it again [`cd55987`](https://github.com/ckochx/ex_factor/commit/cd559875c5ed1f7cf7bebd0eec40968367dacba3)
- refactor(Parser): set consistent opts [`8cad8f2`](https://github.com/ckochx/ex_factor/commit/8cad8f21edbcd0a280d146d2622ded1751e32d4e)
- testing: cover defdelegate [`0490486`](https://github.com/ckochx/ex_factor/commit/04904861cd87e6de2a4faadd34af6cc733a67037)
- tests: Add more [`6a6da40`](https://github.com/ckochx/ex_factor/commit/6a6da40febbb267daae75458598b128a8529bb5f)
- chreo(Trace): Add more test mods [`93fe933`](https://github.com/ckochx/ex_factor/commit/93fe933c3775c425af0db162b12e996c167d2d73)
- update(Remover): Handle end line better [`2da2e37`](https://github.com/ckochx/ex_factor/commit/2da2e37b0b953ee83582f2bec4a95e7d2a94136b)
- update(Parser): set more metadata [`0f4bacf`](https://github.com/ckochx/ex_factor/commit/0f4bacfc1b04320a038bb6db455de11ecbe5b529)
- update(Formatter): Prefer Code [`303bcba`](https://github.com/ckochx/ex_factor/commit/303bcba909f9a0c10cf9c144840ca96959d1cbb8)
- testing(update tests): rely on dry run more. [`1393876`](https://github.com/ckochx/ex_factor/commit/1393876bcf4c0ff632a44746eb0f8ef7fab0727d)
- chore(Trace): update artifact [`520eaff`](https://github.com/ckochx/ex_factor/commit/520eaff32e80517a207915988d44621da7e634f6)
- chore(make ex_doc optional): deps better [`d0276e9`](https://github.com/ckochx/ex_factor/commit/d0276e96c7106108021915d156e7144811c26a9f)
- refactor(changer): Use Traces [`35817d3`](https://github.com/ckochx/ex_factor/commit/35817d34bea70e7b6e9e2b3e1f4c3023a96a7059)
- tests(add setup files) [`4eb61df`](https://github.com/ckochx/ex_factor/commit/4eb61df4cf55d4cca76beb05a5ce70164ea2e176)
- fix(handle extra changes): mood-fn calls [`9739eb6`](https://github.com/ckochx/ex_factor/commit/9739eb66d47b0fd57cc493952e0f1593d73f7a10)
- refactor(cleanup and modify): use tracers [`6924a9b`](https://github.com/ckochx/ex_factor/commit/6924a9bb3c008403dd08c0485daba3c3fb4d22d2)
- feature(config): add env-based config [`2a17d00`](https://github.com/ckochx/ex_factor/commit/2a17d00d1274662a771309c3c2f5791eea5d8ace)
- feature(compiler tracers): Add tracing code. [`b6541cf`](https://github.com/ckochx/ex_factor/commit/b6541cfd84282ed3a8809d04f7bd62726ecbbdd0)
- bugfix(cli args): Correct CLI args format [`010f1ee`](https://github.com/ckochx/ex_factor/commit/010f1ee8da354db622f1e3a3b709844baf780ded)
- chore(remove changex): [`ff39fb3`](https://github.com/ckochx/ex_factor/commit/ff39fb3c6f4b5901dd41c507b1f31c1f0d82548a)

## [0.3.2](https://github.com/ckochx/ex_factor/compare/0.3.1...0.3.2) - 2022-08-04

### Commits

- chore(VERSION): bump version [`552267a`](https://github.com/ckochx/ex_factor/commit/552267aed0f3449052cccbb5215bc06e5d146ee0)
- chore(formatting): format files [`eb1381e`](https://github.com/ckochx/ex_factor/commit/eb1381e2bec9ca6325b27a43fded75c438393078)
- feature(CLI interface): add CLI for moduelonly [`e2ee4b8`](https://github.com/ckochx/ex_factor/commit/e2ee4b8ed94047ec2b76fdca2a111e9085636942)
- chore(cleanup): cleanup debug and readme [`9b2f5a1`](https://github.com/ckochx/ex_factor/commit/9b2f5a1e4b717cc8473d63554997760b99b4d7c9)
- feature(Change Module): add fn to only change a module name [`b4ec350`](https://github.com/ckochx/ex_factor/commit/b4ec350f391ec6543e88b1d9650aec38df52512d)

## [0.3.1](https://github.com/ckochx/ex_factor/compare/0.3.0...0.3.1) - 2022-08-04

### Commits

- **Breaking change:** break(BREAKING CHANGE): update min elixir version [`61b6b57`](https://github.com/ckochx/ex_factor/commit/61b6b5759dbd82cb3150324e5f160f60d2b12974)
- feature(format): support format CLI opt-out [`2b7b09d`](https://github.com/ckochx/ex_factor/commit/2b7b09d608ae645f771dca03ed7b79976f5415d6)
- chore(Cleanup): fill in test [`db25c9f`](https://github.com/ckochx/ex_factor/commit/db25c9fb76dd7594294813ae8fa0d6006b1f40be)
- chore(Add Changelog): Add commits to changelog. [`407f9aa`](https://github.com/ckochx/ex_factor/commit/407f9aaaf7a5150c1e75215f86529c261eb92996)
- docs(improve moduledocs): improve moduledocs [`cea9bca`](https://github.com/ckochx/ex_factor/commit/cea9bcaf1b0217d571b313aa442e1ac8e184a079)
- fix(ExFactor.Extractor): create path! for new modules [`04d16d9`](https://github.com/ckochx/ex_factor/commit/04d16d93f86432e28faeb492445fc16f240553b7)
- docs: clarify prose [`50f20fb`](https://github.com/ckochx/ex_factor/commit/50f20fb6f0a742e5820f6d6012639bb9787026f8)
- Add changex [`67a43e0`](https://github.com/ckochx/ex_factor/commit/67a43e0d1f9d8d5c4ce8772f3e3e3885ac2ef59f)
- chore(New minor version): v0.3.0 [`8aaab89`](https://github.com/ckochx/ex_factor/commit/8aaab896b44056f49663558394993f0c246ce4c8)
- fix(Add and update tests.): update test [`23a7438`](https://github.com/ckochx/ex_factor/commit/23a7438d71250cad27dcb3c7db4f7c9ced883278)
- test fixes, formatting [`e7ceeda`](https://github.com/ckochx/ex_factor/commit/e7ceeda0764ca9787edf744a1beaae1b2cb0636d)
- Refactor mix.exs, add Hexdocs config. Add mediocre X logo [`5b5fa52`](https://github.com/ckochx/ex_factor/commit/5b5fa52d21e1f197976eb0b74ad2b2815c22d29d)
- docs(update README): README [`8ea7fdc`](https://github.com/ckochx/ex_factor/commit/8ea7fdcdb45fdc7db69b45ef98c9df85f3e004e8)

## [0.3.0](https://github.com/ckochx/ex_factor/compare/0.2.0...0.3.0) - 2022-07-20

### Commits

- Add changex [`ff76331`](https://github.com/ckochx/ex_factor/commit/ff76331877e38783347668f3c4a7f664a074284a)
- New minor version [`e6d94e9`](https://github.com/ckochx/ex_factor/commit/e6d94e987750dc618b7f89bc0c1b3e15b0025fe6)
- Add and update tests. [`8c58d8c`](https://github.com/ckochx/ex_factor/commit/8c58d8c3b61468128ddae49164d0c531edfea9b0)
- update elixir version [`e382b11`](https://github.com/ckochx/ex_factor/commit/e382b1137890fe0fb2e7c8776cbacd00c732d8f8)
- test fixes, formatting [`a5a1c68`](https://github.com/ckochx/ex_factor/commit/a5a1c681dd8572baa88e55b252e5cc9e6733df7f)
- Refactor mix.exs, add Hexdocs config. Add mediocre X logo [`3af8539`](https://github.com/ckochx/ex_factor/commit/3af85397a4408621089dcad9563881877e2700f8)
- update README [`e2e2e94`](https://github.com/ckochx/ex_factor/commit/e2e2e94c575a61973d8ad4a088b273f17c88e147)

## 0.2.0 - 2022-07-15

### Commits

- add elixir.yml [`ccbc5e8`](https://github.com/ckochx/ex_factor/commit/ccbc5e8381ae14833888d2008bc0407f3e59b00b)
- rm [`654fd73`](https://github.com/ckochx/ex_factor/commit/654fd7305947711028b50cc27f398abc7f779813)
- update GH workflow [`3978cc7`](https://github.com/ckochx/ex_factor/commit/3978cc7d117aeebb13d4d23ed095e2463d9e3cf9)
- update GH workflow [`7ea023b`](https://github.com/ckochx/ex_factor/commit/7ea023b02f832f32bbb67802a14cc3c62e6ba0d5)
- add github workflow config [`f82f798`](https://github.com/ckochx/ex_factor/commit/f82f7980d0a5f9b8238d4e9d4702d0818f398764)
- Handle edge cases [`c23c93f`](https://github.com/ckochx/ex_factor/commit/c23c93f0a5f1b2b9c8d3a9174beb0fb9cdd34435)
- Cleanup test setup to remove dangling modules. [`8bc6356`](https://github.com/ckochx/ex_factor/commit/8bc63563c544478139e63f856d2a69c9d778b574)
- Handle some edge cases. [`8c7e712`](https://github.com/ckochx/ex_factor/commit/8c7e71250fe90f06077a7ce6e68ac9bc02873c6c)
- Comments and typos [`bafa887`](https://github.com/ckochx/ex_factor/commit/bafa887647e8db347233eccd3e5802fc360060cf)
- don't format on a dry_run [`5b51659`](https://github.com/ckochx/ex_factor/commit/5b516595b9044ced3e54def52c3d2ca9ead6e167)
- add module into output. [`b34a20e`](https://github.com/ckochx/ex_factor/commit/b34a20e5a86cc02a3f273318897f826b7a19122a)
- update CLI output [`82bf163`](https://github.com/ckochx/ex_factor/commit/82bf163c130d78631b1615ea3604996108cd066c)
- rename mix task. update readme [`1c55f53`](https://github.com/ckochx/ex_factor/commit/1c55f5318f96ad8e72968aaed84f5383c780e8fc)
- handle aliases better [`afaf8b6`](https://github.com/ckochx/ex_factor/commit/afaf8b61be255f7e7c3ef2ed0d7eb329935fe5a4)
- update mix file [`3885942`](https://github.com/ckochx/ex_factor/commit/38859420d7fa46fe1913ca14a7b3b910562dc405)
- Add, update license. [`67ddcf1`](https://github.com/ckochx/ex_factor/commit/67ddcf16d2c311cdd7290d8dda1aeae25c2c5660)
- refactor changer to work better and use new callers return [`d7c0eb7`](https://github.com/ckochx/ex_factor/commit/d7c0eb7eca160070f4d4b982258fdda53b742e2f)
- WIP Use Xref.calls/1 to find all the function calls [`6864707`](https://github.com/ckochx/ex_factor/commit/68647071d8e46e6d8be84cb2705641c818eaf875)
- update callers to add callers/3 fn. [`bab3323`](https://github.com/ckochx/ex_factor/commit/bab3323afa41db6d6d8a60cb561f5f8c7ffbdf5a)
- WIP ensure consistent returns, add tests for edge cases. [`86b298e`](https://github.com/ckochx/ex_factor/commit/86b298e538409c9c842c5bbee87e79a1d9032768)
- Use a struct, update tests. [`4d8cf30`](https://github.com/ckochx/ex_factor/commit/4d8cf30b2e57ec5be4260a3c65dd41d689f59db9)
- update test assert [`cb5eff2`](https://github.com/ckochx/ex_factor/commit/cb5eff2f61ed7c17a29ccc15d4d68c3597bdcf54)
- ensure we return output [`afb8b51`](https://github.com/ckochx/ex_factor/commit/afb8b512dec200d05e915ace4997eef5abfb3aa9)
- comment better [`bc0269b`](https://github.com/ckochx/ex_factor/commit/bc0269bca0f581431f4f450b22f1fd6d6fe5a2ee)
- convert function name to string in remover [`e5d5331`](https://github.com/ckochx/ex_factor/commit/e5d533156be1ceb6cf5338f8c823933aa68b1cec)
- alias better [`35f3d3b`](https://github.com/ckochx/ex_factor/commit/35f3d3bdc9b820904027f052c55295b8cdf6e2d6)
- Handle string function names [`b107316`](https://github.com/ckochx/ex_factor/commit/b107316bed13e46c374413f6702eb31ca4361568)
- match better in changer [`5e428ed`](https://github.com/ckochx/ex_factor/commit/5e428ed55aca69a7162c7210811e9ec26863988b)
- Handle edge cases and compiler warnings [`c33f268`](https://github.com/ckochx/ex_factor/commit/c33f2683d9e516f3d8956e731b98b8cf15e12786)
- update extractor tests [`5501458`](https://github.com/ckochx/ex_factor/commit/55014583d9ccd6b0f574cc07190aad3be1baf0c9)
- Get the CLI task to work [`0751c11`](https://github.com/ckochx/ex_factor/commit/0751c116718acdc3247875f1e8f2ebd6102cfbe9)
- Add changer module to change function refs. [`0c4704a`](https://github.com/ckochx/ex_factor/commit/0c4704a1ba6a3ca22c96376701906fcec6733a33)
- refactor and format [`6517e8a`](https://github.com/ckochx/ex_factor/commit/6517e8a3d88ab50c6cf3560e8a6cdc0c66ac36c9)
- Add formatter module [`4a90b3e`](https://github.com/ckochx/ex_factor/commit/4a90b3e0b023c589aaa4fb50555379b79c71d508)
- Add better output to dry_run paths, format! [`d923f0b`](https://github.com/ckochx/ex_factor/commit/d923f0b9e5f55ab1c4c45f8fc9f467cff71166c0)
- update README [`d05fef1`](https://github.com/ckochx/ex_factor/commit/d05fef12a00224a32dd9f8a3466f64e49c0333e5)
- Change tests, so cleanup is better. [`59b486b`](https://github.com/ckochx/ex_factor/commit/59b486b03ed67d9f43b31af07ded422fc14a78ad)
- Add mix task, update test, and readme [`e00edef`](https://github.com/ckochx/ex_factor/commit/e00edefd9122b1f2968d58cab8a9ad7a431660fb)
- Add dry run option and tests [`7dbe07a`](https://github.com/ckochx/ex_factor/commit/7dbe07af464ad52cf5c75aae2ef3d56c91e17c54)
- add docs, exceptions, mix task [`108369e`](https://github.com/ckochx/ex_factor/commit/108369e0b23c18efba91876272bfe24d3ff7c616)
- WIP add top-level refactor fn and test [`aa940c3`](https://github.com/ckochx/ex_factor/commit/aa940c36f3c2d678014a43a0b2ff7daf04e60a28)
- format, docs, claenup aliases [`a0a352b`](https://github.com/ckochx/ex_factor/commit/a0a352bc9c406e7613ad9becebfc037e6bb2898d)
- Fix a few tests, and continue to refactor [`50c381c`](https://github.com/ckochx/ex_factor/commit/50c381ccae835d50f73d6f353cc49d93a74ed474)
- WIP add remove fns and modules [`b319971`](https://github.com/ckochx/ex_factor/commit/b319971069ec075e1f7ca3fde01f1b050cdb532f)
- fns added. refactor and cleanup needed. [`eca25dd`](https://github.com/ckochx/ex_factor/commit/eca25dde1dfa730ab29469a74427cc7e2ab75f33)
- move to callers module [`8bc9c52`](https://github.com/ckochx/ex_factor/commit/8bc9c525ebbacf34e018d5b61132c8a50ee64d23)
- add default values [`a9ca141`](https://github.com/ckochx/ex_factor/commit/a9ca1414c04b813b14d0d4298e837575c8ed0adb)
- Add tests. Add more functions to begin to find and move target functions [`27c13dc`](https://github.com/ckochx/ex_factor/commit/27c13dc992829998a8459fd70e8841892b0cbd67)
- Add callers fn, readme [`3eb4b67`](https://github.com/ckochx/ex_factor/commit/3eb4b67b0fe4f7e648b1eb055aaefc9260a01a5d)
- add tests [`269c05a`](https://github.com/ckochx/ex_factor/commit/269c05ab4dab241e1945262c737ca518c1efdce4)
- initial commit [`be2a382`](https://github.com/ckochx/ex_factor/commit/be2a382e577e7a8ac0bceaf47b52947b6efe3ef6)
38 changes: 27 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Use at your peril, _for now._

### Example
```elixir
mix ex_factor --module TestModule.Here --function my_func --arity 1 --target NewModule.Test
mix ex_factor --module TestModule.Here --function my_func --arity 1 --target NewModule.There
```

## Roadmap TODONE
Expand All @@ -23,23 +23,24 @@ Use at your peril, _for now._
- [X] github actions, run test suite
- [X] Add Mix.Task tests
- [X] Add CLI tests
- [X] Add and configure CHANGELOG tracking.
- [X] Support opt-out of format-ing
- [X] Option to only change the module name throughout the project
- [X] update code to rely on compilation tracers, instead of XREF
- [X] With module-only option, ensure we remove changed aliases
- [X] Add and configure CHANGELOG tracking.
- [X] defdelegate

## Roadmap TODO

- [] With module-only option, ensure we remove changed aliases
- [] find private functions references in refactored fn bodies.
- [] Add test for one file containing more than one `defmodule`
- [] Add test for nested defmodules.
- [] update test file refs by CLI option
- [] find dead functions
- [] find module attrs and also move them?
- [] find types referenced in the moved specs
- [] find private functions references in refactored fn bodies.
- [] git stage all changes?
- [] Add test for one file containing more than one `defmodule`
- [] Add test for nested defmodules.
- [] How does this work with macro code? Does that even make sense as a case to handle?
- [] Update .exs files too?
- [] update test file refs by CLI option
- [] Write tests to ensure we can find modules across umbrella apps.
- [] Add configuration hooks?
- [] ElixirLS integration for VSCode?
Expand All @@ -49,11 +50,16 @@ Use at your peril, _for now._

See [CHANGELOG.md](https://github.com/ckochx/ex_factor/blob/main/CHANGELOG.md)

Using [changex](https://github.com/Gazler/changex) to track changes.
Updating the changelog. (Uses `auto-changelog`)
https://github.com/cookpete/auto-changelog

### changex usage:
`auto-changelog --breaking-pattern "BREAKING CHANGE"`

`mix changex.update --github ckochx/ex_factor --format github`
### Tagging by version in mix.exs

```
git tag `egrep '@version \"\d\.\d\.\d\".*' mix.exs | awk '{gsub(/"/, "", $2); print $2}'`
```

## Installation

Expand All @@ -77,3 +83,13 @@ Alternate name:
## License

See [LICENSE](https://github.com/ckochx/ex_factor/blob/main/LICENSE)

## Miscellaneous resources

- https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/
- https://www.educative.io/courses/metaprogramming-elixir/7DXEpKlj3Rr
- https://elixirforum.com/t/is-there-a-complete-elixir-ast-reference/38923/3
- https://www.botsquad.com/2019/04/11/the-ast-explained/
- https://elixirforum.com/t/getting-each-stage-of-elixirs-compilation-all-the-way-to-the-beam-bytecode/1873/8
- http://gomoripeti.github.io/beam_by_example/
- https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine)
1 change: 0 additions & 1 deletion VERSION

This file was deleted.

5 changes: 5 additions & 0 deletions config/config.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import Config

if File.exists?(Path.join([__DIR__, "#{config_env()}.exs"])) do
import_config "#{config_env()}.exs"
end
4 changes: 4 additions & 0 deletions config/test.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Config

config :ex_factor, ExFactor.Callers,
trace_function: &ExFactor.Support.Trace.trace_function/0
2 changes: 1 addition & 1 deletion lib/ex_factor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ defmodule ExFactor do
|> Keyword.put_new(:target_path, path(target_module))
|> Keyword.put_new(:source_path, path(source_module))

changes = Changer.rename_module(opts)
changes = Changer.change(opts)

format(%{additions: %ExFactor{}, changes: changes, removals: %ExFactor{}}, dry_run, opts)
end
Expand Down
Loading