/ eslint.config.js
eslint.config.js
 1  import globals from 'globals';
 2  import js from '@eslint/js';
 3  
 4  export default [
 5      js.configs.recommended,
 6      {
 7          languageOptions: {
 8              globals: {
 9                  ...globals.browser,
10                  ...globals.node,
11                  Uint8Array: 'readonly',
12              },
13              ecmaVersion: 2020,
14          },
15          rules: {
16              indent: ['error', 4],
17              'no-trailing-spaces': ['error'],
18              'linebreak-style': ['error', 'unix'],
19              'eol-last': ['error', 'always'],
20              semi: ['warn', 'always'],
21              quotes: [ 'error', 'single', {
22                  avoidEscape: true,
23              }],
24              'no-var': ['warn'],
25              'comma-dangle': ['error', 'always-multiline'],
26              'no-unused-vars': ['error', {
27                  caughtErrorsIgnorePattern: 'ignore',
28              }],
29          },
30      },
31      {
32          files: ['oids.js'],
33          rules: {
34              indent: 'off',
35              quotes: ['warn', 'double'],
36          },
37      },
38      {
39          files: ['tags.js', 'rfcdef.js'],
40          rules: {
41              indent: [
42                  'error',
43                  2,
44                  {
45                      ignoredNodes: [
46                          "Program > ExpressionStatement > CallExpression > FunctionExpression > BlockStatement > ExpressionStatement[directive='use strict']:first-child",
47                      ],
48                  },
49              ],
50              'comma-dangle': 'off',
51              quotes: ['warn', 'double'],
52          },
53      },
54      {
55          files: ['test.js', 'parseRFC.js', 'dumpASN1.js', 'testDefs.js', 'eslint.config.js'],
56          languageOptions: {
57              ecmaVersion: 'latest',
58          },
59          rules: {
60              strict: ['error', 'global'],
61          },
62      },
63  ];