This is an experimental alpha-stage library that is sure to have many bugs and coverage issues. Please be patient and feel free to contribute issues and fixes.
Replaces the require of the namespace <from> with <to>, also replacing all usages of <from> accordingly to <to>, applying alias and :refer symbols if they are present.
Able to add a require to the list of requires of a namespace. If the namespace being added already exists in the list of requires, add behaves like replace.
Depending on the structure of the namespaces :requires the behavior of umschreiben-clj.variables/rename differs widely so we encourage one to check out the examples in the test suite and also play around with it yourself.
Renaming variables that are required using :refer has limited support and isn't recommended. Since umschreiben-clj doesn't consider binding information, renaming un-namespaced variables that are :refer'ed from other namespaces can conflict with local variable bindings. For example, running (umschreiben-clj.variables/rename ..node-of-code-below.. 'clojure.string/join 'my-join '[my.helpers :as helpers]) on:
At Nubank this library, used in conjuction with ordnungsamt, allows us to realize namespace and function deprecations across hundreds of Clojure repositories