Add shortcut for devtools in production build

This commit is contained in:
jeffvli 2022-11-20 03:37:09 -08:00
parent b1d06581ab
commit 9d7b595e41
3 changed files with 122 additions and 95 deletions

206
package-lock.json generated
View File

@ -10,14 +10,14 @@
"dependencies": {
"@emotion/react": "^11.10.4",
"@jellyfin/client-axios": "^10.7.8",
"@mantine/core": "^5.7.2",
"@mantine/dates": "^5.7.2",
"@mantine/dropzone": "^5.7.2",
"@mantine/form": "^5.7.2",
"@mantine/hooks": "^5.7.2",
"@mantine/modals": "^5.7.2",
"@mantine/notifications": "^5.7.2",
"@mantine/spotlight": "^5.7.2",
"@mantine/core": "^5.8.0",
"@mantine/dates": "^5.8.0",
"@mantine/dropzone": "^5.8.0",
"@mantine/form": "^5.8.0",
"@mantine/hooks": "^5.8.0",
"@mantine/modals": "^5.8.0",
"@mantine/notifications": "^5.8.0",
"@mantine/spotlight": "^5.8.0",
"@tanstack/react-query": "^4.16.1",
"@tanstack/react-query-devtools": "^4.16.1",
"ag-grid-community": "^28.2.1",
@ -25,6 +25,7 @@
"axios": "^0.27.2",
"dayjs": "^1.11.6",
"electron-debug": "^3.2.0",
"electron-localshortcut": "^3.2.1",
"electron-log": "^4.4.6",
"electron-store": "^8.1.0",
"electron-updater": "^4.6.5",
@ -63,6 +64,7 @@
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.0.0",
"@types/electron-localshortcut": "^3.1.0",
"@types/jest": "^27.4.1",
"@types/lodash": "^4.14.188",
"@types/md5": "^2.3.2",
@ -1651,55 +1653,55 @@
}
},
"node_modules/@mantine/core": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/core/-/core-5.7.2.tgz",
"integrity": "sha512-cDDvlYhDCzREfIZ33CRLQpXlv+UXRb4VBZWbfYxWXTRPV6gKNGXwlVmXcdDUJCcjRWLh9Wc4erWT8gdTAbvzsQ==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/core/-/core-5.8.2.tgz",
"integrity": "sha512-F+m+FUN8vn/LRiD/Z0v8eC0lodZEsta+f4hJ7JjchX+6+ehi1GnbPgRkH37HOoGzrqe4DC16mqmF2JTVkgRINw==",
"dependencies": {
"@floating-ui/react-dom-interactions": "^0.10.1",
"@mantine/styles": "5.7.2",
"@mantine/utils": "5.7.2",
"@mantine/styles": "5.8.2",
"@mantine/utils": "5.8.2",
"@radix-ui/react-scroll-area": "1.0.0",
"react-textarea-autosize": "8.3.4"
},
"peerDependencies": {
"@mantine/hooks": "5.7.2",
"@mantine/hooks": "5.8.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/dates": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-5.7.2.tgz",
"integrity": "sha512-TFOebfiAcPoLJZWDRvh2PJiXPFeNmiAcISjnt2F3ihyr25j0MVs/Zkp2ozYkFCtc6BnVluwkv2H4h9FLuCaL6A==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-5.8.2.tgz",
"integrity": "sha512-XL6EseehVbsSDctIAKFSd3qwBZlhedAKjPBIqkrMuYHpUIoCs9iDb1zpVDhvQQiS6bQVsJv2MN7FbUjdV4Zqqg==",
"dependencies": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
},
"peerDependencies": {
"@mantine/core": "5.7.2",
"@mantine/hooks": "5.7.2",
"@mantine/core": "5.8.2",
"@mantine/hooks": "5.8.2",
"dayjs": ">=1.0.0",
"react": ">=16.8.0"
}
},
"node_modules/@mantine/dropzone": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-5.7.2.tgz",
"integrity": "sha512-sGl8WrBpCfXFz1nMTsPzlcZxVOkrNkDWeZ0wCf44/gwJ+AJBpnlCmOgpLwgul7qIfCjnGsJQWC9wZ7L7iglb5w==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-5.8.2.tgz",
"integrity": "sha512-41PTJgtfmrl6Xnr8qQ2GjHcGt9XfRf+dc1luLdil4iVA6T6q0YJ/06XbuqblLhyQdVLF4sndq2+W0EmiadVXkw==",
"dependencies": {
"@mantine/utils": "5.7.2",
"@mantine/utils": "5.8.2",
"react-dropzone": "14.2.3"
},
"peerDependencies": {
"@mantine/core": "5.7.2",
"@mantine/hooks": "5.7.2",
"@mantine/core": "5.8.2",
"@mantine/hooks": "5.8.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/form": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/form/-/form-5.7.2.tgz",
"integrity": "sha512-FmjnTX6Xm24rpfJjR2sebamgzskiCGb4fmOPKyDc5wThnCr2VnPJjlUOg2FOeQjE+C6kr5Jw+QrXPpG4kVyh0A==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/form/-/form-5.8.2.tgz",
"integrity": "sha512-FWh30GN9g0FRhX3a4fzeSvW6CRcyQpMvECIoYbwBqDkSeFMIH2RDK7pQNz4FWOwF3zIw4q6wxTUBOUjEQrIzKw==",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"klona": "^2.0.5"
@ -1709,60 +1711,60 @@
}
},
"node_modules/@mantine/hooks": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.7.2.tgz",
"integrity": "sha512-g+fxcnQwEeVM/5h+SAX/rDNL2s1652DGbP4xxfNg6yFqqhQzmtxQN7xsmkZ+ffx8wKhbsP5z13x6WZoxuJQh9Q==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.8.2.tgz",
"integrity": "sha512-j/jdEqp0NgJzel6hdVfU4U3YGFOrCo5UKHBzvRKxpF8+PSY2i2nRY8XqkR0qp5yGjhgwl9uiZRbUTK9a1MxNwg==",
"peerDependencies": {
"react": ">=16.8.0"
}
},
"node_modules/@mantine/modals": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-5.7.2.tgz",
"integrity": "sha512-M0J/EUZvsUZJeqaHZuVpHp1u9CXgqZz90WbE/X+gsd2sQq1Zs2aMSjJpqhjr2Ftql0sSQjjhtRetJwzc7jZrpw==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-5.8.2.tgz",
"integrity": "sha512-q5w4b3620q8nnH8Wq4u5MzPSoKZj8a2mo2+n5ndtS2bl3xRQzjl6Fn5Qc/dsB0Gb7qdY37kMq36PGE/PiCvn2Q==",
"dependencies": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
},
"peerDependencies": {
"@mantine/core": "5.7.2",
"@mantine/hooks": "5.7.2",
"@mantine/core": "5.8.2",
"@mantine/hooks": "5.8.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/notifications": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.7.2.tgz",
"integrity": "sha512-E10ShS42I2RZb3SPzDaSi+goDXeO3DUeA1gCMBY040S/+7CBlT/9x6H6guKUPuIoK+WMrWm4LT/m9ARJ0zdKFg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.8.2.tgz",
"integrity": "sha512-Z9cMHcCgblkV4ytLAQ8O8RvsGiLf39pTnOlSHLb97SfpT5Uz5zwCltWT3ApTSbikUen0GOSWwXFrmVAmOwwKng==",
"dependencies": {
"@mantine/utils": "5.7.2",
"@mantine/utils": "5.8.2",
"react-transition-group": "4.4.2"
},
"peerDependencies": {
"@mantine/core": "5.7.2",
"@mantine/hooks": "5.7.2",
"@mantine/core": "5.8.2",
"@mantine/hooks": "5.8.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/spotlight": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/spotlight/-/spotlight-5.7.2.tgz",
"integrity": "sha512-8XLMta8wzvIEOSJSfN8z38NHI/Auc0VP0sPLuxmtbxtldqdX+FeOoY7dZbzb8YqXbUvNMJoxTFhkNGd4YiXDTw==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/spotlight/-/spotlight-5.8.2.tgz",
"integrity": "sha512-eOyeCnewqhBMMOiVEjJ/Nq6N9I+9fPkm0A1oCFA0NGDMsIZKD1YLH/H8O1psOMxXbP/C2lSyBAM1L6RQOxwchw==",
"dependencies": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
},
"peerDependencies": {
"@mantine/core": "5.7.2",
"@mantine/hooks": "5.7.2",
"@mantine/core": "5.8.2",
"@mantine/hooks": "5.8.2",
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mantine/styles": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-5.7.2.tgz",
"integrity": "sha512-z5Mxf6Zp7lXzfIM77XkZ68Wp62lDSMJwEMoKm0Kz5tRGV4oMQwirbZf4ZJznZKK3HkaT7ct1ScxnCouEWzlKUg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-5.8.2.tgz",
"integrity": "sha512-mXuQFPS/pSP1zKypnUXWUQ35SWhF+rJhI/7YxdIvJgkzVy9i6DoQAd895bETMrejokGxxguvZHPsGGJGqsLM3A==",
"dependencies": {
"clsx": "1.1.1",
"csstype": "3.0.9"
@ -1779,9 +1781,9 @@
"integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
},
"node_modules/@mantine/utils": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-5.7.2.tgz",
"integrity": "sha512-LE/ckEX+d1f5GOP1ARNEldUYybOp3Tualx5IYgeV06oyBOaeJaXs9Tco2NTM6j+opZwUbNuYEUmtp4bkArhpOg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-5.8.2.tgz",
"integrity": "sha512-ZTxZeTyRO2l9dQ7pYsaV3AC7Cjz1HAPi1Ukd9GtiVYq74UuA3iBMLbPV4obxcHAqgUqgIHAP2ulCKHN3DPhaDQ==",
"peerDependencies": {
"react": ">=16.8.0"
}
@ -2539,6 +2541,15 @@
"@types/ms": "*"
}
},
"node_modules/@types/electron-localshortcut": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@types/electron-localshortcut/-/electron-localshortcut-3.1.0.tgz",
"integrity": "sha512-upKSXMxBPRdz5kmcXfdfn+hWH9PCAvwhyVozDXTIwwHQ1lUJcdSgGUfxOC1QBlnAPKPqcW/r4icWfMosKz8ibg==",
"dev": true,
"dependencies": {
"electron": "*"
}
},
"node_modules/@types/eslint": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
@ -24828,78 +24839,78 @@
}
},
"@mantine/core": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/core/-/core-5.7.2.tgz",
"integrity": "sha512-cDDvlYhDCzREfIZ33CRLQpXlv+UXRb4VBZWbfYxWXTRPV6gKNGXwlVmXcdDUJCcjRWLh9Wc4erWT8gdTAbvzsQ==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/core/-/core-5.8.2.tgz",
"integrity": "sha512-F+m+FUN8vn/LRiD/Z0v8eC0lodZEsta+f4hJ7JjchX+6+ehi1GnbPgRkH37HOoGzrqe4DC16mqmF2JTVkgRINw==",
"requires": {
"@floating-ui/react-dom-interactions": "^0.10.1",
"@mantine/styles": "5.7.2",
"@mantine/utils": "5.7.2",
"@mantine/styles": "5.8.2",
"@mantine/utils": "5.8.2",
"@radix-ui/react-scroll-area": "1.0.0",
"react-textarea-autosize": "8.3.4"
}
},
"@mantine/dates": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-5.7.2.tgz",
"integrity": "sha512-TFOebfiAcPoLJZWDRvh2PJiXPFeNmiAcISjnt2F3ihyr25j0MVs/Zkp2ozYkFCtc6BnVluwkv2H4h9FLuCaL6A==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-5.8.2.tgz",
"integrity": "sha512-XL6EseehVbsSDctIAKFSd3qwBZlhedAKjPBIqkrMuYHpUIoCs9iDb1zpVDhvQQiS6bQVsJv2MN7FbUjdV4Zqqg==",
"requires": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
}
},
"@mantine/dropzone": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-5.7.2.tgz",
"integrity": "sha512-sGl8WrBpCfXFz1nMTsPzlcZxVOkrNkDWeZ0wCf44/gwJ+AJBpnlCmOgpLwgul7qIfCjnGsJQWC9wZ7L7iglb5w==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-5.8.2.tgz",
"integrity": "sha512-41PTJgtfmrl6Xnr8qQ2GjHcGt9XfRf+dc1luLdil4iVA6T6q0YJ/06XbuqblLhyQdVLF4sndq2+W0EmiadVXkw==",
"requires": {
"@mantine/utils": "5.7.2",
"@mantine/utils": "5.8.2",
"react-dropzone": "14.2.3"
}
},
"@mantine/form": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/form/-/form-5.7.2.tgz",
"integrity": "sha512-FmjnTX6Xm24rpfJjR2sebamgzskiCGb4fmOPKyDc5wThnCr2VnPJjlUOg2FOeQjE+C6kr5Jw+QrXPpG4kVyh0A==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/form/-/form-5.8.2.tgz",
"integrity": "sha512-FWh30GN9g0FRhX3a4fzeSvW6CRcyQpMvECIoYbwBqDkSeFMIH2RDK7pQNz4FWOwF3zIw4q6wxTUBOUjEQrIzKw==",
"requires": {
"fast-deep-equal": "^3.1.3",
"klona": "^2.0.5"
}
},
"@mantine/hooks": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.7.2.tgz",
"integrity": "sha512-g+fxcnQwEeVM/5h+SAX/rDNL2s1652DGbP4xxfNg6yFqqhQzmtxQN7xsmkZ+ffx8wKhbsP5z13x6WZoxuJQh9Q==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.8.2.tgz",
"integrity": "sha512-j/jdEqp0NgJzel6hdVfU4U3YGFOrCo5UKHBzvRKxpF8+PSY2i2nRY8XqkR0qp5yGjhgwl9uiZRbUTK9a1MxNwg==",
"requires": {}
},
"@mantine/modals": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-5.7.2.tgz",
"integrity": "sha512-M0J/EUZvsUZJeqaHZuVpHp1u9CXgqZz90WbE/X+gsd2sQq1Zs2aMSjJpqhjr2Ftql0sSQjjhtRetJwzc7jZrpw==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-5.8.2.tgz",
"integrity": "sha512-q5w4b3620q8nnH8Wq4u5MzPSoKZj8a2mo2+n5ndtS2bl3xRQzjl6Fn5Qc/dsB0Gb7qdY37kMq36PGE/PiCvn2Q==",
"requires": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
}
},
"@mantine/notifications": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.7.2.tgz",
"integrity": "sha512-E10ShS42I2RZb3SPzDaSi+goDXeO3DUeA1gCMBY040S/+7CBlT/9x6H6guKUPuIoK+WMrWm4LT/m9ARJ0zdKFg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.8.2.tgz",
"integrity": "sha512-Z9cMHcCgblkV4ytLAQ8O8RvsGiLf39pTnOlSHLb97SfpT5Uz5zwCltWT3ApTSbikUen0GOSWwXFrmVAmOwwKng==",
"requires": {
"@mantine/utils": "5.7.2",
"@mantine/utils": "5.8.2",
"react-transition-group": "4.4.2"
}
},
"@mantine/spotlight": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/spotlight/-/spotlight-5.7.2.tgz",
"integrity": "sha512-8XLMta8wzvIEOSJSfN8z38NHI/Auc0VP0sPLuxmtbxtldqdX+FeOoY7dZbzb8YqXbUvNMJoxTFhkNGd4YiXDTw==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/spotlight/-/spotlight-5.8.2.tgz",
"integrity": "sha512-eOyeCnewqhBMMOiVEjJ/Nq6N9I+9fPkm0A1oCFA0NGDMsIZKD1YLH/H8O1psOMxXbP/C2lSyBAM1L6RQOxwchw==",
"requires": {
"@mantine/utils": "5.7.2"
"@mantine/utils": "5.8.2"
}
},
"@mantine/styles": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-5.7.2.tgz",
"integrity": "sha512-z5Mxf6Zp7lXzfIM77XkZ68Wp62lDSMJwEMoKm0Kz5tRGV4oMQwirbZf4ZJznZKK3HkaT7ct1ScxnCouEWzlKUg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-5.8.2.tgz",
"integrity": "sha512-mXuQFPS/pSP1zKypnUXWUQ35SWhF+rJhI/7YxdIvJgkzVy9i6DoQAd895bETMrejokGxxguvZHPsGGJGqsLM3A==",
"requires": {
"clsx": "1.1.1",
"csstype": "3.0.9"
@ -24913,9 +24924,9 @@
}
},
"@mantine/utils": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-5.7.2.tgz",
"integrity": "sha512-LE/ckEX+d1f5GOP1ARNEldUYybOp3Tualx5IYgeV06oyBOaeJaXs9Tco2NTM6j+opZwUbNuYEUmtp4bkArhpOg==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-5.8.2.tgz",
"integrity": "sha512-ZTxZeTyRO2l9dQ7pYsaV3AC7Cjz1HAPi1Ukd9GtiVYq74UuA3iBMLbPV4obxcHAqgUqgIHAP2ulCKHN3DPhaDQ==",
"requires": {}
},
"@mdn/browser-compat-data": {
@ -25506,6 +25517,15 @@
"@types/ms": "*"
}
},
"@types/electron-localshortcut": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@types/electron-localshortcut/-/electron-localshortcut-3.1.0.tgz",
"integrity": "sha512-upKSXMxBPRdz5kmcXfdfn+hWH9PCAvwhyVozDXTIwwHQ1lUJcdSgGUfxOC1QBlnAPKPqcW/r4icWfMosKz8ibg==",
"dev": true,
"requires": {
"electron": "*"
}
},
"@types/eslint": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",

