mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-18 03:23:57 +08:00
Before we only allowed tsconfig files (with includes added). This is necessary for the lint fixing for schematics to target specific files. Also added a feature that look for the tslint.json file if no tslint.json file or configuration object was passed. Skipping the first argument to the task constructor will look for the tslint closest to EVERY files being linted.
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
import { JsonObject } from '@angular-devkit/core';
|
|
import { TaskConfiguration, TaskConfigurationGenerator } from '../../src';
|
|
import { TslintFixName, TslintFixTaskOptions, TslintFixTaskOptionsBase } from './options';
|
|
|
|
|
|
export class TslintFixTask implements TaskConfigurationGenerator<TslintFixTaskOptions> {
|
|
protected _configOrPath: null | string | JsonObject;
|
|
protected _options: TslintFixTaskOptionsBase;
|
|
|
|
constructor(config: JsonObject, options: TslintFixTaskOptionsBase);
|
|
constructor(options: TslintFixTaskOptionsBase);
|
|
constructor(path: string, options: TslintFixTaskOptionsBase);
|
|
constructor(
|
|
configOrPath: string | JsonObject | TslintFixTaskOptionsBase,
|
|
options?: TslintFixTaskOptionsBase,
|
|
) {
|
|
if (options) {
|
|
this._configOrPath = configOrPath as string | JsonObject;
|
|
this._options = options;
|
|
} else {
|
|
this._options = configOrPath as TslintFixTaskOptionsBase;
|
|
this._configOrPath = null;
|
|
}
|
|
}
|
|
|
|
toConfiguration(): TaskConfiguration<TslintFixTaskOptions> {
|
|
const path = typeof this._configOrPath == 'string' ? { tslintPath: this._configOrPath } : {};
|
|
const config = typeof this._configOrPath == 'object' && this._configOrPath !== null
|
|
? { tslintConfig: this._configOrPath }
|
|
: {};
|
|
const options = {
|
|
...this._options,
|
|
...path,
|
|
...config,
|
|
};
|
|
|
|
return { name: TslintFixName, options };
|
|
}
|
|
}
|