diff --git a/CHANGES.md b/CHANGES.md index 3c17cf5ccd..50913a1bb4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,9 @@ ## 2.14.0 (Unreleased) +### :boom: Breaking changes & Deprecations +- Deprecate `PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE` in favour of `PENPOT_HTTP_SERVER_MAX_BODY_SIZE`. + ### :sparkles: New features & Enhancements - Access to design tokens in Penpot Plugins [Taiga #8990](https://tree.taiga.io/project/penpot/us/8990) diff --git a/backend/deps.edn b/backend/deps.edn index 27d052c510..af73aecbc8 100644 --- a/backend/deps.edn +++ b/backend/deps.edn @@ -28,8 +28,8 @@ com.google.guava/guava {:mvn/version "33.4.8-jre"} funcool/yetti - {:git/tag "v11.8" - :git/sha "1d1b33f" + {:git/tag "v11.9" + :git/sha "5fad7a9" :git/url "https://github.com/funcool/yetti.git" :exclusions [org.slf4j/slf4j-api]} diff --git a/backend/src/app/config.clj b/backend/src/app/config.clj index 6b3f784170..d0a80f6515 100644 --- a/backend/src/app/config.clj +++ b/backend/src/app/config.clj @@ -98,7 +98,6 @@ [:http-server-port {:optional true} ::sm/int] [:http-server-host {:optional true} :string] [:http-server-max-body-size {:optional true} ::sm/int] - [:http-server-max-multipart-body-size {:optional true} ::sm/int] [:http-server-io-threads {:optional true} ::sm/int] [:http-server-max-worker-threads {:optional true} ::sm/int] diff --git a/backend/src/app/http.clj b/backend/src/app/http.clj index 0191589b05..1578138d05 100644 --- a/backend/src/app/http.clj +++ b/backend/src/app/http.clj @@ -42,8 +42,8 @@ (def default-params {::port 6060 ::host "0.0.0.0" - ::max-body-size 31457280 ; default 30 MiB - ::max-multipart-body-size 367001600}) ; default 350 MiB + ::max-body-size 367001600 ; default 350 MiB + }) (defmethod ig/expand-key ::server [k v] @@ -56,7 +56,6 @@ [::io-threads {:optional true} ::sm/int] [::max-worker-threads {:optional true} ::sm/int] [::max-body-size {:optional true} ::sm/int] - [::max-multipart-body-size {:optional true} ::sm/int] [::router {:optional true} [:fn r/router?]] [::handler {:optional true} ::sm/fn]]) @@ -79,7 +78,7 @@ {:http/port port :http/host host :http/max-body-size (::max-body-size cfg) - :http/max-multipart-body-size (::max-multipart-body-size cfg) + :http/max-multipart-body-size (::max-body-size cfg) :xnio/direct-buffers false :xnio/io-threads (::io-threads cfg) :xnio/max-worker-threads (::max-worker-threads cfg) diff --git a/backend/src/app/main.clj b/backend/src/app/main.clj index a5027bd190..693752080a 100644 --- a/backend/src/app/main.clj +++ b/backend/src/app/main.clj @@ -226,11 +226,10 @@ ::http/server {::http/port (cf/get :http-server-port) ::http/host (cf/get :http-server-host) - ::http/router (ig/ref ::http/router) ::http/io-threads (cf/get :http-server-io-threads) ::http/max-worker-threads (cf/get :http-server-max-worker-threads) ::http/max-body-size (cf/get :http-server-max-body-size) - ::http/max-multipart-body-size (cf/get :http-server-max-multipart-body-size) + ::http/router (ig/ref ::http/router) ::mtx/metrics (ig/ref ::mtx/metrics)} ::ldap/provider diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index 349690ec45..4a680e4e6b 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -50,6 +50,7 @@ services: - 4400:4400 - 4401:4401 - 4402:4402 + - 4403:4403 # Plugins - 4200:4200 diff --git a/docker/images/Dockerfile.backend b/docker/images/Dockerfile.backend index 9d5500ecc8..c3d08916a6 100644 --- a/docker/images/Dockerfile.backend +++ b/docker/images/Dockerfile.backend @@ -68,7 +68,7 @@ RUN set -eux; \ --no-header-files \ --no-man-pages \ --strip-debug \ - --add-modules java.base,jdk.management.agent,java.se,jdk.compiler,jdk.javadoc,jdk.attach,jdk.unsupported \ + --add-modules java.base,jdk.management.agent,java.se,jdk.compiler,jdk.javadoc,jdk.attach,jdk.unsupported,jdk.jfr,jdk.jcmd \ --output /opt/jre; FROM ubuntu:24.04 AS image diff --git a/docker/images/docker-compose.yaml b/docker/images/docker-compose.yaml index 8076064b94..5d3b84d09c 100644 --- a/docker/images/docker-compose.yaml +++ b/docker/images/docker-compose.yaml @@ -30,11 +30,9 @@ x-uri: &penpot-public-uri PENPOT_PUBLIC_URI: http://localhost:9001 x-body-size: &penpot-http-body-size - # Max body size (30MiB); Used for plain requests, should never be - # greater than multi-part size - PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 31457280 - - # Max multipart body size (350MiB) + # Max body size + PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600 + # Deprecation warning: this variable is deprecated. Use PENPOT_HTTP_SERVER_MAX_BODY (defaults to 367001600) PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600 ## Penpot SECRET KEY. It serves as a master key from which other keys for subsystems diff --git a/docker/images/files/nginx-entrypoint.sh b/docker/images/files/nginx-entrypoint.sh index 39546de336..4512d06495 100644 --- a/docker/images/files/nginx-entrypoint.sh +++ b/docker/images/files/nginx-entrypoint.sh @@ -30,8 +30,8 @@ update_flags /var/www/app/js/config.js export PENPOT_BACKEND_URI=${PENPOT_BACKEND_URI:-http://penpot-backend:6060} export PENPOT_EXPORTER_URI=${PENPOT_EXPORTER_URI:-http://penpot-exporter:6061} export PENPOT_NITRATE_URI=${PENPOT_NITRATE_URI:-http://penpot-nitrate:3000} -export PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE=${PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE:-367001600} # Default to 350MiB -envsubst "\$PENPOT_BACKEND_URI,\$PENPOT_EXPORTER_URI,\$PENPOT_NITRATE_URI,\$PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE" \ +export PENPOT_HTTP_SERVER_MAX_BODY_SIZE=${PENPOT_HTTP_SERVER_MAX_BODY_SIZE:-367001600} # Default to 350MiB +envsubst "\$PENPOT_BACKEND_URI,\$PENPOT_EXPORTER_URI,\$PENPOT_NITRATE_URI,\$PENPOT_HTTP_SERVER_MAX_BODY_SIZE" \ < /tmp/nginx.conf.template > /etc/nginx/nginx.conf PENPOT_DEFAULT_INTERNAL_RESOLVER="$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf)" diff --git a/docker/images/files/nginx.conf.template b/docker/images/files/nginx.conf.template index a623408dcd..d0b7bc3b1f 100644 --- a/docker/images/files/nginx.conf.template +++ b/docker/images/files/nginx.conf.template @@ -76,7 +76,7 @@ http { listen [::]:8080 default_server; server_name _; - client_max_body_size $PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE; + client_max_body_size $PENPOT_HTTP_SERVER_MAX_BODY_SIZE; charset utf-8; etag off; diff --git a/docs/technical-guide/getting-started/docker.md b/docs/technical-guide/getting-started/docker.md index 2e82d8d629..53560235d3 100644 --- a/docs/technical-guide/getting-started/docker.md +++ b/docs/technical-guide/getting-started/docker.md @@ -188,8 +188,8 @@ server { server_name penpot.mycompany.com; # This value should be in sync with the corresponding in the docker-compose.yml - # PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 31457280 - client_max_body_size 31457280; + # PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600 + client_max_body_size 367001600; # Logs: Configure your logs following the best practices inside your company access_log /path/to/penpot.access.log; diff --git a/frontend/package.json b/frontend/package.json index 3c6ed1439c..31340bb1eb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -43,12 +43,13 @@ "clear:wasm": "cargo clean --manifest-path ../render-wasm/Cargo.toml", "watch": "exit 0", "watch:app": "pnpm run clear:shadow-cache && pnpm run clear:wasm && pnpm run build:wasm && concurrently --kill-others-on-fail \"pnpm run watch:app:assets\" \"pnpm run watch:app:main\" \"pnpm run watch:app:libs\"", - "watch:storybook": "pnpm run build:storybook:assets && concurrently --kill-others-on-fail \"storybook dev -p 6006 --no-open\" \"node ./scripts/watch-storybook.js\"" + "watch:storybook": "pnpm run build:storybook:assets && concurrently --kill-others-on-fail \"storybook dev -p 6006 --no-open\" \"node ./scripts/watch-storybook.js\"", + "postinstall": "(cd ../plugins/libs/plugins-runtime; pnpm install; pnpm run build)" }, "devDependencies": { "@penpot/draft-js": "workspace:./packages/draft-js", "@penpot/mousetrap": "workspace:./packages/mousetrap", - "@penpot/plugins-runtime": "1.4.2", + "@penpot/plugins-runtime": "link:../plugins/dist/plugins-runtime", "@penpot/svgo": "penpot/svgo#v3.2", "@penpot/text-editor": "workspace:./text-editor", "@penpot/tokenscript": "workspace:./packages/tokenscript", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index bc6ce6def5..8fd6a85405 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -20,8 +20,8 @@ importers: specifier: workspace:./packages/mousetrap version: link:packages/mousetrap '@penpot/plugins-runtime': - specifier: 1.4.2 - version: 1.4.2 + specifier: link:../plugins/dist/plugins-runtime + version: link:../plugins/dist/plugins-runtime '@penpot/svgo': specifier: penpot/svgo#v3.2 version: svgo@https://codeload.github.com/penpot/svgo/tar.gz/8c9b0e32e9cb5f106085260bd9375f3c91a5010b @@ -581,15 +581,6 @@ packages: '@dabh/diagnostics@2.0.8': resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} - '@endo/cache-map@1.1.0': - resolution: {integrity: sha512-owFGshs/97PDw9oguZqU/px8Lv1d0KjAUtDUiPwKHNXRVUE/jyettEbRoTbNJR1OaI8biMn6bHr9kVJsOh6dXw==} - - '@endo/env-options@1.1.11': - resolution: {integrity: sha512-p9OnAPsdqoX4YJsE98e3NBVhIr2iW9gNZxHhAI2/Ul5TdRfoOViItzHzTqrgUVopw6XxA1u1uS6CykLMDUxarA==} - - '@endo/immutable-arraybuffer@1.1.2': - resolution: {integrity: sha512-u+NaYB2aqEugQ3u7w3c5QNkPogf8q/xGgsPaqdY6pUiGWtYiTiFspKFcha6+oeZhWXWQ23rf0KrUq0kfuzqYyQ==} - '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -1258,12 +1249,6 @@ packages: resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} - '@penpot/plugin-types@1.4.2': - resolution: {integrity: sha512-O8wU6RSYE8bIVU7g8cSTYi32ppxs3R13dq7X3Nn9tmDaJjBOKOBpVLuoRPIp3fJC65fv8/7om0sdrtFoL5v19g==} - - '@penpot/plugins-runtime@1.4.2': - resolution: {integrity: sha512-y9TDZOnb96JBW9E33dHKpmTMeAPXLtHDIZruUVjtM8hBJWZK7RCv+vAGDGxeoZJC/OB2YAHrCZG+mukePBzcuQ==} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -4636,9 +4621,6 @@ packages: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} - ses@1.14.0: - resolution: {integrity: sha512-T07hNgOfVRTLZGwSS50RnhqrG3foWP+rM+Q5Du4KUQyMLFI3A8YA4RKl0jjZzhihC1ZvDGrWi/JMn4vqbgr/Jg==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -5499,9 +5481,6 @@ packages: peerDependencies: zod: ^3.25.0 || ^4.0.0 - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} @@ -5775,12 +5754,6 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@endo/cache-map@1.1.0': {} - - '@endo/env-options@1.1.11': {} - - '@endo/immutable-arraybuffer@1.1.2': {} - '@esbuild/aix-ppc64@0.21.5': optional: true @@ -6297,14 +6270,6 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.6 optional: true - '@penpot/plugin-types@1.4.2': {} - - '@penpot/plugins-runtime@1.4.2': - dependencies: - '@penpot/plugin-types': 1.4.2 - ses: 1.14.0 - zod: 3.25.76 - '@pkgjs/parseargs@0.11.0': optional: true @@ -10000,12 +9965,6 @@ snapshots: transitivePeerDependencies: - supports-color - ses@1.14.0: - dependencies: - '@endo/cache-map': 1.1.0 - '@endo/env-options': 1.1.11 - '@endo/immutable-arraybuffer': 1.1.2 - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -10974,6 +10933,4 @@ snapshots: dependencies: zod: 4.3.6 - zod@3.25.76: {} - zod@4.3.6: {} diff --git a/frontend/resources/templates/index.mustache b/frontend/resources/templates/index.mustache index 129d9c57a1..f80b7e7759 100644 --- a/frontend/resources/templates/index.mustache +++ b/frontend/resources/templates/index.mustache @@ -18,7 +18,7 @@ - + {{#isDebug}} {{/isDebug}} diff --git a/frontend/scripts/watch b/frontend/scripts/watch index 3af4e45684..78de971cba 100755 --- a/frontend/scripts/watch +++ b/frontend/scripts/watch @@ -4,4 +4,9 @@ TARGET=${1:-app}; set -ex -exec pnpm run watch:$TARGET +rm -rf node_modules; + +corepack enable; +corepack install; +pnpm install; +pnpm run watch:$TARGET diff --git a/frontend/src/app/main/data/tokenscript.cljs b/frontend/src/app/main/data/tokenscript.cljs index cfd8003430..83a09d35e8 100644 --- a/frontend/src/app/main/data/tokenscript.cljs +++ b/frontend/src/app/main/data/tokenscript.cljs @@ -79,7 +79,7 @@ Structured tokens are non-primitive token types like `typography` or `box-shadow`." [^js token-symbol] (if (instance? js/Array (.-value token-symbol)) - (mapv structured-token->penpot-map (.-value token-symbol)) + (mapv tokenscript-symbols->penpot-unit (.-value token-symbol)) (let [entries (es6-iterator-seq (.entries (.-value token-symbol)))] (into {} (map (fn [[k v :as V]] [(keyword k) (tokenscript-symbols->penpot-unit v)]) @@ -88,7 +88,7 @@ (defn tokenscript-symbols->penpot-unit [^js v] (cond (structured-token? v) (structured-token->penpot-map v) - (list-symbol? v) (tokenscript-symbols->penpot-unit (.nth 1 v)) + (list-symbol? v) (structured-token->penpot-map v) (color-symbol? v) (.-value (.to v "hex")) (rem-number-with-unit? v) (rem->px v) :else (.-value v))) diff --git a/frontend/src/app/main/ui/workspace/viewport/outline.cljs b/frontend/src/app/main/ui/workspace/viewport/outline.cljs index a5ba8aba4f..853addb761 100644 --- a/frontend/src/app/main/ui/workspace/viewport/outline.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/outline.cljs @@ -111,11 +111,6 @@ :modifier modifier :zoom zoom}])))) -(defn- show-outline? - [shape] - (and (not (:hidden shape)) - (not (:blocked shape)))) - (mf/defc shape-outlines {::mf/wrap-props false} [props] @@ -133,8 +128,7 @@ shapes (-> #{} (into (comp (remove edition?) - (keep lookup) - (filter show-outline?)) + (keep lookup)) (set/union selected hover)) (into (comp (remove edition?) (keep lookup)) diff --git a/frontend/src/app/plugins/api.cljs b/frontend/src/app/plugins/api.cljs index 00a59b0011..14effac100 100644 --- a/frontend/src/app/plugins/api.cljs +++ b/frontend/src/app/plugins/api.cljs @@ -27,6 +27,7 @@ [app.main.data.workspace.media :as dwm] [app.main.data.workspace.selection :as dws] [app.main.data.workspace.wasm-text :as dwwt] + [app.main.features :as features] [app.main.fonts :refer [fetch-font-css]] [app.main.router :as rt] [app.main.store :as st] @@ -365,8 +366,10 @@ (cb/add-object shape))] (st/emit! (ch/commit-changes changes) - (se/event plugin-id "create-shape" :type :text) - (dwwt/resize-wasm-text-debounce (:id shape))) + (se/event plugin-id "create-shape" :type :text)) + + (when (features/active-feature? @st/state "render-wasm/v1") + (st/emit! (dwwt/resize-wasm-text-debounce (:id shape)))) (shape/shape-proxy plugin-id (:id shape))))) diff --git a/frontend/src/app/plugins/register.cljs b/frontend/src/app/plugins/register.cljs index d9bb7763ac..ebdee92254 100644 --- a/frontend/src/app/plugins/register.cljs +++ b/frontend/src/app/plugins/register.cljs @@ -58,7 +58,7 @@ origin (if (= vers 1) (-> plugin-url - (assoc :path "/") + (assoc :path "") (str)) (-> plugin-url (u/join ".") diff --git a/frontend/src/app/plugins/shape.cljs b/frontend/src/app/plugins/shape.cljs index 014736e4d8..c409df8b16 100644 --- a/frontend/src/app/plugins/shape.cljs +++ b/frontend/src/app/plugins/shape.cljs @@ -1305,7 +1305,8 @@ tokens)))} :applyToken - {:schema [:tuple + {:enumerable false + :schema [:tuple [:fn token-proxy?] [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]] :fn (fn [token attrs] diff --git a/frontend/src/app/plugins/tokens.cljs b/frontend/src/app/plugins/tokens.cljs index c11f8dc373..dd4c18c592 100644 --- a/frontend/src/app/plugins/tokens.cljs +++ b/frontend/src/app/plugins/tokens.cljs @@ -144,14 +144,16 @@ (st/emit! (dwtl/delete-token set-id id))) :applyToShapes - {:schema [:tuple + {:enumerable false + :schema [:tuple [:vector [:fn shape-proxy?]] [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]] :fn (fn [shapes attrs] (apply-token-to-shapes file-id set-id id (map #(obj/get % "$id") shapes) attrs))} :applyToSelected - {:schema [:tuple [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]] + {:enumerable false + :schema [:tuple [:maybe [:set [:and ::sm/keyword [:fn cto/token-attr?]]]]] :fn (fn [attrs] (let [selected (get-in @st/state [:workspace-local :selected])] (apply-token-to-shapes file-id set-id id selected attrs)))})) @@ -236,14 +238,16 @@ (apply array))))} :getTokenById - {:schema [:tuple ::sm/uuid] + {:enumerable false + :schema [:tuple ::sm/uuid] :fn (fn [token-id] (let [token (u/locate-token file-id id token-id)] (when (some? token) (token-proxy plugin-id file-id id token-id))))} :addToken - {:schema (fn [args] + {:enumerable false + :schema (fn [args] [:tuple (-> (cfo/make-token-schema (-> (u/locate-tokens-lib file-id) (ctob/get-tokens id)) (cto/dtcg-token-type->token-type (-> args (first) (get "type")))) @@ -353,13 +357,15 @@ {:this true :get (fn [_])} :addSet - {:schema [:tuple [:fn token-set-proxy?]] + {:enumerable false + :schema [:tuple [:fn token-set-proxy?]] :fn (fn [token-set] (let [theme (u/locate-token-theme file-id id)] (st/emit! (dwtl/update-token-theme id (ctob/enable-set theme (obj/get token-set :name))))))} :removeSet - {:schema [:tuple [:fn token-set-proxy?]] + {:enumerable false + :schema [:tuple [:fn token-set-proxy?]] :fn (fn [token-set] (let [theme (u/locate-token-theme file-id id)] (st/emit! (dwtl/update-token-theme id (ctob/disable-set theme (obj/get token-set :name))))))} @@ -406,7 +412,8 @@ (apply array (map #(token-set-proxy plugin-id file-id (ctob/get-id %)) sets))))} :addTheme - {:schema (fn [attrs] + {:enumerable false + :schema (fn [attrs] [:tuple (-> (sm/schema (cfo/make-token-theme-schema (u/locate-tokens-lib file-id) (or (obj/get attrs "group") "") @@ -419,7 +426,8 @@ (token-theme-proxy plugin-id file-id (:id theme))))} :addSet - {:schema [:tuple (-> (sm/schema (cfo/make-token-set-schema + {:enumerable false + :schema [:tuple (-> (sm/schema (cfo/make-token-set-schema (u/locate-tokens-lib file-id) nil)) (sm/dissoc-key :id))] ;; We don't allow plugins to set the id @@ -431,14 +439,16 @@ (token-set-proxy plugin-id file-id (ctob/get-id set))))} :getThemeById - {:schema [:tuple ::sm/uuid] + {:enumerable false + :schema [:tuple ::sm/uuid] :fn (fn [theme-id] (let [theme (u/locate-token-theme file-id theme-id)] (when (some? theme) (token-theme-proxy plugin-id file-id theme-id))))} :getSetById - {:schema [:tuple ::sm/uuid] + {:enumerable false + :schema [:tuple ::sm/uuid] :fn (fn [set-id] (let [set (u/locate-token-set file-id set-id)] (when (some? set) diff --git a/plugins/libs/plugins-runtime/package.json b/plugins/libs/plugins-runtime/package.json index 7093da8d2e..3e886c7387 100644 --- a/plugins/libs/plugins-runtime/package.json +++ b/plugins/libs/plugins-runtime/package.json @@ -6,8 +6,8 @@ "ses": "^1.1.0", "zod": "^3.22.4" }, - "module": "./index.mjs", - "typings": "./index.d.ts", + "module": "./dist/index.js", + "typings": "./dist/index.d.ts", "type": "module", "scripts": { "build": "vite build",