diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..56a0565 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,22 @@ +import eslint from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import imp from "eslint-plugin-import"; +import globals from "globals"; + + +export default [ + eslint.configs.recommended, + eslintConfigPrettier, + { + plugins: { + imp + }, + languageOptions: { + ecmaVersion: "latest", + sourceType: "module", + globals: { + ...globals.browser, + } + }, + } +] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 781d1f8..c2d79e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,7 @@ "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", + "globals": "15.0.0", "husky": "^9.0.11", "lint-staged": "^15.2.2", "postcss": "^8.4.38", @@ -961,6 +962,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", @@ -1797,6 +1807,15 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", @@ -6997,12 +7016,15 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.0.0.tgz", + "integrity": "sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { diff --git a/package.json b/package.json index 9fc3f7e..093ccec 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.1.0", "description": "Landroid lawnmower card for Home Assistant Lovelace UI", "main": "dist/landroid-card.js", + "type": "module", "scripts": { "start": "rollup -c --watch", "lint": "eslint src", @@ -44,6 +45,7 @@ "@babel/plugin-transform-runtime": "^7.24.3", "@babel/core": "^7.24.3", "@babel/preset-env": "^7.23.7", + "globals": "15.0.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-image": "^3.0.2", diff --git a/src/landroid-card.js b/src/landroid-card.js index d90692d..dfc4af1 100644 --- a/src/landroid-card.js +++ b/src/landroid-card.js @@ -588,7 +588,8 @@ class LandroidCard extends LitElement {
${subtitle}
`; - } catch (error) { + } catch (e) { + console.warn(e); return nothing; } }, @@ -749,7 +750,8 @@ class LandroidCard extends LitElement { `; - } catch (error) { + } catch (e) { + console.warn(e); return nothing; } } diff --git a/src/localize.js b/src/localize.js index fec783a..66c607a 100644 --- a/src/localize.js +++ b/src/localize.js @@ -70,6 +70,7 @@ export default function localize(string, search, replace) { try { langStored = JSON.parse(localStorage.getItem('selectedLanguage')); } catch (e) { + console.warn(e); langStored = localStorage.getItem('selectedLanguage'); } @@ -82,6 +83,7 @@ export default function localize(string, search, replace) { try { translated = languages[lang][section][key]; } catch (e) { + console.warn(e); translated = languages[DEFAULT_LANG][section][key]; }