{ "name": "gutenberg", "version": "18.2.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" }, "config": { "IS_GUTENBERG_PLUGIN": true }, "dependencies": { "@wordpress/a11y": "file:packages/a11y", "@wordpress/annotations": "file:packages/annotations", "@wordpress/api-fetch": "file:packages/api-fetch", "@wordpress/autop": "file:packages/autop", "@wordpress/blob": "file:packages/blob", "@wordpress/block-directory": "file:packages/block-directory", "@wordpress/block-editor": "file:packages/block-editor", "@wordpress/block-library": "file:packages/block-library", "@wordpress/block-serialization-default-parser": "file:packages/block-serialization-default-parser", "@wordpress/block-serialization-spec-parser": "file:packages/block-serialization-spec-parser", "@wordpress/blocks": "file:packages/blocks", "@wordpress/commands": "file:packages/commands", "@wordpress/components": "file:packages/components", "@wordpress/compose": "file:packages/compose", "@wordpress/core-commands": "file:packages/core-commands", "@wordpress/core-data": "file:packages/core-data", "@wordpress/customize-widgets": "file:packages/customize-widgets", "@wordpress/data": "file:packages/data", "@wordpress/data-controls": "file:packages/data-controls", "@wordpress/dataviews": "file:packages/dataviews", "@wordpress/date": "file:packages/date", "@wordpress/deprecated": "file:packages/deprecated", "@wordpress/dom": "file:packages/dom", "@wordpress/dom-ready": "file:packages/dom-ready", "@wordpress/edit-post": "file:packages/edit-post", "@wordpress/edit-site": "file:packages/edit-site", "@wordpress/edit-widgets": "file:packages/edit-widgets", "@wordpress/editor": "file:packages/editor", "@wordpress/element": "file:packages/element", "@wordpress/escape-html": "file:packages/escape-html", "@wordpress/format-library": "file:packages/format-library", "@wordpress/hooks": "file:packages/hooks", "@wordpress/html-entities": "file:packages/html-entities", "@wordpress/i18n": "file:packages/i18n", "@wordpress/icons": "file:packages/icons", "@wordpress/interactivity": "file:packages/interactivity", "@wordpress/interface": "file:packages/interface", "@wordpress/is-shallow-equal": "file:packages/is-shallow-equal", "@wordpress/keyboard-shortcuts": "file:packages/keyboard-shortcuts", "@wordpress/keycodes": "file:packages/keycodes", "@wordpress/list-reusable-blocks": "file:packages/list-reusable-blocks", "@wordpress/media-utils": "file:packages/media-utils", "@wordpress/notices": "file:packages/notices", "@wordpress/nux": "file:packages/nux", "@wordpress/patterns": "file:packages/patterns", "@wordpress/plugins": "file:packages/plugins", "@wordpress/preferences": "file:packages/preferences", "@wordpress/preferences-persistence": "file:packages/preferences-persistence", "@wordpress/primitives": "file:packages/primitives", "@wordpress/priority-queue": "file:packages/priority-queue", "@wordpress/private-apis": "file:packages/private-apis", "@wordpress/react-i18n": "file:packages/react-i18n", "@wordpress/react-native-aztec": "file:packages/react-native-aztec", "@wordpress/react-native-bridge": "file:packages/react-native-bridge", "@wordpress/react-native-editor": "file:packages/react-native-editor", "@wordpress/redux-routine": "file:packages/redux-routine", "@wordpress/reusable-blocks": "file:packages/reusable-blocks", "@wordpress/rich-text": "file:packages/rich-text", "@wordpress/router": "file:packages/router", "@wordpress/server-side-render": "file:packages/server-side-render", "@wordpress/shortcode": "file:packages/shortcode", "@wordpress/style-engine": "file:packages/style-engine", "@wordpress/sync": "file:packages/sync", "@wordpress/token-list": "file:packages/token-list", "@wordpress/undo-manager": "file:packages/undo-manager", "@wordpress/url": "file:packages/url", "@wordpress/viewport": "file:packages/viewport", "@wordpress/warning": "file:packages/warning", "@wordpress/widgets": "file:packages/widgets", "@wordpress/wordcount": "file:packages/wordcount", "es-module-shims": "^1.8.2", "wicg-inert": "3.1.2" }, "devDependencies": { "@actions/core": "1.9.1", "@actions/github": "5.0.0", "@ariakit/test": "^0.3.7", "@babel/core": "7.24.3", "@babel/plugin-proposal-export-namespace-from": "7.18.9", "@babel/plugin-syntax-jsx": "7.24.1", "@babel/runtime-corejs3": "7.24.1", "@babel/traverse": "7.24.1", "@emotion/babel-plugin": "11.11.0", "@emotion/jest": "11.7.1", "@emotion/native": "11.0.0", "@geometricpanda/storybook-addon-badges": "2.0.1", "@octokit/rest": "16.26.0", "@octokit/types": "6.34.0", "@octokit/webhooks-types": "5.6.0", "@playwright/test": "1.43.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.11", "@react-native/babel-preset": "0.73.10", "@react-native/metro-babel-transformer": "0.73.10", "@react-native/metro-config": "0.73.4", "@storybook/addon-a11y": "7.6.15", "@storybook/addon-actions": "7.6.15", "@storybook/addon-controls": "7.6.15", "@storybook/addon-docs": "7.6.15", "@storybook/addon-toolbars": "7.6.15", "@storybook/addon-viewport": "7.6.15", "@storybook/react": "7.6.15", "@storybook/react-webpack5": "7.6.15", "@storybook/source-loader": "7.6.15", "@storybook/theming": "7.6.15", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.3.0", "@testing-library/react-native": "12.4.3", "@testing-library/user-event": "14.4.3", "@types/eslint": "8.56.9", "@types/estree": "1.0.5", "@types/istanbul-lib-report": "3.0.0", "@types/mime": "2.0.3", "@types/npm-package-arg": "6.1.1", "@types/prettier": "2.4.4", "@types/qs": "6.9.7", "@types/react": "18.0.21", "@types/react-dates": "21.8.3", "@types/react-dom": "18.0.6", "@types/requestidlecallback": "0.3.4", "@types/semver": "7.3.8", "@types/sprintf-js": "1.1.2", "@types/uuid": "8.3.1", "@wordpress/babel-plugin-import-jsx-pragma": "file:packages/babel-plugin-import-jsx-pragma", "@wordpress/babel-plugin-makepot": "file:packages/babel-plugin-makepot", "@wordpress/babel-preset-default": "file:packages/babel-preset-default", "@wordpress/base-styles": "file:packages/base-styles", "@wordpress/browserslist-config": "file:packages/browserslist-config", "@wordpress/create-block": "file:packages/create-block", "@wordpress/create-block-tutorial-template": "file:packages/create-block-tutorial-template", "@wordpress/dependency-extraction-webpack-plugin": "file:packages/dependency-extraction-webpack-plugin", "@wordpress/docgen": "file:packages/docgen", "@wordpress/e2e-test-utils": "file:packages/e2e-test-utils", "@wordpress/e2e-test-utils-playwright": "file:packages/e2e-test-utils-playwright", "@wordpress/e2e-tests": "file:packages/e2e-tests", "@wordpress/env": "file:packages/env", "@wordpress/eslint-plugin": "file:packages/eslint-plugin", "@wordpress/jest-console": "file:packages/jest-console", "@wordpress/jest-preset-default": "file:packages/jest-preset-default", "@wordpress/jest-puppeteer-axe": "file:packages/jest-puppeteer-axe", "@wordpress/lazy-import": "file:packages/lazy-import", "@wordpress/npm-package-json-lint-config": "file:packages/npm-package-json-lint-config", "@wordpress/postcss-plugins-preset": "file:packages/postcss-plugins-preset", "@wordpress/postcss-themes": "file:packages/postcss-themes", "@wordpress/prettier-config": "file:packages/prettier-config", "@wordpress/project-management-automation": "file:packages/project-management-automation", "@wordpress/readable-js-assets-webpack-plugin": "file:packages/readable-js-assets-webpack-plugin", "@wordpress/report-flaky-tests": "file:packages/report-flaky-tests", "@wordpress/scripts": "file:packages/scripts", "@wordpress/stylelint-config": "file:packages/stylelint-config", "ajv": "8.7.1", "ajv-draft-04": "1.0.0", "appium": "2.0.0", "babel-jest": "29.7.0", "babel-loader": "9.1.3", "babel-plugin-inline-json-import": "0.3.2", "babel-plugin-react-native-classname-to-style": "1.2.2", "babel-plugin-react-native-platform-specific-extensions": "1.1.1", "babel-plugin-transform-remove-console": "6.9.4", "benchmark": "2.1.4", "browserslist": "4.22.2", "caniuse-lite": "1.0.30001579", "chalk": "4.1.1", "change-case": "4.1.2", "commander": "9.2.0", "concurrently": "3.5.0", "copy-webpack-plugin": "10.2.0", "core-js-builder": "3.35.1", "cross-env": "3.2.4", "css-loader": "6.2.0", "cssnano": "6.0.1", "deep-freeze": "0.0.1", "equivalent-key-map": "0.2.2", "escape-html": "1.0.3", "eslint-import-resolver-node": "0.3.4", "eslint-plugin-eslint-comments": "3.1.2", "eslint-plugin-import": "2.25.2", "eslint-plugin-jest": "27.2.3", "eslint-plugin-jest-dom": "5.0.2", "eslint-plugin-prettier": "5.0.0", "eslint-plugin-ssr-friendly": "1.0.6", "eslint-plugin-storybook": "0.6.13", "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", "inquirer": "7.1.0", "jest": "29.6.2", "jest-environment-jsdom": "^29.6.2", "jest-jasmine2": "29.6.2", "jest-junit": "13.0.0", "jest-message-util": "29.6.2", "jest-watch-typeahead": "2.2.2", "lerna": "7.1.4", "lint-staged": "10.0.1", "make-dir": "3.0.0", "mkdirp": "3.0.1", "mock-match-media": "0.4.2", "moment-timezone-data-webpack-plugin": "1.5.1", "nock": "12.0.3", "node-fetch": "2.6.1", "node-watch": "0.7.0", "npm-run-all": "4.1.5", "patch-package": "8.0.0", "postcss": "8.4.16", "postcss-loader": "6.2.1", "prettier": "npm:wp-prettier@3.0.3", "progress": "2.0.3", "react": "18.3.1", "react-dom": "18.3.1", "react-native": "0.73.3", "react-native-url-polyfill": "1.1.2", "react-refresh": "0.14.0", "react-test-renderer": "18.3.1", "reassure": "0.7.1", "redux": "4.1.2", "resize-observer-polyfill": "1.5.1", "rimraf": "3.0.2", "rtlcss": "4.0.0", "sass": "1.35.2", "sass-loader": "12.1.0", "semver": "7.5.4", "simple-git": "3.24.0", "snapshot-diff": "0.10.0", "source-map-loader": "3.0.0", "sprintf-js": "1.1.1", "storybook": "7.6.15", "storybook-source-link": "2.0.9", "strip-json-comments": "5.0.0", "style-loader": "3.2.1", "terser-webpack-plugin": "5.3.9", "typescript": "5.4.5", "uglify-js": "3.13.7", "uuid": "9.0.1", "webdriverio": "8.16.20", "webpack": "5.88.2", "webpack-bundle-analyzer": "4.9.1", "worker-farm": "1.7.0" }, "overrides": { "jsdom": "22.1.0" }, "scripts": { "build": "npm run build:packages && wp-scripts build", "build:analyze-bundles": "npm run build -- --webpack-bundle-analyzer", "build:package-types": "node ./bin/packages/validate-typescript-version.js && tsc --build && node ./bin/packages/check-build-type-declaration-files.js", "prebuild:packages": "npm run clean:packages && lerna run build", "build:packages": "npm run build:package-types && node ./bin/packages/build.js", "build:plugin-zip": "bash ./bin/build-plugin-zip.sh", "clean:package-types": "tsc --build --clean", "clean:packages": "rimraf \"./packages/*/@(build|build-module|build-style)\"", "dev": "npm run build:packages && concurrently \"wp-scripts start\" \"npm run dev:packages\"", "dev:packages": "concurrently \"node ./bin/packages/watch.js\" \"tsc --build --watch\"", "distclean": "rimraf node_modules packages/*/node_modules", "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:gen docs:blocks docs:api-ref docs:theme-ref", "docs:gen": "node ./docs/tool/index.js", "docs:theme-ref": "node ./bin/api-docs/gen-theme-reference.js", "env": "wp-env", "fixtures:clean": "rimraf \"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", "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\"", "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 \"wp-scripts check-licenses --prod --gpl2 --ignore=@react-native-community/cli,@react-native-community/cli-platform-ios\" \"wp-scripts check-licenses --dev\"", "preother:check-local-changes": "npm run docs: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 clean:package-types && npm run build:packages", "start": "npm run dev", "prestorybook:build": "npm run build:packages", "storybook:build": "storybook build -c ./storybook -o ./storybook/build", "prestorybook:dev": "npm run build:packages", "storybook:dev": "concurrently \"npm run dev:packages\" \"storybook dev -c ./storybook -p 50240\"", "storybook:e2e:dev": "concurrently \"npm run dev:packages\" \"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}": [ "wp-scripts lint-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", "node ./bin/packages/lint-staged-typecheck.js" ], "**/tsconfig.json": [ "npm run lint:tsconfig" ] } }