diff --git a/.jshintrc b/.jshintrc index d34b8a18..6f5696de 100644 --- a/.jshintrc +++ b/.jshintrc @@ -4,8 +4,10 @@ "eqeqeq": true, "noarg": true, "nocomma": true, + "node": true, "nonbsp": true, "nonew": true, + "strict": true, "unused": true, "esversion": 3 } diff --git a/Makefile b/Makefile index d0f9dffc..fd3f827a 100644 --- a/Makefile +++ b/Makefile @@ -67,7 +67,7 @@ beautify: ####################################################### # javascript bundle generation -js/lib/*.js: $(BUILD_DIR)/node $(BUILD_DIR)/generate $(wildcard js/src/**/*) js/index.js tools/template/* webpack.config.js +js/lib/*.js: $(BUILD_DIR)/node $(BUILD_DIR)/generate $(wildcard js/src/**/*) $(wildcard web/*.js) js/index.js tools/template/* webpack.config.js $(SCRIPT_DIR)/build.sh js diff --git a/js/index.js b/js/index.js index a9a41401..07f4fb60 100644 --- a/js/index.js +++ b/js/index.js @@ -1,3 +1,5 @@ +/*jshint node:true */ +/* globals define */ /* The MIT License (MIT) @@ -25,6 +27,8 @@ */ +'use strict'; + /** The following batches are equivalent: diff --git a/js/src/cli.js b/js/src/cli.js index e82947e0..d62b2149 100755 --- a/js/src/cli.js +++ b/js/src/cli.js @@ -32,6 +32,8 @@ */ +'use strict'; + var debug = process.env.DEBUG_JSBEAUTIFY || process.env.JSBEAUTIFY_DEBUG ? function() { console.error.apply(console, arguments); } : function() {}; @@ -396,7 +398,7 @@ function usage(err) { function processInputSync(filepath) { var data = '', - config = this.cfg, + config = this.cfg, // jshint ignore:line outfile = config.outfile, input; diff --git a/js/src/core/acorn.js b/js/src/core/acorn.js index 145c414c..f6539e9d 100644 --- a/js/src/core/acorn.js +++ b/js/src/core/acorn.js @@ -1,4 +1,4 @@ -/* jshint curly: false */ +/* jshint node: true, curly: false */ // This section of code is taken from acorn. // // Acorn was written by Marijn Haverbeke and released under an MIT @@ -17,6 +17,8 @@ // are only applied when a character is found to actually have a // code point above 128. +'use strict'; + var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; // jshint ignore:line var baseASCIIidentifierStartChars = "\x24\x40\x41-\x5a\x5f\x61-\x7a"; var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; diff --git a/js/src/core/directives.js b/js/src/core/directives.js index e351ca02..22db1b32 100644 --- a/js/src/core/directives.js +++ b/js/src/core/directives.js @@ -1,31 +1,32 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; function Directives(start_block_pattern, end_block_pattern) { start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source; diff --git a/js/src/core/inputscanner.js b/js/src/core/inputscanner.js index 80b4a10f..500dd9f4 100644 --- a/js/src/core/inputscanner.js +++ b/js/src/core/inputscanner.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + function InputScanner(input_string) { this.__input = input_string || ''; this.__input_length = this.__input.length; diff --git a/js/src/core/options.js b/js/src/core/options.js index 98792019..580388d3 100644 --- a/js/src/core/options.js +++ b/js/src/core/options.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + // merges child options up with the parent options object // Example: obj = {a: 1, b: {a: 2}} // mergeOpts(obj, 'b') diff --git a/js/src/core/output.js b/js/src/core/output.js index f678a54a..166edec9 100644 --- a/js/src/core/output.js +++ b/js/src/core/output.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + function OutputLine(parent) { this.__parent = parent; this.__character_count = 0; diff --git a/js/src/core/token.js b/js/src/core/token.js index daaba444..3ccd0c33 100644 --- a/js/src/core/token.js +++ b/js/src/core/token.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + function Token(type, text, newlines, whitespace_before) { this.type = type; this.text = text; diff --git a/js/src/core/tokenizer.js b/js/src/core/tokenizer.js index 49eaa30c..486ba302 100644 --- a/js/src/core/tokenizer.js +++ b/js/src/core/tokenizer.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var InputScanner = require('../core/inputscanner').InputScanner; var Token = require('../core/token').Token; var TokenStream = require('../core/tokenstream').TokenStream; diff --git a/js/src/core/tokenstream.js b/js/src/core/tokenstream.js index 49f71ad3..4ec3df6d 100644 --- a/js/src/core/tokenstream.js +++ b/js/src/core/tokenstream.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + function TokenStream(parent_token) { // private this.__tokens = []; diff --git a/js/src/css/beautifier.js b/js/src/css/beautifier.js index cfef4aa6..7b37654e 100644 --- a/js/src/css/beautifier.js +++ b/js/src/css/beautifier.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + var mergeOpts = require('../core/options').mergeOpts; var normalizeOpts = require('../core/options').normalizeOpts; var acorn = require('../core/acorn'); diff --git a/js/src/css/index.js b/js/src/css/index.js index b092ff64..5b640297 100644 --- a/js/src/css/index.js +++ b/js/src/css/index.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var Beautifier = require('./beautifier').Beautifier; function css_beautify(source_text, options) { diff --git a/js/src/css/tokenizer.js b/js/src/css/tokenizer.js index 91617701..846efe5a 100644 --- a/js/src/css/tokenizer.js +++ b/js/src/css/tokenizer.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -24,4 +24,6 @@ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ \ No newline at end of file +*/ + +'use strict'; \ No newline at end of file diff --git a/js/src/html/beautifier.js b/js/src/html/beautifier.js index 34254744..5d5b8948 100644 --- a/js/src/html/beautifier.js +++ b/js/src/html/beautifier.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + var mergeOpts = require('../core/options').mergeOpts; var normalizeOpts = require('../core/options').normalizeOpts; var acorn = require('../core/acorn'); @@ -356,7 +358,7 @@ Beautifier.prototype.beautify = function() { var tokens = new Tokenizer(source_text, this._options).tokenize(); var parser_token = null; - raw_token = tokens.next(); + var raw_token = tokens.next(); while (raw_token.type !== TOKEN.EOF) { if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) { @@ -371,7 +373,7 @@ Beautifier.prototype.beautify = function() { parser_token = this._handle_text(printer, raw_token, last_tag_token); } else { // This should never happen, but if it does. Print the raw token - printer.add_raw_token(token); + printer.add_raw_token(raw_token); } last_token = parser_token; @@ -384,7 +386,7 @@ Beautifier.prototype.beautify = function() { }; Beautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) { - parser_token = { text: raw_token.text, type: raw_token.type }; + var parser_token = { text: raw_token.text, type: raw_token.type }; printer.alignment_size = 0; last_tag_token.tag_complete = true; @@ -417,7 +419,7 @@ Beautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_t }; Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) { - parser_token = { text: raw_token.text, type: raw_token.type }; + var parser_token = { text: raw_token.text, type: raw_token.type }; printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== ''); if (last_tag_token.is_unformatted) { printer.add_raw_token(raw_token); @@ -472,7 +474,7 @@ Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_ }; Beautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) { - parser_token = { text: raw_token.text, type: 'TK_CONTENT' }; + var parser_token = { text: raw_token.text, type: 'TK_CONTENT' }; if (last_tag_token.custom_beautifier) { //check if we need to format javascript this._print_custom_beatifier_text(printer, raw_token, last_tag_token); } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) { @@ -536,7 +538,7 @@ Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_to var parser_token = this._get_tag_open_token(raw_token); printer.traverse_whitespace(raw_token); - this._set_tag_position(printer, parser_token, last_tag_token, last_token); + this._set_tag_position(printer, raw_token, parser_token, last_tag_token, last_token); if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) && @@ -631,7 +633,7 @@ Beautifier.prototype._get_tag_open_token = function(raw_token) { //function to g return parser_token; }; -Beautifier.prototype._set_tag_position = function(printer, parser_token, last_tag_token, last_token) { +Beautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) { if (!parser_token.is_empty_element) { if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending diff --git a/js/src/html/index.js b/js/src/html/index.js index 98d3732c..0d299691 100644 --- a/js/src/html/index.js +++ b/js/src/html/index.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var Beautifier = require('./beautifier').Beautifier; function style_html(html_source, options, js_beautify, css_beautify) { diff --git a/js/src/html/tokenizer.js b/js/src/html/tokenizer.js index c657b7ad..5d7aca6f 100644 --- a/js/src/html/tokenizer.js +++ b/js/src/html/tokenizer.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + var BaseTokenizer = require('../core/tokenizer').Tokenizer; var BASETOKEN = require('../core/tokenizer').TOKEN; var Directives = require('../core/directives').Directives; diff --git a/js/src/index.js b/js/src/index.js index a0d26652..2cba1a63 100644 --- a/js/src/index.js +++ b/js/src/index.js @@ -1,4 +1,4 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* The MIT License (MIT) @@ -26,6 +26,8 @@ SOFTWARE. */ +'use strict'; + var js_beautify = require('./javascript/index'); var css_beautify = require('./css/index'); var html_beautify = require('./html/index'); diff --git a/js/src/javascript/beautifier.js b/js/src/javascript/beautifier.js index ffc9a57e..a172de26 100644 --- a/js/src/javascript/beautifier.js +++ b/js/src/javascript/beautifier.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var mergeOpts = require('../core/options').mergeOpts; var normalizeOpts = require('../core/options').normalizeOpts; var acorn = require('../core/acorn'); @@ -96,7 +98,6 @@ var MODE = { }; function Beautifier(source_text, options) { - "use strict"; options = options || {}; this._source_text = source_text || ''; diff --git a/js/src/javascript/index.js b/js/src/javascript/index.js index 3b0b834b..835dc5cf 100644 --- a/js/src/javascript/index.js +++ b/js/src/javascript/index.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var Beautifier = require('./beautifier').Beautifier; function js_beautify(js_source_text, options) { diff --git a/js/src/javascript/tokenizer.js b/js/src/javascript/tokenizer.js index 92a3060d..b146e4bc 100644 --- a/js/src/javascript/tokenizer.js +++ b/js/src/javascript/tokenizer.js @@ -1,31 +1,33 @@ -/*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */ +/*jshint node:true */ /* - The MIT License (MIT) + The MIT License (MIT) - Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. */ +'use strict'; + var InputScanner = require('../core/inputscanner').InputScanner; var BaseTokenizer = require('../core/tokenizer').Tokenizer; var BASETOKEN = require('../core/tokenizer').TOKEN; diff --git a/js/src/unpackers/javascriptobfuscator_unpacker.js b/js/src/unpackers/javascriptobfuscator_unpacker.js index 8b47542b..929e5b38 100644 --- a/js/src/unpackers/javascriptobfuscator_unpacker.js +++ b/js/src/unpackers/javascriptobfuscator_unpacker.js @@ -1,3 +1,30 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // simple unpacker/deobfuscator for scripts messed up with javascriptobfuscator.com // written by Einar Lielmanis @@ -10,6 +37,8 @@ // // +/*jshint strict:false */ + var JavascriptObfuscator = { detect: function(str) { return /^var _0x[a-f0-9]+ ?\= ?\[/.test(str); diff --git a/js/src/unpackers/myobfuscate_unpacker.js b/js/src/unpackers/myobfuscate_unpacker.js index 2099dbca..fe66e3ff 100644 --- a/js/src/unpackers/myobfuscate_unpacker.js +++ b/js/src/unpackers/myobfuscate_unpacker.js @@ -1,3 +1,30 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // simple unpacker/deobfuscator for scripts messed up with myobfuscate.com // You really don't want to obfuscate your scripts there: they're tracking @@ -26,6 +53,8 @@ // // +/*jshint strict:false */ + var MyObfuscate = { detect: function(str) { if (/^var _?[0O1lI]{3}\=('|\[).*\)\)\);/.test(str)) { diff --git a/js/src/unpackers/p_a_c_k_e_r_unpacker.js b/js/src/unpackers/p_a_c_k_e_r_unpacker.js index 12122836..39fb1647 100644 --- a/js/src/unpackers/p_a_c_k_e_r_unpacker.js +++ b/js/src/unpackers/p_a_c_k_e_r_unpacker.js @@ -1,6 +1,32 @@ +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // Unpacker for Dean Edward's p.a.c.k.e.r, a part of javascript beautifier -// written by Einar Lielmanis // // Coincidentally, it can defeat a couple of other eval-based compressors. // @@ -12,6 +38,8 @@ // // +/*jshint strict:false */ + var P_A_C_K_E_R = { detect: function(str) { return (P_A_C_K_E_R.get_chunks(str).length > 0); diff --git a/js/src/unpackers/urlencode_unpacker.js b/js/src/unpackers/urlencode_unpacker.js index 88b55f88..df13f12d 100644 --- a/js/src/unpackers/urlencode_unpacker.js +++ b/js/src/unpackers/urlencode_unpacker.js @@ -1,5 +1,33 @@ /*global unescape */ /*jshint curly: false, scripturl: true */ + +/* + + The MIT License (MIT) + + Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + // // trivial bookmarklet/escaped script detector for the javascript beautifier // written by Einar Lielmanis @@ -12,6 +40,9 @@ // // +/*jshint strict:false */ + + var isNode = (typeof module !== 'undefined' && module.exports); if (isNode) { var SanityTest = require(__dirname + '/../../test/sanitytest'); diff --git a/js/test/amd-beautify-tests.js b/js/test/amd-beautify-tests.js index 6d1597f9..8cbd2a4e 100755 --- a/js/test/amd-beautify-tests.js +++ b/js/test/amd-beautify-tests.js @@ -1,5 +1,7 @@ /*jshint node:true */ +'use strict'; + var requirejs = require('requirejs'), SanityTest = require('./sanitytest'), Urlencoded = require('../lib/unpackers/urlencode_unpacker'), diff --git a/js/test/core/inputscanner.js b/js/test/core/inputscanner.js index 33d0e708..7c7bf4e9 100644 --- a/js/test/core/inputscanner.js +++ b/js/test/core/inputscanner.js @@ -1,3 +1,6 @@ +/*jshint mocha:true */ +'use strict'; + var assert = require('assert'); var InputScanner = require('../../src/core/inputscanner').InputScanner; diff --git a/js/test/generated/beautify-css-tests.js b/js/test/generated/beautify-css-tests.js index 4cc3e0f6..a54447c1 100644 --- a/js/test/generated/beautify-css-tests.js +++ b/js/test/generated/beautify-css-tests.js @@ -29,6 +29,7 @@ SOFTWARE. */ /*jshint unused:false */ +/*jshint strict:false */ function run_css_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) { diff --git a/js/test/generated/beautify-html-tests.js b/js/test/generated/beautify-html-tests.js index 0c52f01a..4b5927c6 100644 --- a/js/test/generated/beautify-html-tests.js +++ b/js/test/generated/beautify-html-tests.js @@ -29,6 +29,7 @@ SOFTWARE. */ /*jshint unused:false */ +/*jshint strict:false */ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) { diff --git a/js/test/generated/beautify-javascript-tests.js b/js/test/generated/beautify-javascript-tests.js index 5f8211c1..904b2252 100644 --- a/js/test/generated/beautify-javascript-tests.js +++ b/js/test/generated/beautify-javascript-tests.js @@ -29,6 +29,7 @@ SOFTWARE. */ /*jshint unused:false */ +/*jshint strict:false */ function run_javascript_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify) { diff --git a/js/test/node-beautify-html-perf-tests.js b/js/test/node-beautify-html-perf-tests.js index f3e10b7b..c3469020 100644 --- a/js/test/node-beautify-html-perf-tests.js +++ b/js/test/node-beautify-html-perf-tests.js @@ -2,6 +2,7 @@ /*jshint node:true */ /*jshint unused:false */ +'use strict'; var fs = require('fs'), SanityTest = require('./sanitytest'), diff --git a/js/test/node-beautify-perf-tests.js b/js/test/node-beautify-perf-tests.js index bd8b7ea3..cf17be71 100644 --- a/js/test/node-beautify-perf-tests.js +++ b/js/test/node-beautify-perf-tests.js @@ -2,6 +2,8 @@ /*jshint node:true */ /*jshint unused:false */ +'use strict'; + var fs = require('fs'), SanityTest = require('./sanitytest'), Benchmark = require('benchmark'), diff --git a/js/test/node-beautify-tests.js b/js/test/node-beautify-tests.js index 9e024a2a..f28f7e0c 100755 --- a/js/test/node-beautify-tests.js +++ b/js/test/node-beautify-tests.js @@ -1,5 +1,7 @@ /*jshint node:true */ +'use strict'; + var SanityTest = require('./sanitytest'), Urlencoded = require('../lib/unpackers/urlencode_unpacker'), run_javascript_tests = require('./generated/beautify-javascript-tests').run_javascript_tests, diff --git a/js/test/node-src-index-tests.js b/js/test/node-src-index-tests.js index c84ecc8e..840d5932 100755 --- a/js/test/node-src-index-tests.js +++ b/js/test/node-src-index-tests.js @@ -2,6 +2,8 @@ /*jshint node:true */ +'use strict'; + var SanityTest = require('./sanitytest'), Urlencoded = require('../lib/unpackers/urlencode_unpacker'), run_javascript_tests = require('./generated/beautify-javascript-tests').run_javascript_tests, diff --git a/js/test/sanitytest.js b/js/test/sanitytest.js index e6e5ee20..3246ff8f 100644 --- a/js/test/sanitytest.js +++ b/js/test/sanitytest.js @@ -10,8 +10,8 @@ // output_somewhere(t.results()); // good for
, html safe-ish
 // alert(t.results_raw());        // html unescaped
 
