department-of-veterans-affairs/vets-website

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "vets-website",
  "version": "1.0.1",
  "description": "Frontend build for VA.gov website static assets.",
  "scripts": {
    "analyze": "webpack-bundle-analyzer build/vagovprod/generated/stats.json",
    "apps": "./script/app-list.sh",
    "build": "./script/build.sh --scaffold",
    "build-analyze": "yarn build:production --analyzer; npm run analyze",
    "build:codespaces": "./.devcontainer/codespaces-create.sh",
    "build:production": "NODE_ENV=production yarn build --buildtype=vagovprod",
    "build:webpack": "NODE_OPTIONS=--max-old-space-size=12288 webpack --config config/webpack.config.js",
    "build:webpack:prod": "NODE_ENV=production yarn build:webpack --env buildtype=vagovprod",
    "build:webpack:staging": "yarn build:webpack --env buildtype=vagovstaging",
    "build:webpack:dev": "yarn build:webpack --env buildtype=vagovdev",
    "build:webpack:local": "yarn build:webpack --env buildtype=localhost",
    "check-app-imports": "node script/check-cross-app-imports.js",
    "cy:count": "node ./script/count-cy-specs",
    "cy:my-testrail-helper": "node ./script/cypress-testrail-helper",
    "cy:my-testrail-run": "cypress run --config-file config/my-cypress-testrail.config.js",
    "cy:open": "cypress open --config-file config/cypress.config.js --e2e --browser chrome",
    "cy:open-codespaces": "/usr/local/share/desktop-init.sh && cypress install && cypress open --config-file config/cypress.config.js --e2e --browser chrome",
    "cy:run": "cypress run --config-file config/cypress.config.js --browser chrome",
    "cy:run:localreports": "node script/run-local-cy-with-reports.js",
    "cy:test:docker": "node script/run-cypress-tests-docker.js",
    "cy:test:gha": "node script/run-cypress-tests-gha.js",
    "cy:testrail-run": "cypress run --config-file config/cypress-testrail.config.js --reporter-options host=https://dsvavsp.testrail.io/,username=$TR_USER,password=$TR_API_KEY,projectId=$TR_PROJECTID,suiteId=$TR_SUITEID,runName=$TR_RUN_NAME,includeAllInTestRun=$TR_INCLUDE_ALL,groupId=$TR_GROUPID,filter=$TR_FILTER",
    "daily-product-scan": "node script/github-actions/daily-product-scan/index.js",
    "debug:webpack:prod": "NODE_ENV=production NODE_OPTIONS=--max-old-space-size=4096 node --inspect --inspect-brk ./node_modules/webpack/bin/webpack.js --config config/webpack.config.js --env.buildtype vagovprod",
    "generate-app-list": "node script/github-actions/generate-app-list.js",
    "generate-form-docs": "node ./script/generate-form-docs.js",
    "heroku-postbuild": "sh script/heroku-postbuild.sh",
    "heroku-serve": "http-server",
    "install-repos": "./script/install-repos.sh",
    "jsdoc": "jsdoc",
    "lint": "npm run lint:js && npm run lint:sass",
    "lint:changed": "npm run lint:js:changed && npm run lint:sass:changed",
    "lint:js": "eslint --quiet --ext .js --ext .jsx .",
    "lint:js:changed": "LIST=`git diff-index --diff-filter=d --name-only --cached HEAD | grep \"\\.js[x]\\{0,1\\}$\"`; if [ \"$LIST\" ]; then eslint --quiet $LIST; fi",
    "lint:js:changed:fix": "LIST=`git diff-index --diff-filter=d --name-only HEAD | grep \"\\.js[x]\\{0,1\\}$\"`; if [ \"$LIST\" ]; then eslint --fix --quiet $LIST; fi",
    "lint:js:fix": "eslint --fix --quiet --ext .js --ext .jsx .",
    "lint:js:untracked:fix": "LIST=`git ls-files --others --exclude-standard | grep \"\\.js[x]\\{0,1\\}$\"`; if [ \"$LIST\" ]; then eslint --fix --quiet $LIST; fi",
    "lint:sass": "stylelint src/**/*.scss --fix",
    "lint:sass:changed": "LIST=`git diff-index --diff-filter=d --name-only HEAD -- \"*.scss\"`; if [ \"$LIST\" ]; then stylelint $LIST; fi",
    "list-imports:apps": "node script/list-imports.js --app-dir applications",
    "list-imports:plat": "node script/list-imports.js",
    "migrate-component": "node script/component-migration/index.js",
    "mock-api": "node src/platform/testing/e2e/mockapi.js",
    "modules-folder:del": "./script/delete-modules-folder.sh",
    "new:app": "yo @department-of-veterans-affairs/vets-website && npm run lint:js:untracked:fix",
    "postinstall": "husky install && npm rebuild node-sass && node ./script/check-node-version.js",
    "postmigrate-component": "yarn lint:js:changed:fix",
    "pr-check": "node script/pr-check.js",
    "prebuild": "node script/prebuild.js",
    "proxy-rewrite:verify-targets": "node src/applications/proxy-rewrite/scripts/verify-injection-targets.js",
    "reset:env": "./script/reset-environment.sh",
    "security-check": "yarn vagov-dependency-check",
    "test": "npm run test:unit",
    "test:coverage": "npm run test:unit -- --coverage --log-level debug",
    "test:coverage-app": "node script/run-app-coverage.js",
    "test:coverage-apps": "npm run test:coverage && node script/app-coverage-report.js",
    "test:coverage-only": "NODE_ENV=test nyc report --all --reporter=json-summary",
    "test:unit": "node ./script/run-unit-tests-local.js",
    "test:unit:gha": "node ./script/github-actions/run-unit-tests-gha.js",
    "test:watch": "node script/watch-tests.js",
    "update:schema": "./script/update-json-schema.sh",
    "watch": "node ./script/watch.js",
    "watch:no-server": "yarn build:webpack --watch --stats=minimal",
    "watch:review": "node ./script/run-review-instance-api.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/department-of-veterans-affairs/vets-website.git"
  },
  "bugs": {
    "url": "https://github.com/department-of-veterans-affairs/vets-website/issues"
  },
  "lint-staged": {
    "*.(js|jsx)": "eslint --fix -c ./.eslintrc.changed.js"
  },
  "nyc": {
    "sourceMap": false,
    "instrument": false,
    "include": [
      "src/**"
    ],
    "exclude": [
      "src/platform/testing/**",
      "**/*.spec.js",
      "**/*.spec.jsx"
    ]
  },
  "sasslintConfig": "config/sass-lint.yml",
  "homepage": "https://github.com/department-of-veterans-affairs/vets-website#readme",
  "browserslist": [
    "Chrome 60",
    "Firefox 56",
    "iOS 9",
    "Edge 14",
    "ChromeAndroid 64",
    "Safari 10",
    "ie 11"
  ],
  "browser": {
    "path": "path-browserify"
  },
  "devDependencies": {
    "@actions/core": "^1.9.1",
    "@axe-core/react": "^4.4.3",
    "@babel/core": "^7.17.7",
    "@babel/eslint-parser": "^7.22.9",
    "@babel/parser": "^7.17.7",
    "@babel/plugin-proposal-class-properties": "^7.16.7",
    "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
    "@babel/plugin-proposal-function-sent": "^7.16.7",
    "@babel/plugin-proposal-json-strings": "^7.16.7",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
    "@babel/plugin-proposal-numeric-separator": "^7.16.7",
    "@babel/plugin-proposal-optional-chaining": "^7.16.7",
    "@babel/plugin-proposal-throw-expressions": "^7.16.7",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-syntax-import-meta": "^7.10.4",
    "@babel/preset-env": "^7.16.11",
    "@babel/preset-react": "^7.16.7",
    "@babel/register": "^7.17.7",
    "@babel/traverse": "^7.23.2",
    "@bahmutov/cypress-esbuild-preprocessor": "^2.2.0",
    "@cypress/code-coverage": "^3.11.0",
    "@department-of-veterans-affairs/eslint-plugin": "^1.18.2",
    "@department-of-veterans-affairs/generator-vets-website": "^3.11.0",
    "@octokit/rest": "^18.11.0",
    "@sentry/browser": "^6.13.2",
    "@testing-library/dom": "^7.26.6",
    "@testing-library/react": "^11.1.2",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/user-event": "^12.2.2",
    "@tlei123/vagov-cy-tr-reporter": "^0.0.7",
    "@types/react": "^18.2.73",
    "@types/react-dom": "^18.2.23",
    "@types/react-router": "^5.1.20",
    "@types/react-router-config": "^5.0.11",
    "@types/react-router-dom": "^5.3.3",
    "@webpack-cli/serve": "^1.6.0",
    "append-query": "^2.1.1",
    "autoprefixer": "^10.3.5",
    "axe-core": "^4.4.3",
    "babel-core": "^7.0.0-bridge.0",
    "babel-loader": "^8.2.2",
    "babel-plugin-dynamic-import-node": "^2.3.3",
    "babel-plugin-istanbul": "^6.0.0",
    "babel-plugin-lodash": "^3.2.8",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
    "babel-polyfill": "^6.26.0",
    "browserify-zlib": "^0.2.0",
    "chai": "^4.3.4",
    "chai-as-promised": "^7.1.1",
    "chai-dom": "^1.9.0",
    "chalk": "^4.1.2",
    "chokidar": "^3.5.2",
    "clear": "^0.1.0",
    "cli-spinner": "^0.2.10",
    "cli-table": "^0.3.6",
    "command-line-args": "^5.2.0",
    "command-line-usage": "^6.1.1",
    "comment-parser": "^1.2.4",
    "copy-webpack-plugin": "^9.1.0",
    "css-loader": "3.6.0",
    "cssnano": "^5.0.8",
    "cypress": "^13.13.2",
    "cypress-axe": "^1.4.0",
    "cypress-multi-reporters": "^1.6.3",
    "dd-trace": "2.24.0",
    "docdash": "^1.2.0",
    "enzyme": "^3.11.0",
    "esbuild": "^0.20.1",
    "eslint": "^7.32.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-import-resolver-babel-module": "^5.3.1",
    "eslint-plugin-cypress": "^2.12.1",
    "eslint-plugin-deprecate": "^0.7.0",
    "eslint-plugin-fp": "^2.3.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsx-a11y": "^6.8.0",
    "eslint-plugin-mocha": "^9.0.0",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.25.1",
    "eslint-plugin-react-hooks": "^4.2.0",
    "eslint-plugin-sonarjs": "^0.12.0",
    "eslint-plugin-unicorn": "^35.0.0",
    "eslint-plugin-you-dont-need-momentjs": "^1.6.0",
    "figlet": "^1.5.2",
    "file-loader": "^6.2.0",
    "find": "^0.3.0",
    "find-imports": "^1.1.0",
    "fs-extra": "^7.0.0",
    "glob": "^7.2.0",
    "html-webpack-plugin": "^5.5.0",
    "http-server": "^13.0.2",
    "husky": ">=6",
    "inquirer": "^8.1.5",
    "isomorphic-fetch": "^2.2.1",
    "jsdoc": "4.0.2",
    "just-diff": "^3.1.1",
    "libxmljs2": "^0.28.0",
    "lint-staged": "^11.1.2",
    "mini-css-extract-plugin": "^2.4.4",
    "minimist": "^1.2.6",
    "mocha": "^10.3.0",
    "mocha-junit-reporter": "^2.2.1",
    "mocha-multi-reporters": "^1.5.1",
    "mocha-snapshots": "^4.2.0",
    "mochawesome": "^7.1.3",
    "mochawesome-json-to-md": "^1.3.5",
    "mochawesome-merge": "^4.3.0",
    "mock-fs": "^5.1.1",
    "mockdate": "^3.0.5",
    "mocker-api": "^2.9.0",
    "msw": "^0.35.0",
    "node-fetch": "^2.6.12",
    "node-sass": "^4.14.1",
    "null-loader": "^4.0.1",
    "nyc": "^15.1.0",
    "path-browserify": "^1.0.1",
    "postcss": "^8.4.4",
    "postcss-loader": "^6.2.1",
    "prettier": "^1.14.3",
    "sass-lint": "^1.13.1",
    "sass-loader": "^8.0.2",
    "semver": "^7.3.5",
    "sinon": "^3.2.1",
    "skin-deep": "^1.0.0",
    "stylelint": "^13.13.1",
    "stylelint-order": "^4.1.0",
    "stylelint-scss": "^3.21.0",
    "stylelint-webpack-plugin": "^3.0.1",
    "svg-url-loader": "^7.1.1",
    "terser-webpack-plugin": "^5.3.1",
    "ts-loader": "^9.5.1",
    "typescript": "^5.4.3",
    "url-loader": "^4.1.1",
    "webpack": "^5.91.0",
    "webpack-bundle-analyzer": "^4.5.0",
    "webpack-cli": "^4.9.2",
    "webpack-dev-server": "^4.7.4",
    "webpack-manifest-plugin": "^4.0.2",
    "webpackbar": "^5.0.2",
    "yeoman-generator": "^5.6.1",
    "yo": "4.3.1"
  },
  "optionalDependencies": {},
  "engines": {
    "node": ">=14.15.0 <16",
    "yarn": "1.19.1"
  },
  "private": true,
  "dependencies": {
    "@babel/runtime": "^7.15.4",
    "@datadog/browser-logs": "^5.8.0",
    "@datadog/browser-rum": "^4.49.0",
    "@department-of-veterans-affairs/component-library": "^46.3.0",
    "@department-of-veterans-affairs/css-library": "^0.11.1",
    "@department-of-veterans-affairs/formation": "11.0.22",
    "@department-of-veterans-affairs/react-jsonschema-form": "^1.2.5",
    "@department-of-veterans-affairs/va-forms-system-core": "1.6.1",
    "@department-of-veterans-affairs/vagov-platform": "^0.0.1",
    "@fortawesome/fontawesome-free": "^5.15.4",
    "@mapbox/mapbox-sdk": "~0.13.2",
    "@reduxjs/toolkit": "^2.2.5",
    "blob-polyfill": "^5.0.20210201",
    "cacheable-request": "^4.0.1",
    "camelcase-keys-recursive": "^1.0.0",
    "classnames": "^2.3.1",
    "cookie": "^0.4.1",
    "core-js": "^3.18.0",
    "date-fns": "^2.24.0",
    "date-fns-tz": "^2.0.0",
    "dompurify": "^3.1.6",
    "dotenv": "^10.0.0",
    "downshift": "^1.22.5",
    "express": "^4.17.1",
    "fast-levenshtein": "^2.0.6",
    "fine-uploader": "^5.16.2",
    "formik": "^2.2.9",
    "foundation-sites": "^5.5.3",
    "history": "3",
    "history-v4": "npm:history@4.9.0",
    "http-cache-semantics": "4.1.1",
    "i18next": "^21.6.14",
    "i18next-browser-languagedetector": "^6.1.3",
    "ics-js": "^0.10.2",
    "js-cookie": "^2.2.1",
    "jsonschema": "^1.4.0",
    "leaflet": "^1.7.1",
    "local-storage-fallback": "^4.1.2",
    "lodash": "^4.17.21",
    "mapbox-gl": "^1.12.0",
    "markdown-it": "^12.3.2",
    "markdown-it-link-attributes": "^4.0.0",
    "moment": "~2.29.4",
    "moment-timezone": "^0.5.35",
    "node-lcs": "^1.0.4",
    "octokit": "^2.1.0",
    "octokit-plugin-create-pull-request": "^3.11.0",
    "prop-types": "^15.6.1",
    "react": "^17.0.2",
    "react-device-detect": "^2.2.3",
    "react-dom": "^17.0.2",
    "react-focus-lock": "^2.11.1",
    "react-is": "^17.0.2",
    "react-leaflet": "^3.2.2",
    "react-linkify": "^1.0.0-alpha",
    "react-meta-tags": "^1.0.1",
    "react-redux": "^7.2.6",
    "react-router": "3",
    "react-router-dom": "^5.3.0",
    "react-router-dom-v5-compat": "^6.22.3",
    "react-router-last-location": "^2.0.1",
    "react-scroll": "^1.8.4",
    "react-tabs": "^3.2.3",
    "react-transition-group": "^4.4.2",
    "recompose": "^0.30.0",
    "redux": "^4.1.1",
    "redux-localstorage": "^0.4.1",
    "redux-mock-store": "^1.5.4",
    "redux-thunk": "^2.3.0",
    "regenerator-runtime": "^0.13.9",
    "reselect": "^2.5.4",
    "styled-components": "^5.3.1",
    "url-search-params": "^1.1.0",
    "url-search-params-polyfill": "^8.1.1",
    "uswds": "1.6.10",
    "vanilla-lazyload": "^16.1.0",
    "vets-json-schema": "https://github.com/department-of-veterans-affairs/vets-json-schema.git#3ab65cdd8c82c1207f6dbb8aa84cb4c659bc9add"
  },
  "resolutions": {
    "**/lodash": "4.17.21",
    "**/nanoid": "^3.1.31",
    "**/js-yaml": "^3.13.1",
    "**/jpeg-js": "^0.4.3",
    "**/dot-prop": "^5.1.1",
    "**/dns-packet": "^1.3.2",
    "**/growl": "^1.10.2",
    "**/handlebars": "^4.7.7",
    "**/http-proxy": "^1.18.1",
    "**/https-proxy-agent": "^2.2.3",
    "**/hosted-git-info": "^3.0.8",
    "**/locutus": "^2.0.15",
    "**/node-forge": "^1.3.0",
    "**/normalize-url": "^6.0.1",
    "**/qs": "^6.0.4",
    "**/axios": "^0.21.1",
    "**/elliptic": "^6.5.4",
    "**/minimatch": "^3.0.2",
    "**/netmask": "^2.0.1",
    "**/is-svg": "^4.2.2",
    "**/y18n": "^4.0.1",
    "**/merge": "^2.1.1",
    "**/shelljs": "^0.8.5",
    "**/ssri": "^8.0.1",
    "**/ua-parser-js": "^0.7.24",
    "**/underscore": "^1.12.1",
    "**/url-parse": "^1.5.0",
    "tar-fs/tar-stream/bl": "^4.0.3",
    "**/meow": "^9.0.0",
    "**/set-value": "^2.0.1",
    "**/tar": "^4.4.18",
    "**/kind-of": "^6.0.3",
    "**/glob-parent": "^5.1.2",
    "**/ansi-regex": "^5.0.1",
    "**/yargs-parser": "13.1.2",
    "@babel/runtime": "^7.15.4",
    "punycode": "1.4.1",
    "**/cached-path-relative": "1.1.0",
    "**/minimist": "^1.2.6",
    "**/async": "^2.6.4",
    "**/ejs": "^3.1.7",
    "**/fbjs": "^3.0.4"
  },
  "workspaces": {
    "packages": [
      "src/platform/startup",
      "src/platform/landing-pages",
      "src/platform/utilities",
      "src/platform/pdf",
      "src/platform/polyfills",
      "src/platform/static-data",
      "src/platform/user",
      "src/platform/testing",
      "src/platform/site-wide",
      "src/platform/forms",
      "src/platform/forms-system",
      "src/platform/monitoring",
      "src/platform/mhv",
      "src/applications/check-in",
      "src/applications/vaos"
    ],
    "nohoist": [
      "**/applications-check-in/i18next-resources-to-backend",
      "**/applications-check-in/react-i18next",
      "**/applications-vaos/simple-guid",
      "**/applications-vaos/mocker-api",
      "**/platform-pdf/blob-stream",
      "**/platform-pdf/pdfkit",
      "**/platform-pdf/crypto-js",
      "**/platform-pdf/fontkit",
      "**/platform-pdf/linebreak",
      "**/platform-pdf/png-js",
      "**/platform-polyfills/@formatjs/intl-datetimeformat",
      "**/platform-polyfills/@formatjs/intl-getcanonicallocales",
      "**/platform-polyfills/@formatjs/intl-locale",
      "**/platform-polyfills/classlist-polyfill",
      "**/platform-polyfills/element-remove",
      "**/platform-polyfills/downloadjs",
      "**/platform-polyfills/whatwg-fetch",
      "**/platform-testing/cookie-parser",
      "**/platform-testing/@bahmutov/cypress-esbuild-preprocessor",
      "**/platform-testing/@cypress/code-coverage",
      "**/platform-testing/@testing-library/cypress",
      "**/platform-testing/@wojtekmaj/enzyme-adapter-react-17",
      "**/platform-testing/body-parser",
      "**/platform-testing/cors",
      "**/platform-testing/cy-mobile-commands",
      "**/platform-testing/cypress-axe",
      "**/platform-testing/cypress-plugin-tab",
      "**/platform-testing/cypress-real-events",
      "**/platform-testing/cypress-wait-until",
      "**/platform-testing/express-history-api-fallback",
      "**/platform-testing/jsdom",
      "**/platform-testing/morgan",
      "**/platform-testing/node-resemble-js",
      "**/platform-testing/process",
      "**/platform-testing/puppeteer",
      "**/platform-testing/request",
      "**/platform-testing/sentry-testkit",
      "**/platform-testing/table",
      "**/platform-testing/winston"
    ]
  }
}