mirror of
https://github.com/mastodon/mastodon.git
synced 2026-08-19 06:37:21 -05:00
207 lines
6.7 KiB
JSON
207 lines
6.7 KiB
JSON
{
|
|
"name": "@mastodon/mastodon",
|
|
"license": "AGPL-3.0-or-later",
|
|
"packageManager": "yarn@4.18.0",
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"workspaces": [
|
|
".",
|
|
"streaming"
|
|
],
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build:development": "cross-env RAILS_ENV=development NODE_ENV=development vite build --mode development",
|
|
"build:production": "cross-env RAILS_ENV=production NODE_ENV=production vite build --mode production",
|
|
"fix:js": "eslint . --cache --fix",
|
|
"fix:css": "stylelint --fix \"**/*.{css,scss}\"",
|
|
"fix": "yarn fix:js && yarn fix:css",
|
|
"format": "oxfmt",
|
|
"format:check": "oxfmt --check",
|
|
"i18n:extract": "formatjs extract 'app/javascript/**/*.{js,jsx,ts,tsx}' config/vite/plugin-sw-locales.ts --ignore '**/*.d.ts' --out-file app/javascript/mastodon/locales/en.json --format config/formatjs-formatter.js",
|
|
"lint:js": "cd $INIT_CWD && eslint --cache --report-unused-disable-directives",
|
|
"lint:css": "stylelint \"**/*.{css,scss}\"",
|
|
"lint": "yarn lint:js && yarn lint:css",
|
|
"postversion": "git push --tags",
|
|
"postinstall": "test -d node_modules/husky && husky || echo \"husky is not installed\"",
|
|
"start": "node ./streaming/index.js",
|
|
"test": "yarn lint && yarn run typecheck && yarn test:js run",
|
|
"test:js": "vitest --project=legacy-tests",
|
|
"test:storybook": "vitest --project=storybook",
|
|
"typecheck": "tsc --noEmit",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build",
|
|
"chromatic": "npx chromatic -d storybook-static",
|
|
"msw:updateWorker": "msw init"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/mastodon/mastodon.git"
|
|
},
|
|
"private": true,
|
|
"dependencies": {
|
|
"@csstools/stylelint-formatter-github": "2.0.0",
|
|
"@dnd-kit/core": "6.3.1",
|
|
"@dnd-kit/modifiers": "9.0.0",
|
|
"@dnd-kit/sortable": "10.0.0",
|
|
"@dnd-kit/utilities": "3.2.2",
|
|
"@floating-ui/react-dom": "2.1.9",
|
|
"@formatjs/intl-pluralrules": "6.3.13",
|
|
"@formatjs/unplugin": "1.2.3",
|
|
"@gamestdio/websocket": "0.3.2",
|
|
"@github/webauthn-json": "2.1.1",
|
|
"@optimize-lodash/rollup-plugin": "6.0.0",
|
|
"@phosphor-icons/react": "2.1.10",
|
|
"@react-spring/web": "10.1.2",
|
|
"@reduxjs/toolkit": "2.12.0",
|
|
"@rolldown/plugin-babel": "0.2.3",
|
|
"@unhead/react": "3.3.1",
|
|
"@use-gesture/react": "10.3.1",
|
|
"@vitejs/plugin-legacy": "8.2.3",
|
|
"@vitejs/plugin-react": "6.0.5",
|
|
"arrow-key-navigation": "1.2.0",
|
|
"async-mutex": "0.5.0",
|
|
"axios": "1.19.0",
|
|
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
"blurhash": "2.0.5",
|
|
"classnames": "2.5.1",
|
|
"cocoon-js-vanilla": "1.5.1",
|
|
"color-blend": "4.0.0",
|
|
"core-js": "3.50.0",
|
|
"cross-env": "10.1.0",
|
|
"debug": "4.4.3",
|
|
"delegated-events": "1.1.2",
|
|
"detect-passive-events": "2.0.3",
|
|
"emoji-mart": "npm:emoji-mart-lazyload@latest",
|
|
"emojibase": "16.0.0",
|
|
"emojibase-data": "16.0.3",
|
|
"emojibase-regex": "16.0.0",
|
|
"escape-html": "1.0.3",
|
|
"fast-glob": "3.3.3",
|
|
"fuzzysort": "3.1.0",
|
|
"history": "4.10.1",
|
|
"hoist-non-react-statics": "3.3.2",
|
|
"http-link-header": "1.1.4",
|
|
"idb": "8.0.3",
|
|
"immutable": "4.3.9",
|
|
"intl-messageformat": "11.2.13",
|
|
"js-yaml": "5.2.3",
|
|
"lande": "1.0.10",
|
|
"lodash": "4.18.1",
|
|
"marky": "1.3.0",
|
|
"path-complete-extname": "1.0.0",
|
|
"postcss-preset-env": "11.3.2",
|
|
"prop-types": "15.8.1",
|
|
"punycode": "2.3.1",
|
|
"react": "19.2.8",
|
|
"react-dom": "19.2.8",
|
|
"react-easy-crop": "6.2.3",
|
|
"react-immutable-proptypes": "2.2.0",
|
|
"react-immutable-pure-component": "2.2.2",
|
|
"react-intl": "10.1.20",
|
|
"react-redux": "9.3.0",
|
|
"react-redux-loading-bar": "5.0.8",
|
|
"react-router": "5.3.4",
|
|
"react-router-dom": "5.3.4",
|
|
"react-select": "5.10.2",
|
|
"react-sparklines": "1.7.0",
|
|
"react-textarea-autosize": "8.5.9",
|
|
"redux-immutable": "4.0.0",
|
|
"regenerator-runtime": "0.14.1",
|
|
"requestidlecallback": "0.3.0",
|
|
"rollup-plugin-gzip": "4.2.0",
|
|
"rollup-plugin-visualizer": "7.0.1",
|
|
"sass": "1.102.0",
|
|
"scroll-behavior": "0.11.0",
|
|
"stacktrace-js": "2.0.2",
|
|
"stringz": "2.1.0",
|
|
"substring-trie": "1.0.2",
|
|
"terser": "5.49.2",
|
|
"tesseract.js": "7.0.0",
|
|
"tiny-queue": "0.2.1",
|
|
"twitter-text": "3.1.0",
|
|
"use-debounce": "10.1.1",
|
|
"vite": "8.2.1",
|
|
"vite-plugin-manifest-sri": "0.2.0",
|
|
"vite-plugin-svgr": "5.2.0",
|
|
"wicg-inert": "3.1.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.39.2",
|
|
"@formatjs/cli": "6.14.4",
|
|
"@storybook/addon-a11y": "10.3.3",
|
|
"@storybook/addon-docs": "10.3.3",
|
|
"@storybook/addon-vitest": "10.3.3",
|
|
"@storybook/react-vite": "10.3.3",
|
|
"@testing-library/dom": "10.4.1",
|
|
"@testing-library/react": "16.3.2",
|
|
"@types/debug": "4.1.13",
|
|
"@types/emoji-mart": "3.0.14",
|
|
"@types/escape-html": "1.0.4",
|
|
"@types/hoist-non-react-statics": "3.3.7",
|
|
"@types/http-link-header": "1.0.7",
|
|
"@types/intl": "1.2.2",
|
|
"@types/js-yaml": "4.0.9",
|
|
"@types/lodash": "4.17.24",
|
|
"@types/object-assign": "4.0.33",
|
|
"@types/prop-types": "15.7.15",
|
|
"@types/punycode": "2.1.4",
|
|
"@types/react": "19.2.17",
|
|
"@types/react-dom": "19.2.3",
|
|
"@types/react-immutable-proptypes": "2.1.3",
|
|
"@types/react-router": "5.1.20",
|
|
"@types/react-router-dom": "5.3.3",
|
|
"@types/react-sparklines": "1.7.5",
|
|
"@types/redux-immutable": "4.0.6",
|
|
"@types/requestidlecallback": "0.3.7",
|
|
"@typescript/native": "npm:typescript@7.0.2",
|
|
"@vitest/browser": "4.1.10",
|
|
"@vitest/browser-playwright": "4.1.10",
|
|
"@vitest/coverage-v8": "4.1.9",
|
|
"@vitest/ui": "4.1.9",
|
|
"chromatic": "18.0.0",
|
|
"eslint": "9.39.2",
|
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
"eslint-plugin-formatjs": "6.4.3",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-jsdoc": "63.0.0",
|
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
"eslint-plugin-promise": "7.2.1",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
"eslint-plugin-storybook": "10.2.8",
|
|
"fake-indexeddb": "6.2.5",
|
|
"globals": "17.3.0",
|
|
"husky": "9.1.7",
|
|
"lint-staged": "17.0.5",
|
|
"msw": "2.12.14",
|
|
"msw-storybook-addon": "2.0.6",
|
|
"oxfmt": "0.47.0",
|
|
"playwright": "1.62.1",
|
|
"storybook": "10.3.3",
|
|
"stylelint": "17.10.0",
|
|
"stylelint-config-standard-scss": "17.0.0",
|
|
"type-fest": "5.7.0",
|
|
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
"typescript-eslint": "8.65.0",
|
|
"typescript-plugin-css-modules": "5.2.0",
|
|
"vitest": "4.1.10"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react": {
|
|
"optional": true
|
|
},
|
|
"react-dom": {
|
|
"optional": true
|
|
},
|
|
"react-router-dom": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"msw": {
|
|
"workerDirectory": [
|
|
".storybook/static"
|
|
]
|
|
}
|
|
}
|