Add eslint and stricter TypeScript rules for jspsych package #3389
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am planning to add the option to use camel case variables to the jspsych (see issue #3386). To make sure this doesn't break any existing functionality, I think it would be a good idea to enable TypeScript strict mode (I also see this is something you want on a "lucky day"). Well, it is a lucky day!
I propose to do this in stages, each adding one of the strict rules (until finally
strictNullChecks
, which is the really difficult one here). I also added eslint (only for the jspsych package) to help with some additional best practices checking.This PR makes changes that bring the existing code into compliance with the standard TypeScript linting rules and
noUnusedLocales
TypeScript rules.I also removed the
AudioContext
hack for Safari, as it looks likeAudioContext
has been supported in Safari for a number of years now. If this is not okay, let me know I can add it back.