{ "name": "Drupal", "description": "Drupal is an open source content management platform powering millions of websites and applications.", "license": "GPL-2.0-or-later", "private": true, "engines": { "yarn": ">= 4.1.1", "node": ">= 20.0" }, "scripts": { "build": "yarn build:css & yarn build:ckeditor5 & yarn vendor-update", "watch": "yarn watch:css & yarn watch:ckeditor5", "build:css": "node ./scripts/css/postcss-build.js", "watch:css": "node ./scripts/css/postcss-watch.js", "lint:core-js": "node ./node_modules/eslint/bin/eslint.js .", "lint:core-js-passing": "node ./node_modules/eslint/bin/eslint.js --quiet --config=.eslintrc.passing.json .", "lint:core-js-stats": "node ./node_modules/eslint/bin/eslint.js --format=./scripts/js/eslint-stats-by-type.js .", "lint:css": "stylelint \"**/*.css\"", "lint:css-checkstyle": "stylelint \"**/*.css\" --custom-formatter=@gitlab-formatters/stylelint-formatter-gitlab --output-file=gl-codequality.json", "lint:yaml": "node ./node_modules/eslint/bin/eslint.js --ext .yml .", "test:nightwatch": "node -r dotenv-safe/config ./node_modules/.bin/nightwatch --config ./tests/Drupal/Nightwatch/nightwatch.conf.js", "prettier": "prettier --write \"./**/*.css\" \"./**/*.js\"", "spellcheck": "cspell -c .cspell.json --cache", "spellcheck:make-dict": "rm -f misc/cspell/dictionary.txt && touch misc/cspell/dictionary.txt && yarn spellcheck:core --unique --words-only | perl -Mopen=locale -pe '$_=lc$_' | LC_ALL=en_US.UTF-8 tr -d \\\\\\\\ | LC_ALL=C sort -u -o misc/cspell/dictionary.txt", "spellcheck:core": "cspell -c .cspell.json --root .. --cache --cache-location core/.cspellcache \"core/**/*\" \"composer/**/*\" \"composer.json\" \".gitlab-ci/*\" \".gitlab-ci.yml\"", "spellcheck:make-drupal-dict": "rm -f misc/cspell/drupal-dictionary.txt && touch misc/cspell/drupal-dictionary.txt && yarn spellcheck:core --unique --words-only | perl -Mopen=locale -pe '$_=lc$_' | LC_ALL=en_US.UTF-8 tr -d \\\\\\\\ | LC_ALL=C sort -u -o misc/cspell/drupal-dictionary.txt", "vendor-update": "node ./scripts/js/vendor-update.js", "watch:ckeditor5": "webpack --config ./modules/ckeditor5/webpack.config.js --watch", "build:ckeditor5": "webpack --config ./modules/ckeditor5/webpack.config.js", "check:ckeditor5": "node ./scripts/js/ckeditor5-check-plugins.js", "build:ckeditor5-types": "node ./scripts/js/ckeditor5-types-documentation.js", "build:ckeditor5-dev": "yarn build:ckeditor5 --mode=development", "watch:ckeditor5-dev": "yarn watch:ckeditor5 --mode=development" }, "devDependencies": { "@ckeditor/ckeditor5-alignment": "~45.2.2", "@ckeditor/ckeditor5-autoformat": "~45.2.2", "@ckeditor/ckeditor5-basic-styles": "~45.2.2", "@ckeditor/ckeditor5-block-quote": "~45.2.2", "@ckeditor/ckeditor5-code-block": "~45.2.2", "@ckeditor/ckeditor5-editor-classic": "~45.2.2", "@ckeditor/ckeditor5-editor-decoupled": "~45.2.2", "@ckeditor/ckeditor5-essentials": "~45.2.2", "@ckeditor/ckeditor5-heading": "~45.2.2", "@ckeditor/ckeditor5-horizontal-line": "~45.2.2", "@ckeditor/ckeditor5-html-support": "~45.2.2", "@ckeditor/ckeditor5-icons": "~45.2.2", "@ckeditor/ckeditor5-image": "~45.2.2", "@ckeditor/ckeditor5-indent": "~45.2.2", "@ckeditor/ckeditor5-language": "~45.2.2", "@ckeditor/ckeditor5-link": "~45.2.2", "@ckeditor/ckeditor5-list": "~45.2.2", "@ckeditor/ckeditor5-paste-from-office": "~45.2.2", "@ckeditor/ckeditor5-remove-format": "~45.2.2", "@ckeditor/ckeditor5-show-blocks": "~45.2.2", "@ckeditor/ckeditor5-source-editing": "~45.2.2", "@ckeditor/ckeditor5-special-characters": "~45.2.2", "@ckeditor/ckeditor5-style": "~45.2.2", "@ckeditor/ckeditor5-table": "~45.2.2", "@drupal/once": "^1.0.1", "@floating-ui/dom": "^1.7.0", "@gitlab-formatters/stylelint-formatter-gitlab": "^1.0.2", "backbone": "^1.6.1", "chokidar": "^4.0.3", "ckeditor5": "~45.2.2", "cspell": "^8.16.1", "dotenv": "^16.5.0", "dotenv-safe": "^9.1.0", "eslint": "^8.57.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^10.1.3", "eslint-formatter-gitlab": "^5.1.0", "eslint-plugin-import": "^2.31.0", "eslint-plugin-no-jquery": "^3.1.1", "eslint-plugin-prettier": "^5.4.0", "eslint-plugin-yml": "^1.18.0", "glob": "11.0.0", "htmx.org": "2.0.4", "jquery": "^4.0.0-rc.1", "jquery-ui": "^1.14.1", "js-cookie": "^3.0.5", "jsdom": "^26.1.0", "loadjs": "^4.3.0", "minimist": "^1.2.8", "mkdirp": "^3.0.1", "nightwatch": "^3.12.1", "normalize.css": "^8.0.1", "postcss": "^8.5.3", "postcss-header": "^3.0.3", "postcss-import": "^16.1.0", "postcss-preset-env": "^10.1.6", "postcss-pxtorem": "^6.1.0", "postcss-url": "^10.1.3", "prettier": "^3.5.3", "sortablejs": "^1.15.6", "stylelint": "^16.19.1", "stylelint-checkstyle-formatter": "^0.1.2", "stylelint-config-standard": "^38.0.0", "stylelint-order": "^7.0.0", "stylelint-prettier": "^5.0.3", "tabbable": "^6.2.0", "terser": "^5.39.0", "terser-webpack-plugin": "^5.3.14", "transliteration": "^2.3.5", "tua-body-scroll-lock": "^1.5.3", "underscore": "~1.13.7", "webpack": "^5.99.8", "webpack-cli": "^6.0.1" }, "browserslist": [ "last 2 Chrome major versions", "last 2 Firefox major versions", "last 2 Safari major versions", "last 2 Edge major versions", "last 2 Opera versions", "last 2 iOS major versions", "last 1 ChromeAndroid version", "last 1 Samsung version", "Firefox ESR" ], "packageManager": "yarn@4.9.1" }