diff options
author | Rubén Rincón Blanco <ruben@rinconblanco.es> | 2020-08-04 22:39:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-04 16:39:02 -0400 |
commit | ccff4b9ee5a37c13f0973b52e8f90a8be8359fea (patch) | |
tree | 0022c9364824c5b4e4f5818c4abbf654aa99f2e8 /lib/compilers/clean.js | |
parent | 7126b39a6bdeabffc312c8a117ec7af072ef6a1c (diff) | |
download | compiler-explorer-ccff4b9ee5a37c13f0973b52e8f90a8be8359fea.tar.gz compiler-explorer-ccff4b9ee5a37c13f0973b52e8f90a8be8359fea.zip |
Add new eslint rules (#2121)
The largest changes here are:
- enforcing single quotes for strings
- enforcing trailing commas where possible
In addition to those we have enabled several eslint plugins:
- plugin:requirejs/recommended, to enforce some conventions in require statements
- plugin:node/recommended, to enforce correct usage of various node.js APIs
- plugin:unicorn/recommended, which contains a pretty mixed bag of useful rules
This PR attempts to not change code behavior when possible. In cases where fixing
existing code would change semantics, a linting exclusion has been placed in the
code base to silence the error. You can find these by searching for `eslint-disable-next-line`.
Co-authored-by: Austin Morton <austinpmorton@gmail.com>
Diffstat (limited to 'lib/compilers/clean.js')
-rw-r--r-- | lib/compilers/clean.js | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/compilers/clean.js b/lib/compilers/clean.js index e9f724954..704a55444 100644 --- a/lib/compilers/clean.js +++ b/lib/compilers/clean.js @@ -38,38 +38,38 @@ class CleanCompiler extends BaseCompiler { } getOutputFilename(dirPath) { - return path.join(dirPath, "Clean System Files/example.s"); + return path.join(dirPath, 'Clean System Files/example.s'); } preprocessOutput(output) { - const errorRegex = /^Error \[.*,(\d*),(.*)\]:\s?(.*)/i; - const errorLineRegex = /^Error \[.*,(\d*)\]:\s?(.*)/i; - const parseerrorRegex = /^Parse error \[.*,(\d*);(\d*),(.*)\]:\s?(.*)/i; - const typeeerrorRegex = /^Type error \[.*,(\d*),(.*)\]:\s?(.*)/i; + const errorRegex = /^error \[.*,(\d*),(.*)]:\s?(.*)/i; + const errorLineRegex = /^error \[.*,(\d*)]:\s?(.*)/i; + const parseerrorRegex = /^parse error \[.*,(\d*);(\d*),(.*)]:\s?(.*)/i; + const typeeerrorRegex = /^type error \[.*,(\d*),(.*)]:\s?(.*)/i; return utils.splitLines(output).map(line => { let matches = line.match(errorRegex); if (!matches) matches = line.match(typeeerrorRegex); if (matches) { - return "<source>:" + matches[1] + ",0: error: (" + matches[2] + ") " + matches[3]; + return '<source>:' + matches[1] + ',0: error: (' + matches[2] + ') ' + matches[3]; } matches = line.match(errorLineRegex); if (matches) { - return "<source>:" + matches[1] + ",0: error: " + matches[2]; + return '<source>:' + matches[1] + ',0: error: ' + matches[2]; } matches = line.match(parseerrorRegex); if (matches) { - if (matches[3] === "") { - return "<source>:" + matches[1] + "," + matches[2] + ": error: " + matches[4]; + if (matches[3] === '') { + return '<source>:' + matches[1] + ',' + matches[2] + ': error: ' + matches[4]; } else { - return "<source>:" + matches[1] + "," + matches[2] + ": error: (" + matches[3] + ") " + matches[4]; + return '<source>:' + matches[1] + ',' + matches[2] + ': error: (' + matches[3] + ') ' + matches[4]; } } return line; - }).join("\n"); + }).join('\n'); } async runCompiler(compiler, options, inputFilename, execOptions) { @@ -78,7 +78,7 @@ class CleanCompiler extends BaseCompiler { const compilerPath = path.dirname(compiler); execOptions = this.getDefaultExecOptions(); execOptions.customCwd = tmpDir; - execOptions.env.CLEANLIB = path.join(compilerPath, "../exe"); + execOptions.env.CLEANLIB = path.join(compilerPath, '../exe'); execOptions.env.CLEANPATH = this.compiler.libPath; options.pop(); options.push(moduleName); @@ -88,8 +88,8 @@ class CleanCompiler extends BaseCompiler { result.stdout = utils.parseOutput(this.preprocessOutput(result.stdout), inputFilename); result.stderr = utils.parseOutput(this.preprocessOutput(result.stderr), inputFilename); - if (!options.includes("-S")) { - const aOut = path.join(tmpDir, "a.out"); + if (!options.includes('-S')) { + const aOut = path.join(tmpDir, 'a.out'); if (await fs.pathExists(aOut)) { await fs.copyFile(aOut, this.getOutputFilename(tmpDir)); result.code = 0; |