From d19b48acf62af41944ab7f82ee00fb6a94e41499 Mon Sep 17 00:00:00 2001 From: requilence Date: Fri, 10 Jul 2020 13:37:20 +0300 Subject: [PATCH] build:deps command to update build files for node.js --- package.deps.json | 15 ++++++ package.json | 120 ++++++++++++++++++++++++++++------------- save-node-deps.js | 27 ++++++++++ webpack.node.config.js | 18 +++++++ 4 files changed, 142 insertions(+), 38 deletions(-) create mode 100644 package.deps.json create mode 100644 save-node-deps.js create mode 100644 webpack.node.config.js diff --git a/package.deps.json b/package.deps.json new file mode 100644 index 0000000000..dc10157318 --- /dev/null +++ b/package.deps.json @@ -0,0 +1,15 @@ +[ + "electron.js", + "electron/server.js", + "build", + "!dist/*", + "dist/index.html", + "dist/main.js", + "dist/models.pb.js", + "dist/run.js", + "dist/lib/**/*", + "dist/img/**/*", + "dist/anytypeHelper.exe", + "dist/anytypeHelper", + "!node_modules/**/*" +] diff --git a/package.json b/package.json index ee1b7add0e..b18d71e850 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "start:dev": "npm-run-all --parallel start:watch start:electron-wait-webpack", "start:dev-addon": "ANYTYPE_USE_ADDON=1 npm-run-all start:dev", "build": "webpack --mode=production --env.NODE_ENV=production -p --config webpack.config.js", + "build:deps": "webpack --config webpack.node.config.js --display-modules --display-cached | grep \"node_modules\" | sed 's/.*\\(node_modules\\/[^\\/]*\\).*/\\1/' | uniq | node save-node-deps.js && rm dist/bundle-back.js", "dist:mac": "webpack --mode=production --env.NODE_ENV=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --macos", "dist:win": "webpack --mode=production --env.NODE_ENV=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --windows", "dist:linux": "webpack --mode=production --env.NODE_ENV=production -p && DATE=`date '+%Y-%m-%d_%H_%M'` GIT_COMMIT=`git rev-parse --short HEAD` electron-builder --linux", @@ -176,65 +177,108 @@ "dist/anytypeHelper.exe", "dist/anytypeHelper", "!node_modules/**/*", + "node_modules/builder-util-runtime", + "node_modules/js-yaml", + "node_modules/graceful-fs", + "node_modules/semver", + "node_modules/electron", + "node_modules/universalify", + "node_modules/semver", + "node_modules/fs-extra", + "node_modules/electron-updater", + "node_modules/fs-extra", + "node_modules/js-yaml", + "node_modules/semver", + "node_modules/electron-log", + "node_modules/google-protobuf", + "node_modules/js-yaml", + "node_modules/fs-extra", + "node_modules/js-yaml", + "node_modules/semver", + "node_modules/electron-log", + "node_modules/google-protobuf", + "node_modules/electron-updater", + "node_modules/jsonfile", + "node_modules/fs-extra", + "node_modules/js-yaml", + "node_modules/semver", + "node_modules/electron-updater", + "node_modules/minimatch", + "node_modules/path-is-absolute", + "node_modules/electron-util", + "node_modules/builder-util-runtime", + "node_modules/debug", + "node_modules/builder-util-runtime", + "node_modules/fs-extra", + "node_modules/at-least-node", + "node_modules/fs-extra", + "node_modules/js-yaml", + "node_modules/semver", + "node_modules/electron-updater", + "node_modules/lodash", + "node_modules/glob", + "node_modules/fs.realpath", + "node_modules/glob", + "node_modules/wrappy", + "node_modules/once", + "node_modules/signal-exit", "node_modules/electron-util", "node_modules/new-github-issue-url", - "node_modules/child_process", + "node_modules/electron-util", "node_modules/electron-is-dev", - "node_modules/electron-dl", + "node_modules/electron-util", + "node_modules/debug", + "node_modules/ms", + "node_modules/debug", + "node_modules/supports-color", + "node_modules/has-flag", + "node_modules/builder-util-runtime", + "node_modules/sax", + "node_modules/graceful-fs", + "node_modules/fs-extra", + "node_modules/jsonfile", + "node_modules/fs-extra", + "node_modules/js-yaml", + "node_modules/esprima", + "node_modules/js-yaml", + "node_modules/lazy-val", + "node_modules/semver", "node_modules/electron-updater", - "node_modules/electron-log", + "node_modules/lodash.isequal", + "node_modules/electron-updater", + "node_modules/builder-util-runtime", + "node_modules/electron-updater", + "node_modules/electron-dl", "node_modules/unused-filename", - "node_modules/modify-filename", "node_modules/path-exists", + "node_modules/modify-filename", "node_modules/pupa", "node_modules/ext-name", "node_modules/ext-list", "node_modules/mime-db", - "node_modules/sort-keys", "node_modules/sort-keys-length", + "node_modules/sort-keys", "node_modules/is-plain-obj", - "node_modules/bindings", - "node_modules/file-uri-to-path", - "node_modules/blueimp-load-image", - "node_modules/read-chunk", - "node_modules/pify", - "node_modules/with-open-file", - "node_modules/p-try", - "node_modules/p-finally", - "node_modules/file-type", - "node_modules/sprintf-kit", - "node_modules/es5-ext", - "node_modules/lowlight", - "node_modules/highlight.js/lib/highlight.js", - "node_modules/highlight.js/lib/languages/*", - "node_modules/fault", - "node_modules/format", - "node_modules/lazy-val", - "node_modules/builder-util-runtime", - "node_modules/debug", - "node_modules/ms", - "node_modules/semver", - "node_modules/js-yaml", - "node_modules/fs-extra", - "node_modules/universalify", - "node_modules/graceful-fs", - "node_modules/jsonfile", + "node_modules/electron-log", "node_modules/electron-json-storage", - "node_modules/lodash", - "node_modules/lodash.isequal", "node_modules/async", "node_modules/rimraf", + "node_modules/fs.realpath", + "node_modules/brace-expansion", + "node_modules/concat-map", + "node_modules/balanced-match", + "node_modules/inherits", + "node_modules/glob", + "node_modules/inflight", "node_modules/mkdirp", "node_modules/write-file-atomic", "node_modules/imurmurhash", "node_modules/signal-exit", + "node_modules/electron-json-storage", "node_modules/lockfile", - "node_modules/at-least-node", - "node_modules/protobufjs", - "node_modules/@protobufjs", - "node_modules/prismjs", "node_modules/grpc-web", - "node_modules/google-protobuf" + "node_modules/bindings", + "node_modules/file-uri-to-path" ], "dmg": { "sign": false diff --git a/save-node-deps.js b/save-node-deps.js new file mode 100644 index 0000000000..d57cebdf9b --- /dev/null +++ b/save-node-deps.js @@ -0,0 +1,27 @@ +'use strict'; + +const fs = require('fs'); + +let stdin = process.openStdin(); +let data = ""; + +stdin.on('data', function(chunk) { + data +=chunk; +}); + +stdin.on('end', function() { + let lines = data.split('\n'); + let baseDepsFile = fs.readFileSync('package.deps.json'); + let baseDepsJSON = JSON.parse(baseDepsFile); + let packageFile = fs.readFileSync('package.json'); + let packageJSON = JSON.parse(packageFile); + + packageJSON.build.files = baseDepsJSON.concat(lines).filter(function (el) { + return el != ""; + }); + let jsonS = JSON.stringify(packageJSON, null, '\t'); + fs.writeFileSync('package.json', jsonS); +}); + + + diff --git a/webpack.node.config.js b/webpack.node.config.js new file mode 100644 index 0000000000..4afdf97e59 --- /dev/null +++ b/webpack.node.config.js @@ -0,0 +1,18 @@ +module.exports = (env) => { + return { + target: "node", + mode: "production", + optimization: { + minimize: false, + removeAvailableModules: false, + removeEmptyChunks: false, + splitChunks: false, + }, + + entry: './electron.js', + output: { + filename: "bundle-back.js" + }, + + }; +};