Index: frontend/node_modules/qs/eslint.config.mjs
===================================================================
--- frontend/node_modules/qs/eslint.config.mjs	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/qs/eslint.config.mjs	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,57 @@
+import ljharbConfig from '@ljharb/eslint-config/flat';
+
+export default [
+    {
+        ignores: ['dist/'],
+    },
+
+    ...ljharbConfig,
+
+    {
+        rules: {
+            complexity: 'off',
+            'consistent-return': 'warn',
+            eqeqeq: ['error', 'allow-null'],
+            'func-name-matching': 'off',
+            'id-length': [
+                'error',
+                {
+                    max: 25,
+                    min: 1,
+                    properties: 'never',
+                },
+            ],
+            indent: ['error', 4],
+            'max-lines': 'off',
+            'max-lines-per-function': [
+                'error',
+                { max: 150 },
+            ],
+            'max-params': ['error', 18],
+            'max-statements': ['error', 100],
+            'multiline-comment-style': 'off',
+            'no-continue': 'warn',
+            'no-magic-numbers': 'off',
+            'no-restricted-syntax': [
+                'error',
+                'BreakStatement',
+                'DebuggerStatement',
+                'ForInStatement',
+                'LabeledStatement',
+                'WithStatement',
+            ],
+        },
+    },
+
+    {
+        files: ['test/**'],
+        rules: {
+            'function-paren-newline': 'off',
+            'max-lines-per-function': 'off',
+            'max-statements': 'off',
+            'no-buffer-constructor': 'off',
+            'no-extend-native': 'off',
+            'no-throw-literal': 'off',
+        },
+    },
+];
