UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

70 lines (65 loc) 2.42 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('eslint/use-at-your-own-risk'); var formatPluginName_utility = require('../utility/format-plugin-name.utility.js'); var formatRuleName_utility = require('../utility/format-rule-name.utility.js'); var noSecretsPlugin = require('eslint-plugin-no-secrets'); var tseslint = require('typescript-eslint'); /** * Loads the ESLint configuration to prevent secrets from being committed * @param {IConfigOptions} _config - Configuration options * @returns {Array<Linter.Config>} An array of ESLint configurations for preventing secrets */ function loadConfig(_config) { return [ { plugins: { [formatPluginName_utility.formatPluginName("no-secrets")]: noSecretsPlugin, }, rules: { [formatRuleName_utility.formatRuleName("no-secrets/no-pattern-match")]: [ "error", { patterns: { ApiKey: /(?:const|let|var)\s+API[-_]?KEY/i, Password: /(?:const|let|var)\s+(?:PASSWORD|PASSWD|PWD)/i, SecretKey: /(?:const|let|var)\s+SECRET[-_]?KEY/i, Token: /(?:const|let|var)\s+(?:TOKEN|ACCESS[-_]?TOKEN)/i, }, }, ], [formatRuleName_utility.formatRuleName("no-secrets/no-secrets")]: [ "error", { ignoreModules: true, // eslint-disable-next-line @elsikora/typescript/no-magic-numbers tolerance: 5, }, ], }, }, { files: ["**/*.ts", "**/*.tsx"], languageOptions: { // @ts-ignore parser: tseslint.parser, parserOptions: { projectService: true, }, }, }, { files: ["**/*.js", "**/*.jsx"], languageOptions: { parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: "latest", }, }, }, ]; } exports.default = loadConfig; //# sourceMappingURL=no-secrets.js.map