package.json
{
"private": true,
"scripts": {
"coverage": "cross-env NODE_ENV=test nyc npm -s run test:unit",
"start": "webpack -w --mode=development",
"build": "webpack --mode=production",
"precommit": "npm -s run lint:frontend && npm -s run coverage && npm -s run test:bundle && composer test",
"test:unit": "mw-node-qunit --require @babel/register \"tests/node-qunit/**/*.test.js\"",
"lint": "npm -s run lint:i18n && npm -s run lint:frontend",
"lint:frontend": "npm -s run lint:js && npm -s run lint:css",
"lint:js": "eslint --cache .",
"lint:css": "stylelint \"**/*.less\"",
"lint:i18n": "banana-checker --requireLowerCase=0 i18n/",
"minify": "npm -s run minify:svg",
"minify:svg": "svgo --config=.svgo.config.js --quiet --recursive --folder resources/",
"test": "npm -s run lint && bash ./dev-scripts/svg_check.sh && npm -s run coverage && npm -s run test:bundle && npm -s run jsdoc",
"test:bundle": "bash ./dev-scripts/check_bundle.sh",
"jsdoc": "jsdoc -c jsdoc.json",
"doc": "npm run jsdoc && npm run coverage"
},
"engines": {
"node": "18.20.2"
},
"pre-commit": "precommit",
"devDependencies": {
"@babel/core": "7.23.7",
"@babel/preset-env": "7.23.8",
"@babel/register": "7.23.7",
"@wikimedia/codex": "1.0.1",
"@wikimedia/codex-icons": "1.0.1",
"@wikimedia/mediawiki.skins.clientpreferences": "1.2.0",
"@wikimedia/mw-node-qunit": "7.2.0",
"babel-loader": "9.1.3",
"babel-plugin-istanbul": "5.2.0",
"browserslist-config-wikimedia": "0.7.0",
"clean-webpack-plugin": "0.1.19",
"cross-env": "5.2.1",
"eslint-config-wikimedia": "0.27.0",
"grunt-banana-checker": "0.13.0",
"jquery": "3.7.1",
"jsdoc": "4.0.3",
"jsdoc-wmf-theme": "1.1.0",
"jsdom": "12.2.0",
"less": "3.8.1",
"less-loader": "11.1.4",
"mustache": "3.0.1",
"nyc": "15.0.0",
"oojs": "7.0.1",
"oojs-ui": "0.48.3",
"pre-commit": "1.2.2",
"qunit": "2.20.0",
"sinon": "4.5.0",
"stylelint-config-wikimedia": "0.17.2",
"svgo": "3.2.0",
"webpack": "5.89.0",
"webpack-cli": "5.1.4"
}
}