oxlint 1.73.0 → 1.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -3
- package/configuration_schema.json +275 -18
- package/dist/bindings.js +26 -26
- package/dist/index.d.ts +92 -5
- package/dist/lint.js +324 -259
- package/dist/plugins-dev.d.ts +58 -101
- package/dist/plugins-dev.js +1 -1
- package/package.json +21 -21
package/dist/plugins-dev.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
1
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/is-any.d.ts
|
|
2
2
|
/**
|
|
3
3
|
Returns a boolean for whether the given type is `any`.
|
|
4
4
|
|
|
@@ -29,7 +29,7 @@ const anyA = get(anyObject, 'a');
|
|
|
29
29
|
*/
|
|
30
30
|
type IsAny<T> = 0 extends 1 & NoInfer<T> ? true : false;
|
|
31
31
|
//#endregion
|
|
32
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
32
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/is-optional-key-of.d.ts
|
|
33
33
|
/**
|
|
34
34
|
Returns a boolean for whether the given key is an optional key of type.
|
|
35
35
|
|
|
@@ -72,7 +72,7 @@ type T5 = IsOptionalKeyOf<User | Admin, 'surname'>;
|
|
|
72
72
|
*/
|
|
73
73
|
type IsOptionalKeyOf<Type extends object, Key extends keyof Type> = IsAny<Type | Key> extends true ? never : Key extends keyof Type ? Type extends Record<Key, Type[Key]> ? false : true : false;
|
|
74
74
|
//#endregion
|
|
75
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
75
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/optional-keys-of.d.ts
|
|
76
76
|
/**
|
|
77
77
|
Extract all optional keys from the given type.
|
|
78
78
|
|
|
@@ -107,10 +107,10 @@ const update2: UpdateOperation<User> = {
|
|
|
107
107
|
@category Utilities
|
|
108
108
|
*/
|
|
109
109
|
type OptionalKeysOf<Type extends object> = Type extends unknown // For distributing `Type`
|
|
110
|
-
? (keyof { [Key in keyof Type as IsOptionalKeyOf<Type, Key> extends false ? never : Key]: never }) & keyof Type // Intersect with `keyof Type` to ensure result of `OptionalKeysOf<Type>` is always assignable to `keyof Type`
|
|
111
|
-
: never;
|
|
110
|
+
? (keyof { [Key in keyof Type as IsOptionalKeyOf<Type, Key> extends false ? never : Key]: never; }) & keyof Type // Intersect with `keyof Type` to ensure result of `OptionalKeysOf<Type>` is always assignable to `keyof Type`
|
|
111
|
+
: never; // Should never happen
|
|
112
112
|
//#endregion
|
|
113
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
113
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/required-keys-of.d.ts
|
|
114
114
|
/**
|
|
115
115
|
Extract all required keys from the given type.
|
|
116
116
|
|
|
@@ -142,9 +142,9 @@ const validator3 = createValidation<User>('luckyNumber', value => value > 0);
|
|
|
142
142
|
@category Utilities
|
|
143
143
|
*/
|
|
144
144
|
type RequiredKeysOf<Type extends object> = Type extends unknown // For distributing `Type`
|
|
145
|
-
? Exclude<keyof Type, OptionalKeysOf<Type>> : never;
|
|
145
|
+
? Exclude<keyof Type, OptionalKeysOf<Type>> : never; // Should never happen
|
|
146
146
|
//#endregion
|
|
147
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
147
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/is-never.d.ts
|
|
148
148
|
/**
|
|
149
149
|
Returns a boolean for whether the given type is `never`.
|
|
150
150
|
|
|
@@ -200,7 +200,7 @@ type B = IsTrueFixed<never>;
|
|
|
200
200
|
*/
|
|
201
201
|
type IsNever<T> = [T] extends [never] ? true : false;
|
|
202
202
|
//#endregion
|
|
203
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
203
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/if.d.ts
|
|
204
204
|
/**
|
|
205
205
|
An if-else-like type that resolves depending on whether the given `boolean` type is `true` or `false`.
|
|
206
206
|
|
|
@@ -295,22 +295,22 @@ type Works = IncludesWithoutIf<HundredZeroes, '1'>;
|
|
|
295
295
|
*/
|
|
296
296
|
type If<Type extends boolean, IfBranch, ElseBranch> = IsNever<Type> extends true ? ElseBranch : Type extends true ? IfBranch : ElseBranch;
|
|
297
297
|
//#endregion
|
|
298
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
298
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/internal/type.d.ts
|
|
299
299
|
/**
|
|
300
300
|
An if-else-like type that resolves depending on whether the given type is `any` or `never`.
|
|
301
301
|
|
|
302
302
|
@example
|
|
303
303
|
```
|
|
304
|
-
// When `T` is
|
|
305
|
-
type A = IfNotAnyOrNever<string, 'VALID'
|
|
304
|
+
// When `T` is neither `any` nor `never` (like `string`) => Returns `IfNot` branch
|
|
305
|
+
type A = IfNotAnyOrNever<string, {ifNot: 'VALID'; ifAny: 'IS_ANY'; ifNever: 'IS_NEVER'}>;
|
|
306
306
|
//=> 'VALID'
|
|
307
307
|
|
|
308
308
|
// When `T` is `any` => Returns `IfAny` branch
|
|
309
|
-
type B = IfNotAnyOrNever<any, 'VALID'
|
|
309
|
+
type B = IfNotAnyOrNever<any, {ifNot: 'VALID'; ifAny: 'IS_ANY'; ifNever: 'IS_NEVER'}>;
|
|
310
310
|
//=> 'IS_ANY'
|
|
311
311
|
|
|
312
312
|
// When `T` is `never` => Returns `IfNever` branch
|
|
313
|
-
type C = IfNotAnyOrNever<never, 'VALID'
|
|
313
|
+
type C = IfNotAnyOrNever<never, {ifNot: 'VALID'; ifAny: 'IS_ANY'; ifNever: 'IS_NEVER'}>;
|
|
314
314
|
//=> 'IS_NEVER'
|
|
315
315
|
```
|
|
316
316
|
|
|
@@ -323,7 +323,7 @@ import type {StringRepeat} from 'type-fest';
|
|
|
323
323
|
type NineHundredNinetyNineSpaces = StringRepeat<' ', 999>;
|
|
324
324
|
|
|
325
325
|
// The following implementation is not tail recursive
|
|
326
|
-
type TrimLeft<S extends string> = IfNotAnyOrNever<S, S extends ` ${infer R}` ? TrimLeft<R> : S>;
|
|
326
|
+
type TrimLeft<S extends string> = IfNotAnyOrNever<S, {ifNot: S extends ` ${infer R}` ? TrimLeft<R> : S}>;
|
|
327
327
|
|
|
328
328
|
// Hence, instantiations with long strings will fail
|
|
329
329
|
// @ts-expect-error
|
|
@@ -332,7 +332,7 @@ type T1 = TrimLeft<NineHundredNinetyNineSpaces>;
|
|
|
332
332
|
// Error: Type instantiation is excessively deep and possibly infinite.
|
|
333
333
|
|
|
334
334
|
// To fix this, move the recursion into a helper type
|
|
335
|
-
type TrimLeftOptimised<S extends string> = IfNotAnyOrNever<S, _TrimLeftOptimised<S
|
|
335
|
+
type TrimLeftOptimised<S extends string> = IfNotAnyOrNever<S, {ifNot: _TrimLeftOptimised<S>}>;
|
|
336
336
|
|
|
337
337
|
type _TrimLeftOptimised<S extends string> = S extends ` ${infer R}` ? _TrimLeftOptimised<R> : S;
|
|
338
338
|
|
|
@@ -340,9 +340,13 @@ type T2 = TrimLeftOptimised<NineHundredNinetyNineSpaces>;
|
|
|
340
340
|
//=> ''
|
|
341
341
|
```
|
|
342
342
|
*/
|
|
343
|
-
type IfNotAnyOrNever<T,
|
|
343
|
+
type IfNotAnyOrNever<T, Cases extends {
|
|
344
|
+
ifNot: unknown;
|
|
345
|
+
ifAny?: unknown;
|
|
346
|
+
ifNever?: unknown;
|
|
347
|
+
}> = IsAny<T> extends true ? 'ifAny' extends keyof Cases ? Cases['ifAny'] : any : IsNever<T> extends true ? 'ifNever' extends keyof Cases ? Cases['ifNever'] : never : Cases['ifNot'];
|
|
344
348
|
//#endregion
|
|
345
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
349
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/simplify.d.ts
|
|
346
350
|
/**
|
|
347
351
|
Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
|
|
348
352
|
|
|
@@ -401,9 +405,9 @@ fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface`
|
|
|
401
405
|
@see {@link SimplifyDeep}
|
|
402
406
|
@category Object
|
|
403
407
|
*/
|
|
404
|
-
type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
|
|
408
|
+
type Simplify<T> = { [KeyType in keyof T]: T[KeyType]; } & {};
|
|
405
409
|
//#endregion
|
|
406
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
410
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/is-equal.d.ts
|
|
407
411
|
/**
|
|
408
412
|
Returns a boolean for whether the two given types are equal.
|
|
409
413
|
|
|
@@ -434,7 +438,7 @@ type IsEqual<A, B> = [A] extends [B] ? [B] extends [A] ? _IsEqual<A, B> : false
|
|
|
434
438
|
// This version fails the `equalWrappedTupleIntersectionToBeNeverAndNeverExpanded` test in `test-d/is-equal.ts`.
|
|
435
439
|
type _IsEqual<A, B> = (<G>() => G extends A & G | G ? 1 : 2) extends (<G>() => G extends B & G | G ? 1 : 2) ? true : false;
|
|
436
440
|
//#endregion
|
|
437
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
441
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/omit-index-signature.d.ts
|
|
438
442
|
/**
|
|
439
443
|
Omit any index signatures from the given object type, leaving only explicitly defined properties.
|
|
440
444
|
|
|
@@ -526,9 +530,9 @@ type ExampleWithoutIndexSignatures = OmitIndexSignature<Example>;
|
|
|
526
530
|
@see {@link PickIndexSignature}
|
|
527
531
|
@category Object
|
|
528
532
|
*/
|
|
529
|
-
type OmitIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType] };
|
|
533
|
+
type OmitIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType]; };
|
|
530
534
|
//#endregion
|
|
531
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
535
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/pick-index-signature.d.ts
|
|
532
536
|
/**
|
|
533
537
|
Pick only index signatures from the given object type, leaving out all explicitly defined properties.
|
|
534
538
|
|
|
@@ -574,11 +578,11 @@ type ExampleIndexSignature = PickIndexSignature<Example>;
|
|
|
574
578
|
@see {@link OmitIndexSignature}
|
|
575
579
|
@category Object
|
|
576
580
|
*/
|
|
577
|
-
type PickIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? KeyType : never]: ObjectType[KeyType] };
|
|
581
|
+
type PickIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? KeyType : never]: ObjectType[KeyType]; };
|
|
578
582
|
//#endregion
|
|
579
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
583
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/merge.d.ts
|
|
580
584
|
// Merges two objects without worrying about index signatures.
|
|
581
|
-
type SimpleMerge<Destination, Source> = Simplify<{ [Key in keyof Destination as Key extends keyof Source ? never : Key]: Destination[Key] } & Source>;
|
|
585
|
+
type SimpleMerge<Destination, Source> = Simplify<{ [Key in keyof Destination as Key extends keyof Source ? never : Key]: Destination[Key]; } & Source>;
|
|
582
586
|
/**
|
|
583
587
|
Merge two types into a new type. Keys of the second type overrides keys of the first type.
|
|
584
588
|
|
|
@@ -642,13 +646,12 @@ Note: If you want a merge type that more accurately reflects the runtime behavio
|
|
|
642
646
|
@category Object
|
|
643
647
|
*/
|
|
644
648
|
type Merge<Destination, Source> = Destination extends unknown // For distributing `Destination`
|
|
645
|
-
? Source extends unknown // For distributing `Source`
|
|
646
|
-
? If<IsEqual<Destination, Source>, Destination, _Merge<Destination, Source>> : never // Should never happen
|
|
647
|
-
: never;
|
|
648
|
-
// Should never happen
|
|
649
|
+
? Source extends unknown // For distributing `Source`
|
|
650
|
+
? If<IsEqual<Destination, Source>, Destination, _Merge<Destination, Source>> : never // Should never happen
|
|
651
|
+
: never; // Should never happen
|
|
649
652
|
type _Merge<Destination, Source> = Simplify<SimpleMerge<PickIndexSignature<Destination>, PickIndexSignature<Source>> & SimpleMerge<OmitIndexSignature<Destination>, OmitIndexSignature<Source>>>;
|
|
650
653
|
//#endregion
|
|
651
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
654
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/internal/object.d.ts
|
|
652
655
|
/**
|
|
653
656
|
Merges user specified options with default options.
|
|
654
657
|
|
|
@@ -701,38 +704,11 @@ type Result = ApplyDefaultOptions<PathsOptions, DefaultPathsOptions, SpecifiedOp
|
|
|
701
704
|
// Types of property 'leavesOnly' are incompatible. Type 'string' is not assignable to type 'boolean'.
|
|
702
705
|
```
|
|
703
706
|
*/
|
|
704
|
-
type ApplyDefaultOptions<Options extends object, Defaults extends Simplify<Omit<Required<Options>, RequiredKeysOf<Options>> & Partial<Record<RequiredKeysOf<Options>, never>>>, SpecifiedOptions extends Options> = _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> extends infer Result extends Required<Options> // `extends Required<Options>` ensures that `ApplyDefaultOptions<SomeOption, ...>` is always assignable to `Required<SomeOption>`
|
|
705
|
-
? Result : never;
|
|
706
|
-
type _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> = If<IsAny<SpecifiedOptions>, Defaults, If<IsNever<SpecifiedOptions>, Defaults, Merge<Defaults, { [Key in keyof SpecifiedOptions as undefined extends Required<Options>[Key & keyof Options] ? Key : undefined extends SpecifiedOptions[Key] ? never : Key]: SpecifiedOptions[Key] }>>>;
|
|
707
|
-
/**
|
|
708
|
-
Collapses literal types in a union into their corresponding primitive types, when possible. For example, `CollapseLiterals<'foo' | 'bar' | (string & {})>` returns `string`.
|
|
709
|
-
|
|
710
|
-
Note: This doesn't collapse literals within tagged types. For example, `CollapseLiterals<Tagged<'foo' | (string & {}), 'Tag'>>` returns `("foo" & Tag<"Tag", never>) | (string & Tag<"Tag", never>)` and not `string & Tag<"Tag", never>`.
|
|
711
|
-
|
|
712
|
-
Use-case: For collapsing unions created using {@link LiteralUnion}.
|
|
713
|
-
|
|
714
|
-
@example
|
|
715
|
-
```
|
|
716
|
-
import type {LiteralUnion} from 'type-fest';
|
|
717
|
-
|
|
718
|
-
type A = CollapseLiterals<'foo' | 'bar' | (string & {})>;
|
|
719
|
-
//=> string
|
|
720
|
-
|
|
721
|
-
type B = CollapseLiterals<LiteralUnion<1 | 2 | 3, number>>;
|
|
722
|
-
//=> number
|
|
723
|
-
|
|
724
|
-
type C = CollapseLiterals<LiteralUnion<'onClick' | 'onChange', `on${string}`>>;
|
|
725
|
-
//=> `on${string}`
|
|
726
|
-
|
|
727
|
-
type D = CollapseLiterals<'click' | 'change' | (`on${string}` & {})>;
|
|
728
|
-
//=> 'click' | 'change' | `on${string}`
|
|
729
|
-
|
|
730
|
-
type E = CollapseLiterals<LiteralUnion<'foo' | 'bar', string> | null | undefined>;
|
|
731
|
-
//=> string | null | undefined
|
|
732
|
-
```
|
|
733
|
-
*/
|
|
707
|
+
type ApplyDefaultOptions<Options extends object, Defaults extends Simplify<Omit<Required<Options>, RequiredKeysOf<Options>> & Partial<Record<RequiredKeysOf<Options>, never>>>, SpecifiedOptions extends Options> = _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> extends (infer Result extends Required<Options> // `extends Required<Options>` ensures that `ApplyDefaultOptions<SomeOption, ...>` is always assignable to `Required<SomeOption>`
|
|
708
|
+
) ? Result : never;
|
|
709
|
+
type _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> = If<IsAny<SpecifiedOptions>, Defaults, If<IsNever<SpecifiedOptions>, Defaults, Merge<Defaults, { [Key in keyof SpecifiedOptions as undefined extends Required<Options>[Key & keyof Options] ? Key : undefined extends SpecifiedOptions[Key] ? never : Key]: SpecifiedOptions[Key]; }>>>;
|
|
734
710
|
//#endregion
|
|
735
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
711
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/except.d.ts
|
|
736
712
|
/**
|
|
737
713
|
Filter out keys from an object.
|
|
738
714
|
|
|
@@ -763,10 +739,12 @@ type Filtered = Filter<'bar', 'foo'>;
|
|
|
763
739
|
type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
764
740
|
type ExceptOptions = {
|
|
765
741
|
/**
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
742
|
+
Disallow assigning non-specified properties.
|
|
743
|
+
|
|
744
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
745
|
+
|
|
746
|
+
@default false
|
|
747
|
+
*/
|
|
770
748
|
requireExactProps?: boolean;
|
|
771
749
|
};
|
|
772
750
|
type DefaultExceptOptions = {
|
|
@@ -828,9 +806,9 @@ type PostPayloadFixed = Except<UserData, 'email'>;
|
|
|
828
806
|
@category Object
|
|
829
807
|
*/
|
|
830
808
|
type Except<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = {}> = _Except<ObjectType, KeysType, ApplyDefaultOptions<ExceptOptions, DefaultExceptOptions, Options>>;
|
|
831
|
-
type _Except<ObjectType, KeysType extends keyof ObjectType, Options extends Required<ExceptOptions>> = { [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType] } & (Options['requireExactProps'] extends true ? Partial<Record<KeysType, never>> : {});
|
|
809
|
+
type _Except<ObjectType, KeysType extends keyof ObjectType, Options extends Required<ExceptOptions>> = { [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType]; } & (Options['requireExactProps'] extends true ? Partial<Record<KeysType, never>> : {});
|
|
832
810
|
//#endregion
|
|
833
|
-
//#region ../../node_modules/.pnpm/type-fest@5.
|
|
811
|
+
//#region ../../node_modules/.pnpm/type-fest@5.8.0/node_modules/type-fest/source/require-at-least-one.d.ts
|
|
834
812
|
/**
|
|
835
813
|
Create a type that requires at least one of the given keys, while keeping the remaining keys as is.
|
|
836
814
|
|
|
@@ -852,11 +830,14 @@ const responder: RequireAtLeastOne<Responder, 'text' | 'json'> = {
|
|
|
852
830
|
|
|
853
831
|
@category Object
|
|
854
832
|
*/
|
|
855
|
-
type RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType = keyof ObjectType> = IfNotAnyOrNever<ObjectType,
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
833
|
+
type RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType = keyof ObjectType> = IfNotAnyOrNever<ObjectType, {
|
|
834
|
+
ifNot: If<IsNever<KeysType>, never, _RequireAtLeastOne<ObjectType, If<IsAny<KeysType>, keyof ObjectType, KeysType>>>;
|
|
835
|
+
}>;
|
|
836
|
+
type _RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType> = { [
|
|
837
|
+
// For each `Key` in `KeysType` make a mapped type:
|
|
838
|
+
Key in KeysType]-?: Required<Pick<ObjectType, Key>> // 1. Make `Key`'s type required
|
|
839
|
+
& Partial<Pick<ObjectType, Exclude<KeysType, Key>>> // 2. Make all other keys in `KeysType` optional
|
|
840
|
+
; }[KeysType] & Except<ObjectType, KeysType>; // 3. Add the remaining keys not in `KeysType`
|
|
860
841
|
//#endregion
|
|
861
842
|
//#region src-js/plugins/tokens.d.ts
|
|
862
843
|
/**
|
|
@@ -1247,7 +1228,7 @@ interface StrictVisitorObject {
|
|
|
1247
1228
|
TSUnionType?: (node: TSUnionType) => void;
|
|
1248
1229
|
"TSUnionType:exit"?: (node: TSUnionType) => void;
|
|
1249
1230
|
}
|
|
1250
|
-
type VisitorObject = { [K in keyof StrictVisitorObject]?: BivarianceHackHandler<Exclude<StrictVisitorObject[K], undefined>> | undefined } & Record<string, BivarianceHackHandler<(node: Node) => void> | undefined>;
|
|
1231
|
+
type VisitorObject = { [K in keyof StrictVisitorObject]?: BivarianceHackHandler<Exclude<StrictVisitorObject[K], undefined>> | undefined; } & Record<string, BivarianceHackHandler<(node: Node) => void> | undefined>;
|
|
1251
1232
|
//#endregion
|
|
1252
1233
|
//#region src-js/plugins/types.d.ts
|
|
1253
1234
|
type BeforeHook = () => boolean | void;
|
|
@@ -1345,7 +1326,7 @@ interface Program extends Span {
|
|
|
1345
1326
|
tokens: TokenType[];
|
|
1346
1327
|
parent: null;
|
|
1347
1328
|
}
|
|
1348
|
-
type Expression = BooleanLiteral | NullLiteral | NumericLiteral | BigIntLiteral | RegExpLiteral | StringLiteral | TemplateLiteral | IdentifierReference |
|
|
1329
|
+
type Expression = BooleanLiteral | NullLiteral | NumericLiteral | BigIntLiteral | RegExpLiteral | StringLiteral | TemplateLiteral | IdentifierReference | Super | ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | Class | ConditionalExpression | Function$1 | ImportExpression | LogicalExpression | NewExpression | ObjectExpression | ParenthesizedExpression | SequenceExpression | TaggedTemplateExpression | ThisExpression | UnaryExpression | UpdateExpression | YieldExpression | PrivateInExpression | MetaProperty | JSXElement | JSXFragment | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression | TSInstantiationExpression | V8IntrinsicExpression | MemberExpression;
|
|
1349
1330
|
interface IdentifierName extends Span {
|
|
1350
1331
|
type: "Identifier";
|
|
1351
1332
|
decorators?: [];
|
|
@@ -2675,9 +2656,6 @@ interface Definition {
|
|
|
2675
2656
|
}
|
|
2676
2657
|
type DefinitionType = "CatchClause" | "ClassName" | "FunctionName" | "ImplicitGlobalVariable" | "ImportBinding" | "Parameter" | "Variable";
|
|
2677
2658
|
type Identifier = IdentifierName | IdentifierReference | BindingIdentifier | LabelIdentifier | TSThisParameter | TSIndexSignatureName;
|
|
2678
|
-
/**
|
|
2679
|
-
* Discard TS-ESLint `ScopeManager`, to free memory.
|
|
2680
|
-
*/
|
|
2681
2659
|
/**
|
|
2682
2660
|
* Determine whether the given identifier node is a reference to a global variable.
|
|
2683
2661
|
* @param node - `Identifier` node to check.
|
|
@@ -3084,12 +3062,12 @@ type Envs$1 = Record<string, true>;
|
|
|
3084
3062
|
* @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
|
|
3085
3063
|
*/
|
|
3086
3064
|
type JSONSchema4TypeName = "string" //
|
|
3087
|
-
| "number" | "integer" | "boolean" | "object" | "array" | "null" | "any";
|
|
3065
|
+
| "number" | "integer" | "boolean" | "object" | "array" | "null" | "any";
|
|
3088
3066
|
/**
|
|
3089
3067
|
* @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.5
|
|
3090
3068
|
*/
|
|
3091
3069
|
type JSONSchema4Type = string //
|
|
3092
|
-
| number | boolean | JSONSchema4Object | JSONSchema4Array | null;
|
|
3070
|
+
| number | boolean | JSONSchema4Object | JSONSchema4Array | null;
|
|
3093
3071
|
// Workaround for infinite type recursion
|
|
3094
3072
|
interface JSONSchema4Object {
|
|
3095
3073
|
[key: string]: JSONSchema4Type;
|
|
@@ -3357,9 +3335,6 @@ interface SuggestionBase {
|
|
|
3357
3335
|
data?: DiagnosticData | null | undefined;
|
|
3358
3336
|
fix: FixFn;
|
|
3359
3337
|
}
|
|
3360
|
-
/**
|
|
3361
|
-
* Suggested fix in form sent to Rust.
|
|
3362
|
-
*/
|
|
3363
3338
|
//#endregion
|
|
3364
3339
|
//#region src-js/plugins/source_code.d.ts
|
|
3365
3340
|
declare const SOURCE_CODE: Readonly<{
|
|
@@ -4100,12 +4075,6 @@ interface LanguageOptions {
|
|
|
4100
4075
|
env?: Envs;
|
|
4101
4076
|
parserOptions?: ParserOptions;
|
|
4102
4077
|
}
|
|
4103
|
-
/**
|
|
4104
|
-
* Language options config, with `parser` and `ecmaVersion` properties, and extended `parserOptions`.
|
|
4105
|
-
* These properties should not be present in `languageOptions` config,
|
|
4106
|
-
* but could be if test cases are ported from ESLint.
|
|
4107
|
-
* For internal use only.
|
|
4108
|
-
*/
|
|
4109
4078
|
/**
|
|
4110
4079
|
* Source type.
|
|
4111
4080
|
*
|
|
@@ -4143,12 +4112,6 @@ interface ParserOptions {
|
|
|
4143
4112
|
*/
|
|
4144
4113
|
ignoreNonFatalErrors?: boolean;
|
|
4145
4114
|
}
|
|
4146
|
-
/**
|
|
4147
|
-
* Parser options config, with extended `ecmaFeatures`.
|
|
4148
|
-
* These properties should not be present in `languageOptions` config,
|
|
4149
|
-
* but could be if test cases are ported from ESLint.
|
|
4150
|
-
* For internal use only.
|
|
4151
|
-
*/
|
|
4152
4115
|
/**
|
|
4153
4116
|
* ECMA features config.
|
|
4154
4117
|
*/
|
|
@@ -4160,12 +4123,6 @@ interface EcmaFeatures {
|
|
|
4160
4123
|
*/
|
|
4161
4124
|
jsx?: boolean;
|
|
4162
4125
|
}
|
|
4163
|
-
/**
|
|
4164
|
-
* ECMA features config, with `globalReturn` and `impliedStrict` properties.
|
|
4165
|
-
* These properties should not be present in `ecmaFeatures` config,
|
|
4166
|
-
* but could be if test cases are ported from ESLint.
|
|
4167
|
-
* For internal use only.
|
|
4168
|
-
*/
|
|
4169
4126
|
/**
|
|
4170
4127
|
* Parser language.
|
|
4171
4128
|
*/
|
package/dist/plugins-dev.js
CHANGED
|
@@ -10,7 +10,7 @@ var import_json_stable_stringify_without_jsonify = /* @__PURE__ */ __toESM((/* @
|
|
|
10
10
|
opts ||= {}, typeof opts == "function" && (opts = { cmp: opts });
|
|
11
11
|
var space = opts.space || "";
|
|
12
12
|
typeof space == "number" && (space = Array(space + 1).join(" "));
|
|
13
|
-
var cycles = typeof opts.cycles == "boolean"
|
|
13
|
+
var cycles = typeof opts.cycles == "boolean" && opts.cycles, replacer = opts.replacer || function(key, value) {
|
|
14
14
|
return value;
|
|
15
15
|
}, cmp = opts.cmp && (function(f) {
|
|
16
16
|
return function(node) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oxlint",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.75.0",
|
|
4
4
|
"description": "Linter for the JavaScript Oxidation Compiler",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"./package.json": "./package.json"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"oxlint-tsgolint": ">=0.
|
|
49
|
+
"oxlint-tsgolint": ">=7.0.2001",
|
|
50
50
|
"vite-plus": "*"
|
|
51
51
|
},
|
|
52
52
|
"peerDependenciesMeta": {
|
|
@@ -87,24 +87,24 @@
|
|
|
87
87
|
},
|
|
88
88
|
"preferUnplugged": true,
|
|
89
89
|
"optionalDependencies": {
|
|
90
|
-
"@oxlint/binding-darwin-arm64": "1.
|
|
91
|
-
"@oxlint/binding-android-arm64": "1.
|
|
92
|
-
"@oxlint/binding-win32-arm64-msvc": "1.
|
|
93
|
-
"@oxlint/binding-linux-arm64-gnu": "1.
|
|
94
|
-
"@oxlint/binding-linux-arm64-musl": "1.
|
|
95
|
-
"@oxlint/binding-openharmony-arm64": "1.
|
|
96
|
-
"@oxlint/binding-android-arm-eabi": "1.
|
|
97
|
-
"@oxlint/binding-linux-arm-gnueabihf": "1.
|
|
98
|
-
"@oxlint/binding-linux-arm-musleabihf": "1.
|
|
99
|
-
"@oxlint/binding-win32-ia32-msvc": "1.
|
|
100
|
-
"@oxlint/binding-linux-ppc64-gnu": "1.
|
|
101
|
-
"@oxlint/binding-linux-riscv64-gnu": "1.
|
|
102
|
-
"@oxlint/binding-linux-riscv64-musl": "1.
|
|
103
|
-
"@oxlint/binding-linux-s390x-gnu": "1.
|
|
104
|
-
"@oxlint/binding-darwin-x64": "1.
|
|
105
|
-
"@oxlint/binding-win32-x64-msvc": "1.
|
|
106
|
-
"@oxlint/binding-freebsd-x64": "1.
|
|
107
|
-
"@oxlint/binding-linux-x64-gnu": "1.
|
|
108
|
-
"@oxlint/binding-linux-x64-musl": "1.
|
|
90
|
+
"@oxlint/binding-darwin-arm64": "1.75.0",
|
|
91
|
+
"@oxlint/binding-android-arm64": "1.75.0",
|
|
92
|
+
"@oxlint/binding-win32-arm64-msvc": "1.75.0",
|
|
93
|
+
"@oxlint/binding-linux-arm64-gnu": "1.75.0",
|
|
94
|
+
"@oxlint/binding-linux-arm64-musl": "1.75.0",
|
|
95
|
+
"@oxlint/binding-openharmony-arm64": "1.75.0",
|
|
96
|
+
"@oxlint/binding-android-arm-eabi": "1.75.0",
|
|
97
|
+
"@oxlint/binding-linux-arm-gnueabihf": "1.75.0",
|
|
98
|
+
"@oxlint/binding-linux-arm-musleabihf": "1.75.0",
|
|
99
|
+
"@oxlint/binding-win32-ia32-msvc": "1.75.0",
|
|
100
|
+
"@oxlint/binding-linux-ppc64-gnu": "1.75.0",
|
|
101
|
+
"@oxlint/binding-linux-riscv64-gnu": "1.75.0",
|
|
102
|
+
"@oxlint/binding-linux-riscv64-musl": "1.75.0",
|
|
103
|
+
"@oxlint/binding-linux-s390x-gnu": "1.75.0",
|
|
104
|
+
"@oxlint/binding-darwin-x64": "1.75.0",
|
|
105
|
+
"@oxlint/binding-win32-x64-msvc": "1.75.0",
|
|
106
|
+
"@oxlint/binding-freebsd-x64": "1.75.0",
|
|
107
|
+
"@oxlint/binding-linux-x64-gnu": "1.75.0",
|
|
108
|
+
"@oxlint/binding-linux-x64-musl": "1.75.0"
|
|
109
109
|
}
|
|
110
110
|
}
|