From 9f554f4917a911caa67ef7a472ae7bf4053fca56 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 10 May 2021 22:57:42 +0200 Subject: [PATCH] Silence babel warnings (#9158) --- build-scripts/bundle.js | 16 ++-- build-scripts/env.js | 1 + build-scripts/paths.js | 1 + build-scripts/rollup.js | 176 ++++++++++++++++++--------------------- build-scripts/util.js | 1 + build-scripts/webpack.js | 33 +++----- 6 files changed, 104 insertions(+), 124 deletions(-) diff --git a/build-scripts/bundle.js b/build-scripts/bundle.js index d21b2aea1a..1183a5ce06 100644 --- a/build-scripts/bundle.js +++ b/build-scripts/bundle.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const env = require("./env.js"); const paths = require("./paths.js"); @@ -53,13 +54,13 @@ module.exports.babelOptions = ({ latestBuild }) => ({ babelrc: false, presets: [ !latestBuild && [ - require("@babel/preset-env").default, + "@babel/preset-env", { useBuiltIns: "entry", corejs: "3.6", }, ], - require("@babel/preset-typescript").default, + "@babel/preset-typescript", ].filter(Boolean), plugins: [ // Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2}) @@ -72,14 +73,9 @@ module.exports.babelOptions = ({ latestBuild }) => ({ "@babel/plugin-syntax-dynamic-import", "@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator", - [ - require("@babel/plugin-proposal-decorators").default, - { decoratorsBeforeExport: true }, - ], - [ - require("@babel/plugin-proposal-class-properties").default, - { loose: true }, - ], + ["@babel/plugin-proposal-decorators", { decoratorsBeforeExport: true }], + ["@babel/plugin-proposal-private-methods", { loose: true }], + ["@babel/plugin-proposal-class-properties", { loose: true }], ].filter(Boolean), }); diff --git a/build-scripts/env.js b/build-scripts/env.js index 8b2dea2eb4..bda99cf010 100644 --- a/build-scripts/env.js +++ b/build-scripts/env.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const fs = require("fs"); const path = require("path"); const paths = require("./paths.js"); diff --git a/build-scripts/paths.js b/build-scripts/paths.js index da9d8db190..d89f5f582a 100644 --- a/build-scripts/paths.js +++ b/build-scripts/paths.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); module.exports = { diff --git a/build-scripts/rollup.js b/build-scripts/rollup.js index c5f8972854..7921ccc051 100644 --- a/build-scripts/rollup.js +++ b/build-scripts/rollup.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const commonjs = require("@rollup/plugin-commonjs"); @@ -32,88 +33,82 @@ const createRollupConfig = ({ publicPath, dontHash, isWDS, -}) => { - return { - /** - * @type { import("rollup").InputOptions } - */ - inputOptions: { - input: entry, - // Some entry points contain no JavaScript. This setting silences a warning about that. - // https://rollupjs.org/guide/en/#preserveentrysignatures - preserveEntrySignatures: false, - plugins: [ - ignore({ - files: bundle.emptyPackages({ latestBuild }), +}) => ({ + /** + * @type { import("rollup").InputOptions } + */ + inputOptions: { + input: entry, + // Some entry points contain no JavaScript. This setting silences a warning about that. + // https://rollupjs.org/guide/en/#preserveentrysignatures + preserveEntrySignatures: false, + plugins: [ + ignore({ + files: bundle.emptyPackages({ latestBuild }), + }), + resolve({ + extensions, + preferBuiltins: false, + browser: true, + rootDir: paths.polymer_dir, + }), + commonjs({ + namedExports: { + "js-yaml": ["safeDump", "safeLoad"], + }, + }), + json(), + babel({ + ...bundle.babelOptions({ latestBuild }), + extensions, + exclude: bundle.babelExclude(), + babelHelpers: isWDS ? "inline" : "bundled", + }), + string({ + // Import certain extensions as strings + include: [path.join(paths.polymer_dir, "node_modules/**/*.css")], + }), + replace(bundle.definedVars({ isProdBuild, latestBuild, defineOverlay })), + !isWDS && + manifest({ + publicPath, }), - resolve({ - extensions, - preferBuiltins: false, - browser: true, - rootDir: paths.polymer_dir, + !isWDS && worker(), + !isWDS && dontHashPlugin({ dontHash }), + !isWDS && isProdBuild && terser(bundle.terserOptions(latestBuild)), + !isWDS && + isStatsBuild && + visualizer({ + // https://github.com/btd/rollup-plugin-visualizer#options + open: true, + sourcemap: true, }), - commonjs({ - namedExports: { - "js-yaml": ["safeDump", "safeLoad"], - }, - }), - json(), - babel({ - ...bundle.babelOptions({ latestBuild }), - extensions, - exclude: bundle.babelExclude(), - babelHelpers: isWDS ? "inline" : "bundled", - }), - string({ - // Import certain extensions as strings - include: [path.join(paths.polymer_dir, "node_modules/**/*.css")], - }), - replace( - bundle.definedVars({ isProdBuild, latestBuild, defineOverlay }) - ), - !isWDS && - manifest({ - publicPath, - }), - !isWDS && worker(), - !isWDS && dontHashPlugin({ dontHash }), - !isWDS && isProdBuild && terser(bundle.terserOptions(latestBuild)), - !isWDS && - isStatsBuild && - visualizer({ - // https://github.com/btd/rollup-plugin-visualizer#options - open: true, - sourcemap: true, - }), - ].filter(Boolean), - }, - /** - * @type { import("rollup").OutputOptions } - */ - outputOptions: { - // https://rollupjs.org/guide/en/#outputdir - dir: outputPath, - // https://rollupjs.org/guide/en/#outputformat - format: latestBuild ? "es" : "systemjs", - // https://rollupjs.org/guide/en/#outputexternallivebindings - externalLiveBindings: false, - // https://rollupjs.org/guide/en/#outputentryfilenames - // https://rollupjs.org/guide/en/#outputchunkfilenames - // https://rollupjs.org/guide/en/#outputassetfilenames - entryFileNames: - isProdBuild && !isStatsBuild ? "[name]-[hash].js" : "[name].js", - chunkFileNames: - isProdBuild && !isStatsBuild ? "c.[hash].js" : "[name].js", - assetFileNames: - isProdBuild && !isStatsBuild ? "a.[hash].js" : "[name].js", - // https://rollupjs.org/guide/en/#outputsourcemap - sourcemap: isProdBuild ? true : "inline", - }, - }; -}; + ].filter(Boolean), + }, + /** + * @type { import("rollup").OutputOptions } + */ + outputOptions: { + // https://rollupjs.org/guide/en/#outputdir + dir: outputPath, + // https://rollupjs.org/guide/en/#outputformat + format: latestBuild ? "es" : "systemjs", + // https://rollupjs.org/guide/en/#outputexternallivebindings + externalLiveBindings: false, + // https://rollupjs.org/guide/en/#outputentryfilenames + // https://rollupjs.org/guide/en/#outputchunkfilenames + // https://rollupjs.org/guide/en/#outputassetfilenames + entryFileNames: + isProdBuild && !isStatsBuild ? "[name]-[hash].js" : "[name].js", + chunkFileNames: isProdBuild && !isStatsBuild ? "c.[hash].js" : "[name].js", + assetFileNames: isProdBuild && !isStatsBuild ? "a.[hash].js" : "[name].js", + // https://rollupjs.org/guide/en/#outputsourcemap + sourcemap: isProdBuild ? true : "inline", + }, +}); -const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild, isWDS }) => { - return createRollupConfig( +const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild, isWDS }) => + createRollupConfig( bundle.config.app({ isProdBuild, latestBuild, @@ -121,31 +116,24 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild, isWDS }) => { isWDS, }) ); -}; -const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { - return createRollupConfig( +const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => + createRollupConfig( bundle.config.demo({ isProdBuild, latestBuild, isStatsBuild, }) ); -}; -const createCastConfig = ({ isProdBuild, latestBuild }) => { - return createRollupConfig(bundle.config.cast({ isProdBuild, latestBuild })); -}; +const createCastConfig = ({ isProdBuild, latestBuild }) => + createRollupConfig(bundle.config.cast({ isProdBuild, latestBuild })); -const createHassioConfig = ({ isProdBuild, latestBuild }) => { - return createRollupConfig(bundle.config.hassio({ isProdBuild, latestBuild })); -}; +const createHassioConfig = ({ isProdBuild, latestBuild }) => + createRollupConfig(bundle.config.hassio({ isProdBuild, latestBuild })); -const createGalleryConfig = ({ isProdBuild, latestBuild }) => { - return createRollupConfig( - bundle.config.gallery({ isProdBuild, latestBuild }) - ); -}; +const createGalleryConfig = ({ isProdBuild, latestBuild }) => + createRollupConfig(bundle.config.gallery({ isProdBuild, latestBuild })); module.exports = { createAppConfig, diff --git a/build-scripts/util.js b/build-scripts/util.js index 23efdfb229..91dee49ea3 100644 --- a/build-scripts/util.js +++ b/build-scripts/util.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const fs = require("fs"); diff --git a/build-scripts/webpack.js b/build-scripts/webpack.js index e39c3d9ea7..b7b11cc346 100644 --- a/build-scripts/webpack.js +++ b/build-scripts/webpack.js @@ -1,9 +1,10 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const webpack = require("webpack"); const path = require("path"); const TerserPlugin = require("terser-webpack-plugin"); const { WebpackManifestPlugin } = require("webpack-manifest-plugin"); const paths = require("./paths.js"); -const bundle = require("./bundle"); +const bundle = require("./bundle.js"); const log = require("fancy-log"); class LogStartCompilePlugin { @@ -94,6 +95,7 @@ const createWebpackConfig = ({ ? path.resolve(context, resource) : require.resolve(resource); } catch (err) { + // eslint-disable-next-line no-console console.error( "Error in Home Assistant ignore plugin", resource, @@ -144,33 +146,24 @@ const createWebpackConfig = ({ }; }; -const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { - return createWebpackConfig( +const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => + createWebpackConfig( bundle.config.app({ isProdBuild, latestBuild, isStatsBuild }) ); -}; -const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { - return createWebpackConfig( +const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => + createWebpackConfig( bundle.config.demo({ isProdBuild, latestBuild, isStatsBuild }) ); -}; -const createCastConfig = ({ isProdBuild, latestBuild }) => { - return createWebpackConfig(bundle.config.cast({ isProdBuild, latestBuild })); -}; +const createCastConfig = ({ isProdBuild, latestBuild }) => + createWebpackConfig(bundle.config.cast({ isProdBuild, latestBuild })); -const createHassioConfig = ({ isProdBuild, latestBuild }) => { - return createWebpackConfig( - bundle.config.hassio({ isProdBuild, latestBuild }) - ); -}; +const createHassioConfig = ({ isProdBuild, latestBuild }) => + createWebpackConfig(bundle.config.hassio({ isProdBuild, latestBuild })); -const createGalleryConfig = ({ isProdBuild, latestBuild }) => { - return createWebpackConfig( - bundle.config.gallery({ isProdBuild, latestBuild }) - ); -}; +const createGalleryConfig = ({ isProdBuild, latestBuild }) => + createWebpackConfig(bundle.config.gallery({ isProdBuild, latestBuild })); module.exports = { createAppConfig,