View File

@ -164,6 +164,7 @@
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.0.0",
"@types/electron-localshortcut": "^3.1.0",
"@types/jest": "^27.4.1",
"@types/lodash": "^4.14.188",
"@types/md5": "^2.3.2",
@ -265,6 +266,7 @@
"axios": "^0.27.2",
"dayjs": "^1.11.6",
"electron-debug": "^3.2.0",
"electron-localshortcut": "^3.2.1",
"electron-log": "^4.4.6",
"electron-store": "^8.1.0",
"electron-updater": "^4.6.5",

View File

@ -10,6 +10,7 @@
*/
import path from 'path';
import { app, BrowserWindow, shell, ipcMain, globalShortcut } from 'electron';
import electronLocalShortcut from 'electron-localshortcut';
import log from 'electron-log';
import { autoUpdater } from 'electron-updater';
import {
@ -71,7 +72,7 @@ const createWindow = async () => {
mainWindow = new BrowserWindow({
frame: false,
height: 728,
height: 900,
icon: getAssetPath('icon.png'),
minHeight: 600,
minWidth: 640,
@ -86,7 +87,11 @@ const createWindow = async () => {
? path.join(__dirname, 'preload.js')
: path.join(__dirname, '../../.erb/dll/preload.js'),
},
width: 1024,
width: 1440,
});
electronLocalShortcut.register(mainWindow, 'Ctrl+Shift+I', () => {
mainWindow?.webContents.openDevTools();
});
ipcMain.on('window-maximize', () => {