From fcb8e633fcad10056c5e1cd944c0dcd7759784cd Mon Sep 17 00:00:00 2001 From: Kieran Date: Wed, 17 May 2023 23:36:34 +0100 Subject: [PATCH] build production --- packages/app/package.json | 3 ++- packages/app/webpack.config.js | 12 +++++++++++- packages/nostr/package.json | 2 +- yarn.lock | 34 +++++++++++++++++++++++++++++++--- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index 4bc5efe4b..305768eb3 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -46,7 +46,7 @@ }, "scripts": { "start": "webpack serve", - "build": "webpack --mode=production", + "build": "webpack --node-env=production", "test": "", "intl-extract": "formatjs extract 'src/**/*.ts*' --ignore='**/*.d.ts' --out-file src/lang.json --flatten true", "intl-compile": "formatjs compile src/lang.json --out-file src/translations/en.json", @@ -89,6 +89,7 @@ "@webscopeio/react-textarea-autocomplete": "^4.9.2", "babel-loader": "^9.1.2", "babel-plugin-formatjs": "^10.5.1", + "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", "css-minimizer-webpack-plugin": "^5.0.0", "customize-cra": "^1.0.0", diff --git a/packages/app/webpack.config.js b/packages/app/webpack.config.js index b04c4123e..4ed9f2a5d 100644 --- a/packages/app/webpack.config.js +++ b/packages/app/webpack.config.js @@ -6,6 +6,7 @@ const TerserPlugin = require("terser-webpack-plugin"); const ESLintPlugin = require("eslint-webpack-plugin"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const CssMinimizerPlugin = require("css-minimizer-webpack-plugin"); +const CopyPlugin = require("copy-webpack-plugin"); const TsTransformer = require("@formatjs/ts-transformer"); const isProduction = process.env.NODE_ENV == "production"; @@ -33,9 +34,18 @@ const config = { historyApiFallback: true, }, plugins: [ + new CopyPlugin({ + patterns: [ + { from: "public/manifest.json" }, + { from: "public/robots.txt" }, + { from: "public/nostrich_512.png" }, + { from: "public/nostrich_256.png" }, + ], + }), new HtmlWebpackPlugin({ template: "public/index.html", favicon: "public/favicon.ico", + excludeChunks: ["sw"], }), new ESLintPlugin(), new MiniCssExtractPlugin({ @@ -119,7 +129,7 @@ module.exports = () => { config.mode = "production"; config.entry.sw = { import: "./src/service-worker.ts", - name: "sw.js", + filename: "service-worker.js", }; } else { config.mode = "development"; diff --git a/packages/nostr/package.json b/packages/nostr/package.json index 2e9043b55..f107e8e17 100644 --- a/packages/nostr/package.json +++ b/packages/nostr/package.json @@ -4,7 +4,7 @@ "main": "dist/lib.js", "types": "dist/src/index.d.ts", "scripts": { - "build": "webpack --mode=production", + "build": "webpack --node-env=production", "watch": "webpack -w", "clean": "rm -rf dist", "test": "ts-mocha --type-check -j 1 --timeout 5s test/test.*.ts", diff --git a/yarn.lock b/yarn.lock index 8715bff5a..f1287aa09 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3817,6 +3817,18 @@ cookie@0.5.0: resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + core-js-compat@^3.25.1: version "3.30.0" resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.0.tgz" @@ -4735,7 +4747,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -5042,7 +5054,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -5108,6 +5120,17 @@ globby@^11.0.1, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^13.1.1: + version "13.1.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.4.tgz#2f91c116066bcec152465ba36e5caa4a13c01317" + integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + gopd@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" @@ -8080,7 +8103,7 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.1: +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== @@ -8186,6 +8209,11 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz"