Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Enforce linting and prettier rules #1103

Merged
merged 9 commits into from
Aug 31, 2023
Merged

[CI] Enforce linting and prettier rules #1103

merged 9 commits into from
Aug 31, 2023

Conversation

jkasten2
Copy link
Member

@jkasten2 jkasten2 commented Aug 25, 2023

Description

One Line Summary

Enable enforcement of eslint and prettier rules, as well as made the code changes required them to pass.

Details

Recommend reviewing commit-by-commit.
The following two commands were run on the source.

  • yarn prettier --write src test __test__
  • yarn eslint src --ext .js,.jsx,.ts,.tsx --fix

Since not all rules had auto fixes, some changes were done manually to meet the rules. Also a few in-line suppresses were added to since it was to risky to change the code at this time, but preferred over omitting the rule as the rule should still be applied to new code.

Validation

Tested on Windows 11 22H2 with Chrome 115.0.5790.171 ensuring it can subscribe, receive a push, register an email, and open a new tab on notification click.

Tests

Info

Checklist

  • All the automated tests pass or I explained why that is not possible
  • I have personally tested this on my machine or explained why that is not possible
  • I have included test coverage for these changes or explained why they are not needed

Programming Checklist
Interfaces:

  • Don't use default export
  • New interfaces are in model files

Functions:

  • Don't use default export
  • All function signatures have return types
  • Helpers should not access any data but rather be given the data to operate on.

Typescript:

  • No Typescript warnings
  • Avoid silencing null/undefined warnings with the exclamation point

Other:

  • Iteration: refrain from using elem of array syntax. Prefer forEach or use map
  • Avoid using global OneSignal accessor for context if possible. Instead, we can pass it to function/constructor so that we don't call OneSignal.context

Screenshots

Info

Checklist

  • I have included screenshots/recordings of the intended results or explained why they are not needed

Related Tickets



This change is Reviewable

We should fail on lint errors, then we can follow up in another commit
fixing these errors as part of a PR to enforce the rules.
This commit is large since eslit --fix was run to auto fix most issues.
Some that did not have auto fixes were done manually.

Some changes were not made as they were too risky to change so instead
some in-line comments were used to suppress them. This was preferred
over globally turning off the rule, as keeping it on means new code has
to follow the rule.
Ran yarn prettier --write src test __test__
Base automatically changed from improvement/409_transfer_error_msg to main August 25, 2023 21:31
@jkasten2 jkasten2 changed the title [WIP] [CI] Enforce linting [CI] Enforce linting Aug 30, 2023
Copy link
Contributor

@emawby emawby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good the tests are passing now in the PR!

src/shared/libraries/Emitter.ts Outdated Show resolved Hide resolved
@jkasten2 jkasten2 requested a review from rgomezp August 31, 2023 21:20
src/shared/models/UpdatePlayerOptions.ts Outdated Show resolved Hide resolved
src/shared/api/OneSignalApi.ts Outdated Show resolved Hide resolved
src/shared/api/OneSignalApi.ts Outdated Show resolved Hide resolved
@jkasten2 jkasten2 requested a review from rgomezp August 31, 2023 21:32
@jkasten2 jkasten2 merged commit 95b2670 into main Aug 31, 2023
2 checks passed
@jkasten2 jkasten2 deleted the ci/enfore_linting branch August 31, 2023 21:40
@jkasten2 jkasten2 changed the title [CI] Enforce linting [CI] Enforce linting and prettier rules Sep 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants