{ "type": "module", "dependencies": { "@coldwired/actions": "^0.15.1", "@coldwired/react": "^0.15.1", "@coldwired/turbo-stream": "^0.15.1", "@coldwired/utils": "^0.13.0", "@formatjs/intl-listformat": "^7.5.7", "@frsource/autoresize-textarea": "^2.0.87", "@gouvfr/dsfr": "^1.11.2", "@graphiql/plugin-explorer": "^3.1.0", "@graphiql/toolkit": "^0.9.1", "@heroicons/react": "^1.0.6", "@hotwired/stimulus": "^3.2.2", "@hotwired/turbo": "^7.3.0", "@mapbox/mapbox-gl-draw": "^1.4.3", "@popperjs/core": "^2.11.8", "@rails/actiontext": "^7.1.3-4", "@rails/activestorage": "^7.1.3-4", "@rails/ujs": "^7.1.3-4", "@reach/slider": "^0.17.0", "@sentry/browser": "8.33.1", "@tiptap/core": "^2.2.4", "@tiptap/extension-bold": "^2.2.4", "@tiptap/extension-bullet-list": "^2.2.4", "@tiptap/extension-document": "^2.2.4", "@tiptap/extension-gapcursor": "^2.2.4", "@tiptap/extension-heading": "^2.2.4", "@tiptap/extension-highlight": "^2.2.4", "@tiptap/extension-history": "^2.2.4", "@tiptap/extension-italic": "^2.2.4", "@tiptap/extension-link": "^2.2.4", "@tiptap/extension-list-item": "^2.2.4", "@tiptap/extension-mention": "^2.2.4", "@tiptap/extension-ordered-list": "^2.2.4", "@tiptap/extension-paragraph": "^2.2.4", "@tiptap/extension-strike": "^2.2.4", "@tiptap/extension-text": "^2.2.4", "@tiptap/extension-text-align": "^2.2.4", "@tiptap/extension-typography": "^2.2.4", "@tiptap/extension-underline": "^2.2.4", "@tiptap/pm": "^2.2.4", "@tiptap/suggestion": "^2.2.4", "@tmcw/togeojson": "^5.8.1", "chartkick": "^5.0.1", "core-js": "^3.37.1", "date-fns": "^3.6.0", "debounce": "^2.1.0", "geojson": "^0.5.0", "graphiql": "^3.3.2", "graphql": "^16.9.0", "highcharts": "^10.3.3", "lightgallery": "^2.7.2", "maplibre-gl": "^4.5.0", "match-sorter": "^6.3.4", "patch-package": "^8.0.0", "react": "^18.3.1", "react-aria-components": "^1.3.1", "react-coordinate-input": "^1.0.0", "react-dom": "^18.3.1", "react-fast-compare": "^3.2.2", "react-use-event-hook": "^0.9.6", "spectaql": "^3.0.1", "stimulus-use": "^0.52.2", "superstruct": "^2.0.2", "terser": "^5.31.3", "tiny-invariant": "^1.3.3", "tippy.js": "^6.3.7", "trix": "^1.2.3", "usehooks-ts": "^3.1.0" }, "devDependencies": { "@esbuild/darwin-arm64": "=0.19.9", "@esbuild/linux-x64": "=0.19.9", "@esbuild/win32-x64": "=0.19.9", "@react-aria/optimize-locales-plugin": "^1.1.1", "@rollup/rollup-darwin-arm64": "=4.9.1", "@rollup/rollup-linux-x64-gnu": "=4.9.1", "@rollup/rollup-win32-x64-msvc": "=4.9.1", "@types/debounce": "^1.2.4", "@types/geojson": "^7946.0.14", "@types/is-hotkey": "^0.1.10", "@types/mapbox__mapbox-gl-draw": "^1.4.6", "@types/rails__activestorage": "^7.1.1", "@types/rails__ujs": "^6.0.4", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/sortablejs": "^1.15.8", "@typescript-eslint/eslint-plugin": "^7.17.0", "@typescript-eslint/parser": "^7.17.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.19", "del-cli": "^5.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^4.6.2", "jsdom": "^24.1.1", "postcss": "^8.4.40", "prettier": "^3.3.2", "typescript": "^5.5.4", "vite": "^5.3.5", "vite-plugin-full-reload": "^1.2.0", "vite-plugin-ruby": "^5.0.0", "vitest": "^2.0.4" }, "scripts": { "clean": "del tmp public/graphql && bin/vite clobber", "lint:js": "eslint --ext .js,.jsx,.ts,.tsx ./app/javascript", "lint:types": "tsc", "lint:css": "prettier app/assets/stylesheets --check", "lint:css:fix": "prettier app/assets/stylesheets --write", "graphql:doc:build": "RAILS_ENV=production bin/rake graphql:schema:idl && spectaql spectaql_config.yml", "postinstall": "patch-package", "test": "vitest", "coverage": "vitest run --coverage", "up": "bunx npm-check-updates --root --format group -i", "vite-bundle-visualizer": "bunx vite-bundle-visualizer" }, "resolutions": { "string-width": "4.2.2", "wrap-ansi": "7.0.0" }, "trustedDependencies": [ "core-js", "esbuild", "rollup" ], "prettier": { "singleQuote": true, "trailingComma": "none" }, "eslintConfig": { "root": true, "parser": "@typescript-eslint/parser", "globals": { "process": true, "gon": true }, "plugins": [ "prettier", "react-hooks" ], "extends": [ "eslint:recommended", "prettier", "plugin:react/recommended", "plugin:react-hooks/recommended" ], "env": { "es6": true, "browser": true }, "rules": { "prettier/prettier": "error", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "error", "react/prop-types": "off", "react/no-deprecated": "off" }, "settings": { "react": { "version": "detect" } }, "overrides": [ { "files": [ ".eslintrc.js", "vite.config.ts", "postcss.config.js" ], "env": { "node": true } }, { "files": [ "**/*.ts", "**/*.tsx" ], "plugins": [ "@typescript-eslint" ], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended", "plugin:react/jsx-runtime", "prettier" ], "rules": { "prettier/prettier": "error", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "error", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-unused-vars": "error" } } ] } }