1
0
Fork 0
mirror of https://github.com/anyproto/anytype-ts.git synced 2025-06-08 05:57:02 +09:00

JS-185: Remove Electron binary from production build

This commit is contained in:
Andrew Simachev 2022-08-04 00:57:41 +03:00
parent 5bb5489034
commit a9c108ebb9
6 changed files with 103 additions and 36 deletions

View file

@ -1,5 +1,5 @@
const { app, BrowserWindow, nativeImage, dialog, screen } = require('electron');
const { is } = require('electron-util');
const { is, fixPathForAsarUnpack } = require('electron-util');
const version = app.getVersion();
const path = require('path');
const windowStateKeeper = require('electron-window-state');
@ -73,7 +73,7 @@ class WindowManager {
height: DEFAULT_HEIGHT,
webPreferences: {
preload: path.join(Util.electronPath(), 'js', 'preload.js'),
preload: fixPathForAsarUnpack(path.join(Util.electronPath(), 'js', 'preload.js')),
},
};

7
package-lock.json generated
View file

@ -10,7 +10,7 @@
"hasInstallScript": true,
"license": "ISC",
"dependencies": {
"@electron/remote": "^2.0.1",
"@electron/remote": "^2.0.8",
"@sentry/browser": "^5.27.4",
"amplitude-js": "^5.11.0",
"array-move": "^2.2.2",
@ -483,7 +483,8 @@
},
"node_modules/@electron/remote": {
"version": "2.0.8",
"license": "MIT",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
"integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
"peerDependencies": {
"electron": ">= 13.0.0"
}
@ -15740,6 +15741,8 @@
},
"@electron/remote": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
"integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
"requires": {}
},
"@electron/universal": {

View file

@ -18,14 +18,44 @@
"dist/*.node",
"dist/workers/**/*",
"!node_modules/**/*",
"node_modules/google-protobuf",
"node_modules/grpc-web",
{
"from": "node_modules/lodash.isequal",
"to": "node_modules/lodash.isequal"
"from": "node_modules/google-protobuf",
"to": "node_modules/google-protobuf"
},
{
"from": "node_modules/grpc-web",
"to": "node_modules/grpc-web"
},
{
"from": "node_modules/lodash.isequal",
"to": "node_modules/lodash.isequal"
},
{
"from": "node_modules/lodash.escaperegexp",
"to": "node_modules/lodash.escaperegexp"
"from": "node_modules/lodash.escaperegexp",
"to": "node_modules/lodash.escaperegexp"
},
{
"from": "node_modules/read-chunk",
"to": "node_modules/read-chunk"
},
{
"from": "node_modules/with-open-file",
"to": "node_modules/with-open-file"
},
{
"from": "node_modules/@electron/remote",
"to": "node_modules/@electron/remote"
},
{
"from": "node_modules/p-try",
"to": "node_modules/p-try"
},
{
"from": "node_modules/p-finally",
"to": "node_modules/p-finally"
},
{
"from": "node_modules/file-type",
"to": "node_modules/file-type"
}
]
]

View file

