A tool for converting Surface < 0.4
"shorthand atom syntax" into standard non-deprecated atom syntax.
This:
<SomeComponent atom_prop="warning">
is turned into this:
<SomeComponent atom_prop={{ :warning }}>
You must have Surface version 0.4.*
installed as the mix task relies on the warnings it generates.
Install the package by adding the following to your list of dependencies in mix.exs
:
def deps do
[
{:surface_atom_shorthand_converter, "~> 0.1.0",
github: "paulstatezny/surface_atom_shorthand_converter", ref: "master"},
]
end
Then, in the project root, run:
mix surface.convert_atom_string_shorthand
The mix task does the following:
- Runs
mix compile --force --warnings-as-errors
. - Reads and parses
stderr
to find Surface code in the deprecated style. - Updates the code according to each warning.
If you have any macros that generate Surface code, the warnings will not contain the correct line number and the mix task will not be able to repair them.
Copyright (c) 2021, Paul Statezny.
This source code is licensed under the MIT License.