oxlint-plugin-arch 0.11.0 → 0.12.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.
Files changed (219) hide show
  1. package/CHANGELOG.md +215 -0
  2. package/README.md +52 -218
  3. package/dist/index.js +5201 -4073
  4. package/dist/preset/groups/backend.d.ts +2 -0
  5. package/dist/preset/groups/basics.d.ts +2 -0
  6. package/dist/preset/groups/comments.d.ts +2 -0
  7. package/dist/preset/groups/console.d.ts +2 -0
  8. package/dist/preset/groups/deny.d.ts +2 -0
  9. package/dist/preset/groups/expo.d.ts +2 -0
  10. package/dist/preset/groups/externals.d.ts +2 -0
  11. package/dist/preset/groups/forms.d.ts +2 -0
  12. package/dist/preset/groups/imports.d.ts +2 -0
  13. package/dist/preset/groups/layout.d.ts +2 -0
  14. package/dist/preset/groups/limits.d.ts +2 -0
  15. package/dist/preset/groups/naming.d.ts +2 -0
  16. package/dist/preset/groups/next.d.ts +2 -0
  17. package/dist/preset/groups/orpc.d.ts +2 -0
  18. package/dist/preset/groups/react.d.ts +2 -0
  19. package/dist/preset/groups/schemas.d.ts +2 -0
  20. package/dist/preset/groups/shadcn.d.ts +2 -0
  21. package/dist/preset/groups/sql.d.ts +2 -0
  22. package/dist/preset/groups/style.d.ts +2 -0
  23. package/dist/preset/groups/tailwind.d.ts +2 -0
  24. package/dist/preset/groups/tanstack.d.ts +2 -0
  25. package/dist/preset/groups/tests.d.ts +2 -0
  26. package/dist/preset/groups/types.d.ts +2 -0
  27. package/dist/preset/preset-detect.d.ts +4 -0
  28. package/dist/preset/preset-folders.d.ts +2 -0
  29. package/dist/preset/preset-recipes.d.ts +82 -0
  30. package/dist/preset/preset.constants.d.ts +77 -0
  31. package/dist/preset/preset.d.ts +89 -0
  32. package/dist/preset/preset.js +2071 -0
  33. package/dist/preset/preset.utils.d.ts +11 -0
  34. package/dist/rules/backend/backend-orpc-output.d.ts +1 -0
  35. package/dist/rules/backend/backend-registry.d.ts +1 -0
  36. package/dist/rules/backend/backend-service-functions.d.ts +1 -0
  37. package/dist/rules/backend/backend-sql-like.d.ts +1 -0
  38. package/dist/rules/boundaries/boundaries-deny.d.ts +1 -0
  39. package/dist/rules/boundaries/boundaries-imports.d.ts +1 -0
  40. package/dist/rules/boundaries/boundaries-next.d.ts +1 -0
  41. package/dist/rules/boundaries/boundaries-rpc-database.d.ts +1 -0
  42. package/dist/rules/boundaries/boundaries-tanstack.d.ts +1 -0
  43. package/dist/rules/boundaries/boundaries-token-owner.d.ts +1 -0
  44. package/dist/rules/code/code-constructor.d.ts +1 -0
  45. package/dist/rules/code/code-double-negation.d.ts +1 -0
  46. package/dist/rules/code/code-literal-in.d.ts +1 -0
  47. package/dist/rules/code/code-mutable-state.d.ts +1 -0
  48. package/dist/rules/code/code-object-params.d.ts +1 -0
  49. package/dist/rules/code/code-paired-call.d.ts +1 -0
  50. package/dist/rules/code/code-promise-mutation.d.ts +1 -0
  51. package/dist/rules/code/code-switch.d.ts +1 -0
  52. package/dist/rules/code/code-trivial-functions.d.ts +1 -0
  53. package/dist/rules/comments/comments-code.d.ts +1 -0
  54. package/dist/rules/comments/comments-directives.d.ts +1 -0
  55. package/dist/rules/copy/copy-dashes.d.ts +1 -0
  56. package/dist/rules/files/files-components-only.d.ts +1 -0
  57. package/dist/rules/files/files-constants-only.d.ts +1 -0
  58. package/dist/rules/files/files-domain-constants.d.ts +1 -0
  59. package/dist/rules/files/files-exports.d.ts +1 -0
  60. package/dist/rules/files/files-externals.d.ts +1 -0
  61. package/dist/rules/files/files-factory-keys.d.ts +1 -0
  62. package/dist/rules/files/files-helpers.d.ts +1 -0
  63. package/dist/rules/files/files-no-functions.d.ts +1 -0
  64. package/dist/rules/files/files-restricted.d.ts +1 -0
  65. package/dist/rules/files/files-route.d.ts +1 -0
  66. package/dist/rules/files/files-types-only.d.ts +1 -0
  67. package/dist/rules/layout/layout-call-arguments.d.ts +1 -0
  68. package/dist/rules/layout/layout-call-array.d.ts +1 -0
  69. package/dist/rules/layout/layout-chain.d.ts +1 -0
  70. package/dist/rules/layout/layout-jsx-attributes.d.ts +1 -0
  71. package/dist/rules/layout/layout-key-value.d.ts +1 -0
  72. package/dist/rules/layout/layout-object.d.ts +1 -0
  73. package/dist/rules/layout/layout-padding.d.ts +1 -0
  74. package/dist/rules/layout/layout-ternary.d.ts +1 -0
  75. package/dist/rules/naming/naming-declarations.d.ts +1 -0
  76. package/dist/rules/naming/naming-exports.d.ts +1 -0
  77. package/dist/rules/naming/naming-file.d.ts +1 -0
  78. package/dist/rules/naming/naming-folder.d.ts +1 -0
  79. package/dist/rules/naming/naming-types.d.ts +1 -0
  80. package/dist/rules/react/react-dynamic-classes.d.ts +1 -0
  81. package/dist/rules/react/react-empty-effect.d.ts +1 -0
  82. package/dist/rules/react/react-memo.d.ts +1 -0
  83. package/dist/rules/react/react-props.d.ts +1 -0
  84. package/dist/rules/schemas/schemas-inline.d.ts +1 -0
  85. package/dist/rules/schemas/schemas-local.d.ts +1 -0
  86. package/dist/rules/schemas/schemas-rederive.d.ts +1 -0
  87. package/dist/rules/schemas/schemas-single-use.d.ts +1 -0
  88. package/dist/rules/tests/tests-assertions.d.ts +1 -0
  89. package/dist/rules/tests/tests-concurrent-db.d.ts +1 -0
  90. package/dist/rules/tests/tests-modifiers.d.ts +1 -0
  91. package/dist/rules/tests/tests-titles.d.ts +1 -0
  92. package/dist/rules/types/types-declarations.d.ts +1 -0
  93. package/dist/rules/types/types-imported-alias.d.ts +1 -0
  94. package/dist/rules/types/types-inline.d.ts +1 -0
  95. package/dist/rules/types/types-local-alias.d.ts +1 -0
  96. package/dist/rules/types/types-namespace-import.d.ts +1 -0
  97. package/dist/rules/types/types-service.d.ts +1 -0
  98. package/dist/rules/types/types-unknown.d.ts +1 -0
  99. package/dist/types/ast.types.d.ts +2 -0
  100. package/dist/types/backend.types.d.ts +24 -0
  101. package/dist/types/boundaries.types.d.ts +72 -0
  102. package/dist/types/code.types.d.ts +59 -0
  103. package/dist/types/comments.types.d.ts +12 -0
  104. package/dist/types/copy.types.d.ts +4 -0
  105. package/dist/types/declarations.types.d.ts +20 -0
  106. package/dist/types/dillon-anti-slop.types.d.ts +55 -0
  107. package/dist/types/exports.types.d.ts +11 -0
  108. package/dist/types/files.types.d.ts +85 -0
  109. package/dist/types/layout.types.d.ts +55 -0
  110. package/dist/types/naming.types.d.ts +52 -0
  111. package/dist/types/options.types.d.ts +4 -0
  112. package/dist/types/preset.types.d.ts +242 -129
  113. package/dist/types/react.types.d.ts +14 -0
  114. package/dist/types/schemas.types.d.ts +20 -0
  115. package/dist/types/source.types.d.ts +1 -0
  116. package/dist/types/tests.types.d.ts +39 -0
  117. package/dist/types/types.types.d.ts +20 -0
  118. package/dist/utils/ast.utils.d.ts +19 -0
  119. package/dist/utils/boundaries.utils.d.ts +85 -0
  120. package/dist/utils/declarations.utils.d.ts +21 -0
  121. package/dist/utils/exports.utils.d.ts +6 -0
  122. package/dist/utils/naming.utils.d.ts +11 -0
  123. package/dist/utils/options.utils.d.ts +11 -0
  124. package/dist/utils/react.utils.d.ts +3 -0
  125. package/dist/utils/schemas.utils.d.ts +36 -0
  126. package/dist/utils/source.utils.d.ts +18 -0
  127. package/dist/vendor/dillon-anti-slop/index.js +1741 -0
  128. package/dist/vendor/dillon-anti-slop/rules/no-known-value-widening.d.ts +2 -0
  129. package/dist/vendor/dillon-anti-slop/rules/no-module-mocking.d.ts +2 -0
  130. package/dist/vendor/dillon-anti-slop/shared/dictionary-types.d.ts +5 -0
  131. package/dist/vendor/dillon-anti-slop/shared/expressions.d.ts +5 -0
  132. package/dist/vendor/dillon-anti-slop/shared/lexical-type-parameters.d.ts +2 -0
  133. package/dist/vendor/dillon-anti-slop/shared/reflect-method.d.ts +1 -0
  134. package/dist/vendor/dillon-anti-slop/shared/resolve-variable.d.ts +2 -0
  135. package/dist/vendor/dillon-anti-slop/shared/signatures.d.ts +15 -0
  136. package/dist/vendor/dillon-anti-slop/shared/type-aliases.d.ts +4 -0
  137. package/dist/vendor/dillon-anti-slop/shared/type-environment.d.ts +9 -0
  138. package/dist/vendor/dillon-anti-slop/shared/type-reference-name.d.ts +2 -0
  139. package/dist/vendor/dillon-anti-slop/shared/widening-targets.d.ts +3 -0
  140. package/package.json +51 -43
  141. package/src/{rules → vendor}/dillon-anti-slop/UPSTREAM.md +4 -6
  142. package/dist/configs/boundaries.d.ts +0 -2
  143. package/dist/configs/modules.d.ts +0 -2
  144. package/dist/configs/plugins.d.ts +0 -3
  145. package/dist/configs/react.d.ts +0 -2
  146. package/dist/configs/source.d.ts +0 -2
  147. package/dist/configs/tests.d.ts +0 -2
  148. package/dist/configs/types.d.ts +0 -2
  149. package/dist/constants/preset.constants.d.ts +0 -38
  150. package/dist/constants/test.constants.d.ts +0 -1
  151. package/dist/presets/index.d.ts +0 -4
  152. package/dist/presets/index.js +0 -1736
  153. package/dist/presets/next-react-modules-preset.d.ts +0 -4
  154. package/dist/presets/next-react-modules-preset.js +0 -1729
  155. package/dist/presets/react-modules-preset.d.ts +0 -4
  156. package/dist/presets/react-modules-preset.js +0 -1724
  157. package/dist/presets/tanstack-start-react-modules-preset.d.ts +0 -4
  158. package/dist/presets/tanstack-start-react-modules-preset.js +0 -1729
  159. package/dist/rules/dillon-anti-slop/index.js +0 -2719
  160. package/dist/rules/dillon-anti-slop/rules/no-known-value-widening.d.ts +0 -1
  161. package/dist/rules/dillon-anti-slop/rules/no-module-mocking.d.ts +0 -8
  162. package/dist/rules/dillon-anti-slop/shared/dictionary-types.d.ts +0 -19
  163. package/dist/rules/dillon-anti-slop/shared/lexical-type-parameters.d.ts +0 -4
  164. package/dist/rules/dillon-anti-slop/shared/reflect-method.d.ts +0 -2
  165. package/dist/rules/module-policy/domain-constants.d.ts +0 -2
  166. package/dist/rules/module-policy/import-boundaries.d.ts +0 -2
  167. package/dist/rules/module-policy/index.js +0 -2266
  168. package/dist/rules/module-policy/memoization.d.ts +0 -2
  169. package/dist/rules/module-policy/next-runtime.d.ts +0 -7
  170. package/dist/rules/module-policy/no-unknown.d.ts +0 -6
  171. package/dist/rules/module-policy/reasoned-directives.d.ts +0 -2
  172. package/dist/rules/module-policy/service-functions.d.ts +0 -2
  173. package/dist/rules/module-policy/service-types.d.ts +0 -2
  174. package/dist/rules/module-policy/tanstack-runtime.d.ts +0 -2
  175. package/dist/rules/module-policy/test-assertions.d.ts +0 -2
  176. package/dist/rules/module-policy/test-modifiers.d.ts +0 -2
  177. package/dist/services/preset-compose.d.ts +0 -3
  178. package/dist/services/preset-context.d.ts +0 -2
  179. package/dist/types/module-policy.types.d.ts +0 -39
  180. package/dist/types/test-analysis.types.d.ts +0 -11
  181. package/dist/utils/helpers/ast.d.ts +0 -12
  182. package/dist/utils/helpers/boundaries.d.ts +0 -3
  183. package/dist/utils/helpers/comments.d.ts +0 -6
  184. package/dist/utils/helpers/declarations.d.ts +0 -35
  185. package/dist/utils/helpers/exports.d.ts +0 -18
  186. package/dist/utils/helpers/factories.d.ts +0 -9
  187. package/dist/utils/helpers/guards.d.ts +0 -11
  188. package/dist/utils/helpers/index.d.ts +0 -18
  189. package/dist/utils/helpers/layout.d.ts +0 -15
  190. package/dist/utils/helpers/mocking.d.ts +0 -2
  191. package/dist/utils/helpers/naming.d.ts +0 -13
  192. package/dist/utils/helpers/options.d.ts +0 -22
  193. package/dist/utils/helpers/orpc.d.ts +0 -3
  194. package/dist/utils/helpers/preset.d.ts +0 -9
  195. package/dist/utils/helpers/react-components.d.ts +0 -13
  196. package/dist/utils/helpers/routes.d.ts +0 -5
  197. package/dist/utils/helpers/runtime.d.ts +0 -14
  198. package/dist/utils/helpers/sanitizers.d.ts +0 -3
  199. package/dist/utils/helpers/schemas.d.ts +0 -10
  200. package/dist/utils/helpers/syntax.d.ts +0 -1
  201. package/dist/utils/helpers/test-tables.d.ts +0 -8
  202. package/dist/utils/helpers/trivial.d.ts +0 -6
  203. package/dist/utils/index.d.ts +0 -1
  204. /package/dist/{rules/module-policy/index.d.ts → index.d.ts} +0 -0
  205. /package/dist/{rules → vendor}/dillon-anti-slop/index.d.ts +0 -0
  206. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-chained-type-assertions.d.ts +0 -0
  207. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-conditional-empty-object-spread.d.ts +0 -0
  208. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-object-parameters.d.ts +0 -0
  209. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-reflect-apply.d.ts +0 -0
  210. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-reflect-get.d.ts +0 -0
  211. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-runtime-typeof.d.ts +0 -0
  212. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-shape-in-symbol-names.d.ts +0 -0
  213. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-unknown-parameters.d.ts +0 -0
  214. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-unknown-returns.d.ts +0 -0
  215. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-unknown-type-aliases.d.ts +0 -0
  216. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-unsafe-dictionary-type.d.ts +0 -0
  217. /package/dist/{rules → vendor}/dillon-anti-slop/rules/no-widen-then-assert.d.ts +0 -0
  218. /package/dist/{rules → vendor}/dillon-anti-slop/rules/require-safety-comment-for-type-assertion.d.ts +0 -0
  219. /package/src/{rules → vendor}/dillon-anti-slop/LICENSE +0 -0
