mirror of
https://github.com/penpot/penpot.git
synced 2026-09-30 15:56:17 +00:00
Protect shared setup, compilation, artifact copy, and target cleanup with one flock lock per checkout. Route watch builds and frontend cleanup through the protected scripts. Document the lock contract and normalize the frontend and exporter build:wasm commands. Closes #11901 AI-assisted-by: Space Bunny Free
137 lines
5.8 KiB
JSON
137 lines
5.8 KiB
JSON
{
|
|
"name": "frontend",
|
|
"version": "1.0.0",
|
|
"license": "MPL-2.0",
|
|
"author": "Kaleidos INC Sucursal en España SL",
|
|
"private": true,
|
|
"packageManager": "pnpm@12.5.1+sha512.e3f305bc784a2bc89f5ad3b6138889470fae8d2af5f36b61216ec91c2c3d64089775f9de38aac331044ea40f245cb0d5666392dfdf65824e1907ef6a2c62de5f",
|
|
"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": "../render-wasm/clean frontend",
|
|
"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) && (cd packages/ui && 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.10",
|
|
"@storybook/addon-themes": "10.5.10",
|
|
"@storybook/addon-vitest": "10.5.10",
|
|
"@storybook/react-vite": "10.5.10",
|
|
"@tokens-studio/sd-transforms": "2.0.3",
|
|
"@types/node": "^26.4.0",
|
|
"@vitest/browser": "4.1.11",
|
|
"@vitest/browser-playwright": "4.1.11",
|
|
"@vitest/coverage-v8": "4.1.11",
|
|
"@zip.js/zip.js": "2.8.34",
|
|
"autoprefixer": "^10.5.4",
|
|
"compression": "^1.8.1",
|
|
"concurrently": "^10.0.5",
|
|
"date-fns": "^4.4.0",
|
|
"esbuild": "^0.28.2",
|
|
"eventsource-parser": "^4.1.0",
|
|
"express": "^5.1.0",
|
|
"fancy-log": "^2.0.0",
|
|
"getopts": "^2.3.0",
|
|
"gettext-parser": "^9.1.1",
|
|
"highlight.js": "^11.12.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.11",
|
|
"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.26",
|
|
"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.3",
|
|
"react-virtualized": "^9.22.6",
|
|
"rimraf": "^6.1.3",
|
|
"rxjs": "8.0.0-alpha.14",
|
|
"sass": "^1.103.1",
|
|
"sass-embedded": "^1.103.1",
|
|
"sax": "^1.6.1",
|
|
"scheduler": "^0.27.0",
|
|
"source-map-support": "^0.5.21",
|
|
"storybook": "10.5.10",
|
|
"style-dictionary": "5.5.2",
|
|
"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.3",
|
|
"tinycolor2": "^1.6.0",
|
|
"typescript": "^6.0.2",
|
|
"vite": "^8.2.2",
|
|
"vitest": "^4.1.11",
|
|
"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"
|
|
}
|
|
}
|