mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-12 22:08:04 -05:00
@@ -73,10 +73,10 @@ class TscTaskProvider implements vscode.TaskProvider {
|
||||
|
||||
public resolveTask(_task: vscode.Task): vscode.Task | undefined {
|
||||
const definition = <TypeScriptTaskDefinition>_task.definition;
|
||||
const badTsconfig = '\\tsconfig.json';
|
||||
if ((definition.tsconfig.length > badTsconfig.length) && (definition.tsconfig.substring(definition.tsconfig.length - badTsconfig.length, definition.tsconfig.length) === badTsconfig)) {
|
||||
const badTsconfig = /\\tsconfig.*\.json/;
|
||||
if (badTsconfig.exec(definition.tsconfig) !== null) {
|
||||
// Warn that the task has the wrong slash type
|
||||
vscode.window.showWarningMessage(localize('badTsConfig', "Typescript Task in tasks.json contains \"\\\\\". Typescript tasks must use \"/\""));
|
||||
vscode.window.showWarningMessage(localize('badTsConfig', "Typescript Task in tasks.json contains \"\\\\\". Typescript tasks tsconfig must use \"/\""));
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
@@ -470,17 +470,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
||||
return this._taskSystem.customExecutionComplete(task, result);
|
||||
}
|
||||
|
||||
private isBadTsConfig(taskId: string | TaskIdentifier | undefined): taskId is string {
|
||||
const badTsconfig = '\\tsconfig.json';
|
||||
const tsc = 'tsc';
|
||||
return typeof taskId === 'string' && (taskId.length > badTsconfig.length) && strings.equalsIgnoreCase(taskId.substring(taskId.length - badTsconfig.length, taskId.length), badTsconfig) && (taskId.substring(0, tsc.length) === tsc);
|
||||
}
|
||||
|
||||
public getTask(folder: IWorkspaceFolder | string, identifier: string | TaskIdentifier, compareId: boolean = false): Promise<Task | undefined> {
|
||||
if (this.isBadTsConfig(identifier)) {
|
||||
return Promise.reject(new Error(nls.localize('badTsConfig', "Task '{0}' contains \"\\\\\". Typescript tasks must use \"/\"", identifier)));
|
||||
}
|
||||
|
||||
const name = Types.isString(folder) ? folder : folder.name;
|
||||
if (this.ignoredWorkspaceFolders.some(ignored => ignored.name === name)) {
|
||||
return Promise.reject(new Error(nls.localize('TaskServer.folderIgnored', 'The folder {0} is ignored since it uses task version 0.1.0', name)));
|
||||
@@ -2289,4 +2279,4 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
||||
this._taskSystem!.revealTask(task);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user