UNPKG

@soleil-se/eslint-config

Version:

ESLint configuration for Sitevision apps and projects.

88 lines (82 loc) 2.35 kB
import { RuleTester } from 'eslint'; import { afterAll, describe, it } from 'vitest'; import importNamingPlugin from './index.js'; RuleTester.afterAll = afterAll; RuleTester.describe = describe; RuleTester.it = it; RuleTester.itOnly = it.only; const ruleTester = new RuleTester({ languageOptions: { ecmaVersion: 'latest', sourceType: 'module', }, }); const rule = importNamingPlugin.rules['match-package-default-import-name']; ruleTester.run('match-package-default-import-name', rule, { valid: [ { code: "import PortletContextUtil from '@sitevision/api/server/PortletContextUtil';", options: [{ packages: ['@sitevision/api'] }], }, { code: "import qs from 'qs';", options: [{ packages: ['qs'] }], }, { code: "import debounce from 'lodash/debounce';", options: [{ packages: ['lodash'] }], }, { code: "import helper from './helper.js';", options: [{ packages: ['@sitevision/api'] }], }, { code: "import customName from 'pkg';", options: [{ packages: ['@sitevision/api'] }], }, ], invalid: [ { code: "import portletContextUtil from '@sitevision/api/server/PortletContextUtil';\nconsole.log(portletContextUtil);", options: [{ packages: ['@sitevision/api'] }], errors: [ { messageId: 'mismatch', data: { expected: 'PortletContextUtil', source: '@sitevision/api/server/PortletContextUtil', }, }, ], output: "import PortletContextUtil from '@sitevision/api/server/PortletContextUtil';\nconsole.log(PortletContextUtil);", }, { code: "import myQs from 'qs';\nmyQs();", options: [{ packages: ['qs'] }], errors: [ { messageId: 'mismatch', data: { expected: 'qs', source: 'qs', }, }, ], output: "import qs from 'qs';\nqs();", }, { code: "import myDebounce from 'lodash/debounce';\nmyDebounce();", options: [{ packages: ['lodash'] }], errors: [ { messageId: 'mismatch', data: { expected: 'debounce', source: 'lodash/debounce', }, }, ], output: "import debounce from 'lodash/debounce';\ndebounce();", }, ], });