wordpress/package.json
Joe McGill 8417a97deb Build/Test Tools: Add a performance measurement workflow.
This adds a new GitHub Action workflow that measures a set of performance metrics on every commit, so we can track changes in the performance of WordPress over time and more easily identify changes that are responsible for significant performance improvements or regressions during development cycles.

The workflow measures the homepage of a classic theme (Twenty Twenty-One) and a block theme (Twenty Twenty-Three) set up with demo content from the Theme Test Data project. Using the e2e testing framework, it makes 20 requests and records the median value of the following Server Timing metrics, generated by an mu-plugin installed as part of this workflow:

- Total server response time
- Server time before templates are loaded
- Server time during template rendering

In addition to measuring the performance metrics of the current commit, it also records performance metrics of a consistent version of WordPress (6.1.1) to be used as a baseline measurement in order to remove variance caused by the GitHub workers themselves from our reporting.

The measurements are collected and displayed at https://www.codevitals.run/project/wordpress.

Props adamsilverstein, mukesh27, flixos90, youknowriad, oandregal, desrosj, costdev, swissspidy.
Fixes #57687.


git-svn-id: https://develop.svn.wordpress.org/trunk@55459 602fd350-edb4-49c9-b593-d223f7449a82
2023-03-03 20:37:10 +00:00

187 lines
6.2 KiB
JSON

