async scan()

in src/scanners/filename.js [12:53]


  async scan() {
    const extension = extname(this.filename);
    const filenameWithoutPath = basename(this.filename);

    if (constants.ALREADY_SIGNED_REGEX.test(this.filename)) {
      this.linterMessages.push({
        ...messages.ALREADY_SIGNED,
        type: constants.VALIDATION_WARNING,
        file: this.filename,
      });
    } else if (constants.HIDDEN_FILE_REGEX.test(this.filename)) {
      this.linterMessages.push({
        ...messages.HIDDEN_FILE,
        type: constants.VALIDATION_WARNING,
        file: this.filename,
      });
    } else if (constants.FLAGGED_FILE_REGEX.test(this.filename)) {
      this.linterMessages.push({
        ...messages.FLAGGED_FILE,
        type: constants.VALIDATION_WARNING,
        file: this.filename,
      });
    } else if (constants.FLAGGED_FILE_EXTENSIONS.includes(extension)) {
      this.linterMessages.push({
        ...messages.FLAGGED_FILE_EXTENSION,
        type: constants.VALIDATION_WARNING,
        file: this.filename,
      });
    } else if (constants.RESERVED_FILENAMES.includes(filenameWithoutPath)) {
      this.linterMessages.push({
        ...messages.RESERVED_FILENAME,
        type: constants.VALIDATION_ERROR,
        file: this.filename,
      });
    } else {
      throw new Error(`Filename didn't match a regex: ${this.filename}.`);
    }
    return {
      linterMessages: this.linterMessages,
      scannedFiles: this.scannedFiles,
    };
  }