Both the .json and .yml config formats are deprecated in favor of flat configs exported from eslint.config.js files. The good news is that gjs' config is now available as a shared config from the `eslint-config-gnome` package in World/javascript, so we no longer have to copy the entire thing. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/408>
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
// SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org>
|
|
// SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
|
|
|
import {defineConfig} from '@eslint/config-helpers';
|
|
import gnome from 'eslint-config-gnome';
|
|
|
|
export default defineConfig([
|
|
gnome.configs.recommended,
|
|
gnome.configs.jsdoc,
|
|
{
|
|
rules: {
|
|
camelcase: ['error', {
|
|
properties: 'never',
|
|
}],
|
|
'consistent-return': 'error',
|
|
'eqeqeq': ['error', 'smart'],
|
|
'key-spacing': ['error', {
|
|
mode: 'minimum',
|
|
beforeColon: false,
|
|
afterColon: true,
|
|
}],
|
|
'prefer-arrow-callback': 'error',
|
|
'jsdoc/require-param-description': 'off',
|
|
'jsdoc/require-jsdoc': ['error', {
|
|
exemptEmptyFunctions: true,
|
|
publicOnly: {
|
|
esm: true,
|
|
},
|
|
}],
|
|
},
|
|
languageOptions: {
|
|
globals: {
|
|
global: 'readonly',
|
|
},
|
|
},
|
|
},
|
|
]);
|