diff --git a/build-scripts/env.js b/build-scripts/env.js index fa4d0727f3..72a9e794d2 100644 --- a/build-scripts/env.js +++ b/build-scripts/env.js @@ -1,3 +1,7 @@ +const fs = require("fs"); +const path = require("path"); +const paths = require("./paths.js"); + module.exports = { isProdBuild() { return process.env.NODE_ENV === "production"; @@ -11,4 +15,13 @@ module.exports = { isNetlify() { return process.env.NETLIFY === "true"; }, + version() { + const version = fs + .readFileSync(path.resolve(paths.polymer_dir, "setup.py"), "utf8") + .match(/\d{8}\.\d+/); + if (!version) { + throw Error("Version not found"); + } + return version[0]; + }, }; diff --git a/build-scripts/webpack.js b/build-scripts/webpack.js index 3fefd3ed05..c8b244354c 100644 --- a/build-scripts/webpack.js +++ b/build-scripts/webpack.js @@ -1,20 +1,12 @@ const webpack = require("webpack"); -const fs = require("fs"); const path = require("path"); const TerserPlugin = require("terser-webpack-plugin"); const WorkboxPlugin = require("workbox-webpack-plugin"); const ManifestPlugin = require("webpack-manifest-plugin"); const paths = require("./paths.js"); +const env = require("./env.js"); const { babelLoaderConfig } = require("./babel.js"); -let version = fs - .readFileSync(path.resolve(paths.polymer_dir, "setup.py"), "utf8") - .match(/\d{8}\.\d+/); -if (!version) { - throw Error("Version not found"); -} -version = version[0]; - const createWebpackConfig = ({ entry, outputRoot, @@ -71,7 +63,7 @@ const createWebpackConfig = ({ new webpack.DefinePlugin({ __DEV__: !isProdBuild, __BUILD__: JSON.stringify(latestBuild ? "latest" : "es5"), - __VERSION__: JSON.stringify(version), + __VERSION__: JSON.stringify(env.version()), __DEMO__: false, __BACKWARDS_COMPAT__: false, __STATIC_PATH__: "/static/", @@ -193,7 +185,7 @@ const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { }, outputRoot: paths.demo_root, defineOverlay: { - __VERSION__: JSON.stringify(`DEMO-${version}`), + __VERSION__: JSON.stringify(`DEMO-${env.version()}`), __DEMO__: true, }, isProdBuild,