Make module types explicit and convert some to ESM (#15964)
This commit is contained in:
parent
fcc95825e3
commit
1f1898fa46
|
@ -20,7 +20,7 @@
|
||||||
"settings": {
|
"settings": {
|
||||||
"import/resolver": {
|
"import/resolver": {
|
||||||
"webpack": {
|
"webpack": {
|
||||||
"config": "./webpack.config.js"
|
"config": "./webpack.config.cjs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -43,7 +43,7 @@ jobs:
|
||||||
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
|
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
|
||||||
|
|
||||||
- name: Bump version
|
- name: Bump version
|
||||||
run: script/version_bump.js nightly
|
run: script/version_bump.cjs nightly
|
||||||
|
|
||||||
- name: Build nightly Python wheels
|
- name: Build nightly Python wheels
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const env = require("./env.js");
|
const env = require("./env.cjs");
|
||||||
const paths = require("./paths.js");
|
const paths = require("./paths.cjs");
|
||||||
|
|
||||||
// GitHub base URL to use for production source maps
|
// GitHub base URL to use for production source maps
|
||||||
// Nightly builds use the commit SHA, otherwise assumes there is a tag that matches the version
|
// Nightly builds use the commit SHA, otherwise assumes there is a tag that matches the version
|
||||||
|
@ -99,7 +99,7 @@ module.exports.babelOptions = ({ latestBuild, isProdBuild, isTestBuild }) => ({
|
||||||
[
|
[
|
||||||
path.resolve(
|
path.resolve(
|
||||||
paths.polymer_dir,
|
paths.polymer_dir,
|
||||||
"build-scripts/babel-plugins/inline-constants-plugin.js"
|
"build-scripts/babel-plugins/inline-constants-plugin.cjs"
|
||||||
),
|
),
|
||||||
{
|
{
|
||||||
modules: ["@mdi/js"],
|
modules: ["@mdi/js"],
|
|
@ -1,6 +1,6 @@
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const paths = require("./paths.js");
|
const paths = require("./paths.cjs");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
useRollup() {
|
useRollup() {
|
|
@ -1,18 +1,18 @@
|
||||||
// Run HA develop mode
|
// Run HA develop mode
|
||||||
|
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const env = require("../env");
|
const env = require("../env.cjs");
|
||||||
require("./clean.js");
|
require("./clean.cjs");
|
||||||
require("./translations.js");
|
require("./translations.cjs");
|
||||||
require("./locale-data.js");
|
require("./locale-data.cjs");
|
||||||
require("./gen-icons-json.js");
|
require("./gen-icons-json.cjs");
|
||||||
require("./gather-static.js");
|
require("./gather-static.cjs");
|
||||||
require("./compress.js");
|
require("./compress.cjs");
|
||||||
require("./webpack.js");
|
require("./webpack.cjs");
|
||||||
require("./service-worker.js");
|
require("./service-worker.cjs");
|
||||||
require("./entry-html.js");
|
require("./entry-html.cjs");
|
||||||
require("./rollup.js");
|
require("./rollup.cjs");
|
||||||
require("./wds.js");
|
require("./wds.cjs");
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"develop-app",
|
"develop-app",
|
|
@ -1,14 +1,13 @@
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
|
const env = require("../env.cjs");
|
||||||
|
|
||||||
const env = require("../env");
|
require("./clean.cjs");
|
||||||
|
require("./translations.cjs");
|
||||||
require("./clean.js");
|
require("./gather-static.cjs");
|
||||||
require("./translations.js");
|
require("./webpack.cjs");
|
||||||
require("./gather-static.js");
|
require("./service-worker.cjs");
|
||||||
require("./webpack.js");
|
require("./entry-html.cjs");
|
||||||
require("./service-worker.js");
|
require("./rollup.cjs");
|
||||||
require("./entry-html.js");
|
|
||||||
require("./rollup.js");
|
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"develop-cast",
|
"develop-cast",
|
|
@ -1,7 +1,7 @@
|
||||||
const del = import("del");
|
const del = import("del");
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
require("./translations");
|
require("./translations.cjs");
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"clean",
|
"clean",
|
|
@ -4,7 +4,7 @@ const gulp = require("gulp");
|
||||||
const zopfli = require("gulp-zopfli-green");
|
const zopfli = require("gulp-zopfli-green");
|
||||||
const merge = require("merge-stream");
|
const merge = require("merge-stream");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
const zopfliOptions = { threshold: 150 };
|
const zopfliOptions = { threshold: 150 };
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
// Run demo develop mode
|
// Run demo develop mode
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
|
const env = require("../env.cjs");
|
||||||
|
|
||||||
const env = require("../env");
|
require("./clean.cjs");
|
||||||
|
require("./translations.cjs");
|
||||||
require("./clean.js");
|
require("./gen-icons-json.cjs");
|
||||||
require("./translations.js");
|
require("./gather-static.cjs");
|
||||||
require("./gen-icons-json.js");
|
require("./webpack.cjs");
|
||||||
require("./gather-static.js");
|
require("./service-worker.cjs");
|
||||||
require("./webpack.js");
|
require("./entry-html.cjs");
|
||||||
require("./service-worker.js");
|
require("./rollup.cjs");
|
||||||
require("./entry-html.js");
|
|
||||||
require("./rollup.js");
|
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"develop-demo",
|
"develop-demo",
|
|
@ -4,9 +4,9 @@ const fs = require("fs-extra");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const template = require("lodash.template");
|
const template = require("lodash.template");
|
||||||
const { minify } = require("html-minifier-terser");
|
const { minify } = require("html-minifier-terser");
|
||||||
const paths = require("../paths.js");
|
const paths = require("../paths.cjs");
|
||||||
const env = require("../env.js");
|
const env = require("../env.cjs");
|
||||||
const { htmlMinifierOptions, terserOptions } = require("../bundle.js");
|
const { htmlMinifierOptions, terserOptions } = require("../bundle.cjs");
|
||||||
|
|
||||||
const templatePath = (tpl) =>
|
const templatePath = (tpl) =>
|
||||||
path.resolve(paths.polymer_dir, "src/html/", `${tpl}.html.template`);
|
path.resolve(paths.polymer_dir, "src/html/", `${tpl}.html.template`);
|
|
@ -6,17 +6,17 @@ const { marked } = require("marked");
|
||||||
const glob = require("glob");
|
const glob = require("glob");
|
||||||
const yaml = require("js-yaml");
|
const yaml = require("js-yaml");
|
||||||
|
|
||||||
const env = require("../env");
|
const env = require("../env.cjs");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
require("./clean.js");
|
require("./clean.cjs");
|
||||||
require("./translations.js");
|
require("./translations.cjs");
|
||||||
require("./gen-icons-json.js");
|
require("./gen-icons-json.cjs");
|
||||||
require("./gather-static.js");
|
require("./gather-static.cjs");
|
||||||
require("./webpack.js");
|
require("./webpack.cjs");
|
||||||
require("./service-worker.js");
|
require("./service-worker.cjs");
|
||||||
require("./entry-html.js");
|
require("./entry-html.cjs");
|
||||||
require("./rollup.js");
|
require("./rollup.cjs");
|
||||||
|
|
||||||
gulp.task("gather-gallery-pages", async function gatherPages() {
|
gulp.task("gather-gallery-pages", async function gatherPages() {
|
||||||
const pageDir = path.resolve(paths.gallery_dir, "src/pages");
|
const pageDir = path.resolve(paths.gallery_dir, "src/pages");
|
||||||
|
@ -89,9 +89,7 @@ gulp.task("gather-gallery-pages", async function gatherPages() {
|
||||||
|
|
||||||
// Generate sidebar
|
// Generate sidebar
|
||||||
const sidebarPath = path.resolve(paths.gallery_dir, "sidebar.js");
|
const sidebarPath = path.resolve(paths.gallery_dir, "sidebar.js");
|
||||||
// To make watch work during development
|
const sidebar = (await import(sidebarPath)).default;
|
||||||
delete require.cache[sidebarPath];
|
|
||||||
const sidebar = require(sidebarPath);
|
|
||||||
|
|
||||||
const pagesToProcess = {};
|
const pagesToProcess = {};
|
||||||
for (const key of processed) {
|
for (const key of processed) {
|
|
@ -3,7 +3,7 @@
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const fs = require("fs-extra");
|
const fs = require("fs-extra");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
const npmPath = (...parts) =>
|
const npmPath = (...parts) =>
|
||||||
path.resolve(paths.polymer_dir, "node_modules", ...parts);
|
path.resolve(paths.polymer_dir, "node_modules", ...parts);
|
|
@ -134,11 +134,11 @@ gulp.task("gen-icons-json", (done) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const file = fs.readFileSync(PACKAGE_PATH, { encoding });
|
const file = fs.readFileSync(PACKAGE_PATH, { encoding });
|
||||||
const package = JSON.parse(file);
|
const packageMeta = JSON.parse(file);
|
||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
path.resolve(OUTPUT_DIR, "iconMetadata.json"),
|
path.resolve(OUTPUT_DIR, "iconMetadata.json"),
|
||||||
JSON.stringify({ version: package.version, parts })
|
JSON.stringify({ version: packageMeta.version, parts })
|
||||||
);
|
);
|
||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
|
@ -1,13 +1,13 @@
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const env = require("../env");
|
const env = require("../env.cjs");
|
||||||
require("./clean.js");
|
require("./clean.cjs");
|
||||||
require("./gen-icons-json.js");
|
require("./compress.cjs");
|
||||||
require("./webpack.js");
|
require("./entry-html.cjs");
|
||||||
require("./compress.js");
|
require("./gather-static.cjs");
|
||||||
require("./rollup.js");
|
require("./gen-icons-json.cjs");
|
||||||
require("./gather-static.js");
|
require("./rollup.cjs");
|
||||||
require("./translations.js");
|
require("./translations.cjs");
|
||||||
require("./gen-icons-json.js");
|
require("./webpack.cjs");
|
||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"develop-hassio",
|
"develop-hassio",
|
|
@ -2,7 +2,7 @@ const del = import("del");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
const outDir = "build/locale-data";
|
const outDir = "build/locale-data";
|
||||||
|
|
|
@ -6,8 +6,8 @@ const handler = require("serve-handler");
|
||||||
const http = require("http");
|
const http = require("http");
|
||||||
const log = require("fancy-log");
|
const log = require("fancy-log");
|
||||||
const open = require("open");
|
const open = require("open");
|
||||||
const rollupConfig = require("../rollup");
|
const rollupConfig = require("../rollup.cjs");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
const bothBuilds = (createConfigFunc, params) =>
|
const bothBuilds = (createConfigFunc, params) =>
|
||||||
gulp.series(
|
gulp.series(
|
||||||
|
@ -46,7 +46,7 @@ function createServer(serveOptions) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function watchRollup(createConfig, extraWatchSrc = [], serveOptions) {
|
function watchRollup(createConfig, extraWatchSrc = [], serveOptions = null) {
|
||||||
const { inputOptions, outputOptions } = createConfig({
|
const { inputOptions, outputOptions } = createConfig({
|
||||||
isProdBuild: false,
|
isProdBuild: false,
|
||||||
latestBuild: true,
|
latestBuild: true,
|
|
@ -5,7 +5,7 @@ const path = require("path");
|
||||||
const fs = require("fs-extra");
|
const fs = require("fs-extra");
|
||||||
const workboxBuild = require("workbox-build");
|
const workboxBuild = require("workbox-build");
|
||||||
const sourceMapUrl = require("source-map-url");
|
const sourceMapUrl = require("source-map-url");
|
||||||
const paths = require("../paths.js");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
const swDest = path.resolve(paths.app_output_root, "service_worker.js");
|
const swDest = path.resolve(paths.app_output_root, "service_worker.js");
|
||||||
|
|
|
@ -9,11 +9,11 @@ const flatmap = require("gulp-flatmap");
|
||||||
const merge = require("gulp-merge-json");
|
const merge = require("gulp-merge-json");
|
||||||
const rename = require("gulp-rename");
|
const rename = require("gulp-rename");
|
||||||
const transform = require("gulp-json-transform");
|
const transform = require("gulp-json-transform");
|
||||||
const { mapFiles } = require("../util");
|
const { mapFiles } = require("../util.cjs");
|
||||||
const env = require("../env");
|
const env = require("../env.cjs");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
|
|
||||||
require("./fetch-nightly-translations");
|
require("./fetch-nightly-translations.cjs");
|
||||||
|
|
||||||
const inFrontendDir = "translations/frontend";
|
const inFrontendDir = "translations/frontend";
|
||||||
const inBackendDir = "translations/backend";
|
const inBackendDir = "translations/backend";
|
|
@ -5,15 +5,15 @@ const webpack = require("webpack");
|
||||||
const WebpackDevServer = require("webpack-dev-server");
|
const WebpackDevServer = require("webpack-dev-server");
|
||||||
const log = require("fancy-log");
|
const log = require("fancy-log");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const env = require("../env");
|
const env = require("../env.cjs");
|
||||||
const paths = require("../paths");
|
const paths = require("../paths.cjs");
|
||||||
const {
|
const {
|
||||||
createAppConfig,
|
createAppConfig,
|
||||||
createDemoConfig,
|
createDemoConfig,
|
||||||
createCastConfig,
|
createCastConfig,
|
||||||
createHassioConfig,
|
createHassioConfig,
|
||||||
createGalleryConfig,
|
createGalleryConfig,
|
||||||
} = require("../webpack");
|
} = require("../webpack.cjs");
|
||||||
|
|
||||||
const bothBuilds = (createConfigFunc, params) => [
|
const bothBuilds = (createConfigFunc, params) => [
|
||||||
createConfigFunc({ ...params, latestBuild: true }),
|
createConfigFunc({ ...params, latestBuild: true }),
|
|
@ -103,7 +103,7 @@ module.exports = function (opts = {}) {
|
||||||
}
|
}
|
||||||
delete optionsObject.type;
|
delete optionsObject.type;
|
||||||
|
|
||||||
if (!new RegExp("^.*/").test(workerFile)) {
|
if (!/^.*\//.test(workerFile)) {
|
||||||
this.warn(
|
this.warn(
|
||||||
`Paths passed to the Worker constructor must be relative or absolute, i.e. start with /, ./ or ../ (just like dynamic import!). Ignoring "${workerFile}".`
|
`Paths passed to the Worker constructor must be relative or absolute, i.e. start with /, ./ or ../ (just like dynamic import!). Ignoring "${workerFile}".`
|
||||||
);
|
);
|
|
@ -3,18 +3,18 @@ const path = require("path");
|
||||||
const commonjs = require("@rollup/plugin-commonjs");
|
const commonjs = require("@rollup/plugin-commonjs");
|
||||||
const resolve = require("@rollup/plugin-node-resolve");
|
const resolve = require("@rollup/plugin-node-resolve");
|
||||||
const json = require("@rollup/plugin-json");
|
const json = require("@rollup/plugin-json");
|
||||||
const babel = require("@rollup/plugin-babel").babel;
|
const { babel } = require("@rollup/plugin-babel");
|
||||||
const replace = require("@rollup/plugin-replace");
|
const replace = require("@rollup/plugin-replace");
|
||||||
const visualizer = require("rollup-plugin-visualizer");
|
const visualizer = require("rollup-plugin-visualizer");
|
||||||
const { string } = require("rollup-plugin-string");
|
const { string } = require("rollup-plugin-string");
|
||||||
const { terser } = require("rollup-plugin-terser");
|
const { terser } = require("rollup-plugin-terser");
|
||||||
const manifest = require("./rollup-plugins/manifest-plugin");
|
const manifest = require("./rollup-plugins/manifest-plugin.cjs");
|
||||||
const worker = require("./rollup-plugins/worker-plugin");
|
const worker = require("./rollup-plugins/worker-plugin.cjs");
|
||||||
const dontHashPlugin = require("./rollup-plugins/dont-hash-plugin");
|
const dontHashPlugin = require("./rollup-plugins/dont-hash-plugin.cjs");
|
||||||
const ignore = require("./rollup-plugins/ignore-plugin");
|
const ignore = require("./rollup-plugins/ignore-plugin.cjs");
|
||||||
|
|
||||||
const bundle = require("./bundle");
|
const bundle = require("./bundle.cjs");
|
||||||
const paths = require("./paths");
|
const paths = require("./paths.cjs");
|
||||||
|
|
||||||
const extensions = [".js", ".ts"];
|
const extensions = [".js", ".ts"];
|
||||||
|
|
|
@ -4,8 +4,8 @@ const TerserPlugin = require("terser-webpack-plugin");
|
||||||
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
|
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
|
||||||
const log = require("fancy-log");
|
const log = require("fancy-log");
|
||||||
const WebpackBar = require("webpackbar");
|
const WebpackBar = require("webpackbar");
|
||||||
const paths = require("./paths.js");
|
const paths = require("./paths.cjs");
|
||||||
const bundle = require("./bundle.js");
|
const bundle = require("./bundle.cjs");
|
||||||
|
|
||||||
class LogStartCompilePlugin {
|
class LogStartCompilePlugin {
|
||||||
ignoredFirst = false;
|
ignoredFirst = false;
|
||||||
|
@ -64,6 +64,9 @@ const createWebpackConfig = ({
|
||||||
cacheCompression: false,
|
cacheCompression: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
resolve: {
|
||||||
|
fullySpecified: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.css$/,
|
test: /\.css$/,
|
|
@ -1,5 +1,5 @@
|
||||||
const rollup = require("../build-scripts/rollup.js");
|
import rollup from "../build-scripts/rollup.cjs";
|
||||||
const env = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
const config = rollup.createCastConfig({
|
const config = rollup.createCastConfig({
|
||||||
isProdBuild: env.isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
|
@ -7,4 +7,4 @@ const config = rollup.createCastConfig({
|
||||||
isStatsBuild: env.isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = { ...config.inputOptions, output: config.outputOptions };
|
export default { ...config.inputOptions, output: config.outputOptions };
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const { createCastConfig } = require("../build-scripts/webpack.js");
|
import webpack from "../build-scripts/webpack.cjs";
|
||||||
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
module.exports = createCastConfig({
|
export default webpack.createCastConfig({
|
||||||
isProdBuild: isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
isStatsBuild: isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
latestBuild: true,
|
latestBuild: true,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const rollup = require("../build-scripts/rollup.js");
|
import rollup from "../build-scripts/rollup.cjs";
|
||||||
const env = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
const config = rollup.createDemoConfig({
|
const config = rollup.createDemoConfig({
|
||||||
isProdBuild: env.isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
|
@ -7,4 +7,4 @@ const config = rollup.createDemoConfig({
|
||||||
isStatsBuild: env.isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = { ...config.inputOptions, output: config.outputOptions };
|
export default { ...config.inputOptions, output: config.outputOptions };
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
const { createDemoConfig } = require("../build-scripts/webpack.js");
|
import webpack from "../build-scripts/webpack.cjs";
|
||||||
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
// File just used for stats builds
|
// File just used for stats builds
|
||||||
|
|
||||||
const latestBuild = true;
|
const latestBuild = true;
|
||||||
|
|
||||||
module.exports = createDemoConfig({
|
export default webpack.createDemoConfig({
|
||||||
isProdBuild: isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
isStatsBuild: isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
latestBuild,
|
latestBuild,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const rollup = require("../build-scripts/rollup.js");
|
import rollup from "../build-scripts/rollup.cjs";
|
||||||
const env = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
const config = rollup.createGalleryConfig({
|
const config = rollup.createGalleryConfig({
|
||||||
isProdBuild: env.isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
|
@ -7,4 +7,4 @@ const config = rollup.createGalleryConfig({
|
||||||
isStatsBuild: env.isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = { ...config.inputOptions, output: config.outputOptions };
|
export default { ...config.inputOptions, output: config.outputOptions };
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
module.exports = [
|
export default [
|
||||||
{
|
{
|
||||||
// This section has no header and so all page links are shown directly in the sidebar
|
// This section has no header and so all page links are shown directly in the sidebar
|
||||||
category: "concepts",
|
category: "concepts",
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const { createGalleryConfig } = require("../build-scripts/webpack.js");
|
import webpack from "../build-scripts/webpack.cjs";
|
||||||
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
module.exports = createGalleryConfig({
|
export default webpack.createGalleryConfig({
|
||||||
isProdBuild: isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
isStatsBuild: isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
latestBuild: true,
|
latestBuild: true,
|
||||||
});
|
});
|
||||||
|
|
14
gulpfile.js
14
gulpfile.js
|
@ -1,3 +1,13 @@
|
||||||
var requireDir = require("require-dir");
|
import { globIterate } from "glob";
|
||||||
|
|
||||||
requireDir("./build-scripts/gulp/");
|
const gulpImports = [];
|
||||||
|
|
||||||
|
for await (const gulpModule of globIterate("build-scripts/gulp/*.?(c|m)js", {
|
||||||
|
dotRelative: true,
|
||||||
|
})) {
|
||||||
|
gulpImports.push(import(gulpModule));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Since all tasks are currently registered with gulp.task(), this is enough
|
||||||
|
// If any are converted to named exports, need to loop and aggregate exports here
|
||||||
|
await Promise.all(gulpImports);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const rollup = require("../build-scripts/rollup.js");
|
import rollup from "../build-scripts/rollup.cjs";
|
||||||
const env = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
const config = rollup.createHassioConfig({
|
const config = rollup.createHassioConfig({
|
||||||
isProdBuild: env.isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
|
@ -7,4 +7,4 @@ const config = rollup.createHassioConfig({
|
||||||
isStatsBuild: env.isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = { ...config.inputOptions, output: config.outputOptions };
|
export default { ...config.inputOptions, output: config.outputOptions };
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const { createHassioConfig } = require("../build-scripts/webpack.js");
|
import webpack from "../build-scripts/webpack.cjs";
|
||||||
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
module.exports = createHassioConfig({
|
export default webpack.createHassioConfig({
|
||||||
isProdBuild: isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
isStatsBuild: isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
latestBuild: true,
|
latestBuild: true,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
module.exports = {
|
export default {
|
||||||
"*.{js,ts}": ["prettier --write", "eslint --fix"],
|
"*.?(c|m){js,ts}": ["eslint --fix", "prettier --write"],
|
||||||
"!(/translations)*.{json,css,md,html}": "prettier --write",
|
"!(/translations)*.{json,css,md,html}": "prettier --write",
|
||||||
"translations/*/*.json": (files) =>
|
"translations/*/*.json": (files) =>
|
||||||
'printf "%s\n" "Translation files should not be added or modified here. Instead, make the necessary modifications in src/translations/en.json. Other languages are managed externally. Please see https://developers.home-assistant.io/docs/translations/ for details." ' +
|
'printf "%s\n" "Translation files should not be added or modified here. Instead, make the necessary modifications in src/translations/en.json. Other languages are managed externally. Please see https://developers.home-assistant.io/docs/translations/ for details." ' +
|
||||||
|
|
|
@ -19,10 +19,11 @@
|
||||||
"postinstall": "husky install",
|
"postinstall": "husky install",
|
||||||
"prepack": "pinst --disable",
|
"prepack": "pinst --disable",
|
||||||
"postpack": "pinst --enable",
|
"postpack": "pinst --enable",
|
||||||
"test": "instant-mocha --webpack-config ./test/webpack.config.js --require ./test/setup.js \"test/**/*.ts\""
|
"test": "instant-mocha --webpack-config ./test/webpack.config.js --require ./test/setup.cjs \"test/**/*.ts\""
|
||||||
},
|
},
|
||||||
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (http://paulusschoutsen.nl)",
|
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (http://paulusschoutsen.nl)",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@braintree/sanitize-url": "6.0.2",
|
"@braintree/sanitize-url": "6.0.2",
|
||||||
"@codemirror/autocomplete": "6.4.2",
|
"@codemirror/autocomplete": "6.4.2",
|
||||||
|
@ -227,7 +228,6 @@
|
||||||
"open": "8.4.2",
|
"open": "8.4.2",
|
||||||
"pinst": "3.0.0",
|
"pinst": "3.0.0",
|
||||||
"prettier": "2.8.7",
|
"prettier": "2.8.7",
|
||||||
"require-dir": "1.2.0",
|
|
||||||
"rollup": "2.79.1",
|
"rollup": "2.79.1",
|
||||||
"rollup-plugin-string": "3.0.0",
|
"rollup-plugin-string": "3.0.0",
|
||||||
"rollup-plugin-terser": "7.0.2",
|
"rollup-plugin-terser": "7.0.2",
|
||||||
|
@ -254,7 +254,6 @@
|
||||||
"@polymer/polymer": "patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch",
|
"@polymer/polymer": "patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch",
|
||||||
"@material/mwc-button@^0.25.3": "^0.27.0"
|
"@material/mwc-button@^0.25.3": "^0.27.0"
|
||||||
},
|
},
|
||||||
"main": "src/home-assistant.js",
|
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"trailingComma": "es5",
|
"trailingComma": "es5",
|
||||||
"arrowParens": "always"
|
"arrowParens": "always"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const rollup = require("./build-scripts/rollup.js");
|
import rollup from "../build-scripts/rollup.cjs";
|
||||||
const env = require("./build-scripts/env.js");
|
import env from "../build-scripts/env.cjs";
|
||||||
|
|
||||||
const config = rollup.createAppConfig({
|
const config = rollup.createAppConfig({
|
||||||
isProdBuild: env.isProdBuild(),
|
isProdBuild: env.isProdBuild(),
|
||||||
|
@ -7,4 +7,4 @@ const config = rollup.createAppConfig({
|
||||||
isStatsBuild: env.isStatsBuild(),
|
isStatsBuild: env.isStatsBuild(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = { ...config.inputOptions, output: config.outputOptions };
|
export default { ...config.inputOptions, output: config.outputOptions };
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
const { createAppConfig } = require("../build-scripts/webpack.js");
|
import webpack from "../build-scripts/webpack.cjs";
|
||||||
|
|
||||||
module.exports = createAppConfig({
|
export default webpack.createAppConfig({
|
||||||
isProdBuild: false,
|
isProdBuild: false,
|
||||||
latestBuild: true,
|
latestBuild: true,
|
||||||
isStatsBuild: false,
|
isStatsBuild: false,
|
||||||
|
isTestBuild: true,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,20 +1,26 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "es2017",
|
// Language Options
|
||||||
"module": "esnext",
|
"target": "ES2017",
|
||||||
|
"lib": ["ES2017", "DOM", "DOM.Iterable", "WebWorker"],
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
// Modules
|
||||||
|
"module": "ESNext",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"lib": ["es2017", "dom", "dom.iterable", "WebWorker"],
|
"resolveJsonModule": true,
|
||||||
|
// Babel handles transpiling and no need for declaration files
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
|
// Type checking options
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"noImplicitReturns": true,
|
"noImplicitReturns": true,
|
||||||
"noFallthroughCasesInSwitch": true,
|
"noFallthroughCasesInSwitch": true,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": false,
|
||||||
|
// Do not check type declaration files
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"resolveJsonModule": true,
|
// Interop with CommonJS and other tools
|
||||||
"experimentalDecorators": true,
|
"esModuleInterop": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"plugins": [
|
"plugins": [
|
||||||
{
|
{
|
||||||
"name": "ts-lit-plugin",
|
"name": "ts-lit-plugin",
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
const cors = require("@koa/cors");
|
import cors from "@koa/cors";
|
||||||
const { rollupAdapter } = require("@web/dev-server-rollup");
|
import { rollupAdapter } from "@web/dev-server-rollup";
|
||||||
|
import rollup from "./build-scripts/rollup.cjs";
|
||||||
const rollup = require("./build-scripts/rollup");
|
|
||||||
|
|
||||||
const rollupWDSPlugins = rollup
|
const rollupWDSPlugins = rollup
|
||||||
.createAppConfig({
|
.createAppConfig({
|
||||||
|
@ -13,7 +12,7 @@ const rollupWDSPlugins = rollup
|
||||||
);
|
);
|
||||||
|
|
||||||
/** @type import("@web/dev-server/src/config/DevServerConfig.ts") */
|
/** @type import("@web/dev-server/src/config/DevServerConfig.ts") */
|
||||||
module.exports = {
|
export default {
|
||||||
mimeTypes: {
|
mimeTypes: {
|
||||||
"**/*.ts": "js",
|
"**/*.ts": "js",
|
||||||
"**/*.json": "js",
|
"**/*.json": "js",
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||||
|
// Needs to remain CommonJS until eslint-import-resolver-webpack supports ES modules
|
||||||
|
const webpack = require("./build-scripts/webpack.cjs");
|
||||||
|
const env = require("./build-scripts/env.cjs");
|
||||||
|
|
||||||
|
// This file exists because we haven't migrated the stats script yet
|
||||||
|
|
||||||
|
const configs = [
|
||||||
|
webpack.createAppConfig({
|
||||||
|
isProdBuild: env.isProdBuild(),
|
||||||
|
isStatsBuild: env.isStatsBuild(),
|
||||||
|
isTestBuild: env.isTestBuild(),
|
||||||
|
latestBuild: true,
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
|
||||||
|
if (env.isProdBuild() && !env.isStatsBuild()) {
|
||||||
|
configs.push(
|
||||||
|
webpack.createAppConfig({
|
||||||
|
isProdBuild: env.isProdBuild(),
|
||||||
|
isStatsBuild: env.isStatsBuild(),
|
||||||
|
isTestBuild: env.isTestBuild(),
|
||||||
|
latestBuild: false,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = configs;
|
|
@ -1,33 +0,0 @@
|
||||||
/* eslint-disable import/extensions */
|
|
||||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
||||||
|
|
||||||
const { createAppConfig } = require("./build-scripts/webpack.js");
|
|
||||||
const {
|
|
||||||
isProdBuild,
|
|
||||||
isStatsBuild,
|
|
||||||
isTestBuild,
|
|
||||||
} = require("./build-scripts/env.js");
|
|
||||||
|
|
||||||
// This file exists because we haven't migrated the stats script yet
|
|
||||||
|
|
||||||
const configs = [
|
|
||||||
createAppConfig({
|
|
||||||
isProdBuild: isProdBuild(),
|
|
||||||
isStatsBuild: isStatsBuild(),
|
|
||||||
isTestBuild: isTestBuild(),
|
|
||||||
latestBuild: true,
|
|
||||||
}),
|
|
||||||
];
|
|
||||||
// const configs = [createConfig(isProdBuild, /* latestBuild */ true)];
|
|
||||||
if (isProdBuild && !isStatsBuild) {
|
|
||||||
configs.push(
|
|
||||||
createAppConfig({
|
|
||||||
isProdBuild: isProdBuild(),
|
|
||||||
isStatsBuild: isStatsBuild(),
|
|
||||||
isTestBuild: isTestBuild(),
|
|
||||||
latestBuild: false,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = configs;
|
|
|
@ -9571,7 +9571,6 @@ __metadata:
|
||||||
qr-scanner: 1.4.2
|
qr-scanner: 1.4.2
|
||||||
qrcode: 1.5.1
|
qrcode: 1.5.1
|
||||||
regenerator-runtime: 0.13.11
|
regenerator-runtime: 0.13.11
|
||||||
require-dir: 1.2.0
|
|
||||||
resize-observer-polyfill: 1.5.1
|
resize-observer-polyfill: 1.5.1
|
||||||
roboto-fontface: 0.10.0
|
roboto-fontface: 0.10.0
|
||||||
rollup: 2.79.1
|
rollup: 2.79.1
|
||||||
|
@ -13443,13 +13442,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"require-dir@npm:1.2.0":
|
|
||||||
version: 1.2.0
|
|
||||||
resolution: "require-dir@npm:1.2.0"
|
|
||||||
checksum: 8bbc4757d7e3fae0799e24cb363f165a89e0cc83172de9d5fd95f8e75cf2368764199e5fd557434d6318ab1f271415cc9d3ef190076393e6e993a7b1add8ef27
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"require-directory@npm:^2.1.1":
|
"require-directory@npm:^2.1.1":
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
resolution: "require-directory@npm:2.1.1"
|
resolution: "require-directory@npm:2.1.1"
|
||||||
|
|
Loading…
Reference in New Issue