@ -12,16 +12,16 @@
"start:electron-wait-webpack-win": "cross-env-shell wait-for-localhost $SERVER_PORT && npm run electron-win",
"start:dev": "npm-run-all --parallel start:watch start:electron-wait-webpack",
"start:dev-win": "npm-run-all --parallel start:watch start:electron-wait-webpack-win",
"build": "webpack --mode=production --node-env=production -p --config webpack.config.js",
"build": "webpack --mode=production --node-env=production --config webpack.config.js",
"build:deps": "webpack --config webpack.node.config.js --stats detailed | grep 'node_modules' | sed 's/.*\\(node_modules\\/[^\\/[:space:]]\\{1,\\}\\)\\/.*/\\1/' | uniq | node save-node-deps.js",
"dist:mac": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --arm64 --x64",
"dist:macarm": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --arm64",
"dist:macamd": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --x64",
"dist:win": "webpack --mode=production --node-env=production -p && electron-builder --windows",
"dist:linux": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --linux",
"publish:mac": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --macos --publish always",
"publish:linux": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --linux --publish always",
"publish:win": "webpack --mode=production --node-env=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --windows --publish always",
"dist:mac": "npm run build:deps && webpack --progress --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --arm64 --x64",
"dist:macarm": "npm run build:deps && webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --arm64",
"dist:macamd": "npm run build:deps && webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos --x64",
"dist:win": "npm run build:deps && webpack --mode=production --node-env=production && electron-builder --windows",
"dist:linux": "npm run build:deps && webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --linux",
"publish:mac": "webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --macos --publish always",
"publish:linux": "webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --linux --publish always",
"publish:win": "webpack --mode=production --node-env=production && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` BUILD_NUMBER=`git rev-parse --short HEAD` electron-builder --windows --publish always",
"postinstall": "npx patch-package && electron-builder install-app-deps"
},
"repository": {
@ -74,7 +74,7 @@
"webpack-dev-server": "^4.9.3"
},
"dependencies": {
"@electron/remote": "^2.0.1",
"@electron/remote": "^2.0.8",
"@sentry/browser": "^5.27.4",
"amplitude-js": "^5.11.0",
"array-move": "^2.2.2",
@ -190,14 +190,18 @@
"dist/img/**/*",
"dist/css/**/*",
"dist/js/**/*",
"electron/icon*",
"electron/about.css",
"electron/about.html",
"electron/common.js",
"electron/about.js",
"electron/img/*",
"electron/about/*",
"electron/js/preload.js",
"build",
"node_modules/keytar/build/Release/keytar.node",
"node_modules/lodash.isequal"
"node_modules/lodash.isequal",
"node_modules/read-chunk",
"node_modules/@electron/remote",
"node_modules/with-open-file",
"node_modules/p-try",
"node_modules/p-finally",
"node_modules/file-type"
],
"extraResources": [],
"files": [
@ -220,8 +224,14 @@
"dist/*.node",
"dist/workers/**/*",
"!node_modules/**/*",
"node_modules/google-protobuf",
"node_modules/grpc-web",
{
"from": "node_modules/google-protobuf",
"to": "node_modules/google-protobuf"
},
{
"from": "node_modules/grpc-web",
"to": "node_modules/grpc-web"
},
{
"from": "node_modules/lodash.isequal",
"to": "node_modules/lodash.isequal"
@ -230,6 +240,30 @@
"from": "node_modules/lodash.escaperegexp",
"to": "node_modules/lodash.escaperegexp"
},
{
"from": "node_modules/read-chunk",
"to": "node_modules/read-chunk"
},
{
"from": "node_modules/with-open-file",
"to": "node_modules/with-open-file"
},
{
"from": "node_modules/@electron/remote",
"to": "node_modules/@electron/remote"
},
{
"from": "node_modules/p-try",
"to": "node_modules/p-try"
},
{
"from": "node_modules/p-finally",
"to": "node_modules/p-finally"
},
{
"from": "node_modules/file-type",
"to": "node_modules/file-type"
},
{
"from": "node_modules/@electron",
"to": "node_modules/@electron"
@ -258,10 +292,6 @@
"from": "node_modules/debug",
"to": "node_modules/debug"
},
{
"from": "node_modules/electron",
"to": "node_modules/electron"
},
{
"from": "node_modules/electron-dl",
"to": "node_modules/electron-dl"

View file

@ -9,6 +9,8 @@ stdin.on('data', function(chunk) {
data +=chunk;
});
let skipIds = [ 'electron' ];
stdin.on('end', function() {
let lines = data.split('\n').sort();
let baseDepsFile = fs.readFileSync('package.deps.json');
@ -17,7 +19,9 @@ stdin.on('end', function() {
let packageJSON = JSON.parse(packageFile);
lines = [ ...new Set(lines) ];
lines = lines.filter((el) => { return el && el.match(/^node_modules/); }).map((it) => { return { from: it, to: it }; });
lines = lines.filter((el) => {
return el && el.match(/^node_modules/) && !el.match(new RegExp(`^node_modules/(${skipIds.join('|')})$`));
}).map((it) => { return { from: it, to: it }; });
packageJSON.build.files = baseDepsJSON.concat(lines);
let jsonS = JSON.stringify(packageJSON, null, '\t');

View file

@ -438,8 +438,8 @@ class App extends React.Component<Props, State> {
const cb = () => {
logo.css({ opacity: 0 });
window.setTimeout(() => { loader.css({ opacity: 0 }); }, 500);
window.setTimeout(() => { loader.remove(); }, 1000);
window.setTimeout(() => { loader.css({ opacity: 0 }); }, 1000);
window.setTimeout(() => { loader.remove(); }, 1500);
};
if (accountId) {