docs/package.json

400 строки
13 KiB
JSON

{
"name": "docs.github.com",
"private": true,
"repository": "https://github.com/github/docs",
"license": "(MIT AND CC-BY-4.0)",
"author": {
"name": "GitHub",
"email": "opensource+docs@github.com",
"url": "https://github.com/github/docs"
},
"type": "module",
"imports": {
"#src/*": {
"default": "./src/*"
}
},
"exports": "./src/frame/server.js",
"scripts": {
"analyze-text": "node src/search/scripts/analyze-text.js",
"archive-version": "node --max-old-space-size=8192 src/ghes-releases/scripts/archive-version.js",
"build": "next build",
"check-content-type": "node src/workflows/check-content-type.js",
"check-github-github-links": "node src/links/scripts/check-github-github-links.js",
"copy-fixture-data": "node src/tests/scripts/copy-fixture-data.js",
"debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES=en nodemon --inspect src/frame/server.js",
"delete-orphan-translation-files": "tsx src/workflows/delete-orphan-translation-files.ts",
"dev": "cross-env npm start",
"find-orphaned-assets": "node src/assets/scripts/find-orphaned-assets.js",
"fixture-dev": "cross-env ROOT=src/fixtures/fixtures npm start",
"fixture-test": "cross-env ROOT=src/fixtures/fixtures npm test -- src/fixtures/tests",
"index-elasticsearch": "node src/search/scripts/index-elasticsearch.js",
"index-test-fixtures": "npm run index-elasticsearch -- -l en -l ja -V ghec -V dotcom --index-prefix tests -- src/search/tests/fixtures/search-indexes",
"lint": "eslint '**/*.{js,mjs,ts,tsx}'",
"lint-content": "node src/content-linter/scripts/lint-content.js",
"lint-translation": "cross-env NODE_OPTIONS=--experimental-vm-modules jest src/content-linter/tests/lint-files.js",
"generate-code-scanning-query-list": "tsx src/code-scanning/scripts/generate-code-scanning-query-list.ts",
"generate-content-linter-docs": "tsx src/content-linter/scripts/generate-docs.ts",
"move-content": "node src/content-render/scripts/move-content.js",
"openapi-docs": "node src/rest/docs.js",
"playwright-test": "playwright test --config src/fixtures/playwright.config.ts --project=\"Google Chrome\"",
"post-lints": "node src/content-linter/scripts/post-lints.js",
"postinstall": "cp package-lock.json .installed.package-lock.json && echo \"Updated .installed.package-lock.json\" # see husky/post-checkout and husky/post-merge",
"precompute-pageinfo": "tsx src/pageinfo/scripts/precompute-pageinfo.ts",
"prepare": "husky src/workflows/husky",
"prettier": "prettier -w \"**/*.{ts,tsx,js,mjs,scss,yml,yaml}\"",
"prettier-check": "prettier -c \"**/*.{ts,tsx,js,mjs,scss,yml,yaml}\"",
"prevent-pushes-to-main": "node src/workflows/prevent-pushes-to-main.js",
"release-banner": "node src/ghes-releases/scripts/release-banner.js",
"remove-version-markup": "node src/ghes-releases/scripts/remove-version-markup.js",
"rendered-content-link-checker-cli": "node src/links/scripts/rendered-content-link-checker-cli.js",
"rest-dev": "node src/rest/scripts/update-files.js",
"show-action-deps": "echo 'Action Dependencies:' && rg '^[\\s|-]*(uses:.*)$' .github -I -N --no-heading -r '$1$2' | sort | uniq | cut -c 7-",
"start": "cross-env NODE_ENV=development ENABLED_LANGUAGES=en nodemon src/frame/server.js",
"start-all-languages": "cross-env NODE_ENV=development nodemon src/frame/server.js",
"start-for-playwright": "cross-env ROOT=src/fixtures/fixtures TRANSLATIONS_FIXTURE_ROOT=src/fixtures/fixtures/translations ENABLED_LANGUAGES=en,ja NODE_ENV=test node src/frame/server.js",
"symlink-from-local-repo": "node src/early-access/scripts/symlink-from-local-repo.js",
"sync-rest": "node src/rest/scripts/update-files.js",
"sync-search": "cross-env NODE_OPTIONS='--max_old_space_size=8192' start-server-and-test sync-search-server 4002 sync-search-indices",
"sync-search-ghes-release": "cross-env GHES_RELEASE=1 start-server-and-test sync-search-server 4002 sync-search-indices",
"sync-search-indices": "node src/search/scripts/sync-search-indices.js",
"sync-search-server": "cross-env NODE_ENV=production PORT=4002 MINIMAL_RENDER=true CHANGELOG_DISABLED=true node src/frame/server.js",
"sync-webhooks": "src/rest/scripts/update-files.js -o webhooks",
"test": "cross-env NODE_OPTIONS='--max_old_space_size=4096 --experimental-vm-modules' jest --logHeapUsage",
"test-local-dev": "node src/workflows/test-local-dev.js",
"test-moved-content": "tsx src/content-render/scripts/test-moved-content.ts",
"test-watch": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --watch --notify --notifyMode=change --coverage",
"tsc": "tsc --noEmit",
"unallowed-contributions": "node src/workflows/unallowed-contributions.js",
"update-data-and-image-paths": "node src/early-access/scripts/update-data-and-image-paths.js",
"update-internal-links": "node src/links/scripts/update-internal-links.js",
"validate-asset-images": "node src/assets/scripts/validate-asset-images.js",
"warmup-remotejson": "node src/archives/scripts/warmup-remotejson.js"
},
"lint-staged": {
"*.{js,mjs,ts,tsx}": "eslint --cache --fix",
"*.{js,mjs,scss,ts,tsx,yml,yaml}": "prettier --write",
"{content,data}/**/*.md": "npm run lint-content -- --precommit --paths"
},
"nodemonConfig": {
"ext": "js,json,yml,md,html,scss",
"ignore": [
"assets",
"script",
"tests",
"content",
"translations",
"data/reusables",
"data/variables",
"data/glossaries",
"data/product-examples",
"data/learning-tracks",
"rest-api-description",
"semmle-code"
]
},
"prettier": {
"overrides": [
{
"files": [
"**/*.{yml,yaml}"
],
"options": {
"singleQuote": true
}
},
{
"files": [
"**/*.{ts,tsx,js,mjs}"
],
"options": {
"printWidth": 100,
"semi": false,
"singleQuote": true
}
}
]
},
"eslintConfig": {
"env": {
"browser": true,
"commonjs": true,
"es2020": true,
"node": true
},
"parserOptions": {
"ecmaVersion": 2022,
"requireConfigFile": "false",
"sourceType": "module"
},
"settings": {
"import/resolver": {
"typescript": true,
"node": true
}
},
"extends": [
"eslint:recommended",
"standard",
"plugin:import/errors",
"prettier"
],
"rules": {
"import/no-extraneous-dependencies": [
"error",
{
"packageDir": "."
}
]
},
"overrides": [
{
"files": [
"**/tests/**/*.js"
],
"env": {
"jest": true
}
},
{
"files": [
"**/*.tsx",
"**/*.ts"
],
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"primer-react",
"jsx-a11y"
],
"extends": [
"plugin:primer-react/recommended",
"plugin:jsx-a11y/recommended"
],
"rules": {
"camelcase": "off",
"no-undef": "off",
"no-unused-vars": "off",
"no-use-before-define": "off",
"@typescript-eslint/no-unused-vars": [
"error"
],
"jsx-a11y/no-onchange": "off"
}
}
],
"ignorePatterns": [
"tmp/*",
"!/.*",
"/.next/",
"src/bookmarklets/*",
"src/open-source/scripts/add-pr-links.js",
"src/open-source/scripts/pr-link-source.js",
"rest-api-description/"
]
},
"jest": {
"testTimeout": 30000,
"coverageThreshold": {
"global": {
"branches": 95,
"functions": 95,
"lines": 95,
"statements": -5
}
},
"globalSetup": "./src/tests/scripts/start-server-for-jest.js",
"globalTeardown": "./src/tests/scripts/kill-server-for-jest.js",
"moduleNameMapper": {
"@primer/behaviors": "<rootDir>/node_modules/@primer/behaviors/dist/cjs/index.js"
},
"preset": "ts-jest",
"reporters": [
"default",
"github-actions"
],
"setupFilesAfterEnv": [
"./src/tests/jest.setup.js",
"jest-expect-message"
],
"testEnvironment": "node",
"testMatch": [
"**/tests/**/*.js"
],
"testPathIgnorePatterns": [
"node_modules/",
"vendor/",
"src/fixtures/fixtures/",
"src/tests/helpers/"
]
},
"dependencies": {
"@elastic/elasticsearch": "8.11.0",
"@github/failbot": "0.8.3",
"@octokit/plugin-retry": "6.0.1",
"@octokit/request-error": "5.0.1",
"@primer/behaviors": "^1.3.5",
"@primer/css": "^21.0.7",
"@primer/octicons": "^19.5.0",
"@primer/octicons-react": "^19.5.0",
"@primer/react": "36.2.0",
"accept-language-parser": "^1.5.0",
"ajv": "^8.11.0",
"ajv-errors": "^3.0.0",
"ajv-formats": "^2.1.1",
"bottleneck": "2.19.5",
"boxen": "7.1.1",
"cheerio": "^1.0.0-rc.11",
"cheerio-to-text": "0.2.4",
"classnames": "^2.3.1",
"connect-datadog": "0.0.9",
"cookie-parser": "^1.4.6",
"dayjs": "^1.11.3",
"dotenv": "^16.0.1",
"escape-string-regexp": "5.0.0",
"express": "4.18.2",
"express-rate-limit": "7.0.0",
"express-timeout-handler": "^2.2.2",
"fastest-levenshtein": "1.0.16",
"file-type": "19.0.0",
"flat": "^6.0.1",
"github-slugger": "^2.0.0",
"glob": "10.0.0",
"got": "^13.0.0",
"gray-matter": "^4.0.3",
"hast-util-from-parse5": "^8.0.1",
"hast-util-to-string": "^2.0.0",
"hastscript": "^9.0.0",
"helmet": "^7.0.0",
"highlight.js": "11.9.0",
"highlightjs-curl": "^1.3.0",
"hot-shots": "^10.0.0",
"html-entities": "^2.4.0",
"http-proxy-middleware": "2.0.6",
"imurmurhash": "^0.1.4",
"is-svg": "5.0.0",
"javascript-stringify": "^2.1.0",
"js-cookie": "^3.0.1",
"js-yaml": "^4.1.0",
"liquidjs": "^10.7.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"lowdb": "7.0.1",
"lowlight": "3.1.0",
"mdast-util-from-markdown": "^2.0.0",
"mdast-util-to-hast": "^13.0.1",
"mdast-util-to-markdown": "2.0.0",
"mdast-util-to-string": "^4.0.0",
"morgan": "^1.10.0",
"next": "14.1.2",
"ora": "^8.0.1",
"parse5": "7.1.2",
"port-used": "^2.0.8",
"quick-lru": "7.0.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"rehype-highlight": "^7.0.0",
"rehype-raw": "^7.0.0",
"rehype-slug": "^6.0.0",
"rehype-stringify": "^10.0.0",
"remark-gemoji-to-emoji": "^1.1.0",
"remark-gfm": "^4.0.0",
"remark-parse": "^11.0.0",
"remark-rehype": "^11.0.0",
"rss-parser": "^3.13.0",
"scroll-anchoring": "^0.1.0",
"semver": "^7.5.4",
"sharp": "0.33.1",
"slash": "^5.0.0",
"strip-ansi": "7.1.0",
"strip-html-comments": "^1.0.0",
"styled-components": "^5.3.5",
"swr": "^2.2.4",
"unified": "^11.0.3",
"unist-util-visit": "^5.0.0",
"url-template": "^3.0.0",
"walk-sync": "^3.0.0"
},
"devDependencies": {
"@actions/core": "^1.10.0",
"@actions/github": "^6.0.0",
"@axe-core/playwright": "^4.8.3",
"@github/markdownlint-github": "^0.4.1",
"@graphql-inspector/core": "^5.0.0",
"@graphql-tools/load": "^8.0.0",
"@jest/globals": "29.7.0",
"@octokit/rest": "^20.0.2",
"@playwright/test": "1.41.0",
"@types/imurmurhash": "^0.1.4",
"@types/js-cookie": "^3.0.6",
"@types/lodash": "^4.14.202",
"@types/react": "18.2.46",
"@types/react-dom": "^18.2.18",
"@typescript-eslint/eslint-plugin": "6.17.0",
"@typescript-eslint/parser": "6.17.0",
"chalk": "^5.0.1",
"change-case": "^5.0.2",
"commander": "^12.0.0",
"cross-env": "^7.0.3",
"csp-parse": "0.0.2",
"dedent": "^1.0.1",
"eslint": "8.56.0",
"eslint-config-prettier": "9.1.0",
"eslint-config-standard": "17.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-n": "16.6.1",
"eslint-plugin-primer-react": "4.0.3",
"eslint-plugin-promise": "6.1.1",
"event-to-promise": "^0.8.0",
"graphql": "^16.8.1",
"http-status-code": "^2.1.0",
"husky": "^9.0.8",
"jest": "29.7.0",
"jest-expect-message": "1.1.3",
"jest-fail-on-console": "^3.1.1",
"jest-slow-test-reporter": "^1.0.0",
"json-schema-merge-allof": "^0.8.1",
"kill-port": "2.0.1",
"lint-staged": "^15.0.1",
"markdownlint": "^0.28.2",
"markdownlint-rule-helpers": "^0.19.0",
"markdownlint-rule-search-replace": "^1.2.0",
"mdast-util-gfm-table": "^2.0.0",
"micromark-extension-gfm-table": "^2.0.0",
"mkdirp": "^3.0.0",
"mockdate": "^3.0.5",
"nock": "^13.5.0",
"nodemon": "3.1.0",
"npm-merge-driver-install": "^3.0.0",
"nth-check": "2.1.1",
"prettier": "^3.2.5",
"rimraf": "^5.0.0",
"robots-parser": "^3.0.0",
"sass": "^1.52.3",
"start-server-and-test": "^2.0.3",
"ts-jest": "29.1.1",
"tsx": "4.7.1",
"typescript": "^5.3.3",
"unist-util-remove": "^4.0.0",
"unist-util-visit-parents": "6.0.1",
"website-scraper": "^5.3.1"
},
"overrides": {
"ts-jest@29.1.1": {
"@babel/core": "7.23.3"
}
},
"optionalDependencies": {
"esm": "^3.2.25"
},
"engines": {
"node": "^18 || ^20"
},
"cacheDirectories": [
"node_modules",
".next/cache"
]
}