{
"name": "WordPress",
"version": "6.2.0",
"description": "WordPress is open source software you can use to create a beautiful website, blog, or app.",
"repository": {
"type": "svn",
"url": "https://develop.svn.wordpress.org/trunk"
},
"engines": {
"node": ">=14.15.0",
"npm": ">=6.14.8 <7"
},
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
"browserslist": [
"> 1%",
"last 1 Android versions",
"last 1 ChromeAndroid versions",
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions",
"last 2 iOS versions",
"last 2 Edge versions",
"last 2 Opera versions"
],
"devDependencies": {
"@lodder/grunt-postcss": "^3.1.1",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
"@wordpress/babel-preset-default": "7.10.2",
"@wordpress/dependency-extraction-webpack-plugin": "4.9.1",
"@wordpress/e2e-test-utils": "9.3.3",
"@wordpress/scripts": "25.3.4",
"autoprefixer": "^10.4.13",
"chalk": "5.2.0",
"check-node-version": "4.2.1",
"copy-webpack-plugin": "11.0.0",
"cssnano": "5.1.14",
"dotenv": "16.0.3",
"dotenv-expand": "10.0.0",
"grunt": "~1.5.3",
"grunt-banner": "^0.6.0",
"grunt-contrib-clean": "~2.0.1",
"grunt-contrib-concat": "2.1.0",
"grunt-contrib-copy": "~1.0.0",
"grunt-contrib-cssmin": "~4.0.0",
"grunt-contrib-imagemin": "~4.0.0",
"grunt-contrib-jshint": "3.2.0",
"grunt-contrib-qunit": "~6.2.1",
"grunt-contrib-uglify": "~5.2.2",
"grunt-contrib-watch": "~1.1.0",
"grunt-file-append": "0.0.7",
"grunt-jsdoc": "2.4.1",
"grunt-jsvalidate": "~0.2.2",
"grunt-legacy-util": "^2.0.1",
"grunt-patch-wordpress": "~3.0.0",
"grunt-replace-lts": "~1.1.0",
"grunt-rtlcss": "~2.0.2",
"grunt-sass": "~3.1.0",
"grunt-webpack": "5.0.0",
"ink-docstrap": "1.3.2",
"install-changed": "1.1.0",
"jest-image-snapshot": "3.0.1",
"matchdep": "~2.0.0",
"postcss": "^8.4.21",
"prettier": "npm:wp-prettier@2.6.2",
"qunit": "~2.19.4",
"react-refresh": "0.10.0",
"sass": "^1.58.0",
"sinon": "~15.0.1",
"sinon-test": "~3.1.5",
"source-map-loader": "4.0.1",
"terser-webpack-plugin": "5.3.6",
"uglify-js": "^3.17.4",
"uuid": "9.0.0",
"wait-on": "7.0.1",
"webpack": "5.75.0",
"webpack-livereload-plugin": "3.0.2"
},
"dependencies": {
"@wordpress/a11y": "3.26.1",
"@wordpress/annotations": "2.26.3",
"@wordpress/api-fetch": "6.23.1",
"@wordpress/autop": "3.26.1",
"@wordpress/blob": "3.26.1",
"@wordpress/block-directory": "4.3.6",
"@wordpress/block-editor": "11.3.6",
"@wordpress/block-library": "8.3.6",
"@wordpress/block-serialization-default-parser": "4.26.1",
"@wordpress/blocks": "12.3.3",
"@wordpress/components": "23.3.5",
"@wordpress/compose": "6.3.3",
"@wordpress/core-data": "6.3.3",
"@wordpress/customize-widgets": "4.3.6",
"@wordpress/data": "8.3.3",
"@wordpress/data-controls": "2.26.3",
"@wordpress/date": "4.26.2",
"@wordpress/deprecated": "3.26.1",
"@wordpress/dom": "3.26.1",
"@wordpress/dom-ready": "3.26.1",
"@wordpress/edit-post": "7.3.6",
"@wordpress/edit-site": "5.3.6",
"@wordpress/edit-widgets": "5.3.6",
"@wordpress/editor": "13.3.6",
"@wordpress/element": "5.3.2",
"@wordpress/escape-html": "2.26.1",
"@wordpress/format-library": "4.3.6",
"@wordpress/hooks": "3.26.1",
"@wordpress/html-entities": "3.26.1",
"@wordpress/i18n": "4.26.1",
"@wordpress/icons": "9.17.2",
"@wordpress/interface": "5.3.6",
"@wordpress/is-shallow-equal": "4.26.1",
"@wordpress/keyboard-shortcuts": "4.3.3",
"@wordpress/keycodes": "3.26.2",
"@wordpress/list-reusable-blocks": "4.3.5",
"@wordpress/media-utils": "4.17.2",
"@wordpress/notices": "3.26.3",
"@wordpress/nux": "6.0.0",
"@wordpress/plugins": "5.3.3",
"@wordpress/preferences": "3.3.5",
"@wordpress/preferences-persistence": "1.18.1",
"@wordpress/primitives": "3.24.2",
"@wordpress/priority-queue": "2.26.1",
"@wordpress/private-apis": "0.8.1",
"@wordpress/redux-routine": "4.26.1",
"@wordpress/reusable-blocks": "4.3.6",
"@wordpress/rich-text": "6.3.3",
"@wordpress/server-side-render": "4.3.5",
"@wordpress/shortcode": "3.26.1",
"@wordpress/style-engine": "1.9.1",
"@wordpress/token-list": "2.26.1",
"@wordpress/url": "3.27.1",
"@wordpress/viewport": "5.3.3",
"@wordpress/warning": "2.26.1",
"@wordpress/widgets": "3.3.6",
"@wordpress/wordcount": "3.26.1",
"backbone": "1.4.1",
"clipboard": "2.0.11",
"core-js-url-browser": "3.6.4",
"element-closest": "^3.0.2",
"formdata-polyfill": "4.0.10",
"hoverintent": "2.2.1",
"imagesloaded": "4.1.4",
"jquery": "3.6.3",
"jquery-color": "2.2.0",
"jquery-form": "4.3.0",
"jquery-hoverintent": "1.10.2",
"json2php": "^0.0.7",
"lodash": "4.17.21",
"masonry-layout": "4.2.2",
"moment": "2.29.4",
"objectFitPolyfill": "2.3.5",
"polyfill-library": "4.7.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"regenerator-runtime": "0.13.11",
"underscore": "1.13.6",
"whatwg-fetch": "3.6.2",
"wicg-inert": "3.1.2"
},
"scripts": {
"build": "grunt build",
"build:dev": "grunt build --dev",
"dev": "grunt watch --dev",
"test": "grunt test",
"watch": "grunt watch",
"grunt": "grunt",
"lint:jsdoc": "wp-scripts lint-js",
"lint:jsdoc:fix": "wp-scripts lint-js --fix",
"env:start": "node ./tools/local-env/scripts/start.js",
"env:stop": "node ./tools/local-env/scripts/docker.js down",
"env:restart": "npm run env:stop && npm run env:start",
"env:clean": "node ./tools/local-env/scripts/docker.js down -v --remove-orphans",
"env:reset": "node ./tools/local-env/scripts/docker.js down --rmi all -v --remove-orphans",
"env:install": "node ./tools/local-env/scripts/install.js",
"env:cli": "node ./tools/local-env/scripts/docker.js run cli",
"env:logs": "node ./tools/local-env/scripts/docker.js logs",
"env:pull": "node ./tools/local-env/scripts/docker.js pull",
"test:performance": "node ./tests/performance/run-tests.js",
"test:php": "node ./tools/local-env/scripts/docker.js run -T php composer update -W && node ./tools/local-env/scripts/docker.js run php ./vendor/bin/phpunit",
"test:e2e": "node ./tests/e2e/run-tests.js",
"test:visual": "node ./tests/visual-regression/run-tests.js",
"sync-gutenberg-packages": "grunt sync-gutenberg-packages",
"postsync-gutenberg-packages": "grunt wp-packages:sync-stable-blocks && grunt build --dev && grunt build"
}
}