Back to directory

Igniter

Igniter is an Elixir code-generation and project-patching framework that provides mix tasks to install dependencies, upgrade them with codemods, and refactor code such as renaming a function across a project.

Igniter

Igniter serves two audiences. For end users, it adds mix tasks: igniter.install adds a dependency to mix.exs and then runs that library's own installer if it has one, igniter.upgrade is a drop-in replacement for the standard dependency-update task that also runs any upgrade patchers a package defines, and refactoring tasks such as igniter.refactor.rename_function rename a function and all its references across a project, optionally leaving the old name marked deprecated.

For library authors and platform teams, Igniter is a toolkit for writing generators that can semantically create and modify existing files in a user's project, commonly called codemods, rather than only scaffolding new ones. An installable archive adds a mix igniter.new task that scaffolds an entirely new Elixir project, optionally combined with other project generators and further --install flags for libraries such as Ash or Ecto. It requires Elixir 1.15 or later, with 1.17 or later recommended for full compatibility.

More in Libraries

See all 292
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • TradeCanvas

    bonguynvan.github.io

    A zero-dependency canvas charting engine for building TradingView-style trading charts in JavaScript, with 66 technical indicators, 24 drawing tools, 17 chart types, and real-time streaming.

  • 3d retro graphics

    3d-retro.com

    A free, CC0-licensed library of copy-paste retro 3D and demoscene graphics effects, such as plasma, raytracing, and voxel terrain, runnable as WebGL 1 or plain 2D canvas.