diff --git a/.eslintrc.js b/.eslintrc.js index 6c47a52cc6189c4fa1f6b1b71608eb49f8d868c6..4597913cd8e4b29705a3ade306738bbd8f07265a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,7 +3,6 @@ module.exports = { extends: ['react-app'], rules: { 'prettier/prettier': 'error', - 'no-unused-vars': 'off', 'no-loop-func': 'off', 'no-restricted-globals': 'off', diff --git a/package.json b/package.json index 71519ac861af1b39ef5a35bd6da0e6630c628370..1dcd49682298d95865cf57ef22d4e2707c773e36 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "test:debug": "yarn workspaces foreach --verbose run test", "rebuild-electron": "./node_modules/.bin/electron-rebuild -f -m ./packages/loot-core", "rebuild-node": "yarn workspace loot-core rebuild", - "lint": "yarn workspaces foreach --verbose run lint", + "lint": "yarn workspaces foreach --verbose run lint --max-warnings 0", "postinstall": "rm -rf ./packages/loot-design/node_modules/react && rm -rf ./packages/mobile/node_modules/react && rm -rf ./node_modules/react-native && patch-package" }, "devDependencies": { diff --git a/packages/desktop-client/src/components/Tutorial.js b/packages/desktop-client/src/components/Tutorial.js index 9f707915398ab7846562abbdb5f0bf2a7ee3e0b9..7d4e6d34d1b109e47ce16dd1df0cfba9af528813 100644 --- a/packages/desktop-client/src/components/Tutorial.js +++ b/packages/desktop-client/src/components/Tutorial.js @@ -140,6 +140,10 @@ class Tutorial extends React.Component { ); case 'budget-next-month': return <div>hi</div>; + default: + throw new Error( + `Encountered an unexpected error rendering the tutorial content for ${stage}` + ); } } @@ -213,6 +217,8 @@ class Tutorial extends React.Component { navigationProps={navigationProps} /> ); + default: + // Default case defined below (outside the switch statement) } const { node: targetNode, expand } = this.context.getTutorialNode(stage); @@ -244,7 +250,6 @@ class Tutorial extends React.Component { <path fill="rgba(0, 0, 0, .2)" fill-rule="evenodd" - // prettier-ignore d={generatePath(targetRect, windowRect)} style={{ pointerEvents: 'fill' }} /> diff --git a/packages/desktop-client/src/components/tutorial/Final.js b/packages/desktop-client/src/components/tutorial/Final.js index de96bd662f31c258650107743a94d35cd63872c0..1431a5958959c90ea1795fcc59a49067cb4129f6 100644 --- a/packages/desktop-client/src/components/tutorial/Final.js +++ b/packages/desktop-client/src/components/tutorial/Final.js @@ -10,8 +10,12 @@ function Final({ targetRect, navigationProps }) { <Title>That's it!</Title> <P> With that workflow you can have peace of mind that what you are looking - at reflects reality. 😌 The amount of money in a category is cash - that you can safely spend right now. + at reflects reality.{' '} + <span role="img" aria-label="Relieved smile" aria-hidden="true"> + 😌 + </span>{' '} + The amount of money in a category is cash that you can safely spend + right now. </P> <P> diff --git a/packages/desktop-client/src/components/tutorial/Intro.js b/packages/desktop-client/src/components/tutorial/Intro.js index d04d05d21d67387d79f5db59974786f646f0a40d..5eaf93ed730444ce90b49345e649f20d8c72189d 100644 --- a/packages/desktop-client/src/components/tutorial/Intro.js +++ b/packages/desktop-client/src/components/tutorial/Intro.js @@ -15,7 +15,10 @@ function Intro({ fromYNAB, nextTutorialStage, closeTutorial }) { <Standalone width={500}> <Title>Let's get started</Title> <P> - Welcome to Actual! 🎉{' '} + Welcome to Actual!{' '} + <span role="img" aria-label="Party" aria-hidden="true"> + 🎉 + </span>{' '} <strong>Learn the basic workflow with this quick tutorial.</strong> You can always restart it from the File menu. </P> diff --git a/packages/desktop-electron/about/index.js b/packages/desktop-electron/about/index.js index ef3a516c1fb991a2b4f9a9682eb7202bcb1eaad5..1823ea78b66941b2e2252f103c25f915c5c97040 100644 --- a/packages/desktop-electron/about/index.js +++ b/packages/desktop-electron/about/index.js @@ -2,9 +2,7 @@ const { ipcRenderer } = require('electron'); const root = document.querySelector('#root'); -const { version: appVersion } = ipcRenderer.sendSync( - 'get-bootstrap-data' -); +const { version: appVersion } = ipcRenderer.sendSync('get-bootstrap-data'); const iconPath = __dirname + '/../icons/icon.png'; @@ -85,9 +83,7 @@ ipcRenderer.on('update-error', (event, msg) => { text = 'Error updating the app. Please try again later.'; } - // prettier-ignore - errorEl.innerHTML = - `<div style="text-align:center; color:#F65151">${text}</div>`; + errorEl.innerHTML = `<div style="text-align:center; color:#F65151">${text}</div>`; errorEl.style.display = 'block'; }); diff --git a/packages/loot-design/src/svg/generate b/packages/loot-design/src/svg/generate index f2cec51b58b48b42acec323f5bad2b071a50177c..00a13aaab84ab35b0cbe1e67584625d3d3b076af 100755 --- a/packages/loot-design/src/svg/generate +++ b/packages/loot-design/src/svg/generate @@ -162,7 +162,6 @@ function transformContents(name, contents, isReactNative) { return null; } - // prettier-ignore const reactNativeImport = ` import {${reactNativeTags.join(', ')}} from 'mobile/node_modules/react-native-svg' `; diff --git a/patches/eslint-config-react-app+3.0.5.patch b/patches/eslint-config-react-app+3.0.5.patch deleted file mode 100644 index 976cb4a7905782d6ca44b0d5506446181f63d55c..0000000000000000000000000000000000000000 --- a/patches/eslint-config-react-app+3.0.5.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/node_modules/eslint-config-react-app/index.js b/node_modules/eslint-config-react-app/index.js -index ca232b8..2d88066 100644 ---- a/node_modules/eslint-config-react-app/index.js -+++ b/node_modules/eslint-config-react-app/index.js -@@ -126,13 +126,6 @@ module.exports = { - }, - ], - 'no-unused-labels': 'warn', -- 'no-unused-vars': [ -- 'warn', -- { -- args: 'none', -- ignoreRestSiblings: true, -- }, -- ], - 'no-use-before-define': [ - 'warn', - {