{
  "private": true,
  "scripts": {
    "build-js": "webpack",
    "build-sass": "sass --no-source-map --style=compressed ../app/styles/main.scss:../app/static/css/app.min.css",
    "lint-js": "eslint --config .eslintrc.json ../app/js",
    "lint-sass": "stylelint ../app/styles",
    "format-js": "prettier --config prettier.config.mjs --ignore-path none ../app/js/**/*.js",
    "format-sass": "prettier --config prettier.config.mjs --ignore-path none ../app/styles/**/*.scss",
    "run-app": "cd .. && Rscript -e \"shiny::runApp(port = 3333)\"",
    "run-cypress": "cypress run --project ../tests",
    "open-cypress": "cypress open --project ../tests",
    "test-e2e": "start-server-and-test run-app http://localhost:3333 run-cypress",
    "test-e2e-interactive": "start-server-and-test run-app http://localhost:3333 open-cypress"
  },
  "devDependencies": {
    "@babel/core": "^7.29.7",
    "@babel/eslint-parser": "^7.29.7",
    "@babel/preset-env": "^7.29.7",
    "@babel/preset-react": "^7.29.7",
    "babel-loader": "^9.2.1",
    "cypress": "^13.17.0",
    "eslint": "^8.57.1",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-import-resolver-webpack": "^0.13.11",
    "eslint-plugin-import": "^2.32.0",
    "prettier": "^3.8.3",
    "sass": "^1.99.0",
    "start-server-and-test": "^2.1.5",
    "stylelint": "^14.16.1",
    "stylelint-config-standard-scss": "^6.1.0",
    "webpack": "^5.107.2",
    "webpack-cli": "^5.1.4"
  }
}
