當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript tslint.Linter類代碼示例

本文整理匯總了TypeScript中tslint.Linter的典型用法代碼示例。如果您正苦於以下問題:TypeScript Linter類的具體用法?TypeScript Linter怎麽用?TypeScript Linter使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Linter類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: lint

function lint(dir: string): void {
  const options = {
    rulesDirectory: join(paths.base_dir, "tslint", "rules"),
    formatter: "stylish",
    fix: argv.fix || false,
  }

  const program = Linter.createProgram(join(dir, "tsconfig.json"))
  const linter = new Linter(options, program)
  const files = Linter.getFileNames(program)

  for (const file of files) {
    const config = Configuration.findConfiguration("./tslint.json", file).results
    const contents = program.getSourceFile(file)!.getFullText()
    linter.lint(file, contents, config)
  }

  const result = linter.getResult()

  if (result.errorCount != 0) {
    for (const line of result.output.trim().split("\n"))
      log(line)

    if (argv.emitError)
      process.exit(1)
  }
}
開發者ID:jsignell,項目名稱:bokeh,代碼行數:27,代碼來源:lint.ts

示例2: lint

function lint(dir: string): void {
  for (const file of scan(dir, [".ts"])) {
    const options = {
      rulesDirectory: join(paths.base_dir, "tslint", "rules"),
      formatter: "stylish",
      fix: argv.fix || false,
    }

    const linter = new Linter(options)
    const config = Configuration.findConfiguration("./tslint.json", file).results
    linter.lint(file, read(file)!, config)
    const result = linter.getResult()

    if (result.errorCount != 0) {
      for (const line of result.output.trim().split("\n"))
        log(line)
    }
  }
}
開發者ID:HuntJSparra,項目名稱:bokeh,代碼行數:19,代碼來源:lint.ts

示例3: lint

export default function lint() {
  const program = tslint.Linter.createProgram("./tsconfig.json");
  return gulp.src([project.transpiler.source])
    .pipe(gulpTsLint({
      tslint: tslint,
      formatter: 'prose',
      program: program
    }))
    .pipe(gulpTsLint.report());
}
開發者ID:TylerLeite,項目名稱:supa-kyapucha-gemu,代碼行數:10,代碼來源:lint.ts

示例4: runTSLint

  /** Runs TSLint with the no-template-variable TSLint rule.*/
  function runTSLint() {
    const program = Linter.createProgram(join(tmpDir, 'tsconfig.json'));
    const linter = new Linter({fix: false, rulesDirectory: [rulesDirectory]}, program);
    const config = Configuration.parseConfigFile(
        {rules: {'no-template-variable-assignment': true}, linterOptions: {typeCheck: true}});

    program.getRootFileNames().forEach(fileName => {
      linter.lint(fileName, program.getSourceFile(fileName) !.getFullText(), config);
    });

    return linter;
  }
開發者ID:Cammisuli,項目名稱:angular,代碼行數:13,代碼來源:no_template_variable_assignment_rule_spec.ts

示例5: runTSLint

  /**
   * Runs TSLint with the static-query timing TSLint rule. By default the rule fixes
   * are automatically applied.
   */
  function runTSLint(fix = true) {
    const program = Linter.createProgram(join(tmpDir, 'tsconfig.json'));
    const linter = new Linter({fix, rulesDirectory: [rulesDirectory]}, program);
    const config = Configuration.parseConfigFile(
        {rules: {'explicit-query-timing': true}, linterOptions: {typeCheck: true}});

    program.getRootFileNames().forEach(fileName => {
      linter.lint(fileName, program.getSourceFile(fileName) !.getFullText(), config);
    });

    return linter;
  }
開發者ID:StephenFluin,項目名稱:angular,代碼行數:16,代碼來源:explicit_query_timing_rule_spec.ts

示例6: tslintAsync

export async function tslintAsync() {
  const program = Linter.createProgram('tsconfig.json');
  const linter = new Linter(lintOptions, program);

  // note: normally dependencies aren't part of your source files, but if you
  // import a file from a dependency (e.g. `import "cool-package/foo"`) this
  // will be in your files array → that's why we need `.filter(isSourceFile)`
  const files = Linter.getFileNames(program).filter(isSourceFile);

  files.forEach(file => {
    const fileContents = program.getSourceFile(file).getFullText();
    const conf = Configuration.findConfiguration(configPath, file).results;
    linter.lint(file, fileContents, conf);
  });

  const result = linter.getResult();
  const errors = result.output;
  const errorsCount = result.errorCount;
  const fixedFiles = uniq((result.fixes || []).map(({ fileName }) => fileName));

  return { errors, errorsCount, fixedFiles };
}
開發者ID:otbe,項目名稱:ws,代碼行數:22,代碼來源:tslint.ts