@@ -0,0 +1,85 @@
1
+ import type { BoundariesOptions } from '../types/boundaries.types.ts';
2
+ import type * as PluginsTypes from '@oxlint/plugins';
3
+ export declare const boundariesServerGlobals: string[];
4
+ export declare const boundariesBrowserGlobals: string[];
5
+ export declare const boundariesRuntimeProperties: {
6
+ web: {
7
+ type: string;
8
+ items: {
9
+ type: string;
10
+ };
11
+ };
12
+ backend: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ };
17
+ };
18
+ aliases: {
19
+ type: string;
20
+ additionalProperties: {
21
+ type: string;
22
+ };
23
+ };
24
+ backendPackages: {
25
+ type: string;
26
+ items: {
27
+ type: string;
28
+ };
29
+ };
30
+ server: {
31
+ type: string;
32
+ items: {
33
+ type: string;
34
+ };
35
+ };
36
+ client: {
37
+ type: string;
38
+ items: {
39
+ type: string;
40
+ };
41
+ };
42
+ dynamic: {
43
+ type: string;
44
+ items: {
45
+ type: string;
46
+ };
47
+ };
48
+ serverPackages: {
49
+ type: string;
50
+ items: {
51
+ type: string;
52
+ };
53
+ };
54
+ clientPackages: {
55
+ type: string;
56
+ items: {
57
+ type: string;
58
+ };
59
+ };
60
+ hookPackages: {
61
+ type: string;
62
+ items: {
63
+ type: string;
64
+ };
65
+ };
66
+ };
67
+ export declare const boundariesServerPackages: string[];
68
+ export declare const boundariesRuntimeMessages: {
69
+ runtime: string;
70
+ computed: string;
71
+ };
72
+ export declare function boundariesExportVisitors(check: (node: PluginsTypes.ESTree.Node, source: string, typeOnly: boolean, reExport: boolean) => void): {
73
+ ExportNamedDeclaration(node: PluginsTypes.ESTree.ExportNamedDeclaration): void;
74
+ ExportAllDeclaration(node: PluginsTypes.ESTree.ExportAllDeclaration): void;
75
+ };
76
+ export declare function boundariesLiteralSource(node: PluginsTypes.ESTree.ImportExpression): string | undefined;
77
+ export declare function boundariesReport(context: PluginsTypes.Context, node: PluginsTypes.ESTree.Node, source: string, reason: string): void;
78
+ export declare function boundariesImportExpression(context: PluginsTypes.Context, node: PluginsTypes.ESTree.ImportExpression, allowComputed: boolean, check: (source: string) => void): void;
79
+ export declare function boundariesIsSharedFile(options: Pick<BoundariesOptions, 'web'>, file: string): boolean;
80
+ export declare function boundariesDeclaredVariable(start: PluginsTypes.Scope | null, name: string): PluginsTypes.Variable | null;
81
+ export declare function boundariesMatchesImport(prefixes: string[] | undefined, source: string): boolean;
82
+ export declare function boundariesIsBackendImport(options: Pick<BoundariesOptions, 'backend' | 'backendPackages'>, target: string, source: string): boolean;
83
+ export declare function boundariesIsServerPlatformImport(source: string, packages: readonly string[]): boolean;
84
+ export declare function boundariesMemberName(node: PluginsTypes.ESTree.Node | null | undefined): string | null;
85
+ export declare function boundariesResolveTarget(options: Pick<BoundariesOptions, 'web' | 'backend' | 'aliases'>, file: string, source: string): string;
@@ -0,0 +1,21 @@
1
+ import type { AstFunction } from '../types/ast.types.ts';
2
+ import type * as DeclarationsTypes from '../types/declarations.types.ts';
3
+ import type { ESTree } from '@oxlint/plugins';
4
+ export declare function declarationsIsFunctionValue(node: ESTree.Node | null | undefined): node is AstFunction;
5
+ export declare function declarationsIdName(node: ESTree.Node): string | undefined;
6
+ export declare function declarationsKindOf(node: ESTree.Node, ancestors: ESTree.Node[]): DeclarationsTypes.DeclarationsKind | undefined;
7
+ export declare function declarationsNamed(root: ESTree.Node): DeclarationsTypes.DeclarationsNamed[];
8
+ export declare function declarationsFunctions(root: ESTree.Node): DeclarationsTypes.DeclarationsFunction[];
9
+ export declare function declarationsTopLevelUnexportedFunctions(program: ESTree.Program): DeclarationsTypes.DeclarationsFunction[];
10
+ export declare function declarationsTopLevelCandidates(program: ESTree.Program): DeclarationsTypes.DeclarationsCandidate[];
11
+ export declare function declarationsPropertyName(property: ESTree.ObjectPropertyKind): string | undefined;
12
+ export declare function declarationsIsRuntime(node: ESTree.Node): node is DeclarationsTypes.DeclarationsRuntime;
13
+ export declare function declarationsPublicServiceMethods(program: ESTree.Program): {
14
+ name: string;
15
+ node: ESTree.Function;
16
+ binding: ESTree.VariableDeclarator;
17
+ }[];
18
+ export declare function declarationsUnique<T extends {
19
+ name: string;
20
+ node: ESTree.Node;
21
+ }>(items: readonly T[]): T[];
@@ -0,0 +1,6 @@
1
+ import type * as DeclarationsTypes from '../types/declarations.types.ts';
2
+ import type { ExportsBinding } from '../types/exports.types.ts';
3
+ import type { ESTree } from '@oxlint/plugins';
4
+ export declare function exportsCollect(program: ESTree.Program): ExportsBinding[];
5
+ export declare function exportsFunctions(program: ESTree.Program, exportedNames?: boolean): DeclarationsTypes.DeclarationsFunction[];
6
+ export declare function exportsCheckedFunctions(program: ESTree.Program, unexported: boolean, serviceMethods: boolean, allowed: RegExp[]): DeclarationsTypes.DeclarationsFunction[];
@@ -0,0 +1,11 @@
1
+ import type { NamingExportsStem, NamingStemMode } from '../types/naming.types.ts';
2
+ import type { OptionsSchemaProperties } from '../types/options.types.ts';
3
+ export declare const namingStemModes: readonly NamingStemMode[];
4
+ export declare const namingStemSchemaProperties: OptionsSchemaProperties;
5
+ export declare function namingBasename(filePath: string): string;
6
+ export declare function namingPascalCase(value: string): string;
7
+ export declare function namingCamelCase(value: string): string;
8
+ export declare function namingNormalized(value: string, normalize: 'remove-separators' | 'none'): string;
9
+ export declare function namingFileStem(basename: string, mode?: NamingStemMode, trailingRoles?: readonly string[], roleSeparators?: readonly string[]): string;
10
+ export declare function namingFilePrefixesFor(filename: string, options: NamingExportsStem): string[];
11
+ export declare function namingHasFilePrefix(name: string, prefixes: readonly string[], normalize: NamingExportsStem['normalize']): boolean;
@@ -0,0 +1,11 @@
1
+ import type { OptionsPattern, OptionsSchema } from '../types/options.types.ts';
2
+ import type { Context } from '@oxlint/plugins';
3
+ export declare const optionsPatternSchema: OptionsSchema;
4
+ export declare function optionsFirst<T>(context: Context, fallback?: T): T;
5
+ export declare function optionsAll<T>(context: Context): T[];
6
+ export declare function optionsPatterns(pattern: OptionsPattern | undefined, flags?: string): RegExp[];
7
+ export declare function optionsPatternsWithEmpty(pattern: OptionsPattern | undefined, flags?: string): RegExp[];
8
+ export declare function optionsPatternsTest(patterns: RegExp[], value: string): boolean;
9
+ export declare function optionsGlob(pattern: string): RegExp;
10
+ export declare function optionsPatternLabel(pattern: OptionsPattern | undefined): string;
11
+ export declare function optionsAssertMockingApis(patterns: string[]): void;
@@ -0,0 +1,3 @@
1
+ import type { DeclarationsCandidate } from '../types/declarations.types.ts';
2
+ import type { ESTree } from '@oxlint/plugins';
3
+ export declare function reactIsComponent(program: ESTree.Program, candidate: DeclarationsCandidate): boolean;
@@ -0,0 +1,36 @@
1
+ import type { ESTree } from '@oxlint/plugins';
2
+ export declare const schemasElementOptionsSchema: {
3
+ type: string;
4
+ additionalProperties: boolean;
5
+ properties: {
6
+ namespaces: {
7
+ type: string;
8
+ items: {
9
+ type: string;
10
+ };
11
+ };
12
+ methods: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ };
17
+ };
18
+ structural: {
19
+ type: string;
20
+ items: {
21
+ type: string;
22
+ };
23
+ };
24
+ scalars: {
25
+ type: string;
26
+ };
27
+ };
28
+ };
29
+ export declare const schemasElementDefaults: {
30
+ namespaces: string[];
31
+ methods: string[];
32
+ scalars: boolean;
33
+ };
34
+ export declare function schemasIsCall(node: ESTree.CallExpression, namespaces: ReadonlySet<string>): boolean;
35
+ export declare function schemasElements(node: ESTree.CallExpression): ESTree.Argument[];
36
+ export declare function schemasIsAllowedElement(node: ESTree.Argument, allowScalars: boolean, namespaces: ReadonlySet<string>, structuralMethods: ReadonlySet<string>): boolean;
@@ -0,0 +1,18 @@
1
+ import type { SourceIndent } from '../types/source.types.ts';
2
+ import type { ESTree } from '@oxlint/plugins';
3
+ export declare const sourceIndentSchema: {
4
+ anyOf: ({
5
+ type: string;
6
+ minimum: number;
7
+ enum?: undefined;
8
+ } | {
9
+ minimum?: undefined;
10
+ type: string;
11
+ enum: string[];
12
+ })[];
13
+ };
14
+ export declare function sourceCommentText(comment: Pick<ESTree.Comment, 'type' | 'value'>): string;
15
+ export declare function sourceIsDirective(text: string): boolean;
16
+ export declare function sourceLineIndent(text: string, offset: number): string;
17
+ export declare function sourceIndentUnit(indent?: SourceIndent): string;
18
+ export declare function sourceNewline(text: string): string;