Skip to content

Cyrik/cljs-macroexpand

Repository files navigation

cljs-macroexpand

clojurescript macroexpand-all macro with meta support.

Clojars Project

(cljs-macroexpand-all '(when (let [a 5] a) "false"))
;; (if (let* [a 5] a) (do "false"))
(macroexpand '(when (let [a 5] a) "false"))
;; (if (let [a 5] a) (do "false"))

Basically clojure.walk.macroexpand-all for clojurescript.

Its mostly lifted from flow-storm who came up with a way to macroexpand inside clojurescript. The expansion itself is mostly from orchard.

Usage

Run the project's tests (they'll fail until you edit them):

$ clojure -X:test

Run the project's tests (they'll fail until you edit them):

$ clojure -T:build test

Run the project's CI pipeline and build a JAR (this will fail until you edit the tests to pass):

$ clojure -T:build ci

This will produce an updated pom.xml file with synchronized dependencies inside the META-INF directory inside target/classes and the JAR in target. You can update the version (and SCM tag) information in generated pom.xml by updating build.clj.

Install it locally (requires the ci task be run first):

$ clojure -T:build install

Deploy it to Clojars -- needs CLOJARS_USERNAME and CLOJARS_PASSWORD environment variables (requires the ci task be run first):

$ clojure -T:build deploy

License

Distributed under the Eclipse Public License version 1.0.

About

clojurescript macroexpand-all macro with meta support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published