{"version":3,"sources":["jsdelivr-header.js","/npm/@nori-dot-com/eslint-config-nori@1.9.5/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,MAAM,OAAS,QAAQ,mBACjB,qBAAuB,QAAQ,iCAC/B,aAAe,CAAC,MAAO,QACvB,aAAe,CAAC,MAAO,QACvB,cAAgB,IAAI,gBAAiB,cAC3C,OAAO,QAAU,CACb,SAAU,CACN,oBAAqB,cACrB,iBAAkB,CAAE,4BAA6B,cACjD,kBAAmB,CACf,KAAM,CAAE,WAAY,cACpB,WAAY,CAAE,gBAAgB,EAAM,WAAY,eAEpD,MAAO,CAAE,KAAM,eAEnB,UAAW,CACP,CACI,MAAO,CAAC,aACR,OAAQ,yBACR,QAAS,CAAC,8BAA+B,yBACzC,MAAO,CACH,YAAa,CACT,QACA,CACI,QAAS,CAAC,CAAC,2BAA4B,QAG/C,oBAAqB,CACjB,QAMA,CAAE,OAAQ,eAItB,CACI,MAAO,CAAC,OAAQ,OAAQ,QAAS,SACjC,OAAQ,4BACR,QAAS,CACL,qBACA,cACA,yCACA,2BACA,yBACA,uBACA,4BACA,gCACA,oCACA,6BACA,qCACA,+BAEJ,QAAS,CACL,QACA,cACA,SACA,2BACA,sBACA,QACA,QACA,OACA,gBACA,sBAEJ,UAAW,0BACX,MAAO,CACH,uBAAwB,CAAC,SACzB,uBAAwB,CAAC,GACzB,0BAA2B,CAAC,GAC5B,wBAAyB,CAAC,GAC1B,wBAAyB,CAAC,GAC1B,+BAAgC,CAAC,GACjC,yBAA0B,CAAC,QAAS,oBACpC,wBAAyB,CAAC,OAAQ,CAAE,KAAM,cAC1C,4CAA6C,CAAC,GAC9C,gCAAiC,CAC7B,QACA,CACI,UAAW,CACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,KAAK,GAET,OAAQ,CAAC,WAGjB,wBAAyB,CAAC,GAC1B,sCAAuC,CAAC,SACxC,sCAAuC,CACnC,QACA,CAAE,gBAAgB,IAEtB,oCAAqC,CAAC,SACtC,uBAAwB,CACpB,QACA,eACA,iBACA,mBACA,iBAEJ,wBAAyB,EACzB,oCAAqC,OACrC,oCAAqC,EACrC,eAAgB,CACZ,QACA,CAAE,cAAe,MAAO,wBAAwB,OAEjD,OAAO,WACV,kBAAmB,CAAC,GACpB,oBAAqB,CACjB,QACA,QACA,CAAE,GAAI,QAAS,KAAM,WAEzB,eAAgB,CACZ,QACA,CACI,mBAAoB,WAa5B,+BAAgC,EAChC,oCAAqC,CACjC,QACA,CACI,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,IAG1B,6BAA8B,EAC9B,6BAA8B,CAAC,EAAG,CAAE,WAAY,gBAChD,uBAAwB,EACxB,uBAAwB,IAGhC,CACI,MAAO,CAAC,aACR,QAAS,CACL,4CACA,gCAEJ,MAAO,CACH,mCAAoC,IAG5C,CACI,MAAO,CAAC,UAAW,YACnB,QAAS,CACL,uBACA,wCACA,gEACA,mCACA,2BACA,+BAEJ,QAAS,CAAC,sBACV,MAAO,CACH,4DAA6D,EAC7D,+CAAgD,EAChD,8CAA+C,EAC/C,gDAAiD,CAC7C,OACA,CACI,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,wDAAwD,IAGhE,YAAa,MACb,+BAAgC,QAEhC,qCAAsC,OACtC,iDAAkD,CAC9C,QACA,gBAED,OAAO,oBACP,qBAAqB,sBACxB,mDAAoD,EACpD,mDAAoD,CAChD,OACA,CAAE,kBAAkB,EAAM,+BAA+B,IAM7D,+BAAgC,CAAC,QACjC,uBAAwB,MACxB,0CAA2C,CACvC,QACA,CAAE,WAAW,EAAO,UAAU,EAAO,SAAS,IAElD,wBAAyB,MACzB,2CAA4C,OAC5C,uBAAwB,MACxB,oBAAqB,CACjB,QACA,QACA,CAAE,GAAI,QAAS,KAAM,WAEzB,6CAA8C,OAC9C,6BAA8B,CAAC,KAGvC,CACI,QAAS,CAAC,0BAA2B,4BACrC,MAAO,CACH,aACA,qBACA,qBACA,aACA,cACA,uBAEJ,IAAK,CAAE,MAAM,EAAM,MAAM,GACzB,MAAO,CACH,eAAgB,CAAC,GACjB,kCAAmC,CAAC,GACpC,2BAA4B,SAGpC,CACI,MAAO,CAAC,YACR,MAAO,CACH,mDAAoD,QAG5D,CACI,MAAO,CAAC,kBACR,MAAO,CAAE,+BAAgC,CAAC,SAE9C,CACI,QAAS,CAAC,cAAe,wBACzB,MAAO,CAAC,WAEZ,CACI,MAAO,CAAC,KACR,QAAS,CAAC","file":"/npm/@nori-dot-com/eslint-config-nori@1.9.5/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@nori-dot-com/eslint-config-nori@1.9.5/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nconst misc_1 = require(\"./settings/misc\");\nconst naming_conventions_1 = require(\"./settings/naming-conventions\");\nconst jsExtensions = ['.js', '.jsx'];\nconst tsExtensions = ['.ts', '.tsx'];\nconst allExtensions = [...jsExtensions, ...tsExtensions];\nmodule.exports = {\n    settings: {\n        'import/extensions': allExtensions,\n        'import/parsers': { '@typescript-eslint/parser': tsExtensions },\n        'import/resolver': {\n            node: { extensions: jsExtensions },\n            typescript: { alwaysTryTypes: true, extensions: tsExtensions },\n        },\n        jsdoc: { mode: 'typescript' },\n    },\n    overrides: [\n        {\n            files: ['README.md'],\n            parser: 'markdown-eslint-parser',\n            extends: ['plugin:prettier/recommended', 'plugin:md/recommended'],\n            rules: {\n                'md/remark': [\n                    'error',\n                    {\n                        plugins: [['lint-maximum-line-length', 120]],\n                    },\n                ],\n                'prettier/prettier': [\n                    'error',\n                    /**\n                     * Important to force prettier to use “markdown” parser - otherwise it wouldn't be able to parse *.md files.\n                     * You also can configure other options supported by prettier here - “prose-wrap” is\n                     * particularly useful for *.md files.\n                     */\n                    { parser: 'markdown' },\n                ],\n            },\n        },\n        {\n            files: ['*.js', '*.ts', '*.jsx', '*.tsx'],\n            parser: '@typescript-eslint/parser',\n            extends: [\n                'eslint:recommended',\n                'airbnb-base',\n                'plugin:require-path-exists/recommended',\n                'plugin:relay/recommended',\n                'plugin:import/warnings',\n                'plugin:import/errors',\n                'plugin:import/recommended',\n                'plugin:@next/next/recommended',\n                'plugin:@next/next/core-web-vitals',\n                'plugin:unicorn/recommended',\n                'plugin:eslint-comments/recommended',\n                'plugin:prettier/recommended', // todo define prettier.rc rules in this file\n            ],\n            plugins: [\n                'react',\n                'react-hooks',\n                'import',\n                'sort-imports-es6-autofix',\n                'require-path-exists',\n                'relay',\n                'jsdoc',\n                'jest',\n                'jest-extended',\n                'mui-unused-classes',\n            ],\n            processor: '@graphql-eslint/graphql',\n            rules: {\n                'no-implicit-coercion': ['error'],\n                'no-underscore-dangle': [0],\n                'unicorn/no-array-reduce': [0],\n                'unicorn/prefer-module': [0],\n                'unicorn/prefer-switch': [0],\n                'unicorn/no-useless-undefined': [0],\n                'unicorn/prefer-ternary': ['error', 'only-single-line'],\n                'unicorn/filename-case': ['warn', { case: 'kebabCase' }],\n                'unicorn/no-useless-promise-resolve-reject': [0],\n                'unicorn/prevent-abbreviations': [\n                    'error',\n                    {\n                        allowList: {\n                            seedDb: true,\n                            req: true,\n                            res: true,\n                            NConfConfig: true,\n                            params: true,\n                            args: true,\n                            Args: true,\n                            getStaticProps: true,\n                            Lib: true,\n                        },\n                        ignore: ['[a-z]'],\n                    },\n                ],\n                'unicorn/prefer-spread': [0],\n                'eslint-comments/require-description': ['error'],\n                'eslint-comments/disable-enable-pair': [\n                    'error',\n                    { allowWholeFile: true }, // allows using eslint-disable directives for whole-file disables\n                ],\n                'eslint-comments/no-unused-disable': ['error'],\n                'no-restricted-syntax': [\n                    'error',\n                    'ForStatement',\n                    'ForInStatement',\n                    'LabeledStatement',\n                    'WithStatement',\n                ],\n                'no-extra-boolean-cast': 0,\n                'mui-unused-classes/unused-classes': 'warn',\n                '@next/next/no-html-link-for-pages': 0,\n                'prefer-const': [\n                    'error',\n                    { destructuring: 'all', ignoreReadBeforeAssign: false },\n                ],\n                ...misc_1.jsdocRules,\n                'import/no-cycle': [0],\n                'import/extensions': [\n                    'error',\n                    'never',\n                    { ts: 'never', json: 'always' },\n                ],\n                'import/order': [\n                    'error',\n                    {\n                        'newlines-between': 'always',\n                        // groups: [\n                        //   'builtin',\n                        //   'external',\n                        //   'internal',\n                        //   'parent',\n                        //   'sibling',\n                        //   'index',\n                        //   'object',\n                        //   'type',\n                        // ],\n                    },\n                ],\n                'import/prefer-default-export': 0,\n                'import/no-extraneous-dependencies': [\n                    'error',\n                    {\n                        devDependencies: true,\n                        optionalDependencies: true,\n                        peerDependencies: false,\n                    },\n                ],\n                'relay/generated-flow-types': 0,\n                'require-path-exists/exists': [2, { extensions: allExtensions }],\n                'max-classes-per-file': 0,\n                'prefer-destructuring': 0,\n            },\n        },\n        {\n            files: ['*.graphql'],\n            extends: [\n                'plugin:@graphql-eslint/schema-recommended',\n                'plugin:@graphql-eslint/relay',\n            ],\n            rules: {\n                '@graphql-eslint/known-directives': 0,\n            },\n        },\n        {\n            files: ['**/*.ts', '**/*.tsx'],\n            extends: [\n                'plugin:import/errors',\n                'plugin:@typescript-eslint/recommended',\n                'plugin:@typescript-eslint/recommended-requiring-type-checking',\n                'plugin:@typescript-eslint/strict',\n                'plugin:import/typescript',\n                'plugin:prettier/recommended',\n            ],\n            plugins: ['@typescript-eslint'],\n            rules: {\n                '@typescript-eslint/no-unnecessary-boolean-literal-compare': 0,\n                '@typescript-eslint/prefer-nullish-coalescing': 0,\n                '@typescript-eslint/no-unnecessary-condition': 0,\n                '@typescript-eslint/strict-boolean-expressions': [\n                    'warn',\n                    {\n                        allowString: false,\n                        allowNumber: false,\n                        allowNullableObject: false,\n                        allowNullableBoolean: false,\n                        allowNullableString: false,\n                        allowNullableNumber: false,\n                        allowAny: false,\n                        allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: true,\n                    },\n                ],\n                'no-shadow': 'off',\n                '@typescript-eslint/no-shadow': 'error',\n                // 'id-denylist': ['error', 'FC', 'React.FC', 'React.FunctionComponent'], // todo enable (disallows type usage)\n                '@typescript-eslint/member-ordering': 'warn',\n                '@typescript-eslint/consistent-type-definitions': [\n                    'error',\n                    'interface',\n                ],\n                ...misc_1.noUnusedVarsRule,\n                ...naming_conventions_1.namingConventionRules,\n                '@typescript-eslint/explicit-member-accessibility': 0,\n                '@typescript-eslint/explicit-function-return-type': [\n                    'warn',\n                    { allowExpressions: true, allowTypedFunctionExpressions: true },\n                ],\n                // '@typescript-eslint/no-explicit-any': [\n                //   'error',\n                //   { ignoreRestArgs: true },\n                // ], // todo enable\n                '@typescript-eslint/ban-types': ['warn'],\n                'no-use-before-define': 'off',\n                '@typescript-eslint/no-use-before-define': [\n                    'error',\n                    { functions: false, typedefs: false, classes: false },\n                ],\n                'no-unused-expressions': 'off',\n                '@typescript-eslint/no-unused-expressions': 'warn',\n                'import/no-unresolved': 'off',\n                'import/extensions': [\n                    'error',\n                    'never',\n                    { ts: 'never', json: 'always' },\n                ],\n                '@typescript-eslint/consistent-type-imports': 'warn',\n                'require-path-exists/exists': [0],\n            },\n        },\n        {\n            extends: ['plugin:jest/recommended', 'plugin:jest-extended/all'],\n            files: [\n                '**.test.js',\n                '**/__mocks__/**.js',\n                '**/__mocks__/**.ts',\n                '**.test.ts',\n                '**.test.tsx',\n                'integration-util.ts',\n            ],\n            env: { node: true, jest: true },\n            rules: {\n                'dot-notation': [0],\n                '@typescript-eslint/dot-notation': [0],\n                'jest/prefer-strict-equal': 'warn',\n            },\n        },\n        {\n            files: ['**/*.tsx'],\n            rules: {\n                '@typescript-eslint/explicit-function-return-type': 'off',\n            },\n        },\n        {\n            files: ['**/*.stories.*'],\n            rules: { 'react/jsx-props-no-spreading': ['off'] },\n        },\n        {\n            extends: ['airbnb-base', 'plugin:toml/standard'],\n            files: ['*.toml'],\n        },\n        {\n            files: ['*'],\n            plugins: ['only-warn'],\n        },\n    ],\n};\n"]}