{ "repository": { "type": "git", "url": "https://github.com/desktop/desktop.git" }, "description": "GitHub Desktop build dependencies", "scripts": { "cli": "ts-node --require ./app/test/globals.ts --require ./app/src/cli/dev-commands-global.ts app/src/cli/main.ts", "check:eslint": "tsc -P eslint-rules/", "test:eslint": "jest eslint-rules/tests/*.test.js", "test:unit": "cross-env ELECTRON_RUN_AS_NODE=1 NODE_OPTIONS='--max_old_space_size=4096' ./node_modules/.bin/electron ./node_modules/jest/bin/jest --detectOpenHandles --silent --testLocationInResults --config ./app/jest.unit.config.js", "test:script": "jest --silent --config ./script/jest.config.js", "test": "yarn test:unit --runInBand && yarn test:script", "test:setup": "ts-node -P script/tsconfig.json script/test-setup.ts", "test:review": "ts-node -P script/tsconfig.json script/test-review.ts", "postinstall": "ts-node -P script/tsconfig.json script/post-install.ts", "start": "cross-env NODE_ENV=development ts-node -P script/tsconfig.json script/start.ts", "start:prod": "cross-env NODE_ENV=production ts-node -P script/tsconfig.json script/start.ts", "compile:dev": "cross-env NODE_ENV=development TS_NODE_PROJECT=script/tsconfig.json parallel-webpack --config app/webpack.development.ts", "compile:prod": "cross-env NODE_ENV=production TS_NODE_PROJECT=script/tsconfig.json NODE_OPTIONS='--max_old_space_size=4096' parallel-webpack --config app/webpack.production.ts", "build:dev": "yarn compile:dev && cross-env NODE_ENV=development ts-node -P script/tsconfig.json script/build.ts", "build:prod": "yarn compile:prod && cross-env NODE_ENV=production ts-node -P script/tsconfig.json script/build.ts", "package": "ts-node -P script/tsconfig.json script/package.ts", "generate-octicons": "ts-node -P script/tsconfig.json script/generate-octicons.ts", "compile:script": "tsc -P script/tsconfig.json", "lint": "yarn prettier && yarn lint:src", "lint:fix": "yarn prettier --write && yarn lint:src:fix", "markdownlint": "markdownlint **/*.{md,mdx} --config .markdownlint.js --rules node_modules/@github/markdownlint-github --ignore node_modules --ignore gemoji", "prettier": "prettier --check \"./**/*.{ts,tsx,js,json,jsx,scss,html,yaml,yml}\"", "lint:src": "yarn eslint-check && yarn eslint", "lint:src:fix": "yarn eslint --fix", "eslint": "eslint --cache --rulesdir ./eslint-rules \"./eslint-rules/**/*.js\" \"./script/**/*.ts{,x}\" \"./app/{src,typings,test}/**/*.{j,t}s{,x}\" \"./changelog.json\"", "eslint-check": "eslint --print-config .eslintrc.* | eslint-config-prettier-check", "validate-electron-version": "ts-node -P script/tsconfig.json script/validate-electron-version.ts", "clean-slate": "rimraf out node_modules app/node_modules && yarn", "rebuild-hard:dev": "yarn clean-slate && yarn build:dev", "rebuild-hard:prod": "yarn clean-slate && yarn build:prod", "draft-release": "ts-node -P script/tsconfig.json script/draft-release/index.ts", "draft-release:format": "prettier --check --write changelog.json app/package.json && yarn validate-changelog", "draft-release:pr": "ts-node -P script/tsconfig.json script/draft-release/draft-pull-request.ts", "validate-changelog": "ts-node -P script/tsconfig.json script/validate-changelog.ts" }, "author": { "name": "GitHub, Inc.", "email": "opensource+desktop@github.com", "url": "https://desktop.github.com/" }, "license": "MIT", "engines": { "node": ">= 10", "yarn": ">= 1.9" }, "dependencies": { "@azure/storage-blob": "^12.13.0", "@primer/octicons": "^10.0.0", "@types/lodash": "^4.14.178", "@types/marked": "^4.0.1", "@types/plist": "^3.0.2", "@types/react-color": "^3.0.4", "@typescript-eslint/eslint-plugin": "^5.10.2", "@typescript-eslint/experimental-utils": "^5.10.2", "@typescript-eslint/parser": "^5.10.2", "@typescript-eslint/typescript-estree": "^5.10.2", "airbnb-browser-shims": "^3.0.0", "ajv": "^6.12.3", "awesome-node-loader": "^1.1.0", "chalk": "^2.2.0", "cross-env": "^5.0.5", "css-loader": "^6.7.1", "eslint": "^7.3.1", "eslint-config-prettier": "^6.11.0", "eslint-plugin-jsdoc": "^43.0.1", "eslint-plugin-json": "^2.1.1", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-react": "7.26.1", "express": "^4.17.3", "fake-indexeddb": "^2.0.4", "front-matter": "^2.3.0", "fs-extra": "^9.0.1", "glob": "^7.1.2", "html-webpack-plugin": "^5.5.0", "jest": "^26.6.3", "jest-diff": "^25.0.0", "jest-extended": "^0.11.2", "jest-localstorage-mock": "^2.3.0", "jszip": "^3.8.0", "klaw-sync": "^3.0.0", "legal-eagle": "0.16.0", "mini-css-extract-plugin": "^2.5.3", "node-fetch": "^2.6.9", "parallel-webpack": "^2.3.0", "prettier": "^2.6.0", "rimraf": "^2.5.2", "sass": "^1.27.0", "sass-loader": "^10.0.3", "semver": "^5.7.2", "split2": "^3.2.2", "style-loader": "^3.3.1", "to-camel-case": "^1.0.0", "ts-jest": "^26.4.4", "ts-loader": "^9", "ts-node": "^7.0.0", "typescript": "^4.6.4", "webpack": "^5.76.0", "webpack-bundle-analyzer": "^4.5.0", "webpack-dev-middleware": "^5.3.1", "webpack-hot-middleware": "^2.25.1", "webpack-merge": "^5.8.0", "xml2js": "^0.5.0" }, "devDependencies": { "@github/markdownlint-github": "^0.1.0", "@types/byline": "^4.2.31", "@types/classnames": "^2.2.2", "@types/codemirror": "5.60.4", "@types/deep-equal": "^1.0.1", "@types/dompurify": "^2.3.1", "@types/electron-winstaller": "^4.0.0", "@types/eslint": "^8.4.1", "@types/estree": "^0.0.49", "@types/event-kit": "^2.4.1", "@types/express": "^4.11.0", "@types/fs-extra": "^7.0.0", "@types/fuzzaldrin-plus": "^0.0.1", "@types/glob": "^5.0.35", "@types/jest": "^23.3.1", "@types/klaw-sync": "^6.0.0", "@types/legal-eagle": "^0.15.0", "@types/memoize-one": "^3.1.1", "@types/mri": "^1.1.0", "@types/node": "16.11.11", "@types/prettier": "^2.0.1", "@types/react": "^16.8.7", "@types/react-css-transition-replace": "^2.1.3", "@types/react-dom": "^16.8.2", "@types/react-transition-group": "^4.4.0", "@types/react-virtualized": "^9.7.12", "@types/request": "^2.0.9", "@types/reserved-words": "^0.1.0", "@types/semver": "^5.5.0", "@types/source-map-support": "^0.5.2", "@types/split2": "^2.1.6", "@types/strip-ansi": "^3.0.0", "@types/temp": "^0.8.29", "@types/textarea-caret": "^3.0.0", "@types/to-camel-case": "^1.0.0", "@types/triple-beam": "^1.3.2", "@types/ua-parser-js": "^0.7.30", "@types/untildify": "^3.0.0", "@types/username": "^3.0.0", "@types/uuid": "^3.4.0", "@types/webpack": "^5.28.0", "@types/webpack-bundle-analyzer": "^4.4.1", "@types/webpack-hot-middleware": "^2.25.6", "@types/webpack-merge": "^5.0.0", "@types/xml2js": "^0.4.11", "electron": "24.8.3", "electron-packager": "^17.1.1", "electron-winstaller": "^5.0.0", "eslint-plugin-github": "^4.3.7", "jest-esm-transformer": "^1.0.0", "markdownlint-cli": "^0.32.2", "reserved-words": "^0.1.2", "tsconfig-paths": "^3.9.0" } }