Allow scripts to not have "use strict";
atop them
#25
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.
This PR updates the rule to not produce an error when there is no
"use strict";
literal atop the file. This allows something else, some other rule (e.g.strict
), to check whether or not"use strict";
exists (or shouldn't exist, as per below) and for this rule to ensure that if the file has"use strict";
at the top, that it is indeed followed by a newline.From this SO answer on the use of
"use strict";
in ES6 (the emphasis is theirs):This is all well and good, but if a project has mixed ES6 and ES5 code (e.g. a React app using ES6 modules + webpack but with some configuration scripts or build scripts using plain ol' ES5), some files will not have a
"use strict";
atop them and ESLint will complain. I ended up in a situation where I couldn't appease ESLint by adding"use strict"
:Or by removing
"use strict";
:Right now, I am simply disabling the
strict-newline/strict-newline
rule on a directory-by-directory basis, but it would be ideal if I could not have to do that.