Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/odd-boats-create.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@commencis/lint-staged-config': minor
'@commencis/stylelint-config': minor
'@commencis/eslint-config': minor
'@commencis/eslint-plugin': minor
---

feat: update consistent type imports
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"devDependencies": {
"@changesets/cli": "2.29.6",
"@commencis/commitlint-config": "1.1.4",
"@commencis/eslint-config": "1.7.5",
"@commencis/eslint-config": "2.0.0",
"@commencis/lint-staged-config": "1.0.0",
"@commencis/prettier-config": "2.0.0",
"@commencis/ts-config": "0.0.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/configs/next.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type FlatConfigArray } from '@/types';
import type { FlatConfigArray } from '@/types';

import baseConfig from '@/configs/base';
import prettierConfig from '@/configs/prettier';
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/configs/typescript.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import tseslint from 'typescript-eslint';

import { type FlatConfigArray } from '@/types';
import type { FlatConfigArray } from '@/types';

import { typescriptRules } from '@/rules';

Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/configs/vue.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import tseslint from 'typescript-eslint';

import { type FlatConfigArray } from '@/types';
import type { FlatConfigArray } from '@/types';

import baseConfig from '@/configs/base';
import prettierConfig from '@/configs/prettier';
Expand Down
3 changes: 2 additions & 1 deletion packages/eslint-config/src/plugins/importSortPlugin.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import simpleImportSortPlugin from 'eslint-plugin-simple-import-sort';

import { importSortRules } from '@/rules';
import type { FlatConfig } from '@/types';

import { importSortRules } from '@/rules';

export const importSortPluginConfig: FlatConfig = {
name: 'commencis/plugin:simple-import-sort',
plugins: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/plugins/jsxA11yPlugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';

import type { FlatConfig } from '@/types';
import { JSX_TSX_FILE_PATTERNS } from '@/constants';
import { type FlatConfig } from '@/types';

export const jsxA11yPluginConfig: FlatConfig = {
name: 'commencis/plugin:jsx-a11y',
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/plugins/nextPlugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import nextPlugin from '@next/eslint-plugin-next';

import type { FlatConfig } from '@/types';
import { JSX_TSX_FILE_PATTERNS } from '@/constants';
import { type FlatConfig } from '@/types';

import { nextPluginRules } from '@/rules';

Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/plugins/reactHooksPlugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import reactHooksPlugin from 'eslint-plugin-react-hooks';

import type { FlatConfig } from '@/types';
import { JSX_TSX_FILE_PATTERNS } from '@/constants';
import { type FlatConfig } from '@/types';

import { reactHooksRules } from '@/rules';

Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/plugins/reactPlugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import reactPlugin from 'eslint-plugin-react';

import type { FlatConfig } from '@/types';
import { JSX_TSX_FILE_PATTERNS } from '@/constants';
import { type FlatConfig } from '@/types';

import { reactRules } from '@/rules';

Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/plugins/vuePlugin.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import vuePlugin from 'eslint-plugin-vue';

import { FlatConfigArray } from '@/types';
import type { FlatConfigArray } from '@/types';

export const vuePluginConfig: FlatConfigArray = [
...vuePlugin.configs['flat/recommended'],
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/rules/importSortRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const GROUPS: Record<string, string[]> = {
]),

// Internal root alias (catch-all leftover @/ imports)
INTERNAL_ROOT: [exact(''), subpath('')],
INTERNAL_ROOT: ['^@/.+$'],

// Relative parent imports then same-dir relatives
RELATIVE_PARENT: ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/rules/nextPluginRules.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Linter } from '@typescript-eslint/utils/ts-eslint';
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

export const nextPluginRules: Linter.RulesRecord = {
// Breaks with ESLint 9, should be activated after the next plugin is updated
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/rules/reactHooksRules.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Linter } from '@typescript-eslint/utils/ts-eslint';
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

export const reactHooksRules: Linter.RulesRecord = {
'react-hooks/exhaustive-deps': 'warn',
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-config/src/rules/reactRules.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Linter } from '@typescript-eslint/utils/ts-eslint';
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

export const reactRules: Linter.RulesRecord = {
// Disable JS specific rules
Expand Down
8 changes: 7 additions & 1 deletion packages/eslint-config/src/rules/typescriptRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@ export const typescriptRules: Linter.RulesRecord = {
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/array-type': 'off',

'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/explicit-function-return-type': 'error',
'@typescript-eslint/consistent-type-imports': [
'error',
{
prefer: 'type-imports',
fixStyle: 'separate-type-imports',
},
],
'@typescript-eslint/no-unused-vars': [
'error',
{
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/configs/all.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Linter } from '@typescript-eslint/utils/ts-eslint';
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

export const all: Linter.RulesRecord = {
'@commencis/copyright-text': 'error',
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/configs/recommended.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Linter } from '@typescript-eslint/utils/ts-eslint';
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

export const recommended: Linter.RulesRecord = {
'@commencis/copyright-text': 'off',
Expand Down
4 changes: 2 additions & 2 deletions packages/eslint-plugin/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { Linter } from '@typescript-eslint/utils/ts-eslint';

import packageJson from '../package.json';

import { all, recommended } from '@/configs';
import rules from '@/rules';

import packageJson from '../package.json';

const plugin = {
meta: {
name: packageJson.name,
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/copyright-text.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { TSESTree } from '@typescript-eslint/utils';
import type { TSESTree } from '@typescript-eslint/utils';

import { DEFAULT_START_YEAR } from '@/constants';
import {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AST_TOKEN_TYPES, TSESTree } from '@typescript-eslint/utils';
import { AST_TOKEN_TYPES, type TSESTree } from '@typescript-eslint/utils';

export function validateCommencisCopyright(
comment?: TSESTree.Comment | string
Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/base.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { JSON, MDX } from '@/constants';
import { PRETTIER } from '@/helpers';
Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/next.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { SCSS } from '@/constants';
import { STYLELINT } from '@/helpers';
Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/react-native.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { typescriptConfig } from './typescript';

Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/react.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { SCSS } from '@/constants';
import { STYLELINT } from '@/helpers';
Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/typescript.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { JSX_TSX } from '@/constants';
import { ESLINT } from '@/helpers';
Expand Down
2 changes: 1 addition & 1 deletion packages/lint-staged-config/src/configs/vue.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Configuration } from 'lint-staged';
import type { Configuration } from 'lint-staged';

import { SCSS, VUE } from '@/constants';
import { ESLINT, STYLELINT } from '@/helpers';
Expand Down
6 changes: 3 additions & 3 deletions packages/stylelint-config/src/configs/css-modules.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { StylelintConfig } from '@/types';

import { cssModulesRules } from '@/rules';
import type { StylelintConfig } from '@/types';

import cssConfig from './css';

import { cssModulesRules } from '@/rules';

const cssModulesConfig: StylelintConfig = {
...cssConfig,
overrides: [
Expand Down
2 changes: 1 addition & 1 deletion packages/stylelint-config/src/configs/css.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { StylelintConfig } from '@/types';
import type { StylelintConfig } from '@/types';

import { cssRules, orderRules } from '@/rules';
import { stylisticRules } from '@/rules/stylisticRules';
Expand Down
6 changes: 3 additions & 3 deletions packages/stylelint-config/src/configs/scss-modules.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { StylelintConfig } from '@/types';

import { cssModulesRules, scssModulesRules } from '@/rules';
import type { StylelintConfig } from '@/types';

import scssConfig from './scss';

import { cssModulesRules, scssModulesRules } from '@/rules';

const scssModulesConfig: StylelintConfig = {
...scssConfig,
overrides: [
Expand Down
2 changes: 1 addition & 1 deletion packages/stylelint-config/src/configs/scss.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { StylelintConfig } from '@/types';
import type { StylelintConfig } from '@/types';

import { cssRules, orderRules, scssRules } from '@/rules';
import { stylisticRules } from '@/rules/stylisticRules';
Expand Down
2 changes: 1 addition & 1 deletion packages/stylelint-config/src/configs/styled.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { StylelintConfig } from '@/types';
import type { StylelintConfig } from '@/types';

import { cssRules, orderRules, styledRules } from '@/rules';

Expand Down
6 changes: 3 additions & 3 deletions packages/stylelint-config/src/configs/vue-scss.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { StylelintConfig } from '@/types';

import { vueCssRules, vueScssRules } from '@/rules';
import type { StylelintConfig } from '@/types';

import scssConfig from './scss';

import { vueCssRules, vueScssRules } from '@/rules';

const vueScssConfig: StylelintConfig = {
...scssConfig,
overrides: [
Expand Down
6 changes: 3 additions & 3 deletions packages/stylelint-config/src/configs/vue.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { StylelintConfig } from '@/types';

import { vueCssRules } from '@/rules';
import type { StylelintConfig } from '@/types';

import cssConfig from './css';

import { vueCssRules } from '@/rules';

const vueCssConfig: StylelintConfig = {
...cssConfig,
overrides: [
Expand Down
2 changes: 1 addition & 1 deletion packages/stylelint-config/src/types/stylelintConfig.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Config } from 'stylelint';
import type { Config } from 'stylelint';

type BaseConfig = Omit<Config, 'overrides' | 'extends'>;

Expand Down
2 changes: 1 addition & 1 deletion packages/stylelint-config/src/utils/orderRuleCreators.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {
import type {
EmptyLineBeforeOption,
OrderAtRule,
OrderRule,
Expand Down
18 changes: 6 additions & 12 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.