UNPKG

gts

Version:

Google TypeScript Style

97 lines 3.54 kB
/** * Copyright 2019 LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; const eslint = require('@eslint/js'); const tseslint = require('typescript-eslint'); const prettierConfig = require('eslint-config-prettier'); const pluginN = require('eslint-plugin-n'); const pluginPrettier = require('eslint-plugin-prettier'); const globals = require('globals'); const defineConfig = require('eslint/config').defineConfig; module.exports = defineConfig([ eslint.configs.recommended, prettierConfig, { plugins: { n: pluginN, prettier: pluginPrettier, }, rules: { 'prettier/prettier': 'error', 'block-scoped-var': 'error', eqeqeq: 'error', 'no-var': 'error', 'prefer-const': 'error', 'eol-last': 'error', 'prefer-arrow-callback': 'error', 'no-trailing-spaces': 'error', quotes: ['warn', 'single', { avoidEscape: true }], 'no-restricted-properties': [ 'error', { object: 'describe', property: 'only', }, { object: 'it', property: 'only', }, ], }, }, { files: ['**/.prettierrc.js', '**/eslint.config.js', '**/eslint.ignores.js'], languageOptions: { sourceType: 'commonjs', globals: globals.node, }, }, { files: ['**/*.ts', '**/*.tsx'], extends: [tseslint.configs.recommended], languageOptions: { parser: tseslint.parser, parserOptions: { ecmaVersion: 2018, sourceType: 'module', project: './tsconfig.json', }, }, rules: { '@typescript-eslint/ban-ts-comment': 'warn', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-use-before-define': 'off', '@typescript-eslint/no-warning-comments': 'off', '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-require-imports': 'off', '@typescript-eslint/no-empty-object-type': 'off', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/ban-types': 'off', '@typescript-eslint/camelcase': 'off', 'n/no-missing-import': 'off', 'n/no-empty-function': 'off', 'n/no-unsupported-features/es-syntax': 'off', 'n/no-missing-require': 'off', 'n/shebang': 'off', 'no-dupe-class-members': 'off', 'require-atomic-updates': 'off', }, }, ]); //# sourceMappingURL=index.js.map