Skip to content

Commit

Permalink
feat(eslint): Propose Eslint plugin promise
Browse files Browse the repository at this point in the history
BREAKING CHANGE: Most errors are not auto fixable,
if needed, use // disable-next-line

Or insert in .eslintrc:
{
  "rules": {
    "promise/always-return": "warn",
    "promise/no-return-wrap": "warn",
    "promise/param-names": "warn",
    "promise/catch-or-return": "warn",
    "promise/no-native": "warn",
    "promise/no-nesting": "warn",
    "promise/no-promise-in-callback": "warn",
    "promise/no-callback-in-promise": "warn",
    "promise/avoid-new": "warn",
    "promise/no-new-statics": "warn",
    "promise/no-return-in-finally": "warn",
    "promise/valid-params": "warn"
  }
}
  • Loading branch information
trollepierre committed Jan 7, 2022
1 parent ae2860c commit 1fded18
Show file tree
Hide file tree
Showing 10 changed files with 646 additions and 479 deletions.
2 changes: 2 additions & 0 deletions packages/cozy-harvest-lib/src/cli/cli.js
Expand Up @@ -201,11 +201,13 @@ const main = async () => {
await args.handler(args, client)
}

// eslint-disable-next-line promise/catch-or-return
main()
.catch(e => {
logger.error(e)
process.exit(1)
})
// eslint-disable-next-line promise/always-return
.then(() => {
process.exit(0)
})
1 change: 1 addition & 0 deletions packages/cozy-harvest-lib/src/components/OAuthForm.jsx
Expand Up @@ -33,6 +33,7 @@ export class OAuthForm extends PureComponent {

if (konnectorPolicy.fetchExtraOAuthUrlParams) {
this.setState({ needExtraParams: true })
// eslint-disable-next-line promise/catch-or-return
konnectorPolicy
.fetchExtraOAuthUrlParams({
flow,
Expand Down
1 change: 1 addition & 0 deletions packages/cozy-harvest-lib/src/models/ConnectionFlow.js
Expand Up @@ -255,6 +255,7 @@ export class ConnectionFlow {
this.jobWatcher.disableSuccessTimer()
}

// eslint-disable-next-line promise/param-names
return new Promise(rawResolve => {
const accountId = this.account._id
assert(accountId, 'Cannot wait for two fa on account without id')
Expand Down
2 changes: 2 additions & 0 deletions packages/cozy-realtime/examples/chat/index.js
Expand Up @@ -70,11 +70,13 @@ const main = async () => {
}
}

// eslint-disable-next-line promise/catch-or-return
main()
.catch(e => {
console.error(e)
process.exit(1)
})
// eslint-disable-next-line promise/always-return
.then(() => {
process.exit(0)
})
7 changes: 6 additions & 1 deletion packages/cozy-realtime/src/RetryManager.spec.js
Expand Up @@ -161,7 +161,12 @@ describe('RetryManager', () => {
retry.onFailure()
retry.onFailure()
retry.onFailure()
retry.waitBeforeNextAttempt().then(handler)
retry
.waitBeforeNextAttempt()
.then(handler)
.catch(err => {
throw err
})
retry.stopCurrentAttemptWaitingTime()
await sleep(25)
expect(handler).toHaveBeenCalled()
Expand Down
1 change: 1 addition & 0 deletions packages/cozy-sharing/src/SharingProvider.jsx
Expand Up @@ -185,6 +185,7 @@ export class SharingProvider extends Component {
})
)
this.setState({ hasLoadedAtLeastOnePage: true })
// eslint-disable-next-line promise/catch-or-return
fetchNextPermissions(permissions, this.dispatch, client).then(() =>
this.setState({ allLoaded: true })
)
Expand Down
Expand Up @@ -173,13 +173,15 @@ const ShareDialogTwoStepsConfirmationContainer = ({
}

const onConfirmRecipient = () => {
// eslint-disable-next-line promise/catch-or-return,promise/always-return
confirmRecipient(recipientConfirmationData).then(() => {
getRecipientsToBeConfirmed()
})
}

const onRejectRecipient = () => {
setStatus('loading')
// eslint-disable-next-line promise/catch-or-return,promise/always-return
rejectRecipient(recipientConfirmationData).then(() => {
getRecipientsToBeConfirmed()
})
Expand Down
8 changes: 6 additions & 2 deletions packages/eslint-config-cozy-app/basics.js
@@ -1,8 +1,12 @@
'use strict'

module.exports = {
plugins: ['prettier'],
extends: ['eslint:recommended', 'eslint-config-prettier'],
plugins: ['prettier', 'promise'],
extends: [
'eslint:recommended',
'eslint-config-prettier',
'plugin:promise/recommended'
],
parser: '@babel/eslint-parser',
env: {
browser: true,
Expand Down
1 change: 1 addition & 0 deletions packages/eslint-config-cozy-app/package.json
Expand Up @@ -25,6 +25,7 @@
"eslint": "^8.3.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-promise": "^6.0.0",
"eslint-plugin-react": "^7.27.1",
"eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-vue": "^8.1.1",
Expand Down

0 comments on commit 1fded18

Please sign in to comment.