phetsims / chipper

Tools for developing and building PhET interactive simulations.
MIT License
11 stars 14 forks source link

Automatically review existing lint rules #814

Closed samreid closed 3 years ago

samreid commented 4 years ago

Today @chrisklus @zepumph and I discussed the following possibility:

The idea is that the rules we are breaking a dozen or less times across our codebase are already closely in line with our philosophy, and there is a good chance we could benefit from adopting the rules.

@zepumph volunteered to investigate at seriously low priority.

zepumph commented 3 years ago

I'm not going to get to this anytime soon. unassigning.

zepumph commented 3 years ago

@samreid and I spent a long time over in #150 going through rules that had to do with formatting. I'm unsure how much more I would work on this. @samreid would you like to close this?

samreid commented 3 years ago

We reviewed this in https://github.com/phetsims/phet-info/issues/150 and https://github.com/phetsims/phet-info/issues/156 and made a lot of progress, particularly regarding formatting. It still may be valuable to review more broadly the rest of the ESLint rules. Perhaps I'll add this to my list at low priority.

samreid commented 3 years ago

Tagging to touch base at developer meeting.

There are some rules that seem like they should be on, such as array-callback-return. If you call array.map( ()=>{}) but do not return a value in the arrow function, it seems problematic.

Also consistent-return flags functions like this one in capacitor-lab-basics where it sometimes returns and sometimes falls through to inadvertently return undefined (there are 79 cases failing this rule):

( capacitance, voltage, circuitConnection ) => {
  if ( circuitConnection ) {
    let charge = capacitance * voltage;

    // Force an underflow to zero below the threshold for stability
    if ( Math.abs( charge ) < CLBConstants.MIN_PLATE_CHARGE ) {
      charge = 0;
    }
    return charge;
  }
}

The main question for developer meeting is how to proceed on issues like this (identified as TODOs in the eslint files in chipper/eslint/), some options are:

  1. Turn on the rules and let CT be red for a while
  2. One developer volunteers to fix as many as possible, and only assigns for review if the solution was not straightforward. Some of the rules can be autofixed.
  3. Chip away issues created and assigned to responsible dev in each repo. (may be a lot of overhead)

Or we could start with (2) and then move to (3) or (1).

pixelzoom commented 3 years ago

You mentioned that there are 79 failing cases for consistent-return. What other rules are you proposing to enable, and what's the total number of failing cases? I would need that info to choose one of the options suggested in the previous comment.

samreid commented 3 years ago
'object-shorthand' // TODO: 448 fails
'prefer-arrow-callback' // TODO: 9 fails
'prefer-rest-params' // TODO: 2 fails
'prefer-template' // TODO: 99 fails
'no-async-promise-executor' // TODO: 4 fails
'require-atomic-updates' // TODO: 6 fails
'array-callback-return' // TODO: 14 fails
'consistent-return' // TODO: 79 fails
'default-param-last' // TODO: 1 failure
'no-constructor-return' // TODO 10 fails
'no-eval' // TODO: 2 fails
'no-extra-label' // TODO: 4 fails
'no-floating-decimal' // TODO: 155 fails
'no-labels' // TODO: 20 fails
'no-lone-blocks' // TODO: 17 fails
'no-return-await' // TODO 19 fails
'no-sequences' // TODO: 2 failures
'no-throw-literal' // TODO: 1 failure
'no-unmodified-loop-condition' // TODO: 1 failure
'no-useless-catch' // TODO: 1 fail
'no-useless-concat' // TODO: 38 fails
'no-useless-return' // TODO: 5 fails
'prefer-promise-reject-errors' // TODO: 14 failures
'require-await' // TODO: 53 fails
'require-unicode-regexp' // TODO: 272 fails
yoda // TODO: 9 fails
strict // TODO: 338 fails
'linebreak-style' // TODO 726 fails
'no-unneeded-ternary' // TODO: 5 fails
'prefer-object-spread' // TODO: Only 1 fail
pixelzoom commented 3 years ago

If anyone wants to test-drive the above rules... According to @samreid, they are split across chipper/eslint/.eslintrc.js and chipper/eslint/sim_eslintrc.js

@zepumph recommends skipping these rules:

pixelzoom commented 3 years ago

@samreid tested with grunt lint-everything --disable-eslint-cache.

mattpen commented 3 years ago

Moving forward, @samreid will fix any that are automatically fixable, and possibly anything that looks trivial.

After that is complete, developers can test on their own and address anything as needed, then we'll revisit in dev meeting next week.

samreid commented 3 years ago

I pushed the "no-eval" rule to perennial, and it said it will automatically fix the version in chipper (SimVersion copy).

samreid commented 3 years ago

I decided to fix the chipper version eagerly, and I left a fake comment so daily grunt work can still do a commit, in case that helps?

samreid commented 3 years ago

Another level would be to make those rules warnings for a while, but our tooling might treat warnings the same as it treats errors?

samreid commented 3 years ago

I've completed the auto and easy fixes. After the commits, here are the remaining failing rules:

