diff --git a/.circleci/config.yml b/.circleci/config.yml index c52f8ec408..a14448bc44 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -136,6 +136,38 @@ jobs: - ~/.cache/ms-playwright key: v1-dependencies-{{ checksum "frontend/deps.edn"}}-{{ checksum "frontend/yarn.lock" }} + test-library: + docker: + - image: penpotapp/devenv:latest + + working_directory: ~/repo + resource_class: medium+ + + environment: + JAVA_OPTS: -Xmx6g + NODE_OPTIONS: --max-old-space-size=4096 + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "frontend/deps.edn"}}-{{ checksum "frontend/yarn.lock" }} + + - run: + name: Install dependencies and build + working_directory: "./library" + command: | + yarn install + + - run: + name: Build and Test + working_directory: "./library" + command: | + ./scripts/build + yarn run test + test-components: docker: - image: penpotapp/devenv:latest @@ -284,6 +316,11 @@ workflows: requires: - lint: success + - test-library: + requires: + - test-frontend: success + - lint: success + - test-components: requires: - test-frontend: success diff --git a/backend/deps.edn b/backend/deps.edn index 0026f259a8..187358f09e 100644 --- a/backend/deps.edn +++ b/backend/deps.edn @@ -3,7 +3,7 @@ :deps {penpot/common {:local/root "../common"} - org.clojure/clojure {:mvn/version "1.12.0"} + org.clojure/clojure {:mvn/version "1.12.1"} org.clojure/tools.namespace {:mvn/version "1.5.0"} com.github.luben/zstd-jni {:mvn/version "1.5.7-3"} @@ -17,7 +17,13 @@ io.prometheus/simpleclient_httpserver {:mvn/version "0.16.0"} - io.lettuce/lettuce-core {:mvn/version "6.6.0.RELEASE"} + io.lettuce/lettuce-core {:mvn/version "6.7.0.RELEASE"} + ;; Minimal dependencies required by lettuce, we need to include them + ;; explicitly because clojure dependency management does not support + ;; yet the BOM format. + io.micrometer/micrometer-core {:mvn/version "1.14.2"} + io.micrometer/micrometer-observation {:mvn/version "1.14.2"} + java-http-clj/java-http-clj {:mvn/version "0.4.3"} com.google.guava/guava {:mvn/version "33.4.8-jre"} @@ -29,11 +35,11 @@ com.github.seancorfield/next.jdbc {:mvn/version "1.3.1002"} - metosin/reitit-core {:mvn/version "0.8.0"} + metosin/reitit-core {:mvn/version "0.9.1"} nrepl/nrepl {:mvn/version "1.3.1"} - cider/cider-nrepl {:mvn/version "0.55.7"} + cider/cider-nrepl {:mvn/version "0.56.0"} - org.postgresql/postgresql {:mvn/version "42.7.5"} + org.postgresql/postgresql {:mvn/version "42.7.6"} org.xerial/sqlite-jdbc {:mvn/version "3.49.1.0"} com.zaxxer/HikariCP {:mvn/version "6.3.0"} @@ -60,7 +66,7 @@ ;; Pretty Print specs pretty-spec/pretty-spec {:mvn/version "0.1.4"} - software.amazon.awssdk/s3 {:mvn/version "2.31.48"}} + software.amazon.awssdk/s3 {:mvn/version "2.31.55"}} :paths ["src" "resources" "target/classes"] :aliases diff --git a/common/deps.edn b/common/deps.edn index 502d74e84f..bffd94a026 100644 --- a/common/deps.edn +++ b/common/deps.edn @@ -1,5 +1,5 @@ {:deps - {org.clojure/clojure {:mvn/version "1.12.0"} + {org.clojure/clojure {:mvn/version "1.12.1"} org.clojure/data.json {:mvn/version "2.5.1"} org.clojure/tools.cli {:mvn/version "1.1.230"} org.clojure/test.check {:mvn/version "1.1.1"} diff --git a/common/package.json b/common/package.json index 7288d586f5..7884751faa 100644 --- a/common/package.json +++ b/common/package.json @@ -11,14 +11,14 @@ "url": "https://github.com/penpot/penpot" }, "dependencies": { - "luxon": "^3.4.4" + "luxon": "^3.6.1" }, "devDependencies": { - "concurrently": "^9.0.1", - "nodemon": "^3.1.7", + "concurrently": "^9.1.2", + "nodemon": "^3.1.10", "shadow-cljs": "3.1.5", "source-map-support": "^0.5.21", - "ws": "^8.17.0" + "ws": "^8.18.2" }, "scripts": { "fmt:clj:check": "cljfmt check --parallel=false src/ test/", diff --git a/common/src/app/common/files/builder.cljc b/common/src/app/common/files/builder.cljc index d23a25c860..aa8601bba3 100644 --- a/common/src/app/common/files/builder.cljc +++ b/common/src/app/common/files/builder.cljc @@ -21,7 +21,6 @@ [app.common.time :as dt] [app.common.types.color :as types.color] [app.common.types.component :as types.comp] - [app.common.types.container :as types.cont] [app.common.types.file :as types.file] [app.common.types.page :as types.page] [app.common.types.path :as types.path] @@ -118,7 +117,7 @@ (sm/decode-fn types.shape/schema:shape-attrs sm/json-transformer)) (def decode-library-color - (sm/decode-fn types.color/schema:color sm/json-transformer)) + (sm/decode-fn types.color/schema:library-color sm/json-transformer)) (def decode-library-typography (sm/decode-fn types.typography/schema:typography sm/json-transformer)) @@ -341,8 +340,7 @@ (comp (map (d/getf objects)) (remove cph/frame-shape?) - (remove types.comp/is-variant?) - (remove (partial types.cont/has-any-copy-parent? objects))) + (remove types.comp/is-variant?)) children (->> (get bool-shape :shapes) diff --git a/common/yarn.lock b/common/yarn.lock index 3732d1a0c6..008c523175 100644 --- a/common/yarn.lock +++ b/common/yarn.lock @@ -19,25 +19,34 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.1" lru-cache: "npm:^10.0.1" socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.1 - resolution: "@npmcli/fs@npm:3.1.1" +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 languageName: node linkType: hard @@ -48,29 +57,17 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 languageName: node linkType: hard @@ -82,9 +79,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc languageName: node linkType: hard @@ -180,11 +177,11 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.3 - resolution: "cacache@npm:18.0.3" +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" dependencies: - "@npmcli/fs": "npm:^3.1.0" + "@npmcli/fs": "npm:^4.0.0" fs-minipass: "npm:^3.0.0" glob: "npm:^10.2.2" lru-cache: "npm:^10.0.1" @@ -192,11 +189,11 @@ __metadata: minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c languageName: node linkType: hard @@ -229,17 +226,10 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard @@ -274,12 +264,12 @@ __metadata: version: 0.0.0-use.local resolution: "common@workspace:." dependencies: - concurrently: "npm:^9.0.1" - luxon: "npm:^3.4.4" - nodemon: "npm:^3.1.7" + concurrently: "npm:^9.1.2" + luxon: "npm:^3.6.1" + nodemon: "npm:^3.1.10" shadow-cljs: "npm:3.1.5" source-map-support: "npm:^0.5.21" - ws: "npm:^8.17.0" + ws: "npm:^8.18.2" languageName: unknown linkType: soft @@ -290,9 +280,9 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^9.0.1": - version: 9.1.0 - resolution: "concurrently@npm:9.1.0" +"concurrently@npm:^9.1.2": + version: 9.1.2 + resolution: "concurrently@npm:9.1.2" dependencies: chalk: "npm:^4.1.2" lodash: "npm:^4.17.21" @@ -304,42 +294,30 @@ __metadata: bin: conc: dist/bin/concurrently.js concurrently: dist/bin/concurrently.js - checksum: 10c0/f2f42f94dde508bfbaf47b5ac654db9e8a4bf07d3d7b6267dd058ae6f362eec677ae7c8ede398d081e5fd0d1de5811dc9a53e57d3f1f68e72ac6459db9e0896b + checksum: 10c0/88e00269366aa885ca2b97fd53b04e7af2b0f31774d991bfc0e88c0de61cdebdf115ddacc9c897fbd1f1b90369014637fa77045a171d072a75693332b36dcc70 languageName: node linkType: hard -"cross-spawn@npm:^7.0.0": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"debug@npm:^4": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"debug@npm:4, debug@npm:^4, debug@npm:^4.3.4": + version: 4.4.1 + resolution: "debug@npm:4.4.1" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 languageName: node linkType: hard @@ -395,9 +373,21 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.5 + resolution: "fdir@npm:6.4.5" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/5d63330a1b97165e9b0fb20369fafc7cf826bc4b3e374efcb650bc77d7145ac01193b5da1a7591eab89ae6fd6b15cdd414085910b2a2b42296b1480c9f2677af languageName: node linkType: hard @@ -411,21 +401,12 @@ __metadata: linkType: hard "foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" dependencies: - cross-spawn: "npm:^7.0.0" + cross-spawn: "npm:^7.0.6" signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 languageName: node linkType: hard @@ -473,18 +454,19 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.3.16 - resolution: "glob@npm:10.3.16" +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" dependencies: foreground-child: "npm:^3.1.0" jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.11.0" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" bin: glob: dist/esm/bin.mjs - checksum: 10c0/f7eb4c3e66f221f0be3967c02527047167967549bdf8ed1bd5f6277d43a35191af4e2bb8c89f07a79664958bae088fd06659e69a0f1de462972f1eab52a715e8 + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e languageName: node linkType: hard @@ -510,9 +492,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 languageName: node linkType: hard @@ -527,12 +509,12 @@ __metadata: linkType: hard "https-proxy-agent@npm:^7.0.1": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:4" - checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac languageName: node linkType: hard @@ -566,13 +548,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -615,13 +590,6 @@ __metadata: languageName: node linkType: hard -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -644,15 +612,15 @@ __metadata: linkType: hard "jackspeak@npm:^3.1.2": - version: 3.1.2 - resolution: "jackspeak@npm:3.1.2" + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: "@isaacs/cliui": "npm:^8.0.2" "@pkgjs/parseargs": "npm:^0.11.0" dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 10c0/5f1922a1ca0f19869e23f0dc4374c60d36e922f7926c76fecf8080cc6f7f798d6a9caac1b9428327d14c67731fd551bb3454cb270a5e13a0718f3b3660ec3d5d + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 languageName: node linkType: hard @@ -671,36 +639,35 @@ __metadata: linkType: hard "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.2 - resolution: "lru-cache@npm:10.2.2" - checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb languageName: node linkType: hard -"luxon@npm:^3.4.4": - version: 3.4.4 - resolution: "luxon@npm:3.4.4" - checksum: 10c0/02e26a0b039c11fd5b75e1d734c8f0332c95510f6a514a9a0991023e43fb233884da02d7f966823ffb230632a733fc86d4a4b1e63c3fbe00058b8ee0f8c728af +"luxon@npm:^3.6.1": + version: 3.6.1 + resolution: "luxon@npm:3.6.1" + checksum: 10c0/906d57a9dc4d1de9383f2e9223e378c298607c1b4d17b6657b836a3cd120feb1c1de3b5d06d846a3417e1ca764de8476e8c23b3cd4083b5cdb870adcb06a99d5 languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.1 - resolution: "make-fetch-happen@npm:13.0.1" +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" + minipass-fetch: "npm:^4.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - proc-log: "npm:^4.2.0" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 languageName: node linkType: hard @@ -713,12 +680,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1": - version: 9.0.4 - resolution: "minimatch@npm:9.0.4" +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" dependencies: brace-expansion: "npm:^2.0.1" - checksum: 10c0/2c16f21f50e64922864e560ff97c587d15fd491f65d92a677a344e970fe62aafdbeafe648965fa96d33c061b4d0eabfe0213466203dd793367e7f28658cf6414 + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed languageName: node linkType: hard @@ -731,18 +698,18 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.5 - resolution: "minipass-fetch@npm:3.0.5" +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" + minizlib: "npm:^3.0.1" dependenciesMeta: encoding: optional: true - checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c languageName: node linkType: hard @@ -782,43 +749,28 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": - version: 7.1.1 - resolution: "minipass@npm:7.1.1" - checksum: 10c0/fdccc2f99c31083f45f881fd1e6971d798e333e078ab3c8988fb818c470fbd5e935388ad9adb286397eba50baebf46ef8ff487c8d3f455a69c6f3efc327bdff9 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 languageName: node linkType: hard -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d languageName: node linkType: hard @@ -829,36 +781,36 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b languageName: node linkType: hard "node-gyp@npm:latest": - version: 10.1.0 - resolution: "node-gyp@npm:10.1.0" + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 languageName: node linkType: hard -"nodemon@npm:^3.1.7": - version: 3.1.7 - resolution: "nodemon@npm:3.1.7" +"nodemon@npm:^3.1.10": + version: 3.1.10 + resolution: "nodemon@npm:3.1.10" dependencies: chokidar: "npm:^3.5.2" debug: "npm:^4" @@ -872,18 +824,18 @@ __metadata: undefsafe: "npm:^2.0.5" bin: nodemon: bin/nodemon.js - checksum: 10c0/e0b46939abdbce251b1d6281005a5763cee57db295bb00bc4a753b0f5320dac00fe53547fb6764c70a086cf6d1238875cccb800fbc71544b3ecbd3ef71183c87 + checksum: 10c0/95b64d647f2c22e85e375b250517b0a4b32c2d2392ad898444e331f70d6b1ab43b17f53a8a1d68d5879ab8401fc6cd6e26f0d2a8736240984f6b5a8435b407c0 languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.1 - resolution: "nopt@npm:7.2.1" +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" dependencies: - abbrev: "npm:^2.0.0" + abbrev: "npm:^3.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef languageName: node linkType: hard @@ -894,12 +846,17 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -910,7 +867,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.0": +"path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -927,17 +884,17 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc languageName: node linkType: hard -"proc-log@npm:^4.2.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 languageName: node linkType: hard @@ -996,11 +953,11 @@ __metadata: linkType: hard "rxjs@npm:^7.8.1": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" dependencies: tslib: "npm:^2.1.0" - checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 languageName: node linkType: hard @@ -1011,21 +968,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5": - version: 7.6.2 - resolution: "semver@npm:7.6.2" +"semver@npm:^7.3.5, semver@npm:^7.5.3": + version: 7.7.2 + resolution: "semver@npm:7.7.2" bin: semver: bin/semver.js - checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c - languageName: node - linkType: hard - -"semver@npm:^7.5.3": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea languageName: node linkType: hard @@ -1070,9 +1018,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.8.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 10c0/bee87c34e1e986cfb4c30846b8e6327d18874f10b535699866f368ade11ea4ee45433d97bf5eada22c4320c27df79c3a6a7eb1bf3ecfc47f2c997d9e5e2672fd languageName: node linkType: hard @@ -1100,23 +1048,23 @@ __metadata: linkType: hard "socks-proxy-agent@npm:^8.0.3": - version: 8.0.3 - resolution: "socks-proxy-agent@npm:8.0.3" + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: "npm:^7.1.1" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 languageName: node linkType: hard -"socks@npm:^2.7.1": - version: 2.8.3 - resolution: "socks@npm:2.8.3" +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" dependencies: ip-address: "npm:^9.0.5" smart-buffer: "npm:^4.2.0" - checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 languageName: node linkType: hard @@ -1144,12 +1092,12 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0": - version: 10.0.6 - resolution: "ssri@npm:10.0.6" +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d languageName: node linkType: hard @@ -1220,17 +1168,27 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.1 - resolution: "tar@npm:6.2.1" +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.14 + resolution: "tinyglobby@npm:0.2.14" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 languageName: node linkType: hard @@ -1275,21 +1233,21 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 languageName: node linkType: hard @@ -1304,17 +1262,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - "which@npm:^5.0.0": version: 5.0.0 resolution: "which@npm:5.0.0" @@ -1348,22 +1295,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.17.0": - version: 8.17.0 - resolution: "ws@npm:8.17.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/55241ec93a66fdfc4bf4f8bc66c8eb038fda2c7a4ee8f6f157f2ca7dc7aa76aea0c0da0bf3adb2af390074a70a0e45456a2eaf80e581e630b75df10a64b0a990 - languageName: node - linkType: hard - -"ws@npm:^8.18.1": +"ws@npm:^8.18.1, ws@npm:^8.18.2": version: 8.18.2 resolution: "ws@npm:8.18.2" peerDependencies: @@ -1392,6 +1324,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index 796618e9c2..6de50d6684 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -9,7 +9,7 @@ volumes: postgres_data_pg16: user_data: minio_data: - redis_data: + valkey_data: services: main: @@ -98,12 +98,13 @@ services: - postgres_data_pg16:/var/lib/postgresql/data redis: - image: redis:7.2 - hostname: "penpot-devenv-redis" - container_name: "penpot-devenv-redis" + image: valkey/valkey:8.1 + hostname: "penpot-devenv-valkey" + container_name: "penpot-devenv-valkey" restart: always + command: valkey-server --save 120 1 --loglevel warning volumes: - - "redis_data:/data" + - "valkey_data:/data" mailer: image: sj26/mailcatcher:latest diff --git a/docker/devenv/files/start-tmux.sh b/docker/devenv/files/start-tmux.sh index 16dbbdb9e2..29d2c5bbbe 100755 --- a/docker/devenv/files/start-tmux.sh +++ b/docker/devenv/files/start-tmux.sh @@ -10,10 +10,12 @@ echo "[start-tmux.sh] Installing node dependencies" pushd ~/penpot/frontend/ corepack install; yarn install; +yarn playwright install chromium popd pushd ~/penpot/exporter/ corepack install; yarn install +yarn playwright install chromium popd tmux -2 new-session -d -s penpot diff --git a/frontend/deps.edn b/frontend/deps.edn index a2aff1fcae..2fc983a630 100644 --- a/frontend/deps.edn +++ b/frontend/deps.edn @@ -3,9 +3,9 @@ {penpot/common {:local/root "../common"} - org.clojure/clojure {:mvn/version "1.12.0"} + org.clojure/clojure {:mvn/version "1.12.1"} binaryage/devtools {:mvn/version "RELEASE"} - metosin/reitit-core {:mvn/version "0.7.0"} + metosin/reitit-core {:mvn/version "0.9.1"} funcool/okulary {:mvn/version "2022.04.11-16"} funcool/potok2 @@ -46,7 +46,7 @@ com.bhauman/rebel-readline {:mvn/version "RELEASE"} org.clojure/tools.namespace {:mvn/version "RELEASE"} criterium/criterium {:mvn/version "RELEASE"} - cider/cider-nrepl {:mvn/version "0.48.0"}}} + cider/cider-nrepl {:mvn/version "0.56.0"}}} :shadow-cljs {:main-opts ["-m" "shadow.cljs.devtools.cli"] diff --git a/frontend/package.json b/frontend/package.json index 7c169a68cb..cc8ecae845 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -62,7 +62,7 @@ "@types/node": "^22.15.21", "autoprefixer": "^10.4.21", "concurrently": "^9.1.2", - "esbuild": "^0.25.4", + "esbuild": "^0.25.5", "express": "^5.1.0", "fancy-log": "^2.0.0", "getopts": "^2.3.0", @@ -82,7 +82,7 @@ "nodemon": "^3.1.10", "npm-run-all": "^4.1.5", "p-limit": "^6.2.0", - "postcss": "^8.5.3", + "postcss": "^8.5.4", "postcss-clean": "^1.2.2", "prettier": "3.5.3", "pretty-time": "^1.1.0", @@ -95,10 +95,10 @@ "svg-sprite": "^2.0.4", "typescript": "^5.8.3", "vite": "^6.3.5", - "vitest": "^3.1.4", + "vitest": "^3.2.0", "wasm-pack": "^0.13.1", "watcher": "^2.3.1", - "workerpool": "^9.2.0" + "workerpool": "^9.3.2" }, "dependencies": { "@penpot/draft-js": "portal:./vendor/draft-js", diff --git a/frontend/scripts/_helpers.js b/frontend/scripts/_helpers.js index 5df2acf0da..7602b9c149 100644 --- a/frontend/scripts/_helpers.js +++ b/frontend/scripts/_helpers.js @@ -237,18 +237,29 @@ async function renderTemplate(path, context = {}, partials = {}) { return mustache.render(content, context, partials); } -const extension = { - useNewRenderer: true, +const markedOptions = { renderer: { link(token) { - const href = token.href; - const text = token.text; - return `${text}`; - }, - }, -}; + if (token.href === "mailto") { + return `${token.text}`; + } else { + let target = "_blank"; -marked.use(extension); + if (token.text.endsWith("|target:self")) { + const index = token.text.indexOf("|target:self"); + token.text = token.text.substring(0, index); + target = "_self"; + } + + const href = token.href; + const text = token.text; + return `${text}`; + } + } + } +} + +marked.use(markedOptions); async function readTranslations() { const langs = [ diff --git a/frontend/src/app/main/data/profile.cljs b/frontend/src/app/main/data/profile.cljs index aa0595703b..12d9d32a72 100644 --- a/frontend/src/app/main/data/profile.cljs +++ b/frontend/src/app/main/data/profile.cljs @@ -7,7 +7,6 @@ (ns app.main.data.profile (:require [app.common.data :as d] - [app.common.data.macros :as dm] [app.common.schema :as sm] [app.common.spec :as us] [app.common.uuid :as uuid] @@ -132,25 +131,23 @@ Props are ignored because there is a specific event for updating props" [profile] - (dm/assert! - "expected valid profile data" - (check-profile profile)) - (ptk/reify ::update-profile - ptk/WatchEvent - (watch [_ state _] - (let [profile' (get state :profile) - profile (d/deep-merge profile' (dissoc profile :props))] + (let [profile (check-profile profile)] + (ptk/reify ::update-profile + ptk/WatchEvent + (watch [_ state _] + (let [profile' (get state :profile) + profile (d/deep-merge profile' (dissoc profile :props))] - (rx/merge - (rx/of (set-profile profile)) + (rx/merge + (rx/of (set-profile profile)) - (when (not= (:theme profile) - (:theme profile')) - (rx/of (ptk/data-event ::ev/event - {::ev/name "activate-theme" - ::ev/origin "settings" - :theme (:theme profile)})))))))) + (when (not= (:theme profile) + (:theme profile')) + (rx/of (ptk/data-event ::ev/event + {::ev/name "activate-theme" + ::ev/origin "settings" + :theme (:theme profile)}))))))))) ;; --- Toggle Theme @@ -161,8 +158,17 @@ (update [_ state] (update-in state [:profile :theme] (fn [current] - (let [current (if (= current "system") + (let [current (cond + (= current "system") (theme/get-system-theme) + + ;; NOTE: this is a workaround for + ;; the old data on the database + ;; where whe have `default` value + (= current "default") + "dark" + + :else current)] (case current "dark" "light" @@ -181,7 +187,8 @@ (defn request-email-change [{:keys [email] :as data}] - (dm/assert! ::us/email email) + (assert (sm/email-string? email) "exepected a valid email") + (ptk/reify ::request-email-change ev/Event (-data [_] @@ -214,29 +221,30 @@ ;; Social registered users don't have old-password [:password-old {:optional true} [:maybe :string]]]) +(def ^:private check-update-password + (sm/check-fn schema:update-password + :hint "expected valid parameters for update password")) + (defn update-password [data] - (dm/assert! - "expected valid parameters" - (sm/check schema:update-password data)) + (let [data (check-update-password data)] + (ptk/reify ::update-password + ev/Event + (-data [_] {}) - (ptk/reify ::update-password - ev/Event - (-data [_] {}) - - ptk/WatchEvent - (watch [_ _ _] - (let [{:keys [on-error on-success] - :or {on-error identity - on-success identity}} (meta data) - params {:old-password (:password-old data) - :password (:password-1 data)}] - (->> (rp/cmd! :update-profile-password params) - (rx/tap on-success) - (rx/catch (fn [err] - (on-error err) - (rx/empty))) - (rx/ignore)))))) + ptk/WatchEvent + (watch [_ _ _] + (let [{:keys [on-error on-success] + :or {on-error identity + on-success identity}} (meta data) + params {:old-password (:password-old data) + :password (:password-1 data)}] + (->> (rp/cmd! :update-profile-password params) + (rx/tap on-success) + (rx/catch (fn [err] + (on-error err) + (rx/empty))) + (rx/ignore))))))) (def ^:private schema:update-notifications [:map {:title "NotificationsForm"} @@ -248,20 +256,20 @@ (sm/check-fn schema:update-notifications)) (defn update-notifications - [data] - (assert (check-update-notifications-params data)) - (ptk/reify ::update-notifications - ev/Event - (-data [_] {}) + [options] + (let [options (check-update-notifications-params options)] + (ptk/reify ::update-notifications + ev/Event + (-data [_] {}) - ptk/UpdateEvent - (update [_ state] - (update-in state [:profile :props] assoc :notifications data)) + ptk/UpdateEvent + (update [_ state] + (update-in state [:profile :props] assoc :notifications options)) - ptk/WatchEvent - (watch [_ _ _] - (->> (rp/cmd! :update-profile-notifications data) - (rx/map #(ntf/success (tr "dashboard.notifications.notifications-saved"))))))) + ptk/WatchEvent + (watch [_ _ _] + (->> (rp/cmd! :update-profile-notifications options) + (rx/map #(ntf/success (tr "dashboard.notifications.notifications-saved")))))))) (defn update-profile-props [props] @@ -308,10 +316,7 @@ (defn update-photo [file] - (dm/assert! - "expected a valid blob for `file` param" - (di/blob? file)) - + (assert (di/blob? file) "expected a blob instance on `update-photo`") (ptk/reify ::update-photo ev/Event (-data [_] {}) @@ -337,7 +342,7 @@ (defn fetch-file-comments-users [{:keys [team-id]}] - (dm/assert! (uuid? team-id)) + (assert (uuid? team-id) "expected a valid uuid for `team-id`") (letfn [(fetched [users state] (->> users (d/index-by :id) @@ -376,23 +381,22 @@ [:map {:title "request-profile-recovery" :closed true} [:email ::sm/email]]) +(def ^:private check-request-profile-recovery + (sm/check-fn schema:request-profile-recovery)) + (defn request-profile-recovery [data] + (let [data (check-request-profile-recovery data)] + (ptk/reify ::request-profile-recovery + ptk/WatchEvent + (watch [_ _ _] + (let [{:keys [on-error on-success] + :or {on-error rx/throw + on-success identity}} (meta data)] - (dm/assert! - "expected valid parameters" - (sm/check schema:request-profile-recovery data)) - - (ptk/reify ::request-profile-recovery - ptk/WatchEvent - (watch [_ _ _] - (let [{:keys [on-error on-success] - :or {on-error rx/throw - on-success identity}} (meta data)] - - (->> (rp/cmd! :request-profile-recovery data) - (rx/tap on-success) - (rx/catch on-error)))))) + (->> (rp/cmd! :request-profile-recovery data) + (rx/tap on-success) + (rx/catch on-error))))))) ;; --- EVENT: recover-profile (Password) @@ -402,21 +406,21 @@ [:password :string] [:token :string]]) +(def ^:private check-recover-profile + (sm/check-fn schema:recover-profile)) + (defn recover-profile [data] - (dm/assert! - "expected valid arguments" - (sm/check schema:recover-profile data)) - - (ptk/reify ::recover-profile - ptk/WatchEvent - (watch [_ _ _] - (let [{:keys [on-error on-success] - :or {on-error rx/throw - on-success identity}} (meta data)] - (->> (rp/cmd! :recover-profile data) - (rx/tap on-success) - (rx/catch on-error)))))) + (let [data (check-recover-profile data)] + (ptk/reify ::recover-profile + ptk/WatchEvent + (watch [_ _ _] + (let [{:keys [on-error on-success] + :or {on-error rx/throw + on-success identity}} (meta data)] + (->> (rp/cmd! :recover-profile data) + (rx/tap on-success) + (rx/catch on-error))))))) ;; --- EVENT: fetch-team-webhooks diff --git a/frontend/src/app/main/ui/settings/options.cljs b/frontend/src/app/main/ui/settings/options.cljs index 5d3ff406e9..d855086816 100644 --- a/frontend/src/app/main/ui/settings/options.cljs +++ b/frontend/src/app/main/ui/settings/options.cljs @@ -37,7 +37,11 @@ [] (let [profile (mf/deref refs/profile) initial (mf/with-memo [profile] - (update profile :lang #(or % ""))) + (-> profile + (update :lang #(or % "")) + (update :theme #(if (= % "default") + "dark" + %)))) form (fm/use-form :schema schema:options-form :initial initial)] diff --git a/frontend/src/app/util/theme.cljs b/frontend/src/app/util/theme.cljs index 3c07f7ab68..e4c8db8bb7 100644 --- a/frontend/src/app/util/theme.cljs +++ b/frontend/src/app/util/theme.cljs @@ -44,5 +44,7 @@ (mf/with-effect [system-theme profile-theme] (set-color-scheme - (if (= profile-theme "system") system-theme - (d/nilv profile-theme "dark")))))) + (cond + (= profile-theme "system") system-theme + (= profile-theme "default") "dark" + :else (d/nilv profile-theme "dark")))))) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 6aaba64b4a..fd6180a266 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -576,13 +576,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/aix-ppc64@npm:0.24.2" - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/aix-ppc64@npm:0.25.4" @@ -590,10 +583,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-arm64@npm:0.24.2" - conditions: os=android & cpu=arm64 +"@esbuild/aix-ppc64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/aix-ppc64@npm:0.25.5" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -604,10 +597,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-arm@npm:0.24.2" - conditions: os=android & cpu=arm +"@esbuild/android-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/android-arm64@npm:0.25.5" + conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -618,10 +611,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-x64@npm:0.24.2" - conditions: os=android & cpu=x64 +"@esbuild/android-arm@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/android-arm@npm:0.25.5" + conditions: os=android & cpu=arm languageName: node linkType: hard @@ -632,10 +625,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/darwin-arm64@npm:0.24.2" - conditions: os=darwin & cpu=arm64 +"@esbuild/android-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/android-x64@npm:0.25.5" + conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -646,10 +639,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/darwin-x64@npm:0.24.2" - conditions: os=darwin & cpu=x64 +"@esbuild/darwin-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/darwin-arm64@npm:0.25.5" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -660,10 +653,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/freebsd-arm64@npm:0.24.2" - conditions: os=freebsd & cpu=arm64 +"@esbuild/darwin-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/darwin-x64@npm:0.25.5" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -674,10 +667,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/freebsd-x64@npm:0.24.2" - conditions: os=freebsd & cpu=x64 +"@esbuild/freebsd-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/freebsd-arm64@npm:0.25.5" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -688,10 +681,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-arm64@npm:0.24.2" - conditions: os=linux & cpu=arm64 +"@esbuild/freebsd-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/freebsd-x64@npm:0.25.5" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -702,10 +695,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-arm@npm:0.24.2" - conditions: os=linux & cpu=arm +"@esbuild/linux-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-arm64@npm:0.25.5" + conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -716,10 +709,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-ia32@npm:0.24.2" - conditions: os=linux & cpu=ia32 +"@esbuild/linux-arm@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-arm@npm:0.25.5" + conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -730,10 +723,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-loong64@npm:0.24.2" - conditions: os=linux & cpu=loong64 +"@esbuild/linux-ia32@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-ia32@npm:0.25.5" + conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -744,10 +737,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-mips64el@npm:0.24.2" - conditions: os=linux & cpu=mips64el +"@esbuild/linux-loong64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-loong64@npm:0.25.5" + conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -758,10 +751,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-ppc64@npm:0.24.2" - conditions: os=linux & cpu=ppc64 +"@esbuild/linux-mips64el@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-mips64el@npm:0.25.5" + conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -772,10 +765,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-riscv64@npm:0.24.2" - conditions: os=linux & cpu=riscv64 +"@esbuild/linux-ppc64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-ppc64@npm:0.25.5" + conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -786,10 +779,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-s390x@npm:0.24.2" - conditions: os=linux & cpu=s390x +"@esbuild/linux-riscv64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-riscv64@npm:0.25.5" + conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -800,10 +793,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-x64@npm:0.24.2" - conditions: os=linux & cpu=x64 +"@esbuild/linux-s390x@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-s390x@npm:0.25.5" + conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -814,10 +807,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/netbsd-arm64@npm:0.24.2" - conditions: os=netbsd & cpu=arm64 +"@esbuild/linux-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/linux-x64@npm:0.25.5" + conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -828,10 +821,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/netbsd-x64@npm:0.24.2" - conditions: os=netbsd & cpu=x64 +"@esbuild/netbsd-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/netbsd-arm64@npm:0.25.5" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -842,10 +835,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/openbsd-arm64@npm:0.24.2" - conditions: os=openbsd & cpu=arm64 +"@esbuild/netbsd-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/netbsd-x64@npm:0.25.5" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -856,10 +849,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/openbsd-x64@npm:0.24.2" - conditions: os=openbsd & cpu=x64 +"@esbuild/openbsd-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/openbsd-arm64@npm:0.25.5" + conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -870,10 +863,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/sunos-x64@npm:0.24.2" - conditions: os=sunos & cpu=x64 +"@esbuild/openbsd-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/openbsd-x64@npm:0.25.5" + conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -884,10 +877,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-arm64@npm:0.24.2" - conditions: os=win32 & cpu=arm64 +"@esbuild/sunos-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/sunos-x64@npm:0.25.5" + conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -898,10 +891,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-ia32@npm:0.24.2" - conditions: os=win32 & cpu=ia32 +"@esbuild/win32-arm64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/win32-arm64@npm:0.25.5" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -912,10 +905,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-x64@npm:0.24.2" - conditions: os=win32 & cpu=x64 +"@esbuild/win32-ia32@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/win32-ia32@npm:0.25.5" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -926,6 +919,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.25.5": + version: 0.25.5 + resolution: "@esbuild/win32-x64@npm:0.25.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@gulp-sourcemaps/identity-map@npm:^2.0.1": version: 2.0.1 resolution: "@gulp-sourcemaps/identity-map@npm:2.0.1" @@ -1721,13 +1721,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.32.1" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@rollup/rollup-android-arm-eabi@npm:4.41.0": version: 4.41.0 resolution: "@rollup/rollup-android-arm-eabi@npm:4.41.0" @@ -1735,10 +1728,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-android-arm64@npm:4.32.1" - conditions: os=android & cpu=arm64 +"@rollup/rollup-android-arm-eabi@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.41.1" + conditions: os=android & cpu=arm languageName: node linkType: hard @@ -1749,10 +1742,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.32.1" - conditions: os=darwin & cpu=arm64 +"@rollup/rollup-android-arm64@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-android-arm64@npm:4.41.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -1763,10 +1756,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.32.1" - conditions: os=darwin & cpu=x64 +"@rollup/rollup-darwin-arm64@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.41.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -1777,10 +1770,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.32.1" - conditions: os=freebsd & cpu=arm64 +"@rollup/rollup-darwin-x64@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.41.1" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -1791,10 +1784,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-freebsd-x64@npm:4.32.1" - conditions: os=freebsd & cpu=x64 +"@rollup/rollup-freebsd-arm64@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.41.1" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -1805,10 +1798,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.32.1" - conditions: os=linux & cpu=arm & libc=glibc +"@rollup/rollup-freebsd-x64@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.41.1" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -1819,10 +1812,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.32.1" - conditions: os=linux & cpu=arm & libc=musl +"@rollup/rollup-linux-arm-gnueabihf@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.41.1" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -1833,10 +1826,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.32.1" - conditions: os=linux & cpu=arm64 & libc=glibc +"@rollup/rollup-linux-arm-musleabihf@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.41.1" + conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -1847,10 +1840,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.32.1" - conditions: os=linux & cpu=arm64 & libc=musl +"@rollup/rollup-linux-arm64-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.41.1" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -1861,10 +1854,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.32.1" - conditions: os=linux & cpu=loong64 & libc=glibc +"@rollup/rollup-linux-arm64-musl@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.41.1" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -1875,10 +1868,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.32.1" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@rollup/rollup-linux-loongarch64-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.41.1" + conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard @@ -1889,10 +1882,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.32.1" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.41.1" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -1903,6 +1896,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-riscv64-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.41.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-riscv64-musl@npm:4.41.0": version: 4.41.0 resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.41.0" @@ -1910,10 +1910,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.32.1" - conditions: os=linux & cpu=s390x & libc=glibc +"@rollup/rollup-linux-riscv64-musl@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.41.1" + conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard @@ -1924,10 +1924,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.32.1" - conditions: os=linux & cpu=x64 & libc=glibc +"@rollup/rollup-linux-s390x-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.41.1" + conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -1938,10 +1938,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.32.1" - conditions: os=linux & cpu=x64 & libc=musl +"@rollup/rollup-linux-x64-gnu@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.41.1" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -1952,10 +1952,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.32.1" - conditions: os=win32 & cpu=arm64 +"@rollup/rollup-linux-x64-musl@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.41.1" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -1966,10 +1966,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.32.1" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-win32-arm64-msvc@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.41.1" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -1980,10 +1980,10 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.32.1": - version: 4.32.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.32.1" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-win32-ia32-msvc@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.41.1" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -1994,6 +1994,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-x64-msvc@npm:4.41.1": + version: 4.41.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.41.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@sideway/address@npm:^4.1.5": version: 4.1.5 resolution: "@sideway/address@npm:4.1.5" @@ -2716,6 +2723,22 @@ __metadata: languageName: node linkType: hard +"@types/chai@npm:^5.2.2": + version: 5.2.2 + resolution: "@types/chai@npm:5.2.2" + dependencies: + "@types/deep-eql": "npm:*" + checksum: 10c0/49282bf0e8246800ebb36f17256f97bd3a8c4fb31f92ad3c0eaa7623518d7e87f1eaad4ad206960fcaf7175854bdff4cb167e4fe96811e0081b4ada83dd533ec + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + "@types/doctrine@npm:^0.0.9": version: 0.0.9 resolution: "@types/doctrine@npm:0.0.9" @@ -2723,13 +2746,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.0": - version: 1.0.6 - resolution: "@types/estree@npm:1.0.6" - checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a - languageName: node - linkType: hard - "@types/estree@npm:1.0.7": version: 1.0.7 resolution: "@types/estree@npm:1.0.7" @@ -2737,6 +2753,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.0": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -2880,34 +2903,35 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/expect@npm:3.1.4" +"@vitest/expect@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/expect@npm:3.2.0" dependencies: - "@vitest/spy": "npm:3.1.4" - "@vitest/utils": "npm:3.1.4" + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.0" + "@vitest/utils": "npm:3.2.0" chai: "npm:^5.2.0" tinyrainbow: "npm:^2.0.0" - checksum: 10c0/9cfd7eb6d965a179b4ec0610a9c08b14dc97dbaf81925c8209a054f7a2a3d1eef59fa5e5cd4dd9bf8cb940d85aee5f5102555511a94be9933faf4cc734462a16 + checksum: 10c0/2f02d7859cb6446c25ca9b01736df1cf344314f7a89ec00405f33ee38ff8c539ac52a5c2c21ef0c37e07089ee390f091aba6e6fe5cb77f12a93bb5088006f3a7 languageName: node linkType: hard -"@vitest/mocker@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/mocker@npm:3.1.4" +"@vitest/mocker@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/mocker@npm:3.2.0" dependencies: - "@vitest/spy": "npm:3.1.4" + "@vitest/spy": "npm:3.2.0" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.17" peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - checksum: 10c0/d0b89e3974830d3893e7b8324a77ffeb9436db0969b57c01e2508ebd5b374c9d01f73796c8df8f555a3b1e1b502d40e725f159cd85966eebd3145b2f52e605e2 + checksum: 10c0/1c36ec74b755364e624fbacbbd161ad6e989c17ce5e6161747f06ca63227f9f9ce9b64e6ff3235089fcda24b4138434385017de75265754ed5f000af50823a9d languageName: node linkType: hard @@ -2929,33 +2953,33 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:3.1.4, @vitest/pretty-format@npm:^3.1.4": - version: 3.1.4 - resolution: "@vitest/pretty-format@npm:3.1.4" +"@vitest/pretty-format@npm:3.2.0, @vitest/pretty-format@npm:^3.2.0": + version: 3.2.0 + resolution: "@vitest/pretty-format@npm:3.2.0" dependencies: tinyrainbow: "npm:^2.0.0" - checksum: 10c0/11e133640435822b8b8528be540b3d66c1de27ebc2dcf1de87608b7f01a44d15302c4d4bf8330fa848a435450d88a09d7e9442747a5739ae5f500ccdd1493159 + checksum: 10c0/3605a72bceb22fef318e5354a50df168baba634496763ef8ea8d8a3259aa8e727c3882bd40f2dbad309101bcf62be8d353443b835630039a4ce425b939cb9fbd languageName: node linkType: hard -"@vitest/runner@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/runner@npm:3.1.4" +"@vitest/runner@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/runner@npm:3.2.0" dependencies: - "@vitest/utils": "npm:3.1.4" + "@vitest/utils": "npm:3.2.0" pathe: "npm:^2.0.3" - checksum: 10c0/efb7512eebd3d786baa617eab332ec9ca6ce62eb1c9dd3945019f7510d745b3cd0fc2978868d792050905aacbf158eefc132359c83e61f0398b46be566013ee6 + checksum: 10c0/899de249c3b620ccbce794121de36cabb49dfb015066cadeff615ad5514206fd5006474854cd9c1866a103c7484ca1de78cb8cb2402ad667de0f074ce9593ab9 languageName: node linkType: hard -"@vitest/snapshot@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/snapshot@npm:3.1.4" +"@vitest/snapshot@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/snapshot@npm:3.2.0" dependencies: - "@vitest/pretty-format": "npm:3.1.4" + "@vitest/pretty-format": "npm:3.2.0" magic-string: "npm:^0.30.17" pathe: "npm:^2.0.3" - checksum: 10c0/ce9d51e1b03e4f91ffad160c570991a8a3c603cb7dc2a9020e58c012e62dccbe2c6ee45e1a1d8489e265b4485c6721eb73b5e91404d1c76da08dcd663f4e18d1 + checksum: 10c0/ea90d2348589c321bcdd8b79f27ae3ef9d5ccbd3127ee373b7d56a12d33d6e07d47c8d372cde510a67bd48d7ca45f75f1c9fbc2c1193adc2884ea911b927853a languageName: node linkType: hard @@ -2968,12 +2992,12 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/spy@npm:3.1.4" +"@vitest/spy@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/spy@npm:3.2.0" dependencies: - tinyspy: "npm:^3.0.2" - checksum: 10c0/747914ac18efa82d75349b0fb0ad8a5e2af6e04f5bbb50a980c9270dd8958f9ddf84cee0849a54e1645af088fc1f709add94a35e99cb14aca2cdb322622ba501 + tinyspy: "npm:^4.0.3" + checksum: 10c0/9fb3718bc0fd9b43992b7e1bcd1721b6fb64583d63a8d872bf019b32ba45628ca86a91adf25e328a669945ea4185725cdeb933485fe10ed8d6e06afe3bcc6c96 languageName: node linkType: hard @@ -2989,14 +3013,14 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:3.1.4": - version: 3.1.4 - resolution: "@vitest/utils@npm:3.1.4" +"@vitest/utils@npm:3.2.0": + version: 3.2.0 + resolution: "@vitest/utils@npm:3.2.0" dependencies: - "@vitest/pretty-format": "npm:3.1.4" + "@vitest/pretty-format": "npm:3.2.0" loupe: "npm:^3.1.3" tinyrainbow: "npm:^2.0.0" - checksum: 10c0/78f1691a2dd578862b236f4962815e7475e547f006e7303a149dc5f910cc1ce6e0bdcbd7b4fd618122d62ca2dcc28bae464d31543f3898f5d88fa35017e00a95 + checksum: 10c0/7877a4e74c253125e6c731e1e243a2d429985a4907921569fbf7851b17c6ed0e3ef444aaba35e8518d70c00f837b9ec4726f2169b1ad59e7ec212b25742a982c languageName: node linkType: hard @@ -4588,7 +4612,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.5": +"debug@npm:^4.3.5, debug@npm:^4.4.1": version: 4.4.1 resolution: "debug@npm:4.4.1" dependencies: @@ -5246,7 +5270,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0, esbuild@npm:^0.25.0, esbuild@npm:^0.25.4": +"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0, esbuild@npm:^0.25.0": version: 0.25.4 resolution: "esbuild@npm:0.25.4" dependencies: @@ -5332,35 +5356,35 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.24.2": - version: 0.24.2 - resolution: "esbuild@npm:0.24.2" +"esbuild@npm:^0.25.5": + version: 0.25.5 + resolution: "esbuild@npm:0.25.5" dependencies: - "@esbuild/aix-ppc64": "npm:0.24.2" - "@esbuild/android-arm": "npm:0.24.2" - "@esbuild/android-arm64": "npm:0.24.2" - "@esbuild/android-x64": "npm:0.24.2" - "@esbuild/darwin-arm64": "npm:0.24.2" - "@esbuild/darwin-x64": "npm:0.24.2" - "@esbuild/freebsd-arm64": "npm:0.24.2" - "@esbuild/freebsd-x64": "npm:0.24.2" - "@esbuild/linux-arm": "npm:0.24.2" - "@esbuild/linux-arm64": "npm:0.24.2" - "@esbuild/linux-ia32": "npm:0.24.2" - "@esbuild/linux-loong64": "npm:0.24.2" - "@esbuild/linux-mips64el": "npm:0.24.2" - "@esbuild/linux-ppc64": "npm:0.24.2" - "@esbuild/linux-riscv64": "npm:0.24.2" - "@esbuild/linux-s390x": "npm:0.24.2" - "@esbuild/linux-x64": "npm:0.24.2" - "@esbuild/netbsd-arm64": "npm:0.24.2" - "@esbuild/netbsd-x64": "npm:0.24.2" - "@esbuild/openbsd-arm64": "npm:0.24.2" - "@esbuild/openbsd-x64": "npm:0.24.2" - "@esbuild/sunos-x64": "npm:0.24.2" - "@esbuild/win32-arm64": "npm:0.24.2" - "@esbuild/win32-ia32": "npm:0.24.2" - "@esbuild/win32-x64": "npm:0.24.2" + "@esbuild/aix-ppc64": "npm:0.25.5" + "@esbuild/android-arm": "npm:0.25.5" + "@esbuild/android-arm64": "npm:0.25.5" + "@esbuild/android-x64": "npm:0.25.5" + "@esbuild/darwin-arm64": "npm:0.25.5" + "@esbuild/darwin-x64": "npm:0.25.5" + "@esbuild/freebsd-arm64": "npm:0.25.5" + "@esbuild/freebsd-x64": "npm:0.25.5" + "@esbuild/linux-arm": "npm:0.25.5" + "@esbuild/linux-arm64": "npm:0.25.5" + "@esbuild/linux-ia32": "npm:0.25.5" + "@esbuild/linux-loong64": "npm:0.25.5" + "@esbuild/linux-mips64el": "npm:0.25.5" + "@esbuild/linux-ppc64": "npm:0.25.5" + "@esbuild/linux-riscv64": "npm:0.25.5" + "@esbuild/linux-s390x": "npm:0.25.5" + "@esbuild/linux-x64": "npm:0.25.5" + "@esbuild/netbsd-arm64": "npm:0.25.5" + "@esbuild/netbsd-x64": "npm:0.25.5" + "@esbuild/openbsd-arm64": "npm:0.25.5" + "@esbuild/openbsd-x64": "npm:0.25.5" + "@esbuild/sunos-x64": "npm:0.25.5" + "@esbuild/win32-arm64": "npm:0.25.5" + "@esbuild/win32-ia32": "npm:0.25.5" + "@esbuild/win32-x64": "npm:0.25.5" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -5414,7 +5438,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/5a25bb08b6ba23db6e66851828d848bd3ff87c005a48c02d83e38879058929878a6baa5a414e1141faee0d1dece3f32b5fbc2a87b82ed6a7aa857cf40359aeb5 + checksum: 10c0/aba8cbc11927fa77562722ed5e95541ce2853f67ad7bdc40382b558abc2e0ec57d92ffb820f082ba2047b4ef9f3bc3da068cdebe30dfd3850cfa3827a78d604e languageName: node linkType: hard @@ -5940,7 +5964,7 @@ __metadata: compression: "npm:^1.8.0" concurrently: "npm:^9.1.2" date-fns: "npm:^4.1.0" - esbuild: "npm:^0.25.4" + esbuild: "npm:^0.25.5" eventsource-parser: "npm:^3.0.2" express: "npm:^5.1.0" fancy-log: "npm:^2.0.0" @@ -5966,7 +5990,7 @@ __metadata: npm-run-all: "npm:^4.1.5" opentype.js: "npm:^1.3.4" p-limit: "npm:^6.2.0" - postcss: "npm:^8.5.3" + postcss: "npm:^8.5.4" postcss-clean: "npm:^1.2.2" postcss-modules: "npm:^6.0.1" prettier: "npm:3.5.3" @@ -5992,10 +6016,10 @@ __metadata: typescript: "npm:^5.8.3" ua-parser-js: "npm:2.0.3" vite: "npm:^6.3.5" - vitest: "npm:^3.1.4" + vitest: "npm:^3.2.0" wasm-pack: "npm:^0.13.1" watcher: "npm:^2.3.1" - workerpool: "npm:^9.2.0" + workerpool: "npm:^9.3.2" xregexp: "npm:^5.1.2" languageName: unknown linkType: soft @@ -8587,6 +8611,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + "nanoid@npm:^3.3.8": version: 3.3.8 resolution: "nanoid@npm:3.3.8" @@ -9553,17 +9586,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.49": - version: 8.5.1 - resolution: "postcss@npm:8.5.1" - dependencies: - nanoid: "npm:^3.3.8" - picocolors: "npm:^1.1.1" - source-map-js: "npm:^1.2.1" - checksum: 10c0/c4d90c59c98e8a0c102b77d3f4cac190f883b42d63dc60e2f3ed840f16197c0c8e25a4327d2e9a847b45a985612317dc0534178feeebd0a1cf3eb0eecf75cae4 - languageName: node - linkType: hard - "postcss@npm:^8.5.3": version: 8.5.3 resolution: "postcss@npm:8.5.3" @@ -9575,6 +9597,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.5.4": + version: 8.5.4 + resolution: "postcss@npm:8.5.4" + dependencies: + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/0feff648614a834f7cd5396ea6b05b658ca0507e10a4eaad03b56c348f6aec93f42a885fc1b30522630c6a7e49ae53b38a061e3cba526f2d9857afbe095a22bb + languageName: node + linkType: hard + "prettier@npm:3.5.3, prettier@npm:^3.3.3": version: 3.5.3 resolution: "prettier@npm:3.5.3" @@ -10181,78 +10214,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.23.0": - version: 4.32.1 - resolution: "rollup@npm:4.32.1" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.32.1" - "@rollup/rollup-android-arm64": "npm:4.32.1" - "@rollup/rollup-darwin-arm64": "npm:4.32.1" - "@rollup/rollup-darwin-x64": "npm:4.32.1" - "@rollup/rollup-freebsd-arm64": "npm:4.32.1" - "@rollup/rollup-freebsd-x64": "npm:4.32.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.32.1" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.32.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.32.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.32.1" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.32.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.32.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.32.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.32.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.32.1" - "@rollup/rollup-linux-x64-musl": "npm:4.32.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.32.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.32.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.32.1" - "@types/estree": "npm:1.0.6" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-freebsd-arm64": - optional: true - "@rollup/rollup-freebsd-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-loongarch64-gnu": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/b40339d207ee873d5cb78456381d11be367ed44bf02506bb7b1e70ad24537b4e2f06f7b24a1d9dff054c34330e032cfbedecf217228dfdc850d421b49d640144 - languageName: node - linkType: hard - "rollup@npm:^4.34.9": version: 4.41.0 resolution: "rollup@npm:4.41.0" @@ -10328,6 +10289,81 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.40.0": + version: 4.41.1 + resolution: "rollup@npm:4.41.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.41.1" + "@rollup/rollup-android-arm64": "npm:4.41.1" + "@rollup/rollup-darwin-arm64": "npm:4.41.1" + "@rollup/rollup-darwin-x64": "npm:4.41.1" + "@rollup/rollup-freebsd-arm64": "npm:4.41.1" + "@rollup/rollup-freebsd-x64": "npm:4.41.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.41.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.41.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.41.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.41.1" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.41.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.41.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.41.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.41.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.41.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.41.1" + "@rollup/rollup-linux-x64-musl": "npm:4.41.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.41.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.41.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.41.1" + "@types/estree": "npm:1.0.7" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/c4d5f2257320b50dc0e035e31d8d2f78d36b7015aef2f87cc984c0a1c97ffebf14337dddeb488b4b11ae798fea6486189b77e7cf677617dcf611d97db41ebfda + languageName: node + linkType: hard + "router@npm:^2.2.0": version: 2.2.0 resolution: "router@npm:2.2.0" @@ -11675,10 +11711,20 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^1.0.2": - version: 1.0.2 - resolution: "tinypool@npm:1.0.2" - checksum: 10c0/31ac184c0ff1cf9a074741254fe9ea6de95026749eb2b8ec6fd2b9d8ca94abdccda731f8e102e7f32e72ed3b36d32c6975fd5f5523df3f1b6de6c3d8dfd95e63 +"tinyglobby@npm:^0.2.14": + version: 0.2.14 + resolution: "tinyglobby@npm:0.2.14" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 + languageName: node + linkType: hard + +"tinypool@npm:^1.1.0": + version: 1.1.0 + resolution: "tinypool@npm:1.1.0" + checksum: 10c0/deb6bde5e3d85d4ba043806c66f43fb5b649716312a47b52761a83668ffc71cd0ea4e24254c1b02a3702e5c27e02605f0189a1460f6284a5930a08bd0c06435c languageName: node linkType: hard @@ -11696,13 +11742,20 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^3.0.0, tinyspy@npm:^3.0.2": +"tinyspy@npm:^3.0.0": version: 3.0.2 resolution: "tinyspy@npm:3.0.2" checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 languageName: node linkType: hard +"tinyspy@npm:^4.0.3": + version: 4.0.3 + resolution: "tinyspy@npm:4.0.3" + checksum: 10c0/0a92a18b5350945cc8a1da3a22c9ad9f4e2945df80aaa0c43e1b3a3cfb64d8501e607ebf0305e048e3c3d3e0e7f8eb10cea27dc17c21effb73e66c4a3be36373 + languageName: node + linkType: hard + "tldts-core@npm:^6.1.58": version: 6.1.58 resolution: "tldts-core@npm:6.1.58" @@ -12227,38 +12280,41 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:3.1.4": - version: 3.1.4 - resolution: "vite-node@npm:3.1.4" +"vite-node@npm:3.2.0": + version: 3.2.0 + resolution: "vite-node@npm:3.2.0" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.4.0" + debug: "npm:^4.4.1" es-module-lexer: "npm:^1.7.0" pathe: "npm:^2.0.3" - vite: "npm:^5.0.0 || ^6.0.0" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" bin: vite-node: vite-node.mjs - checksum: 10c0/2fc71ddadd308b19b0d0dc09f5b9a108ea9bb640ec5fbd6179267994da8fd6c9d6a4c92098af7de73a0fa817055b518b28972452a2f19a1be754e79947e289d2 + checksum: 10c0/1df5577190f154b65cedaee396ec1306cbba1714240a91f53024fcbba045efb8e11f2748cddd18216b627a58190070756f7fc118d00a899d24e7c6921c41caca languageName: node linkType: hard -"vite@npm:^5.0.0 || ^6.0.0": - version: 6.0.11 - resolution: "vite@npm:6.0.11" +"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": + version: 7.0.0-beta.0 + resolution: "vite@npm:7.0.0-beta.0" dependencies: - esbuild: "npm:^0.24.2" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.49" - rollup: "npm:^4.23.0" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.40.0" + tinyglobby: "npm:^0.2.14" peerDependencies: - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@types/node": ^20.19.0 || >=22.12.0 jiti: ">=1.21.0" - less: "*" + less: ^4.0.0 lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -12290,7 +12346,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/a0537f9bf8d6ded740646a4aa44b8dbf442d3005e75f7b27e981ef6011f22d4759f5eb643a393c0ffb8d21e2f50fb5f774d3a53108fb96a10b0f83697e8efe84 + checksum: 10c0/d13907d67b4991a2862dafe6a31d10ffe28f26ba04e511049e9d86d06293b3a8d6733c896c8fb38e3f2d5805d240e3cad27700f3c42536602035e4c324b48d58 languageName: node linkType: hard @@ -12349,37 +12405,39 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^3.1.4": - version: 3.1.4 - resolution: "vitest@npm:3.1.4" +"vitest@npm:^3.2.0": + version: 3.2.0 + resolution: "vitest@npm:3.2.0" dependencies: - "@vitest/expect": "npm:3.1.4" - "@vitest/mocker": "npm:3.1.4" - "@vitest/pretty-format": "npm:^3.1.4" - "@vitest/runner": "npm:3.1.4" - "@vitest/snapshot": "npm:3.1.4" - "@vitest/spy": "npm:3.1.4" - "@vitest/utils": "npm:3.1.4" + "@types/chai": "npm:^5.2.2" + "@vitest/expect": "npm:3.2.0" + "@vitest/mocker": "npm:3.2.0" + "@vitest/pretty-format": "npm:^3.2.0" + "@vitest/runner": "npm:3.2.0" + "@vitest/snapshot": "npm:3.2.0" + "@vitest/spy": "npm:3.2.0" + "@vitest/utils": "npm:3.2.0" chai: "npm:^5.2.0" - debug: "npm:^4.4.0" + debug: "npm:^4.4.1" expect-type: "npm:^1.2.1" magic-string: "npm:^0.30.17" pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.2" std-env: "npm:^3.9.0" tinybench: "npm:^2.9.0" tinyexec: "npm:^0.3.2" - tinyglobby: "npm:^0.2.13" - tinypool: "npm:^1.0.2" + tinyglobby: "npm:^0.2.14" + tinypool: "npm:^1.1.0" tinyrainbow: "npm:^2.0.0" - vite: "npm:^5.0.0 || ^6.0.0" - vite-node: "npm:3.1.4" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + vite-node: "npm:3.2.0" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/debug": ^4.1.12 "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.1.4 - "@vitest/ui": 3.1.4 + "@vitest/browser": 3.2.0 + "@vitest/ui": 3.2.0 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -12399,7 +12457,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10c0/aec575e3cc6cf9b3cee224ae63569479e3a41fa980e495a73d384e31e273f34b18317a0da23bbd577c60fe5e717fa41cdc390de4049ce224ffdaa266ea0cdc67 + checksum: 10c0/ac9d0e7b37926d813244b3d597e1f367f3dea2dd8a4d5a641d569236fd92f420a8ef6afb7e03495c5b4b8a51b8782bba64d7bbccd7611899d65525b506c389e8 languageName: node linkType: hard @@ -12657,10 +12715,10 @@ __metadata: languageName: node linkType: hard -"workerpool@npm:^9.2.0": - version: 9.2.0 - resolution: "workerpool@npm:9.2.0" - checksum: 10c0/71d47fba55d168d989318c20d50ec4912ec1e6abe777387437209b58ccdee88d6abe783643bb168d89f0980725ace9d7f25f69f567c80ce270318d92c8c1d923 +"workerpool@npm:^9.3.2": + version: 9.3.2 + resolution: "workerpool@npm:9.3.2" + checksum: 10c0/1570bb9a6eb649d477a1a3890e39e6e7dfbec54297151878f4af8a2d54d2bc389a2d796f59619d3326840d6914ceb53b5f4971b475685eb0f189358234bf70ae languageName: node linkType: hard diff --git a/library/CHANGES.md b/library/CHANGES.md index bfd544e169..1e805c23b8 100644 --- a/library/CHANGES.md +++ b/library/CHANGES.md @@ -1,5 +1,20 @@ # CHANGELOG +## 1.0.6 + +- Fix unexpected issue on library color decoding + + +## 1.0.5 + +- Add progress reporting support +- Remove leaked console.log + +## 1.0.4 + +- Fix incorrect shapes filtering on creating boolean shapes within components + + ## 1.0.3 - Add missing isLocal field on file media for fix compatibility of the diff --git a/library/deps.edn b/library/deps.edn index 69e7529bf3..0c59e66107 100644 --- a/library/deps.edn +++ b/library/deps.edn @@ -1,4 +1,4 @@ -{:paths ["src" "vendor" "resources" "test"] +{:paths ["src"] :deps {penpot/common {:local/root "../common"} diff --git a/library/package.json b/library/package.json index 9810904f40..b58bfff5da 100644 --- a/library/package.json +++ b/library/package.json @@ -1,6 +1,6 @@ { "name": "@penpot/library", - "version": "1.0.3", + "version": "1.0.6", "license": "MPL-2.0", "author": "Kaleidos INC", "packageManager": "yarn@4.9.1+sha512.f95ce356460e05be48d66401c1ae64ef84d163dd689964962c6888a9810865e39097a5e9de748876c2e0bf89b232d583c33982773e9903ae7a76257270986538", diff --git a/library/playground/sample-bool-with-components.js b/library/playground/sample-bool-with-components.js new file mode 100644 index 0000000000..97620c1f93 --- /dev/null +++ b/library/playground/sample-bool-with-components.js @@ -0,0 +1,132 @@ +import * as penpot from "#self"; +import { writeFile } from "fs/promises"; + +(async function () { + const context = penpot.createBuildContext(); + + { + context.addFile({ name: "Test File 1" }); + context.addPage({ name: "Foo Page" }); + + const componentId = context.genId(); + + const mainInstanceId = context.addBoard({ + name: "Artboard 1", + componentFile: context.currentFileId, + componentId, + componentRoot: true, + mainInstance: true, + x: 20, + y: 20, + width: 100, + height: 200 + }); + + const groupId = context.addGroup({ + name: "Group 1", + x: 20, + y: 20, + width: 100, + height: 200 + }); + + const rectId = context.addRect({ + name: "Rect 1", + x: 20, + y: 20, + width: 100, + height: 200 + }); + + const circleId = context.addCircle({ + name: "Circle 1", + x: 20, + y: 20, + width: 100, + height: 100 + }); + + context.closeGroup(); + + context.addBool({ + groupId, + type: "intersection" + }); + + context.closeBoard(); + + context.addBoard({ + name: "Artboard 1", + componentFile: context.currentFileId, + componentId, + componentRoot: true, + shapeRef: mainInstanceId, + x: 20, + y: 20, + width: 100, + height: 200 + }); + + const groupId2 = context.addGroup({ + name: "Group 1", + shapeRef: groupId, + x: 20, + y: 20, + width: 100, + height: 200 + }); + + context.addRect({ + name: "Rect 1", + shapeRef: rectId, + x: 20, + y: 20, + width: 100, + height: 200 + }); + + context.addCircle({ + name: "Circle 1", + shapeRef: circleId, + x: 20, + y: 20, + width: 100, + height: 100 + }); + + context.closeGroup(); + + context.addBool({ + groupId: groupId2, + type: "intersection" + }); + + context.closeBoard(); + + context.addComponent({ + componentId: componentId, + fileId: context.currentFileId, + name: "Artboard 1", + frameId: mainInstanceId, + }); + + context.closeFile(); + } + + { + let result = await penpot.exportAsBytes(context); + await writeFile("sample-bool-and-comp.zip", result); + } +})() + .catch(cause => { + console.error(cause); + + const innerCause = cause.cause; + if (innerCause) { + console.error("Inner cause:", innerCause); + } + process.exit(-1); + }) + .finally(() => { + process.exit(0); + }); diff --git a/library/playground/sample-fill-stroke-and-media.js b/library/playground/sample-fill-stroke-and-media.js index 96cccde0d4..dbc90cdce2 100644 --- a/library/playground/sample-fill-stroke-and-media.js +++ b/library/playground/sample-fill-stroke-and-media.js @@ -80,7 +80,11 @@ import { Writable } from "stream"; } { - let result = await penpot.exportAsBytes(context); + const onProgress = (opts) => { + console.log(`Procesing ${opts.item}/${opts.total}: ${opts.path}`); + }; + + let result = await penpot.exportAsBytes(context, {onProgress}); await writeFile("sample-sync.zip", result); } diff --git a/library/src/lib/export.cljs b/library/src/lib/export.cljs index 1b81e3aa9f..7fee373440 100644 --- a/library/src/lib/export.cljs +++ b/library/src/lib/export.cljs @@ -195,31 +195,78 @@ :relations []}] ["manifest.json" (delay (json/encode params))])) +(defn- generate-procs + [state] + (let [state (deref state)] + (cons (generate-manifest-procs state) + (concat + (generate-files-export-procs state) + (generate-media-export-procs state))))) + +(def ^:private + xf:add-proc-index + (map-indexed + (fn [index proc] + (conj proc index)))) + +(def ^:private ^:function noop-fn + (constantly nil)) + (defn- export - [state writer] - (->> (p/reduce (fn [writer [path data]] - (let [data (if (delay? data) (deref data) data)] - (js/console.log "export" path) - (->> (zip/add writer path data) - (p/fmap (constantly writer))))) - - writer - (cons (generate-manifest-procs @state) - (concat - (generate-files-export-procs @state) - (generate-media-export-procs @state)))) - - (p/mcat (fn [writer] - (zip/close writer))))) + [state writer progress-fn] + (let [procs (into [] xf:add-proc-index (generate-procs state)) + total (count procs)] + (->> (p/reduce (fn [writer [path data index]] + (let [data (if (delay? data) (deref data) data) + report #js {:total total + :item (inc index) + :path path}] + (->> (zip/add writer path data) + (p/fmap (fn [_] + (progress-fn report) + writer))))) + writer + procs) + (p/mcat (fn [writer] + (zip/close writer)))))) (defn export-bytes - [state] - (export state (zip/writer (zip/bytes-writer)))) + ([state] + (export state (zip/writer (zip/bytes-writer)) noop-fn)) + ([state options] + (let [options + (if (object? options) + (json/->clj options) + options) + + progress-fn + (get options :on-progress noop-fn)] + + (export state (zip/writer (zip/bytes-writer)) progress-fn)))) (defn export-blob - [state] - (export state (zip/writer (zip/blob-writer)))) + ([state] + (export state (zip/writer (zip/blob-writer)) noop-fn)) + ([state options] + (let [options + (if (object? options) + (json/->clj options) + options) + + progress-fn + (get options :on-progress noop-fn)] + + (export state (zip/writer (zip/blob-writer)) progress-fn)))) (defn export-stream - [state stream] - (export state (zip/writer stream))) + ([state stream] + (export state (zip/writer stream) noop-fn)) + ([state stream options] + (let [options + (if (object? options) + (json/->clj options) + options) + + progress-fn + (get options :on-progress noop-fn)] + (export state (zip/writer stream) progress-fn)))) diff --git a/library/test/builder.test.js b/library/test/builder.test.js index de94f5c3a0..fb99eac60b 100644 --- a/library/test/builder.test.js +++ b/library/test/builder.test.js @@ -75,3 +75,46 @@ test("create context with file and page", () => { assert.ok(rootShape, "root shape should exist"); assert.equal(rootShape.id, "00000000-0000-0000-0000-000000000000"); }); + +test("create context with color", () => { + const context = penpot.createBuildContext(); + + const fileId = context.addFile({name: "file 1"}); + const pageId = context.addPage({name: "page 1"}); + + const colorId = context.genId(); + + const params = { + color: '#000000', + gradient: undefined, + id: colorId, + image: undefined, + name: 'Black-8', + opacity: 0.800000011920929, + path: 'Remote', + }; + + context.addLibraryColor(params); + + const internalState = context.getInternalState(); + + const file = internalState.files[fileId]; + + assert.ok(file, "file should exist"); + + assert.ok(file.data); + assert.ok(file.data.pages); + + const colors = file.data.colors + + assert.ok(colors, "colors should exist"); + + const color = colors[colorId]; + + assert.ok(color, "color objects should exist"); + assert.equal(color.color, params.color); + assert.equal(color.id, colorId); + assert.equal(color.path, params.path); + assert.equal(color.opacity, params.opacity); + assert.equal(color.name, params.name); +}); diff --git a/manage.sh b/manage.sh index d89a4f3e77..4e8e8374d8 100755 --- a/manage.sh +++ b/manage.sh @@ -89,6 +89,8 @@ function log-devenv { function run-devenv-tmux { if [[ ! $(docker ps -f "name=penpot-devenv-main" -q) ]]; then start-devenv + echo "Waiting for containers fully start (5s)..." + sleep 5; fi docker exec -ti penpot-devenv-main sudo -EH -u penpot PENPOT_PLUGIN_DEV=$PENPOT_PLUGIN_DEV /home/start-tmux.sh @@ -118,7 +120,6 @@ function run-devenv-isolated-shell { $DEVENV_IMGNAME:latest sudo -EH -u penpot bash } - function build { echo ">> build start: $1" local version=$(print-current-version);