module.exports = { root: true, env: { node: true }, extends: ['plugin:vue/essential', '@vue/airbnb'], parserOptions: { parser: 'babel-eslint' }, globals: { window: true, THREE: true }, plugins: ['prettier'], rules: { 'vue/experimental-script-setup-vars': 'off', 'operator-linebreak': 'off', 'arrow-parens': 'off', 'comma-dangle': [ 'error', { arrays: 'never', objects: 'never', imports: 'never', exports: 'never', functions: 'ignore' } ], 'prefer-destructuring': [ 'error', { array: true, object: false }, { enforceForRenamedProperties: false } ], 'arrow-parens': 'off', 'function-paren-newline': 'off', 'import/no-unresolved': 'off', 'import/extensions': 'off', 'import/no-extraneous-dependencies': 'off', // 'import/no-extraneous-dependencies': context => [ // 'error', // { // devDependencies: true, // packageDir: [context.getFilename(), __dirname] // } // ], 'vue/no-unused-components': [ 'error', { ignoreWhenBindingPresent: true } ], 'vue/no-use-v-if-with-v-for': 'off', 'no-console': 'off', 'vue/no-parsing-error': [ 2, { 'x-invalid-end-tag': false, 'control-character-in-input-stream': false } ], 'vue/no-use-v-if-with-v-for': [ 'error', { allowUsingIterationVar: true // default: false } ], 'max-len': [ 'error', { code: 100, ignorePattern: true, ignoreUrls: true, ignoreStrings: true } ], 'no-param-reassign': [ 2, { props: false } ] } };