{ "name": "gutenberg", "version": "22.5.0", "private": true, "description": "A new WordPress editor experience.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "WordPress", "editor" ], "homepage": "https://github.com/WordPress/gutenberg/", "repository": "git+https://github.com/WordPress/gutenberg.git", "bugs": { "url": "https://github.com/WordPress/gutenberg/issues" }, "engines": { "node": ">=20.10.0", "npm": ">=10.2.3" }, "wpPlugin": { "name": "gutenberg", "scriptGlobal": "wp", "packageNamespace": "wordpress", "handlePrefix": "wp", "pages": [ { "id": "site-editor-v2", "init": [ "@wordpress/edit-site-init" ] }, "font-library" ] }, "config": { "IS_GUTENBERG_PLUGIN": true }, "devDependencies": { "@apidevtools/json-schema-ref-parser": "11.6.4", "@babel/core": "7.25.7", "@emotion/is-prop-valid": "1.2.2", "@emotion/jest": "11.7.1", "@emotion/native": "11.0.0", "@inquirer/prompts": "7.2.0", "@octokit/rest": "16.26.0", "@playwright/test": "1.57.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "14.3.0", "@testing-library/user-event": "14.4.3", "@types/node": "^20.17.10", "@types/prettier": "2.4.4", "@types/react": "^18.3.27", "@types/react-dom": "^18.3.1", "@types/semver": "7.3.8", "@types/sprintf-js": "1.1.2", "@types/uuid": "8.3.1", "@vitejs/plugin-react": "5.1.2", "@wordpress/build": "file:./packages/wp-build", "ajv": "8.17.1", "babel-jest": "29.7.0", "babel-loader": "9.2.1", "babel-plugin-inline-json-import": "0.3.2", "chalk": "4.1.1", "change-case": "4.1.2", "commander": "9.2.0", "comment-parser": "^1.1.1", "concurrently": "3.5.0", "cross-env": "7.0.3", "cross-spawn": "^7.0.6", "css-loader": "^6.2.0", "esbuild": "^0.27.2", "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-eslint-comments": "3.1.2", "eslint-plugin-import": "2.25.2", "eslint-plugin-jest": "27.4.3", "eslint-plugin-jest-dom": "5.0.2", "eslint-plugin-prettier": "5.0.0", "eslint-plugin-react-compiler": "19.0.0-beta-0dec889-20241115", "eslint-plugin-ssr-friendly": "1.0.6", "eslint-plugin-storybook": "10.1.11", "eslint-plugin-testing-library": "6.0.2", "execa": "4.0.2", "fast-glob": "^3.2.7", "filenamify": "4.2.0", "glob": "7.1.2", "husky": "7.0.0", "jest": "29.6.2", "jest-environment-jsdom": "^30.2.0", "jest-jasmine2": "29.6.2", "jest-junit": "13.0.0", "jest-message-util": "^29.6.2", "jest-watch-typeahead": "2.2.2", "json2md": "2.0.1", "jsonc-parser": "3.3.1", "lerna": "8.1.9", "lint-staged": "10.0.2", "node-fetch": "2.7.0", "npm-run-all": "4.1.5", "patch-package": "8.0.0", "postcss-loader": "6.2.1", "prettier": "npm:wp-prettier@3.0.3", "raw-loader": "4.0.2", "react": "18.3.1", "react-docgen-typescript": "2.2.2", "react-dom": "18.3.1", "react-scanner": "1.2.0", "reassure": "0.7.1", "resize-observer-polyfill": "1.5.1", "rimraf": "5.0.10", "sass": "^1.54.0", "sass-embedded": "^1.97.2", "sass-loader": "16.0.3", "semver": "7.5.4", "simple-git": "3.24.0", "snapshot-diff": "0.10.0", "sprintf-js": "1.1.1", "style-loader": "3.2.1", "stylelint-plugin-logical-css": "^1.2.3", "typescript": "5.9.3", "uuid": "9.0.1", "vite": "7.3.0", "wait-on": "8.0.1" }, "overrides": { "jsdom": "26.1.0" }, "scripts": { "build": "node ./bin/build.mjs", "build:profile-types": "rimraf ./ts-traces && npm run clean:package-types && node ./bin/packages/validate-typescript-version.js && ( tsc --build --extendedDiagnostics --generateTrace ./ts-traces || ( echo 'tsc failed.'; exit 1 ) ) && node ./bin/packages/check-build-type-declaration-files.js && npx --yes @typescript/analyze-trace ts-traces > ts-traces/analysis.txt && node -p \"'\\n\\nDone! Build traces saved to ts-traces/ directory.\\nTrace analysis saved to ts-traces/analysis.txt.'\"", "build:plugin-zip": "bash ./bin/build-plugin-zip.sh", "clean:package-types": "tsc --build --clean && rimraf --glob \"./packages/*/build-types\"", "clean:packages": "rimraf --glob \"./packages/*/{build,build-module,build-wp,build-style}\"", "component-usage-stats": "node ./node_modules/react-scanner/bin/react-scanner -c ./react-scanner.config.js", "dev": "node ./bin/dev.mjs", "distclean": "git clean --force -d -X", "docs:api-ref": "node ./bin/api-docs/update-api-docs.js", "docs:blocks": "node ./bin/api-docs/gen-block-lib-list.js", "docs:build": "npm-run-all docs:components docs:gen docs:blocks docs:api-ref docs:theme-ref", "docs:components": "node ./bin/api-docs/gen-components-docs/index.mjs", "docs:gen": "node ./docs/tool/index.js", "docs:theme-ref": "node ./bin/api-docs/gen-theme-reference.mjs", "env": "wp-env", "fixtures:clean": "rimraf --glob \"test/integration/fixtures/blocks/*.{json,serialized.html}\"", "fixtures:generate": "cross-env GENERATE_MISSING_FIXTURES=y npm run test:unit test/integration/full-content/ && npm run format test/integration/fixtures/blocks/*.json", "fixtures:regenerate": "npm-run-all fixtures:clean fixtures:generate", "format": "wp-scripts format", "preformat:php": "npm run other:update-packages:php", "format:php": "wp-env run --env-cwd='wp-content/plugins/gutenberg' cli composer run-script format", "prelint:js": "npm run --if-present --workspaces prelint:js", "lint": "concurrently \"npm run lint:lockfile\" \"npm run lint:tsconfig\" \"npm run lint:js\" \"npm run lint:pkg-json\" \"npm run lint:css\"", "lint:css": "wp-scripts lint-style \"**/*.scss\" \"**/*.module.css\"", "lint:css:fix": "npm run lint:css -- --fix", "lint:js": "wp-scripts lint-js", "lint:js:fix": "npm run lint:js -- --fix", "lint:lockfile": "node ./bin/validate-package-lock.js", "lint:tsconfig": "node ./bin/validate-tsconfig.mjs", "lint:md:docs": "wp-scripts lint-md-docs", "prelint:php": "npm run other:update-packages:php", "lint:php": "wp-env run --env-cwd='wp-content/plugins/gutenberg' cli composer run-script lint", "lint:pkg-json": "wp-scripts lint-pkg-json . 'packages/*/package.json'", "native": "npm run --prefix packages/react-native-editor", "other:changelog": "node ./bin/plugin/cli.js changelog", "other:check-licenses": "concurrently \"node ./bin/check-licenses.mjs\" \"wp-scripts check-licenses --dev\"", "preother:check-local-changes": "npm run docs:build && npm run --workspace @wordpress/theme build", "other:check-local-changes": "node ./bin/check-local-changes.js", "other:cherry-pick": "node ./bin/cherry-pick.mjs", "other:generate-php-sync-issue": "node ./bin/generate-php-sync-issue.mjs", "other:update-packages:php": "wp-env run --env-cwd='wp-content/plugins/gutenberg' cli composer update --no-interaction", "postinstall": "patch-package && node ./patches/patch-xcode.js", "prepare": "husky install", "prepublishOnly": "npm run build", "start": "npm run dev", "prestorybook:build": "npm run build -- --skip-types", "storybook:build": "npm run --workspace @wordpress/storybook storybook:build", "storybook:dev": "concurrently \"npm run dev\" \"wait-on .dev-ready && npm run --workspace @wordpress/storybook storybook:dev\"", "storybook:e2e:dev": "concurrently \"npm run dev\" \"wait-on .dev-ready && storybook dev -c test/storybook-playwright/storybook -p 50241\"", "test": "npm-run-all lint test:unit", "test:create-block": "bash ./bin/test-create-block.sh", "test:e2e": "wp-scripts test-playwright --config test/e2e/playwright.config.ts", "test:e2e:debug": "wp-scripts test-playwright --config test/e2e/playwright.config.ts --ui", "test:e2e:playwright": "npm run test:e2e", "test:e2e:playwright:debug": "npm run test:e2e:debug", "test:e2e:storybook": "playwright test --config test/storybook-playwright/playwright.config.ts", "test:e2e:watch": "npm run test:e2e -- --watch", "test:native": "cross-env NODE_ENV=test jest --config test/native/jest.config.js", "test:native:watch": "npm run test:native -- --watch", "test:native:clean": "jest --clearCache --config test/native/jest.config.js; rm -rf $TMPDIR/jest_*", "test:native:debug": "cross-env NODE_ENV=test node --inspect-brk node_modules/.bin/jest --runInBand --verbose --config test/native/jest.config.js", "test:native:perf": "cross-env TEST_RUNNER_ARGS='--runInBand --config test/native/jest.config.js --testMatch \"**/performance/*.native.[jt]s?(x)\"' reassure", "test:native:perf:baseline": "cross-env TEST_RUNNER_ARGS='--runInBand --config test/native/jest.config.js --testMatch \"**/performance/*.native.[jt]s?(x)\"' reassure --baseline", "test:native:update": "npm run test:native -- --updateSnapshot", "test:performance": "wp-scripts test-playwright --config test/performance/playwright.config.ts", "test:performance:debug": "wp-scripts test-playwright --config test/performance/playwright.config.ts --debug", "test:php": "npm-run-all lint:php test:unit:php", "test:php:watch": "wp-env run --env-cwd='wp-content/plugins/gutenberg' tests-cli composer run-script test:watch", "test:unit": "wp-scripts test-unit-js --config test/unit/jest.config.js", "test:unit:date": "bash ./bin/unit-test-date.sh", "test:unit:debug": "wp-scripts --inspect-brk test-unit-js --runInBand --no-cache --verbose --config test/unit/jest.config.js ", "test:unit:profile": "wp-scripts --cpu-prof test-unit-js --runInBand --no-cache --verbose --config test/unit/jest.config.js ", "test:unit:php:setup": "wp-env start", "test:unit:php:setup:debug": "wp-env start --xdebug", "test:unit:php:base": "wp-env run --env-cwd='wp-content/plugins/gutenberg' tests-wordpress vendor/bin/phpunit -c phpunit.xml.dist --verbose", "test:unit:php": "npm-run-all test:unit:php:setup test:unit:php:base", "test:unit:php:debug": "npm-run-all test:unit:php:setup:debug test:unit:php:base", "test:unit:php:multisite:base": "wp-env run --env-cwd='wp-content/plugins/gutenberg' tests-wordpress vendor/bin/phpunit -c phpunit/multisite.xml --verbose", "test:unit:php:multisite": "npm-run-all test:unit:php:setup test:unit:php:multisite:base", "test:unit:php:multisite:debug": "npm-run-all test:unit:php:setup:debug test:unit:php:multisite:base", "test:unit:update": "npm run test:unit -- --updateSnapshot", "test:unit:watch": "npm run test:unit -- --watch", "wp-env": "wp-env" }, "lint-staged": { "*.{js,json,ts,tsx,yml,yaml}": [ "wp-scripts format" ], "**/*.{js,ts,tsx,jsx}": [ "npm run prelint:js", "wp-scripts lint-js --config .eslintrc.strict.js" ], "*.scss": [ "wp-scripts lint-style" ], "package-lock.json": [ "npm run lint:lockfile" ], "packages/*/package.json": [ "wp-scripts lint-pkg-json" ], "{docs/{toc.json,tool/*.js},packages/{*/README.md,components/src/*/**/README.md}}": [ "node ./docs/tool/index.js" ], "packages/**/*.{js,ts,tsx,json}": [ "npm run docs:api-ref", "npm run docs:blocks", "npm run docs:theme-ref", "node ./bin/api-docs/are-api-docs-unstaged.js" ], "packages/icons/src/library/*": [ "npm run -w packages/icons build" ], "**/tsconfig.json": [ "npm run lint:tsconfig" ] }, "workspaces": [ "packages/*", "routes/*", "storybook" ] }