``` Running "lint-everything" task /Users/samreid/apache-document-root/main/aqua/js/local/puppeteerPage.js 7:23 error Promise executor functions should not be async no-async-promise-executor /Users/samreid/apache-document-root/main/aqua/js/local/puppeteerQUnit.js 9:23 error Promise executor functions should not be async no-async-promise-executor /Users/samreid/apache-document-root/main/area-model-common/js/game/view/GameAreaDisplayNode.js 72:67 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/axon/js/Action.js 173:68 error Use the rest parameters instead of 'arguments' prefer-rest-params 211:19 error Use the rest parameters instead of 'arguments' prefer-rest-params 215:21 error Use the rest parameters instead of 'arguments' prefer-rest-params 222:22 error Use the spread operator instead of '.apply()' prefer-spread 222:54 error Use the rest parameters instead of 'arguments' prefer-rest-params 225:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 252:13 error Use the spread operator instead of '.apply()' prefer-spread 252:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/DerivedProperty.js 30:10 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/axon/js/Emitter.js 39:7 error Use the spread operator instead of '.apply()' prefer-spread 39:54 error Use the rest parameters instead of 'arguments' prefer-rest-params 64:32 error Use the rest parameters instead of 'arguments' prefer-rest-params 189:13 error Use the spread operator instead of '.apply()' prefer-spread 189:36 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/Multilink.js 46:11 error Use the spread operator instead of '.apply()' prefer-spread 61:7 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/axon/js/TinyEmitter.js 68:61 error Use the rest parameters instead of 'arguments' prefer-rest-params 86:9 error Use the spread operator instead of '.apply()' prefer-spread 86:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 100:55 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/createObservableArray.js 254:70 error Use the rest parameters instead of 'arguments' prefer-rest-params 263:72 error Use the rest parameters instead of 'arguments' prefer-rest-params 271:71 error Use the rest parameters instead of 'arguments' prefer-rest-params 274:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 281:74 error Use the rest parameters instead of 'arguments' prefer-rest-params 284:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 291:73 error Use the rest parameters instead of 'arguments' prefer-rest-params 295:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 304:77 error Use the rest parameters instead of 'arguments' prefer-rest-params 312:71 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/balancing-chemical-equations/js/common/model/Equation.js 124:38 error Expected to return a value at the end of arrow function consistent-return 129:36 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/balloons-and-static-electricity/js/balloons-and-static-electricity/model/BalloonModel.js 778:5 error Method 'dragBalloon' expected no return value consistent-return /Users/samreid/apache-document-root/main/beers-law-lab/js/beerslaw/view/BeersLawScreenView.js 85:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/build-a-molecule/js/common/model/CompleteMolecule.js 341:10 error Expected to return a value at the end of static method 'toString' consistent-return /Users/samreid/apache-document-root/main/build-an-atom/js/game/model/AtomValuePool.js 276:5 error Expected an error object to be thrown no-throw-literal /Users/samreid/apache-document-root/main/build-an-atom/js/game/model/BAAGameState.js 104:32 error Expected to return a value at the end of arrow function 'fromStateObject' consistent-return /Users/samreid/apache-document-root/main/calculus-grapher/js/common/view/GraphNode.js 23:53 error Default parameters should be last default-param-last /Users/samreid/apache-document-root/main/capacitor-lab-basics/js/common/model/Capacitor.js 104:51 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/chipper/js/common/extractDocumentation.js 510:7 error Function 'parseInherit' expected no return value consistent-return /Users/samreid/apache-document-root/main/chipper/js/grunt/createMipmap.js 208:50 error 'maxLevel' is not modified in this loop no-unmodified-loop-condition /Users/samreid/apache-document-root/main/chipper/js/grunt/migrate.js 459:3 error Nested block is redundant no-lone-blocks 494:3 error Nested block is redundant no-lone-blocks 512:3 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/chipper/js/phet-io/generatePhetioMacroAPI.js 89:39 error Expected to return a value at the end of async arrow function consistent-return /Users/samreid/apache-document-root/main/circuit-construction-kit-common/js/model/ModifiedNodalAnalysisCircuit.js 66:3 error Expected to return a value at the end of method 'toString' consistent-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/model/BoatBasin.js 41:3 error Expected to return a value at the end of method 'isMassInside' consistent-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/model/Bottle.js 518:10 error Expected to return a value at the end of static method 'getYFromVolume' consistent-return 1164:47 error Array.prototype.map() expects a return value from arrow function array-callback-return 1165:45 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/dot/js/DelaunayTriangulation.js 1141:3 error Expected to return a value at the end of method 'getNextEdge' consistent-return 1162:3 error Expected to return a value at the end of method 'getPreviousEdge' consistent-return /Users/samreid/apache-document-root/main/dot/js/SingularValueDecomposition.js 313:17 error Block is redundant no-lone-blocks 338:17 error Block is redundant no-lone-blocks 427:17 error Block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/energy-forms-and-changes/js/common/model/RectangularThermalMovableModelElement.js 472:32 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/energy-skate-park/js/common/model/EnergySkateParkModel.js 69:3 error Use the spread operator instead of '.apply()' prefer-spread 69:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 72:3 error Use the spread operator instead of '.apply()' prefer-spread 72:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 1449:3 error Expected to return a value at the end of method 'stepModel' consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/common/model/Units.js 46:3 error Expected to return a value at the end of method 'getPressureString' consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/common/view/SensorToolbox.js 174:32 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/flow/model/Pipe.js 247:3 error Expected to return a value at the end of method 'getPipePositionBefore' consistent-return 273:3 error Expected to return a value at the end of method 'getPipePositionAfter' consistent-return /Users/samreid/apache-document-root/main/fractions-common/js/building/view/ShapeGroupStackNode.js 21:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/fractions-common/js/common/model/Primes.js 43:5 error Unexpected labeled statement no-labels 54:13 error Unexpected label in continue statement no-labels /Users/samreid/apache-document-root/main/fractions-common/js/game/model/FractionChallenge.js 567:14 error Expected to return a value at the end of function 'findSolution' consistent-return /Users/samreid/apache-document-root/main/fractions-common/js/lab/model/BuildingLabModel.js 56:33 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/friction/js/friction/model/FrictionModel.js 126:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/function-builder/js/mystery/model/MysteryScene.js 241:23 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/gene-expression-essentials/js/common/model/DnaMolecule.js 792:30 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory1.js 87:5 error Nested block is redundant no-lone-blocks 111:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory2.js 86:5 error Nested block is redundant no-lone-blocks 109:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory4.js 113:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/pointslope/view/PointSlopeEquationNode.js 409:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/slope/view/SlopeEquationNode.js 162:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/slopeintercept/view/SlopeInterceptEquationNode.js 382:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/gravity-force-lab-basics/js/view/describers/GFLBPositionDescriber.js 53:3 error Expected to return a value at the end of method 'getDistanceIndex' consistent-return /Users/samreid/apache-document-root/main/gravity-force-lab/js/view/describers/GravityForceLabRulerDescriber.js 193:3 error Expected to return a value at the end of method 'getVerticalRegionIndex' consistent-return /Users/samreid/apache-document-root/main/gravity-force-lab/js/view/describers/MassDescriber.js 395:45 error Expected to return a value at the end of arrow function consistent-return 435:52 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/interaction-dashboard/js/common/InteractionDashboardConstants.js 64:40 error Expected to return a value at the end of arrow function 'STUDENT_USE_TO_COLOR_MAP' consistent-return /Users/samreid/apache-document-root/main/interaction-dashboard/js/common/model/Session.js 241:33 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/isotopes-and-atomic-mass/js/mix-isotopes/model/IsotopeTestChamber.js 381:46 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/isotopes-and-atomic-mass/js/mix-isotopes/model/MixIsotopesModel.js 559:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/john-travoltage/js/john-travoltage/view/AppendageNode.js 595:30 error Expected to return a value at the end of arrow function consistent-return 637:38 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/kite/js/Shape.js 117:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/kite/js/ops/BoundsIntersection.js 179:7 error Unexpected labeled statement no-labels 187:15 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/kite/js/ops/Graph.js 169:5 error Use the spread operator instead of '.apply()' prefer-spread 472:7 error Unexpected labeled statement no-labels 507:21 error Unexpected label in break statement no-labels 686:7 error Unexpected labeled statement no-labels 708:15 error Unexpected label in break statement no-labels 799:7 error Unexpected labeled statement no-labels 848:15 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/least-squares-regression/js/least-squares-regression/view/LeastSquaresRegressionScreenView.js 326:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/mobius/js/ThreeIsometricNode.js 112:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/mobius/js/ThreeStage.js 263:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/molarity/js/molarity/view/describers/ConcentrationDescriber.js 252:88 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/molecule-shapes/js/common/view/MoleculeShapesScreenView.js 553:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/neuron/js/neuron/model/TraverseChannelAndFadeMotionStrategy.js 48:3 error Expected to return a value at the end of method 'move' consistent-return /Users/samreid/apache-document-root/main/number-line-integers/js/explore/model/temperatureDataSet.js 99:19 error Use the rest parameters instead of 'arguments' prefer-rest-params 100:19 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/number-play/js/lab/model/LabModel.js 48:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/ohms-law/js/ohms-law/view/OhmsLawDescriber.js 58:3 error Expected to return a value at the end of method 'getUnitForCurrent' consistent-return /Users/samreid/apache-document-root/main/perennial/js/build-server/pullMaster.js 14:33 error Expected to return a value at the end of async function 'pullMaster' consistent-return /Users/samreid/apache-document-root/main/perennial/js/build-server/taskWorker.js 41:36 error Expected to return a value at the end of async arrow function consistent-return 291:30 error Promise executor functions should not be async no-async-promise-executor /Users/samreid/apache-document-root/main/perennial/js/common/writePhetioHtaccess.js 25:33 error Expected to return a value at the end of async function 'writePhetioHtaccess' consistent-return /Users/samreid/apache-document-root/main/perennial/js/grunt/PDOMComparison.js 168:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phet-core/js/Poolable.js 64:32 error Use the spread operator instead of '.apply()' prefer-spread 99:37 error Use the rest parameters instead of 'arguments' prefer-rest-params 103:37 error Use the rest parameters instead of 'arguments' prefer-rest-params 106:26 error Use the spread operator instead of '.apply()' prefer-spread 106:58 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-core/js/arrayDifference.js 53:3 error Unexpected labeled statement no-labels 66:13 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/phet-core/js/dimensionForEach.js 52:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-core/js/dimensionMap.js 54:34 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-core/js/extend.js 16:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-core/js/extendDefined.js 16:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/forces-and-motion-basics/forces-and-motion-basics.js 489:9 error Expected to return a value at the end of function consistent-return /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/experiment.js 334:12 error Expected to return a value at the end of function 'createIdea' consistent-return /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/Client.js 454:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-io-wrappers/js/tests/CrossFrameMessageTests.js 107:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/Session.js 354:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phet-io/js/phetioCommandProcessor.js 74:47 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phetcommon/js/analytics/google-analytics.js 106:45 error Use the rest parameters instead of 'arguments' prefer-rest-params 107:8 error Unexpected use of comma operator no-sequences 108:31 error Unexpected use of comma operator no-sequences /Users/samreid/apache-document-root/main/phetcommon/js/util/StringUtils.js 33:18 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/projectile-motion/js/common/model/ProjectileObjectType.js 119:43 error Array.prototype.map() expects a return value from arrow function array-callback-return 125:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/projectile-motion/js/common/model/Trajectory.js 477:43 error Array.prototype.map() expects a return value from arrow function array-callback-return 483:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/ratio-and-proportion/js/common/model/RAPModel.js 231:3 error Expected to return a value at the end of method 'getIdealValueForTerm' consistent-return /Users/samreid/apache-document-root/main/ratio-and-proportion/js/common/model/RAPRatioTuple.js 107:3 error Expected to return a value at the end of method 'getForTerm' consistent-return /Users/samreid/apache-document-root/main/reactants-products-and-leftovers/js/game/view/ChallengeNode.js 104:14 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/resistance-in-a-wire/js/resistance-in-a-wire/ResistanceInAWireConstants.js 197:3 error Expected to return a value at the end of method 'getValueDescriptionFromMap' consistent-return /Users/samreid/apache-document-root/main/resistance-in-a-wire/js/resistance-in-a-wire/view/FormulaNode.js 266:50 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/rosetta/js/ensureValidSession.js 45:16 error Expected to return a value at the end of async function 'getUserData' consistent-return 124:16 error Expected to return a value at the end of async function 'ensureValidSession' consistent-return /Users/samreid/apache-document-root/main/rosetta/js/getRosettaConfig.js 54:10 error Expected to return a value at the end of function 'readAndParseConfig' consistent-return /Users/samreid/apache-document-root/main/rosetta/js/localeInfo.js 45:5 error Possible race condition: `localeInfoObject` might be reassigned based on an outdated value of `localeInfoObject` require-atomic-updates 101:5 error Possible race condition: `inProgressFileRetrievalPromise` might be reassigned based on an outdated value of `inProgressFileRetrievalPromise` require-atomic-updates /Users/samreid/apache-document-root/main/rosetta/js/routeHandlers.js 394:3 error Possible race condition: `const projectName` might be reassigned based on an outdated value of `const projectName` require-atomic-updates /Users/samreid/apache-document-root/main/rosetta/js/simData.js 118:7 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates 139:7 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates 145:5 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates /Users/samreid/apache-document-root/main/scenery-phet/js/FaucetNode.js 153:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/scenery-phet/js/accessibility/describers/MovementDescriber.js 188:35 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/scenery/js/accessibility/pdom/PDOMInstance.js 374:7 error Unexpected labeled statement no-labels 383:15 error Unexpected label in continue statement no-labels /Users/samreid/apache-document-root/main/scenery/js/accessibility/pdom/PDOMPeer.js 451:3 error Expected to return a value at the end of method 'getElementByName' consistent-return /Users/samreid/apache-document-root/main/scenery/js/display/Display.js 1565:7 error Function 'blockSummary' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/Rectangle.js 282:5 error Method 'setRect' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/RichText.js 1705:7 error Method 'addElement' expected no return value consistent-return 1728:7 error Method 'addElement' expected no return value consistent-return 1730:5 error Method 'addElement' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/Text.js 854:7 error Function 'simplify' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/CanvasNodeBoundsOverlay.js 29:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/HitAreaOverlay.js 29:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/PointerAreaOverlay.js 28:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/scenery.js 47:43 error Use the spread operator instead of '.apply()' prefer-spread 47:113 error Use the rest parameters instead of 'arguments' prefer-rest-params 112:45 error Use the spread operator instead of '.apply()' prefer-spread 112:115 error Use the rest parameters instead of 'arguments' prefer-rest-params 563:16 error Expected to return a value at the end of method 'deserialize' consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/SpriteImage.js 83:3 error Expected to return a value at the end of method 'getShape' consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/Trail.js 1039:41 error Expected to return a value at the end of arrow function consistent-return 1071:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/TrailPointer.js 294:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/TrailTests.js 232:118 error Expected to return a value at the end of arrow function consistent-return 245:43 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/studio/js/PhetioElementView.js 384:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/studio/js/TreeNode.js 119:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/studio/js/studio.js 144:55 error Expected to return a value at the end of arrow function consistent-return 279:34 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/sun/js/buttons/ButtonModel.js 169:51 error Use the rest parameters instead of 'arguments' prefer-rest-params 178:48 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/tambo/js/soundManager.js 379:3 error Expected to return a value at the end of method 'removeSoundGenerator' consistent-return 425:3 error Expected to return a value at the end of method 'setMasterOutputLevel' consistent-return 469:3 error Expected to return a value at the end of method 'setOutputLevelForCategory' consistent-return 514:3 error Expected to return a value at the end of method 'setReverbLevel' consistent-return /Users/samreid/apache-document-root/main/tandem/js/types/OrIO.js 49:31 error Expected to return a value at the end of arrow function 'toStateObject' consistent-return /Users/samreid/apache-document-root/main/vector-addition/js/common/view/VectorValuesNumberDisplay.js 119:3 error Expected to return a value at the end of method 'getNumberDisplayValue' consistent-return /Users/samreid/apache-document-root/main/weddell/js/utils/notarize.js 22:3 error Async function 'notarizing' expected no return value consistent-return /Users/samreid/apache-document-root/main/wilder/js/wilder/model/WilderModel.js 53:24 error Array.prototype.map() expects a return value from arrow function array-callback-return ✖ 197 problems (197 errors, 0 warnings) Warning: 197 errors and 0 warnings Use --force to continue. Aborted due to warnings. ```
zepumph commented 3 years ago

