nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

.eslintrc.js (2868B)


      1 'use strict';
      2 
      3 const legacyFiles = require('./eslint_rules/legacy_files_list');
      4 
      5 const vendoredFiles = './src/vendored/**/*.js';
      6 const protobufFiles = './src/**/*_pb.js';
      7 
      8 module.exports = {
      9     root: true,
     10     ignorePatterns: ['node_modules', 'build', 'deploy'],
     11     extends: ['./eslint_rules/base.js', './eslint_rules/imports.js'],
     12     overrides: [
     13         /* all new js code */
     14         {
     15             files: './**/*.js',
     16             excludedFiles: [...legacyFiles, vendoredFiles, protobufFiles],
     17             extends: ['./eslint_rules/prettier.js'],
     18         },
     19         /* web application */
     20         {
     21             files: './src/**/*.js',
     22             extends: ['./eslint_rules/relax_webapp_js.js', './eslint_rules/imports_webapp.js'],
     23             env: {
     24                 browser: true,
     25                 es2020: true,
     26                 commonjs: true,
     27             },
     28             parser: 'babel-eslint',
     29             parserOptions: {
     30                 sourceType: 'module',
     31             },
     32             globals: {
     33                 NODE_ENV: true,
     34                 RELEASE_VER: true,
     35             },
     36         },
     37         /* web application legacy code*/
     38         {
     39             files: legacyFiles,
     40             extends: ['./eslint_rules/relax_legacy.js', './eslint_rules/imports_relax_legacy.js'],
     41         },
     42         /* vendored files*/
     43         {
     44             files: vendoredFiles,
     45             extends: ['./eslint_rules/relax_vendored.js', './eslint_rules/imports_relax_vendored.js'],
     46         },
     47         /* auto-generated files */
     48         {
     49             files: protobufFiles,
     50             extends: ['./eslint_rules/relax_protobuf.js', './eslint_rules/imports_relax_protobuf.js'],
     51         },
     52         /* tests code */
     53         {
     54             files: './test/**/*.js',
     55             excludedFiles: './test/karma.conf.js',
     56             parser: 'babel-eslint',
     57             extends: ['./eslint_rules/relax_tests.js', './eslint_rules/imports_tests.js'],
     58             env: {
     59                 browser: true,
     60                 mocha: true,
     61                 es2020: true,
     62             },
     63             parserOptions: {
     64                 sourceType: 'module',
     65             },
     66             globals: {
     67                 require: true,
     68                 assert: true,
     69             },
     70         },
     71         /* config code */
     72         {
     73             files: [
     74                 './webpack/**/*.js',
     75                 './test/karma.conf.js',
     76                 './scripts/**/*.js',
     77                 './eslint_rules/*.js',
     78                 './.eslintrc.js',
     79             ],
     80             env: {
     81                 node: true,
     82                 es2017: true,
     83             },
     84             extends: ['./eslint_rules/imports_configs.js'],
     85         },
     86         /* command line scripts */
     87         {
     88             files: ['./scripts/build.js', './webpack/webpack.config.js'],
     89             rules: {
     90                 'no-console': 'off',
     91             },
     92         },
     93     ],
     94 };