{"version":3,"file":"no_default_import.cjs","sources":["../../src/rules/no_default_import.ts"],"sourcesContent":["/**\n * @module @nhtio/eslint-config/rules/no_default_import\n */\n\nimport { createRule } from './common'\n\nimport type { TSESTree } from '@typescript-eslint/utils'\n\nconst noDefaultImportRule = createRule({\n  name: 'noDefaultImport',\n  meta: {\n    type: 'suggestion',\n    docs: {\n      description: 'Disallow default imports; enforce `import { default as X } from ...`',\n    },\n    fixable: 'code',\n    schema: [],\n    messages: {\n      noDefaultImport:\n        'Default imports are not allowed. Use `import { default as {{name}} } from ...` instead.',\n    },\n  },\n  create(context) {\n    const sourceCode = context.sourceCode\n    return {\n      ImportDeclaration(node: TSESTree.ImportDeclaration) {\n        const defaultSpec = node.specifiers.find(\n          (s): s is TSESTree.ImportDefaultSpecifier => s.type === 'ImportDefaultSpecifier'\n        )\n        if (!defaultSpec) return\n\n        const localName = defaultSpec.local.name\n        const otherNamed = node.specifiers.filter(\n          (s): s is TSESTree.ImportSpecifier => s.type === 'ImportSpecifier'\n        )\n\n        context.report({\n          node: defaultSpec,\n          messageId: 'noDefaultImport',\n          data: { name: localName },\n          fix(fixer) {\n            const namedSpecs = [\n              `default as ${localName}`,\n              ...otherNamed.map((s) => sourceCode.getText(s)),\n            ]\n            const newImport = `import { ${namedSpecs.join(\n              ', '\n            )} } from ${sourceCode.getText(node.source)};`\n            return fixer.replaceText(node, newImport)\n          },\n        })\n      },\n    }\n  },\n  defaultOptions: [],\n})\nexport default noDefaultImportRule\n"],"names":["noDefaultImportRule","createRule","context","sourceCode","node","defaultSpec","s","localName","otherNamed","fixer","newImport"],"mappings":"qJAQMA,EAAsBC,EAAAA,WAAW,CACrC,KAAM,kBACN,KAAM,CACJ,KAAM,aACN,KAAM,CACJ,YAAa,sEAAA,EAEf,QAAS,OACT,OAAQ,CAAA,EACR,SAAU,CACR,gBACE,yFAAA,CACJ,EAEF,OAAOC,EAAS,CACd,MAAMC,EAAaD,EAAQ,WAC3B,MAAO,CACL,kBAAkBE,EAAkC,CAClD,MAAMC,EAAcD,EAAK,WAAW,KACjCE,GAA4CA,EAAE,OAAS,wBAAA,EAE1D,GAAI,CAACD,EAAa,OAElB,MAAME,EAAYF,EAAY,MAAM,KAC9BG,EAAaJ,EAAK,WAAW,OAChCE,GAAqCA,EAAE,OAAS,iBAAA,EAGnDJ,EAAQ,OAAO,CACb,KAAMG,EACN,UAAW,kBACX,KAAM,CAAE,KAAME,CAAA,EACd,IAAIE,EAAO,CAKT,MAAMC,EAAY,YAJC,CACjB,cAAcH,CAAS,GACvB,GAAGC,EAAW,IAAKF,GAAMH,EAAW,QAAQG,CAAC,CAAC,CAAA,EAEP,KACvC,IAAA,CACD,WAAWH,EAAW,QAAQC,EAAK,MAAM,CAAC,IAC3C,OAAOK,EAAM,YAAYL,EAAMM,CAAS,CAC1C,CAAA,CACD,CACH,CAAA,CAEJ,EACA,eAAgB,CAAA,CAClB,CAAC"}