272 lines
8.0 KiB
JSON
272 lines
8.0 KiB
JSON
{
|
|
"name": "electron-react-boilerplate",
|
|
"productName": "ElectronReact",
|
|
"description": "Electron application boilerplate based on React, React Router, Webpack, React Fast Refresh for rapid application development",
|
|
"scripts": {
|
|
"build": "concurrently \"npm run build:main\" \"npm run build:renderer\"",
|
|
"build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts",
|
|
"build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
|
|
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir src",
|
|
"lint": "cross-env NODE_ENV=development eslint . --cache --ext .js,.jsx,.ts,.tsx",
|
|
"package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never",
|
|
"postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts && opencollective-postinstall",
|
|
"start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run start:renderer",
|
|
"start:main": "cross-env NODE_ENV=development electron -r ts-node/register/transpile-only ./src/main/main.ts",
|
|
"start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts",
|
|
"test": "jest"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx}": [
|
|
"cross-env NODE_ENV=development eslint --cache"
|
|
],
|
|
"*.json,.{eslintrc,prettierrc}": [
|
|
"prettier --ignore-path .eslintignore --parser json --write"
|
|
],
|
|
"*.{css,scss}": [
|
|
"prettier --ignore-path .eslintignore --single-quote --write"
|
|
],
|
|
"*.{html,md,yml}": [
|
|
"prettier --ignore-path .eslintignore --single-quote --write"
|
|
]
|
|
},
|
|
"build": {
|
|
"productName": "ElectronReact",
|
|
"appId": "org.erb.ElectronReact",
|
|
"asar": true,
|
|
"asarUnpack": "**\\*.{node,dll}",
|
|
"files": [
|
|
"dist",
|
|
"node_modules",
|
|
"package.json"
|
|
],
|
|
"afterSign": ".erb/scripts/notarize.js",
|
|
"mac": {
|
|
"target": {
|
|
"target": "default",
|
|
"arch": [
|
|
"arm64",
|
|
"x64"
|
|
]
|
|
},
|
|
"type": "distribution",
|
|
"hardenedRuntime": true,
|
|
"entitlements": "assets/entitlements.mac.plist",
|
|
"entitlementsInherit": "assets/entitlements.mac.plist",
|
|
"gatekeeperAssess": false
|
|
},
|
|
"dmg": {
|
|
"contents": [
|
|
{
|
|
"x": 130,
|
|
"y": 220
|
|
},
|
|
{
|
|
"x": 410,
|
|
"y": 220,
|
|
"type": "link",
|
|
"path": "/Applications"
|
|
}
|
|
]
|
|
},
|
|
"win": {
|
|
"target": [
|
|
"nsis"
|
|
]
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
"AppImage"
|
|
],
|
|
"category": "Development"
|
|
},
|
|
"directories": {
|
|
"app": "release/app",
|
|
"buildResources": "assets",
|
|
"output": "release/build"
|
|
},
|
|
"extraResources": [
|
|
"./assets/**"
|
|
],
|
|
"publish": {
|
|
"provider": "github",
|
|
"owner": "electron-react-boilerplate",
|
|
"repo": "electron-react-boilerplate"
|
|
}
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/electron-react-boilerplate/electron-react-boilerplate.git"
|
|
},
|
|
"author": {
|
|
"name": "Electron React Boilerplate Maintainers",
|
|
"email": "electronreactboilerplate@gmail.com",
|
|
"url": "https://electron-react-boilerplate.js.org"
|
|
},
|
|
"contributors": [
|
|
{
|
|
"name": "Amila Welihinda",
|
|
"email": "amilajack@gmail.com",
|
|
"url": "https://github.com/amilajack"
|
|
},
|
|
{
|
|
"name": "John Tran",
|
|
"email": "jptran318@gmail.com",
|
|
"url": "https://github.com/jooohhn"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"bugs": {
|
|
"url": "https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues"
|
|
},
|
|
"keywords": [
|
|
"electron",
|
|
"boilerplate",
|
|
"react",
|
|
"typescript",
|
|
"ts",
|
|
"sass",
|
|
"webpack",
|
|
"hot",
|
|
"reload"
|
|
],
|
|
"homepage": "https://github.com/electron-react-boilerplate/electron-react-boilerplate#readme",
|
|
"jest": {
|
|
"testURL": "http://localhost/",
|
|
"testEnvironment": "jsdom",
|
|
"transform": {
|
|
"\\.(ts|tsx|js|jsx)$": "ts-jest"
|
|
},
|
|
"moduleNameMapper": {
|
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
|
|
"\\.(css|less|sass|scss)$": "identity-obj-proxy"
|
|
},
|
|
"moduleFileExtensions": [
|
|
"js",
|
|
"jsx",
|
|
"ts",
|
|
"tsx",
|
|
"json"
|
|
],
|
|
"moduleDirectories": [
|
|
"node_modules",
|
|
"release/app/node_modules"
|
|
],
|
|
"testPathIgnorePatterns": [
|
|
"release/app/dist"
|
|
],
|
|
"setupFiles": [
|
|
"./.erb/scripts/check-build-exists.ts"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.1",
|
|
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
|
|
"@testing-library/jest-dom": "^5.14.1",
|
|
"@testing-library/react": "^12.1.2",
|
|
"@types/enzyme": "^3.10.10",
|
|
"@types/enzyme-adapter-react-16": "^1.0.6",
|
|
"@types/history": "4.7.9",
|
|
"@types/jest": "^27.0.2",
|
|
"@types/node": "16.11.6",
|
|
"@types/react": "^17.0.34",
|
|
"@types/react-dom": "^17.0.10",
|
|
"@types/react-router": "^5.1.17",
|
|
"@types/react-router-dom": "^5.3.2",
|
|
"@types/react-test-renderer": "^17.0.1",
|
|
"@types/terser-webpack-plugin": "^5.0.4",
|
|
"@types/webpack-env": "^1.16.3",
|
|
"@typescript-eslint/eslint-plugin": "^5.2.0",
|
|
"browserslist-config-erb": "^0.0.3",
|
|
"chalk": "^4.1.2",
|
|
"concurrently": "^6.3.0",
|
|
"core-js": "^3.19.0",
|
|
"cross-env": "^7.0.3",
|
|
"css-loader": "^6.5.0",
|
|
"css-minimizer-webpack-plugin": "^3.1.1",
|
|
"detect-port": "^1.3.0",
|
|
"electron": "^15.3.0",
|
|
"electron-builder": "^22.13.1",
|
|
"electron-devtools-installer": "^3.2.0",
|
|
"electron-notarize": "^1.1.1",
|
|
"electron-rebuild": "^3.2.3",
|
|
"enzyme": "^3.11.0",
|
|
"enzyme-adapter-react-16": "^1.15.6",
|
|
"enzyme-to-json": "^3.6.2",
|
|
"eslint": "^7.32.0",
|
|
"eslint-config-airbnb-base": "^14.2.1",
|
|
"eslint-config-erb": "^4.0.3",
|
|
"eslint-plugin-compat": "^3.13.0",
|
|
"eslint-plugin-import": "^2.25.2",
|
|
"eslint-plugin-jest": "^25.2.2",
|
|
"eslint-plugin-jsx-a11y": "^6.4.1",
|
|
"eslint-plugin-promise": "^5.1.1",
|
|
"eslint-plugin-react": "^7.26.1",
|
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
"file-loader": "^6.2.0",
|
|
"html-webpack-plugin": "^5.5.0",
|
|
"husky": "7.0.4",
|
|
"identity-obj-proxy": "^3.0.0",
|
|
"jest": "^27.3.1",
|
|
"lint-staged": "^11.2.6",
|
|
"mini-css-extract-plugin": "^2.4.3",
|
|
"opencollective-postinstall": "^2.0.3",
|
|
"prettier": "^2.4.1",
|
|
"react-refresh": "^0.10.0",
|
|
"react-refresh-typescript": "^2.0.2",
|
|
"react-test-renderer": "^17.0.2",
|
|
"rimraf": "^3.0.2",
|
|
"sass": "^1.43.4",
|
|
"sass-loader": "^12.3.0",
|
|
"style-loader": "^3.3.1",
|
|
"terser-webpack-plugin": "^5.2.4",
|
|
"ts-jest": "^27.0.7",
|
|
"ts-loader": "^9.2.6",
|
|
"ts-node": "^10.4.0",
|
|
"typescript": "^4.4.4",
|
|
"url-loader": "^4.1.1",
|
|
"webpack": "^5.60.0",
|
|
"webpack-bundle-analyzer": "^4.5.0",
|
|
"webpack-cli": "^4.9.1",
|
|
"webpack-dev-server": "^4.4.0",
|
|
"webpack-merge": "^5.8.0"
|
|
},
|
|
"dependencies": {
|
|
"electron-debug": "^3.2.0",
|
|
"electron-log": "^4.4.1",
|
|
"electron-updater": "^4.3.9",
|
|
"history": "4.x.x",
|
|
"react": "^17.0.2",
|
|
"react-dom": "^17.0.2",
|
|
"react-router-dom": "^5.3.0",
|
|
"regenerator-runtime": "^0.13.9",
|
|
"rust_native_module": "file:../rust_native_module"
|
|
},
|
|
"devEngines": {
|
|
"node": ">=14.x",
|
|
"npm": ">=7.x"
|
|
},
|
|
"collective": {
|
|
"url": "https://opencollective.com/electron-react-boilerplate-594"
|
|
},
|
|
"browserslist": [],
|
|
"prettier": {
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
".prettierrc",
|
|
".eslintrc"
|
|
],
|
|
"options": {
|
|
"parser": "json"
|
|
}
|
|
}
|
|
],
|
|
"singleQuote": true
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
}
|
|
}
|