{ "private": true, "scripts": { "start": "webpack -w --mode=development", "build": "NODE_ENV=production webpack --mode=production", "lint:fix": "grunt fix", "test:node": "node tests/node-qunit/run.js 'tests/node-qunit/**/*.test.js' | tap-mocha-reporter dot", "test": "npm -s run check-built-assets && grunt lint && npm -s run coverage && npm -s run -s doc && bundlesize", "doc": "jsdoc -c jsdoc.json", "node-debug": "node -v && npm -v && echo 'Please ensure you are running the correct version of nvm before running this command.'", "check-built-assets": "echo 'CHECKING BUILD SOURCES ARE COMMITTED OR STAGED' && npm -s run build && git diff --exit-code resources/dist || { npm run node-debug; false; }", "coverage": "SPAWN_WRAP_SHIM_ROOT=\"$PWD/.nyc_output\" nyc npm -s run test:node", "precommit": "npm -s t", "selenium-daily": "npm run selenium-test", "selenium-test": "wdio tests/selenium/wdio.conf.js" }, "engines": { "node": "6.11.0" }, "devDependencies": { "@wikimedia/mw-node-qunit": "5.0.0", "babel-loader": "7.1.4", "babel-preset-env": "1.6.0", "babel-register": "6.24.1", "bundlesize": "0.15.3", "clean-webpack-plugin": "0.1.19", "eslint-config-wikimedia": "0.8.1", "eslint-plugin-qunit": "3.3.1", "grunt": "1.0.3", "grunt-banana-checker": "0.6.0", "grunt-contrib-watch": "1.0.1", "grunt-eslint": "21.0.0", "grunt-jsonlint": "1.1.0", "grunt-stylelint": "0.10.1", "grunt-svgmin": "5.0.0", "husky": "0.13.3", "jsdoc": "3.5.5", "nyc": "12.0.2", "redux": "3.6.0", "redux-thunk": "2.2.0", "stylelint": "9.2.0", "stylelint-config-wikimedia": "0.4.3", "svg-inline-loader": "0.8.0", "tap-mocha-reporter": "3.0.7", "wdio-junit-reporter": "0.4.4", "wdio-mediawiki": "0.2.0", "wdio-mocha-framework": "0.6.1", "wdio-spec-reporter": "0.1.4", "webdriverio": "4.13.1", "webpack": "4.1.1", "webpack-cli": "2.0.12" }, "bundlesize": [ { "path": "resources/dist/index.js", "maxSize": "12.1KB" } ] }