penpot/exporter/shadow-cljs.edn

40 lines
1.2 KiB
Clojure

{:deps {:aliases [:dev]}
;; ../frontend/src is on the path so the exporter can reuse the *portable*
;; render-wasm serialization leaves (app.render-wasm.{wasm,mem,helpers,
;; serializers,api.shapes,...}). shadow-cljs compiles only the required
;; dependency graph, so the browser-coupled namespaces (api, api.webgl,
;; api.fonts) are never pulled in — the workspace build is unaffected.
:source-paths ["src" "vendor" "../common" "../frontend/src"]
:builds
{:main
{:target :esm
:runtime :node
:output-dir "target/"
:devtools {:before-load-async app.core/stop
:after-load app.core/start}
:modules
{:app
{:entries []
:init-fn app.core/main}}
:js-options
{:entry-keys ["module" "browser" "main"]
:export-conditions ["module" "import", "browser" "require" "default"]
:js-provider :import}
:compiler-options
{:output-feature-set :es2020
:output-wrapper false}
:release
{:compiler-options
{:fn-invoke-direct true
:source-map true
:optimizations #shadow/env ["PENPOT_BUILD_OPTIMIZATIONS" :as :keyword :default :simple]
:pseudo-names true
:pretty-print true
:anon-fn-naming-policy :off
:source-map-detail-level :all}}}}}