{ "name": "pl-fe", "displayName": "Nicolium", "version": "0.0.1", "description": "Mastodon-compatible social media front-end", "keywords": [ "fediverse", "pleroma" ], "homepage": "https://codeberg.org/mkljczk/nicolium", "bugs": { "url": "https://codeberg.org/mkljczk/nicolium/issues" }, "license": "AGPL-3.0-or-later", "repository": { "type": "git", "url": "https://codeberg.org/mkljczk/nicolium" }, "type": "module", "scripts": { "start": "npx vite serve", "dev": "${npm_execpath} run start", "build": "npx vite build --emptyOutDir", "preview": "npx vite preview", "audit:fix": "npx yarn-audit-fix", "i18n": "npx formatjs extract 'src/**/*.{ts,tsx}' --ignore '**/*.d.ts' --out-file build/messages.json && npx formatjs compile build/messages.json --out-file src/locales/en.json", "lint": "${npm_execpath} run lint:js && ${npm_execpath} run lint:sass", "lint:js": "oxlint", "lint:sass": "npx stylelint src/styles/**/*.scss", "fmt": "oxfmt", "fmt:check": "oxfmt --check", "precommit": "lint-staged" }, "dependencies": { "@emoji-mart/data": "^1.2.1", "@floating-ui/react": "^0.27.18", "@fontsource/inter": "^5.2.8", "@fontsource/noto-sans-javanese": "^5.2.8", "@fontsource/roboto-mono": "^5.2.8", "@fontsource/tajawal": "^5.2.7", "@lexical/code": "^0.40.0", "@lexical/hashtag": "^0.40.0", "@lexical/link": "^0.40.0", "@lexical/list": "^0.40.0", "@lexical/markdown": "^0.40.0", "@lexical/react": "^0.40.0", "@lexical/rich-text": "^0.40.0", "@lexical/selection": "^0.40.0", "@lexical/utils": "^0.40.0", "@mkljczk/url-purify": "^0.0.5", "@phosphor-icons/core": "^2.1.1", "@reach/combobox": "^0.18.0", "@reach/rect": "^0.18.0", "@reach/tabs": "^0.18.0", "@react-spring/web": "^10.0.3", "@reduxjs/toolkit": "^2.5.0", "@sentry/browser": "^8.47.0", "@sentry/react": "^8.47.0", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.16", "@tanstack/react-pacer": "^0.20.0", "@tanstack/react-query": "^5.90.21", "@tanstack/react-router": "^1.162.8", "@transfem-org/sfm-js": "^0.26.1", "@twemoji/svg": "^15.0.0", "@uidotdev/usehooks": "^2.4.1", "@use-gesture/react": "^10.3.1", "@yornaath/batshit": "^0.14.0", "abortcontroller-polyfill": "^1.7.8", "autoprefixer": "^10.4.24", "blurhash": "^2.0.5", "bowser": "^2.14.1", "browserslist": "^4.28.1", "browserslist-to-esbuild": "^2.1.1", "clsx": "^2.1.1", "core-js": "^3.48.0", "cryptocurrency-icons": "^0.18.1", "cssnano": "^6.0.0", "detect-passive-events": "^2.0.0", "emoji-datasource": "15.0.1", "emoji-mart": "^5.6.0", "exifr": "^7.1.3", "fast-average-color": "^9.5.0", "fasttext.wasm.js": "^1.0.0", "flexsearch": "^0.7.43", "fuzzysort": "^3.1.0", "graphemesplit": "^2.4.4", "html-react-parser": "^5.2.17", "intersection-observer": "^0.12.2", "intl-messageformat": "^11.1.2", "intl-pluralrules": "^2.0.1", "isomorphic-dompurify": "^3.0.0", "leaflet": "^1.9.4", "lexical": "^0.40.0", "line-awesome": "^1.3.0", "localforage": "^1.10.0", "lodash-es": "^4.17.23", "mini-css-extract-plugin": "^2.10.0", "mutative": "^1.3.0", "object-to-formdata": "^4.5.1", "path-browserify": "^1.0.1", "pl-api": "workspace:*", "postcss": "^8.5.3", "process": "^0.11.10", "punycode": "^2.1.1", "qrcode.react": "^4.2.0", "query-string": "^9.3.1", "react": "^19.2.4", "react-color": "^2.19.3", "react-datepicker": "^8.3.0", "react-dom": "^19.2.4", "react-helmet-async": "^2.0.5", "react-hot-toast": "^2.6.0", "react-inlinesvg": "^4.1.8", "react-intl": "^8.1.3", "react-redux": "^9.0.4", "react-sparklines": "^1.7.0", "react-sticky-box": "^2.0.5", "react-swipeable-views": "^0.14.0", "react-virtuoso": "^4.18.1", "redux": "^5.0.1", "redux-thunk": "^3.1.0", "reselect": "^5.1.1", "resize-observer": "^1.0.4", "sass-embedded": "^1.97.3", "stringz": "^2.1.0", "tabbable": "^6.4.0", "use-mutative": "^1.3.1", "util": "^0.12.5", "valibot": "^1.2.0", "zustand": "^5.0.11", "zustand-mutative": "^1.3.1" }, "devDependencies": { "@formatjs/cli": "^6.13.0", "@sentry/types": "^8.47.0", "@types/dom-chromium-ai": "^0.0.14", "@types/leaflet": "^1.9.21", "@types/lodash": "^4.17.24", "@types/path-browserify": "^1.0.3", "@types/react": "^19.2.14", "@types/react-color": "^3.0.13", "@types/react-dom": "^19.2.3", "@types/react-sparklines": "^1.7.5", "@types/react-swipeable-views": "^0.13.6", "@vitejs/plugin-react": "^5.1.3", "eslint-plugin-formatjs": "^6.2.0", "globals": "^17.3.0", "oxfmt": "^0.35.0", "oxlint": "^1.50.0", "oxlint-tsgolint": "^0.14.2", "rollup-plugin-bundle-stats": "^4.21.10", "stylelint": "^16.12.0", "stylelint-config-standard-scss": "^12.0.0", "tailwindcss": "^3.4.19", "tslib": "^2.8.1", "type-fest": "^4.30.1", "typescript": "5.9.3", "vite": "^7.3.1", "vite-plugin-checker": "^0.12.0", "vite-plugin-compile-time": "^0.4.6", "vite-plugin-html": "^3.2.2", "vite-plugin-pwa": "^1.2.0", "vite-plugin-require": "^1.2.14", "vite-plugin-static-copy": "^3.2.0" }, "lint-staged": { "*.{js,cjs,mjs,ts,tsx}": [ "oxlint", "oxfmt --check" ], "src/styles/**/*.scss": "stylelint" }, "browserslist": [ "> 0.5%", "last 2 versions", "not dead" ] }