- Allows toggling es5 mode on/off if anyone needs that - Only warns if the es5 option is explicitly set Closes #2251
Denote relation operator tokens as binary operators by attaching a reference to the left-hand expression *prior* to parsing the right-hand expression. This allows the logic for the `singleGroups` option to correctly infer that a grouping operator does not begin an expression when it follows a relation operator. This in turn ensures that the `singleGroups` option does not trigger warnings when the grouping operator is necessary and involves a relation operator.
These operators are not specified as associative, so a grouping operator may be necessary when they appear in a larger expression. Update the binding power of these operators to accurately reflect the way they are evaluated at runtime. Remove invalid test cases that fail as a result of this correction.
Related to iojs/io.js#1153
…st character after a newline Previously, the end-of-line loop was immediately followed by the non-quote character code. This meant that the first character after an EOL was always treated as a non-quote character. Control flow now returns to the quote character check in the while loop condition immediately after each EOL or character has been handled, so that this check also runs for the first character on a line. Closes #1532. (This commit includes the test case provided in #1532 by DelvarWorld.) Closes #1319.
Options regarding PhantomJS was placed in the Relaxed section. There was no sample options: typed, phantom in example config.
The ES6 specification extended the `typeof` operator to return the string "symbol" when when applied to Symbol instances. In pre-ES6 environments, the operator will never return this value, so comparisons that involve it cannot possibly evaluate to `true`. Update the internal `isTypoTypeof` function to allow a different set of values for different language versions.