{ "name": "shields.io", "version": "0.0.0", "description": "Shields.io server and frontend", "private": true, "keywords": [ "GitHub", "badge", "SVG", "image", "shields.io" ], "homepage": "http://shields.io", "bugs": { "url": "https://github.com/badges/shields/issues", "email": "thaddee.tyl@gmail.com" }, "license": "CC0-1.0", "author": "Thaddée Tyl ", "repository": { "type": "git", "url": "https://github.com/badges/shields" }, "dependencies": { "@hapi/joi": "^15.1.0", "@sentry/node": "^5.6.1", "bytes": "^3.1.0", "camelcase": "^5.3.1", "camp": "~17.2.4", "chalk": "^2.4.2", "check-node-version": "^4.0.1", "chrome-web-store-item-property": "~1.1.2", "config": "^3.2.2", "cross-env": "^5.2.0", "decamelize": "^3.2.0", "dotenv": "^8.0.0", "emojic": "^1.1.15", "escape-string-regexp": "^2.0.0", "fast-xml-parser": "^3.12.19", "fsos": "^1.1.6", "gh-badges": "file:gh-badges", "glob": "^7.1.4", "graphql": "^14.4.2", "graphql-tag": "^2.10.1", "ioredis": "^4.14.0", "joi-extension-semver": "3.0.0", "js-yaml": "^3.13.1", "jsonpath": "~1.0.2", "lodash.countby": "^4.6.0", "lodash.throttle": "^4.1.1", "lodash.times": "^4.3.2", "moment": "^2.24.0", "node-env-flag": "^0.1.0", "parse-link-header": "^1.0.1", "path-to-regexp": "^3.0.0", "pretty-bytes": "^5.3.0", "priorityqueuejs": "^1.0.0", "prom-client": "^11.5.3", "query-string": "^6.8.2", "request": "~2.88.0", "semver": "~6.3.0", "simple-icons": "1.13.0", "xmldom": "~0.1.27", "xpath": "~0.0.27" }, "scripts": { "coverage:test:server": "echo \"Deprecated; run `npm run coverage:test:core` instead.\" && npm run coverage:test:core", "coverage:test:core": "nyc npm run test:core", "coverage:test:frontend": "nyc --nycrc-path .nycrc-frontend.json npm run test:frontend", "coverage:test:package": "nyc npm run test:package", "coverage:test:entrypoint": "nyc npm run test:entrypoint", "coverage:test:integration": "nyc npm run test:integration", "coverage:test:services": "nyc npm run test:services", "coverage:clean": "rimraf .nyc_output coverage", "precoverage:test": "run-s --silent coverage:clean defs features", "coverage:test": "run-s --silent --continue-on-error coverage:test:server coverage:test:package coverage:test:entrypoint coverage:test:frontend coverage:test:integration", "coverage:report:generate": "nyc report", "coverage:report:open": "open-cli coverage/lcov-report/index.html", "coverage:report": "run-s --silent coverage:report:generate coverage:report:open", "lint": "eslint \"**/*.@(js|ts|tsx)\"", "prettier": "prettier --write \"**/*.@(js|ts|tsx|md|json|yml)\"", "prettier:check": "prettier --check \"**/*.@(js|ts|tsx|md|json|yml)\"", "danger": "danger", "test:server": "echo \"Deprecated; run `npm run test:core` instead.\" && npm run test:core", "test:js:server": "echo \"Deprecated; run `npm run test:core` instead.\" && npm run test:core", "test:js:frontend": "echo \"Deprecated; run `npm run test:frontend` instead.\" && npm run test:frontend", "test:js:package": "echo \"Deprecated; run `npm run test:package` instead.\" && npm run test:package", "test:frontend": "cross-env NODE_ENV=test ts-mocha --config .mocharc-frontend.yml \"frontend/**/*.spec.@(js|ts|tsx)\"", "test:e2e": "cypress run", "test:core": "cross-env NODE_CONFIG_ENV=test mocha \"core/**/*.spec.js\" \"lib/**/*.spec.js\" \"services/**/*.spec.js\"", "test:package": "mocha \"gh-badges/**/*.spec.js\"", "test:entrypoint": "cross-env NODE_CONFIG_ENV=test mocha entrypoint.spec.js", "test:integration": "cross-env NODE_CONFIG_ENV=test mocha \"core/**/*.integration.js\" \"services/**/*.integration.js\"", "test:services": "cross-env NODE_CONFIG_ENV=test mocha --delay core/service-test-runner/cli.js", "test:services:trace": "cross-env NODE_CONFIG_ENV=test TRACE_SERVICES=true npm run test:services -- $*", "test:services:pr:prepare": "node core/service-test-runner/pull-request-services-cli.js > pull-request-services.log", "test:services:pr:run": "cross-env NODE_CONFIG_ENV=test mocha --delay core/service-test-runner/cli.js --stdin < pull-request-services.log", "test:services:pr": "run-s --silent test:services:pr:prepare test:services:pr:run", "pretest": "run-s --silent defs features", "test": "run-s --silent --continue-on-error lint test:frontend test:package test:server test:entrypoint prettier:check", "check-types:frontend": "tsc --noEmit --project .", "depcheck": "check-node-version --node \">= 8.0\"", "postinstall": "run-s --silent depcheck", "prebuild": "run-s --silent depcheck", "features": "node scripts/export-supported-features-cli.js > supported-features.json", "defs": "node scripts/export-service-definitions-cli.js > service-definitions.yml", "build": "run-s defs features && gatsby build", "heroku-postbuild": "run-s --silent build", "start:server:prod": "node server", "now-start": "npm run start:server:prod", "start:server:e2e-on-build": "node server 8080", "start:server": "cross-env NODE_CONFIG_ENV=development nodemon server 8080", "debug:server": "cross-env NODE_CONFIG_ENV=development nodemon --inspect server.js 8080", "prestart": "run-s --silent depcheck defs features", "start": "concurrently --names server,frontend \"npm run start:server\" \"cross-env GATSBY_BASE_URL=http://localhost:8080 gatsby develop --port 3000\"", "e2e": "start-server-and-test start http://localhost:3000 test:e2e", "e2e-on-build": "cross-env CYPRESS_baseUrl=http://localhost:8080 start-server-and-test start:server:e2e-on-build http://localhost:8080 test:e2e", "badge": "cross-env NODE_CONFIG_ENV=test TRACE_SERVICES=true node scripts/badge-cli.js", "build-docs": "rimraf api-docs/ && jsdoc --pedantic -c ./jsdoc.json ." }, "lint-staged": { "**/*.js": [ "eslint --fix", "prettier --write", "git add" ], "**/*.@(md|json|yml)": [ "prettier --write", "git add" ] }, "nodemonConfig": { "verbose": true, "ext": "js", "ignore": [ "package.json", "**/*.spec.js", "**/*.tester.js", "**/*.integration.js", "frontend/", "public/", "build/", "cypress/" ] }, "devDependencies": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-object-rest-spread": "^7.5.5", "@babel/polyfill": "^7.4.4", "@babel/preset-env": "^7.5.5", "@babel/register": "7.5.5", "@mapbox/react-click-to-select": "^2.2.0", "@types/chai": "^4.2.0", "@types/chai-enzyme": "^0.6.7", "@types/enzyme": "^3.10.3", "@types/lodash.groupby": "^4.6.6", "@types/mocha": "^5.2.7", "@types/react-helmet": "^5.0.9", "@types/styled-components": "4.1.8", "@typescript-eslint/eslint-plugin": "^1.13.0", "@typescript-eslint/parser": "^1.13.0", "babel-plugin-inline-react-svg": "^1.1.0", "babel-plugin-istanbul": "^5.2.0", "babel-preset-gatsby": "^0.2.8", "caller": "^1.0.1", "chai": "^4.1.2", "chai-datetime": "^1.5.0", "chai-enzyme": "^1.0.0-beta.1", "chai-string": "^1.4.0", "child-process-promise": "^2.2.1", "clipboard-copy": "^3.1.0", "concurrently": "^4.1.1", "cypress": "^3.4.1", "danger": "^9.1.5", "danger-plugin-no-test-shortcuts": "^2.0.0", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.14.0", "eslint": "^5.16.0", "eslint-config-prettier": "^6.0.0", "eslint-config-standard": "^12.0.0", "eslint-config-standard-jsx": "^6.0.2", "eslint-config-standard-react": "^8.0.0", "eslint-plugin-chai-friendly": "^0.4.1", "eslint-plugin-cypress": "^2.6.1", "eslint-plugin-import": "^2.18.2", "eslint-plugin-jsdoc": "^15.8.0", "eslint-plugin-mocha": "^6.0.0", "eslint-plugin-no-extension-in-require": "^0.2.0", "eslint-plugin-node": "^9.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-react": "^7.14.3", "eslint-plugin-react-hooks": "^1.7.0", "eslint-plugin-sort-class-members": "^1.5.0", "eslint-plugin-standard": "^4.0.0", "fetch-ponyfill": "^6.1.0", "fs-readfile-promise": "^3.0.1", "gatsby": "2.13.62", "gatsby-plugin-catch-links": "^2.1.3", "gatsby-plugin-page-creator": "^2.1.5", "gatsby-plugin-react-helmet": "^3.1.3", "gatsby-plugin-remove-trailing-slashes": "^2.1.2", "gatsby-plugin-styled-components": "^3.1.2", "gatsby-plugin-typescript": "^2.1.2", "got": "^9.6.0", "humanize-string": "^2.1.0", "husky": "^2.4.1", "icedfrisby": "2.2.1", "icedfrisby-nock": "^2.0.0", "is-png": "^2.0.0", "is-svg": "^4.2.0", "js-yaml-loader": "^1.2.2", "jsdoc": "^3.6.3", "lint-staged": "^9.2.1", "lodash.debounce": "^4.0.8", "lodash.difference": "^4.5.0", "lodash.groupby": "^4.6.0", "minimist": "^1.2.0", "mkdirp": "^0.5.1", "mocha": "^6.2.0", "mocha-env-reporter": "^4.0.0", "mocha-junit-reporter": "^1.23.1", "mocha-yaml-loader": "^1.0.3", "nock": "11.0.0", "node-mocks-http": "^1.7.6", "nodemon": "^1.19.1", "npm-run-all": "^4.1.5", "nyc": "^14.1.1", "opn-cli": "^5.0.0", "portfinder": "^1.0.22", "prettier": "1.18.2", "prop-types": "^15.7.2", "react": "^16.9.0", "react-dom": "^16.9.0", "react-error-overlay": "^6.0.1", "react-helmet": "^5.2.1", "react-modal": "^3.9.1", "react-pose": "^4.0.8", "react-select": "^3.0.4", "read-all-stdin-sync": "^1.0.5", "redis-server": "^1.2.2", "require-hacker": "^3.0.1", "rimraf": "^3.0.0", "sazerac": "^1.1.0", "sinon": "^7.4.1", "sinon-chai": "^3.3.0", "snap-shot-it": "^7.8.0", "start-server-and-test": "^1.10.0", "styled-components": "^4.3.2", "tmp": "0.1.0", "ts-mocha": "^6.0.0", "typescript": "^3.5.3", "url": "^0.11.0", "walkdir": "0.4.1" }, "engines": { "node": ">= 8", "npm": ">= 5" }, "babel": { "plugins": [ [ "inline-react-svg", { "svgo": false } ] ], "presets": [ "babel-preset-gatsby" ], "env": { "test": { "plugins": [ "istanbul" ] } } }, "collective": { "type": "opencollective", "url": "https://opencollective.com/shields", "logo": "https://opencollective.com/opencollective/logo.txt" }, "husky": { "hooks": { "pre-commit": "lint-staged" } } }