mirror of
https://gh.wpcy.net/https://github.com/elementor/elementor.git
synced 2026-06-18 04:33:19 +08:00
## PR Checklist <!-- Please check if your PR fulfills the following requirements: **Filling out the template is required.** Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. --> - [ ] The commit message follows our guidelines: https://github.com/elementor/elementor/blob/master/.github/CONTRIBUTING.md ## PR Type What kind of change does this PR introduce? <!-- Please check the one that applies to this PR using "x" with no spaces eg: [x]. --> - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, local variables) - [ ] Refactoring (no functional changes, no api changes) - [ ] Build related changes - [ ] CI related changes - [ ] Documentation content changes - [ ] Other... Please describe: ## Summary This PR can be summarized in the following changelog entry: * ## Description An explanation of what is done in this PR * ## Test instructions This PR can be tested by following these steps: * ## Quality assurance - [ ] I have tested this code to the best of my abilities - [ ] I have added unittests to verify the code works as intended - [ ] Docs have been added / updated (for bug fixes / features) Fixes # <!--start_gitstream_placeholder--> ### ✨ PR Description ## 1. Problem & Context Lowering minimum Node.js requirement from 24.15.0 to 20.19.0 (ED-24530) to broaden compatibility while maintaining LTS stability. ## 2. What Changed (Where) - `package.json`: Updated `engines.node` from `>=24.15.0` to `>=20.19.0` ## 3. How It Works npm will enforce this minimum version during installation; developers on Node <20.19.0 will see installation failures. No runtime code changes. ## 4. Risks Verify all CI/CD pipelines and developer workstations support 20.19.0+. Confirm no breaking dependencies require Node 24.x features. _Generated by LinearB AI and added by gitStream._ <sub>AI-generated content may contain inaccuracies. Please verify before using. 💡 **Tip:** You can customize your AI Description using **Guidelines** [Learn how](https://docs.gitstream.cm/automation-actions/#describe-changes)</sub> <!--end_gitstream_placeholder-->
230 lines
10 KiB
JSON
Vendored
230 lines
10 KiB
JSON
Vendored
{
|
|
"name": "elementor",
|
|
"slug": "elementor",
|
|
"version": "4.2.0",
|
|
"packageManager": "npm@10.0.0",
|
|
"author": "Elementor Team",
|
|
"homepage": "https://elementor.com/",
|
|
"scripts": {
|
|
"create-release-branch": "node scripts/create-version-change.js",
|
|
"start": "npm run composer:no-dev && npm run build:packages && npm run styles && npm run scripts",
|
|
"watch": "npm run build:tools && npm run composer:no-dev && npx concurrently \"npm run watch:packages\" \"npm run styles:watch\" \"npm run scripts:watch\"",
|
|
"watch:packages": "concurrently 'turbo dev --parallel' 'tsc -w --project packages/tsconfig.json'",
|
|
"build": "npm run build:packages && grunt build",
|
|
"build:docker": "rm -rf docker-output && docker build --target output --output type=local,dest=./docker-output . && cd docker-output/elementor && zip -r elementor.zip . && echo 'Build output available in ./docker-output/elementor/elementor.zip'",
|
|
"build:packages": "turbo build",
|
|
"build:tools": "turbo build --filter='./packages/packages/tools/*'",
|
|
"build:ci": "turbo build --concurrency 1 && npx grunt webpack:production",
|
|
"install": "npm ci --ignore-scripts && composer install",
|
|
"install:ci": "npm ci --ignore-scripts",
|
|
"composer:no-dev": "composer install --optimize-autoloader --prefer-dist && composer install --no-scripts --no-dev && composer dump-autoload",
|
|
"reinstall": "rm -rf node_modules && npm cache clean --force && npm ci",
|
|
"hard-reinstall": "rm -rf node_modules **/node_modules package-lock.json && npm cache clean --force && npm i --ignore-scripts",
|
|
"env:setup": "bash scripts/setup-test-environment.sh",
|
|
"env:setup:with-playwright": "bash scripts/setup-test-environment.sh && npx playwright install chromium",
|
|
"wp-env": "wp-env",
|
|
"test:linux": "node ./run-on-linux.js",
|
|
"setup-templates": "rm -rf ./templates && mkdir -p ./templates/playwright && mkdir -p ./templates/lighthouse && cp ./tests/playwright/templates/* ./templates/playwright && cp ./tests/lighthouse/templates/* ./templates/lighthouse",
|
|
"start-local-server": "npm run setup-templates && wp-lite-env start --config=./tests/playwright/.playwright-wp-lite-env.json --port=8888 && wp-lite-env start --config=./tests/playwright/.playwright-wp-lite-env.json --port=8889",
|
|
"test:php": "docker-compose run --rm wordpress_phpunit phpunit",
|
|
"test:php_multisite": "docker-compose run -e WP_MULTISITE=1 --rm wordpress_phpunit phpunit",
|
|
"test:setup:playwright": "wp-lite-env cli --config=./tests/playwright/.playwright-wp-lite-env.json --port=8888 --command=\"bash elementor-config/setup.sh\" && wp-lite-env cli --config=./tests/playwright/.playwright-wp-lite-env.json --port=8889 --command=\"bash elementor-config/setup.sh\"",
|
|
"test:playwright": "playwright test -c tests/playwright/playwright.config.ts",
|
|
"test:playwright:debug": "npm run test:playwright -- --debug",
|
|
"test:playwright:elements-regression": "playwright test -c tests/elements-regression/playwright.config.ts",
|
|
"test:playwright:elements-regression:core": "playwright test -c tests/elements-regression/playwright.config.ts tests/elements-regression/tests/elements-regression.test.ts",
|
|
"test:playwright:elements-regression:atomic": "playwright test -c tests/elements-regression/playwright.config.ts tests/elements-regression/tests/atomic-elements-regression.test.ts",
|
|
"test:playwright:elements-regression:linux": "node ./tests/elements-regression/scripts/run-on-linux.js",
|
|
"test:playwright:elements-regression:linux:update-snapshots": "npm run test:playwright:elements-regression:linux -- -u",
|
|
"test:jest": "jest --config='./tests/jest/jest.config.js'",
|
|
"test:packages": "jest --config='./packages/jest.config.js'",
|
|
"test": "npm run test:jest && npm run test:packages",
|
|
"scripts": "grunt scripts",
|
|
"scripts:watch": "grunt watch_scripts",
|
|
"styles": "grunt styles",
|
|
"styles:watch": "grunt watch_styles",
|
|
"lint": "eslint . && npm run lint -w elementor-packages",
|
|
"format": "npm run format:eslint && npm run format:packages",
|
|
"format:eslint": "NODE_OPTIONS='--max-old-space-size=8192' eslint . --fix",
|
|
"format:packages": "npm run format -w elementor-packages",
|
|
"setup:testing": "bash scripts/setup-testing.sh",
|
|
"restart:testing": "bash scripts/setup-testing.sh --restart",
|
|
"packages:version": "npm run version -w elementor-packages",
|
|
"packages:release": "turbo build && npm run release -w elementor-packages",
|
|
"wp-playground": "npx -y @wp-playground/cli server --mount=.:/wordpress/wp-content/plugins/elementor --blueprint=./tests/playwright/blueprints/local.json",
|
|
"wp-playground:ci": "npx -y @wp-playground/cli server --mount=./build:/wordpress/wp-content/plugins/elementor --blueprint=./tests/playwright/blueprints/ci.json",
|
|
"full-e2e-local": "npx concurrently \"npm run watch\" \"npm run wp-playground\" \"npm run test:playwright -- --ui\"",
|
|
"prepare": "husky"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.19.0",
|
|
"npm": ">=10.0.0"
|
|
},
|
|
"workspaces": [
|
|
"packages",
|
|
"packages/packages/tools/*",
|
|
"packages/packages/libs/*",
|
|
"packages/packages/core/*",
|
|
"packages/apps/*"
|
|
],
|
|
"devDependencies": {
|
|
"@actions/core": "^1.11.1",
|
|
"@axe-core/playwright": "^4.10.1",
|
|
"@babel/core": "^7.26.0",
|
|
"@babel/eslint-parser": "^7.25.7",
|
|
"@babel/plugin-syntax-import-assertions": "^7.26.0",
|
|
"@babel/plugin-transform-modules-commonjs": "^7.26.3",
|
|
"@babel/plugin-transform-react-jsx": "^7.25.9",
|
|
"@babel/plugin-transform-runtime": "^7.25.9",
|
|
"@babel/preset-env": "^7.26.0",
|
|
"@babel/preset-react": "^7.26.3",
|
|
"@babel/preset-typescript": "^7.26.0",
|
|
"@babel/runtime-corejs3": "^7.26.0",
|
|
"@elementor/wp-lite-env": "^0.0.20",
|
|
"@emotion/babel-plugin": "^11.13.5",
|
|
"@jest/globals": "~29.7.0",
|
|
"@lodder/grunt-postcss": "^3.1.1",
|
|
"@playwright/test": "~1.54.1",
|
|
"@swc/core": "^1.10.1",
|
|
"@swc/jest": "^0.2.37",
|
|
"@tanstack/eslint-plugin-query": "^5.81.2",
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@types/glob": "^8.1.0",
|
|
"@types/jest": "^29.5.14",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@typescript-eslint/eslint-plugin": "8.56.1",
|
|
"@typescript-eslint/parser": "^8.6.0",
|
|
"@wordpress/babel-plugin-import-jsx-pragma": "^5.9.0",
|
|
"@wordpress/babel-preset-default": "^3.0.2",
|
|
"@wordpress/eslint-plugin": "^21.1.0",
|
|
"@wp-playground/client": "^2.0.13",
|
|
"allure-commandline": "2.41.0",
|
|
"allure-playwright": "^2.10.0",
|
|
"autoprefixer": "^10.4.20",
|
|
"babel-jest": "^29.7.0",
|
|
"babel-loader": "^9.2.1",
|
|
"baseline-browser-mapping": "^2.9.19",
|
|
"chalk": "^5.3.0",
|
|
"commander": "^14.0.0",
|
|
"concurrently": "^9.2.0",
|
|
"cross-env": "^7.0.3",
|
|
"cspell": "^8.17.1",
|
|
"cssnano": "^7.0.6",
|
|
"dotenv": "^16.4.7",
|
|
"eslint": "^8.57.1",
|
|
"eslint-import-resolver-typescript": "^3.6.3",
|
|
"eslint-plugin-babel": "^5.3.1",
|
|
"eslint-plugin-import": "^2.31.0",
|
|
"eslint-plugin-jest-dom": "^5.4.0",
|
|
"eslint-plugin-local-rules": "^3.0.2",
|
|
"eslint-plugin-no-jquery": "^2.7.0",
|
|
"eslint-plugin-react": "^7.33.2",
|
|
"eslint-plugin-react-compiler": "latest",
|
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
"eslint-plugin-testing-library": "^7.2.0",
|
|
"eslint-plugin-unicorn": "^56.0.1",
|
|
"eslint-webpack-plugin": "^4.0.1",
|
|
"glob": "^11.0.3",
|
|
"grunt": "^1.5.3",
|
|
"grunt-banner": "~0.6.0",
|
|
"grunt-checktextdomain": "~1.0.1",
|
|
"grunt-cli": "^1.5.0",
|
|
"grunt-concurrent": "^3.0.0",
|
|
"grunt-contrib-clean": "~2.0.1",
|
|
"grunt-contrib-copy": "~1.0.0",
|
|
"grunt-contrib-sass": "~2.0.0",
|
|
"grunt-contrib-watch": "^1.1.0",
|
|
"grunt-karma": "4.0.2",
|
|
"grunt-sass": "^3.1.0",
|
|
"grunt-webpack": "^7.0.0",
|
|
"husky": "^9.1.7",
|
|
"jest": "^29.7.0",
|
|
"jest-environment-jsdom": "^29.7.0",
|
|
"karma": "^6.4.4",
|
|
"karma-chrome-launcher": "^3.2.0",
|
|
"karma-coverage": "^2.2.1",
|
|
"karma-coverage-istanbul-reporter": "3.0.3",
|
|
"karma-fail-fast-reporter": "1.0.5",
|
|
"karma-fixture": "0.2.6",
|
|
"karma-html2js-preprocessor": "1.1.0",
|
|
"karma-qunit": "^4.2.1",
|
|
"karma-remap-coverage": "0.1.5",
|
|
"knip": "^5.54.1",
|
|
"lighthouse": "^12.3.0",
|
|
"lint-staged": "^16.2.7",
|
|
"load-grunt-tasks": "^5.1.0",
|
|
"mini-css-extract-plugin": "^2.9.2",
|
|
"msw": "^2.6.8",
|
|
"path": "^0.12.7",
|
|
"playwright-lighthouse": "^4.0.0",
|
|
"prettier": "npm:wp-prettier@^3.0.3",
|
|
"qunit": "^2.23.1",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-query": "^3.39.1",
|
|
"sass": "^1.83.0",
|
|
"semver": "^7.7.2",
|
|
"source-map-loader": "^5.0.0",
|
|
"styled-components": "^6.1.13",
|
|
"terser-webpack-plugin": "^5.3.11",
|
|
"ts-node": "^10.9.2",
|
|
"tsup": "^8.3.5",
|
|
"turbo": "^2.3.3",
|
|
"typescript": "^5.7.2",
|
|
"webpack": "^5.97.1",
|
|
"write": "^2.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@elementor/elementor-one-assets": "0.4.35",
|
|
"@elementor/icons": "~1.75.1",
|
|
"@elementor/ui": "1.39.1",
|
|
"@reach/router": "1.3.4",
|
|
"@reduxjs/toolkit": "^1.9.7",
|
|
"@woocommerce/admin-layout": "^1.1.0",
|
|
"@wordpress/components": "^27.4.0",
|
|
"@wordpress/core-data": "^7.5.0",
|
|
"@wordpress/data": "^10.5.0",
|
|
"@wordpress/dom-ready": "^3.45.0",
|
|
"@wordpress/element": "^5.22.0",
|
|
"@wordpress/plugins": "^7.5.0",
|
|
"dayjs": "^1.11.18",
|
|
"dompurify": "^3.2.6",
|
|
"html-to-image": "^1.11.11",
|
|
"mime": "^3.0.0",
|
|
"mixpanel-browser": "^2.50.0",
|
|
"prop-types": "^15.8.1",
|
|
"reach-router-hash-history": "0.0.3",
|
|
"react-avatar-editor": "^13.0.0",
|
|
"react-draggable": "^4.4.5",
|
|
"react-infinite-scroller": "^1.2.6",
|
|
"react-markdown": "^8.0.5",
|
|
"react-redux": "^8.1.3",
|
|
"react-sketch-canvas": "^6.2.0",
|
|
"validator": "^13.11.0"
|
|
},
|
|
"overrides": {
|
|
"@wordpress/eslint-plugin": {
|
|
"eslint-plugin-jest": "^28.14.0"
|
|
},
|
|
"nwsapi": "2.2.13",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-redux": "^8.1.3",
|
|
"@types/react": "^18.2.0",
|
|
"@types/react-dom": "^18.3.1",
|
|
"date-fns": "^3.6.0",
|
|
"scheduler": "^0.20.0",
|
|
"form-data": "4.0.4",
|
|
"baseline-browser-mapping": "^2.9.19"
|
|
},
|
|
"lint-staged": {
|
|
"packages/**/*.{js,jsx,ts,tsx}": [
|
|
"node scripts/lint-packages-staged.js"
|
|
],
|
|
"*.{js,jsx,ts,tsx}": [
|
|
"eslint --fix"
|
|
]
|
|
}
|
|
}
|