I removed the TODO next to the indent rule, as we experimented with it in our format rules, and I do not think it will make the cut. After that there are only 112 errors in RaP when I turn on all rules that look like 'off', // TODO in the eslintrc file. I'll keep investigating.

zepumph commented 3 years ago

After turning off sort-imports, ratio and proportion only has 2 lint errors. Wahoo!

pixelzoom commented 3 years ago

Very close to 100% of the auto-fixes made to my sim were for the prefer-template rule, which prefers string templates over string concatenation. I have been using templates where appropriate since that feature because available. So most of the auto-fixes are in code that pre-dated the availablity of the JS string template feature. Most are nice improvements, so I think turning this rule on (even if it was only temporarily) was beneficial.

An example of what I consider a "good fix" is https://github.com/phetsims/acid-base-solutions/commit/45c8579524c5ec5bc1a186e3926dd81822a304db:

- this.addChild( new RichText( '10<sup>' + ( i - 8 ) + '</sup>', {
+ this.addChild( new RichText( `10<sup>${i - 8}</sup>`, {

But there are some auto-fixes that are questionable -- a tiny step in the wrong direction imo. For example, when adding a prefix or suffix to an existing string, I feel that concentation is clearer, and the template syntax is less clear and unnecessarily verbose. For example https://github.com/phetsims/ph-scale/commit/961c54d3dfc23e020f519fc23721f572731a008b:

- tandemName: solute.tandemName + 'Item' // Item suffix is required by ComboBoxItem
+ tandemName: `${solute.tandemName}Item` // Item suffix is required by ComboBoxItem

Templates and concatenation are both useful, valid options. I don't like having a rule that takes one of those options away from me. If programmers don't know when to use a tool (in this case concatenation), the solution is not to take the tool away. I'm happy to go with whatever PhET decides, but I'd like to discuss, so that banning concatenation is a consensus. My vote would be to turn off the prefer-template rule.

samreid commented 3 years ago

Regarding prefer-template, I don't feel too strongly, but I agree the vast majority of changes from applying that auto-fix were improvements. Personally I don't see solute.tandemName + 'Item' as a significant improvement over ${solute.tandemName}Item, but I'm happy to go with whatever the team consensus is. Or if these cases are rare enough, we could enable the rule and require exceptions to use // eslint-disable-line prefer-template.

zepumph commented 3 years ago

There are many lint errors on CT because CT doesn't pull aqua. @jonathanolson and I pulled aqua on bayes, and things should clear up now.

samreid commented 3 years ago

Thanks! I pulled aqua on CT earlier but forgot to do it a second time. I appreciate it.

zepumph commented 3 years ago

I looked over the remaining rules, and here are my votes about them:

Either way:

Want:

Don't want:

jonathanolson commented 3 years ago

Briefly scanned the proposed rules, everything looked generally good.

zepumph commented 3 years ago

Summary of decision and discussion from the above, hidden comments (since there are currently 268 hidden comments)

image

Do we use concatenation rarely enough that intentional uses can opt out of the rule with // eslint-disable-line prefer-template? I wonder if we will get better at just learning to use templates in the first place.

@zepumph said in his comment in with the below block https://github.com/phetsims/chipper/issues/814#issuecomment-797688106.

Either way:

  • 'array-callback-return'
  • 'consistent-return'
  • 'no-labels' - I've never used them, and never will
  • 'no-return-await'
  • 'require-unicode-regexp', but also kinda don't want, because why? And it isn't easy to batch fix current usages.
  • strict - I don't think it matters where, but I also would rather not add this if I were the one that had to fix usages.
  • 'prefer-rest-params' - this feels like a logic change in how I code. I would be fine adopting it, but it seems less style, and more opinionated than some of the other rules.
  • 'prefer-spread' - I don't care, whatever people want.

Want:

  • no-async-promise-executor
  • 'require-atomic-updates'
  • 'default-param-last' What about a default param right before options though, do we allow that?
  • 'no-constructor-return'
  • 'no-lone-blocks' - generally seems like it wouldn't pass code review.
  • 'no-sequences'
  • 'no-throw-literal'
  • 'no-unmodified-loop-condition'
  • 'prefer-promise-reject-errors' This would help me write better Node code.
  • 'require-await'

@jonathanolson responded to this and the whole issue "Briefly scanned the proposed rules, everything looked generally good."

UPDATE: See below for a threaded comment:

samreid commented 3 years ago

This issue adds a section for each remaining rule, and can be used for threading the conversation. Please feel free to update this comment with your notes. I'll add comments from the previous rule.

array-callback-return - 14 fails https://github.com/phetsims/chipper/issues/1030

MK: I could go either way on this. SR: I recommend enabling this rule. It seems easy to fix, and the existing occurrences look buggy. Dev team: Yes!

consistent-return - 77 fails https://github.com/phetsims/chipper/issues/1033

MK: I could go either way on this. SR: I recommend enabling this rule. The existing occurrences look buggy. Dev team: Yes, assuming this doesn't affect cases where no return value was expected

default-param-last - 1 fail

MK: I recommend we adopt this rule. What about a default param right before options though, do we allow that? SR: I recommend enabling this rule. The existing occurrence looks buggy. Dev team: Yes

no-async-promise-executor - 3 fails

MK: I recommend we adopt this rule. SR: I also recommend enabling this rule. Dev team: Yes

no-constructor-return - 10 fails

MK: I recommend we adopt this rule. SR: Me too! Dev team: Yes

no-labels - 14 fails

MK: I could go either way on this--I've never used them, and never will. SR: I think we should forbid labels. If there are few spots that require them, they can opt out of the rule for that line. Dev team: Yes, and disable eslint by line where needed

no-lone-blocks - 17 fails

MK: I recommend we adopt this rule. generally seems like it wouldn't pass code review. SR: This seems like it warrants discussion--I know we used this pattern more in Java. I don't really like the pattern but maybe others think it's effective? Dev team: Deferring, created a new issue to discuss further: https://github.com/phetsims/chipper/issues/1026

no-return-await - 19 fails

MK: I could go either way on this SR: It seems like we should turn this off for clarity. Dev team: Yes, because it is generally safe to remove the return from the await

no-sequences - 2 fails

MK: I recommend we adopt this rule. SR: Sequences are confusing and non-idiomatic, they should be forbidden. Dev team: Yes

no-throw-literal - 1 fail

MK: I recommend we adopt this rule. SR: This looks buggy, it should be fixed. Dev team: Yes

no-unmodified-loop-condition - 1 fail

MK: I recommend we adopt this rule. SR: This looks buggy, it should be fixed. Dev team: Yes

prefer-promise-reject-errors - 14 fails

MK: I recommend we adopt this rule. This would help me write better Node code. SR: I recommend we adopt this rule. Dev team: Yes

prefer-rest-params - 39 fails

MK: I could go either way on this. this feels like a logic change in how I code. I would be fine adopting it, but it seems less style, and more opinionated than some of the other rules. SR: I'm not really sure, would like to look at examples and discuss with the team. Dev team: Yes, but with the option to opt out if there is a performance concern

prefer-spread - 20 fails

MK: I could go either way on this. I don't care, whatever people want. SR: I'm not really sure, would like to look at examples and discuss with the team. Dev team: Yes

prefer-template - 0 fails

We, as a team are very ambivalent about this one, @pixelzoom comments in https://github.com/phetsims/chipper/issues/814#issuecomment-797688106. Pretty much people prefer templates most of the time, but also don't love being pigeon-holed by this. We will pick up discussion next time. SR: I don't feel strongly one way or the other about this rule, but my experience has been that I am trained reflexively to use concatenation even when it's sub-optimal. I was also encouraged that this can be fixed either with grunt lint --fix or with the IDE with 2 keystrokes:

image

Do we use concatenation rarely enough that intentional uses can opt out of the rule with // eslint-disable-line prefer-template? I wonder if we will get better at just learning to use templates in the first place.

Dev team: We would like to wait for @pixelzoom and discuss in a new issue, see https://github.com/phetsims/chipper/issues/1027

require-atomic-updates - 6 fails

MK: I recommend we adopt this rule. SR: This seems like it could help us catch potential latent bugs, we should enable the rule. Dev team: Yes, we will have to disable a few lines in Rosetta and make an issue until @jbphet and @liam-mulhall can investigate

require-await - 52 fails

MK: I recommend we adopt this rule. SR: This seems like it could help us catch potential latent bugs, we should enable the rule. Dev team: No, because async functions that don't use await would fail, and @jonathanolson showed examples of this being a convenient case to allow. We opened a new issue for discussion, see

require-unicode-regexp - 272 fails or so.

MK: I could go either way on this. but also kinda don't want, because why? And it isn't easy to batch fix current usages. SR: What is the reason this rule exists? Dev team: Yes. Mildly nice to have, but autofix can't handle these, so this will be an effort to fix. New issue here: https://github.com/phetsims/chipper/issues/1029

strict - 336 fails or so

MK: I could go either way on this. I don't think it matters where, but I also would rather not add this if I were the one that had to fix usages. SR: I'm not sure how this rule helps, but I think it has autofix, so maybe just turn it on and forget about it? Dev team: Yes, we'll use autofix

samreid commented 3 years ago

Here is the output from linting with those rules all turned on:

``` ~/apache-document-root/main/perennial$ grunt lint-everything --disable-eslint-cache Running "lint-everything" task /Users/samreid/apache-document-root/main/aqua/Gruntfile.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/Gruntfile.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/client.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/no-test.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/pageload-test.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/qunit-test.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/sim-test.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/client/wrapper-test.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/continuous-loop.js 15:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/local/fuzzOneSim.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/local/puppeteerHelpCT.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/local/puppeteerPage.js 3:1 error 'use strict' is unnecessary inside of modules strict 7:23 error Promise executor functions should not be async no-async-promise-executor 26:33 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/aqua/js/local/puppeteerQUnit.js 5:1 error 'use strict' is unnecessary inside of modules strict 9:23 error Promise executor functions should not be async no-async-promise-executor 62:62 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/aqua/js/local/unitTestBatch.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/pageload-connector.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/server/ContinuousServer.js 9:1 error 'use strict' is unnecessary inside of modules strict 498:18 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/aqua/js/server/Snapshot.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/server/Test.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/server/TestResult.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/snapshot-comparison.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/js/take-snapshot.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/test-server/test-server.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/aqua/test-server/test-sims.js 5:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/area-model-common/js/game/view/GameAreaDisplayNode.js 72:67 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/assert/js/assert.js 8:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/axon/js/Action.js 173:68 error Use the rest parameters instead of 'arguments' prefer-rest-params 211:19 error Use the rest parameters instead of 'arguments' prefer-rest-params 215:21 error Use the rest parameters instead of 'arguments' prefer-rest-params 222:22 error Use the spread operator instead of '.apply()' prefer-spread 222:54 error Use the rest parameters instead of 'arguments' prefer-rest-params 225:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 252:13 error Use the spread operator instead of '.apply()' prefer-spread 252:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/DerivedProperty.js 30:10 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/axon/js/Emitter.js 39:7 error Use the spread operator instead of '.apply()' prefer-spread 39:54 error Use the rest parameters instead of 'arguments' prefer-rest-params 64:32 error Use the rest parameters instead of 'arguments' prefer-rest-params 189:13 error Use the spread operator instead of '.apply()' prefer-spread 189:36 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/Multilink.js 46:11 error Use the spread operator instead of '.apply()' prefer-spread 61:7 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/axon/js/TinyEmitter.js 68:61 error Use the rest parameters instead of 'arguments' prefer-rest-params 86:9 error Use the spread operator instead of '.apply()' prefer-spread 86:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 100:55 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/axon/js/createObservableArray.js 254:70 error Use the rest parameters instead of 'arguments' prefer-rest-params 263:72 error Use the rest parameters instead of 'arguments' prefer-rest-params 271:71 error Use the rest parameters instead of 'arguments' prefer-rest-params 274:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 281:74 error Use the rest parameters instead of 'arguments' prefer-rest-params 284:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 291:73 error Use the rest parameters instead of 'arguments' prefer-rest-params 295:38 error Use the rest parameters instead of 'arguments' prefer-rest-params 304:77 error Use the rest parameters instead of 'arguments' prefer-rest-params 312:71 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/balancing-chemical-equations/js/common/model/Equation.js 124:38 error Expected to return a value at the end of arrow function consistent-return 129:36 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/balloons-and-static-electricity/js/balloons-and-static-electricity/model/BalloonModel.js 778:5 error Method 'dragBalloon' expected no return value consistent-return /Users/samreid/apache-document-root/main/beers-law-lab/js/beerslaw/view/BeersLawScreenView.js 85:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/binder/js/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/binder/js/createHTMLString.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/binder/js/generate.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/binder/js/getFromSimInMaster.js 20:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/binder/js/getMarkdownFileAsHTML.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/binder/js/serverTest.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/build-a-molecule/js/common/model/CompleteMolecule.js 341:10 error Expected to return a value at the end of static method 'toString' consistent-return /Users/samreid/apache-document-root/main/build-an-atom/js/game/model/AtomValuePool.js 276:5 error Expected an error object to be thrown no-throw-literal /Users/samreid/apache-document-root/main/build-an-atom/js/game/model/BAAGameState.js 104:32 error Expected to return a value at the end of arrow function 'fromStateObject' consistent-return /Users/samreid/apache-document-root/main/calculus-grapher/js/common/view/GraphNode.js 23:53 error Default parameters should be last default-param-last /Users/samreid/apache-document-root/main/capacitor-lab-basics/js/common/model/Capacitor.js 104:51 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/chipper/eslint/.eslintrc.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/format_eslintrc.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/node_eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/bad-sim-text.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/bad-text.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/copyright.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/dispose.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/enumeration-casing.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/getBadTextTester.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/namespace-match.js 43:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/no-html-constructors.js 20:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/no-instanceof-array.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/no-multi-assign-on-declaration.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/no-property-in-require-statement.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/phet-io-require-contains-ifphetio.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/phet-object-shorthand.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/property-visibility-annotation.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/require-statement-match.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/single-line-import.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/todo-should-have-issue.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/rules/visibility-annotation.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/eslint/sim_eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/SimVersion.js 47:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/ChipperConstants.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/ChipperStringUtilTests.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/ChipperStringUtils.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/documentationToHTML.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/extractDocumentation.js 11:1 error 'use strict' is unnecessary inside of modules strict 510:7 error Function 'parseInherit' expected no return value consistent-return /Users/samreid/apache-document-root/main/chipper/js/common/getLicenseEntry.js 22:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/loadFileAsDataURI.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/common/mipmapDownscale.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/data/localeInfo.js 25:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/Gruntfile.js 9:1 error 'use strict' is unnecessary inside of modules strict 114:24 error Async arrow function has no 'await' expression require-await 319:24 error Async arrow function has no 'await' expression require-await 326:24 error Async arrow function has no 'await' expression require-await 338:24 error Async arrow function has no 'await' expression require-await 382:24 error Async arrow function has no 'await' expression require-await 388:24 error Async arrow function has no 'await' expression require-await 392:185 error Async arrow function has no 'await' expression require-await 450:27 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/chipper/js/grunt/buildRunnable.js 9:1 error 'use strict' is unnecessary inside of modules strict 81:12 error Redundant use of `await` on a return value no-return-await 201:56 error Async arrow function has no 'await' expression require-await 209:51 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/chipper/js/grunt/buildStandalone.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/checkNodeVersion.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/commitsSince.js 17:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/copyDirectory.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/copySupplementalPhetioFiles.js 11:1 error 'use strict' is unnecessary inside of modules strict 355:65 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/chipper/js/grunt/createMipmap.js 3:1 error 'use strict' is unnecessary inside of modules strict 208:50 error 'maxLevel' is not modified in this loop no-unmodified-loop-condition /Users/samreid/apache-document-root/main/chipper/js/grunt/execute.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/fixEOL.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateA11yViewHTML.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateDevelopmentColorsHTML.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateDevelopmentHTML.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateREADME.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateTestHTML.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateThumbnails.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/generateTwitterCard.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getA11yViewHTMLFromTemplate.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getAllThirdPartyEntries.js 7:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getDependencies.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getInitializationScript.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getLicenseKeys.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getLocalesFromRepository.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getPhetLibs.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getPreloads.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getStringMap.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getStringRepos.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getThirdPartyLibEntries.js 13:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/getTitleStringKey.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/lint.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/migrate.js 10:1 error 'use strict' is unnecessary inside of modules strict 57:39 error Async arrow function has no 'await' expression require-await 64:58 error Async arrow function has no 'await' expression require-await 125:60 error Async arrow function has no 'await' expression require-await 459:3 error Nested block is redundant no-lone-blocks 494:3 error Nested block is redundant no-lone-blocks 512:3 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/chipper/js/grunt/minify.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/modulify.js 9:1 error 'use strict' is unnecessary inside of modules strict 64:37 error Async arrow function has no 'await' expression require-await 270:82 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/chipper/js/grunt/packageRunnable.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/packageXHTML.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/reportMedia.js 22:1 error 'use strict' is unnecessary inside of modules strict 34:29 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/chipper/js/grunt/reportThirdParty.js 21:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/reportUnusedMedia.js 18:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/reportUnusedStrings.js 15:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/sortImports.js 14:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/transpile.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/updateCopyrightDate.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/updateCopyrightDates.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/webpackBuild.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/grunt/webpackDevServer.js 7:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/ie-detection.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/initialize-globals.js 33:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/phet-io/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/phet-io/formatPhetioAPI.js 13:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/phet-io/generatePhetioMacroAPI.js 10:1 error 'use strict' is unnecessary inside of modules strict 89:39 error Expected to return a value at the end of async arrow function consistent-return /Users/samreid/apache-document-root/main/chipper/js/phet-io/phetioCompareAPIs.js 17:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/scripts/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/scripts/print-dependencies.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/js/sim-tests/qunit-connector.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/test/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/test/chainsBuildTest.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/test/generalTests.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/chipper/test/generationTest.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/circuit-construction-kit-common/js/model/ModifiedNodalAnalysisCircuit.js 66:3 error Expected to return a value at the end of method 'toString' consistent-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/model/BoatBasin.js 41:3 error Expected to return a value at the end of method 'isMassInside' consistent-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/model/Bottle.js 518:10 error Expected to return a value at the end of static method 'getYFromVolume' consistent-return 1164:47 error Array.prototype.map() expects a return value from arrow function array-callback-return 1165:45 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/view/BuoyancyApplicationsScreenView.js 57:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/view/BuoyancyExploreScreenView.js 48:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/view/BuoyancyIntroScreenView.js 45:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/buoyancy/view/BuoyancyShapesScreenView.js 46:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/common/view/Demo3DScreenView.js 35:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.js 91:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/density/view/DensityCompareScreenView.js 41:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/density/view/DensityIntroScreenView.js 37:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/js/density/view/DensityMysteryScreenView.js 46:7 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/density-buoyancy-common/resize.js 33:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/dot/Gruntfile.js 19:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/dot/js/DelaunayTriangulation.js 1141:3 error Expected to return a value at the end of method 'getNextEdge' consistent-return 1162:3 error Expected to return a value at the end of method 'getPreviousEdge' consistent-return /Users/samreid/apache-document-root/main/dot/js/SingularValueDecomposition.js 313:17 error Block is redundant no-lone-blocks 338:17 error Block is redundant no-lone-blocks 427:17 error Block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/energy-forms-and-changes/js/common/model/RectangularThermalMovableModelElement.js 472:32 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/energy-skate-park/js/common/model/EnergySkateParkModel.js 69:3 error Use the spread operator instead of '.apply()' prefer-spread 69:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 72:3 error Use the spread operator instead of '.apply()' prefer-spread 72:31 error Use the rest parameters instead of 'arguments' prefer-rest-params 1449:3 error Expected to return a value at the end of method 'stepModel' consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/common/model/Units.js 46:3 error Expected to return a value at the end of method 'getPressureString' consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/common/view/SensorToolbox.js 174:32 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/fluid-pressure-and-flow/js/flow/model/Pipe.js 247:3 error Expected to return a value at the end of method 'getPipePositionBefore' consistent-return 273:3 error Expected to return a value at the end of method 'getPipePositionAfter' consistent-return /Users/samreid/apache-document-root/main/fractions-common/js/building/view/ShapeGroupStackNode.js 21:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/fractions-common/js/common/model/Primes.js 43:5 error Unexpected labeled statement no-labels 54:13 error Unexpected label in continue statement no-labels /Users/samreid/apache-document-root/main/fractions-common/js/game/model/FractionChallenge.js 567:14 error Expected to return a value at the end of function 'findSolution' consistent-return /Users/samreid/apache-document-root/main/fractions-common/js/lab/model/BuildingLabModel.js 56:33 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/friction/js/friction/model/FrictionModel.js 126:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/function-builder/js/mystery/model/MysteryScene.js 241:23 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/gene-expression-essentials/js/common/model/DnaMolecule.js 792:30 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory1.js 87:5 error Nested block is redundant no-lone-blocks 111:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory2.js 86:5 error Nested block is redundant no-lone-blocks 109:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/linegame/model/ChallengeFactory4.js 113:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/pointslope/view/PointSlopeEquationNode.js 409:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/slope/view/SlopeEquationNode.js 162:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/graphing-lines/js/slopeintercept/view/SlopeInterceptEquationNode.js 382:7 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/gravity-force-lab-basics/js/view/describers/GFLBPositionDescriber.js 53:3 error Expected to return a value at the end of method 'getDistanceIndex' consistent-return /Users/samreid/apache-document-root/main/gravity-force-lab/js/view/describers/GravityForceLabRulerDescriber.js 193:3 error Expected to return a value at the end of method 'getVerticalRegionIndex' consistent-return /Users/samreid/apache-document-root/main/gravity-force-lab/js/view/describers/MassDescriber.js 395:45 error Expected to return a value at the end of arrow function consistent-return 435:52 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/interaction-dashboard/js/common/InteractionDashboardConstants.js 64:40 error Expected to return a value at the end of arrow function 'STUDENT_USE_TO_COLOR_MAP' consistent-return /Users/samreid/apache-document-root/main/interaction-dashboard/js/common/model/Session.js 241:33 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/isotopes-and-atomic-mass/js/mix-isotopes/model/IsotopeTestChamber.js 381:46 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/isotopes-and-atomic-mass/js/mix-isotopes/model/MixIsotopesModel.js 559:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/john-travoltage/js/john-travoltage/view/AppendageNode.js 595:30 error Expected to return a value at the end of arrow function consistent-return 637:38 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/joist/js/TemporalCounterTests.js 13:52 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/joist/js/selectScreensTests.js 66:49 error Async arrow function has no 'await' expression require-await 232:51 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/joist/js/splash.js 9:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/kite/Gruntfile.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/kite/js/Shape.js 117:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/kite/js/ops/BoundsIntersection.js 179:7 error Unexpected labeled statement no-labels 187:15 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/kite/js/ops/Graph.js 169:5 error Use the spread operator instead of '.apply()' prefer-spread 472:7 error Unexpected labeled statement no-labels 507:21 error Unexpected label in break statement no-labels 686:7 error Unexpected labeled statement no-labels 708:15 error Unexpected label in break statement no-labels 799:7 error Unexpected labeled statement no-labels 848:15 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/least-squares-regression/js/least-squares-regression/view/LeastSquaresRegressionScreenView.js 326:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/mobius/js/ThreeIsometricNode.js 112:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/mobius/js/ThreeStage.js 263:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/molarity/js/molarity/view/describers/ConcentrationDescriber.js 252:88 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/molecule-shapes/js/common/view/MoleculeShapesScreenView.js 553:3 error Expected to return a value at the end of method 'layout' consistent-return /Users/samreid/apache-document-root/main/neuron/js/neuron/model/TraverseChannelAndFadeMotionStrategy.js 48:3 error Expected to return a value at the end of method 'move' consistent-return /Users/samreid/apache-document-root/main/number-line-integers/assets/scripts/unpack-t2m-temperatures.js 19305:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/number-line-integers/js/explore/model/temperatureDataSet.js 99:19 error Use the rest parameters instead of 'arguments' prefer-rest-params 100:19 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/number-play/js/lab/model/LabModel.js 48:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/ohms-law/js/ohms-law/view/OhmsLawDescriber.js 58:3 error Expected to return a value at the end of method 'getUnitForCurrent' consistent-return /Users/samreid/apache-document-root/main/perennial/Gruntfile.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/addTranslator.js 3:1 error 'use strict' is unnecessary inside of modules strict 16:18 error Async function 'addTranslator' has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/build-server/build-server.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/constants.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/copyFile.js 3:1 error 'use strict' is unnecessary inside of modules strict 7:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/build-server/createTranslationsXML.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/deployImages.js 75:12 error Redundant use of `await` on a return value no-return-await 89:13 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/build-server/devDeploy.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/getBuildServerConfig.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/getLocales.js 3:1 error 'use strict' is unnecessary inside of modules strict 11:1 error Async function 'getJsonFromXML' has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/build-server/getSortedVersionDirectories.js 3:1 error 'use strict' is unnecessary inside of modules strict 18:18 error Async function 'getSortedVersionDirectories' has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/build-server/log.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/logRequest.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/notifyServer.js 3:1 error 'use strict' is unnecessary inside of modules strict 24:18 error Async function 'notifyServer' has no 'await' expression require-await 93:18 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 107:20 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 119:12 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/build-server/pullMaster.js 3:1 error 'use strict' is unnecessary inside of modules strict 14:33 error Expected to return a value at the end of async function 'pullMaster' consistent-return 30:12 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 41:14 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 53:12 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/build-server/sendEmail.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/build-server/taskWorker.js 3:1 error 'use strict' is unnecessary inside of modules strict 35:10 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 41:36 error Expected to return a value at the end of async arrow function consistent-return 291:30 error Promise executor functions should not be async no-async-promise-executor /Users/samreid/apache-document-root/main/perennial/js/build-server/writePhetHtaccess.js 3:1 error 'use strict' is unnecessary inside of modules strict 15:18 error Async function 'writePhetHtaccess' has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/ChipperVersion.js 7:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/Maintenance.js 9:1 error 'use strict' is unnecessary inside of modules strict 164:5 error Static async method 'list' has no 'await' expression require-await 266:5 error Static async method 'createPatch' has no 'await' expression require-await 291:5 error Static async method 'removePatch' has no 'await' expression require-await 317:5 error Static async method 'addPatchSHA' has no 'await' expression require-await 337:5 error Static async method 'removePatchSHA' has no 'await' expression require-await 380:5 error Static async method 'addNeededPatchReleaseBranch' has no 'await' expression require-await 435:63 error Async arrow function has no 'await' expression require-await 450:16 error Redundant use of `await` on a return value no-return-await 466:16 error Redundant use of `await` on a return value no-return-await 491:16 error Redundant use of `await` on a return value no-return-await 567:16 error Redundant use of `await` on a return value no-return-await 583:16 error Redundant use of `await` on a return value no-return-await 905:67 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/ModifiedBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict 192:14 error Redundant use of `await` on a return value no-return-await 208:14 error Redundant use of `await` on a return value no-return-await 229:14 error Redundant use of `await` on a return value no-return-await 337:14 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/common/Patch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/ReleaseBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/SimVersion.js 47:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/asyncFilter.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/asyncForEach.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/asyncMap.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/booleanPrompt.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/brandToSuffix.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/build.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/buildLocal.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/buildServerRequest.js 9:1 error 'use strict' is unnecessary inside of modules strict 27:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/checkoutDependencies.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/checkoutMaster.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/checkoutRelease.js 9:1 error 'use strict' is unnecessary inside of modules strict 36:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/common/checkoutTarget.js 9:1 error 'use strict' is unnecessary inside of modules strict 32:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/common/checkoutTimestamp.js 9:1 error 'use strict' is unnecessary inside of modules strict 39:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/common/cloneMissingRepos.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/cloneRepo.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/copyDirectory.js 9:1 error 'use strict' is unnecessary inside of modules strict 29:9 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/common/copyFile.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/createDirectory.js 9:1 error 'use strict' is unnecessary inside of modules strict 27:9 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/common/deleteDirectory.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/devAccessAvailable.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/devDirectoryExists.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/devScp.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/devSsh.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/execute.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getActiveRepos.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getActiveSims.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getBranches.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getDataFile.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getDependencies.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getMissingRepos.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getRemoteBranchSHAs.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getRepoList.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/getRepoVersion.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitAdd.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitCheckout.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitCherryPick.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitCommit.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitCreateBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitFromTimestamp.js 9:1 error 'use strict' is unnecessary inside of modules strict 31:14 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/common/gitIsAncestor.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitIsClean.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitLastCommitTimestamp.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitPull.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitPush.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gitRevParse.js 9:1 error 'use strict' is unnecessary inside of modules strict 28:14 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors 31:14 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/common/githubCreateIssue.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/gruntCommand.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/hasAncestorOnBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/hasRemoteBranch.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/isStale.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/lintAllRunnable.js 9:1 error 'use strict' is unnecessary inside of modules strict 23:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/loadJSON.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/npmCommand.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/npmUpdate.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/prompt.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/scp.js 9:1 error 'use strict' is unnecessary inside of modules strict 28:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/common/setRepoVersion.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/simMetadata.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/simPhetioMetadata.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/sleep.js 9:1 error 'use strict' is unnecessary inside of modules strict 18:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/ssh.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/updateDependenciesJSON.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/updateGithubPages.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/updateHTMLVersion.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/vpnCheck.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/writeFile.js 3:1 error 'use strict' is unnecessary inside of modules strict 8:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/common/writeJSON.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/common/writePhetioHtaccess.js 3:1 error 'use strict' is unnecessary inside of modules strict 25:33 error Expected to return a value at the end of async function 'writePhetioHtaccess' consistent-return 60:14 error Expected the Promise rejection reason to be an Error prefer-promise-reject-errors /Users/samreid/apache-document-root/main/perennial/js/grunt/Gruntfile.js 9:1 error 'use strict' is unnecessary inside of modules strict 157:24 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/grunt/PDOMComparison.js 20:1 error 'use strict' is unnecessary inside of modules strict 163:49 error Async arrow function has no 'await' expression require-await 168:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/perennial/js/grunt/checkNodeVersion.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/checkoutMasterAll.js 7:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/checkoutShas.js 7:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/cherryPick.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/createOneOff.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/createRelease.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/createSim.js 21:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/decaf/buildDecaf.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/decaf/deployDecaf.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/decaf/getPreloads.js 8:1 error 'use strict' is unnecessary inside of modules strict 12:28 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/grunt/deployImages.js 12:1 error 'use strict' is unnecessary inside of modules strict 27:18 error Async function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/grunt/dev.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/generateData.js 19:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/phetioAPIChangeCheck.js 16:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/printPhetioLinks.js 11:1 error 'use strict' is unnecessary inside of modules strict 70:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/perennial/js/grunt/production.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/rc.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/shaCheck.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/sortRequireStatements.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/grunt/wrapper.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/listContinuousTests.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/scripts/addMissingTranslationCredits.js 9:1 error 'use strict' is unnecessary inside of modules strict 83:59 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/perennial/js/scripts/repo-report.js 14:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/js/scripts/sim-list.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/perennial/test/perennialGruntTest.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-core/js/Poolable.js 64:32 error Use the spread operator instead of '.apply()' prefer-spread 99:37 error Use the rest parameters instead of 'arguments' prefer-rest-params 103:37 error Use the rest parameters instead of 'arguments' prefer-rest-params 106:26 error Use the spread operator instead of '.apply()' prefer-spread 106:58 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-core/js/arrayDifference.js 53:3 error Unexpected labeled statement no-labels 66:13 error Unexpected label in break statement no-labels /Users/samreid/apache-document-root/main/phet-core/js/dimensionForEach.js 52:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-core/js/dimensionMap.js 54:34 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-core/js/extend.js 16:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-core/js/extendDefined.js 16:39 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/forces-and-motion-basics/forces-and-motion-basics.js 5:3 error 'use strict' is unnecessary inside of modules strict 489:9 error Expected to return a value at the end of function consistent-return /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/apply.js 5:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/classroom-activity.js 10:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/drawReport.js 11:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/experiment.js 4:3 error 'use strict' is unnecessary inside of modules strict 334:12 error Expected to return a value at the end of function 'createIdea' consistent-return /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/explore.js 4:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/predict.js 4:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-classroom-activity/js/reflect.js 4:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-lab-book/js/beers-law-lab.js 5:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-lab-book/js/capacitor-lab-basics.js 5:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrapper-lab-book/js/lab-book.js 4:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/Client.js 43:3 error 'use strict' is unnecessary inside of modules strict 454:9 error Use the spread operator instead of '.apply()' prefer-spread /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/EngagementMetrics.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/EngagementMetricsChart.js 15:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/Recorder.js 23:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/Toast.js 35:3 error 'use strict' is unnecessary inside of modules strict 86:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/WrapperTypes.js 15:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/addBeforeUnloadListener.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/assert.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/dataTable.js 39:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/generateHtmlReport.js 17:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/handlePlaybackEvent.js 18:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/loadWrapperTemplate.js 32:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/readFile.js 7:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/saveFile.js 15:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/scatterPlot.js 16:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/common/js/voltageBar.js 18:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/diff/diff.js 31:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/index/index.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/js/tests/CrossFrameMessageTests.js 107:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phet-io-wrappers/login/crossCheckID.js 34:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/encryptNumberV1.js 20:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/login.js 7:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/validateAlphaNumeric.js 15:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/validateDigits.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/validateFSU.js 26:3 error 'use strict' is unnecessary inside of modules strict 74:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/login/validateFromList.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/PlaybackQueryParameters.js 12:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/Session.js 14:3 error 'use strict' is unnecessary inside of modules strict 354:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/generateEventGapReport.js 12:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/loadSessions.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/playSession.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/playback/js/playback.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io-wrappers/record/record.js 13:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phet-io/js/phetioCommandProcessor.js 74:47 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/phetcommon/js/analytics/google-analytics.js 13:3 error 'use strict' is unnecessary inside of modules strict 106:45 error Use the rest parameters instead of 'arguments' prefer-rest-params 107:8 error Unexpected use of comma operator no-sequences 108:31 error Unexpected use of comma operator no-sequences /Users/samreid/apache-document-root/main/phetcommon/js/util/StringUtils.js 33:18 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/phetmarks/js/phetmarks.js 33:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/phetmarks/phettest/phettest-server.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/projectile-motion/js/common/model/ProjectileObjectType.js 119:43 error Array.prototype.map() expects a return value from arrow function array-callback-return 125:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/projectile-motion/js/common/model/Trajectory.js 477:43 error Array.prototype.map() expects a return value from arrow function array-callback-return 483:42 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/query-string-machine/js/QueryStringMachine.js 16:3 error 'use strict' is unnecessary inside of modules strict 36:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/reactants-products-and-leftovers/js/game/view/ChallengeNode.js 104:14 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/resistance-in-a-wire/js/resistance-in-a-wire/ResistanceInAWireConstants.js 197:3 error Expected to return a value at the end of method 'getValueDescriptionFromMap' consistent-return /Users/samreid/apache-document-root/main/resistance-in-a-wire/js/resistance-in-a-wire/view/FormulaNode.js 266:50 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/rosetta/Gruntfile.js 3:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/RosettaConstants.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/ServerTests.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/TranslationUtils.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/ensureValidSession.js 45:16 error Expected to return a value at the end of async function 'getUserData' consistent-return 124:16 error Expected to return a value at the end of async function 'ensureValidSession' consistent-return /Users/samreid/apache-document-root/main/rosetta/js/getRosettaConfig.js 14:1 error 'use strict' is unnecessary inside of modules strict 54:10 error Expected to return a value at the end of function 'readAndParseConfig' consistent-return /Users/samreid/apache-document-root/main/rosetta/js/localeInfo.js 11:1 error 'use strict' is unnecessary inside of modules strict 45:5 error Possible race condition: `localeInfoObject` might be reassigned based on an outdated value of `localeInfoObject` require-atomic-updates 101:5 error Possible race condition: `inProgressFileRetrievalPromise` might be reassigned based on an outdated value of `inProgressFileRetrievalPromise` require-atomic-updates /Users/samreid/apache-document-root/main/rosetta/js/longTermStringStorage.js 17:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/requestBuild.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/rosetta.js 12:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/routeHandlers.js 11:1 error 'use strict' is unnecessary inside of modules strict 394:3 error Possible race condition: `const projectName` might be reassigned based on an outdated value of `const projectName` require-atomic-updates /Users/samreid/apache-document-root/main/rosetta/js/simData.js 12:1 error 'use strict' is unnecessary inside of modules strict 118:7 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates 139:7 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates 145:5 error Possible race condition: `inProgressMetadataPromise` might be reassigned based on an outdated value of `inProgressMetadataPromise` require-atomic-updates /Users/samreid/apache-document-root/main/rosetta/js/stringSubmissionQueue.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/testHarnessClient.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/rosetta/js/translate-sim.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/scenery-phet/js/FaucetNode.js 153:5 error Nested block is redundant no-lone-blocks /Users/samreid/apache-document-root/main/scenery-phet/js/accessibility/describers/MovementDescriber.js 188:35 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/scenery/js/accessibility/KeyStateTrackerTests.js 115:53 error Async arrow function has no 'await' expression require-await 145:53 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/scenery/js/accessibility/pdom/PDOMInstance.js 374:7 error Unexpected labeled statement no-labels 383:15 error Unexpected label in continue statement no-labels /Users/samreid/apache-document-root/main/scenery/js/accessibility/pdom/PDOMPeer.js 451:3 error Expected to return a value at the end of method 'getElementByName' consistent-return /Users/samreid/apache-document-root/main/scenery/js/display/Display.js 1612:7 error Function 'blockSummary' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/Rectangle.js 282:5 error Method 'setRect' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/RichText.js 1705:7 error Method 'addElement' expected no return value consistent-return 1728:7 error Method 'addElement' expected no return value consistent-return 1730:5 error Method 'addElement' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/nodes/Text.js 854:7 error Function 'simplify' expected no return value consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/CanvasNodeBoundsOverlay.js 29:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/HitAreaOverlay.js 29:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/overlays/PointerAreaOverlay.js 28:54 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/scenery.js 47:43 error Use the spread operator instead of '.apply()' prefer-spread 47:113 error Use the rest parameters instead of 'arguments' prefer-rest-params 112:45 error Use the spread operator instead of '.apply()' prefer-spread 112:115 error Use the rest parameters instead of 'arguments' prefer-rest-params 563:16 error Expected to return a value at the end of method 'deserialize' consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/SpriteImage.js 83:3 error Expected to return a value at the end of method 'getShape' consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/Trail.js 1043:41 error Expected to return a value at the end of arrow function consistent-return 1075:49 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/TrailPointer.js 294:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/js/util/TrailTests.js 232:118 error Expected to return a value at the end of arrow function consistent-return 245:43 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/scenery/tests/browsers/unicode/inline-js-unicode.js 4:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/scenery/tests/event-logs/server/server.js 17:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/sherpa/.eslintrc.js 4:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/studio/js/PhetioElementView.js 384:34 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/studio/js/TreeNode.js 119:42 error Expected to return a value at the end of arrow function consistent-return /Users/samreid/apache-document-root/main/studio/js/studio.js 144:55 error Expected to return a value at the end of arrow function consistent-return 279:34 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/sun/js/buttons/ButtonModel.js 169:51 error Use the rest parameters instead of 'arguments' prefer-rest-params 178:48 error Use the rest parameters instead of 'arguments' prefer-rest-params /Users/samreid/apache-document-root/main/tambo/js/soundManager.js 379:3 error Expected to return a value at the end of method 'removeSoundGenerator' consistent-return 425:3 error Expected to return a value at the end of method 'setMasterOutputLevel' consistent-return 469:3 error Expected to return a value at the end of method 'setOutputLevelForCategory' consistent-return 514:3 error Expected to return a value at the end of method 'setReverbLevel' consistent-return /Users/samreid/apache-document-root/main/tandem/js/PhetioIDUtils.js 14:3 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/tandem/js/types/OrIO.js 49:31 error Expected to return a value at the end of arrow function 'toStateObject' consistent-return /Users/samreid/apache-document-root/main/vector-addition/js/common/view/VectorValuesNumberDisplay.js 119:3 error Expected to return a value at the end of method 'getNumberDisplayValue' consistent-return /Users/samreid/apache-document-root/main/weddell/Gruntfile.js 49:94 error Async arrow function has no 'await' expression require-await 72:14 error Async arrow function has no 'await' expression require-await 113:14 error Async arrow function has no 'await' expression require-await 153:14 error Async arrow function has no 'await' expression require-await 200:14 error Async arrow function has no 'await' expression require-await 214:14 error Async arrow function has no 'await' expression require-await /Users/samreid/apache-document-root/main/weddell/js/grunt/lint.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/weddell/js/utils/notarize.js 22:3 error Async function 'notarizing' expected no return value consistent-return 22:10 error Redundant use of `await` on a return value no-return-await /Users/samreid/apache-document-root/main/wilder/js/wilder/model/WilderModel.js 53:24 error Array.prototype.map() expects a return value from arrow function array-callback-return /Users/samreid/apache-document-root/main/xray-diffraction/js/xray-diffraction/view/LightPathNode.js 50:26 error Unexpected return statement in constructor no-constructor-return /Users/samreid/apache-document-root/main/yotta/js/aggregate.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/aggregateApache.js 23:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/aggregateGoogleAnalytics.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/aggregateOffline.js 18:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/apacheParsing.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/combineAggregate.js 13:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/filterRedundant.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/ga-server.js 11:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/googleAnalytics.js 34:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/importAggregate.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/importSimulations.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/initialFilter.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/mapDayToWeek.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/memoryTest.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/metadataRequest.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/reduceApache.js 8:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/reports/aggregate-view.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/reports/yotta-server.js 10:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/simDataLoader.js 47:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/transactionCounter.js 9:1 error 'use strict' is unnecessary inside of modules strict /Users/samreid/apache-document-root/main/yotta/js/yottaMessages.js 12:1 error 'use strict' is unnecessary inside of modules strict ✖ 626 problems (626 errors, 0 warnings) 336 errors and 0 warnings potentially fixable with the `--fix` option. Warning: 626 errors and 0 warnings Use --force to continue. Aborted due to warnings. ~/apache-document-root/main/perennial$ ```
samreid commented 3 years ago

I volunteered to fix as many issues as I can based on the dev meeting consensuses in the above comment. For issues I cannot fix, I will create side issues or ask for help, or mark things as eslint-disable.

samreid commented 3 years ago

Here is my list of remaining rules to enable:

consistent-return https://github.com/phetsims/chipper/issues/1033 default-param-last no-async-promise-executor no-constructor-return no-labels no-return-await no-sequences no-throw-literal no-unmodified-loop-condition prefer-promise-reject-errors prefer-rest-params prefer-spread require-atomic-updates require-unicode-regexp https://github.com/phetsims/chipper/issues/1029 strict

samreid commented 3 years ago

All rules recommended by the team have been enabled or moved to side issues, closing.