1*90c8c64dSAndroid Build Coastguard Worker/* 2*90c8c64dSAndroid Build Coastguard Worker * Copyright (C) 2022 The Android Open Source Project 3*90c8c64dSAndroid Build Coastguard Worker * 4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*90c8c64dSAndroid Build Coastguard Worker * 8*90c8c64dSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*90c8c64dSAndroid Build Coastguard Worker * 10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License. 15*90c8c64dSAndroid Build Coastguard Worker */ 16*90c8c64dSAndroid Build Coastguard Worker 17*90c8c64dSAndroid Build Coastguard Workermodule.exports = { 18*90c8c64dSAndroid Build Coastguard Worker extends: ['eslint-config-prettier', 'eslint:recommended'], 19*90c8c64dSAndroid Build Coastguard Worker plugins: ['eslint-plugin-prettier', '@typescript-eslint'], 20*90c8c64dSAndroid Build Coastguard Worker parser: '@typescript-eslint/parser', 21*90c8c64dSAndroid Build Coastguard Worker parserOptions: { 22*90c8c64dSAndroid Build Coastguard Worker ecmaVersion: 'latest', 23*90c8c64dSAndroid Build Coastguard Worker sourceType: 'module', 24*90c8c64dSAndroid Build Coastguard Worker }, 25*90c8c64dSAndroid Build Coastguard Worker env: { 26*90c8c64dSAndroid Build Coastguard Worker es2022: true, 27*90c8c64dSAndroid Build Coastguard Worker node: true, 28*90c8c64dSAndroid Build Coastguard Worker browser: true, 29*90c8c64dSAndroid Build Coastguard Worker webextensions: true, 30*90c8c64dSAndroid Build Coastguard Worker jasmine: true, 31*90c8c64dSAndroid Build Coastguard Worker protractor: true, 32*90c8c64dSAndroid Build Coastguard Worker }, 33*90c8c64dSAndroid Build Coastguard Worker ignorePatterns: [ 34*90c8c64dSAndroid Build Coastguard Worker // Perfetto trace processor sources. Either auto-generated (we want to keep them untouched) 35*90c8c64dSAndroid Build Coastguard Worker // or copied from external/perfetto (we want to touch them as little as possible to allow 36*90c8c64dSAndroid Build Coastguard Worker // future upgrading, diffing, conflicts merging, ...) 37*90c8c64dSAndroid Build Coastguard Worker 'src/trace_processor/', 38*90c8c64dSAndroid Build Coastguard Worker ], 39*90c8c64dSAndroid Build Coastguard Worker rules: { 40*90c8c64dSAndroid Build Coastguard Worker 'no-unused-vars': 'off', // not very robust rule 41*90c8c64dSAndroid Build Coastguard Worker 42*90c8c64dSAndroid Build Coastguard Worker // Partially taken from https://github.com/google/eslint-config-google 43*90c8c64dSAndroid Build Coastguard Worker // Omitted layout & formatting rules because that's handled by prettier 44*90c8c64dSAndroid Build Coastguard Worker 'no-var': 'error', 45*90c8c64dSAndroid Build Coastguard Worker 'prefer-const': ['error', {destructuring: 'all'}], 46*90c8c64dSAndroid Build Coastguard Worker 'prefer-rest-params': 'error', 47*90c8c64dSAndroid Build Coastguard Worker 'prefer-spread': 'error', 48*90c8c64dSAndroid Build Coastguard Worker 'no-restricted-imports': [ 49*90c8c64dSAndroid Build Coastguard Worker 'error', 50*90c8c64dSAndroid Build Coastguard Worker { 51*90c8c64dSAndroid Build Coastguard Worker 'patterns': ['..*'], 52*90c8c64dSAndroid Build Coastguard Worker }, 53*90c8c64dSAndroid Build Coastguard Worker ], 54*90c8c64dSAndroid Build Coastguard Worker }, 55*90c8c64dSAndroid Build Coastguard Worker globals: { 56*90c8c64dSAndroid Build Coastguard Worker // Specify NodeJS global as temporary workaround for eslint bug: 57*90c8c64dSAndroid Build Coastguard Worker // https://stackoverflow.com/questions/64089216/after-upgrade-eslint-says-nodejs-is-undefined 58*90c8c64dSAndroid Build Coastguard Worker // https://github.com/Chatie/eslint-config/issues/45 59*90c8c64dSAndroid Build Coastguard Worker NodeJS: true, 60*90c8c64dSAndroid Build Coastguard Worker }, 61*90c8c64dSAndroid Build Coastguard Worker}; 62