mirror of
https://github.com/penpot/penpot.git
synced 2026-08-12 07:49:05 +00:00
* ✨ Add headless wasm render backend to the exporter * ♻️ Move render-wasm bridge to common and split wasm builds * 🔧 Upload builtin font variants in the wasm exporter * ♻️ Move shared font and resources utils out of render_wasm * ⚡ Fetch only the exported roots in the wasm exporter * ⚡ Bound save_layer rects in the vector export path
58 lines
1.5 KiB
Clojure
58 lines
1.5 KiB
Clojure
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
;;
|
|
;; Copyright (c) KALEIDOS INC Sucursal en España SL
|
|
|
|
(ns app.core
|
|
(:require
|
|
["node:process" :as proc]
|
|
[app.browser :as bwr]
|
|
[app.common.logging :as l]
|
|
[app.config :as cf]
|
|
[app.http :as http]
|
|
[app.redis :as redis]
|
|
[app.wasm :as wasm]
|
|
[promesa.core :as p]))
|
|
|
|
(enable-console-print!)
|
|
(l/setup! {:app :info})
|
|
|
|
(defn start
|
|
[& _]
|
|
(l/info :msg "initializing"
|
|
:public-uri (str (cf/get :public-uri))
|
|
:internal-uri (str (cf/get-internal-uri))
|
|
:version (:full cf/version))
|
|
(when (contains? cf/flags :wasm-export)
|
|
(l/warn :msg "headless wasm export enabled (experimental)"
|
|
:hint (str "renders run in-process on a single shared wasm module, "
|
|
"one at a time; not recommended for busy instances")
|
|
:wasm-dir wasm/artifact-dir
|
|
:image-cache-mb wasm/image-cache-mb))
|
|
(p/do!
|
|
(bwr/init)
|
|
(redis/init)
|
|
(http/init)))
|
|
|
|
(def main start)
|
|
|
|
(defn stop
|
|
[done]
|
|
;; an empty line for visual feedback of restart
|
|
(js/console.log "")
|
|
|
|
(l/info :msg "stopping")
|
|
(p/do!
|
|
(bwr/stop)
|
|
(redis/stop)
|
|
(http/stop)
|
|
(done)))
|
|
|
|
(.on proc/default "uncaughtException"
|
|
(fn [cause]
|
|
(js/console.error cause)))
|
|
|
|
(.on proc/default "SIGTERM" (fn [] (proc/exit 0)))
|
|
(.on proc/default "SIGINT" (fn [] (proc/exit 0)))
|