package.json
{
"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"
]
}
}