Igor Barakaiev
bba8d5238e
fix: escape injected code in Common.replace_code/2 ( #70 )
2024-08-04 22:42:14 -04:00
Zach Daniel
2733449bf8
Fix move to single child block ( #69 )
...
CI / ash-ci (push) Waiting to run
* fix: check for extendable_block? in maybe_move_to_single_child_block/1
* fix: properly compare values that live in blocks
---------
Co-authored-by: Igor Barakaiev <ibarakaiev@gmail.com>
2024-08-03 19:16:27 -04:00
Zach Daniel
49d6725c83
chore: undo some changes to remove_keyword_key
CI / ash-ci (push) Waiting to run
2024-08-03 18:59:24 -04:00
Igor Barakaiev
e860b1f9d3
fix: :error consistency in remove_keyword_key and argument_equals? in Config.configure ( #68 )
2024-08-03 18:50:44 -04:00
Igor Barakaiev
fa5f849928
improvement: support "notices" ( #65 )
2024-08-03 17:52:09 -04:00
Zach Daniel
c769fe15ae
improvement: add create_module
utility
...
fix: loadpaths after compiling deps
2024-07-31 18:29:11 -04:00
Zach Daniel
1106f572bb
fix: remove force?: true
from dep installation
...
fix: better handling of positional args in igniter.new
2024-07-31 14:48:34 -04:00
Zach Daniel
7ef6465da5
fix: detect more function call formats
...
fix: properly extract arguments when parsing positional args
2024-07-30 15:30:29 -04:00
Zach Daniel
643813b120
fix: force compile dependencies to avoid strange compiler issues
2024-07-30 11:20:21 -04:00
Zach Daniel
50827595a3
improvement: add Igniter.Libs.Phoenix.endpoints_for_router/2
2024-07-30 07:41:51 -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
bfe50c6cac
fix: use length of path for insertion point, instead of node equality
2024-07-22 13:59:32 -04:00
Zach Daniel
5fd15d0311
improvement: better map key setting
...
improvement: detect strings as non extendable blocks
improvement: add option to ignore already present phoenix scopes
2024-07-19 17:27:09 -04:00
Zach Daniel
df67d92eeb
fix: improve add_code
by modifying the supertree
2024-07-19 15:07:19 -04:00
Zach Daniel
bff6275c24
fix: properly scope configuration modification code
...
fix: properly add blocks of code together
2024-07-19 12:33:07 -04:00
Zach Daniel
e2a24475b1
improvement: add blocks together more fluidly in add_code
2024-07-19 10:36:02 -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
61e75fe2e3
improvement: include config in include_all_elixir_files ( #55 )
CI / ash-ci (push) Waiting to run
2024-07-18 16:39:03 -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
eaa1a779e0
improvement: fix function typespecs & add inflex
dependency
2024-07-18 11:39:47 -04:00
Igor Barakaiev
d01cf95456
improvement: only show executed installers ( #50 )
CI / ash-ci (push) Waiting to run
2024-07-17 14:33:48 -04:00
Igor Barakaiev
ba8d2ff5f9
improvement: support tuple dependencies in igniter.install ( #49 )
2024-07-17 12:03:23 -04:00
Igor Barakaiev
2a96a8ae87
chore: remove :kind from docs ( #48 )
...
CI / ash-ci (push) Waiting to run
Seems like we forgot to remove `:kind` from the documentation for `find_and_update_or_create_module/5` when we went with the `:path` option only.
2024-07-16 15:37:30 -04:00
Zach Daniel
9eb5c52fc6
chore: get build passing
2024-07-15 21:11:58 -04:00
Zach Daniel
9210907a3b
fix: when adding code to surrounding block, don't go up multiple blocks
2024-07-15 21:05:39 -04:00
Zach Daniel
d00dd671c7
improvement: Add Igniter.Libs.Phoenix
for working with Phoenix
...
improvement: deprecate duplicate `Igniter.Code.Module.move_to_use` function
improvement: `Igniter.Project.Config.configures?/4` that takes a config file
improvement: Add `Igniter.Util.Warning` for formatting code in warnings
2024-07-15 14:06:25 -04:00
Zach Daniel
4494e426a3
improvement: make apply_and_fetch_dependencies
only change deps/0
2024-07-14 19:22:37 -04:00
Zach Allaun
43a2f39943
refactor: simplify zipper usage ( #45 )
...
* build: add otp version to elixir in .tool-versions
* refactor: don't make subtree zippers unless needed in `Igniter.Code.Common`
* refactor: internal function in `Igniter.Code.Common`
* docs: add docstring for `Igniter.Code.Common.use_aliases/2`
* refactor: simplify zipper usage
Refactored using these two general rules:
1. Don't make subtrees unnecessarily
zipper
|> Zipper.subtree()
|> Zipper.root()
# is equivalent to
zipper
|> Zipper.node()
2. Access `zipper.node` when appropriate
zipper
|> Zipper.node()
|> case do
...
end
# is equivalent to
case zipper.node do
...
end
* fix: remove redundant case clause in `Igniter.Code.Common`
2024-07-11 14:25:20 -04:00
Zach Daniel
772a916684
chore: get build passing
2024-07-11 13:43:39 -04:00
Zach Daniel
00161f7b0e
improvement: remove a bunch of dependencies by using :inets & :httpc
2024-07-11 13:21:42 -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
0ba0c5a375
chore: remove error check
2024-07-10 08:48:56 -04:00
Zach Daniel
e79a384549
fix: prevent crash on specific cases with igniter.new
...
improvement: more consistent initial impl of `elixirc_paths`
chore: share deps_compile code with installer
2024-07-10 08:42:41 -04:00
Zach Daniel
c3e1a16b66
chore: clean up test support addition code
2024-07-09 20:43:52 -04:00
Igor Barakaiev
8e71283ab1
improvement: support :kind in find_and_update_or_create_module/5 ( #38 )
2024-07-09 20:31:50 -04:00
Zach Daniel
a56346f329
chore: fix credo
2024-07-09 20:25:10 -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
73f489369f
fix: simplify how we get tasks to run
...
fix: don't try to format after editing `mix.exs`
2024-07-09 17:41:24 -04:00
Zach Daniel
0aed000bbf
fix: fix deps compilation issues by vendoring deps.compile
...
fix: honor `--yes` flag when installing deps always
2024-07-09 16:38:57 -04:00
Zach Daniel
f81fd85d6e
improvement: small tweaks to output
CI / ash-ci (push) Waiting to run
2024-07-09 12:05:15 -04:00
Zach Daniel
a6fb8ec1dc
fix: remove shortnames for global options, to reduce conflicts
2024-07-09 09:00:53 -04:00
Rebecca Le
913945bb33
docs: Add protocol to config doc link to make it usable ( #39 )
...
Having a fully-qualified URL lets you cmd+click and go there from your editor! (on macOS - its probably ctrl+click on Windows)
2024-07-09 08:37:18 -04:00
Zach Daniel
27b6808408
fix: remove erroneous warning while composing tasks
CI / ash-ci (push) Waiting to run
2024-07-08 15:58:38 -04:00
Igor Barakaiev
a7e1397940
fix: pass file_path to ensure_default_configs_exist
( #36 )
CI / ash-ci (push) Has been cancelled
2024-07-07 12:05:23 -04:00
Igor Barakaiev
90b23e898d
improvement: support an optional append? flag for add_dep/3 ( #34 )
2024-07-07 12:05:01 -04:00
Zach Daniel
7eba812020
chore: cleanup
CI / ash-ci (push) Waiting to run
2024-07-06 13:28:08 -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