Make module types explicit and convert some to ESM (#15964)

This commit is contained in:
Steve Repsher 2023-03-30 05:23:43 -04:00 committed by GitHub
parent fcc95825e3
commit 1f1898fa46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
53 changed files with 188 additions and 188 deletions

View File

@ -20,7 +20,7 @@
"settings": { "settings": {
"import/resolver": { "import/resolver": {
"webpack": { "webpack": {
"config": "./webpack.config.js" "config": "./webpack.config.cjs"
} }
} }
}, },

View File

@ -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: |

View File

@ -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"],

View File

@ -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() {

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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 };

View File

@ -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",

View File

@ -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`);

View File

@ -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) {

View File

@ -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);

View File

@ -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(

View File

@ -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",

View File

@ -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";

View File

@ -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,

View File

@ -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");

View File

@ -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";

View File

@ -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 }),

View File

@ -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}".`
); );

View File

@ -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"];

View File

@ -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$/,

View File

@ -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 };

View File

@ -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,
}); });

View File

@ -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 };

View File

@ -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,
}); });

View File

@ -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 };

View File

@ -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",

View File

@ -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,
}); });

View File

@ -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);

View File

@ -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 };

View File

@ -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,
}); });

View File

@ -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." ' +

View File

@ -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"

View File

@ -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 };

View File

@ -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,
}); });

View File

@ -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",

View File

@ -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",

28
webpack.config.cjs Normal file
View File

@ -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;

View File

@ -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;

View File

@ -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"