From 0c5329c93a4042a435bd97dca49f7694ad75c9fe Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Sat, 20 May 2023 17:02:56 +0200 Subject: [PATCH] feat: ignore camelcase rule for __webpack variables Signed-off-by: Daniel Kesselberg --- index.js | 6 ++++++ tests/eslint-config.test.ts | 6 ++++++ tests/fixtures/webpack-nonce.js | 2 ++ 3 files changed, 14 insertions(+) create mode 100644 tests/fixtures/webpack-nonce.js diff --git a/index.js b/index.js index 8c41aa6..0100a6a 100644 --- a/index.js +++ b/index.js @@ -118,6 +118,12 @@ module.exports = { 'import/extensions': ['warn', 'always', { ignorePackages: true, }], + // ignore camelcase for __webpack variables + camelcase: ['error', { + allow: ['^UNSAFE_', '^__webpack_'], + properties: 'never', + ignoreGlobals: true, + }], }, overrides: [ { diff --git a/tests/eslint-config.test.ts b/tests/eslint-config.test.ts index 36c746b..acc1962 100644 --- a/tests/eslint-config.test.ts +++ b/tests/eslint-config.test.ts @@ -28,4 +28,10 @@ test('TSX is linted', async () => { expect(results).toHaveIssue({ruleId: 'jsdoc/check-tag-names', line: 5}) expect(results).toHaveIssue({ruleId: '@typescript-eslint/no-unused-vars', line: 7}) expect(results).toHaveIssueCount(2) +}) + +test('ignore camelcase for webpack', async () => { + const results = await lintFile('fixtures/webpack-nonce.js') + expect(results).toHaveIssueCount(1) + expect(results).toHaveIssue({ruleId: 'no-undef', line: 2 }) }) \ No newline at end of file diff --git a/tests/fixtures/webpack-nonce.js b/tests/fixtures/webpack-nonce.js new file mode 100644 index 0000000..1da9593 --- /dev/null +++ b/tests/fixtures/webpack-nonce.js @@ -0,0 +1,2 @@ +// ignore camelcase for __webpack_ variables +__webpack_nonce__ = 'foo_bar'