{:deps {:aliases [:dev]} :http {:port 3448} :nrepl {:port 3447 :host "0.0.0.0"} :dev-http {8888 "classpath:public"} :builds {:main {:target :browser :output-dir "resources/public/js/" :asset-path "/js" :devtools {:watch-dir "resources/public" :reload-strategy :full} :build-options {:manifest-name "manifest.json"} :module-loader true :modules {:shared {:entries []} :main {:entries [app.main app.plugins.api] :depends-on #{:shared} :init-fn app.main/init} :util-highlight {:entries [app.util.code-highlight] :depends-on #{:main}} :main-auth {:entries [app.main.ui.auth app.main.ui.auth.verify-token] :depends-on #{:main}} :main-viewer {:entries [app.main.ui.viewer] :depends-on #{:main :main-auth}} :main-workspace {:entries [app.main.ui.workspace] :depends-on #{:main}} :main-dashboard {:entries [app.main.ui.dashboard] :depends-on #{:main}} :main-settings {:entries [app.main.ui.settings] :depends-on #{:main}} :render {:entries [app.render] :depends-on #{:shared} :init-fn app.render/init} :rasterizer {:entries [app.rasterizer] :depends-on #{:shared} :init-fn app.rasterizer/init}} :js-options {:entry-keys ["module" "browser" "main"] :export-conditions ["module" "import", "browser" "require" "default"] :js-provider :external :external-index "target/index.js" :external-index-format :esm} :compiler-options {:output-feature-set :es2020 :output-wrapper false :warnings {:fn-deprecated false}} :release {:closure-defines {goog.DEBUG false goog.debug.LOGGING_ENABLED true} :compiler-options {:fn-invoke-direct true :optimizations #shadow/env ["PENPOT_BUILD_OPTIMIZATIONS" :as :keyword :default :advanced] :output-wrapper true :rename-prefix-namespace "PENPOT" :source-map true :pretty-print true :elide-asserts true :anon-fn-naming-policy :off :source-map-detail-level :all}}} :worker {:target :browser :output-dir "resources/public/js/worker/" :asset-path "/js/worker" :devtools {:browser-inject :main :watch-dir "resources/public" :reload-strategy :full} :build-options {:manifest-name "manifest.json"} :modules {:main {:entries [app.worker] :web-worker true :depends-on #{}}} :js-options {:entry-keys ["module" "browser" "main"] :export-conditions ["module" "import", "browser" "require" "default"]} :compiler-options {:output-feature-set :es2020 :output-wrapper false :warnings {:fn-deprecated false}} :release {:compiler-options {:fn-invoke-direct true :optimizations #shadow/env ["PENPOT_BUILD_OPTIMIZATIONS" :as :keyword :default :advanced] :output-wrapper true :rename-prefix-namespace "PENPOT" :source-map true :elide-asserts true :anon-fn-naming-policy :off :source-map-detail-level :all}}} ;; FIXME: maybe rename to :components ? (there are nothing storybook ;; related, is just an ESM export of components that will be used ;; initially on storybook but not limited to storybook) :storybook {:target :esm :output-dir "target/storybook/" :js-options {:js-provider :import} :modules {:base {:entries []} :components {:exports {default app.main.ui.ds/default} :depends-on #{:base}}} :compiler-options {:output-feature-set :es2020 :output-wrapper false :warnings {:fn-deprecated false}}} :test {:target :esm :output-dir "target/tests" :runtime :custom :js-options {:js-provider :import} :modules {:test {:init-fn frontend-tests.runner/init :prepend-js "globalThis.navigator = {userAgent: \"\"}"}}} :lib-penpot {:target :esm :output-dir "resources/public/libs" :modules {:penpot {:exports {:renderPage app.libs.render/render-page-export :createFile app.libs.file-builder/create-file-export}}} :compiler-options {:output-feature-set :es2020 :output-wrapper false :warnings {:fn-deprecated false}} :release {:compiler-options {:fn-invoke-direct true :source-map true :elide-asserts true :anon-fn-naming-policy :off :source-map-detail-level :all}}} :bench {:target :node-script :output-to "target/bench.js" :output-dir "target/bench/" :main bench/main :compiler-options {:output-feature-set :es2020 :output-wrapper false :warnings {:fn-deprecated false}} :release {:compiler-options {:fn-invoke-direct true :elide-asserts true :anon-fn-naming-policy :off}}}}}