All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v0.3.25 (2024-09-06)
-
add
configure_runtime_env
codemod -
remove dependencies that aren't strictly necessary
-
remove dependencies that we don't really need
-
more options to
igniter.new
v0.3.24 (2024-08-26)
- detect equal lists for node equality
v0.3.23 (2024-08-26)
- properly move to arguments of Module.fun calls
-
add
Igniter.Code.Common.expand_literal/1
-
add
--with-args
to pass additional args to installers
v0.3.22 (2024-08-20)
- add options to control behavior when creating a file that already exists
v0.3.21 (2024-08-20)
- add
copy_template/4
v0.3.20 (2024-08-19)
-
ensure no timeout on task async streams
-
don't hardcode
Foo.Supervisor
�
v0.3.19 (2024-08-13)
- properly handle values vs code in configure
v0.3.18 (2024-08-08)
- fix and test keyword setting on empty list
v0.3.17 (2024-08-08)
-
properly parse boolean switches from positional args
-
don't warn on
Macro.Env.expand_alias/3
not being defined -
descend into single child block when modifying keyword
-
set
format: :keyword
when adding keyword list item to empty list -
escape injected code in Common.replace_code/2 (#70)
-
:error consistency in remove_keyword_key and argument_equals? in Config.configure (#68)
-
support for non-elixir files with create_new_file, update_file, include_existing_file, include_or_create_file, create_or_update_file (#75)
-
support "notices" (#65)
v0.3.16 (2024-07-31)
- loadpaths after compiling deps
- add
create_module
utility
v0.3.15 (2024-07-31)
-
remove
force?: true
from dep installation -
better handling of positional args in igniter.new
v0.3.14 (2024-07-30)
-
detect more function call formats
-
properly extract arguments when parsing positional args
v0.3.13 (2024-07-30)
- force compile dependencies to avoid strange compiler issues
v0.3.12 (2024-07-30)
- add
Igniter.Libs.Phoenix.endpoints_for_router/2
v0.3.11 (2024-07-27)
-
ensure igniter is compiled first
-
fetch deps after adding any nested installers
-
various fixes & improvements to positional argument listing
-
clean up dependency compiling logic
-
optimize module finding w/ async_stream
-
add
rest: true
option for positional args
v0.3.10 (2024-07-26)
- recompile igniter in
ingiter.install
-
add
positional_args!/1
macro for use in tasks -
better output on missing installers & already present dep
v0.3.9 (2024-07-22)
-
force compile dependencies.
-
use length of path for insertion point, instead of node equality
v0.3.8 (2024-07-19)
-
better map key setting
-
detect strings as non extendable blocks
-
add option to ignore already present phoenix scopes
v0.3.7 (2024-07-19)
- improve
add_code
by modifying thesupertree
v0.3.6 (2024-07-19)
-
properly scope configuration modification code
-
properly add blocks of code together
v0.3.5 (2024-07-19)
-
properly move to pattern matches in scope
-
configures?/3 -> configures_key & configures_root_key (#54)
- add blocks together more fluidly in
add_code
v0.3.4 (2024-07-19)
- recompile
:igniter
if it has to
-
include config in include_all_elixir_files (#55)
-
add Function.argument_equals?/3 (#53)
-
add Function.argument_equals?/3
v0.3.3 (2024-07-18)
-
fix function typespecs & add
inflex
dependency -
only show executed installers (#50)
-
support tuple dependencies in igniter.install (#49)
v0.3.2 (2024-07-16)
- don't compile igniter dep again when compiling deps
v0.3.1 (2024-07-16)
- when adding code to surrounding block, don't go up multiple blocks
v0.3.0 (2024-07-15)
-
Add
Igniter.Libs.Phoenix
for working with Phoenix -
deprecate duplicate
Igniter.Code.Module.move_to_use
function -
Igniter.Project.Config.configures?/4
that takes a config file -
Add
Igniter.Util.Warning
for formatting code in warnings
v0.2.13 (2024-07-15)
- remove redundant case clause in
Igniter.Code.Common
-
make
apply_and_fetch_dependencies
only changedeps/0
-
remove a bunch of dependencies by using :inets & :httpc
v0.2.12 (2024-07-10)
- fix dialyzer warnings about info/2 never being nil
v0.2.11 (2024-07-10)
- prevent crash on specific cases with
igniter.new
-
more consistent initial impl of
elixirc_paths
-
support :kind in find_and_update_or_create_module/5 (#38)
v0.2.10 (2024-07-10)
- ensure
test/support
is in elixirc paths automatically when necessary
v0.2.9 (2024-07-09)
-
simplify how we get tasks to run
-
don't try to format after editing
mix.exs
v0.2.8 (2024-07-09)
-
fix deps compilation issues by vendoring
deps.compile
-
honor
--yes
flag when installing deps always
- small tweaks to output
v0.2.7 (2024-07-09)
-
remove shortnames for global options, to reduce conflicts
-
remove erroneous warning while composing tasks
-
pass file_path to
ensure_default_configs_exist
(#36) -
preserve original ordering in Util.Install (#33)
-
include only "mix.exs" in the actual run in apply_and_fetch_dependencies (#32)
-
always return {:ok, zipper} in append_new_to_list/2 (#31)
-
support an optional append? flag for add_dep/3 (#34)
-
add
add_dep/2-3
, that accepts a full dep specification -
deprecate
add_dependency/3-4
-
make module moving much smarter
-
add configurations for not moving certain modules
-
make
source_folders
configurable
v0.2.6 (2024-07-02)
-
properly find nested modules again
-
make igniter tests much faster by not searching our own project
-
add
include_all_elixir_files/1
-
add
module_exists?/2
-
add
find_and_update_module/3
-
only require rejecting mix deps.get one time & remember that choice
-
simpler messages signaling a mix deps.get
v0.2.5 (2024-07-02)
-
move_modules
->move_files
-
move some files around and update config names
-
use
%Info{}
structs to compose and plan nested installers -
add Igniter.apply_and_fetch_dependencies/1 and Igniter.has_changes?/1 (#28)
-
rename option_schema/2 -> info/2
-
only create default configs if an env-specific config is created
v0.2.4 (2024-06-28)
-
fix match error in
append_new_to_list
-
version string splitting (#25)
-
add an optional path argument to
find_and_update_or_create_module/5
-
add
option_schema/2
callback toIgniter.Mix.Task
-
Module.find_and_update_or_create_module
-
add a way to move files
-
add
.igniter.exs
file, andmix igniter.setup
to create it -
move files to configured location based on changes
-
add fallback to compose_task (#19)
-
add proper_test_support_location/1 (#18)
-
add proper_test_location/1 (#17)
v0.2.3 (2024-06-21)
- use
override: true
for git/github deps as well
v0.2.2 (2024-06-21)
-
don't show unnecessary diff output
-
don't compile before fetching deps
v0.2.1 (2024-06-21)
-
workaround trailing comment issues w/ sourceror
-
support
--with
option inigniter.new
v0.2.0 (2024-06-20)
-
make installer use
override: true
on local dependency -
ensure dependencies are compiled after
mix deps.get
-
use warnings instead of errors for better UX
-
move proejct related things to
Project
namespace
v0.1.8 (2024-06-19)
- update spitfire for env fix
-
rename
env_at_cursor
tocurrent_env
-
improve marshalling of spitfire env to macro env
-
show warning when adding dependencies by default
v0.1.7 (2024-06-14)
-
various restructurings and improvements across the board
-
use
Spitfire
to ensure that aliases are considered when comparing modules -
use
Spitfire
to use any existing aliases when inserting code -
use
Zipper.topmost
to power newSpitfire
-related features
v0.1.6 (2024-06-13)
-
patch formatter fix, to be removed later when rewrite PR is merged
-
properly find functions in scope
v0.1.5 (2024-06-13)
- Igniter.Code.Common.with/2 was not properly merging with original zipper
v0.1.4 (2024-06-13)
- use
path:
prefix instead oflocal:
v0.1.3 (2024-06-13)
- support space-separated installers
v0.1.2 (2024-06-13)
-
remove unsupportable package installation symbols
-
don't run
mix deps.get
if dependency changes are aborted
v0.1.1 (2024-06-13)
- always format the file even if no
.formatter.exs
exists
v0.1.0 (2024-06-13)
- handle existing deps when they are not local properly
-
ignore installer tasks that are not igniter tasks
-
draw the rest of the owl
-
add installer archive
-
more module helpers
-
wrap code in
==code==
so you can tell what is beingputs
-
add CI/build and get it passing locally