function getESLintImportOrderRule() {
  return {
    'import/order': ['error', {
      groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'],
      'newlines-between': 'always-and-inside-groups',
      alphabetize: {
        order: 'asc',
        caseInsensitive: true
      },
      pathGroups: [{
        pattern: 'vue',
        group: 'external',
        position: 'before'
      }, {
        pattern: 'vite',
        group: 'external',
        position: 'before'
      }],
      pathGroupsExcludedImportTypes: ['builtin']
    }]
  };
}

export { getESLintImportOrderRule };
