{
  "name": "auspice",
  "version": "2.68.0",
  "description": "Web app for visualizing pathogen evolution",
  "author": "James Hadfield, Trevor Bedford and Richard Neher",
  "license": "AGPL-3.0-only",
  "repository": "github:nextstrain/auspice",
  "homepage": "https://www.npmjs.com/package/auspice",
  "engines": {
    "node": "^20 || ^22 || ^24",
    "npm": "^9 || ^10 || ^11"
  },
  "bin": {
    "auspice": "./auspice.js"
  },
  "main": "index.js",
  "scripts": {
    "view": "node auspice.js view --verbose",
    "dev": "node auspice.js develop --verbose",
    "start": "npm run view",
    "server": "npm run view",
    "build": "node auspice.js build --verbose",
    "prepare": "npm run build",
    "lint": "eslint --max-warnings=0 .",
    "lint:fix": "eslint --fix .",
    "type-check": "tsc",
    "type-check:watch": "npm run type-check -- --watch",
    "get-data": "env bash ./scripts/get-data.sh",
    "heroku-postbuild": "npm run build && npm run get-data",
    "gzip-and-upload": "env bash ./scripts/gzip-and-upload.sh",
    "test": "jest test/*.js",
    "smoke-test": "NODE_ENV=test ENV=dev npx playwright test",
    "diff-lang": "./scripts/diff-lang.js"
  },
  "dependencies": {
    "@babel/core": "^7.3.4",
    "@babel/plugin-proposal-class-properties": "^7.3.4",
    "@babel/plugin-proposal-decorators": "^7.3.0",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-transform-runtime": "^7.8.3",
    "@babel/preset-env": "^7.9.6",
    "@babel/preset-react": "^7.0.0",
    "@babel/preset-typescript": "^7.21.0",
    "@hot-loader/react-dom": "^16.13.0",
    "@reduxjs/toolkit": "^1.9.7",
    "@stdlib/stats-base-dists-normal-pdf": "^0.2.2",
    "argparse": "^1.0.10",
    "babel-loader": "^8.0.4",
    "babel-plugin-lodash": "^3.3.4",
    "babel-plugin-strip-function-call": "^1.0.2",
    "babel-plugin-styled-components": "^1.10.0",
    "binomial": "^0.2.0",
    "buffer": "^6.0.3",
    "chalk": "^2.4.1",
    "clean-webpack-plugin": "^4.0.0",
    "compression": "^1.7.3",
    "compression-webpack-plugin": "^3.1.0",
    "core-js": "^3.43.0",
    "create-react-class": "^15.7.0",
    "css-loader": "^3.4.0",
    "css.escape": "^1.5.1",
    "d3-array": "^2.2.0",
    "d3-axis": "^1.0.6",
    "d3-brush": "^1.0.4",
    "d3-color": "^1.0.3",
    "d3-ease": "^1.0.3",
    "d3-format": "^1.3.0",
    "d3-interpolate": "^1.1.5",
    "d3-scale": "^1.0.5",
    "d3-selection": "^1.1.0",
    "d3-shape": "^1.2.0",
    "d3-timer": "^1.0.7",
    "d3-transition": "^1.2.0",
    "d3-zoom": "^1.1.3",
    "dom-to-image": "^2.6.0",
    "dompurify": "^2.3.3",
    "express": "^4.16.3",
    "express-naked-redirect": "^0.1.9",
    "express-static-gzip": "^0.2.2",
    "html-webpack-plugin": "^4.5.2",
    "i18next": "^19.3.2",
    "leaflet": "1.7.1",
    "leaflet-gesture-handling": "1.2.1",
    "linspace": "^1.0.0",
    "lodash": "^4.17.21",
    "lodash-webpack-plugin": "^0.11.6",
    "marked": "^4.0.10",
    "mousetrap": "^1.6.2",
    "null-loader": "^4.0.0",
    "outer-product": "0.0.4",
    "papaparse": "^5.3.1",
    "prop-types": "^15.6.0",
    "query-string": "^4.2.3",
    "react": "^16.8.6",
    "react-collapsible": "^2.8.4",
    "react-dom": "^16.8.6",
    "react-ga": "^2.2.0",
    "react-helmet": "^5.2.1",
    "react-hot-loader": "^4.8.4",
    "react-i18next": "^11.15.6",
    "react-icons": "^3.9.0",
    "react-redux": "^7.2.6",
    "react-select": "^5.2.2",
    "react-tooltip": "^4.2.10",
    "react-transition-group": "^1.2.1",
    "react-virtualized": "^9.22.3",
    "regenerator-runtime": "^0.13.5",
    "style-loader": "^0.13.2",
    "styled-components": "^4.0.3",
    "typeface-lato": "^0.0.75",
    "webpack": "^5.74.0",
    "webpack-bundle-analyzer": "^3.9.0",
    "webpack-dev-middleware": "^3.7.3",
    "webpack-hot-middleware": "^2.25.2",
    "whatwg-fetch": "^0.10.1",
    "xlsx": "^0.17.1",
    "yaml-front-matter": "^4.0.0"
  },
  "devDependencies": {
    "@playwright/test": "^1.48.2",
    "@types/d3-array": "^2.2.0",
    "@types/d3-axis": "^1.0.6",
    "@types/d3-brush": "^1.0.4",
    "@types/d3-color": "^1.0.3",
    "@types/d3-ease": "^1.0.3",
    "@types/d3-format": "^1.3.0",
    "@types/d3-interpolate": "^1.1.5",
    "@types/d3-scale": "^1.0.5",
    "@types/d3-selection": "^1.1.0",
    "@types/d3-shape": "^1.2.0",
    "@types/d3-timer": "^1.0.7",
    "@types/d3-transition": "^1.2.0",
    "@types/d3-zoom": "^1.1.3",
    "@types/leaflet": "^1.9.3",
    "@types/lodash": "^4.17.13",
    "@types/node": "^18.15.11",
    "@types/webpack-env": "^1.18.2",
    "@typescript-eslint/eslint-plugin": "^5.57.0",
    "@typescript-eslint/parser": "^5.57.0",
    "chai": "^4.1.2",
    "chai-http": "^4.0.0",
    "eslint": "^8.39.0",
    "eslint-plugin-react": "^7.2.1",
    "eslint-plugin-react-hooks": "^4.0.1",
    "jest": "^29.5.0",
    "jest-environment-jsdom": "^30.0.0-beta.3",
    "playwright": "^1.48.2",
    "quoted-printable": "^1.0.1",
    "ts-node": "^10.9.2",
    "typescript": "^5.0.2"
  }
}
