Fixes all outstanding ESLint issues as reported in #2555
Motivation and Context
Once #2555 is merged, the latest commit on the master branch will be in an unstable state. This PR aims to immediately resolve that by fixing all existing errors including:
Standardising JSON formats
Enforcing consistent import syntax
Enforcing consistent naming schemes
Replacing or intentionally commenting all uses of the any type
Adding explicit values for enums (prefer strings)
Add access modifiers on all class methods
Adding return types on all functions
Converting undefined or null or operators to nullish coalescing
Remove all null assertions in favour of optional chaining
Final formatting indentation pass
This PR also tags several sections of the codebase that are in need of a refactor, these are the major candidates:
CJSON
a. This file is far too heavily nested and dense to easily grok
Circular imports
a. There are ~5 major circular import cycles that need to be resolved
Strongly typed RendererOptions
a. strongly typing RendererOptions (as well as a few other places) could help to alleviate some areas where types are currently unknown/unclear
b. would additionally help users of quicktype-core as we could provide intellisense while writing options
Previous Behaviour / Output
N/a
New Behaviour / Output
N/a
How Has This Been Tested?
npm run lint now only comes back with warnings, no errors
Description
Fixes all outstanding ESLint issues as reported in #2555
Motivation and Context
Once #2555 is merged, the latest commit on the master branch will be in an unstable state. This PR aims to immediately resolve that by fixing all existing errors including:
any
typeThis PR also tags several sections of the codebase that are in need of a refactor, these are the major candidates:
quicktype-core
as we could provide intellisense while writing optionsPrevious Behaviour / Output
N/a
New Behaviour / Output
N/a
How Has This Been Tested?
npm run lint
now only comes back with warnings, no errorsScreenshots (if appropriate):