mirror of
https://github.com/badges/shields.git
synced 2025-04-18 19:44:04 +03:00
* update ESLint related packages * migrate to flat config format * Fix prefer-const error Fixes 'overrideLogoSize' is never reassigned. Use 'const' instead * remove irrelevant eslint-disable comment These comments came from a swizzled upstream component but never did anything in our codebase. ESLint 9 does not allow disable comments for rules that are not registered. * remove irrelevant eslint-disable comments These were here because in the past we were applying mocha lint rules to files which contained no tests ESLint 9 now flags eslint-disable comments that aren't doing anythings * remove irrelevant eslint-disable comment ESLint 9 now flags eslint-disable comments that aren't doing anything * there are no .tsx files in our code any more * include .mjs files in linting and formatting * update sort-class-members rule for openApi property and update the handful of files violating it
228 lines
8.6 KiB
JSON
228 lines
8.6 KiB
JSON
{
|
|
"name": "shields.io",
|
|
"version": "0.0.0",
|
|
"description": "Shields.io server and frontend",
|
|
"private": true,
|
|
"keywords": [
|
|
"GitHub",
|
|
"badge",
|
|
"SVG",
|
|
"image",
|
|
"shields.io"
|
|
],
|
|
"homepage": "https://shields.io",
|
|
"bugs": {
|
|
"url": "https://github.com/badges/shields/issues"
|
|
},
|
|
"license": "CC0-1.0",
|
|
"author": "Thaddée Tyl <thaddee.tyl@gmail.com>",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/badges/shields"
|
|
},
|
|
"dependencies": {
|
|
"@renovatebot/pep440": "^4.0.1",
|
|
"@renovatebot/ruby-semver": "^4.0.0",
|
|
"@sentry/node": "^8.47.0",
|
|
"@shields_io/camp": "^18.1.2",
|
|
"@xmldom/xmldom": "0.9.6",
|
|
"badge-maker": "file:badge-maker",
|
|
"byte-size": "^9.0.1",
|
|
"bytes": "^3.1.2",
|
|
"camelcase": "^8.0.0",
|
|
"chalk": "^5.4.1",
|
|
"check-node-version": "^4.2.1",
|
|
"cloudflare-middleware": "^1.0.4",
|
|
"config": "^3.3.12",
|
|
"cross-env": "^7.0.3",
|
|
"dayjs": "^1.11.13",
|
|
"decamelize": "^3.2.0",
|
|
"emojic": "^1.1.17",
|
|
"escape-string-regexp": "^4.0.0",
|
|
"fast-xml-parser": "^4.5.1",
|
|
"glob": "^11.0.0",
|
|
"global-agent": "^3.0.0",
|
|
"got": "^14.4.5",
|
|
"graphql": "16.10.0",
|
|
"graphql-tag": "^2.12.6",
|
|
"joi": "17.13.3",
|
|
"joi-extension-semver": "5.0.0",
|
|
"js-yaml": "^4.1.0",
|
|
"jsonpath-plus": "^10.2.0",
|
|
"lodash.countby": "^4.6.0",
|
|
"lodash.groupby": "^4.6.0",
|
|
"lodash.times": "^4.3.2",
|
|
"matcher": "^5.0.0",
|
|
"node-env-flag": "^0.1.0",
|
|
"node-pg-migrate": "^7.8.0",
|
|
"parse-link-header": "^2.0.0",
|
|
"path-to-regexp": "^6.3.0",
|
|
"pg": "^8.13.1",
|
|
"priorityqueuejs": "^2.0.0",
|
|
"prom-client": "^15.1.3",
|
|
"qs": "^6.13.1",
|
|
"query-string": "^9.1.1",
|
|
"semver": "~7.6.3",
|
|
"simple-icons": "14.0.0",
|
|
"smol-toml": "1.3.1",
|
|
"svg-path-bbox": "^2.1.0",
|
|
"svgpath": "^2.6.0",
|
|
"webextension-store-meta": "^1.2.4",
|
|
"xpath": "~0.0.34"
|
|
},
|
|
"scripts": {
|
|
"coverage:test:core": "c8 npm run test:core",
|
|
"coverage:test:package": "c8 npm run test:package",
|
|
"coverage:test:entrypoint": "c8 npm run test:entrypoint",
|
|
"coverage:test:integration": "c8 npm run test:integration",
|
|
"coverage:test:services": "c8 npm run test:services",
|
|
"coverage:clean": "rimraf coverage",
|
|
"precoverage:test": "cross-env BASE_URL=http://localhost:8080 run-s --silent coverage:clean defs",
|
|
"coverage:test": "run-s --silent --continue-on-error coverage:test:core coverage:test:package coverage:test:entrypoint coverage:test:integration",
|
|
"coverage:report:generate": "c8 report",
|
|
"coverage:report:open": "open-cli coverage/lcov-report/index.html",
|
|
"coverage:report": "run-s --silent coverage:report:generate coverage:report:open",
|
|
"lint": "eslint \"**/*.@(cjs|mjs|js|ts)\"",
|
|
"prettier": "prettier --write \"**/*.@(cjs|mjs|js|ts|md|json|yml)\"",
|
|
"prettier:check": "prettier --check \"**/*.@(cjs|mjs|js|ts|md|json|yml)\"",
|
|
"danger": "danger",
|
|
"test:e2e": "cypress run",
|
|
"test:core": "cross-env TZ='UTC' NODE_CONFIG_ENV=test mocha \"core/**/*.spec.js\" \"lib/**/*.spec.js\" \"services/**/*.spec.js\"",
|
|
"test:package": "mocha \"badge-maker/**/*.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 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 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": "cross-env BASE_URL=http://localhost:8080 run-s --silent defs",
|
|
"test": "run-s --silent --continue-on-error lint test:package test:core test:entrypoint check-types:package prettier:check",
|
|
"check-types:package": "tsd badge-maker",
|
|
"depcheck": "check-node-version --node \">= 20.0\"",
|
|
"prebuild": "run-s --silent depcheck",
|
|
"defs": "node scripts/export-openapi-cli.js",
|
|
"build": "rimraf public && run-s defs docusaurus: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",
|
|
"profile:server": "cross-env NODE_CONFIG_ENV=development node --prof server 8080",
|
|
"benchmark:badge": "cross-env NODE_CONFIG_ENV=test node scripts/benchmark-performance.js --iterations 10100 | node scripts/capture-timings.js --warmup-iterations 100",
|
|
"prestart": "cross-env BASE_URL=http://localhost:8080 run-s --silent depcheck defs",
|
|
"start": "concurrently --names server,frontend \"npm run start:server\" \"npm run docusaurus:start\"",
|
|
"e2e": "cross-env BASE_URL=http://localhost:8080 run-s build e2e-on-build",
|
|
"e2e-on-build": "cross-env CYPRESS_BASE_URL=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 . && echo 'contributing.shields.io' > api-docs/CNAME",
|
|
"migrate": "node scripts/write-migrations-config.js > migrations-config.json && node-pg-migrate --config-file=migrations-config.json",
|
|
"docusaurus:start": "docusaurus start frontend",
|
|
"docusaurus:build": "docusaurus build frontend --out-dir ../public",
|
|
"docusaurus:swizzle": "cd frontend && docusaurus swizzle",
|
|
"docusaurus:clear": "docusaurus clear frontend"
|
|
},
|
|
"lint-staged": {
|
|
"**/*.@(cjs|mjs|js|ts)": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
],
|
|
"**/*.@(md|json|yml)": [
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"nodemonConfig": {
|
|
"verbose": true,
|
|
"ext": "js",
|
|
"ignore": [
|
|
"package.json",
|
|
"**/*.spec.js",
|
|
"**/*.tester.js",
|
|
"**/*.integration.js",
|
|
"frontend/",
|
|
"build/",
|
|
"cypress/"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@docusaurus/core": "^3.5.2",
|
|
"@docusaurus/preset-classic": "^3.5.2",
|
|
"@easyops-cn/docusaurus-search-local": "^0.46.1",
|
|
"@mdx-js/react": "^3.1.0",
|
|
"@typescript-eslint/parser": "^8.18.2",
|
|
"c8": "^10.1.3",
|
|
"caller": "^1.1.0",
|
|
"chai": "5.1.2",
|
|
"chai-as-promised": "^8.0.1",
|
|
"chai-datetime": "^1.8.1",
|
|
"child-process-promise": "^2.2.1",
|
|
"clsx": "^2.1.1",
|
|
"concurrently": "^9.1.1",
|
|
"cypress": "^13.17.0",
|
|
"cypress-wait-for-stable-dom": "^0.1.0",
|
|
"danger": "^12.3.3",
|
|
"deepmerge": "^4.3.1",
|
|
"docusaurus-preset-openapi": "0.7.5",
|
|
"eslint": "9.17.0",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-chai-friendly": "1.0.1",
|
|
"eslint-plugin-cypress": "4.1.0",
|
|
"eslint-plugin-icedfrisby": "0.2.0",
|
|
"eslint-plugin-import": "2.31.0",
|
|
"eslint-plugin-jsdoc": "50.6.1",
|
|
"eslint-plugin-mocha": "10.5.0",
|
|
"eslint-plugin-prettier": "5.2.1",
|
|
"eslint-plugin-promise": "7.2.1",
|
|
"eslint-plugin-react-hooks": "5.1.0",
|
|
"eslint-plugin-sort-class-members": "1.21.0",
|
|
"form-data": "^4.0.1",
|
|
"globals": "15.14.0",
|
|
"icedfrisby": "4.0.0",
|
|
"icedfrisby-nock": "^2.1.0",
|
|
"is-svg": "^5.1.0",
|
|
"jsdoc": "^4.0.4",
|
|
"lint-staged": "^15.2.11",
|
|
"lodash.difference": "^4.5.0",
|
|
"minimist": "^1.2.8",
|
|
"mocha": "^11.0.1",
|
|
"mocha-env-reporter": "^4.0.0",
|
|
"mocha-junit-reporter": "^2.2.1",
|
|
"mocha-yaml-loader": "^1.0.3",
|
|
"neostandard": "0.12.0",
|
|
"nock": "13.5.6",
|
|
"node-mocks-http": "^1.16.2",
|
|
"nodemon": "^3.1.9",
|
|
"npm-run-all": "^4.1.5",
|
|
"open-cli": "^8.0.0",
|
|
"portfinder": "^1.0.32",
|
|
"prettier": "3.4.2",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"react": "^18.3.0",
|
|
"react-dom": "^18.3.1",
|
|
"read-all-stdin-sync": "^1.0.5",
|
|
"rimraf": "^6.0.1",
|
|
"sazerac": "^2.0.0",
|
|
"simple-git-hooks": "^2.11.1",
|
|
"sinon": "^19.0.2",
|
|
"sinon-chai": "4.0.0",
|
|
"snap-shot-it": "^7.9.10",
|
|
"start-server-and-test": "2.0.9",
|
|
"tsd": "^0.31.2",
|
|
"url": "^0.11.4"
|
|
},
|
|
"engines": {
|
|
"node": "^20.10.0",
|
|
"npm": "^9.0.0 || ^10.0.0"
|
|
},
|
|
"type": "module",
|
|
"collective": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/shields",
|
|
"logo": "https://opencollective.com/opencollective/logo.txt"
|
|
},
|
|
"simple-git-hooks": {
|
|
"pre-commit": "npx lint-staged"
|
|
}
|
|
}
|