Skip to content

Commit eb4801c

Browse files
chore: Enable eslint rules from query repo (#595)
* chore: Enable eslint rules from query * Enable sort-imports * More import options * Fix prettier
1 parent e633c67 commit eb4801c

37 files changed

+110
-85
lines changed

.eslintrc.cjs

+28-5
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ const config = {
4141
'@typescript-eslint/ban-types': 'off',
4242
'@typescript-eslint/ban-ts-comment': 'off',
4343
'@typescript-eslint/consistent-type-definitions': 'off',
44-
'@typescript-eslint/consistent-type-imports': 'error',
44+
'@typescript-eslint/consistent-type-imports': [
45+
'error',
46+
{ prefer: 'type-imports' },
47+
],
4548
'@typescript-eslint/explicit-module-boundary-types': 'off',
4649
'@typescript-eslint/no-empty-interface': 'off',
4750
'@typescript-eslint/no-explicit-any': 'off',
@@ -50,18 +53,38 @@ const config = {
5053
'@typescript-eslint/no-unused-vars': 'off',
5154
'@typescript-eslint/no-inferrable-types': [
5255
'error',
53-
{
54-
ignoreParameters: true,
55-
},
56+
{ ignoreParameters: true },
5657
],
57-
'no-shadow': 'error',
58+
'import/default': 'off',
59+
'import/export': 'off',
60+
'import/namespace': 'off',
61+
'import/newline-after-import': 'error',
5862
'import/no-cycle': 'error',
63+
'import/no-duplicates': 'off',
64+
'import/no-named-as-default-member': 'off',
5965
'import/no-unresolved': ['error', { ignore: ['^@tanstack/'] }],
6066
'import/no-unused-modules': ['off', { unusedExports: true }],
67+
'import/order': [
68+
'error',
69+
{
70+
groups: [
71+
'builtin',
72+
'external',
73+
'internal',
74+
'parent',
75+
'sibling',
76+
'index',
77+
'object',
78+
'type',
79+
],
80+
},
81+
],
6182
'no-async-promise-executor': 'off',
6283
'no-empty': 'off',
6384
'no-redeclare': 'off',
85+
'no-shadow': 'error',
6486
'no-undef': 'off',
87+
'sort-imports': ['error', { ignoreDeclarationSort: true }],
6588
},
6689
overrides: [
6790
{

examples/react/next-server-actions/src/app/client-component.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
'use client'
33

44
import { useFormState } from 'react-dom'
5+
import { mergeForm, useTransform } from '@tanstack/react-form'
56
import someAction from './action'
67
import { formFactory } from './shared-code'
7-
import { useTransform, mergeForm, type FormApi } from '@tanstack/react-form'
8+
import type { FormApi } from '@tanstack/react-form'
89

910
export const ClientComp = () => {
1011
const [state, action] = useFormState(someAction, formFactory.initialFormState)

examples/solid/simple/src/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/* @refresh reload */
22
import { render } from 'solid-js/web'
33

4-
import { createForm, type FieldApi } from '@tanstack/solid-form'
4+
import { createForm } from '@tanstack/solid-form'
5+
import type { FieldApi } from '@tanstack/solid-form'
56

67
interface FieldInfoProps {
78
field: FieldApi<any, any, any, any>

examples/solid/valibot/src/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
/* @refresh reload */
22
import { render } from 'solid-js/web'
33

4-
import { createForm, type FieldApi } from '@tanstack/solid-form'
4+
import { createForm } from '@tanstack/solid-form'
55
import { valibotValidator } from '@tanstack/valibot-form-adapter'
66
import { customAsync, minLength, string, stringAsync } from 'valibot'
7+
import type { FieldApi } from '@tanstack/solid-form'
78

89
interface FieldInfoProps {
910
field: FieldApi<any, any, any, any>

examples/solid/yup/src/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
/* @refresh reload */
22
import { render } from 'solid-js/web'
33

4-
import { createForm, type FieldApi } from '@tanstack/solid-form'
4+
import { createForm } from '@tanstack/solid-form'
55
import { yupValidator } from '@tanstack/yup-form-adapter'
66
import * as yup from 'yup'
7+
import type { FieldApi } from '@tanstack/solid-form'
78

89
interface FieldInfoProps {
910
field: FieldApi<any, any, any, any>

examples/solid/zod/src/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
/* @refresh reload */
22
import { render } from 'solid-js/web'
33

4-
import { createForm, type FieldApi } from '@tanstack/solid-form'
4+
import { createForm } from '@tanstack/solid-form'
55
import { zodValidator } from '@tanstack/zod-form-adapter'
66
import { z } from 'zod'
7+
import type { FieldApi } from '@tanstack/solid-form'
78

89
interface FieldInfoProps {
910
field: FieldApi<any, any, any, any>

packages/form-core/src/FieldApi.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Store } from '@tanstack/store'
2+
import { getAsyncValidatorArray, getSyncValidatorArray } from './utils'
23
import type { FormApi } from './FormApi'
34
import type {
45
ValidationCause,
@@ -7,7 +8,6 @@ import type {
78
Validator,
89
} from './types'
910
import type { DeepKeys, DeepValue, Updater } from './utils'
10-
import { getAsyncValidatorArray, getSyncValidatorArray } from './utils'
1111

1212
export type FieldValidateFn<
1313
TParentData,

packages/form-core/src/FormApi.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
import { Store } from '@tanstack/store'
2-
import type { DeepKeys, DeepValue, Updater } from './utils'
32
import {
4-
getAsyncValidatorArray,
5-
getSyncValidatorArray,
63
deleteBy,
74
functionalUpdate,
5+
getAsyncValidatorArray,
86
getBy,
7+
getSyncValidatorArray,
98
isNonEmptyArray,
109
setBy,
1110
} from './utils'
11+
import type { DeepKeys, DeepValue, Updater } from './utils'
1212
import type { FieldApi, FieldMeta } from './FieldApi'
1313
import type {
14+
ValidationCause,
1415
ValidationError,
1516
ValidationErrorMap,
16-
Validator,
17-
ValidationCause,
1817
ValidationErrorMapKeys,
18+
Validator,
1919
} from './types'
2020

2121
export type FormValidateFn<

packages/react-form/src/createFormFactory.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
2-
3-
import { type UseField, type FieldComponent, Field, useField } from './useField'
1+
import { Field, useField } from './useField'
42
import { useForm } from './useForm'
5-
import { type ValidateFormData, getValidateFormData } from './validateFormData'
3+
import { getValidateFormData } from './validateFormData'
4+
import type { ValidateFormData } from './validateFormData'
5+
import type { FieldComponent, UseField } from './useField'
6+
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
67

78
export type FormFactory<
89
TFormData,

packages/react-form/src/formContext.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type { FormApi, Validator } from '@tanstack/form-core'
21
import { createContext, useContext } from 'rehackt'
2+
import type { FormApi, Validator } from '@tanstack/form-core'
33

44
export const formContext = createContext<{
55
formApi: FormApi<any, Validator<any, unknown> | undefined>

packages/react-form/src/tests/useField.test.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import * as React from 'react'
33
import { render, waitFor } from '@testing-library/react'
44
import userEvent from '@testing-library/user-event'
55
import '@testing-library/jest-dom'
6-
import { type FormApi, createFormFactory } from '..'
6+
import { createFormFactory } from '..'
77
import { sleep } from './utils'
8+
import type { FormApi } from '..'
89

910
const user = userEvent.setup()
1011

packages/react-form/src/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type {
2-
FieldOptions,
32
DeepKeys,
43
DeepValue,
4+
FieldOptions,
55
Validator,
66
} from '@tanstack/form-core'
77

packages/react-form/src/useField.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import React, { useRef, useState } from 'rehackt'
22
import { useStore } from '@tanstack/react-store'
3+
import { FieldApi, functionalUpdate } from '@tanstack/form-core'
4+
import { formContext, useFormContext } from './formContext'
5+
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'
6+
import { useIsomorphicEffectOnce } from './useIsomorphicEffectOnce'
7+
import type { UseFieldOptions } from './types'
38
import type {
49
DeepKeys,
510
DeepValue,
611
Narrow,
712
Validator,
813
} from '@tanstack/form-core'
9-
import { FieldApi, functionalUpdate } from '@tanstack/form-core'
10-
import { useFormContext, formContext } from './formContext'
11-
import type { UseFieldOptions } from './types'
12-
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'
13-
import { useIsomorphicEffectOnce } from './useIsomorphicEffectOnce'
1414

1515
declare module '@tanstack/form-core' {
1616
// eslint-disable-next-line no-shadow

packages/react-form/src/useForm.tsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
import type { FormState, FormOptions, Validator } from '@tanstack/form-core'
21
import { FormApi, functionalUpdate } from '@tanstack/form-core'
3-
import type { NoInfer } from '@tanstack/react-store'
42
import { useStore } from '@tanstack/react-store'
53
import React, {
64
type PropsWithChildren,
75
type ReactNode,
86
useState,
97
} from 'rehackt'
10-
import { type UseField, type FieldComponent, Field, useField } from './useField'
8+
import { Field, useField } from './useField'
119
import { formContext } from './formContext'
1210
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'
11+
import type { NoInfer } from '@tanstack/react-store'
12+
import type { FormOptions, FormState, Validator } from '@tanstack/form-core'
13+
import type { FieldComponent, UseField } from './useField'
1314

1415
declare module '@tanstack/form-core' {
1516
// eslint-disable-next-line no-shadow

packages/react-form/src/useIsomorphicEffectOnce.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { useRef, useState, type EffectCallback } from 'rehackt'
1+
import { useRef, useState } from 'rehackt'
22
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'
3+
import type { EffectCallback } from 'rehackt'
34

45
/**
56
* This hook handles StrictMode and prod mode

packages/solid-form/src/createForm.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import type { FormOptions, FormState, Validator } from '@tanstack/form-core'
21
import { FormApi, functionalUpdate } from '@tanstack/form-core'
3-
import { createComputed, onMount, type JSXElement } from 'solid-js'
2+
import { createComputed, onMount } from 'solid-js'
43
import { useStore } from '@tanstack/solid-store'
54
import {
6-
Field,
7-
createField,
85
type CreateField,
6+
Field,
97
type FieldComponent,
8+
createField,
109
} from './createField'
1110
import { formContext } from './formContext'
11+
import type { JSXElement } from 'solid-js'
12+
import type { FormOptions, FormState, Validator } from '@tanstack/form-core'
1213

1314
type NoInfer<T> = [T][T extends any ? 0 : never]
1415

packages/solid-form/src/createFormFactory.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
2-
1+
import { mergeProps } from 'solid-js'
32
import {
43
type CreateField,
5-
type FieldComponent,
64
Field,
5+
type FieldComponent,
76
createField,
87
} from './createField'
98
import { createForm } from './createForm'
10-
import { mergeProps } from 'solid-js'
9+
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
1110

1211
export type FormFactory<
1312
TFormData,

packages/solid-form/src/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type {
2-
FieldOptions,
32
DeepKeys,
43
DeepValue,
4+
FieldOptions,
55
Validator,
66
} from '@tanstack/form-core'
77

packages/valibot-form-adapter/src/tests/FieldApi.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { expect } from 'vitest'
22

3-
import { FormApi, FieldApi } from '@tanstack/form-core'
4-
import { valibotValidator } from '../validator'
3+
import { FieldApi, FormApi } from '@tanstack/form-core'
54
import { customAsync, minLength, string, stringAsync } from 'valibot'
5+
import { valibotValidator } from '../validator'
66
import { sleep } from './utils'
77

88
describe('valibot field api', () => {

packages/valibot-form-adapter/src/tests/FieldApi.test-d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { valibotValidator } from '../validator'
2-
import { string, object } from 'valibot'
1+
import { object, string } from 'valibot'
32
import { FieldApi, FormApi } from '@tanstack/form-core'
43
import { assertType } from 'vitest'
4+
import { valibotValidator } from '../validator'
55

66
it('should allow a Valibot validator to be passed in', () => {
77
const form = new FormApi({

packages/valibot-form-adapter/src/tests/FormApi.test-d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { string, object } from 'valibot'
2-
import { valibotValidator } from '../validator'
1+
import { object, string } from 'valibot'
32
import { FieldApi, FormApi } from '@tanstack/form-core'
43
import { assertType } from 'vitest'
4+
import { valibotValidator } from '../validator'
55

66
it('should allow a Valibot validator to be passed in', () => {
77
const form = new FormApi({

packages/vue-form/src/createFormFactory.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
2-
3-
import { type UseField, type FieldComponent, Field, useField } from './useField'
1+
import { Field, useField } from './useField'
42
import { useForm } from './useForm'
3+
import type { FormApi, FormOptions, Validator } from '@tanstack/form-core'
4+
import type { FieldComponent, UseField } from './useField'
55

66
export type FormFactory<
77
TFormData,

packages/vue-form/src/formContext.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type { FormApi, Validator } from '@tanstack/form-core'
21
import { inject, provide } from 'vue'
2+
import type { FormApi, Validator } from '@tanstack/form-core'
33

44
export type FormContext<
55
TFormData = any,

packages/vue-form/src/tests/useField.test.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
/// <reference lib="dom" />
2-
import { h, defineComponent } from 'vue'
2+
import { defineComponent, h } from 'vue'
33
import { render, waitFor } from '@testing-library/vue'
44
import '@testing-library/jest-dom'
5-
import { createFormFactory, type FieldApi, provideFormContext } from '../index'
65
import userEvent from '@testing-library/user-event'
6+
import { createFormFactory, provideFormContext } from '../index'
77
import { sleep } from './utils'
8+
import type { FieldApi } from '../index'
89

910
const user = userEvent.setup()
1011

packages/vue-form/src/tests/useForm.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import '@testing-library/jest-dom'
33
import userEvent from '@testing-library/user-event'
44
import { render, waitFor } from '@testing-library/vue'
5-
import { h, defineComponent, ref } from 'vue'
5+
import { defineComponent, h, ref } from 'vue'
66
import {
77
ValidationError,
88
createFormFactory,

packages/vue-form/src/types.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type {
2-
FieldOptions,
32
DeepKeys,
43
DeepValue,
4+
FieldOptions,
55
Validator,
66
} from '@tanstack/form-core'
77

packages/vue-form/src/useField.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import type {
88
Narrow,
99
Validator,
1010
} from '@tanstack/form-core'
11-
import type { SlotsType, SetupContext, Ref } from 'vue'
11+
import type { Ref, SetupContext, SlotsType } from 'vue'
1212
import type { UseFieldOptions } from './types'
1313

1414
declare module '@tanstack/form-core' {

0 commit comments

Comments
 (0)