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
Igor Barakaiev
df409b00fd
fix: preserve original ordering in Util.Install ( #33 )
CI / ash-ci (push) Has been cancelled
2024-07-04 07:52:48 -04:00
Igor Barakaiev
dc04861ca1
fix: include only "mix.exs" in the actual run in apply_and_fetch_dependencies ( #32 )
2024-07-04 06:51:45 -04:00
Igor Barakaiev
2f3e3065f3
fix: always return {:ok, zipper} in append_new_to_list/2 ( #31 )
2024-07-04 06:37:02 -04:00
Zach Daniel
b2ab78d681
chore: pass credo
CI / ash-ci (push) Has been cancelled
2024-07-02 23:29:04 -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
77003e2d34
chore: remove debug
CI / ash-ci (push) Waiting to run
2024-07-02 17:21:18 -04:00
Zach Daniel
44ebb4d7b0
chore: cleanup code addition
2024-07-02 17:20:50 -04:00
Zach Daniel
5e5e11633f
improvement: properly find nested modules again
...
improvement: make igniter tests much faster by not searching our own project
2024-07-02 16:33:08 -04:00
Zach Daniel
0a7aa522fe
chore: small changes to recently added function interfaces
2024-07-02 14:07:48 -04:00
Zach Daniel
be6051b523
improvement: add include_all_elixir_files/1
...
improvement: add `module_exists?/2`
improvement: add `find_and_update_module/3`
2024-07-02 13:50:06 -04:00
Zach Daniel
d7613a2438
improvement: only require rejecting mix deps.get one time & remember that choice
...
improvement: simpler messages signaling a mix deps.get
2024-07-02 13:22:22 -04:00
Zach Daniel
b13d58a4f3
improvement: move_modules
-> move_files
2024-07-01 20:45:14 -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
CI / ash-ci (push) Waiting to run
2024-07-01 18:27:41 -04:00
Zach Daniel
922178e9ff
improvement: use %Info{}
structs to compose and plan nested installers
2024-07-01 17:56:14 -04:00
Igor Barakaiev
05f52a9413
improvement: add Igniter.apply_and_fetch_dependencies/1 and Igniter.has_changes?/1 ( #28 )
...
---------
Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
2024-07-01 15:29:51 -04:00
Zach Daniel
99ed483629
improvement: rename option_schema/2 -> info/2
2024-07-01 14:25:33 -04:00
Zach Daniel
4b8e519c10
improvement: only create default configs if an env-specific config is created
2024-07-01 14:16:07 -04:00
Zach Daniel
dd42d449f2
improvement: add an optional path argument to find_and_update_or_create_module/5
2024-06-28 18:59:34 -04:00
Zach Daniel
fd475c366a
improvement: add option_schema/2
callback to Igniter.Mix.Task
2024-06-28 18:56:04 -04:00
Zach Daniel
615196235e
fix: fix match error in append_new_to_list
CI / ash-ci (push) Waiting to run
2024-06-28 14:25:13 -04:00
Zach Daniel
ccb0984314
improvement: Module.find_and_update_or_create_module
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
e72aa1ee4a
fix: version string splitting ( #25 )
2024-06-27 17:53:44 -04:00
Igor Barakaiev
8077946d10
improvement: add fallback to compose_task ( #19 )
CI / ash-ci (push) Waiting to run
2024-06-26 11:40:58 -04:00
Igor Barakaiev
a6464db658
improvement: add proper_test_support_location/1 ( #18 )
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 )
CI / ash-ci (push) Waiting to run
2024-06-25 13:09:48 -04:00
Zach Daniel
fa3b0d5fb3
improvement: use override: true
for git/github deps as well
2024-06-21 19:57:39 -04:00
Zach Daniel
0e82c3aebb
fix: don't show unnecessary diff output
...
fix: don't compile before fetching deps
2024-06-21 18:06:00 -04:00
Zach Daniel
faff4590c5
chore: use override: true
when installing for a path
2024-06-21 16:21:20 -04:00