From 7d23a833b178690eede71aa5e292c3c4b369ccab Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Wed, 13 May 2020 12:06:53 -0700 Subject: [PATCH] Add semi-colon linting --- extensions/ql-vscode/.eslintrc.js | 3 +- extensions/ql-vscode/src/adapt.ts | 8 ++--- extensions/ql-vscode/src/cli-version.ts | 2 +- extensions/ql-vscode/src/cli.ts | 30 +++++++++---------- extensions/ql-vscode/src/databaseFetcher.ts | 2 +- extensions/ql-vscode/src/databases.ts | 4 +-- extensions/ql-vscode/src/definitions.ts | 2 +- extensions/ql-vscode/src/distribution.ts | 8 ++--- extensions/ql-vscode/src/helpers.ts | 10 +++---- extensions/ql-vscode/src/query-history.ts | 2 +- extensions/ql-vscode/src/query-results.ts | 2 +- .../ql-vscode/src/queryserver-client.ts | 6 ++-- extensions/ql-vscode/src/quick-query.ts | 2 +- extensions/ql-vscode/src/run-queries.ts | 14 ++++----- extensions/ql-vscode/src/sarif-utils.ts | 4 +-- extensions/ql-vscode/src/upgrades.ts | 8 ++--- extensions/ql-vscode/src/view/alert-table.tsx | 2 +- .../ql-vscode/src/view/raw-results-table.tsx | 2 +- .../ql-vscode/src/view/result-table-utils.tsx | 4 +-- .../ql-vscode/src/view/result-tables.tsx | 6 ++-- extensions/ql-vscode/src/view/results.tsx | 4 +-- .../sarifMessageParsingTest.test.ts | 8 ++--- .../no-workspace/webview-uri.test.ts | 2 +- .../ql-vscode/test/pure-tests/query-test.ts | 6 ++-- 24 files changed, 71 insertions(+), 70 deletions(-) diff --git a/extensions/ql-vscode/.eslintrc.js b/extensions/ql-vscode/.eslintrc.js index aa3604666a1..5357df2c047 100644 --- a/extensions/ql-vscode/.eslintrc.js +++ b/extensions/ql-vscode/.eslintrc.js @@ -28,6 +28,7 @@ module.exports = { "indent": "off", "@typescript-eslint/indent": "off", "@typescript-eslint/no-throw-literal": "error", - "no-useless-escape": 0 + "no-useless-escape": 0, + "semi": 2 }, }; diff --git a/extensions/ql-vscode/src/adapt.ts b/extensions/ql-vscode/src/adapt.ts index 2c6efecb941..8a519796bcc 100644 --- a/extensions/ql-vscode/src/adapt.ts +++ b/extensions/ql-vscode/src/adapt.ts @@ -34,7 +34,7 @@ export interface RawResultSet { function adaptKind(kind: ColumnKind): ColumnType { // XXX what about 'u'? if (kind === 'e') { - return { type: 'e', primitiveType: 's', locationStyle: LocationStyle.FivePart, hasLabel: true } + return { type: 'e', primitiveType: 's', locationStyle: LocationStyle.FivePart, hasLabel: true }; } else { return { type: kind }; @@ -51,7 +51,7 @@ export function adaptSchema(schema: ResultSetSchema): AdaptedSchema { name: schema.name, tupleCount: schema.rows, version: 0, - } + }; } export function adaptValue(val: ColumnValue): ResultValue { @@ -87,7 +87,7 @@ export function adaptValue(val: ColumnValue): ResultValue { // something like the code in sarif-utils.ts? file: url.uri.replace(/file:/, ''), } - } + }; } @@ -99,5 +99,5 @@ export function adaptBqrs(schema: AdaptedSchema, page: DecodedBqrsChunk): RawRes return { schema, rows: page.tuples.map(adaptRow), - } + }; } diff --git a/extensions/ql-vscode/src/cli-version.ts b/extensions/ql-vscode/src/cli-version.ts index 82ea67c468b..87a8179b98c 100644 --- a/extensions/ql-vscode/src/cli-version.ts +++ b/extensions/ql-vscode/src/cli-version.ts @@ -34,7 +34,7 @@ export function tryParseVersionString(versionString: string): Version | undefine patchVersion: Number.parseInt(match[3], 10), prereleaseVersion: match[4], rawString: versionString, - } + }; } /** diff --git a/extensions/ql-vscode/src/cli.ts b/extensions/ql-vscode/src/cli.ts index 11a6126c5fd..53c1ea11e0b 100644 --- a/extensions/ql-vscode/src/cli.ts +++ b/extensions/ql-vscode/src/cli.ts @@ -165,7 +165,7 @@ export class CodeQLCliServer implements Disposable { // If the server is not running a command run this immediately // otherwise add to the front of the queue (as we want to run this after the next command()). if (this.commandInProcess) { - this.commandQueue.unshift(callback) + this.commandQueue.unshift(callback); } else { callback(); } @@ -188,19 +188,19 @@ export class CodeQLCliServer implements Disposable { */ private async launchProcess(): Promise { const config = await this.getCodeQlPath(); - return spawnServer(config, "CodeQL CLI Server", ["execute", "cli-server"], [], this.logger, _data => { /**/ }) + return spawnServer(config, "CodeQL CLI Server", ["execute", "cli-server"], [], this.logger, _data => { /**/ }); } private async runCodeQlCliInternal(command: string[], commandArgs: string[], description: string): Promise { const stderrBuffers: Buffer[] = []; if (this.commandInProcess) { - throw new Error("runCodeQlCliInternal called while cli was running") + throw new Error("runCodeQlCliInternal called while cli was running"); } this.commandInProcess = true; try { //Launch the process if it doesn't exist if (!this.process) { - this.process = await this.launchProcess() + this.process = await this.launchProcess(); } // Grab the process so that typescript know that it is always defined. const process = this.process; @@ -230,8 +230,8 @@ export class CodeQLCliServer implements Disposable { // Listen for process exit. process.addListener("close", (code) => reject(code)); // Write the command followed by a null terminator. - process.stdin.write(JSON.stringify(args), "utf8") - process.stdin.write(this.nullBuffer) + process.stdin.write(JSON.stringify(args), "utf8"); + process.stdin.write(this.nullBuffer); }); // Join all the data together const fullBuffer = Buffer.concat(stdoutBuffers); @@ -252,8 +252,8 @@ export class CodeQLCliServer implements Disposable { } finally { this.logger.log(Buffer.concat(stderrBuffers).toString("utf8")); // Remove the listeners we set up. - process.stdout.removeAllListeners('data') - process.stderr.removeAllListeners('data') + process.stdout.removeAllListeners('data'); + process.stderr.removeAllListeners('data'); process.removeAllListeners("close"); } } finally { @@ -349,7 +349,7 @@ export class CodeQLCliServer implements Disposable { try { yield JSON.parse(event) as EventType; } catch (err) { - throw new Error(`Parsing output of ${description} failed: ${err.stderr || err}`) + throw new Error(`Parsing output of ${description} failed: ${err.stderr || err}`); } } } @@ -375,11 +375,11 @@ export class CodeQLCliServer implements Disposable { } catch (err) { reject(err); } - } + }; // If the server is not running a command, then run the given command immediately, // otherwise add to the queue if (this.commandInProcess) { - this.commandQueue.push(callback) + this.commandQueue.push(callback); } else { callback(); } @@ -401,7 +401,7 @@ export class CodeQLCliServer implements Disposable { try { return JSON.parse(result) as OutputType; } catch (err) { - throw new Error(`Parsing output of ${description} failed: ${err.stderr || err}`) + throw new Error(`Parsing output of ${description} failed: ${err.stderr || err}`); } } @@ -535,12 +535,12 @@ export class CodeQLCliServer implements Disposable { try { output = await fs.readFile(interpretedResultsPath, 'utf8'); } catch (err) { - throw new Error(`Reading output of interpretation failed: ${err.stderr || err}`) + throw new Error(`Reading output of interpretation failed: ${err.stderr || err}`); } try { return JSON.parse(output) as sarif.Log; } catch (err) { - throw new Error(`Parsing output of interpretation failed: ${err.stderr || err}`) + throw new Error(`Parsing output of interpretation failed: ${err.stderr || err}`); } } @@ -714,7 +714,7 @@ export async function runCodeQlCliCommand(codeQlPath: string, command: string[], logger.log(`CLI command succeeded.`); return result.stdout; } catch (err) { - throw new Error(`${description} failed: ${err.stderr || err}`) + throw new Error(`${description} failed: ${err.stderr || err}`); } } diff --git a/extensions/ql-vscode/src/databaseFetcher.ts b/extensions/ql-vscode/src/databaseFetcher.ts index 96789c3c981..d4b891491d7 100644 --- a/extensions/ql-vscode/src/databaseFetcher.ts +++ b/extensions/ql-vscode/src/databaseFetcher.ts @@ -42,7 +42,7 @@ async function databaseFetcher( if (!storagePath) { throw new Error("No storage path specified."); } - await fs.ensureDir(storagePath) + await fs.ensureDir(storagePath); const unzipPath = await getStorageFolder(storagePath, databaseUrl); const response = await fetch.default(databaseUrl); diff --git a/extensions/ql-vscode/src/databases.ts b/extensions/ql-vscode/src/databases.ts index e6abcf5c2dd..4746f7183b4 100644 --- a/extensions/ql-vscode/src/databases.ts +++ b/extensions/ql-vscode/src/databases.ts @@ -113,7 +113,7 @@ async function findSourceArchive( databasePath: string, silent = false ): Promise { - const relativePaths = ['src', 'output/src_archive'] + const relativePaths = ['src', 'output/src_archive']; for (const relativePath of relativePaths) { const basePath = path.join(databasePath, relativePath); @@ -569,7 +569,7 @@ export class DatabaseManager extends DisposableObject { }; const item = new DatabaseItemImpl(vscode.Uri.parse(state.uri), undefined, fullOptions, (item) => { - this._onDidChangeDatabaseItem.fire(item) + this._onDidChangeDatabaseItem.fire(item); }); await this.addDatabaseItem(item); diff --git a/extensions/ql-vscode/src/definitions.ts b/extensions/ql-vscode/src/definitions.ts index 1ec69528bd0..e33d297c258 100644 --- a/extensions/ql-vscode/src/definitions.ts +++ b/extensions/ql-vscode/src/definitions.ts @@ -158,7 +158,7 @@ async function getLinksForUriString( if (qlpack === undefined) { throw new Error("Can't infer qlpack from database source archive"); } - const links: FullLocationLink[] = [] + const links: FullLocationLink[] = []; for (const query of await resolveQueries(cli, qlpack, keyType)) { const templates: messages.TemplateDefinitions = { [TEMPLATE_NAME]: { diff --git a/extensions/ql-vscode/src/distribution.ts b/extensions/ql-vscode/src/distribution.ts index 72704632146..3cbf2a80326 100644 --- a/extensions/ql-vscode/src/distribution.ts +++ b/extensions/ql-vscode/src/distribution.ts @@ -42,9 +42,9 @@ const DEFAULT_DISTRIBUTION_REPOSITORY_NAME = "codeql-cli-binaries"; export const DEFAULT_DISTRIBUTION_VERSION_CONSTRAINT: VersionConstraint = { description: "2.*.*", isVersionCompatible: (v: Version) => { - return v.majorVersion === 2 && v.minorVersion >= 0 + return v.majorVersion === 2 && v.minorVersion >= 0; } -} +}; export interface DistributionProvider { getCodeQlPathWithoutVersionCheck(): Promise; @@ -86,7 +86,7 @@ export class DistributionManager implements DistributionProvider { return { codeQlPath, kind: FindDistributionResultKind.UnknownCompatibilityDistribution, - } + }; } return { codeQlPath, @@ -480,7 +480,7 @@ export class ReleasesApiConsumer { // mechanism is provided. delete headers["authorization"]; } - return await this.makeRawRequest(redirectUrl, headers, redirectCount + 1) + return await this.makeRawRequest(redirectUrl, headers, redirectCount + 1); } return response; diff --git a/extensions/ql-vscode/src/helpers.ts b/extensions/ql-vscode/src/helpers.ts index d3d88892841..3faa83d07d7 100644 --- a/extensions/ql-vscode/src/helpers.ts +++ b/extensions/ql-vscode/src/helpers.ts @@ -116,7 +116,7 @@ async function internalShowAndLog(message: string, items: string[], outputLogger */ export async function showBinaryChoiceDialog(message: string): Promise { const yesItem = { title: 'Yes', isCloseAffordance: false }; - const noItem = { title: 'No', isCloseAffordance: true } + const noItem = { title: 'No', isCloseAffordance: true }; const chosenItem = await Window.showInformationMessage(message, { modal: true }, yesItem, noItem); return chosenItem === yesItem; } @@ -140,7 +140,7 @@ export function getOnDiskWorkspaceFolders() { const diskWorkspaceFolders: string[] = []; for (const workspaceFolder of workspaceFolders) { if (workspaceFolder.uri.scheme === "file") - diskWorkspaceFolders.push(workspaceFolder.uri.fsPath) + diskWorkspaceFolders.push(workspaceFolder.uri.fsPath); } return diskWorkspaceFolders; } @@ -271,7 +271,7 @@ export async function getQlPackForDbscheme(cliServer: CodeQLCliServer, dbschemeP return { packName, packDir: dirs[0] - } + }; }); for (const { packDir, packName } of packs) { if (packDir !== undefined) { @@ -285,7 +285,7 @@ export async function getQlPackForDbscheme(cliServer: CodeQLCliServer, dbschemeP } export async function resolveDatasetFolder(cliServer: CodeQLCliServer, datasetFolder: string): Promise { - const dbschemes = await glob(path.join(datasetFolder, '*.dbscheme')) + const dbschemes = await glob(path.join(datasetFolder, '*.dbscheme')); if (dbschemes.length < 1) { throw new Error(`Can't find dbscheme for current database in ${datasetFolder}`); @@ -322,7 +322,7 @@ export class CachedOperation { const fromCache = this.cached.get(t); if (fromCache !== undefined) { // Move to end of lru list - this.lru.push(this.lru.splice(this.lru.findIndex(v => v === t), 1)[0]) + this.lru.push(this.lru.splice(this.lru.findIndex(v => v === t), 1)[0]); return fromCache; } // Otherwise check if in progress diff --git a/extensions/ql-vscode/src/query-history.ts b/extensions/ql-vscode/src/query-history.ts index 284622ff693..7251e3e5879 100644 --- a/extensions/ql-vscode/src/query-history.ts +++ b/extensions/ql-vscode/src/query-history.ts @@ -305,7 +305,7 @@ export class QueryHistoryManager { // displays query text in a read-only document vscode.workspace.registerTextDocumentContentProvider('codeql', { provideTextDocumentContent(uri: vscode.Uri): vscode.ProviderResult { - const params = new URLSearchParams(uri.query) + const params = new URLSearchParams(uri.query); return ( JSON.parse(params.get('isQuickEval') || '') ? SHOW_QUERY_TEXT_QUICK_EVAL_MSG : SHOW_QUERY_TEXT_MSG diff --git a/extensions/ql-vscode/src/query-results.ts b/extensions/ql-vscode/src/query-results.ts index 92c54476e4a..3d221d3240c 100644 --- a/extensions/ql-vscode/src/query-results.ts +++ b/extensions/ql-vscode/src/query-results.ts @@ -131,7 +131,7 @@ export class CompletedQuery implements QueryWithResults { * Call cli command to interpret results. */ export async function interpretResults(server: cli.CodeQLCliServer, metadata: QueryMetadata | undefined, resultsPath: string, sourceInfo?: cli.SourceInfo): Promise { - const interpretedResultsPath = resultsPath + ".interpreted.sarif" + const interpretedResultsPath = resultsPath + ".interpreted.sarif"; if (await fs.pathExists(interpretedResultsPath)) { return JSON.parse(await fs.readFile(interpretedResultsPath, 'utf8')); diff --git a/extensions/ql-vscode/src/queryserver-client.ts b/extensions/ql-vscode/src/queryserver-client.ts index 1527c9b3c56..0c6eb442e75 100644 --- a/extensions/ql-vscode/src/queryserver-client.ts +++ b/extensions/ql-vscode/src/queryserver-client.ts @@ -82,7 +82,7 @@ export class QueryServerClient extends DisposableObject { if (this.serverProcess !== undefined) { this.disposeAndStopTracking(this.serverProcess); } else { - this.logger.log('No server process to be stopped.') + this.logger.log('No server process to be stopped.'); } } @@ -136,13 +136,13 @@ export class QueryServerClient extends DisposableObject { this.evaluationResultCallbacks[res.runId](res); } return {}; - }) + }); connection.onNotification(progress, res => { const callback = this.progressCallbacks[res.id]; if (callback) { callback(res); } - }) + }); this.serverProcess = new ServerProcess(child, connection, this.opts.logger); // Ensure the server process is disposed together with this client. this.track(this.serverProcess); diff --git a/extensions/ql-vscode/src/quick-query.ts b/extensions/ql-vscode/src/quick-query.ts index 204d19c4bb7..d7eb5e8aeec 100644 --- a/extensions/ql-vscode/src/quick-query.ts +++ b/extensions/ql-vscode/src/quick-query.ts @@ -87,7 +87,7 @@ export async function displayQuickQuery(ctx: ExtensionContext, cliServer: CodeQL return; } - const index = workspaceFolders.findIndex(folder => folder.name === QUICK_QUERY_WORKSPACE_FOLDER_NAME) + const index = workspaceFolders.findIndex(folder => folder.name === QUICK_QUERY_WORKSPACE_FOLDER_NAME); if (index === -1) updateQuickQueryDir(queriesDir, workspaceFolders.length, 0); else diff --git a/extensions/ql-vscode/src/run-queries.ts b/extensions/ql-vscode/src/run-queries.ts index 13ac4da5d48..9b456e07b79 100644 --- a/extensions/ql-vscode/src/run-queries.ts +++ b/extensions/ql-vscode/src/run-queries.ts @@ -76,7 +76,7 @@ export class QueryInfo { ): Promise { let result: messages.EvaluationResult | null = null; - const callbackId = qs.registerCallback(res => { result = res }); + const callbackId = qs.registerCallback(res => { result = res; }); const queryToRun: messages.QueryToRun = { resultsPath: this.resultsPaths.resultsPath, @@ -85,25 +85,25 @@ export class QueryInfo { templateValues: this.templates, id: callbackId, timeoutSecs: qs.config.timeoutSecs, - } + }; const dataset: messages.Dataset = { dbDir: this.dataset.fsPath, workingSet: 'default' - } + }; const params: messages.EvaluateQueriesParams = { db: dataset, evaluateId: callbackId, queries: [queryToRun], stopOnError: false, useSequenceHint: false - } + }; try { await helpers.withProgress({ location: vscode.ProgressLocation.Notification, title: "Running Query", cancellable: true, }, (progress, token) => { - return qs.sendRequest(messages.runQueries, params, token, progress) + return qs.sendRequest(messages.runQueries, params, token, progress); }); } finally { qs.unRegisterCallback(callbackId); @@ -263,7 +263,7 @@ async function checkDbschemeCompatibility( const { scripts, finalDbscheme } = await cliServer.resolveUpgrades(query.dbItem.contents.dbSchemeUri.fsPath, searchPath); const hash = async function(filename: string): Promise { return crypto.createHash('sha256').update(await fs.readFile(filename)).digest('hex'); - } + }; // At this point, we have learned about three dbschemes: @@ -308,7 +308,7 @@ async function promptUserToSaveChanges(document: vscode.TextDocument): Promise { ...previousState, selectedPathNode: pathNodeKey })); - } + }; }; function renderSarifLocationWithText(text: string | undefined, loc: Sarif.Location, pathNodeKey: Keys.PathNode | undefined): JSX.Element | undefined { diff --git a/extensions/ql-vscode/src/view/raw-results-table.tsx b/extensions/ql-vscode/src/view/raw-results-table.tsx index 6205c473bc4..f730fe4985f 100644 --- a/extensions/ql-vscode/src/view/raw-results-table.tsx +++ b/extensions/ql-vscode/src/view/raw-results-table.tsx @@ -89,7 +89,7 @@ export class RawTable extends React.Component { */ function renderTupleValue(v: ResultValue, databaseUri: string): JSX.Element { if (typeof v === 'string') { - return {v} + return {v}; } else if ('uri' in v) { return {v.uri}; diff --git a/extensions/ql-vscode/src/view/result-table-utils.tsx b/extensions/ql-vscode/src/view/result-table-utils.tsx index bcea8d288d2..21e80ffcbaa 100644 --- a/extensions/ql-vscode/src/view/result-table-utils.tsx +++ b/extensions/ql-vscode/src/view/result-table-utils.tsx @@ -78,7 +78,7 @@ export function renderLocation(loc: LocationValue | undefined, label: string | u return {displayLabel}; } } - return + return ; } /** @@ -95,7 +95,7 @@ export function zebraStripe(index: number, ...otherClasses: string[]): { classNa export function selectableZebraStripe(isSelected: boolean, index: number, ...otherClasses: string[]): { className: string } { return isSelected ? { className: [selectedRowClassName, ...otherClasses].join(' ') } - : zebraStripe(index, ...otherClasses) + : zebraStripe(index, ...otherClasses); } /** diff --git a/extensions/ql-vscode/src/view/result-tables.tsx b/extensions/ql-vscode/src/view/result-tables.tsx index c0b07c5ad90..3177a1fee02 100644 --- a/extensions/ql-vscode/src/view/result-tables.tsx +++ b/extensions/ql-vscode/src/view/result-tables.tsx @@ -85,7 +85,7 @@ export class ResultTables } private static getDefaultResultSet(resultSets: readonly ResultSet[]): string { - const resultSetNames = resultSets.map(resultSet => resultSet.schema.name) + const resultSetNames = resultSets.map(resultSet => resultSet.schema.name); // Choose first available result set from the array return [ALERTS_TABLE_NAME, SELECT_TABLE_NAME, resultSets[0].schema.name].filter(resultSetName => resultSetNames.includes(resultSetName))[0]; } @@ -115,7 +115,7 @@ export class ResultTables return
{displayProblemsAsAlertsToggle} -
+ ; } render(): React.ReactNode { @@ -152,7 +152,7 @@ export class ResultTables resultsPath={this.props.resultsPath} sortState={this.props.sortStates.get(resultSet.schema.name)} nonemptyRawResults={nonemptyRawResults} - showRawResults={() => { this.setState({ selectedTable: SELECT_TABLE_NAME }) }} /> + showRawResults={() => { this.setState({ selectedTable: SELECT_TABLE_NAME }); }} /> } ; } diff --git a/extensions/ql-vscode/src/view/results.tsx b/extensions/ql-vscode/src/view/results.tsx index d1be4aafaee..8fc1e3dd001 100644 --- a/extensions/ql-vscode/src/view/results.tsx +++ b/extensions/ql-vscode/src/view/results.tsx @@ -261,7 +261,7 @@ class App extends React.Component<{}, ResultsViewState> { }, nextResultsInfo: null, isExpectingResultsUpdate: false - } + }; }); } @@ -325,4 +325,4 @@ Rdom.render( document.getElementById('root') ); -vscode.postMessage({ t: "resultViewLoaded" }) +vscode.postMessage({ t: "resultViewLoaded" }); diff --git a/extensions/ql-vscode/src/vscode-tests/no-workspace/sarifMessageParsingTest.test.ts b/extensions/ql-vscode/src/vscode-tests/no-workspace/sarifMessageParsingTest.test.ts index 5954e4bc244..eb3fd2d03c7 100644 --- a/extensions/ql-vscode/src/vscode-tests/no-workspace/sarifMessageParsingTest.test.ts +++ b/extensions/ql-vscode/src/vscode-tests/no-workspace/sarifMessageParsingTest.test.ts @@ -6,7 +6,7 @@ import { parseSarifPlainTextMessage } from '../../sarif-utils'; describe('parsing sarif', () => { it('should be able to parse a simple message from the spec', async function() { - const message = "Tainted data was used. The data came from [here](3)." + const message = "Tainted data was used. The data came from [here](3)."; const results = parseSarifPlainTextMessage(message); expect(results).to.deep.equal([ "Tainted data was used. The data came from ", @@ -15,7 +15,7 @@ describe('parsing sarif', () => { }); it('should be able to parse a complex message from the spec', async function() { - const message = "Prohibited term used in [para\\[0\\]\\\\spans\\[2\\]](1)." + const message = "Prohibited term used in [para\\[0\\]\\\\spans\\[2\\]](1)."; const results = parseSarifPlainTextMessage(message); expect(results).to.deep.equal([ "Prohibited term used in ", @@ -23,14 +23,14 @@ describe('parsing sarif', () => { ]); }); it('should be able to parse a broken complex message from the spec', async function() { - const message = "Prohibited term used in [para\\[0\\]\\\\spans\\[2\\](1)." + const message = "Prohibited term used in [para\\[0\\]\\\\spans\\[2\\](1)."; const results = parseSarifPlainTextMessage(message); expect(results).to.deep.equal([ "Prohibited term used in [para[0]\\spans[2](1)." ]); }); it('should be able to parse a message with extra escaping the spec', async function() { - const message = "Tainted data was used. The data came from \\[here](3)." + const message = "Tainted data was used. The data came from \\[here](3)."; const results = parseSarifPlainTextMessage(message); expect(results).to.deep.equal([ "Tainted data was used. The data came from [here](3)." diff --git a/extensions/ql-vscode/src/vscode-tests/no-workspace/webview-uri.test.ts b/extensions/ql-vscode/src/vscode-tests/no-workspace/webview-uri.test.ts index 0f23178b32a..29eaf1e75e7 100644 --- a/extensions/ql-vscode/src/vscode-tests/no-workspace/webview-uri.test.ts +++ b/extensions/ql-vscode/src/vscode-tests/no-workspace/webview-uri.test.ts @@ -32,7 +32,7 @@ describe('webview uri conversion', function() { return { fileUriOnDisk, panel - } + }; } it('should correctly round trip from filesystem to webview and back', function() { diff --git a/extensions/ql-vscode/test/pure-tests/query-test.ts b/extensions/ql-vscode/test/pure-tests/query-test.ts index 37933e1e3a3..cb067aa2334 100644 --- a/extensions/ql-vscode/test/pure-tests/query-test.ts +++ b/extensions/ql-vscode/test/pure-tests/query-test.ts @@ -33,7 +33,7 @@ class Checkpoint { constructor() { this.res = () => { /**/ }; this.rej = () => { /**/ }; - this.promise = new Promise((res, rej) => { this.res = res; this.rej = rej; }) + this.promise = new Promise((res, rej) => { this.res = res; this.rej = rej; }); } async done(): Promise { @@ -114,7 +114,7 @@ describe('using the query server', function() { async getCodeQlPathWithoutVersionCheck(): Promise { return codeQlPath; }, - }, logger) + }, logger); qs = new qsClient.QueryServerClient( { codeQlPath, @@ -187,7 +187,7 @@ describe('using the query server', function() { const db: messages.Dataset = { dbDir: path.join(__dirname, '../test-db'), workingSet: 'default', - } + }; const params: messages.EvaluateQueriesParams = { db, evaluateId: callbackId,