Bring back babel for ES5 builds (#3797)

* Bring back babel for ES5 builds

* Remove ts from babel
This commit is contained in:
Bram Kragten
2019-09-23 22:15:12 +02:00
committed by Paulus Schoutsen
parent 993d390ea5
commit a1b9a092d0
7 changed files with 617 additions and 237 deletions

View File

@@ -7,6 +7,7 @@ const CompressionPlugin = require("compression-webpack-plugin");
const zopfli = require("@gfx/zopfli");
const ManifestPlugin = require("webpack-manifest-plugin");
const paths = require("./paths.js");
const { babelLoaderConfig } = require("./babel.js");
let version = fs
.readFileSync(path.resolve(paths.polymer_dir, "setup.py"), "utf8")
@@ -42,7 +43,7 @@ const resolve = {
const tsLoader = (latestBuild) => ({
test: /\.ts|tsx$/,
exclude: /node_modules/,
exclude: [path.resolve(paths.polymer_dir, "node_modules")],
use: [
{
loader: "ts-loader",
@@ -126,12 +127,17 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
"hass-icons": "./src/entrypoints/hass-icons.ts",
};
const rules = [tsLoader(latestBuild), cssLoader, htmlLoader];
if (!latestBuild) {
rules.push(babelLoaderConfig({ latestBuild }));
}
return {
mode: genMode(isProdBuild),
devtool: genDevTool(isProdBuild),
entry,
module: {
rules: [tsLoader(latestBuild), cssLoader, htmlLoader],
rules,
},
optimization: optimization(latestBuild),
plugins: [
@@ -191,6 +197,11 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
};
const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
const rules = [tsLoader(latestBuild), cssLoader, htmlLoader];
if (!latestBuild) {
rules.push(babelLoaderConfig({ latestBuild }));
}
return {
mode: genMode(isProdBuild),
devtool: genDevTool(isProdBuild),
@@ -199,7 +210,7 @@ const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
compatibility: "./src/entrypoints/compatibility.ts",
},
module: {
rules: [tsLoader(latestBuild), cssLoader, htmlLoader],
rules,
},
optimization: optimization(latestBuild),
plugins: [
@@ -241,12 +252,17 @@ const createCastConfig = ({ isProdBuild, latestBuild }) => {
entry.receiver = "./cast/src/receiver/entrypoint.ts";
}
const rules = [tsLoader(latestBuild), cssLoader, htmlLoader];
if (!latestBuild) {
rules.push(babelLoaderConfig({ latestBuild }));
}
return {
mode: genMode(isProdBuild),
devtool: genDevTool(isProdBuild),
entry,
module: {
rules: [tsLoader(latestBuild), cssLoader, htmlLoader],
rules,
},
optimization: optimization(latestBuild),
plugins: [