示例7: lint

/**
 * A helper function for specs. Lints the given `source` string against the `ruleName` with
 *  `options`.
 *
 *  You're unlikely to use these in actual specs. Usually you'd use some of the following:
 *    - `assertAnnotated` or
 *    - `assertSuccess`.
 *
 * @param ruleName the name of the rule which is being tested
 * @param source the source code, as a string
 * @param options additional options for the lint rule
 * @returns {LintResult} the result of linting
 */
function lint(ruleName: string, source: string | ts.SourceFile, options: any): tslint.LintResult {
  let configuration = {
    extends: [],
    rules: new Map<string, Partial<tslint.IOptions>>(),
    jsRules: new Map<string, Partial<tslint.IOptions>>(),
    rulesDirectory: []
  };
  if (!options) {
    options = [];
  }
  const ops: Partial<tslint.IOptions> = { ruleName, ruleArguments: options, disabledIntervals: [] };
  configuration.rules.set(ruleName, ops);
  const linterOptions: tslint.ILinterOptions = {
    formatter: 'json',
    rulesDirectory: './dist/src',
    formattersDirectory: null,
    fix: false
  };

  let linter = new tslint.Linter(linterOptions, undefined);
  if (typeof source === 'string') {
    linter.lint('file.ts', source, configuration);
  } else {
    const rules = loadRules(convertRuleOptions(configuration.rules), linterOptions.rulesDirectory, false);
    const res = [].concat.apply([], rules.map(r => r.apply(source))) as tslint.RuleFailure[];
    const errCount = res.filter(r => !r.getRuleSeverity || r.getRuleSeverity() === 'error').length;
    return {
      errorCount: errCount,
      warningCount: res.length - errCount,
      output: '',
      format: null,
      fixes: [].concat.apply(res.map(r => r.getFix())),
      failures: res
    };
  }
  return linter.getResult();
}
開發者ID:SteveVanOpstal,項目名稱:codelyzer,代碼行數:50,代碼來源:testHelper.ts

示例8: taskTslint

/**
 * Runs TSLint on source files.
 */
export default function taskTslint(settings: IGulpSettings): any {
    "use strict";

    const gulpTslint = require("gulp-tslint");
    const tslint = require("tslint");

    const program = tslint.Linter.createProgram(Constants.files.src.tsconfig);

    return settings.gulp
        .src(
            [
                `${Constants.folders.src}/**/*.ts`,
                `!${Constants.folders.src}/**/*.d.ts`
            ],
            {
                base: "."
            })
        .pipe(gulpTslint({
            formatter: "verbose",
            program
        }))
        .pipe(gulpTslint.report());
}
開發者ID:FullScreenShenanigans,項目名稱:gulp-shenanigans,代碼行數:26,代碼來源:tslint.ts

示例9:

const lintingFailures = absolutePathToFiles.reduce<RuleFailure[]>((failures, absPath) => {
  const source = fs.readFileSync(absPath, 'utf8')
  linter.lint(absPath, source, configuration)
  const results = linter.getResult()

  if (results.failureCount > 0) {
    return failures.concat(results.failures)
  } else {
    return failures
  }
}, [] as RuleFailure[])
開發者ID:krzkaczor,項目名稱:standardts,代碼行數:11,代碼來源:cli.ts

示例10: catch

    workSet.forEach(fileName => {
      cancellationToken.throwIfCancellationRequested();

      try {
        this.linter.lint(fileName, undefined, this.linterConfig);
      } catch (e) {
        if (
          fs.existsSync(fileName) &&
          // check the error type due to file system lag
          !(e instanceof Error) &&
          !(e.constructor.name === 'FatalError') &&
          !(e.message && e.message.trim().startsWith('Invalid source file'))
        ) {
          // it's not because file doesn't exist - throw error
          throw e;
        }
      }
    });
開發者ID:livechat,項目名稱:fork-ts-checker-webpack-plugin,代碼行數:18,代碼來源:IncrementalChecker.ts


注:本文中的tslint.Linter類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。