shadow-cljs.edn 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. ;; shadow-cljs configuration
  2. {:deps true
  3. :nrepl {:port 8701}
  4. :builds
  5. {:app
  6. {:target :browser
  7. :module-loader true
  8. :modules {:main {:init-fn frontend.core/init}
  9. :code-editor
  10. {:entries [frontend.extensions.code]
  11. :depends-on #{:main}}
  12. :age-encryption
  13. {:entries [frontend.extensions.age-encryption]
  14. :depends-on #{:main}}
  15. :excalidraw
  16. {:entries [frontend.extensions.excalidraw]
  17. :depends-on #{:main}}}
  18. :output-dir "./static/js"
  19. :asset-path "/static/js"
  20. :release {:asset-path "https://asset.logseq.com/static/js"}
  21. :compiler-options {:infer-externs :auto
  22. :output-feature-set :es-next
  23. ;; this cross-chunk-method-motion is needed
  24. ;; idue to ssue related with
  25. ;; https://github.com/thheller/shadow-cljs/issues/611
  26. :cross-chunk-method-motion false
  27. :source-map true
  28. :externs ["datascript/externs.js"
  29. "externs.js"]
  30. :warnings {:fn-deprecated false}}
  31. :closure-defines {goog.debug.LOGGING_ENABLED true
  32. frontend.config/GITHUB_APP_NAME #shadow/env "GITHUB_APP2_NAME"}
  33. :devtools
  34. ;; before live-reloading any code call this function
  35. {:before-load frontend.core/stop
  36. ;; after live-reloading finishes call this function
  37. :after-load frontend.core/start
  38. :http-root "public"
  39. :http-port 3001
  40. :watch-path "static"
  41. :preloads [devtools.preload
  42. shadow.remote.runtime.cljs.browser]}}
  43. :electron {:target :node-script
  44. :output-to "static/electron.js"
  45. :main electron.core/main
  46. :devtools
  47. {:before-load electron.core/stop
  48. :after-load electron.core/start}
  49. :compiler-options
  50. {:infer-externs :auto
  51. :source-map true
  52. :externs ["datascript/externs.js"
  53. "externs.js"]
  54. :warnings {:fn-deprecated false}}}
  55. :test
  56. {:target :node-test
  57. :output-to "static/tests.js"
  58. :closure-defines {frontend.util/NODETEST true}
  59. :devtools {:enabled false}}
  60. :publishing
  61. {:target :browser
  62. :module-loader true
  63. :modules {:main {:init-fn frontend.publishing/init}
  64. :code-editor
  65. {:entries [frontend.extensions.code]
  66. :depends-on #{:main}}
  67. :age-encryption
  68. {:entries [frontend.extensions.age-encryption]
  69. :depends-on #{:main}}
  70. :excalidraw
  71. {:entries [frontend.extensions.excalidraw]
  72. :depends-on #{:main}}}
  73. :output-dir "./static/js/publishing"
  74. :asset-path "/static/js"
  75. :closure-defines {frontend.config/PUBLISHING true
  76. goog.debug.LOGGING_ENABLED true}
  77. :compiler-options {:infer-externs :auto
  78. :output-feature-set :es-next
  79. :externs ["datascript/externs.js"
  80. "externs.js"]
  81. :warnings {:fn-deprecated false}}
  82. :devtools
  83. ;; before live-reloading any code call this function
  84. {:before-load frontend.core/stop
  85. ;; after live-reloading finishes call this function
  86. :after-load frontend.core/start
  87. :preloads [devtools.preload]}}}}