getScanner()

in src/linter.js [348:378]


  getScanner(filename) {
    const filenameWithoutPath = path.basename(filename);

    if (
      filename.match(constants.HIDDEN_FILE_REGEX) ||
      filename.match(constants.FLAGGED_FILE_REGEX) ||
      constants.FLAGGED_FILE_EXTENSIONS.includes(path.extname(filename)) ||
      filename.match(constants.ALREADY_SIGNED_REGEX) ||
      constants.RESERVED_FILENAMES.includes(filenameWithoutPath)
    ) {
      return FilenameScanner;
    }

    switch (path.extname(filename)) {
      case '.html':
      case '.htm':
        return HTMLScanner;
      case '.js':
      case '.jsm':
      case '.mjs':
        return JavaScriptScanner;
      case '.json':
        return JSONScanner;
      case '.properties':
      case '.ftl':
      case '.dtd':
        return LangpackScanner;
      default:
        return BinaryScanner;
    }
  }