-
 function SanityTest(func, name_of_test) {
+  'use strict';
 
   var test_func = func || function(x) {
     return x;
diff --git a/test/data/css/node.mustache b/test/data/css/node.mustache
index a4eb79d3..85420ef2 100644
--- a/test/data/css/node.mustache
+++ b/test/data/css/node.mustache
@@ -26,6 +26,7 @@
   SOFTWARE.
 */
 /*jshint unused:false */
+/*jshint strict:false */
 
 function run_css_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify)
 {
diff --git a/test/data/html/node.mustache b/test/data/html/node.mustache
index 6ea64663..f620edbc 100644
--- a/test/data/html/node.mustache
+++ b/test/data/html/node.mustache
@@ -26,6 +26,7 @@
   SOFTWARE.
 */
 /*jshint unused:false */
+/*jshint strict:false */
 
 function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify)
 {
diff --git a/test/data/javascript/node.mustache b/test/data/javascript/node.mustache
index 7a80c732..cdf7e241 100644
--- a/test/data/javascript/node.mustache
+++ b/test/data/javascript/node.mustache
@@ -26,6 +26,7 @@
   SOFTWARE.
 */
 /*jshint unused:false */
+/*jshint strict:false */
 
 function run_javascript_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_beautify)
 {
diff --git a/test/generate-tests.js b/test/generate-tests.js
index b29b030a..c9e35516 100644
--- a/test/generate-tests.js
+++ b/test/generate-tests.js
@@ -26,6 +26,8 @@
   SOFTWARE.
 */
 
+'use strict';
+
 var fs = require('fs');
 var mustache = require('mustache');
 var path = require('path');
diff --git a/web/common-function.js b/web/common-function.js
index 8509e33b..d30e270d 100644
--- a/web/common-function.js
+++ b/web/common-function.js
@@ -1,3 +1,4 @@
+/*jshint strict:false, node:false */
 /*exported run_tests, read_settings_from_cookie, beautify, submitIssue */
 var the = {
   use_codemirror: !window.location.href.match(/without-codemirror/),
@@ -20,6 +21,7 @@ requirejs(['beautifier'],
     the.beautifier = beautifier;
   });
 
+
 function any(a, b) {
   return a || b;
 }
diff --git a/web/onload.js b/web/onload.js
index cdc2e079..d32d7cec 100644
--- a/web/onload.js
+++ b/web/onload.js
@@ -1,3 +1,4 @@
+/*jshint node:false, jquery:true, strict:false */
 $(function() {
 
   read_settings_from_cookie();