{
  "name": "frontend",
  "version": "1.0.0",
  "license": "MPL-2.0",
  "author": "Kaleidos INC Sucursal en España SL",
  "private": true,
  "packageManager": "pnpm@11.20.0+sha512.9a6f330a95b66446ea088faf1521405a8a01f07fde7124cc9958dfed52d4bb436737e65b08f85f37b46fcba375092558ac51262b816844b22f63406ed166bfee",
  "browserslist": [
    "defaults"
  ],
  "type": "module",
  "repository": {
    "type": "git",
    "url": "https://github.com/penpot/penpot"
  },
  "scripts": {
    "build:app:assets": "node ./scripts/build-app-assets.js",
    "build:fonts-preview": "node ./scripts/build-fonts-preview.js",
    "build:storybook": "(cd packages/ui && pnpm run build) && pnpm run build:storybook:assets && pnpm run build:storybook:cljs && storybook build",
    "build:storybook:assets": "node ./scripts/build-storybook-assets.js",
    "build:storybook:cljs": "clojure -M:dev:shadow-cljs compile storybook",
    "build:wasm": "../render-wasm/build frontend",
    "build:app:libs": "node ./scripts/build-libs.js",
    "build:app:main": "clojure -M:dev:shadow-cljs release main worker",
    "build:app:worker": "clojure -M:dev:shadow-cljs release worker",
    "build:app": "pnpm run clear:shadow-cache && pnpm run build:app:main && pnpm run build:app:libs",
    "check-fmt:clj": "cljfmt check --parallel=true src/ test/",
    "check-fmt:js": "prettier -c src/**/*.stories.jsx -c playwright/**/*.js -c scripts/**/*.js -c text-editor/**/*.js",
    "check-fmt:scss": "prettier -c resources/styles -c src/**/*.scss",
    "fmt:clj": "cljfmt fix --parallel=true src/ test/",
    "fmt:js": "prettier -c src/**/*.stories.jsx -c playwright/**/*.js -c scripts/**/*.js -c text-editor/**/*.js -w",
    "fmt:scss": "prettier -c resources/styles -c src/**/*.scss -w",
    "lint:clj": "clj-kondo --config-dir ../.clj-kondo --lint ../common/src src/",
    "lint:js": "exit 0",
    "lint:scss": "pnpm exec stylelint '{src,resources}/**/*.scss'",
    "build:test": "pnpm run build:wasm && clojure -M:dev:shadow-cljs compile test",
    "test": "pnpm run build:test && node target/tests/test.js",
    "test:quiet": "node ./scripts/test-quiet.js",
    "test:storybook": "vitest run --project=storybook",
    "watch:test": "mkdir -p target/tests && concurrently \"clojure -M:dev:shadow-cljs watch test\" \"nodemon -C -d 2 -w target/tests --exec 'node target/tests/test.js'\"",
    "test:e2e": "playwright test --project default",
    "translations": "node ./scripts/translations.js",
    "watch:app:assets": "node ./scripts/watch.js",
    "watch:app:libs": "node ./scripts/build-libs.js --watch",
    "watch:app:main": "clojure -M:dev:shadow-cljs watch main worker storybook",
    "clear:shadow-cache": "rm -rf .shadow-cljs",
    "clear:wasm": "cargo clean --manifest-path ../render-wasm/Cargo.toml",
    "watch": "exit 0",
    "watch:app": "pnpm run clear:shadow-cache && pnpm run clear:wasm && pnpm run build:wasm && concurrently --kill-others-on-fail \"pnpm run watch:app:assets\" \"pnpm run watch:app:main\" \"pnpm run watch:app:libs\"",
    "watch:storybook": "pnpm run build:storybook:assets && concurrently --kill-others-on-fail \"storybook dev -p 3451 -h 0.0.0.0 --no-open\" \"node ./scripts/watch-storybook.js\"",
    "postinstall": "(cd ../plugins/libs/plugins-runtime; pnpm install; pnpm run build)"
  },
  "devDependencies": {
    "@penpot/draft-js": "link:packages/draft-js",
    "@penpot/mousetrap": "link:packages/mousetrap",
    "@penpot/plugins-runtime": "link:../plugins/libs/plugins-runtime",
    "@penpot/svgo": "penpot/svgo#3.3.0",
    "@penpot/text-editor": "link:text-editor",
    "@penpot/tokenscript": "link:packages/tokenscript",
    "@penpot/ua-parser": "penpot/ua-parser#1.0.0",
    "@playwright/test": "1.62.1",
    "@storybook/addon-docs": "10.5.6",
    "@storybook/addon-themes": "10.5.6",
    "@storybook/addon-vitest": "10.5.6",
    "@storybook/react-vite": "10.5.6",
    "@tokens-studio/sd-transforms": "2.0.3",
    "@types/node": "^26.1.2",
    "@vitest/browser": "4.1.10",
    "@vitest/browser-playwright": "4.1.10",
    "@vitest/coverage-v8": "4.1.10",
    "@zip.js/zip.js": "2.8.34",
    "autoprefixer": "^10.5.4",
    "compression": "^1.8.1",
    "concurrently": "^10.0.4",
    "date-fns": "^4.4.0",
    "esbuild": "^0.28.1",
    "eventsource-parser": "^3.1.0",
    "express": "^5.1.0",
    "fancy-log": "^2.0.0",
    "getopts": "^2.3.0",
    "gettext-parser": "^9.1.1",
    "highlight.js": "^11.10.0",
    "js-beautify": "^2.0.3",
    "jsdom": "^30.0.1",
    "lodash": "^4.18.1",
    "lodash.debounce": "^4.0.8",
    "map-stream": "0.0.7",
    "marked": "^18.0.9",
    "mkdirp": "^3.0.1",
    "mustache": "^4.2.0",
    "nodemon": "^3.1.14",
    "npm-run-all": "^4.1.5",
    "opentype.js": "^2.0.0",
    "p-limit": "^7.3.1",
    "playwright": "1.62.1",
    "postcss": "^8.5.25",
    "postcss-clean": "^1.2.2",
    "postcss-modules": "^9.0.1",
    "postcss-scss": "^4.0.9",
    "prettier": "3.9.6",
    "pretty-time": "^1.1.0",
    "prop-types": "^15.8.1",
    "randomcolor": "^0.6.2",
    "react": "19.2.8",
    "react-dom": "19.2.8",
    "react-error-boundary": "^6.1.2",
    "react-virtualized": "^9.22.6",
    "rimraf": "^6.1.3",
    "rxjs": "8.0.0-alpha.14",
    "sass": "^1.102.0",
    "sass-embedded": "^1.100.0",
    "sax": "^1.6.1",
    "scheduler": "^0.27.0",
    "source-map-support": "^0.5.21",
    "storybook": "10.5.6",
    "style-dictionary": "5.5.0",
    "stylelint": "^17.14.1",
    "stylelint-config-standard-scss": "^17.0.0",
    "stylelint-plugin-logical-css": "^2.1.0",
    "stylelint-scss": "^7.2.0",
    "svg-sprite": "^2.0.4",
    "tdigest": "^0.1.2",
    "tinycolor2": "^1.6.0",
    "typescript": "^6.0.2",
    "vite": "^8.2.0",
    "vitest": "^4.1.10",
    "wait-on": "^9.1.0",
    "watcher": "^2.3.1",
    "workerpool": "^10.0.3",
    "xregexp": "^5.1.2"
  },
  "dependencies": {
    "@penpot/ui": "link:packages/ui",
    "react-aria-components": "^1.20.0"
  }
}
