package.json 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. {
  2. "name": "electron-react-boilerplate",
  3. "productName": "ElectronReact",
  4. "description": "Electron application boilerplate based on React, React Router, Webpack, React Fast Refresh for rapid application development",
  5. "scripts": {
  6. "build": "concurrently \"yarn build:main\" \"yarn build:renderer\"",
  7. "build:main": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.babel.js",
  8. "build:renderer": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.renderer.prod.babel.js",
  9. "rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir src",
  10. "lint": "cross-env NODE_ENV=development eslint . --cache --ext .js,.jsx,.ts,.tsx",
  11. "package": "rm -rf src/dist && yarn build && electron-builder build --publish never",
  12. "postinstall": "node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock",
  13. "start": "node -r @babel/register ./.erb/scripts/CheckPortInUse.js && yarn start:renderer",
  14. "start:main": "cross-env NODE_ENV=development electron -r ./.erb/scripts/BabelRegister ./src/main.dev.ts",
  15. "start:renderer": "cross-env NODE_ENV=development webpack serve --config ./.erb/configs/webpack.config.renderer.dev.babel.js",
  16. "test": "jest"
  17. },
  18. "lint-staged": {
  19. "*.{js,jsx,ts,tsx}": [
  20. "cross-env NODE_ENV=development eslint --cache"
  21. ],
  22. "{*.json,.{babelrc,eslintrc,prettierrc}}": [
  23. "prettier --ignore-path .eslintignore --parser json --write"
  24. ],
  25. "*.{css,scss}": [
  26. "prettier --ignore-path .eslintignore --single-quote --write"
  27. ],
  28. "*.{html,md,yml}": [
  29. "prettier --ignore-path .eslintignore --single-quote --write"
  30. ]
  31. },
  32. "build": {
  33. "productName": "ElectronReact",
  34. "appId": "org.erb.ElectronReact",
  35. "files": [
  36. "dist/",
  37. "node_modules/",
  38. "index.html",
  39. "main.prod.js",
  40. "main.prod.js.map",
  41. "package.json"
  42. ],
  43. "afterSign": ".erb/scripts/Notarize.js",
  44. "mac": {
  45. "target": [
  46. "dmg"
  47. ],
  48. "type": "distribution",
  49. "hardenedRuntime": true,
  50. "entitlements": "assets/entitlements.mac.plist",
  51. "entitlementsInherit": "assets/entitlements.mac.plist",
  52. "gatekeeperAssess": false
  53. },
  54. "dmg": {
  55. "contents": [
  56. {
  57. "x": 130,
  58. "y": 220
  59. },
  60. {
  61. "x": 410,
  62. "y": 220,
  63. "type": "link",
  64. "path": "/Applications"
  65. }
  66. ]
  67. },
  68. "win": {
  69. "target": [
  70. "nsis"
  71. ]
  72. },
  73. "linux": {
  74. "target": [
  75. "AppImage"
  76. ],
  77. "category": "Development"
  78. },
  79. "directories": {
  80. "app": "src",
  81. "buildResources": "assets",
  82. "output": "release"
  83. },
  84. "extraResources": [
  85. "./assets/**"
  86. ],
  87. "publish": {
  88. "provider": "github",
  89. "owner": "electron-react-boilerplate",
  90. "repo": "electron-react-boilerplate"
  91. }
  92. },
  93. "repository": {
  94. "type": "git",
  95. "url": "git+https://github.com/electron-react-boilerplate/electron-react-boilerplate.git"
  96. },
  97. "author": {
  98. "name": "Electron React Boilerplate Maintainers",
  99. "email": "electronreactboilerplate@gmail.com",
  100. "url": "https://electron-react-boilerplate.js.org"
  101. },
  102. "contributors": [
  103. {
  104. "name": "Amila Welihinda",
  105. "email": "amilajack@gmail.com",
  106. "url": "https://github.com/amilajack"
  107. },
  108. {
  109. "name": "John Tran",
  110. "email": "jptran318@gmail.com",
  111. "url": "https://github.com/jooohhn"
  112. }
  113. ],
  114. "license": "MIT",
  115. "bugs": {
  116. "url": "https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues"
  117. },
  118. "keywords": [
  119. "electron",
  120. "boilerplate",
  121. "react",
  122. "typescript",
  123. "ts",
  124. "sass",
  125. "webpack",
  126. "hot",
  127. "reload"
  128. ],
  129. "homepage": "https://github.com/electron-react-boilerplate/electron-react-boilerplate#readme",
  130. "jest": {
  131. "testURL": "http://localhost/",
  132. "moduleNameMapper": {
  133. "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
  134. "\\.(css|less|sass|scss)$": "identity-obj-proxy"
  135. },
  136. "moduleFileExtensions": [
  137. "js",
  138. "jsx",
  139. "ts",
  140. "tsx",
  141. "json"
  142. ],
  143. "moduleDirectories": [
  144. "node_modules",
  145. "src/node_modules"
  146. ],
  147. "setupFiles": [
  148. "./.erb/scripts/CheckBuildsExist.js"
  149. ]
  150. },
  151. "devDependencies": {
  152. "@babel/core": "^7.12.9",
  153. "@babel/plugin-proposal-class-properties": "^7.12.1",
  154. "@babel/plugin-proposal-decorators": "^7.12.1",
  155. "@babel/plugin-proposal-do-expressions": "^7.12.1",
  156. "@babel/plugin-proposal-export-default-from": "^7.12.1",
  157. "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
  158. "@babel/plugin-proposal-function-bind": "^7.12.1",
  159. "@babel/plugin-proposal-function-sent": "^7.12.1",
  160. "@babel/plugin-proposal-json-strings": "^7.12.1",
  161. "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
  162. "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
  163. "@babel/plugin-proposal-optional-chaining": "^7.12.7",
  164. "@babel/plugin-proposal-pipeline-operator": "^7.12.1",
  165. "@babel/plugin-proposal-throw-expressions": "^7.12.1",
  166. "@babel/plugin-syntax-dynamic-import": "^7.8.3",
  167. "@babel/plugin-syntax-import-meta": "^7.10.4",
  168. "@babel/plugin-transform-react-constant-elements": "^7.12.1",
  169. "@babel/plugin-transform-react-inline-elements": "^7.12.1",
  170. "@babel/plugin-transform-runtime": "^7.12.1",
  171. "@babel/preset-env": "^7.12.7",
  172. "@babel/preset-react": "^7.12.7",
  173. "@babel/preset-typescript": "^7.12.7",
  174. "@babel/register": "^7.12.1",
  175. "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
  176. "@teamsupercell/typings-for-css-modules-loader": "^2.4.0",
  177. "@testing-library/jest-dom": "^5.11.6",
  178. "@testing-library/react": "^11.2.2",
  179. "@types/enzyme": "^3.10.5",
  180. "@types/enzyme-adapter-react-16": "^1.0.6",
  181. "@types/history": "4.7.6",
  182. "@types/jest": "^26.0.15",
  183. "@types/node": "14.14.10",
  184. "@types/react": "^16.9.44",
  185. "@types/react-dom": "^16.9.9",
  186. "@types/react-router-dom": "^5.1.6",
  187. "@types/react-test-renderer": "^16.9.3",
  188. "@types/webpack-env": "^1.15.2",
  189. "@typescript-eslint/eslint-plugin": "^4.8.1",
  190. "@typescript-eslint/parser": "^4.8.1",
  191. "babel-eslint": "^10.1.0",
  192. "babel-jest": "^26.1.0",
  193. "babel-loader": "^8.2.2",
  194. "babel-plugin-dev-expression": "^0.2.2",
  195. "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
  196. "browserslist-config-erb": "^0.0.1",
  197. "chalk": "^4.1.0",
  198. "concurrently": "^5.3.0",
  199. "core-js": "^3.6.5",
  200. "cross-env": "^7.0.2",
  201. "css-loader": "^5.0.1",
  202. "css-minimizer-webpack-plugin": "^1.1.5",
  203. "detect-port": "^1.3.0",
  204. "electron": "^11.0.1",
  205. "electron-builder": "^22.10.5",
  206. "electron-devtools-installer": "^3.1.1",
  207. "electron-notarize": "^1.0.0",
  208. "electron-rebuild": "^2.3.2",
  209. "enzyme": "^3.11.0",
  210. "enzyme-adapter-react-16": "^1.15.3",
  211. "enzyme-to-json": "^3.5.0",
  212. "eslint": "^7.5.0",
  213. "eslint-config-airbnb": "^18.2.0",
  214. "eslint-config-airbnb-typescript": "^12.0.0",
  215. "eslint-config-erb": "^2.0.0",
  216. "eslint-config-prettier": "^6.11.0",
  217. "eslint-import-resolver-webpack": "^0.13.0",
  218. "eslint-plugin-compat": "^3.8.0",
  219. "eslint-plugin-import": "^2.22.0",
  220. "eslint-plugin-jest": "^24.1.3",
  221. "eslint-plugin-jsx-a11y": "6.4.1",
  222. "eslint-plugin-prettier": "^3.1.4",
  223. "eslint-plugin-promise": "^4.2.1",
  224. "eslint-plugin-react": "^7.20.6",
  225. "eslint-plugin-react-hooks": "^4.0.8",
  226. "file-loader": "^6.0.0",
  227. "husky": "^4.2.5",
  228. "identity-obj-proxy": "^3.0.0",
  229. "jest": "^26.1.0",
  230. "lint-staged": "^10.2.11",
  231. "mini-css-extract-plugin": "^1.3.1",
  232. "node-sass": "^5.0.0",
  233. "opencollective-postinstall": "^2.0.3",
  234. "prettier": "^2.0.5",
  235. "react-refresh": "^0.9.0",
  236. "react-test-renderer": "^17.0.1",
  237. "rimraf": "^3.0.0",
  238. "sass-loader": "^10.1.0",
  239. "style-loader": "^2.0.0",
  240. "terser-webpack-plugin": "^5.0.3",
  241. "typescript": "^4.0.5",
  242. "url-loader": "^4.1.0",
  243. "webpack": "^5.5.1",
  244. "webpack-bundle-analyzer": "^4.1.0",
  245. "webpack-cli": "^4.2.0",
  246. "webpack-dev-server": "^3.11.0",
  247. "webpack-merge": "^5.4.0",
  248. "yarn-deduplicate": "^3.1.0"
  249. },
  250. "dependencies": {
  251. "electron-debug": "^3.1.0",
  252. "electron-log": "^4.2.4",
  253. "electron-updater": "^4.3.4",
  254. "history": "^5.0.0",
  255. "react": "^17.0.1",
  256. "react-dom": "^17.0.1",
  257. "react-router-dom": "^5.2.0",
  258. "regenerator-runtime": "^0.13.5",
  259. "source-map-support": "^0.5.19"
  260. },
  261. "devEngines": {
  262. "node": ">=10.x",
  263. "npm": ">=6.x",
  264. "yarn": ">=1.21.3"
  265. },
  266. "collective": {
  267. "url": "https://opencollective.com/electron-react-boilerplate-594"
  268. },
  269. "browserslist": [],
  270. "prettier": {
  271. "overrides": [
  272. {
  273. "files": [
  274. ".prettierrc",
  275. ".babelrc",
  276. ".eslintrc"
  277. ],
  278. "options": {
  279. "parser": "json"
  280. }
  281. }
  282. ],
  283. "singleQuote": true
  284. },
  285. "renovate": {
  286. "extends": [
  287. "bliss"
  288. ],
  289. "baseBranches": [
  290. "next"
  291. ]
  292. },
  293. "husky": {
  294. "hooks": {
  295. "pre-commit": "lint-staged"
  296. }
  297. }
  298. }