From c7bc6ca8fa741fd448de74c60804a40837356309 Mon Sep 17 00:00:00 2001 From: Harrison Deng Date: Sat, 24 Jul 2021 01:39:26 -0500 Subject: [PATCH] Enabled persistent caching for Webpack. --- Props/package.json | 5 +++-- Props/webpack.dev.js | 6 ++++++ scripts/clear_webpack_cache.py | 14 ++++++++++++++ scripts/npm_post_install.py | 3 +++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 scripts/clear_webpack_cache.py create mode 100644 scripts/npm_post_install.py diff --git a/Props/package.json b/Props/package.json index 46c03ad..14d6c17 100644 --- a/Props/package.json +++ b/Props/package.json @@ -4,7 +4,8 @@ "scripts": { "build": "webpack --config webpack.common.js", "build:dev": "webpack --config webpack.dev.js", - "build:prod": "webpack --config webpack.prod.js" + "build:prod": "webpack --config webpack.prod.js", + "postinstall": "py ../scripts/npm_post_install.py" }, "keywords": [], "author": "", @@ -35,4 +36,4 @@ "popmotion": "^9.4.0", "simplebar": "^5.3.5" } -} +} \ No newline at end of file diff --git a/Props/webpack.dev.js b/Props/webpack.dev.js index 3b76f5d..388598e 100644 --- a/Props/webpack.dev.js +++ b/Props/webpack.dev.js @@ -14,6 +14,12 @@ let config = { providedExports: false, splitChunks: false, innerGraph: false, + }, + cache: { + type: "filesystem", + buildDependencies: { + config: [__filename], + } } }; diff --git a/scripts/clear_webpack_cache.py b/scripts/clear_webpack_cache.py new file mode 100644 index 0000000..7ac04b3 --- /dev/null +++ b/scripts/clear_webpack_cache.py @@ -0,0 +1,14 @@ +import os +import shutil + +CACHE_DIR = "./Props/node_modules/.cache/webpack" + + +def clear(): + os.chdir(os.path.dirname(os.path.realpath(__file__))) + os.chdir("..") + shutil.rmtree(CACHE_DIR, ignore_errors=True) + + +if __name__ == "main": + clear() diff --git a/scripts/npm_post_install.py b/scripts/npm_post_install.py new file mode 100644 index 0000000..7c2c837 --- /dev/null +++ b/scripts/npm_post_install.py @@ -0,0 +1,3 @@ +import clear_webpack_cache + +clear_webpack_cache.clear() # Refer to https://webpack.js.org/guides/build-performance/#persistent-cache and https://webpack.js.org/blog/2020-10-10-webpack-5-release/#persistent-caching