{"id":24435286,"url":"https://github.com/g7s/module.shadow-cljs","last_synced_at":"2025-04-12T15:32:09.051Z","repository":{"id":62432753,"uuid":"198694646","full_name":"g7s/module.shadow-cljs","owner":"g7s","description":"Duct module for developing and compiling ClojureScript with shadow-cljs","archived":false,"fork":false,"pushed_at":"2020-06-25T08:48:29.000Z","size":8,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-26T10:02:11.268Z","etag":null,"topics":["clojure","clojurescript","duct","integrant"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/g7s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-24T19:05:27.000Z","updated_at":"2022-09-23T14:54:50.000Z","dependencies_parsed_at":"2022-11-01T21:15:33.969Z","dependency_job_id":null,"html_url":"https://github.com/g7s/module.shadow-cljs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g7s%2Fmodule.shadow-cljs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g7s%2Fmodule.shadow-cljs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g7s%2Fmodule.shadow-cljs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g7s%2Fmodule.shadow-cljs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/g7s","download_url":"https://codeload.github.com/g7s/module.shadow-cljs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248589355,"owners_count":21129595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurescript","duct","integrant"],"created_at":"2025-01-20T17:18:57.200Z","updated_at":"2025-04-12T15:32:09.027Z","avatar_url":"https://github.com/g7s.png","language":"Clojure","readme":"# Duct module.shadow-cljs\n\n[![Clojars Project](https://img.shields.io/clojars/v/g7s/module.shadow-cljs.svg)](https://clojars.org/g7s/module.shadow-cljs)\n\nA [Duct](https://github.com/duct-framework/duct) module for compiling and dynamically reloading ClojureScript files using [shadow-cljs](https://github.com/thheller/shadow-cljs).\n\n\n## Installation\n\nTo install, add the following to your project `:dependencies`:\n\n    [g7s/module.shadow-cljs \"0.1.2\"]\n\n\n## Usage\n\nThis library provides the `:duct.module/shadow-cljs` key, and accepts the\nsame options as [shadow-cljs](https://shadow-cljs.github.io/docs/UsersGuide.html)\nas well as an (optional) `:logger` top-level key that is a `:duct/logger` that will\nbe used to log information about your builds in development.\n\nAdditionally it defines two other keys namely `:duct.server/shadow-cljs` and `:duct.compiler/shadow-cljs`.\n\n### Server\n\nThe server key `:duct.server/shadow-cljs` is used to start a shadow-cljs server for use in the development phase of your project.\nIf you want to make changes in the main `:duct.module/shadow-cljs` you should use this key in your development profile configuration.\n\n### Compiler\n\nThe compiler key inherits from `:duct/compiler` and it is used only when compiling your code for a release.\nIf you want to make changes in the main `:duct.module/shadow-cljs` you should use this key in your production profile configuration.\n\n### Example\n\nExample module configuration:\n\n```edn\n:duct.module/shadow-cljs\n{:builds\n {:app\n  {:target     :browser\n   :output-dir \"target/resources/my/app/web/public/js\"\n   :asset-path \"/js\"\n   :devtools   {:watch-dir      \"resources/my/app/web/public\"\n                :watch-options  {:verbose   true\n                                 :autobuild true}\n                :browser-inject :common}\n   :modules\n   {:base {:entries [cljs.core]}\n\n    :common {:entries    [my.app.utils]\n             :depends-on #{:base}}\n\n    :mod {:entries    [my.app.mod]\n          :depends-on #{:common}}\n\n    :mod-worker {:entries    [my.app.mod.worker]\n                 :depends-on #{:base}\n                 :web-worker true}\n\n    :pages {:entries    [my.app.pages]\n            :depends-on #{:common}}}}}}\n```\n\nOverride in development profile:\n\n```edn\n:duct.server/shadow-cljs\n{:logger           #ig/ref :duct/logger\n :compiler-options {:output-feature-set :es5}\n :builds\n {:app\n  {:closure-defines {goog.DEBUG true}\n   :devtools        {:preloads [devtools.preload]}}}}\n```\n\n## License\n\nCopyright © 2020 Gerasimos\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg7s%2Fmodule.shadow-cljs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg7s%2Fmodule.shadow-cljs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg7s%2Fmodule.shadow-cljs/lists"}