@plone/volto
Version:
Volto
407 lines • 13.3 kB
JSON
{
"name": "@plone/volto",
"description": "Volto",
"maintainers": [
{
"name": "Plone Foundation",
"email": "plone-developers@lists.sourceforge.net",
"url": "http://plone.org"
}
],
"license": "MIT",
"version": "18.32.4",
"repository": {
"type": "git",
"url": "git@github.com:plone/volto.git"
},
"customizationPaths": [
"src/customizations/"
],
"bugs": {
"url": "https://github.com/plone/volto/issues",
"email": "plone-developers@lists.sourceforge.net"
},
"homepage": "https://plone.org",
"keywords": [
"volto",
"plone",
"react"
],
"coreAddons": {
"volto-slate": {
"package": "@plone/volto-slate"
}
},
"main": "src/index.js",
"types": "types/index.d.ts",
"bundlewatch": {
"files": [
{
"path": "build/public/static/js/*.js",
"maxSize": "700kB"
}
]
},
"jest": {
"transform": {
"^.+\\.js(x)?$": "babel-jest",
"^.+\\.ts(x)?$": "ts-jest",
"^.+\\.(png)$": "jest-file",
"^.+\\.(jpg)$": "jest-file",
"^.+\\.(svg)$": "./jest-svgsystem-transform.js"
},
"moduleNameMapper": {
"@plone/volto/package.json": "<rootDir>/package.json",
"@plone/volto/babel": "<rootDir>/babel.js",
"@plone/volto/(.*)$": "<rootDir>/src/$1",
"@plone/volto-slate/(.*)$": "<rootDir>/../volto-slate/src/$1",
"@plone/registry/addon-registry$": "<rootDir>/node_modules/@plone/registry/dist/addon-registry/addon-registry.js",
"@plone/registry/create-addons-loader$": "<rootDir>/node_modules/@plone/registry/dist/addon-registry/create-addons-loader.js",
"@plone/registry": "<rootDir>/../registry/src",
"@plone/registry/(.*)$": "<rootDir>/../registry/src/$1",
"@plone/volto": "<rootDir>/src/index.js",
"~/config": "<rootDir>/src/config",
"~/../locales/${lang}.json": "<rootDir>/locales/en.json",
"(.*)/locales/(.*)": "<rootDir>/locales/$2",
"load-volto-addons": "<rootDir>/jest-addons-loader.js",
"@package/(.*)$": "<rootDir>/src/$1",
"@root/config": "<rootDir>/jest-addons-loader.js",
"@root/(.*)$": "<rootDir>/src/$1",
"@voltoconfig": "<rootDir>/jest-addons-loader.js",
"\\.(css|less|scss|sass)$": "identity-obj-proxy"
},
"coverageThreshold": {
"global": {
"branches": 10,
"functions": 10,
"lines": 10,
"statements": 10
}
},
"setupFiles": [
"./test-setup-globals.js",
"./test-setup-config.jsx"
],
"globalSetup": "./global-test-setup.js",
"setupFilesAfterEnv": [
"<rootDir>/jest-setup-afterenv.js"
],
"globals": {
"__DEV__": true
},
"testMatch": [
"<rootDir>/__tests__/**/?(*.)(spec|test).{js,jsx,mjs,ts,tsx}",
"<rootDir>/../**/?(*.)(spec|test).{js,jsx,mjs,ts,tsx}"
]
},
"stylelint": {
"extends": [
"stylelint-config-idiomatic-order"
],
"plugins": [
"stylelint-prettier"
],
"overrides": [
{
"files": [
"**/*.scss"
],
"customSyntax": "postcss-scss"
},
{
"files": [
"**/*.less"
],
"customSyntax": "postcss-less"
},
{
"files": [
"**/*.overrides"
],
"customSyntax": "postcss-less"
}
],
"rules": {
"prettier/prettier": true,
"rule-empty-line-before": [
"always-multi-line",
{
"except": [
"first-nested"
],
"ignore": [
"after-comment"
]
}
]
},
"ignoreFiles": "theme/themes/default/**/*.overrides"
},
"browserslist": [
">1%",
"last 4 versions",
"Firefox ESR",
"not dead"
],
"engines": {
"node": "^20 || ^22"
},
"dependencies": {
"@dnd-kit/core": "6.0.8",
"@dnd-kit/sortable": "7.0.2",
"@dnd-kit/utilities": "3.2.2",
"@loadable/component": "5.14.1",
"@loadable/server": "5.14.0",
"@redux-devtools/extension": "^3.3.0",
"classnames": "2.5.1",
"connected-react-router": "6.8.0",
"debug": "4.3.2",
"decorate-component-with-props": "1.2.1",
"dependency-graph": "0.10.0",
"detect-browser": "5.1.0",
"diff": "3.5.0",
"express": "4.19.2",
"filesize": "6",
"full-icu": "1.4.0",
"github-slugger": "1.4.0",
"history": "4.10.1",
"hoist-non-react-statics": "3.3.2",
"http-proxy-middleware": "2.0.1",
"image-extensions": "1.1.0",
"is-hotkey": "0.2.0",
"is-url": "1.2.4",
"jotai": "2.11.3",
"jwt-decode": "2.2.0",
"linkify-it": "3.0.2",
"locale": "0.1.0",
"lodash": "4.17.21",
"lodash-move": "1.1.1",
"moment": "2.29.4",
"object-assign": "4.1.1",
"prepend-http": "2",
"pretty-bytes": "5.3.0",
"prettier": "3.2.5",
"prismjs": "1.27.0",
"process": "^0.11.10",
"promise-file-reader": "1.0.2",
"prop-types": "15.7.2",
"query-string": "7.1.0",
"rc-time-picker": "3.7.3",
"react": "18.2.0",
"react-anchor-link-smooth-scroll": "1.0.12",
"react-animate-height": "2.0.17",
"react-beautiful-dnd": "13.0.0",
"react-cookie": "4.1.1",
"react-dates": "21.5.1",
"react-detect-click-outside": "1.1.1",
"react-dnd": "5.0.0",
"react-dnd-html5-backend": "5.0.1",
"react-dom": "18.2.0",
"react-dropzone": "11.1.0",
"react-fast-compare": "2.0.4",
"react-image-gallery": "1.2.7",
"react-intersection-observer": "9.1.0",
"react-intl": "3.12.1",
"react-intl-redux": "2.3.0",
"react-medium-image-zoom": "3.0.15",
"react-popper": "^2.3.0",
"react-redux": "8.1.2",
"react-router": "5.2.0",
"react-router-config": "5.1.1",
"react-router-dom": "5.2.0",
"react-router-hash-link": "2.4.3",
"react-select": "4.3.1",
"react-select-async-paginate": "0.5.3",
"react-side-effect": "2.1.2",
"react-simple-code-editor": "0.7.1",
"react-sortable-hoc": "2.0.0",
"react-test-renderer": "18.2.0",
"react-toastify": "5.5.0",
"react-transition-group": "4.4.5",
"react-virtualized": "9.22.3",
"redux": "4.2.1",
"redux-actions": "3.0.0",
"redux-connect": "10.0.0",
"redux-localstorage-simple": "2.5.1",
"redux-mock-store": "1.5.4",
"redux-thunk": "2.4.2",
"rrule": "2.7.1",
"semantic-ui-less": "2.4.1",
"semantic-ui-react": "2.1.5",
"serialize-javascript": "3.1.0",
"slate": "0.100.0",
"slate-hyperscript": "0.100.0",
"slate-react": "0.98.4",
"superagent": "3.8.2",
"tlds": "1.203.1",
"undoo": "0.5.0",
"universal-cookie": "4.0.4",
"universal-cookie-express": "4.0.3",
"url": "^0.11.3",
"use-deep-compare-effect": "1.8.1",
"uuid": "^8.3.2",
"@plone/registry": "2.7.0",
"@plone/volto-slate": "18.8.1",
"@plone/scripts": "3.10.4"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/eslint-parser": "7.22.15",
"@babel/plugin-proposal-export-default-from": "7.18.10",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-json-strings": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-throw-expressions": "7.18.6",
"@babel/plugin-syntax-export-namespace-from": "7.8.3",
"@babel/runtime": "7.20.6",
"@babel/types": "7.20.5",
"@fiverr/afterbuild-webpack-plugin": "^1.0.0",
"@jest/globals": "^29.7.0",
"@loadable/babel-plugin": "5.13.2",
"@loadable/webpack-plugin": "5.15.2",
"@sinonjs/fake-timers": "^6.0.1",
"@storybook/addon-actions": "^8.0.4",
"@storybook/addon-controls": "^8.0.4",
"@storybook/addon-docs": "^8.0.4",
"@storybook/addon-essentials": "^8.0.4",
"@storybook/addon-links": "^8.0.4",
"@storybook/addon-webpack5-compiler-babel": "3.0.3",
"@storybook/react": "^8.0.4",
"@storybook/react-webpack5": "^8.0.4",
"@storybook/test": "^8.0.4",
"@storybook/theming": "^8.0.4",
"@testing-library/cypress": "10.1.0",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/react": "14.3.1",
"@testing-library/react-hooks": "8.0.1",
"@types/history": "^4.7.11",
"@types/jest": "^29.5.8",
"@types/loadable__component": "^5.13.9",
"@types/lodash": "^4.14.201",
"@types/node": "^22",
"@types/react": "^18",
"@types/react-dom": "^18",
"@types/react-intl-redux": "^0.1.19",
"@types/react-router-dom": "^5.3.3",
"@types/react-test-renderer": "18.0.7",
"@types/redux-mock-store": "^1.5.0",
"@types/uuid": "^9.0.2",
"@typescript-eslint/eslint-plugin": "^7.7.0",
"@typescript-eslint/parser": "^7.7.0",
"@vitejs/plugin-react": "^4.3.4",
"@vitest/ui": "^2.1.8",
"autoprefixer": "10.4.8",
"axe-core": "4.4.2",
"babel-loader": "9.1.0",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-lodash": "3.3.4",
"babel-plugin-react-intl": "5.1.17",
"babel-plugin-root-import": "6.1.0",
"babel-preset-razzle": "4.2.18",
"bundlewatch": "0.3.3",
"circular-dependency-plugin": "5.2.2",
"css-loader": "5.2.7",
"cypress": "13.17.0",
"cypress-axe": "1.7.0",
"cypress-file-upload": "5.0.8",
"deep-freeze": "0.0.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.2",
"eslint-config-react-app": "^7.0.1",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-import-resolver-babel-plugin-root-import": "^1.1.1",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-no-only-tests": "^3.3.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"html-webpack-plugin": "5.5.0",
"identity-obj-proxy": "3.0.0",
"jest": "26.6.3",
"jest-environment-jsdom": "^26",
"jest-file": "1.0.0",
"jiti": "^2.4.2",
"jsdom": "^16.7.0",
"jsonwebtoken": "9.0.0",
"less": "3.11.1",
"less-loader": "11.1.0",
"lodash-webpack-plugin": "0.11.6",
"mini-css-extract-plugin": "2.7.2",
"moment-locales-webpack-plugin": "1.2.0",
"postcss": "8.4.31",
"postcss-flexbugs-fixes": "5.0.2",
"postcss-less": "6.0.0",
"postcss-load-config": "3.1.4",
"postcss-loader": "7.0.2",
"postcss-overrides": "3.1.4",
"postcss-scss": "4.0.6",
"razzle": "4.2.18",
"razzle-dev-utils": "4.2.18",
"razzle-plugin-scss": "4.2.18",
"react-docgen-typescript-plugin": "^1.0.5",
"react-error-overlay": "6.0.9",
"react-is": "^18.2.0",
"release-it": "^19.0.5",
"semver": "^7.5.4",
"start-server-and-test": "1.14.0",
"storybook": "^8.6.15",
"style-loader": "3.3.1",
"stylelint": "^16.3.1",
"stylelint-config-idiomatic-order": "10.0.0",
"stylelint-prettier": "5.0.0",
"svg-loader": "0.0.2",
"svgo": "^3.0.0",
"svgo-loader": "3.0.3",
"terser-webpack-plugin": "5.3.6",
"tmp": "0.2.1",
"ts-jest": "^26.4.2",
"ts-loader": "9.4.4",
"typescript": "^5.7.3",
"use-trace-update": "1.3.2",
"vitest": "^3.0.4",
"wait-on": "6.0.0",
"webpack": "5.105.4",
"webpack-bundle-analyzer": "4.10.1",
"webpack-dev-server": "4.11.1",
"webpack-node-externals": "3.0.0",
"why": "0.6.2",
"@plone/types": "1.6.1",
"@plone/volto-coresandbox": "1.0.0"
},
"volta": {
"node": "20.9.0"
},
"scripts": {
"analyze": "BUNDLE_ANALYZE=true razzle build",
"start": "make build-deps && razzle start",
"start:coresandbox": "make build-deps && ADDONS=coresandbox razzle start",
"build": "make build-deps && razzle build --noninteractive",
"build:types": "tsc --project tsconfig.declarations.json",
"vitest": "vitest",
"coverage": "vitest run --coverage",
"test": "razzle test --maxWorkers=${MAX_WORKERS:-50%}",
"test:ci": "CI=true NODE_ICU_DATA=node_modules/full-icu razzle test",
"test:husky": "CI=true yarn test --bail --findRelatedTests",
"start:prod": "NODE_ENV=production node build/server.js",
"prettier": "prettier --single-quote --check '{src,cypress}/**/*.{js,jsx,ts,tsx}' --check '*.js'",
"prettier:fix": "prettier --single-quote --write '{src,cypress}/**/*.{js,jsx,ts,tsx}' --write '*.js'",
"prettier:husky": "prettier --single-quote --write",
"stylelint": "stylelint 'theme/**/*.{css,less}' 'src/**/*.{css,less}'",
"stylelint:overrides": "stylelint 'theme/**/*.overrides' 'src/**/*.overrides'",
"stylelint:fix": "yarn stylelint --fix && yarn stylelint:overrides --fix",
"lint": "eslint --max-warnings=0 '{src,cypress}/**/*.{js,jsx,ts,tsx,json}'",
"lint:fix": "eslint --fix '{src,cypress}/**/*.{js,jsx,ts,tsx,json}'",
"lint:husky": "eslint --max-warnings=0 --fix",
"i18n": "rm -rf build/messages && NODE_ENV=production i18n",
"i18n:ci": "pnpm i18n && git diff -G'^[^\"POT]' --exit-code",
"typecheck": "tsc --project tsconfig.json --noEmit",
"dry-release": "release-it --dry-run",
"release": "release-it",
"release-major-alpha": "release-it major --preRelease=alpha",
"release-alpha": "release-it --preRelease=alpha",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
}
}