| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslint_1 = require("tslint");
- var typescript_1 = require("typescript");
- var util_1 = require("util");
- /**
- * Lint a file according to config
- * @param {Linter} linter
- * @param {LinterConfig} config
- * @param {string} filePath
- * @param {string} fileContents
- */
- function lint(linter, config, filePath, fileContents) {
- linter.lint(filePath, fileContents, config);
- }
- exports.lint = lint;
- /**
- * Get the linter result
- * @param {Linter} linter
- * @return {LintResult}
- */
- function getLintResult(linter) {
- return linter.getResult();
- }
- exports.getLintResult = getLintResult;
- /**
- * Type check a TS program
- * @param {BuildContext} context
- * @param {Program} program
- * @param {LinterOptions} linterOptions
- * @return {Promise<Diagnostic[]>}
- */
- function typeCheck(context, program, linterOptions) {
- if (util_1.isObject(linterOptions) && linterOptions.typeCheck) {
- return Promise.resolve(typescript_1.getPreEmitDiagnostics(program));
- }
- return Promise.resolve([]);
- }
- exports.typeCheck = typeCheck;
- /**
- * Create a TS program based on the BuildContext {rootDir} or TS config file path (if provided)
- * @param {BuildContext} context
- * @param {string} tsConfig
- * @return {Program}
- */
- function createProgram(context, tsConfig) {
- return tslint_1.Linter.createProgram(tsConfig, context.rootDir);
- }
- exports.createProgram = createProgram;
- /**
- * Get all files that are sourced in TS config
- * @param {BuildContext} context
- * @param {Program} program
- * @return {Array<string>}
- */
- function getFileNames(context, program) {
- return tslint_1.Linter.getFileNames(program);
- }
- exports.getFileNames = getFileNames;
- /**
- * Get lint configuration
- * @param {string} tsLintConfig
- * @param {LinterOptions} linterOptions
- * @return {Linter}
- */
- function getTsLintConfig(tsLintConfig, linterOptions) {
- var config = tslint_1.Configuration.loadConfigurationFromPath(tsLintConfig);
- Object.assign(config, util_1.isObject(linterOptions) ? { linterOptions: linterOptions } : {});
- return config;
- }
- exports.getTsLintConfig = getTsLintConfig;
- /**
- * Create a TS linter
- * @param {BuildContext} context
- * @param {Program} program
- * @return {Linter}
- */
- function createLinter(context, program) {
- return new tslint_1.Linter({
- fix: false
- }, program);
- }
- exports.createLinter = createLinter;
|