"compile": "npm run compile:clean && npm run compile:build",
"compile:clean": "rm -rf lib",
"compile:build": "$(cd ..; npm bin)/babel src --out-dir lib --copy-files",
"lint": "npm run lint:js && npm run lint:scss",
"lint:js": "$(cd ..; npm bin)/eslint --ext .js,.jsx . --ignore-path ../../.eslintignore",
"lint:scss": "$(cd ..; npm bin)/stylelint src/**/*.scss",
"release:major": "npm test && node ../../scripts/release/release.js major",
"release:minor": "npm test && node ../../scripts/release/release.js minor",
"release:patch": "npm test && node ../../scripts/release/release.js patch",
"test": "npm run test:spec && npm run test:nightwatch-default",
"test:spec": "$(cd ..; npm bin)/jest --config ../../jestconfig.json",
"test:all": "npm run test:nightwatch-default && npm run test:nightwatch-chrome && npm run test:nightwatch-firefox && npm run test:nightwatch-safari",
"test:nightwatch-default": "node ../../scripts/nightwatch/nightwatch.js",
"test:nightwatch-chrome": "node ../../scripts/nightwatch/nightwatch.js chrome",
"test:nightwatch-firefox": "node ../../scripts/nightwatch/nightwatch.js firefox",
"test:nightwatch-safari": "npm run test:nightwatch-safari-tiny && npm run test:nightwatch-safari-small && npm run test:nightwatch-safari-medium && npm run test:nightwatch-safari-large && npm run test:nightwatch-safari-huge && npm run test:nightwatch-safari-enormous",
"test:nightwatch-safari-tiny": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-tiny",
"test:nightwatch-safari-small": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-small",
"test:nightwatch-safari-medium": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-medium",
"test:nightwatch-safari-large": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-large",
"test:nightwatch-safari-huge": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-huge",
"test:nightwatch-safari-enormous": "$(cd ..; npm bin)/nightwatch --config tests/nightwatch.conf.js -e safari-enormous"
If we need to change a script, we need to go update it in every single package. Instead, we should have the script in a single location and have all of the packages reference it. For example,
"compile": "npm run compile:clean && npm run compile:build",
"compile": "node ../../scripts/compile/index.js"