diff --git a/js/grunt/format.js b/js/grunt/format.js index 66190a60d..60e04c785 100644 --- a/js/grunt/format.js +++ b/js/grunt/format.js @@ -1,4 +1,4 @@ -// Copyright 2020, Nick Crews +// Copyright 2020, University of Colorado Boulder /** * Runs the formatting rules on the specified files. @@ -9,67 +9,67 @@ 'use strict'; // modules -const beautify = require( 'js-beautify' ); +const beautify = require( 'js-beautify' ); // eslint-disable-line const fs = require( 'fs' ); const grunt = require( 'grunt' ); const sortImports = require( './sortImports' ); const OPTIONS = { - "html": { - "allowed_file_extensions": [ "htm", "html", "xhtml", "shtml", "xml", "svg" ], - "brace_style": "collapse", - "end_with_newline": false, - "indent_char": " ", - "indent_handlebars": false, - "indent_inner_html": false, - "indent_size": 2, - "indent_scripts": "keep", - "max_preserve_newlines": 1, - "preserve_newlines": true, - "unformatted": [ "a", "span", "img", "code", "pre", "sub", "sup", "em", "strong", "b", "i", "u", "strike", "big", "small", "pre", "h1", "h2", "h3", "h4", "h5", "h6" ], - "wrap_line_length": 0 + 'html': { + 'allowed_file_extensions': [ 'htm', 'html', 'xhtml', 'shtml', 'xml', 'svg' ], + 'brace_style': 'collapse', + 'end_with_newline': false, + 'indent_char': ' ', + 'indent_handlebars': false, + 'indent_inner_html': false, + 'indent_size': 2, + 'indent_scripts': 'keep', + 'max_preserve_newlines': 1, + 'preserve_newlines': true, + 'unformatted': [ 'a', 'span', 'img', 'code', 'pre', 'sub', 'sup', 'em', 'strong', 'b', 'i', 'u', 'strike', 'big', 'small', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], + 'wrap_line_length': 0 }, - "css": { - "allowed_file_extensions": [ "css", "scss", "sass", "less" ], - "end_with_newline": false, - "newline_between_rules": true, - "indent_char": " ", - "indent_size": 2, - "selector_separator": " ", - "selector_separator_newline": true + 'css': { + 'allowed_file_extensions': [ 'css', 'scss', 'sass', 'less' ], + 'end_with_newline': false, + 'newline_between_rules': true, + 'indent_char': ' ', + 'indent_size': 2, + 'selector_separator': ' ', + 'selector_separator_newline': true }, - "js": { - "allowed_file_extensions": [ "js", "json", "jshintrc", "jsbeautifyrc", "sublime-settings" ], - "brace_style": "collapse-preserve-inline", - "break_chained_methods": false, - "e4x": false, - "end_with_newline": true, - "indent_char": " ", - "indent_level": 0, - "indent_size": 2, - "indent_with_tabs": false, - "jslint_happy": false, - "keep_array_indentation": false, - "keep_function_indentation": false, - "max_preserve_newlines": 0, - "preserve_newlines": true, - "space_after_anon_function": false, - "space_before_conditional": true, - "space_in_empty_paren": false, - "space_in_paren": true, - "unescape_strings": false, - "wrap_line_length": 0 + 'js': { + 'allowed_file_extensions': [ 'js', 'json', 'jshintrc', 'jsbeautifyrc', 'sublime-settings' ], + 'brace_style': 'collapse-presever-inline', + 'break_chained_methods': false, + 'e4x': false, + 'end_with_newline': true, + 'indent_char': ' ', + 'indent_level': 0, + 'indent_size': 2, + 'indent_with_tabs': false, + 'jslint_happy': false, + 'keep_array_indentation': false, + 'keep_function_indentation': false, + 'max_preserve_newlines': 0, + 'preserve_newlines': true, + 'space_after_anon_function': false, + 'space_before_conditional': true, + 'space_in_empty_paren': false, + 'space_in_paren': true, + 'unescape_strings': false, + 'wrap_line_length': 0 } -} +}; function formatFile( absPath, verifyOnly = false ) { - let before = fs.readFileSync( absPath, 'utf-8' ); + const before = fs.readFileSync( absPath, 'utf-8' ); const formatted = beautify.js( before, OPTIONS ); - if ( !verifyOnly ){ + if ( !verifyOnly ) { fs.writeFileSync( absPath, formatted, 'utf-8' ); } const alreadySorted = sortImports( absPath, verifyOnly ); - return alreadySorted && ( before == formatted ); + return alreadySorted && ( before === formatted ); } /** @@ -79,12 +79,13 @@ function formatFile( absPath, verifyOnly = false ) { * @param {Array.} repos * @param {boolean} verifyOnly - Don't rewrite files */ -module.exports = function( repos, verifyOnly = false) { +module.exports = function( repos, verifyOnly = false ) { repos.forEach( repo => { grunt.file.recurse( `../${repo}/js`, absPath => formatFile( absPath, verifyOnly ) - ) } ); + ); + } ); -} +}; diff --git a/js/grunt/sortImports.js b/js/grunt/sortImports.js index cb46608cb..6c526b463 100644 --- a/js/grunt/sortImports.js +++ b/js/grunt/sortImports.js @@ -70,8 +70,8 @@ module.exports = function( file, verifyOnly = false ) { } const after = lines.join( '\n' ); - if (!verifyOnly){ + if ( !verifyOnly ) { fs.writeFileSync( file, after, 'utf-8' ); } - return (after == before); + return ( after === before ); };