Commit graph

57 commits

Author SHA1 Message Date
Zach Daniel
86c93968b1 improvement: better confirmation message experience
Some checks are pending
CI / ash-ci (push) Waiting to run
chore: update tests for phoenix extensions
2024-09-16 09:08:56 -04:00
Zach Daniel
896a63865a chore: fix test
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-09-15 17:20:21 -04:00
Zach Daniel
f7d27f66bf chore: fix typespec, and honor overwrites option 2024-09-15 17:19:54 -04:00
Zach Daniel
c8b35915a5 improvement: Support for extensions in igniter config
improvement: Add a phoenix extension to prevent moving modules that may be phoenix-y
fix: reevaluate .igniter.exs when it changes
2024-09-13 17:51:07 -04:00
Zach Daniel
72bd35413e improvement: add Igniter.Code.Common.remove/2
fix: much smarter removal of `import_config` when evaluating configuration files
test: rewrite config tests to use new test helpers
2024-09-10 17:26:38 -04:00
Jonatan Männchen
da86bd1b45
Module.find_all_matching_modules only consider Elixir Files (#83) 2024-09-10 16:10:32 -04:00
Zach Daniel
a8c0222e97 fix: properly avoid adding duplicate children to application tree 2024-09-10 11:15:28 -04:00
Zach Daniel
7630b670ff improvement: support the opts being code when adding a new child to the app tree
improvement: prepend new children instead of appending them
improvement: add an `after` option to `add_new_child/3`
fix: handle some edge cases in application child adding
2024-09-09 21:39:32 -04:00
Zach Daniel
e47b32f196 improvement: better warnings on invalid patches in test 2024-09-09 20:03:48 -04:00
Zach Daniel
93917513ee chore: fix problems with mix igniter.gen.task interpolation 2024-09-09 19:30:28 -04:00
Zach Daniel
7ae225eee4 improvement: add mix igniter.gen.task to quickly generate a full task
improvement: properly find the default location for mix task modules
2024-09-09 19:06:00 -04:00
Zach Daniel
d9d31e3c04 improvement: add --only option, and only key in Igniter.Mix.Task.Info
closes #61
2024-09-09 17:17:05 -04:00
Zach Daniel
47e931207e improvement: add Igniter.Test with helpers for writing tests
Some checks are pending
CI / ash-ci (push) Waiting to run
improvement: extract app name and app module from mix.exs file

closes #5
2024-09-09 14:22:00 -04:00
Zach Daniel
f39ca441b5 improvement: add copy_template/4 2024-08-20 14:32:02 -04:00
Zach Daniel
14552bcef9 fix: properly handle values vs code in configure 2024-08-13 16:07:52 -04:00
Igor Barakaiev
ccdbfee957
test: add failing config tests (#77) 2024-08-13 15:13:38 -04:00
Zach Daniel
1e1359e255 fix: fix and test keyword setting on empty list 2024-08-08 10:53:58 -04:00
Zach Daniel
e776b2cb7d chore: address warnings
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-08-08 00:16:58 -04:00
Mayel de Borniol
f356cce3a4
improvement: support for non-elixir files with create_new_file, update_file, include_existing_file, include_or_create_file, create_or_update_file (#75)
Some checks failed
CI / ash-ci (push) Has been cancelled
2024-08-05 21:50:18 -04:00
Igor Barakaiev
e2a1682d87
test: add regression tests that fail (#71) 2024-08-04 23:16:13 -04:00
Zach Daniel
79ae2d653b
Revert "fix: escape injected code in Common.replace_code/2 (#70)" (#72)
This reverts commit bba8d5238e.
2024-08-04 22:43:27 -04:00
Igor Barakaiev
bba8d5238e
fix: escape injected code in Common.replace_code/2 (#70) 2024-08-04 22:42:14 -04:00
Zach Daniel
c52b226a1c improvement: clean up dependency compiling logic
fix: ensure igniter is compiled first
fix: fetch deps after adding any nested installers
improvement: optimize module finding w/ async_stream
fix: various fixes & improvements to positional argument listing
improvement: add `rest: true` option for positional args
2024-07-27 16:57:10 -04:00
Zach Daniel
29e492002a improvement: add positional_args!/1 macro for use in tasks
fix: recompile igniter in `ingiter.install`
2024-07-26 13:31:17 -04:00
Zach Daniel
3fe4d9c34a improvement: better output on missing installers & already present dep
closes #58
2024-07-25 09:20:38 -04:00
Zach Daniel
df67d92eeb fix: improve add_code by modifying the supertree 2024-07-19 15:07:19 -04:00
Zach Daniel
a234998886 fix: properly move to pattern matches in scope 2024-07-19 10:28:36 -04:00
Igor Barakaiev
8f9a94c449
fix: configures?/3 -> configures_key & configures_root_key (#54) 2024-07-19 08:54:41 -04:00
Igor Barakaiev
ca9ece1316
improvement: add Function.argument_equals?/3 (#53)
* improvement: add Function.argument_equals?/3

* add @doc and @spec

* return false when zipper is not a function call

Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>

---------

Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-07-18 13:34:31 -04:00
Zach Daniel
2fd37bb031 chore: don't use deprecated function in tests 2024-07-14 22:05:34 -04:00
Zach Daniel
66b886cdc7 fix: fix dialyzer warnings about info/2 never being nil 2024-07-10 10:56:34 -04:00
Zach Daniel
7fcf6a6143 improvement: ensure test/support is in elixirc paths automatically when necessary 2024-07-09 20:23:15 -04:00
Zach Daniel
1303e0f394 improvement: add add_dep/2-3, that accepts a full dep specification
improvement: deprecate `add_dependency/3-4`

closes #35
2024-07-06 13:28:08 -04:00
Zach Daniel
8937710de9 improvement: make module moving much smarter
improvement: add configurations for not moving certain modules
improvement: make `source_folders` configurable
2024-07-02 23:26:39 -04:00
Zach Daniel
2c2a2e35e3 improvement: move some files around and update config names 2024-07-01 20:43:39 -04:00
Zach Daniel
b878903e26 chore: fix bugs/build
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-07-01 18:27:41 -04:00
Zach Daniel
ccb0984314 improvement: Module.find_and_update_or_create_module
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-06-28 00:36:04 -04:00
Zach Daniel
0dc28d3e8b improvement: add a way to move files
improvement: add `.igniter.exs` file, and `mix igniter.setup` to create it
improvement: move files to configured location based on changes
2024-06-27 23:16:26 -04:00
Igor Barakaiev
a6464db658
improvement: add proper_test_support_location/1 (#18)
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-06-26 08:02:29 -04:00
Igor Barakaiev
1271a75e04
improvement: add proper_test_location/1 (#17)
Some checks are pending
CI / ash-ci (push) Waiting to run
2024-06-25 13:09:48 -04:00
Zach Daniel
8bcf7d690e improvement: workaround trailing comment issues w/ sourceror
can remove all of the trailing comment logic when
https://github.com/doorgan/sourceror/issues/150
is addressed
2024-06-21 16:07:26 -04:00
Zach Daniel
0590e44841 chore: introduce utils namespace
docs: add explanation of codebase to writing generators guide
2024-06-20 09:46:45 -04:00
Zach Daniel
46fc43a8cc improvement: use warnings instead of errors for better UX
improvement: move proejct related things to `Project` namespace
2024-06-20 09:37:06 -04:00
Zach Daniel
824bc34c3a improvement: rename env_at_cursor to current_env
closes #11
2024-06-19 15:55:15 -04:00
Zach Daniel
067c4a6df0 improvement: various restructurings and improvements across the board
improvement: use `Spitfire` to ensure that aliases are considered when comparing modules
improvement: use `Spitfire` to *use* any existing aliases when inserting code
improvement: use `Zipper.topmost` to power new `Spitfire`-related features
2024-06-14 17:07:32 -04:00
Zach Daniel
2f2c1e35c6 fix: properly find functions in scope
test: add first tests for `Igniter.Code.Function`
2024-06-13 14:09:26 -04:00
Zach Daniel
55d0b061e1 improvement: draw the rest of the owl 2024-06-12 18:22:08 -04:00
Zach Daniel
2a43fc4af7 WIP 2024-06-11 17:33:05 -04:00
Zach Daniel
1812aafac8 WIP 2024-06-10 09:58:20 -04:00
Zach Daniel
414852589e WIP 2024-06-05 10:12:07 -04:00