projen 0.93.3 → 0.94.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 (203) hide show
  1. package/.jsii +2769 -10746
  2. package/lib/awscdk/auto-discover.js +5 -5
  3. package/lib/awscdk/awscdk-app-java.js +1 -1
  4. package/lib/awscdk/awscdk-app-py.js +1 -1
  5. package/lib/awscdk/awscdk-app-ts.js +1 -1
  6. package/lib/awscdk/awscdk-construct.js +2 -2
  7. package/lib/awscdk/awscdk-deps-java.js +1 -1
  8. package/lib/awscdk/awscdk-deps-js.js +1 -1
  9. package/lib/awscdk/awscdk-deps-py.js +1 -1
  10. package/lib/awscdk/awscdk-deps.js +1 -1
  11. package/lib/awscdk/cdk-config.js +1 -1
  12. package/lib/awscdk/cdk-tasks.js +1 -1
  13. package/lib/awscdk/integration-test.js +1 -1
  14. package/lib/awscdk/lambda-extension.js +1 -1
  15. package/lib/awscdk/lambda-function.js +2 -2
  16. package/lib/build/build-workflow.js +1 -1
  17. package/lib/cdk/auto-discover-base.js +2 -2
  18. package/lib/cdk/construct-lib.js +1 -1
  19. package/lib/cdk/integration-test-base.js +1 -1
  20. package/lib/cdk/jsii-docgen.js +1 -1
  21. package/lib/cdk/jsii-project.js +1 -1
  22. package/lib/cdk8s/auto-discover.js +2 -2
  23. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  24. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  25. package/lib/cdk8s/cdk8s-construct.js +1 -1
  26. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps.js +1 -1
  28. package/lib/cdk8s/integration-test.js +1 -1
  29. package/lib/cdktf/cdktf-construct.js +1 -1
  30. package/lib/circleci/circleci.js +1 -1
  31. package/lib/component.js +1 -1
  32. package/lib/dependencies.js +1 -1
  33. package/lib/dev-env.js +1 -1
  34. package/lib/docker-compose/docker-compose-service.js +1 -1
  35. package/lib/docker-compose/docker-compose.js +1 -1
  36. package/lib/file.js +1 -1
  37. package/lib/gitattributes.js +1 -1
  38. package/lib/github/actions-provider.js +1 -1
  39. package/lib/github/auto-approve.js +1 -1
  40. package/lib/github/auto-merge.js +1 -1
  41. package/lib/github/auto-queue.js +1 -1
  42. package/lib/github/dependabot.js +1 -1
  43. package/lib/github/github-credentials.js +1 -1
  44. package/lib/github/github-project.js +1 -1
  45. package/lib/github/github.js +1 -1
  46. package/lib/github/merge-queue.js +1 -1
  47. package/lib/github/mergify.js +1 -1
  48. package/lib/github/pr-template.js +1 -1
  49. package/lib/github/pull-request-backport.js +1 -1
  50. package/lib/github/pull-request-lint.js +1 -1
  51. package/lib/github/stale.js +1 -1
  52. package/lib/github/task-workflow-job.js +1 -1
  53. package/lib/github/task-workflow.js +1 -1
  54. package/lib/github/workflow-actions.js +1 -1
  55. package/lib/github/workflow-jobs.js +1 -1
  56. package/lib/github/workflow-steps.js +1 -1
  57. package/lib/github/workflows.js +1 -1
  58. package/lib/gitlab/configuration.js +1 -1
  59. package/lib/gitlab/gitlab-configuration.js +1 -1
  60. package/lib/gitlab/nested-configuration.js +1 -1
  61. package/lib/gitpod.js +1 -1
  62. package/lib/ignore-file.js +1 -1
  63. package/lib/ini.js +1 -1
  64. package/lib/java/java-project.js +1 -1
  65. package/lib/java/junit.js +1 -1
  66. package/lib/java/maven-compile.js +1 -1
  67. package/lib/java/maven-packaging.js +1 -1
  68. package/lib/java/maven-sample.js +1 -1
  69. package/lib/java/pom.js +2 -2
  70. package/lib/java/projenrc.js +1 -1
  71. package/lib/javascript/biome/biome-config.d.ts +1273 -2062
  72. package/lib/javascript/biome/biome-config.js +949 -7
  73. package/lib/javascript/biome/biome.d.ts +17 -17
  74. package/lib/javascript/biome/biome.js +57 -43
  75. package/lib/javascript/bundler.js +1 -1
  76. package/lib/javascript/eslint.js +1 -1
  77. package/lib/javascript/jest.js +4 -4
  78. package/lib/javascript/license-checker.js +1 -1
  79. package/lib/javascript/node-package.js +1 -1
  80. package/lib/javascript/node-project.js +3 -3
  81. package/lib/javascript/npm-config.js +1 -1
  82. package/lib/javascript/prettier.js +1 -1
  83. package/lib/javascript/projenrc.js +3 -3
  84. package/lib/javascript/typescript-config.js +2 -2
  85. package/lib/javascript/upgrade-dependencies.js +2 -2
  86. package/lib/javascript/yarnrc.js +1 -1
  87. package/lib/json-patch.js +1 -1
  88. package/lib/json.js +1 -1
  89. package/lib/license.js +1 -1
  90. package/lib/logger.js +1 -1
  91. package/lib/makefile.js +1 -1
  92. package/lib/object-file.js +1 -1
  93. package/lib/project-build.js +1 -1
  94. package/lib/project-tree.js +1 -1
  95. package/lib/project.js +1 -1
  96. package/lib/projects.js +1 -1
  97. package/lib/projenrc-json.js +2 -2
  98. package/lib/projenrc.js +1 -1
  99. package/lib/python/pip.js +1 -1
  100. package/lib/python/poetry.js +2 -2
  101. package/lib/python/projenrc.js +1 -1
  102. package/lib/python/pytest-sample.js +1 -1
  103. package/lib/python/pytest.js +1 -1
  104. package/lib/python/python-project.js +1 -1
  105. package/lib/python/python-sample.js +1 -1
  106. package/lib/python/requirements-file.js +1 -1
  107. package/lib/python/setuppy.js +1 -1
  108. package/lib/python/setuptools.js +1 -1
  109. package/lib/python/venv.js +1 -1
  110. package/lib/readme.js +1 -1
  111. package/lib/release/publisher.js +1 -1
  112. package/lib/release/release-trigger.js +1 -1
  113. package/lib/release/release.js +1 -1
  114. package/lib/renovatebot.js +1 -1
  115. package/lib/sample-file.js +2 -2
  116. package/lib/semver.js +1 -1
  117. package/lib/source-code.js +1 -1
  118. package/lib/task-runtime.js +1 -1
  119. package/lib/task.js +1 -1
  120. package/lib/tasks.js +1 -1
  121. package/lib/testing.js +1 -1
  122. package/lib/textfile.js +1 -1
  123. package/lib/toml.js +1 -1
  124. package/lib/typescript/projenrc-ts.js +1 -1
  125. package/lib/typescript/projenrc.js +4 -4
  126. package/lib/typescript/typescript-typedoc.js +1 -1
  127. package/lib/typescript/typescript.d.ts +1 -1
  128. package/lib/typescript/typescript.js +18 -13
  129. package/lib/version.js +2 -2
  130. package/lib/vscode/devcontainer.js +1 -1
  131. package/lib/vscode/extensions.js +1 -1
  132. package/lib/vscode/launch-config.js +1 -1
  133. package/lib/vscode/settings.js +1 -1
  134. package/lib/vscode/vscode.js +1 -1
  135. package/lib/web/next.js +3 -3
  136. package/lib/web/postcss.js +1 -1
  137. package/lib/web/react.js +4 -4
  138. package/lib/web/tailwind.js +1 -1
  139. package/lib/xmlfile.js +1 -1
  140. package/lib/yaml.js +1 -1
  141. package/package.json +3 -4
  142. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/LICENSE +0 -0
  143. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/README.md +0 -0
  144. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/index.js +0 -0
  145. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/append/constant.js +0 -0
  146. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/append.js +0 -0
  147. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/count.js +0 -0
  148. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/help.js +0 -0
  149. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/store/constant.js +0 -0
  150. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/store/false.js +0 -0
  151. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/store/true.js +0 -0
  152. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/store.js +0 -0
  153. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/subparsers.js +0 -0
  154. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action/version.js +0 -0
  155. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action.js +0 -0
  156. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/action_container.js +0 -0
  157. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/argparse.js +0 -0
  158. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/argument/error.js +0 -0
  159. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/argument/exclusive.js +0 -0
  160. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/argument/group.js +0 -0
  161. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/argument_parser.js +0 -0
  162. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/const.js +0 -0
  163. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/help/added_formatters.js +0 -0
  164. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/help/formatter.js +0 -0
  165. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/namespace.js +0 -0
  166. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/lib/utils.js +0 -0
  167. /package/node_modules/{xmlbuilder2/node_modules/argparse → argparse}/package.json +0 -0
  168. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/LICENSE +0 -0
  169. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/README.md +0 -0
  170. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/bin/js-yaml.js +0 -0
  171. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/dist/js-yaml.js +0 -0
  172. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/dist/js-yaml.min.js +0 -0
  173. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/index.js +0 -0
  174. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/common.js +0 -0
  175. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/dumper.js +0 -0
  176. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/exception.js +0 -0
  177. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/loader.js +0 -0
  178. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/mark.js +0 -0
  179. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema/core.js +0 -0
  180. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema/default_full.js +0 -0
  181. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema/default_safe.js +0 -0
  182. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema/failsafe.js +0 -0
  183. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema/json.js +0 -0
  184. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/schema.js +0 -0
  185. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/binary.js +0 -0
  186. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/bool.js +0 -0
  187. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/float.js +0 -0
  188. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/int.js +0 -0
  189. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/js/function.js +0 -0
  190. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/js/regexp.js +0 -0
  191. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/js/undefined.js +0 -0
  192. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/map.js +0 -0
  193. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/merge.js +0 -0
  194. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/null.js +0 -0
  195. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/omap.js +0 -0
  196. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/pairs.js +0 -0
  197. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/seq.js +0 -0
  198. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/set.js +0 -0
  199. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/str.js +0 -0
  200. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type/timestamp.js +0 -0
  201. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml/type.js +0 -0
  202. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/lib/js-yaml.js +0 -0
  203. /package/node_modules/{xmlbuilder2/node_modules/js-yaml → js-yaml}/package.json +0 -0
@@ -1,2522 +1,1733 @@
1
- /**
2
- * This file was automatically generated by json-schema-to-typescript.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
- * and run json-schema-to-typescript to regenerate this file.
5
- */
6
- export type IRuleAssistConfiguration = "on" | "off";
7
- export type IStringSet = string[];
8
- export type IIndentStyle = "tab" | "space";
9
- export type IIndentWidth = number;
10
- export type ILineEnding = "lf" | "crlf" | "cr";
11
- /**
12
- * Validated value for the `line_width` formatter options
13
- *
14
- * The allowed range of values is 1..=320
15
- */
16
- export type ILineWidth = number;
17
- export type IQuoteStyle = "double" | "single";
18
- export type IAttributePosition = "auto" | "multiline";
19
- export type IBracketSpacing = boolean;
20
- export type IArrowParentheses = "always" | "asNeeded";
21
- export type IQuoteProperties = "asNeeded" | "preserve";
22
- export type ISemicolons = "always" | "asNeeded";
23
- /**
24
- * Print trailing commas wherever possible in multi-line comma-separated syntactic structures.
25
- */
26
- export type ITrailingCommas = "all" | "es5" | "none";
27
- /**
28
- * Indicates the type of runtime or transformation used for interpreting JSX.
29
- */
30
- export type IJsxRuntime = "transparent" | "reactClassic";
31
- export type ITrailingCommas2 = "none" | "all";
32
- export type IRuleFixConfiguration = IRulePlainConfiguration | IRuleWithFixNoOptions;
33
- export type IRulePlainConfiguration = "warn" | "error" | "info" | "off";
34
- /**
35
- * Used to identify the kind of code action emitted by a rule
36
- */
37
- export type IFixKind = "none" | "safe" | "unsafe";
38
- export type IAllowDomainConfiguration = IRulePlainConfiguration | IRuleWithAllowDomainOptions;
39
- export type INoLabelWithoutControlConfiguration = IRulePlainConfiguration | IRuleWithNoLabelWithoutControlOptions;
40
- export type IRuleConfiguration = IRulePlainConfiguration | IRuleWithNoOptions;
41
- export type IValidAriaRoleConfiguration = IRulePlainConfiguration | IRuleWithValidAriaRoleOptions;
42
- export type IComplexityConfiguration = IRulePlainConfiguration | IRuleWithComplexityOptions;
43
- export type IUseExhaustiveDependenciesConfiguration = IRulePlainConfiguration | IRuleWithUseExhaustiveDependenciesOptions;
44
- export type IStableHookResult = boolean | number[];
45
- export type IDeprecatedHooksConfiguration = IRulePlainConfiguration | IRuleWithDeprecatedHooksOptions;
46
- export type IUseImportExtensionsConfiguration = IRulePlainConfiguration | IRuleWithUseImportExtensionsOptions;
47
- export type IRestrictedImportsConfiguration = IRulePlainConfiguration | IRuleWithRestrictedImportsOptions;
48
- export type INoRestrictedTypesConfiguration = IRulePlainConfiguration | IRuleWithNoRestrictedTypesOptions;
49
- export type ICustomRestrictedType = string | ICustomRestrictedTypeOptions;
50
- export type INoSecretsConfiguration = IRulePlainConfiguration | IRuleWithNoSecretsOptions;
51
- export type IUseComponentExportOnlyModulesConfiguration = IRulePlainConfiguration | IRuleWithUseComponentExportOnlyModulesOptions;
52
- export type IConsistentMemberAccessibilityConfiguration = IRulePlainConfiguration | IRuleWithConsistentMemberAccessibilityOptions;
53
- export type IAccessibility = "noPublic" | "explicit" | "none";
54
- export type IUtilityClassSortingConfiguration = IRulePlainConfiguration | IRuleWithUtilityClassSortingOptions;
55
- export type IUseValidAutocompleteConfiguration = IRulePlainConfiguration | IRuleWithUseValidAutocompleteOptions;
56
- export type IRestrictedGlobalsConfiguration = IRulePlainConfiguration | IRuleWithRestrictedGlobalsOptions;
57
- export type IConsistentArrayTypeConfiguration = IRulePlainConfiguration | IRuleWithConsistentArrayTypeOptions;
58
- export type IConsistentArrayType = "shorthand" | "generic";
59
- export type IFilenamingConventionConfiguration = IRulePlainConfiguration | IRuleWithFilenamingConventionOptions;
60
- /**
61
- * Supported cases for file names.
62
- */
63
- export type IFilenameCase = "camelCase" | "export" | "kebab-case" | "PascalCase" | "snake_case";
64
- export type IFilenameCases = IFilenameCase[];
65
- export type INamingConventionConfiguration = IRulePlainConfiguration | IRuleWithNamingConventionOptions;
66
- /**
67
- * Supported cases.
68
- */
69
- export type IFormat = "camelCase" | "CONSTANT_CASE" | "PascalCase" | "snake_case";
70
- export type IFormats = IFormat[];
71
- export type IRegex = string;
72
- export type IKind = ("class" | "enum" | "interface" | "enumMember" | "importNamespace" | "exportNamespace" | "variable" | "const" | "let" | "using" | "var" | "catchParameter" | "indexParameter" | "exportAlias" | "importAlias" | "classGetter" | "classSetter" | "classMethod" | "objectLiteralProperty" | "objectLiteralGetter" | "objectLiteralSetter" | "objectLiteralMethod" | "typeAlias") | "any" | "typeLike" | "function" | "namespaceLike" | "namespace" | "functionParameter" | "typeParameter" | "classMember" | "classProperty" | "objectLiteralMember" | "typeMember" | "typeGetter" | "typeProperty" | "typeSetter" | "typeMethod";
73
- export type IRestrictedModifier = "abstract" | "private" | "protected" | "readonly" | "static";
74
- export type IModifiers = IRestrictedModifier[];
75
- export type IScope = "any" | "global";
76
- export type INoConsoleConfiguration = IRulePlainConfiguration | IRuleWithNoConsoleOptions;
77
- export type INoDoubleEqualsConfiguration = IRulePlainConfiguration | IRuleWithNoDoubleEqualsOptions;
78
- export type IOverrides = IOverridePattern[];
79
- export type IVcsClientKind = "git";
80
1
  /**
81
2
  * The configuration that is contained inside the file `biome.json`
3
+ *
4
+ * @schema BiomeConfiguration
82
5
  */
83
- export interface IConfiguration {
6
+ export interface BiomeConfiguration {
84
7
  /**
85
8
  * A field for the [JSON schema](https://json-schema.org/) specification
9
+ *
10
+ * @schema BiomeConfiguration#$schema
86
11
  */
12
+ readonly schema?: string;
87
13
  /**
88
14
  * Specific configuration for assists
15
+ *
16
+ * @schema BiomeConfiguration#assist
89
17
  */
90
- assists?: IAssistsConfiguration;
18
+ readonly assist?: AssistConfiguration;
91
19
  /**
92
20
  * Specific configuration for the Css language
21
+ *
22
+ * @schema BiomeConfiguration#css
93
23
  */
94
- css?: ICssConfiguration;
24
+ readonly css?: CssConfiguration;
95
25
  /**
96
26
  * A list of paths to other JSON files, used to extends the current configuration.
27
+ *
28
+ * @schema BiomeConfiguration#extends
97
29
  */
98
- extends?: IStringSet;
30
+ readonly extends?: string[];
99
31
  /**
100
32
  * The configuration of the filesystem
33
+ *
34
+ * @schema BiomeConfiguration#files
101
35
  */
102
- files?: IFilesConfiguration;
36
+ readonly files?: FilesConfiguration;
103
37
  /**
104
38
  * The configuration of the formatter
39
+ *
40
+ * @schema BiomeConfiguration#formatter
105
41
  */
106
- formatter?: IFormatterConfiguration;
42
+ readonly formatter?: FormatterConfiguration;
107
43
  /**
108
44
  * Specific configuration for the GraphQL language
45
+ *
46
+ * @schema BiomeConfiguration#graphql
109
47
  */
110
- graphql?: IGraphqlConfiguration;
111
- /**
112
- * Specific configuration for the JavaScript language
113
- */
114
- javascript?: IJavascriptConfiguration;
48
+ readonly graphql?: GraphqlConfiguration;
115
49
  /**
116
- * Specific configuration for the Json language
50
+ * Specific configuration for the GraphQL language
51
+ *
52
+ * @schema BiomeConfiguration#grit
117
53
  */
118
- json?: IJsonConfiguration;
54
+ readonly grit?: GritConfiguration;
119
55
  /**
120
- * The configuration for the linter
56
+ * Specific configuration for the HTML language
57
+ *
58
+ * @schema BiomeConfiguration#html
121
59
  */
122
- linter?: ILinterConfiguration;
60
+ readonly html?: HtmlConfiguration;
123
61
  /**
124
- * The configuration of the import sorting
62
+ * Specific configuration for the JavaScript language
63
+ *
64
+ * @schema BiomeConfiguration#javascript
125
65
  */
126
- organizeImports?: IOrganizeImports;
66
+ readonly javascript?: JsConfiguration;
127
67
  /**
128
- * A list of granular patterns that should be applied only to a sub set of files
68
+ * Specific configuration for the Json language
69
+ *
70
+ * @schema BiomeConfiguration#json
129
71
  */
130
- overrides?: IOverrides;
72
+ readonly json?: JsonConfiguration;
131
73
  /**
132
- * The configuration of the VCS integration
74
+ * The configuration for the linter
75
+ *
76
+ * @schema BiomeConfiguration#linter
133
77
  */
134
- vcs?: IVcsConfiguration;
135
- }
136
- export interface IAssistsConfiguration {
78
+ readonly linter?: LinterConfiguration;
137
79
  /**
138
- * Whether Biome should fail in CLI if the assists were not applied to the code.
80
+ * A list of granular patterns that should be applied only to a sub set of files
81
+ *
82
+ * @schema BiomeConfiguration#overrides
139
83
  */
140
- actions?: IActions;
84
+ readonly overrides?: OverridePattern[];
141
85
  /**
142
- * Whether Biome should enable assists via LSP.
86
+ * List of plugins to load.
87
+ *
88
+ * @schema BiomeConfiguration#plugins
143
89
  */
144
- enabled?: boolean;
90
+ readonly plugins?: string[];
145
91
  /**
146
- * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
92
+ * Indicates whether this configuration file is at the root of a Biome project. By default, this is `true`.
93
+ *
94
+ * @schema BiomeConfiguration#root
147
95
  */
148
- ignore?: IStringSet;
96
+ readonly root?: boolean;
149
97
  /**
150
- * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
98
+ * The configuration of the VCS integration
99
+ *
100
+ * @schema BiomeConfiguration#vcs
151
101
  */
152
- include?: IStringSet;
153
- }
154
- export interface IActions {
155
- source?: ISource;
102
+ readonly vcs?: VcsConfiguration;
156
103
  }
157
104
  /**
158
- * A list of rules that belong to this group
105
+ * Converts an object of type 'BiomeConfiguration' to JSON representation.
106
+ * @internal
159
107
  */
160
- export interface ISource {
161
- /**
162
- * Enforce props sorting in JSX elements.
163
- */
164
- sortJsxProps?: IRuleAssistConfiguration;
165
- /**
166
- * Sorts the keys of a JSON object in natural order
167
- */
168
- useSortedKeys?: IRuleAssistConfiguration;
169
- }
108
+ export declare function toJson_BiomeConfiguration(obj: BiomeConfiguration | undefined): Record<string, any> | undefined;
170
109
  /**
171
- * Options applied to CSS files
110
+ * @schema AssistConfiguration
172
111
  */
173
- export interface ICssConfiguration {
174
- /**
175
- * CSS assists options
176
- */
177
- assists?: ICssAssists;
112
+ export interface AssistConfiguration {
178
113
  /**
179
- * CSS formatter options
114
+ * Whether Biome should fail in CLI if the assist were not applied to the code.
115
+ *
116
+ * @schema AssistConfiguration#actions
180
117
  */
181
- formatter?: ICssFormatter;
118
+ readonly actions?: Actions;
182
119
  /**
183
- * CSS linter options
120
+ * Whether Biome should enable assist via LSP and CLI.
121
+ *
122
+ * @schema AssistConfiguration#enabled
184
123
  */
185
- linter?: ICssLinter;
124
+ readonly enabled?: boolean;
186
125
  /**
187
- * CSS parsing options
126
+ * A list of glob patterns. Biome will include files/folders that will match these patterns.
127
+ *
128
+ * @schema AssistConfiguration#includes
188
129
  */
189
- parser?: ICssParser;
130
+ readonly includes?: string[];
190
131
  }
191
132
  /**
192
- * Options that changes how the CSS assists behaves
133
+ * Converts an object of type 'AssistConfiguration' to JSON representation.
134
+ * @internal
193
135
  */
194
- export interface ICssAssists {
195
- /**
196
- * Control the assists for CSS files.
197
- */
198
- enabled?: boolean;
199
- }
136
+ export declare function toJson_AssistConfiguration(obj: AssistConfiguration | undefined): Record<string, any> | undefined;
200
137
  /**
201
- * Options that changes how the CSS formatter behaves
138
+ * Options applied to CSS files
139
+ *
140
+ * @schema CssConfiguration
202
141
  */
203
- export interface ICssFormatter {
204
- /**
205
- * Control the formatter for CSS (and its super languages) files.
206
- */
207
- enabled?: boolean;
142
+ export interface CssConfiguration {
208
143
  /**
209
- * The indent style applied to CSS (and its super languages) files.
210
- */
211
- indentStyle?: IIndentStyle;
212
- /**
213
- * The size of the indentation applied to CSS (and its super languages) files. Default to 2.
144
+ * CSS assist options
145
+ *
146
+ * @schema CssConfiguration#assist
214
147
  */
215
- indentWidth?: IIndentWidth;
148
+ readonly assist?: CssAssistConfiguration;
216
149
  /**
217
- * The type of line ending applied to CSS (and its super languages) files.
150
+ * CSS formatter options
151
+ *
152
+ * @schema CssConfiguration#formatter
218
153
  */
219
- lineEnding?: ILineEnding;
154
+ readonly formatter?: CssFormatterConfiguration;
220
155
  /**
221
- * What's the max width of a line applied to CSS (and its super languages) files. Defaults to 80.
156
+ * CSS globals
157
+ *
158
+ * @schema CssConfiguration#globals
222
159
  */
223
- lineWidth?: ILineWidth;
160
+ readonly globals?: string[];
224
161
  /**
225
- * The type of quotes used in CSS code. Defaults to double.
162
+ * CSS linter options
163
+ *
164
+ * @schema CssConfiguration#linter
226
165
  */
227
- quoteStyle?: IQuoteStyle;
228
- }
229
- /**
230
- * Options that changes how the CSS linter behaves
231
- */
232
- export interface ICssLinter {
166
+ readonly linter?: CssLinterConfiguration;
233
167
  /**
234
- * Control the linter for CSS files.
168
+ * CSS parsing options
169
+ *
170
+ * @schema CssConfiguration#parser
235
171
  */
236
- enabled?: boolean;
172
+ readonly parser?: CssParserConfiguration;
237
173
  }
238
174
  /**
239
- * Options that changes how the CSS parser behaves
175
+ * Converts an object of type 'CssConfiguration' to JSON representation.
176
+ * @internal
240
177
  */
241
- export interface ICssParser {
242
- /**
243
- * Allow comments to appear on incorrect lines in `.css` files
244
- */
245
- allowWrongLineComments?: boolean;
246
- /**
247
- * Enables parsing of CSS Modules specific features.
248
- */
249
- cssModules?: boolean;
250
- }
178
+ export declare function toJson_CssConfiguration(obj: CssConfiguration | undefined): Record<string, any> | undefined;
251
179
  /**
252
180
  * The configuration of the filesystem
181
+ *
182
+ * @schema FilesConfiguration
253
183
  */
254
- export interface IFilesConfiguration {
184
+ export interface FilesConfiguration {
255
185
  /**
256
- * A list of Unix shell style patterns. Biome will ignore files/folders that will match these patterns.
186
+ * Set of file and folder names that should be unconditionally ignored by Biome's scanner.
187
+ *
188
+ * Biome maintains an internal list of default ignore entries, which is based on user feedback and which may change in any release. This setting allows overriding this internal list completely.
189
+ *
190
+ * This is considered an advanced feature that users _should_ not need to tweak themselves, but they can as a last resort. This setting can only be configured in root configurations, and is ignored in nested configs.
191
+ *
192
+ * Entries must be file or folder *names*. Specific paths and globs are not supported.
193
+ *
194
+ * Examples where this may be useful:
195
+ *
196
+ * ```jsonc { "files": { "experimentalScannerIgnores": [ // You almost certainly don't want to scan your `.git` // folder, which is why it's already ignored by default: ".git",
197
+ *
198
+ * // But the scanner does scan `node_modules` by default. If // you *really* don't want this, you can ignore it like // this: "node_modules",
199
+ *
200
+ * // But it's probably better to ignore a specific dependency. // For instance, one that happens to be particularly slow to // scan: "RedisCommander.d.ts", ], } } ```
201
+ *
202
+ * Please be aware that rules relying on the module graph or type inference information may be negatively affected if dependencies of your project aren't (fully) scanned.
203
+ *
204
+ * @schema FilesConfiguration#experimentalScannerIgnores
257
205
  */
258
- ignore?: IStringSet;
206
+ readonly experimentalScannerIgnores?: string[];
259
207
  /**
260
208
  * Tells Biome to not emit diagnostics when handling files that doesn't know
209
+ *
210
+ * @schema FilesConfiguration#ignoreUnknown
261
211
  */
262
- ignoreUnknown?: boolean;
212
+ readonly ignoreUnknown?: boolean;
263
213
  /**
264
- * A list of Unix shell style patterns. Biome will handle only those files/folders that will match these patterns.
214
+ * A list of glob patterns. Biome will handle only those files/folders that will match these patterns.
215
+ *
216
+ * @schema FilesConfiguration#includes
265
217
  */
266
- include?: IStringSet;
218
+ readonly includes?: string[];
267
219
  /**
268
220
  * The maximum allowed size for source code files in bytes. Files above this limit will be ignored for performance reasons. Defaults to 1 MiB
221
+ *
222
+ * @default 1 MiB
223
+ * @schema FilesConfiguration#maxSize
269
224
  */
270
- maxSize?: number;
225
+ readonly maxSize?: number;
271
226
  }
227
+ /**
228
+ * Converts an object of type 'FilesConfiguration' to JSON representation.
229
+ * @internal
230
+ */
231
+ export declare function toJson_FilesConfiguration(obj: FilesConfiguration | undefined): Record<string, any> | undefined;
272
232
  /**
273
233
  * Generic options applied to all files
234
+ *
235
+ * @schema FormatterConfiguration
274
236
  */
275
- export interface IFormatterConfiguration {
237
+ export interface FormatterConfiguration {
276
238
  /**
277
- * The attribute position style in HTMLish languages. By default auto.
239
+ * The attribute position style in HTML-ish languages. Defaults to auto.
240
+ *
241
+ * @default auto.
242
+ * @schema FormatterConfiguration#attributePosition
243
+ */
244
+ readonly attributePosition?: AttributePosition;
245
+ /**
246
+ * Put the `>` of a multi-line HTML or JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).
247
+ *
248
+ * @schema FormatterConfiguration#bracketSameLine
278
249
  */
279
- attributePosition?: IAttributePosition;
250
+ readonly bracketSameLine?: boolean;
280
251
  /**
281
252
  * Whether to insert spaces around brackets in object literals. Defaults to true.
253
+ *
254
+ * @default true.
255
+ * @schema FormatterConfiguration#bracketSpacing
282
256
  */
283
- bracketSpacing?: IBracketSpacing;
284
- enabled?: boolean;
257
+ readonly bracketSpacing?: boolean;
285
258
  /**
286
- * Stores whether formatting should be allowed to proceed if a given file has syntax errors
259
+ * @schema FormatterConfiguration#enabled
287
260
  */
288
- formatWithErrors?: boolean;
261
+ readonly enabled?: boolean;
289
262
  /**
290
- * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
263
+ * Whether to expand arrays and objects on multiple lines. When set to `auto`, object literals are formatted on multiple lines if the first property has a newline, and array literals are formatted on a single line if it fits in the line. When set to `always`, these literals are formatted on multiple lines, regardless of length of the list. When set to `never`, these literals are formatted on a single line if it fits in the line. When formatting `package.json`, Biome will use `always` unless configured otherwise. Defaults to "auto".
264
+ *
265
+ * @default auto".
266
+ * @schema FormatterConfiguration#expand
291
267
  */
292
- ignore?: IStringSet;
268
+ readonly expand?: Expand;
293
269
  /**
294
- * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
270
+ * Stores whether formatting should be allowed to proceed if a given file has syntax errors
271
+ *
272
+ * @schema FormatterConfiguration#formatWithErrors
295
273
  */
296
- include?: IStringSet;
274
+ readonly formatWithErrors?: boolean;
297
275
  /**
298
- * The size of the indentation, 2 by default (deprecated, use `indent-width`)
276
+ * A list of glob patterns. The formatter will include files/folders that will match these patterns.
277
+ *
278
+ * @schema FormatterConfiguration#includes
299
279
  */
300
- indentSize?: IIndentWidth;
280
+ readonly includes?: string[];
301
281
  /**
302
282
  * The indent style.
283
+ *
284
+ * @schema FormatterConfiguration#indentStyle
303
285
  */
304
- indentStyle?: IIndentStyle;
286
+ readonly indentStyle?: IndentStyle;
305
287
  /**
306
288
  * The size of the indentation, 2 by default
289
+ *
290
+ * @schema FormatterConfiguration#indentWidth
307
291
  */
308
- indentWidth?: IIndentWidth;
292
+ readonly indentWidth?: number;
309
293
  /**
310
294
  * The type of line ending.
295
+ *
296
+ * @schema FormatterConfiguration#lineEnding
311
297
  */
312
- lineEnding?: ILineEnding;
298
+ readonly lineEnding?: LineEnding;
313
299
  /**
314
300
  * What's the max width of a line. Defaults to 80.
301
+ *
302
+ * @default 80.
303
+ * @schema FormatterConfiguration#lineWidth
315
304
  */
316
- lineWidth?: ILineWidth;
305
+ readonly lineWidth?: number;
317
306
  /**
318
- * Use any `.editorconfig` files to configure the formatter. Configuration in `biome.json` will override `.editorconfig` configuration. Default: false.
307
+ * Use any `.editorconfig` files to configure the formatter. Configuration in `biome.json` will override `.editorconfig` configuration.
308
+ *
309
+ * Default: `true`.
310
+ *
311
+ * @schema FormatterConfiguration#useEditorconfig
319
312
  */
320
- useEditorconfig?: boolean;
313
+ readonly useEditorconfig?: boolean;
321
314
  }
322
315
  /**
323
- * Options applied to GraphQL files
316
+ * Converts an object of type 'FormatterConfiguration' to JSON representation.
317
+ * @internal
324
318
  */
325
- export interface IGraphqlConfiguration {
326
- /**
327
- * GraphQL formatter options
328
- */
329
- formatter?: IGraphqlFormatter;
330
- linter?: IGraphqlLinter;
331
- }
319
+ export declare function toJson_FormatterConfiguration(obj: FormatterConfiguration | undefined): Record<string, any> | undefined;
332
320
  /**
333
- * Options that changes how the GraphQL formatter behaves
321
+ * Options applied to GraphQL files
322
+ *
323
+ * @schema GraphqlConfiguration
334
324
  */
335
- export interface IGraphqlFormatter {
336
- /**
337
- * Whether to insert spaces around brackets in object literals. Defaults to true.
338
- */
339
- bracketSpacing?: IBracketSpacing;
325
+ export interface GraphqlConfiguration {
340
326
  /**
341
- * Control the formatter for GraphQL files.
327
+ * Assist options
328
+ *
329
+ * @schema GraphqlConfiguration#assist
342
330
  */
343
- enabled?: boolean;
331
+ readonly assist?: GraphqlAssistConfiguration;
344
332
  /**
345
- * The indent style applied to GraphQL files.
333
+ * GraphQL formatter options
334
+ *
335
+ * @schema GraphqlConfiguration#formatter
346
336
  */
347
- indentStyle?: IIndentStyle;
337
+ readonly formatter?: GraphqlFormatterConfiguration;
348
338
  /**
349
- * The size of the indentation applied to GraphQL files. Default to 2.
339
+ * @schema GraphqlConfiguration#linter
350
340
  */
351
- indentWidth?: IIndentWidth;
341
+ readonly linter?: GraphqlLinterConfiguration;
342
+ }
343
+ /**
344
+ * Converts an object of type 'GraphqlConfiguration' to JSON representation.
345
+ * @internal
346
+ */
347
+ export declare function toJson_GraphqlConfiguration(obj: GraphqlConfiguration | undefined): Record<string, any> | undefined;
348
+ /**
349
+ * Options applied to GritQL files
350
+ *
351
+ * @schema GritConfiguration
352
+ */
353
+ export interface GritConfiguration {
352
354
  /**
353
- * The type of line ending applied to GraphQL files.
355
+ * Assist options
356
+ *
357
+ * @schema GritConfiguration#assist
354
358
  */
355
- lineEnding?: ILineEnding;
359
+ readonly assist?: GritAssistConfiguration;
356
360
  /**
357
- * What's the max width of a line applied to GraphQL files. Defaults to 80.
361
+ * Formatting options
362
+ *
363
+ * @schema GritConfiguration#formatter
358
364
  */
359
- lineWidth?: ILineWidth;
365
+ readonly formatter?: GritFormatterConfiguration;
360
366
  /**
361
- * The type of quotes used in GraphQL code. Defaults to double.
367
+ * Formatting options
368
+ *
369
+ * @schema GritConfiguration#linter
362
370
  */
363
- quoteStyle?: IQuoteStyle;
371
+ readonly linter?: GritLinterConfiguration;
364
372
  }
365
373
  /**
366
- * Options that changes how the GraphQL linter behaves
374
+ * Converts an object of type 'GritConfiguration' to JSON representation.
375
+ * @internal
376
+ */
377
+ export declare function toJson_GritConfiguration(obj: GritConfiguration | undefined): Record<string, any> | undefined;
378
+ /**
379
+ * Options applied to HTML files
380
+ *
381
+ * @schema HtmlConfiguration
367
382
  */
368
- export interface IGraphqlLinter {
383
+ export interface HtmlConfiguration {
369
384
  /**
370
- * Control the formatter for GraphQL files.
385
+ * HTML formatter options
386
+ *
387
+ * @schema HtmlConfiguration#formatter
388
+ */
389
+ readonly formatter?: HtmlFormatterConfiguration;
390
+ /**
391
+ * HTML parsing options
392
+ *
393
+ * @schema HtmlConfiguration#parser
371
394
  */
372
- enabled?: boolean;
395
+ readonly parser?: any;
373
396
  }
397
+ /**
398
+ * Converts an object of type 'HtmlConfiguration' to JSON representation.
399
+ * @internal
400
+ */
401
+ export declare function toJson_HtmlConfiguration(obj: HtmlConfiguration | undefined): Record<string, any> | undefined;
374
402
  /**
375
403
  * A set of options applied to the JavaScript files
404
+ *
405
+ * @schema JsConfiguration
376
406
  */
377
- export interface IJavascriptConfiguration {
407
+ export interface JsConfiguration {
378
408
  /**
379
- * Assists options
409
+ * Assist options
410
+ *
411
+ * @schema JsConfiguration#assist
380
412
  */
381
- assists?: IJavascriptAssists;
413
+ readonly assist?: JsAssistConfiguration;
382
414
  /**
383
415
  * Formatting options
416
+ *
417
+ * @schema JsConfiguration#formatter
384
418
  */
385
- formatter?: IJavascriptFormatter;
419
+ readonly formatter?: JsFormatterConfiguration;
386
420
  /**
387
421
  * A list of global bindings that should be ignored by the analyzers
388
422
  *
389
423
  * If defined here, they should not emit diagnostics.
424
+ *
425
+ * @schema JsConfiguration#globals
390
426
  */
391
- globals?: IStringSet;
427
+ readonly globals?: string[];
392
428
  /**
393
429
  * Indicates the type of runtime or transformation used for interpreting JSX.
430
+ *
431
+ * @schema JsConfiguration#jsxRuntime
394
432
  */
395
- jsxRuntime?: IJsxRuntime;
433
+ readonly jsxRuntime?: JsxRuntime;
396
434
  /**
397
435
  * Linter options
436
+ *
437
+ * @schema JsConfiguration#linter
398
438
  */
399
- linter?: IJavascriptLinter;
400
- organizeImports?: IJavascriptOrganizeImports;
439
+ readonly linter?: JsLinterConfiguration;
401
440
  /**
402
441
  * Parsing options
442
+ *
443
+ * @schema JsConfiguration#parser
403
444
  */
404
- parser?: IJavascriptParser;
445
+ readonly parser?: JsParserConfiguration;
405
446
  }
406
447
  /**
407
- * Linter options specific to the JavaScript linter
448
+ * Converts an object of type 'JsConfiguration' to JSON representation.
449
+ * @internal
450
+ */
451
+ export declare function toJson_JsConfiguration(obj: JsConfiguration | undefined): Record<string, any> | undefined;
452
+ /**
453
+ * Options applied to JSON files
454
+ *
455
+ * @schema JsonConfiguration
408
456
  */
409
- export interface IJavascriptAssists {
457
+ export interface JsonConfiguration {
410
458
  /**
411
- * Control the linter for JavaScript (and its super languages) files.
459
+ * Assist options
460
+ *
461
+ * @schema JsonConfiguration#assist
462
+ */
463
+ readonly assist?: JsonAssistConfiguration;
464
+ /**
465
+ * Formatting options
466
+ *
467
+ * @schema JsonConfiguration#formatter
468
+ */
469
+ readonly formatter?: JsonFormatterConfiguration;
470
+ /**
471
+ * Linting options
472
+ *
473
+ * @schema JsonConfiguration#linter
474
+ */
475
+ readonly linter?: JsonLinterConfiguration;
476
+ /**
477
+ * Parsing options
478
+ *
479
+ * @schema JsonConfiguration#parser
412
480
  */
413
- enabled?: boolean;
481
+ readonly parser?: JsonParserConfiguration;
414
482
  }
415
483
  /**
416
- * Formatting options specific to the JavaScript files
484
+ * Converts an object of type 'JsonConfiguration' to JSON representation.
485
+ * @internal
486
+ */
487
+ export declare function toJson_JsonConfiguration(obj: JsonConfiguration | undefined): Record<string, any> | undefined;
488
+ /**
489
+ * @schema LinterConfiguration
417
490
  */
418
- export interface IJavascriptFormatter {
491
+ export interface LinterConfiguration {
419
492
  /**
420
- * Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
493
+ * An object where the keys are the names of the domains, and the values are `all`, `recommended`, or `none`.
494
+ *
495
+ * @schema LinterConfiguration#domains
421
496
  */
422
- arrowParentheses?: IArrowParentheses;
497
+ readonly domains?: {
498
+ [key: string]: RuleDomainValue;
499
+ };
423
500
  /**
424
- * The attribute position style in jsx elements. Defaults to auto.
501
+ * if `false`, it disables the feature and the linter won't be executed. `true` by default
502
+ *
503
+ * @schema LinterConfiguration#enabled
425
504
  */
426
- attributePosition?: IAttributePosition;
505
+ readonly enabled?: boolean;
427
506
  /**
428
- * Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. Defaults to false.
507
+ * A list of glob patterns. The analyzer will handle only those files/folders that will match these patterns.
508
+ *
509
+ * @schema LinterConfiguration#includes
429
510
  */
430
- bracketSameLine?: boolean;
511
+ readonly includes?: string[];
431
512
  /**
432
- * Whether to insert spaces around brackets in object literals. Defaults to true.
513
+ * List of rules
514
+ *
515
+ * @schema LinterConfiguration#rules
433
516
  */
434
- bracketSpacing?: IBracketSpacing;
517
+ readonly rules?: Rules;
518
+ }
519
+ /**
520
+ * Converts an object of type 'LinterConfiguration' to JSON representation.
521
+ * @internal
522
+ */
523
+ export declare function toJson_LinterConfiguration(obj: LinterConfiguration | undefined): Record<string, any> | undefined;
524
+ /**
525
+ * @schema OverridePattern
526
+ */
527
+ export interface OverridePattern {
435
528
  /**
436
- * Control the formatter for JavaScript (and its super languages) files.
529
+ * Specific configuration for the Json language
530
+ *
531
+ * @schema OverridePattern#assist
437
532
  */
438
- enabled?: boolean;
533
+ readonly assist?: OverrideAssistConfiguration;
439
534
  /**
440
- * The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
535
+ * Specific configuration for the CSS language
536
+ *
537
+ * @schema OverridePattern#css
441
538
  */
442
- indentSize?: IIndentWidth;
539
+ readonly css?: CssConfiguration;
443
540
  /**
444
- * The indent style applied to JavaScript (and its super languages) files.
541
+ * Specific configuration for the filesystem
542
+ *
543
+ * @schema OverridePattern#files
445
544
  */
446
- indentStyle?: IIndentStyle;
545
+ readonly files?: OverrideFilesConfiguration;
447
546
  /**
448
- * The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
547
+ * Specific configuration for the Json language
548
+ *
549
+ * @schema OverridePattern#formatter
449
550
  */
450
- indentWidth?: IIndentWidth;
551
+ readonly formatter?: OverrideFormatterConfiguration;
451
552
  /**
452
- * The type of quotes used in JSX. Defaults to double.
553
+ * Specific configuration for the Graphql language
554
+ *
555
+ * @schema OverridePattern#graphql
453
556
  */
454
- jsxQuoteStyle?: IQuoteStyle;
557
+ readonly graphql?: GraphqlConfiguration;
455
558
  /**
456
- * The type of line ending applied to JavaScript (and its super languages) files.
559
+ * Specific configuration for the GritQL language
560
+ *
561
+ * @schema OverridePattern#grit
457
562
  */
458
- lineEnding?: ILineEnding;
563
+ readonly grit?: GritConfiguration;
459
564
  /**
460
- * What's the max width of a line applied to JavaScript (and its super languages) files. Defaults to 80.
565
+ * Specific configuration for the GritQL language
566
+ *
567
+ * @schema OverridePattern#html
461
568
  */
462
- lineWidth?: ILineWidth;
569
+ readonly html?: HtmlConfiguration;
463
570
  /**
464
- * When properties in objects are quoted. Defaults to asNeeded.
571
+ * A list of glob patterns. Biome will include files/folders that will match these patterns.
572
+ *
573
+ * @schema OverridePattern#includes
465
574
  */
466
- quoteProperties?: IQuoteProperties;
575
+ readonly includes?: string[];
467
576
  /**
468
- * The type of quotes used in JavaScript code. Defaults to double.
577
+ * Specific configuration for the JavaScript language
578
+ *
579
+ * @schema OverridePattern#javascript
469
580
  */
470
- quoteStyle?: IQuoteStyle;
581
+ readonly javascript?: JsConfiguration;
471
582
  /**
472
- * Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
583
+ * Specific configuration for the Json language
584
+ *
585
+ * @schema OverridePattern#json
473
586
  */
474
- semicolons?: ISemicolons;
587
+ readonly json?: JsonConfiguration;
475
588
  /**
476
- * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "all".
589
+ * Specific configuration for the Json language
590
+ *
591
+ * @schema OverridePattern#linter
477
592
  */
478
- trailingComma?: ITrailingCommas;
593
+ readonly linter?: OverrideLinterConfiguration;
479
594
  /**
480
- * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "all".
595
+ * Specific configuration for additional plugins
596
+ *
597
+ * @schema OverridePattern#plugins
481
598
  */
482
- trailingCommas?: ITrailingCommas;
599
+ readonly plugins?: string[];
483
600
  }
484
601
  /**
485
- * Linter options specific to the JavaScript linter
602
+ * Converts an object of type 'OverridePattern' to JSON representation.
603
+ * @internal
486
604
  */
487
- export interface IJavascriptLinter {
488
- /**
489
- * Control the linter for JavaScript (and its super languages) files.
490
- */
491
- enabled?: boolean;
492
- }
493
- export interface IJavascriptOrganizeImports {
494
- }
605
+ export declare function toJson_OverridePattern(obj: OverridePattern | undefined): Record<string, any> | undefined;
495
606
  /**
496
- * Options that changes how the JavaScript parser behaves
607
+ * Set of properties to integrate Biome with a VCS software.
608
+ *
609
+ * @schema VcsConfiguration
497
610
  */
498
- export interface IJavascriptParser {
611
+ export interface VcsConfiguration {
499
612
  /**
500
- * It enables the experimental and unsafe parsing of parameter decorators
613
+ * The kind of client.
501
614
  *
502
- * These decorators belong to an old proposal, and they are subject to change.
615
+ * @schema VcsConfiguration#clientKind
503
616
  */
504
- unsafeParameterDecoratorsEnabled?: boolean;
505
- }
506
- /**
507
- * Options applied to JSON files
508
- */
509
- export interface IJsonConfiguration {
617
+ readonly clientKind?: VcsClientKind;
510
618
  /**
511
- * Assists options
619
+ * The main branch of the project
620
+ *
621
+ * @schema VcsConfiguration#defaultBranch
512
622
  */
513
- assists?: IJsonAssists;
623
+ readonly defaultBranch?: string;
514
624
  /**
515
- * Formatting options
625
+ * Whether Biome should integrate itself with the VCS client
626
+ *
627
+ * @schema VcsConfiguration#enabled
516
628
  */
517
- formatter?: IJsonFormatter;
629
+ readonly enabled?: boolean;
518
630
  /**
519
- * Linting options
631
+ * The folder where Biome should check for VCS files. By default, Biome will use the same folder where `biome.json` was found.
632
+ *
633
+ * If Biome can't find the configuration, it will attempt to use the current working directory. If no current working directory can't be found, Biome won't use the VCS integration, and a diagnostic will be emitted
634
+ *
635
+ * @schema VcsConfiguration#root
520
636
  */
521
- linter?: IJsonLinter;
637
+ readonly root?: string;
522
638
  /**
523
- * Parsing options
639
+ * Whether Biome should use the VCS ignore file. When [true], Biome will ignore the files specified in the ignore file.
640
+ *
641
+ * @schema VcsConfiguration#useIgnoreFile
524
642
  */
525
- parser?: IJsonParser;
643
+ readonly useIgnoreFile?: boolean;
526
644
  }
527
645
  /**
528
- * Linter options specific to the JSON linter
646
+ * Converts an object of type 'VcsConfiguration' to JSON representation.
647
+ * @internal
529
648
  */
530
- export interface IJsonAssists {
531
- /**
532
- * Control the linter for JSON (and its super languages) files.
533
- */
534
- enabled?: boolean;
535
- }
536
- export interface IJsonFormatter {
537
- /**
538
- * Control the formatter for JSON (and its super languages) files.
539
- */
540
- enabled?: boolean;
541
- /**
542
- * The size of the indentation applied to JSON (and its super languages) files. Default to 2.
543
- */
544
- indentSize?: IIndentWidth;
545
- /**
546
- * The indent style applied to JSON (and its super languages) files.
547
- */
548
- indentStyle?: IIndentStyle;
549
- /**
550
- * The size of the indentation applied to JSON (and its super languages) files. Default to 2.
551
- */
552
- indentWidth?: IIndentWidth;
553
- /**
554
- * The type of line ending applied to JSON (and its super languages) files.
555
- */
556
- lineEnding?: ILineEnding;
649
+ export declare function toJson_VcsConfiguration(obj: VcsConfiguration | undefined): Record<string, any> | undefined;
650
+ /**
651
+ * @schema Actions
652
+ */
653
+ export interface Actions {
557
654
  /**
558
- * What's the max width of a line applied to JSON (and its super languages) files. Defaults to 80.
655
+ * It enables the assist actions recommended by Biome. `true` by default.
656
+ *
657
+ * @schema Actions#recommended
559
658
  */
560
- lineWidth?: ILineWidth;
659
+ readonly recommended?: boolean;
561
660
  /**
562
- * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "none".
661
+ * @schema Actions#source
563
662
  */
564
- trailingCommas?: ITrailingCommas2;
663
+ readonly source?: Source;
565
664
  }
566
665
  /**
567
- * Linter options specific to the JSON linter
666
+ * Converts an object of type 'Actions' to JSON representation.
667
+ * @internal
568
668
  */
569
- export interface IJsonLinter {
570
- /**
571
- * Control the linter for JSON (and its super languages) files.
572
- */
573
- enabled?: boolean;
574
- }
669
+ export declare function toJson_Actions(obj: Actions | undefined): Record<string, any> | undefined;
575
670
  /**
576
- * Options that changes how the JSON parser behaves
671
+ * Options that changes how the CSS assist behaves
672
+ *
673
+ * @schema CssAssistConfiguration
577
674
  */
578
- export interface IJsonParser {
579
- /**
580
- * Allow parsing comments in `.json` files
581
- */
582
- allowComments?: boolean;
583
- /**
584
- * Allow parsing trailing commas in `.json` files
585
- */
586
- allowTrailingCommas?: boolean;
587
- }
588
- export interface ILinterConfiguration {
589
- /**
590
- * if `false`, it disables the feature and the linter won't be executed. `true` by default
591
- */
592
- enabled?: boolean;
593
- /**
594
- * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
595
- */
596
- ignore?: IStringSet;
597
- /**
598
- * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
599
- */
600
- include?: IStringSet;
675
+ export interface CssAssistConfiguration {
601
676
  /**
602
- * List of rules
603
- */
604
- rules?: IRules;
605
- }
606
- export interface IRules {
607
- a11y?: IA11y;
608
- /**
609
- * It enables ALL rules. The rules that belong to `nursery` won't be enabled.
610
- */
611
- all?: boolean;
612
- complexity?: IComplexity;
613
- correctness?: ICorrectness;
614
- nursery?: INursery;
615
- performance?: IPerformance;
616
- /**
617
- * It enables the lint rules recommended by Biome. `true` by default.
677
+ * Control the assist for CSS files.
678
+ *
679
+ * @schema CssAssistConfiguration#enabled
618
680
  */
619
- recommended?: boolean;
620
- security?: ISecurity;
621
- style?: IStyle;
622
- suspicious?: ISuspicious;
681
+ readonly enabled?: boolean;
623
682
  }
624
683
  /**
625
- * A list of rules that belong to this group
684
+ * Converts an object of type 'CssAssistConfiguration' to JSON representation.
685
+ * @internal
626
686
  */
627
- export interface IA11y {
628
- /**
629
- * It enables ALL rules for this group.
630
- */
631
- all?: boolean;
632
- /**
633
- * Enforce that the accessKey attribute is not used on any HTML element.
634
- */
635
- noAccessKey?: IRuleFixConfiguration;
636
- /**
637
- * Enforce that aria-hidden="true" is not set on focusable elements.
638
- */
639
- noAriaHiddenOnFocusable?: IRuleFixConfiguration;
640
- /**
641
- * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
642
- */
643
- noAriaUnsupportedElements?: IRuleFixConfiguration;
644
- /**
645
- * Enforce that autoFocus prop is not used on elements.
646
- */
647
- noAutofocus?: IRuleFixConfiguration;
648
- /**
649
- * Disallow target="_blank" attribute without rel="noreferrer"
650
- */
651
- noBlankTarget?: IAllowDomainConfiguration;
652
- /**
653
- * Enforces that no distracting elements are used.
654
- */
655
- noDistractingElements?: IRuleFixConfiguration;
656
- /**
657
- * The scope prop should be used only on \<th> elements.
658
- */
659
- noHeaderScope?: IRuleFixConfiguration;
660
- /**
661
- * Enforce that non-interactive ARIA roles are not assigned to interactive HTML elements.
662
- */
663
- noInteractiveElementToNoninteractiveRole?: IRuleFixConfiguration;
664
- /**
665
- * Enforce that a label element or component has a text label and an associated input.
666
- */
667
- noLabelWithoutControl?: INoLabelWithoutControlConfiguration;
668
- /**
669
- * Enforce that interactive ARIA roles are not assigned to non-interactive HTML elements.
670
- */
671
- noNoninteractiveElementToInteractiveRole?: IRuleFixConfiguration;
672
- /**
673
- * Enforce that tabIndex is not assigned to non-interactive HTML elements.
674
- */
675
- noNoninteractiveTabindex?: IRuleFixConfiguration;
676
- /**
677
- * Prevent the usage of positive integers on tabIndex property
678
- */
679
- noPositiveTabindex?: IRuleFixConfiguration;
680
- /**
681
- * Enforce img alt prop does not contain the word "image", "picture", or "photo".
682
- */
683
- noRedundantAlt?: IRuleConfiguration;
684
- /**
685
- * Enforce explicit role property is not the same as implicit/default role property on an element.
686
- */
687
- noRedundantRoles?: IRuleFixConfiguration;
688
- /**
689
- * Enforces the usage of the title element for the svg element.
690
- */
691
- noSvgWithoutTitle?: IRuleConfiguration;
692
- /**
693
- * It enables the recommended rules for this group
694
- */
695
- recommended?: boolean;
696
- /**
697
- * Enforce that all elements that require alternative text have meaningful information to relay back to the end user.
698
- */
699
- useAltText?: IRuleConfiguration;
700
- /**
701
- * Enforce that anchors have content and that the content is accessible to screen readers.
702
- */
703
- useAnchorContent?: IRuleFixConfiguration;
704
- /**
705
- * Enforce that tabIndex is assigned to non-interactive HTML elements with aria-activedescendant.
706
- */
707
- useAriaActivedescendantWithTabindex?: IRuleFixConfiguration;
708
- /**
709
- * Enforce that elements with ARIA roles must have all required ARIA attributes for that role.
710
- */
711
- useAriaPropsForRole?: IRuleConfiguration;
712
- /**
713
- * Enforces the usage of the attribute type for the element button
714
- */
715
- useButtonType?: IRuleConfiguration;
716
- /**
717
- * Elements with an interactive role and interaction handlers must be focusable.
718
- */
719
- useFocusableInteractive?: IRuleConfiguration;
720
- /**
721
- * Disallow a missing generic family keyword within font families.
722
- */
723
- useGenericFontNames?: IRuleConfiguration;
724
- /**
725
- * Enforce that heading elements (h1, h2, etc.) have content and that the content is accessible to screen readers. Accessible means that it is not hidden using the aria-hidden prop.
726
- */
727
- useHeadingContent?: IRuleConfiguration;
728
- /**
729
- * Enforce that html element has lang attribute.
730
- */
731
- useHtmlLang?: IRuleConfiguration;
732
- /**
733
- * Enforces the usage of the attribute title for the element iframe.
734
- */
735
- useIframeTitle?: IRuleConfiguration;
736
- /**
737
- * Enforce onClick is accompanied by at least one of the following: onKeyUp, onKeyDown, onKeyPress.
738
- */
739
- useKeyWithClickEvents?: IRuleConfiguration;
740
- /**
741
- * Enforce onMouseOver / onMouseOut are accompanied by onFocus / onBlur.
742
- */
743
- useKeyWithMouseEvents?: IRuleConfiguration;
744
- /**
745
- * Enforces that audio and video elements must have a track for captions.
746
- */
747
- useMediaCaption?: IRuleConfiguration;
687
+ export declare function toJson_CssAssistConfiguration(obj: CssAssistConfiguration | undefined): Record<string, any> | undefined;
688
+ /**
689
+ * Options that changes how the CSS formatter behaves
690
+ *
691
+ * @schema CssFormatterConfiguration
692
+ */
693
+ export interface CssFormatterConfiguration {
748
694
  /**
749
- * It detects the use of role attributes in JSX elements and suggests using semantic elements instead.
695
+ * Control the formatter for CSS (and its super languages) files.
696
+ *
697
+ * @schema CssFormatterConfiguration#enabled
750
698
  */
751
- useSemanticElements?: IRuleConfiguration;
699
+ readonly enabled?: boolean;
752
700
  /**
753
- * Enforce that all anchors are valid, and they are navigable elements.
701
+ * The indent style applied to CSS (and its super languages) files.
702
+ *
703
+ * @schema CssFormatterConfiguration#indentStyle
754
704
  */
755
- useValidAnchor?: IRuleConfiguration;
705
+ readonly indentStyle?: IndentStyle;
756
706
  /**
757
- * Ensures that ARIA properties aria-* are all valid.
707
+ * The size of the indentation applied to CSS (and its super languages) files. Default to 2.
708
+ *
709
+ * @default 2.
710
+ * @schema CssFormatterConfiguration#indentWidth
758
711
  */
759
- useValidAriaProps?: IRuleFixConfiguration;
712
+ readonly indentWidth?: number;
760
713
  /**
761
- * Elements with ARIA roles must use a valid, non-abstract ARIA role.
714
+ * The type of line ending applied to CSS (and its super languages) files.
715
+ *
716
+ * @schema CssFormatterConfiguration#lineEnding
762
717
  */
763
- useValidAriaRole?: IValidAriaRoleConfiguration;
718
+ readonly lineEnding?: LineEnding;
764
719
  /**
765
- * Enforce that ARIA state and property values are valid.
720
+ * What's the max width of a line applied to CSS (and its super languages) files. Defaults to 80.
721
+ *
722
+ * @default 80.
723
+ * @schema CssFormatterConfiguration#lineWidth
766
724
  */
767
- useValidAriaValues?: IRuleConfiguration;
725
+ readonly lineWidth?: number;
768
726
  /**
769
- * Ensure that the attribute passed to the lang attribute is a correct ISO language and/or country.
727
+ * The type of quotes used in CSS code. Defaults to double.
728
+ *
729
+ * @default double.
730
+ * @schema CssFormatterConfiguration#quoteStyle
770
731
  */
771
- useValidLang?: IRuleConfiguration;
732
+ readonly quoteStyle?: QuoteStyle;
772
733
  }
773
- export interface IRuleWithFixNoOptions {
774
- /**
775
- * The kind of the code actions emitted by the rule
776
- */
777
- fix?: IFixKind;
734
+ /**
735
+ * Converts an object of type 'CssFormatterConfiguration' to JSON representation.
736
+ * @internal
737
+ */
738
+ export declare function toJson_CssFormatterConfiguration(obj: CssFormatterConfiguration | undefined): Record<string, any> | undefined;
739
+ /**
740
+ * Options that changes how the CSS linter behaves
741
+ *
742
+ * @schema CssLinterConfiguration
743
+ */
744
+ export interface CssLinterConfiguration {
778
745
  /**
779
- * The severity of the emitted diagnostics by the rule
746
+ * Control the linter for CSS files.
747
+ *
748
+ * @schema CssLinterConfiguration#enabled
780
749
  */
781
- level: IRulePlainConfiguration;
750
+ readonly enabled?: boolean;
782
751
  }
783
- export interface IRuleWithAllowDomainOptions {
784
- /**
785
- * The kind of the code actions emitted by the rule
786
- */
787
- fix?: IFixKind;
752
+ /**
753
+ * Converts an object of type 'CssLinterConfiguration' to JSON representation.
754
+ * @internal
755
+ */
756
+ export declare function toJson_CssLinterConfiguration(obj: CssLinterConfiguration | undefined): Record<string, any> | undefined;
757
+ /**
758
+ * Options that changes how the CSS parser behaves
759
+ *
760
+ * @schema CssParserConfiguration
761
+ */
762
+ export interface CssParserConfiguration {
788
763
  /**
789
- * The severity of the emitted diagnostics by the rule
764
+ * Allow comments to appear on incorrect lines in `.css` files
765
+ *
766
+ * @schema CssParserConfiguration#allowWrongLineComments
790
767
  */
791
- level: IRulePlainConfiguration;
768
+ readonly allowWrongLineComments?: boolean;
792
769
  /**
793
- * Rule's options
770
+ * Enables parsing of CSS Modules specific features.
771
+ *
772
+ * @schema CssParserConfiguration#cssModules
794
773
  */
795
- options?: IAllowDomainOptions;
774
+ readonly cssModules?: boolean;
796
775
  }
797
- export interface IAllowDomainOptions {
798
- /**
799
- * List of domains to allow `target="_blank"` without `rel="noreferrer"`
800
- */
801
- allowDomains?: string[];
776
+ /**
777
+ * Converts an object of type 'CssParserConfiguration' to JSON representation.
778
+ * @internal
779
+ */
780
+ export declare function toJson_CssParserConfiguration(obj: CssParserConfiguration | undefined): Record<string, any> | undefined;
781
+ /**
782
+ * @schema AttributePosition
783
+ */
784
+ export declare enum AttributePosition {
785
+ /** auto */
786
+ AUTO = "auto",
787
+ /** multiline */
788
+ MULTILINE = "multiline"
802
789
  }
803
- export interface IRuleWithNoLabelWithoutControlOptions {
804
- /**
805
- * The severity of the emitted diagnostics by the rule
806
- */
807
- level: IRulePlainConfiguration;
808
- /**
809
- * Rule's options
810
- */
811
- options?: INoLabelWithoutControlOptions;
790
+ /**
791
+ * @schema Expand
792
+ */
793
+ export declare enum Expand {
794
+ /** auto */
795
+ AUTO = "auto",
796
+ /** always */
797
+ ALWAYS = "always",
798
+ /** never */
799
+ NEVER = "never"
812
800
  }
813
- export interface INoLabelWithoutControlOptions {
814
- /**
815
- * Array of component names that should be considered the same as an `input` element.
816
- */
817
- inputComponents?: string[];
818
- /**
819
- * Array of attributes that should be treated as the `label` accessible text content.
820
- */
821
- labelAttributes?: string[];
822
- /**
823
- * Array of component names that should be considered the same as a `label` element.
824
- */
825
- labelComponents?: string[];
801
+ /**
802
+ * @schema IndentStyle
803
+ */
804
+ export declare enum IndentStyle {
805
+ /** tab */
806
+ TAB = "tab",
807
+ /** space */
808
+ SPACE = "space"
826
809
  }
827
- export interface IRuleWithNoOptions {
828
- /**
829
- * The severity of the emitted diagnostics by the rule
830
- */
831
- level: IRulePlainConfiguration;
810
+ /**
811
+ * @schema LineEnding
812
+ */
813
+ export declare enum LineEnding {
814
+ /** lf */
815
+ LF = "lf",
816
+ /** crlf */
817
+ CRLF = "crlf",
818
+ /** cr */
819
+ CR = "cr"
832
820
  }
833
- export interface IRuleWithValidAriaRoleOptions {
834
- /**
835
- * The kind of the code actions emitted by the rule
836
- */
837
- fix?: IFixKind;
838
- /**
839
- * The severity of the emitted diagnostics by the rule
840
- */
841
- level: IRulePlainConfiguration;
821
+ /**
822
+ * Options that changes how the GraphQL linter behaves
823
+ *
824
+ * @schema GraphqlAssistConfiguration
825
+ */
826
+ export interface GraphqlAssistConfiguration {
842
827
  /**
843
- * Rule's options
828
+ * Control the formatter for GraphQL files.
829
+ *
830
+ * @schema GraphqlAssistConfiguration#enabled
844
831
  */
845
- options?: IValidAriaRoleOptions;
846
- }
847
- export interface IValidAriaRoleOptions {
848
- allowInvalidRoles?: string[];
849
- ignoreNonDom?: boolean;
832
+ readonly enabled?: boolean;
850
833
  }
851
834
  /**
852
- * A list of rules that belong to this group
835
+ * Converts an object of type 'GraphqlAssistConfiguration' to JSON representation.
836
+ * @internal
853
837
  */
854
- export interface IComplexity {
855
- /**
856
- * It enables ALL rules for this group.
857
- */
858
- all?: boolean;
859
- /**
860
- * Disallow primitive type aliases and misleading types.
861
- */
862
- noBannedTypes?: IRuleFixConfiguration;
863
- /**
864
- * Disallow empty type parameters in type aliases and interfaces.
865
- */
866
- noEmptyTypeParameters?: IRuleConfiguration;
838
+ export declare function toJson_GraphqlAssistConfiguration(obj: GraphqlAssistConfiguration | undefined): Record<string, any> | undefined;
839
+ /**
840
+ * Options that changes how the GraphQL formatter behaves
841
+ *
842
+ * @schema GraphqlFormatterConfiguration
843
+ */
844
+ export interface GraphqlFormatterConfiguration {
867
845
  /**
868
- * Disallow functions that exceed a given Cognitive Complexity score.
846
+ * Whether to insert spaces around brackets in object literals. Defaults to true.
847
+ *
848
+ * @default true.
849
+ * @schema GraphqlFormatterConfiguration#bracketSpacing
869
850
  */
870
- noExcessiveCognitiveComplexity?: IComplexityConfiguration;
851
+ readonly bracketSpacing?: boolean;
871
852
  /**
872
- * This rule enforces a maximum depth to nested describe() in test files.
853
+ * Control the formatter for GraphQL files.
854
+ *
855
+ * @schema GraphqlFormatterConfiguration#enabled
873
856
  */
874
- noExcessiveNestedTestSuites?: IRuleConfiguration;
857
+ readonly enabled?: boolean;
875
858
  /**
876
- * Disallow unnecessary boolean casts
859
+ * The indent style applied to GraphQL files.
860
+ *
861
+ * @schema GraphqlFormatterConfiguration#indentStyle
877
862
  */
878
- noExtraBooleanCast?: IRuleFixConfiguration;
863
+ readonly indentStyle?: IndentStyle;
879
864
  /**
880
- * Prefer for...of statement instead of Array.forEach.
865
+ * The size of the indentation applied to GraphQL files. Default to 2.
866
+ *
867
+ * @default 2.
868
+ * @schema GraphqlFormatterConfiguration#indentWidth
881
869
  */
882
- noForEach?: IRuleConfiguration;
870
+ readonly indentWidth?: number;
883
871
  /**
884
- * Disallow unclear usage of consecutive space characters in regular expression literals
872
+ * The type of line ending applied to GraphQL files.
873
+ *
874
+ * @schema GraphqlFormatterConfiguration#lineEnding
885
875
  */
886
- noMultipleSpacesInRegularExpressionLiterals?: IRuleFixConfiguration;
876
+ readonly lineEnding?: LineEnding;
887
877
  /**
888
- * This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace.
878
+ * What's the max width of a line applied to GraphQL files. Defaults to 80.
879
+ *
880
+ * @default 80.
881
+ * @schema GraphqlFormatterConfiguration#lineWidth
889
882
  */
890
- noStaticOnlyClass?: IRuleConfiguration;
883
+ readonly lineWidth?: number;
891
884
  /**
892
- * Disallow this and super in static contexts.
885
+ * The type of quotes used in GraphQL code. Defaults to double.
886
+ *
887
+ * @default double.
888
+ * @schema GraphqlFormatterConfiguration#quoteStyle
893
889
  */
894
- noThisInStatic?: IRuleFixConfiguration;
890
+ readonly quoteStyle?: QuoteStyle;
891
+ }
892
+ /**
893
+ * Converts an object of type 'GraphqlFormatterConfiguration' to JSON representation.
894
+ * @internal
895
+ */
896
+ export declare function toJson_GraphqlFormatterConfiguration(obj: GraphqlFormatterConfiguration | undefined): Record<string, any> | undefined;
897
+ /**
898
+ * Options that change how the GraphQL linter behaves.
899
+ *
900
+ * @schema GraphqlLinterConfiguration
901
+ */
902
+ export interface GraphqlLinterConfiguration {
895
903
  /**
896
- * Disallow unnecessary catch clauses.
904
+ * Control the formatter for GraphQL files.
905
+ *
906
+ * @schema GraphqlLinterConfiguration#enabled
897
907
  */
898
- noUselessCatch?: IRuleFixConfiguration;
908
+ readonly enabled?: boolean;
909
+ }
910
+ /**
911
+ * Converts an object of type 'GraphqlLinterConfiguration' to JSON representation.
912
+ * @internal
913
+ */
914
+ export declare function toJson_GraphqlLinterConfiguration(obj: GraphqlLinterConfiguration | undefined): Record<string, any> | undefined;
915
+ /**
916
+ * @schema GritAssistConfiguration
917
+ */
918
+ export interface GritAssistConfiguration {
899
919
  /**
900
- * Disallow unnecessary constructors.
920
+ * Control the assist functionality for Grit files.
921
+ *
922
+ * @schema GritAssistConfiguration#enabled
901
923
  */
902
- noUselessConstructor?: IRuleFixConfiguration;
924
+ readonly enabled?: boolean;
925
+ }
926
+ /**
927
+ * Converts an object of type 'GritAssistConfiguration' to JSON representation.
928
+ * @internal
929
+ */
930
+ export declare function toJson_GritAssistConfiguration(obj: GritAssistConfiguration | undefined): Record<string, any> | undefined;
931
+ /**
932
+ * @schema GritFormatterConfiguration
933
+ */
934
+ export interface GritFormatterConfiguration {
903
935
  /**
904
- * Disallow empty exports that don't change anything in a module file.
936
+ * Control the formatter for Grit files.
937
+ *
938
+ * @schema GritFormatterConfiguration#enabled
905
939
  */
906
- noUselessEmptyExport?: IRuleFixConfiguration;
940
+ readonly enabled?: boolean;
907
941
  /**
908
- * Disallow unnecessary fragments
942
+ * The indent style applied to Grit files.
943
+ *
944
+ * @schema GritFormatterConfiguration#indentStyle
909
945
  */
910
- noUselessFragments?: IRuleFixConfiguration;
946
+ readonly indentStyle?: IndentStyle;
911
947
  /**
912
- * Disallow unnecessary labels.
948
+ * The size of the indentation applied to Grit files. Default to 2.
949
+ *
950
+ * @default 2.
951
+ * @schema GritFormatterConfiguration#indentWidth
913
952
  */
914
- noUselessLabel?: IRuleFixConfiguration;
953
+ readonly indentWidth?: number;
915
954
  /**
916
- * Disallow unnecessary nested block statements.
955
+ * The type of line ending applied to Grit files.
956
+ *
957
+ * @schema GritFormatterConfiguration#lineEnding
917
958
  */
918
- noUselessLoneBlockStatements?: IRuleFixConfiguration;
959
+ readonly lineEnding?: LineEnding;
919
960
  /**
920
- * Disallow renaming import, export, and destructured assignments to the same name.
961
+ * What's the max width of a line applied to Grit files. Defaults to 80.
962
+ *
963
+ * @default 80.
964
+ * @schema GritFormatterConfiguration#lineWidth
921
965
  */
922
- noUselessRename?: IRuleFixConfiguration;
923
- /**
924
- * Disallow unnecessary concatenation of string or template literals.
925
- */
926
- noUselessStringConcat?: IRuleFixConfiguration;
927
- /**
928
- * Disallow useless case in switch statements.
929
- */
930
- noUselessSwitchCase?: IRuleFixConfiguration;
931
- /**
932
- * Disallow ternary operators when simpler alternatives exist.
933
- */
934
- noUselessTernary?: IRuleFixConfiguration;
935
- /**
936
- * Disallow useless this aliasing.
937
- */
938
- noUselessThisAlias?: IRuleFixConfiguration;
939
- /**
940
- * Disallow using any or unknown as type constraint.
941
- */
942
- noUselessTypeConstraint?: IRuleFixConfiguration;
943
- /**
944
- * Disallow initializing variables to undefined.
945
- */
946
- noUselessUndefinedInitialization?: IRuleFixConfiguration;
947
- /**
948
- * Disallow the use of void operators, which is not a familiar operator.
949
- */
950
- noVoid?: IRuleConfiguration;
951
- /**
952
- * Disallow with statements in non-strict contexts.
953
- */
954
- noWith?: IRuleConfiguration;
955
- /**
956
- * It enables the recommended rules for this group
957
- */
958
- recommended?: boolean;
959
- /**
960
- * Use arrow functions over function expressions.
961
- */
962
- useArrowFunction?: IRuleFixConfiguration;
963
- /**
964
- * Use Date.now() to get the number of milliseconds since the Unix Epoch.
965
- */
966
- useDateNow?: IRuleFixConfiguration;
967
- /**
968
- * Promotes the use of .flatMap() when map().flat() are used together.
969
- */
970
- useFlatMap?: IRuleFixConfiguration;
971
- /**
972
- * Enforce the usage of a literal access to properties over computed property access.
973
- */
974
- useLiteralKeys?: IRuleFixConfiguration;
975
- /**
976
- * Enforce using concise optional chain instead of chained logical expressions.
977
- */
978
- useOptionalChain?: IRuleFixConfiguration;
979
- /**
980
- * Enforce the use of the regular expression literals instead of the RegExp constructor if possible.
981
- */
982
- useRegexLiterals?: IRuleFixConfiguration;
983
- /**
984
- * Disallow number literal object member names which are not base10 or uses underscore as separator
985
- */
986
- useSimpleNumberKeys?: IRuleFixConfiguration;
987
- /**
988
- * Discard redundant terms from logical expressions.
989
- */
990
- useSimplifiedLogicExpression?: IRuleFixConfiguration;
991
- }
992
- export interface IRuleWithComplexityOptions {
993
- /**
994
- * The severity of the emitted diagnostics by the rule
995
- */
996
- level: IRulePlainConfiguration;
997
- /**
998
- * Rule's options
999
- */
1000
- options?: IComplexityOptions;
1001
- }
1002
- /**
1003
- * Options for the rule `noExcessiveCognitiveComplexity`.
1004
- */
1005
- export interface IComplexityOptions {
1006
- /**
1007
- * The maximum complexity score that we allow. Anything higher is considered excessive.
1008
- */
1009
- maxAllowedComplexity?: number;
1010
- }
1011
- /**
1012
- * A list of rules that belong to this group
1013
- */
1014
- export interface ICorrectness {
1015
- /**
1016
- * It enables ALL rules for this group.
1017
- */
1018
- all?: boolean;
1019
- /**
1020
- * Prevent passing of children as props.
1021
- */
1022
- noChildrenProp?: IRuleConfiguration;
1023
- /**
1024
- * Prevents from having const variables being re-assigned.
1025
- */
1026
- noConstAssign?: IRuleFixConfiguration;
1027
- /**
1028
- * Disallow constant expressions in conditions
1029
- */
1030
- noConstantCondition?: IRuleConfiguration;
1031
- /**
1032
- * Disallow the use of Math.min and Math.max to clamp a value where the result itself is constant.
1033
- */
1034
- noConstantMathMinMaxClamp?: IRuleFixConfiguration;
1035
- /**
1036
- * Disallow returning a value from a constructor.
1037
- */
1038
- noConstructorReturn?: IRuleConfiguration;
1039
- /**
1040
- * Disallow empty character classes in regular expression literals.
1041
- */
1042
- noEmptyCharacterClassInRegex?: IRuleConfiguration;
1043
- /**
1044
- * Disallows empty destructuring patterns.
1045
- */
1046
- noEmptyPattern?: IRuleConfiguration;
1047
- /**
1048
- * Disallow to use unnecessary callback on flatMap.
1049
- */
1050
- noFlatMapIdentity?: IRuleFixConfiguration;
1051
- /**
1052
- * Disallow calling global object properties as functions
1053
- */
1054
- noGlobalObjectCalls?: IRuleConfiguration;
1055
- /**
1056
- * Disallow function and var declarations that are accessible outside their block.
1057
- */
1058
- noInnerDeclarations?: IRuleConfiguration;
1059
- /**
1060
- * Ensure that builtins are correctly instantiated.
1061
- */
1062
- noInvalidBuiltinInstantiation?: IRuleFixConfiguration;
1063
- /**
1064
- * Prevents the incorrect use of super() inside classes. It also checks whether a call super() is missing from classes that extends other constructors.
1065
- */
1066
- noInvalidConstructorSuper?: IRuleConfiguration;
1067
- /**
1068
- * Disallow non-standard direction values for linear gradient functions.
1069
- */
1070
- noInvalidDirectionInLinearGradient?: IRuleConfiguration;
1071
- /**
1072
- * Disallows invalid named grid areas in CSS Grid Layouts.
1073
- */
1074
- noInvalidGridAreas?: IRuleConfiguration;
1075
- /**
1076
- * Disallow new operators with global non-constructor functions.
1077
- */
1078
- noInvalidNewBuiltin?: IRuleFixConfiguration;
1079
- /**
1080
- * Disallow the use of @import at-rules in invalid positions.
1081
- */
1082
- noInvalidPositionAtImportRule?: IRuleConfiguration;
1083
- /**
1084
- * Disallow the use of variables and function parameters before their declaration
1085
- */
1086
- noInvalidUseBeforeDeclaration?: IRuleConfiguration;
1087
- /**
1088
- * Disallow new operators with the Symbol object.
1089
- */
1090
- noNewSymbol?: IRuleFixConfiguration;
1091
- /**
1092
- * Forbid the use of Node.js builtin modules.
1093
- */
1094
- noNodejsModules?: IRuleConfiguration;
1095
- /**
1096
- * Disallow \8 and \9 escape sequences in string literals.
1097
- */
1098
- noNonoctalDecimalEscape?: IRuleFixConfiguration;
1099
- /**
1100
- * Disallow literal numbers that lose precision
1101
- */
1102
- noPrecisionLoss?: IRuleConfiguration;
1103
- /**
1104
- * Prevent the usage of the return value of React.render.
1105
- */
1106
- noRenderReturnValue?: IRuleConfiguration;
1107
- /**
1108
- * Disallow assignments where both sides are exactly the same.
1109
- */
1110
- noSelfAssign?: IRuleConfiguration;
1111
- /**
1112
- * Disallow returning a value from a setter
1113
- */
1114
- noSetterReturn?: IRuleConfiguration;
1115
- /**
1116
- * Disallow comparison of expressions modifying the string case with non-compliant value.
1117
- */
1118
- noStringCaseMismatch?: IRuleFixConfiguration;
1119
- /**
1120
- * Disallow lexical declarations in switch clauses.
1121
- */
1122
- noSwitchDeclarations?: IRuleFixConfiguration;
1123
- /**
1124
- * Disallow the use of dependencies that aren't specified in the package.json.
1125
- */
1126
- noUndeclaredDependencies?: IRuleConfiguration;
1127
- /**
1128
- * Prevents the usage of variables that haven't been declared inside the document.
1129
- */
1130
- noUndeclaredVariables?: IRuleConfiguration;
1131
- /**
1132
- * Disallow unknown CSS value functions.
1133
- */
1134
- noUnknownFunction?: IRuleConfiguration;
1135
- /**
1136
- * Disallow unknown media feature names.
1137
- */
1138
- noUnknownMediaFeatureName?: IRuleConfiguration;
1139
- /**
1140
- * Disallow unknown properties.
1141
- */
1142
- noUnknownProperty?: IRuleConfiguration;
1143
- /**
1144
- * Disallow unknown CSS units.
1145
- */
1146
- noUnknownUnit?: IRuleConfiguration;
1147
- /**
1148
- * Disallow unmatchable An+B selectors.
1149
- */
1150
- noUnmatchableAnbSelector?: IRuleConfiguration;
1151
- /**
1152
- * Avoid using unnecessary continue.
1153
- */
1154
- noUnnecessaryContinue?: IRuleFixConfiguration;
1155
- /**
1156
- * Disallow unreachable code
1157
- */
1158
- noUnreachable?: IRuleConfiguration;
1159
- /**
1160
- * Ensures the super() constructor is called exactly once on every code path in a class constructor before this is accessed if the class has a superclass
1161
- */
1162
- noUnreachableSuper?: IRuleConfiguration;
1163
- /**
1164
- * Disallow control flow statements in finally blocks.
1165
- */
1166
- noUnsafeFinally?: IRuleConfiguration;
1167
- /**
1168
- * Disallow the use of optional chaining in contexts where the undefined value is not allowed.
1169
- */
1170
- noUnsafeOptionalChaining?: IRuleConfiguration;
1171
- /**
1172
- * Disallow unused function parameters.
1173
- */
1174
- noUnusedFunctionParameters?: IRuleFixConfiguration;
1175
- /**
1176
- * Disallow unused imports.
1177
- */
1178
- noUnusedImports?: IRuleFixConfiguration;
1179
- /**
1180
- * Disallow unused labels.
1181
- */
1182
- noUnusedLabels?: IRuleFixConfiguration;
1183
- /**
1184
- * Disallow unused private class members
1185
- */
1186
- noUnusedPrivateClassMembers?: IRuleFixConfiguration;
1187
- /**
1188
- * Disallow unused variables.
1189
- */
1190
- noUnusedVariables?: IRuleFixConfiguration;
1191
- /**
1192
- * This rules prevents void elements (AKA self-closing elements) from having children.
1193
- */
1194
- noVoidElementsWithChildren?: IRuleFixConfiguration;
1195
- /**
1196
- * Disallow returning a value from a function with the return type 'void'
1197
- */
1198
- noVoidTypeReturn?: IRuleConfiguration;
1199
- /**
1200
- * It enables the recommended rules for this group
1201
- */
1202
- recommended?: boolean;
1203
- /**
1204
- * Disallow Array constructors.
1205
- */
1206
- useArrayLiterals?: IRuleFixConfiguration;
1207
- /**
1208
- * Enforce all dependencies are correctly specified in a React hook.
1209
- */
1210
- useExhaustiveDependencies?: IUseExhaustiveDependenciesConfiguration;
1211
- /**
1212
- * Enforce that all React hooks are being called from the Top Level component functions.
1213
- */
1214
- useHookAtTopLevel?: IDeprecatedHooksConfiguration;
1215
- /**
1216
- * Enforce file extensions for relative imports.
1217
- */
1218
- useImportExtensions?: IUseImportExtensionsConfiguration;
1219
- /**
1220
- * Require calls to isNaN() when checking for NaN.
1221
- */
1222
- useIsNan?: IRuleFixConfiguration;
1223
- /**
1224
- * Disallow missing key props in iterators/collection literals.
1225
- */
1226
- useJsxKeyInIterable?: IRuleConfiguration;
1227
- /**
1228
- * Enforce "for" loop update clause moving the counter in the right direction.
1229
- */
1230
- useValidForDirection?: IRuleConfiguration;
1231
- /**
1232
- * Require generator functions to contain yield.
1233
- */
1234
- useYield?: IRuleConfiguration;
1235
- }
1236
- export interface IRuleWithUseExhaustiveDependenciesOptions {
1237
- /**
1238
- * The severity of the emitted diagnostics by the rule
1239
- */
1240
- level: IRulePlainConfiguration;
1241
- /**
1242
- * Rule's options
1243
- */
1244
- options?: IUseExhaustiveDependenciesOptions;
1245
- }
1246
- /**
1247
- * Options for the rule `useExhaustiveDependencies`
1248
- */
1249
- export interface IUseExhaustiveDependenciesOptions {
1250
- /**
1251
- * List of hooks of which the dependencies should be validated.
1252
- */
1253
- hooks?: IHook[];
1254
- /**
1255
- * Whether to report an error when a hook has no dependencies array.
1256
- */
1257
- reportMissingDependenciesArray?: boolean;
1258
- /**
1259
- * Whether to report an error when a dependency is listed in the dependencies array but isn't used. Defaults to true.
1260
- */
1261
- reportUnnecessaryDependencies?: boolean;
1262
- }
1263
- export interface IHook {
1264
- /**
1265
- * The "position" of the closure function, starting from zero.
1266
- *
1267
- * For example, for React's `useEffect()` hook, the closure index is 0.
1268
- */
1269
- closureIndex?: number;
1270
- /**
1271
- * The "position" of the array of dependencies, starting from zero.
1272
- *
1273
- * For example, for React's `useEffect()` hook, the dependencies index is 1.
1274
- */
1275
- dependenciesIndex?: number;
1276
- /**
1277
- * The name of the hook.
1278
- */
1279
- name?: string;
1280
- /**
1281
- * Whether the result of the hook is stable.
1282
- *
1283
- * Set to `true` to mark the identity of the hook's return value as stable, or use a number/an array of numbers to mark the "positions" in the return array as stable.
1284
- *
1285
- * For example, for React's `useRef()` hook the value would be `true`, while for `useState()` it would be `[1]`.
1286
- */
1287
- stableResult?: IStableHookResult;
1288
- }
1289
- export interface IRuleWithDeprecatedHooksOptions {
1290
- /**
1291
- * The severity of the emitted diagnostics by the rule
1292
- */
1293
- level: IRulePlainConfiguration;
1294
- /**
1295
- * Rule's options
1296
- */
1297
- options?: IDeprecatedHooksOptions;
1298
- }
1299
- /**
1300
- * Options for the `useHookAtTopLevel` rule have been deprecated, since we now use the React hook naming convention to determine whether a function is a hook.
1301
- */
1302
- export interface IDeprecatedHooksOptions {
1303
- }
1304
- export interface IRuleWithUseImportExtensionsOptions {
1305
- /**
1306
- * The kind of the code actions emitted by the rule
1307
- */
1308
- fix?: IFixKind;
1309
- /**
1310
- * The severity of the emitted diagnostics by the rule
1311
- */
1312
- level: IRulePlainConfiguration;
1313
- /**
1314
- * Rule's options
1315
- */
1316
- options?: IUseImportExtensionsOptions;
1317
- }
1318
- export interface IUseImportExtensionsOptions {
1319
- /**
1320
- * A map of custom import extension mappings, where the key is the inspected file extension, and the value is a pair of `module` extension and `component` import extension
1321
- */
1322
- suggestedExtensions?: {
1323
- [k: string]: ISuggestedExtensionMapping;
1324
- };
1325
- }
1326
- export interface ISuggestedExtensionMapping {
1327
- /**
1328
- * Extension that should be used for component file imports
1329
- */
1330
- component?: string;
1331
- /**
1332
- * Extension that should be used for module imports
1333
- */
1334
- module?: string;
1335
- }
1336
- /**
1337
- * A list of rules that belong to this group
1338
- */
1339
- export interface INursery {
1340
- /**
1341
- * It enables ALL rules for this group.
1342
- */
1343
- all?: boolean;
1344
- /**
1345
- * Disallow use of CommonJs module system in favor of ESM style imports.
1346
- */
1347
- noCommonJs?: IRuleConfiguration;
1348
- /**
1349
- * Disallow a lower specificity selector from coming after a higher specificity selector.
1350
- */
1351
- noDescendingSpecificity?: IRuleConfiguration;
1352
- /**
1353
- * Disallow direct assignments to document.cookie.
1354
- */
1355
- noDocumentCookie?: IRuleConfiguration;
1356
- /**
1357
- * Prevents importing next/document outside of pages/_document.jsx in Next.js projects.
1358
- */
1359
- noDocumentImportInPage?: IRuleConfiguration;
1360
- /**
1361
- * Disallow duplicate custom properties within declaration blocks.
1362
- */
1363
- noDuplicateCustomProperties?: IRuleConfiguration;
1364
- /**
1365
- * Disallow duplicate conditions in if-else-if chains
1366
- */
1367
- noDuplicateElseIf?: IRuleConfiguration;
1368
- /**
1369
- * Disallow duplicate properties within declaration blocks.
1370
- */
1371
- noDuplicateProperties?: IRuleConfiguration;
1372
- /**
1373
- * No duplicated fields in GraphQL operations.
1374
- */
1375
- noDuplicatedFields?: IRuleConfiguration;
1376
- /**
1377
- * Disallow accessing namespace imports dynamically.
1378
- */
1379
- noDynamicNamespaceImportAccess?: IRuleConfiguration;
1380
- /**
1381
- * Disallow TypeScript enum.
1382
- */
1383
- noEnum?: IRuleConfiguration;
1384
- /**
1385
- * Disallow exporting an imported variable.
1386
- */
1387
- noExportedImports?: IRuleConfiguration;
1388
- /**
1389
- * Prevent usage of \<head> element in a Next.js project.
1390
- */
1391
- noHeadElement?: IRuleConfiguration;
1392
- /**
1393
- * Prevent using the next/head module in pages/_document.js on Next.js projects.
1394
- */
1395
- noHeadImportInDocument?: IRuleConfiguration;
1396
- /**
1397
- * Prevent usage of \<img> element in a Next.js project.
1398
- */
1399
- noImgElement?: IRuleConfiguration;
1400
- /**
1401
- * Disallows the use of irregular whitespace characters.
1402
- */
1403
- noIrregularWhitespace?: IRuleConfiguration;
1404
- /**
1405
- * Disallow missing var function for css variables.
1406
- */
1407
- noMissingVarFunction?: IRuleConfiguration;
1408
- /**
1409
- * Disallow nested ternary expressions.
1410
- */
1411
- noNestedTernary?: IRuleConfiguration;
1412
- /**
1413
- * Disallow octal escape sequences in string literals
1414
- */
1415
- noOctalEscape?: IRuleConfiguration;
1416
- /**
1417
- * Disallow the use of process.env.
1418
- */
1419
- noProcessEnv?: IRuleConfiguration;
1420
- /**
1421
- * Disallow specified modules when loaded by import or require.
1422
- */
1423
- noRestrictedImports?: IRestrictedImportsConfiguration;
1424
- /**
1425
- * Disallow user defined types.
1426
- */
1427
- noRestrictedTypes?: INoRestrictedTypesConfiguration;
1428
- /**
1429
- * Disallow usage of sensitive data such as API keys and tokens.
1430
- */
1431
- noSecrets?: INoSecretsConfiguration;
1432
- /**
1433
- * Enforce that static, visible elements (such as \<div>) that have click handlers use the valid role attribute.
1434
- */
1435
- noStaticElementInteractions?: IRuleConfiguration;
1436
- /**
1437
- * Enforce the use of String.slice() over String.substr() and String.substring().
1438
- */
1439
- noSubstr?: IRuleFixConfiguration;
1440
- /**
1441
- * Disallow template literal placeholder syntax in regular strings.
1442
- */
1443
- noTemplateCurlyInString?: IRuleConfiguration;
1444
- /**
1445
- * Disallow unknown pseudo-class selectors.
1446
- */
1447
- noUnknownPseudoClass?: IRuleConfiguration;
1448
- /**
1449
- * Disallow unknown pseudo-element selectors.
1450
- */
1451
- noUnknownPseudoElement?: IRuleConfiguration;
1452
- /**
1453
- * Disallow unknown type selectors.
1454
- */
1455
- noUnknownTypeSelector?: IRuleConfiguration;
1456
- /**
1457
- * Disallow unnecessary escape sequence in regular expression literals.
1458
- */
1459
- noUselessEscapeInRegex?: IRuleFixConfiguration;
1460
- /**
1461
- * Disallow unnecessary String.raw function in template string literals without any escape sequence.
1462
- */
1463
- noUselessStringRaw?: IRuleConfiguration;
1464
- /**
1465
- * Disallow use of @value rule in css modules.
1466
- */
1467
- noValueAtRule?: IRuleConfiguration;
1468
- /**
1469
- * It enables the recommended rules for this group
1470
- */
1471
- recommended?: boolean;
1472
- /**
1473
- * Disallow the use of overload signatures that are not next to each other.
1474
- */
1475
- useAdjacentOverloadSignatures?: IRuleConfiguration;
1476
- /**
1477
- * Enforce that ARIA properties are valid for the roles that are supported by the element.
1478
- */
1479
- useAriaPropsSupportedByRole?: IRuleConfiguration;
1480
- /**
1481
- * Use at() instead of integer index access.
1482
- */
1483
- useAtIndex?: IRuleFixConfiguration;
1484
- /**
1485
- * Enforce using single if instead of nested if clauses.
1486
- */
1487
- useCollapsedIf?: IRuleFixConfiguration;
1488
- /**
1489
- * Enforce declaring components only within modules that export React Components exclusively.
1490
- */
1491
- useComponentExportOnlyModules?: IUseComponentExportOnlyModulesConfiguration;
1492
- /**
1493
- * This rule enforces consistent use of curly braces inside JSX attributes and JSX children.
1494
- */
1495
- useConsistentCurlyBraces?: IRuleFixConfiguration;
1496
- /**
1497
- * Require consistent accessibility modifiers on class properties and methods.
1498
- */
1499
- useConsistentMemberAccessibility?: IConsistentMemberAccessibilityConfiguration;
1500
- /**
1501
- * Require specifying the reason argument when using @deprecated directive
1502
- */
1503
- useDeprecatedReason?: IRuleConfiguration;
1504
- /**
1505
- * Require explicit return types on functions and class methods.
1506
- */
1507
- useExplicitType?: IRuleConfiguration;
1508
- /**
1509
- * Enforces the use of a recommended display strategy with Google Fonts.
1510
- */
1511
- useGoogleFontDisplay?: IRuleConfiguration;
1512
- /**
1513
- * Require for-in loops to include an if statement.
1514
- */
1515
- useGuardForIn?: IRuleConfiguration;
1516
- /**
1517
- * Disallows package private imports.
1518
- */
1519
- useImportRestrictions?: IRuleConfiguration;
1520
- /**
1521
- * Enforce the sorting of CSS utility classes.
1522
- */
1523
- useSortedClasses?: IUtilityClassSortingConfiguration;
1524
- /**
1525
- * Enforce the use of the directive "use strict" in script files.
1526
- */
1527
- useStrictMode?: IRuleFixConfiguration;
1528
- /**
1529
- * Enforce the use of String.trimStart() and String.trimEnd() over String.trimLeft() and String.trimRight().
1530
- */
1531
- useTrimStartEnd?: IRuleFixConfiguration;
1532
- /**
1533
- * Use valid values for the autocomplete attribute on input elements.
1534
- */
1535
- useValidAutocomplete?: IUseValidAutocompleteConfiguration;
1536
- }
1537
- export interface IRuleWithRestrictedImportsOptions {
1538
- /**
1539
- * The severity of the emitted diagnostics by the rule
1540
- */
1541
- level: IRulePlainConfiguration;
1542
- /**
1543
- * Rule's options
1544
- */
1545
- options?: IRestrictedImportsOptions;
1546
- }
1547
- /**
1548
- * Options for the rule `noRestrictedImports`.
1549
- */
1550
- export interface IRestrictedImportsOptions {
1551
- /**
1552
- * A list of names that should trigger the rule
1553
- */
1554
- paths?: {
1555
- [k: string]: string;
1556
- };
1557
- }
1558
- export interface IRuleWithNoRestrictedTypesOptions {
1559
- /**
1560
- * The kind of the code actions emitted by the rule
1561
- */
1562
- fix?: IFixKind;
1563
- /**
1564
- * The severity of the emitted diagnostics by the rule
1565
- */
1566
- level: IRulePlainConfiguration;
1567
- /**
1568
- * Rule's options
1569
- */
1570
- options?: INoRestrictedTypesOptions;
1571
- }
1572
- export interface INoRestrictedTypesOptions {
1573
- types?: {
1574
- [k: string]: ICustomRestrictedType;
1575
- };
1576
- }
1577
- export interface ICustomRestrictedTypeOptions {
1578
- message?: string;
1579
- use?: string;
1580
- }
1581
- export interface IRuleWithNoSecretsOptions {
1582
- /**
1583
- * The severity of the emitted diagnostics by the rule
1584
- */
1585
- level: IRulePlainConfiguration;
1586
- /**
1587
- * Rule's options
1588
- */
1589
- options?: INoSecretsOptions;
1590
- }
1591
- export interface INoSecretsOptions {
1592
- /**
1593
- * Set entropy threshold (default is 41).
1594
- */
1595
- entropyThreshold?: number;
1596
- }
1597
- export interface IRuleWithUseComponentExportOnlyModulesOptions {
1598
- /**
1599
- * The severity of the emitted diagnostics by the rule
1600
- */
1601
- level: IRulePlainConfiguration;
1602
- /**
1603
- * Rule's options
1604
- */
1605
- options?: IUseComponentExportOnlyModulesOptions;
1606
- }
1607
- export interface IUseComponentExportOnlyModulesOptions {
1608
- /**
1609
- * Allows the export of constants. This option is for environments that support it, such as [Vite](https://vitejs.dev/)
1610
- */
1611
- allowConstantExport?: boolean;
1612
- /**
1613
- * A list of names that can be additionally exported from the module This option is for exports that do not hinder [React Fast Refresh](https://github.com/facebook/react/tree/main/packages/react-refresh), such as [`meta` in Remix](https://remix.run/docs/en/main/route/meta)
1614
- */
1615
- allowExportNames?: string[];
1616
- }
1617
- export interface IRuleWithConsistentMemberAccessibilityOptions {
1618
- /**
1619
- * The severity of the emitted diagnostics by the rule
1620
- */
1621
- level: IRulePlainConfiguration;
1622
- /**
1623
- * Rule's options
1624
- */
1625
- options?: IConsistentMemberAccessibilityOptions;
1626
- }
1627
- export interface IConsistentMemberAccessibilityOptions {
1628
- accessibility?: IAccessibility & string;
1629
- }
1630
- export interface IRuleWithUtilityClassSortingOptions {
1631
- /**
1632
- * The kind of the code actions emitted by the rule
1633
- */
1634
- fix?: IFixKind;
1635
- /**
1636
- * The severity of the emitted diagnostics by the rule
1637
- */
1638
- level: IRulePlainConfiguration;
1639
- /**
1640
- * Rule's options
1641
- */
1642
- options?: IUtilityClassSortingOptions;
1643
- }
1644
- export interface IUtilityClassSortingOptions {
1645
- /**
1646
- * Additional attributes that will be sorted.
1647
- */
1648
- attributes?: string[];
1649
- /**
1650
- * Names of the functions or tagged templates that will be sorted.
1651
- */
1652
- functions?: string[];
1653
- }
1654
- export interface IRuleWithUseValidAutocompleteOptions {
1655
- /**
1656
- * The severity of the emitted diagnostics by the rule
1657
- */
1658
- level: IRulePlainConfiguration;
1659
- /**
1660
- * Rule's options
1661
- */
1662
- options?: IUseValidAutocompleteOptions;
1663
- }
1664
- export interface IUseValidAutocompleteOptions {
1665
- /**
1666
- * `input` like custom components that should be checked.
1667
- */
1668
- inputComponents?: string[];
1669
- }
1670
- /**
1671
- * A list of rules that belong to this group
1672
- */
1673
- export interface IPerformance {
1674
- /**
1675
- * It enables ALL rules for this group.
1676
- */
1677
- all?: boolean;
1678
- /**
1679
- * Disallow the use of spread (...) syntax on accumulators.
1680
- */
1681
- noAccumulatingSpread?: IRuleConfiguration;
1682
- /**
1683
- * Disallow the use of barrel file.
1684
- */
1685
- noBarrelFile?: IRuleConfiguration;
1686
- /**
1687
- * Disallow the use of the delete operator.
1688
- */
1689
- noDelete?: IRuleFixConfiguration;
1690
- /**
1691
- * Avoid re-export all.
1692
- */
1693
- noReExportAll?: IRuleConfiguration;
1694
- /**
1695
- * It enables the recommended rules for this group
1696
- */
1697
- recommended?: boolean;
1698
- /**
1699
- * Require regex literals to be declared at the top level.
1700
- */
1701
- useTopLevelRegex?: IRuleConfiguration;
1702
- }
1703
- /**
1704
- * A list of rules that belong to this group
1705
- */
1706
- export interface ISecurity {
1707
- /**
1708
- * It enables ALL rules for this group.
1709
- */
1710
- all?: boolean;
1711
- /**
1712
- * Prevent the usage of dangerous JSX props
1713
- */
1714
- noDangerouslySetInnerHtml?: IRuleConfiguration;
1715
- /**
1716
- * Report when a DOM element or a component uses both children and dangerouslySetInnerHTML prop.
1717
- */
1718
- noDangerouslySetInnerHtmlWithChildren?: IRuleConfiguration;
1719
- /**
1720
- * Disallow the use of global eval().
1721
- */
1722
- noGlobalEval?: IRuleConfiguration;
1723
- /**
1724
- * It enables the recommended rules for this group
1725
- */
1726
- recommended?: boolean;
1727
- }
1728
- /**
1729
- * A list of rules that belong to this group
1730
- */
1731
- export interface IStyle {
1732
- /**
1733
- * It enables ALL rules for this group.
1734
- */
1735
- all?: boolean;
1736
- /**
1737
- * Disallow the use of arguments.
1738
- */
1739
- noArguments?: IRuleConfiguration;
1740
- /**
1741
- * Disallow comma operator.
1742
- */
1743
- noCommaOperator?: IRuleConfiguration;
1744
- /**
1745
- * Disallow default exports.
1746
- */
1747
- noDefaultExport?: IRuleConfiguration;
1748
- /**
1749
- * Disallow using a callback in asynchronous tests and hooks.
1750
- */
1751
- noDoneCallback?: IRuleConfiguration;
1752
- /**
1753
- * Disallow implicit true values on JSX boolean attributes
1754
- */
1755
- noImplicitBoolean?: IRuleFixConfiguration;
1756
- /**
1757
- * Disallow type annotations for variables, parameters, and class properties initialized with a literal expression.
1758
- */
1759
- noInferrableTypes?: IRuleFixConfiguration;
1760
- /**
1761
- * Disallow the use of TypeScript's namespaces.
1762
- */
1763
- noNamespace?: IRuleConfiguration;
1764
- /**
1765
- * Disallow the use of namespace imports.
1766
- */
1767
- noNamespaceImport?: IRuleConfiguration;
1768
- /**
1769
- * Disallow negation in the condition of an if statement if it has an else clause.
1770
- */
1771
- noNegationElse?: IRuleFixConfiguration;
1772
- /**
1773
- * Disallow non-null assertions using the ! postfix operator.
1774
- */
1775
- noNonNullAssertion?: IRuleFixConfiguration;
1776
- /**
1777
- * Disallow reassigning function parameters.
1778
- */
1779
- noParameterAssign?: IRuleConfiguration;
1780
- /**
1781
- * Disallow the use of parameter properties in class constructors.
1782
- */
1783
- noParameterProperties?: IRuleConfiguration;
1784
- /**
1785
- * This rule allows you to specify global variable names that you don’t want to use in your application.
1786
- */
1787
- noRestrictedGlobals?: IRestrictedGlobalsConfiguration;
1788
- /**
1789
- * Disallow the use of constants which its value is the upper-case version of its name.
1790
- */
1791
- noShoutyConstants?: IRuleFixConfiguration;
1792
- /**
1793
- * Disallow template literals if interpolation and special-character handling are not needed
1794
- */
1795
- noUnusedTemplateLiteral?: IRuleFixConfiguration;
1796
- /**
1797
- * Disallow else block when the if block breaks early.
1798
- */
1799
- noUselessElse?: IRuleFixConfiguration;
1800
- /**
1801
- * Disallow the use of var
1802
- */
1803
- noVar?: IRuleFixConfiguration;
1804
- /**
1805
- * Disallow the use of yoda expressions.
1806
- */
1807
- noYodaExpression?: IRuleFixConfiguration;
1808
- /**
1809
- * It enables the recommended rules for this group
1810
- */
1811
- recommended?: boolean;
1812
- /**
1813
- * Enforce the use of as const over literal type and type annotation.
1814
- */
1815
- useAsConstAssertion?: IRuleFixConfiguration;
1816
- /**
1817
- * Requires following curly brace conventions.
1818
- */
1819
- useBlockStatements?: IRuleFixConfiguration;
1820
- /**
1821
- * Enforce using else if instead of nested if in else clauses.
1822
- */
1823
- useCollapsedElseIf?: IRuleFixConfiguration;
1824
- /**
1825
- * Require consistently using either T\[] or Array\<T>
1826
- */
1827
- useConsistentArrayType?: IConsistentArrayTypeConfiguration;
1828
- /**
1829
- * Enforce the use of new for all builtins, except String, Number and Boolean.
1830
- */
1831
- useConsistentBuiltinInstantiation?: IRuleFixConfiguration;
1832
- /**
1833
- * Require const declarations for variables that are only assigned once.
1834
- */
1835
- useConst?: IRuleFixConfiguration;
1836
- /**
1837
- * Enforce default function parameters and optional function parameters to be last.
1838
- */
1839
- useDefaultParameterLast?: IRuleFixConfiguration;
1840
- /**
1841
- * Require the default clause in switch statements.
1842
- */
1843
- useDefaultSwitchClause?: IRuleConfiguration;
1844
- /**
1845
- * Require that each enum member value be explicitly initialized.
1846
- */
1847
- useEnumInitializers?: IRuleFixConfiguration;
1848
- /**
1849
- * Enforce explicitly comparing the length, size, byteLength or byteOffset property of a value.
1850
- */
1851
- useExplicitLengthCheck?: IRuleFixConfiguration;
1852
- /**
1853
- * Disallow the use of Math.pow in favor of the ** operator.
1854
- */
1855
- useExponentiationOperator?: IRuleFixConfiguration;
1856
- /**
1857
- * Promotes the use of export type for types.
1858
- */
1859
- useExportType?: IRuleFixConfiguration;
1860
- /**
1861
- * Enforce naming conventions for JavaScript and TypeScript filenames.
1862
- */
1863
- useFilenamingConvention?: IFilenamingConventionConfiguration;
1864
- /**
1865
- * This rule recommends a for-of loop when in a for loop, the index used to extract an item from the iterated array.
1866
- */
1867
- useForOf?: IRuleConfiguration;
1868
- /**
1869
- * This rule enforces the use of \<>...\</> over \<Fragment>...\</Fragment>.
1870
- */
1871
- useFragmentSyntax?: IRuleFixConfiguration;
1872
- /**
1873
- * Promotes the use of import type for types.
1874
- */
1875
- useImportType?: IRuleFixConfiguration;
1876
- /**
1877
- * Require all enum members to be literal values.
1878
- */
1879
- useLiteralEnumMembers?: IRuleConfiguration;
1880
- /**
1881
- * Enforce naming conventions for everything across a codebase.
1882
- */
1883
- useNamingConvention?: INamingConventionConfiguration;
1884
- /**
1885
- * Promotes the usage of node:assert/strict over node:assert.
1886
- */
1887
- useNodeAssertStrict?: IRuleFixConfiguration;
1888
- /**
1889
- * Enforces using the node: protocol for Node.js builtin modules.
1890
- */
1891
- useNodejsImportProtocol?: IRuleFixConfiguration;
1892
- /**
1893
- * Use the Number properties instead of global ones.
1894
- */
1895
- useNumberNamespace?: IRuleFixConfiguration;
1896
- /**
1897
- * Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
1898
- */
1899
- useNumericLiterals?: IRuleFixConfiguration;
1900
- /**
1901
- * Prevent extra closing tags for components without children
1902
- */
1903
- useSelfClosingElements?: IRuleFixConfiguration;
1904
- /**
1905
- * When expressing array types, this rule promotes the usage of T\[] shorthand instead of Array\<T>.
1906
- */
1907
- useShorthandArrayType?: IRuleFixConfiguration;
1908
- /**
1909
- * Require assignment operator shorthand where possible.
1910
- */
1911
- useShorthandAssign?: IRuleFixConfiguration;
1912
- /**
1913
- * Enforce using function types instead of object type with call signatures.
1914
- */
1915
- useShorthandFunctionType?: IRuleFixConfiguration;
1916
- /**
1917
- * Enforces switch clauses have a single statement, emits a quick fix wrapping the statements in a block.
1918
- */
1919
- useSingleCaseStatement?: IRuleFixConfiguration;
1920
- /**
1921
- * Disallow multiple variable declarations in the same variable statement
1922
- */
1923
- useSingleVarDeclarator?: IRuleFixConfiguration;
1924
- /**
1925
- * Prefer template literals over string concatenation.
1926
- */
1927
- useTemplate?: IRuleFixConfiguration;
1928
- /**
1929
- * Require new when throwing an error.
1930
- */
1931
- useThrowNewError?: IRuleFixConfiguration;
1932
- /**
1933
- * Disallow throwing non-Error values.
1934
- */
1935
- useThrowOnlyError?: IRuleConfiguration;
1936
- /**
1937
- * Enforce the use of while loops instead of for loops when the initializer and update expressions are not needed.
1938
- */
1939
- useWhile?: IRuleFixConfiguration;
1940
- }
1941
- export interface IRuleWithRestrictedGlobalsOptions {
1942
- /**
1943
- * The severity of the emitted diagnostics by the rule
1944
- */
1945
- level: IRulePlainConfiguration;
1946
- /**
1947
- * Rule's options
1948
- */
1949
- options?: IRestrictedGlobalsOptions;
1950
- }
1951
- /**
1952
- * Options for the rule `noRestrictedGlobals`.
1953
- */
1954
- export interface IRestrictedGlobalsOptions {
1955
- /**
1956
- * A list of names that should trigger the rule
1957
- */
1958
- deniedGlobals?: string[];
1959
- }
1960
- export interface IRuleWithConsistentArrayTypeOptions {
1961
- /**
1962
- * The kind of the code actions emitted by the rule
1963
- */
1964
- fix?: IFixKind;
1965
- /**
1966
- * The severity of the emitted diagnostics by the rule
1967
- */
1968
- level: IRulePlainConfiguration;
1969
- /**
1970
- * Rule's options
1971
- */
1972
- options?: IConsistentArrayTypeOptions;
1973
- }
1974
- export interface IConsistentArrayTypeOptions {
1975
- syntax?: IConsistentArrayType & string;
1976
- }
1977
- export interface IRuleWithFilenamingConventionOptions {
1978
- /**
1979
- * The severity of the emitted diagnostics by the rule
1980
- */
1981
- level: IRulePlainConfiguration;
1982
- /**
1983
- * Rule's options
1984
- */
1985
- options?: IFilenamingConventionOptions;
1986
- }
1987
- /**
1988
- * Rule's options.
1989
- */
1990
- export interface IFilenamingConventionOptions {
1991
- /**
1992
- * Allowed cases for file names.
1993
- */
1994
- filenameCases?: IFilenameCases;
1995
- /**
1996
- * If `false`, then non-ASCII characters are allowed.
1997
- */
1998
- requireAscii?: boolean;
1999
- /**
2000
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
2001
- */
2002
- strictCase?: boolean;
2003
- }
2004
- export interface IRuleWithNamingConventionOptions {
2005
- /**
2006
- * The kind of the code actions emitted by the rule
2007
- */
2008
- fix?: IFixKind;
2009
- /**
2010
- * The severity of the emitted diagnostics by the rule
2011
- */
2012
- level: IRulePlainConfiguration;
2013
- /**
2014
- * Rule's options
2015
- */
2016
- options?: INamingConventionOptions;
966
+ readonly lineWidth?: number;
2017
967
  }
2018
968
  /**
2019
- * Rule's options.
969
+ * Converts an object of type 'GritFormatterConfiguration' to JSON representation.
970
+ * @internal
2020
971
  */
2021
- export interface INamingConventionOptions {
2022
- /**
2023
- * Custom conventions.
2024
- */
2025
- conventions?: IConvention[];
2026
- /**
2027
- * Allowed cases for _TypeScript_ `enum` member names.
2028
- */
2029
- enumMemberCase?: IFormat;
2030
- /**
2031
- * If `false`, then non-ASCII characters are allowed.
2032
- */
2033
- requireAscii?: boolean;
2034
- /**
2035
- * If `false`, then consecutive uppercase are allowed in _camel_ and _pascal_ cases. This does not affect other [Case].
2036
- */
2037
- strictCase?: boolean;
2038
- }
2039
- export interface IConvention {
2040
- /**
2041
- * String cases to enforce
2042
- */
2043
- formats?: IFormats;
2044
- /**
2045
- * Regular expression to enforce
2046
- */
2047
- match?: IRegex;
2048
- /**
2049
- * Declarations concerned by this convention
2050
- */
2051
- selector?: ISelector;
2052
- }
2053
- export interface ISelector {
2054
- /**
2055
- * Declaration kind
2056
- */
2057
- kind?: IKind;
2058
- /**
2059
- * Modifiers used on the declaration
2060
- */
2061
- modifiers?: IModifiers;
2062
- /**
2063
- * Scope of the declaration
2064
- */
2065
- scope?: IScope;
2066
- }
972
+ export declare function toJson_GritFormatterConfiguration(obj: GritFormatterConfiguration | undefined): Record<string, any> | undefined;
2067
973
  /**
2068
- * A list of rules that belong to this group
974
+ * @schema GritLinterConfiguration
2069
975
  */
2070
- export interface ISuspicious {
2071
- /**
2072
- * It enables ALL rules for this group.
2073
- */
2074
- all?: boolean;
2075
- /**
2076
- * Use standard constants instead of approximated literals.
2077
- */
2078
- noApproximativeNumericConstant?: IRuleFixConfiguration;
2079
- /**
2080
- * Discourage the usage of Array index in keys.
2081
- */
2082
- noArrayIndexKey?: IRuleConfiguration;
2083
- /**
2084
- * Disallow assignments in expressions.
2085
- */
2086
- noAssignInExpressions?: IRuleConfiguration;
2087
- /**
2088
- * Disallows using an async function as a Promise executor.
2089
- */
2090
- noAsyncPromiseExecutor?: IRuleConfiguration;
2091
- /**
2092
- * Disallow reassigning exceptions in catch clauses.
2093
- */
2094
- noCatchAssign?: IRuleConfiguration;
2095
- /**
2096
- * Disallow reassigning class members.
2097
- */
2098
- noClassAssign?: IRuleConfiguration;
2099
- /**
2100
- * Prevent comments from being inserted as text nodes
2101
- */
2102
- noCommentText?: IRuleFixConfiguration;
2103
- /**
2104
- * Disallow comparing against -0
2105
- */
2106
- noCompareNegZero?: IRuleFixConfiguration;
2107
- /**
2108
- * Disallow labeled statements that are not loops.
2109
- */
2110
- noConfusingLabels?: IRuleConfiguration;
2111
- /**
2112
- * Disallow void type outside of generic or return types.
2113
- */
2114
- noConfusingVoidType?: IRuleFixConfiguration;
2115
- /**
2116
- * Disallow the use of console.
2117
- */
2118
- noConsole?: INoConsoleConfiguration;
2119
- /**
2120
- * Disallow the use of console.log
2121
- */
2122
- noConsoleLog?: IRuleFixConfiguration;
2123
- /**
2124
- * Disallow TypeScript const enum
2125
- */
2126
- noConstEnum?: IRuleFixConfiguration;
2127
- /**
2128
- * Prevents from having control characters and some escape sequences that match control characters in regular expressions.
2129
- */
2130
- noControlCharactersInRegex?: IRuleConfiguration;
2131
- /**
2132
- * Disallow the use of debugger
2133
- */
2134
- noDebugger?: IRuleFixConfiguration;
2135
- /**
2136
- * Require the use of === and !==.
2137
- */
2138
- noDoubleEquals?: INoDoubleEqualsConfiguration;
2139
- /**
2140
- * Disallow duplicate @import rules.
2141
- */
2142
- noDuplicateAtImportRules?: IRuleConfiguration;
2143
- /**
2144
- * Disallow duplicate case labels.
2145
- */
2146
- noDuplicateCase?: IRuleConfiguration;
2147
- /**
2148
- * Disallow duplicate class members.
2149
- */
2150
- noDuplicateClassMembers?: IRuleConfiguration;
2151
- /**
2152
- * Disallow duplicate names within font families.
2153
- */
2154
- noDuplicateFontNames?: IRuleConfiguration;
2155
- /**
2156
- * Prevents JSX properties to be assigned multiple times.
2157
- */
2158
- noDuplicateJsxProps?: IRuleConfiguration;
2159
- /**
2160
- * Disallow two keys with the same name inside objects.
2161
- */
2162
- noDuplicateObjectKeys?: IRuleConfiguration;
2163
- /**
2164
- * Disallow duplicate function parameter name.
2165
- */
2166
- noDuplicateParameters?: IRuleConfiguration;
2167
- /**
2168
- * Disallow duplicate selectors within keyframe blocks.
2169
- */
2170
- noDuplicateSelectorsKeyframeBlock?: IRuleConfiguration;
2171
- /**
2172
- * A describe block should not contain duplicate hooks.
2173
- */
2174
- noDuplicateTestHooks?: IRuleConfiguration;
2175
- /**
2176
- * Disallow CSS empty blocks.
2177
- */
2178
- noEmptyBlock?: IRuleConfiguration;
2179
- /**
2180
- * Disallow empty block statements and static blocks.
2181
- */
2182
- noEmptyBlockStatements?: IRuleConfiguration;
2183
- /**
2184
- * Disallow the declaration of empty interfaces.
2185
- */
2186
- noEmptyInterface?: IRuleFixConfiguration;
2187
- /**
2188
- * Disallow variables from evolving into any type through reassignments.
2189
- */
2190
- noEvolvingTypes?: IRuleConfiguration;
2191
- /**
2192
- * Disallow the any type usage.
2193
- */
2194
- noExplicitAny?: IRuleConfiguration;
2195
- /**
2196
- * Disallow using export or module.exports in files containing tests
2197
- */
2198
- noExportsInTest?: IRuleConfiguration;
976
+ export interface GritLinterConfiguration {
2199
977
  /**
2200
- * Prevents the wrong usage of the non-null assertion operator (!) in TypeScript files.
978
+ * Control the linter for Grit files.
979
+ *
980
+ * @schema GritLinterConfiguration#enabled
2201
981
  */
2202
- noExtraNonNullAssertion?: IRuleFixConfiguration;
982
+ readonly enabled?: boolean;
983
+ }
984
+ /**
985
+ * Converts an object of type 'GritLinterConfiguration' to JSON representation.
986
+ * @internal
987
+ */
988
+ export declare function toJson_GritLinterConfiguration(obj: GritLinterConfiguration | undefined): Record<string, any> | undefined;
989
+ /**
990
+ * Options that changes how the HTML formatter behaves
991
+ *
992
+ * @schema HtmlFormatterConfiguration
993
+ */
994
+ export interface HtmlFormatterConfiguration {
2203
995
  /**
2204
- * Disallow fallthrough of switch clauses.
996
+ * The attribute position style in HTML elements. Defaults to auto.
997
+ *
998
+ * @default auto.
999
+ * @schema HtmlFormatterConfiguration#attributePosition
2205
1000
  */
2206
- noFallthroughSwitchClause?: IRuleConfiguration;
1001
+ readonly attributePosition?: AttributePosition;
2207
1002
  /**
2208
- * Disallow focused tests.
1003
+ * Whether to hug the closing bracket of multiline HTML tags to the end of the last line, rather than being alone on the following line. Defaults to false.
1004
+ *
1005
+ * @default false.
1006
+ * @schema HtmlFormatterConfiguration#bracketSameLine
2209
1007
  */
2210
- noFocusedTests?: IRuleFixConfiguration;
1008
+ readonly bracketSameLine?: boolean;
2211
1009
  /**
2212
- * Disallow reassigning function declarations.
1010
+ * Control the formatter for HTML (and its super languages) files.
1011
+ *
1012
+ * @schema HtmlFormatterConfiguration#enabled
2213
1013
  */
2214
- noFunctionAssign?: IRuleConfiguration;
1014
+ readonly enabled?: boolean;
2215
1015
  /**
2216
- * Disallow assignments to native objects and read-only global variables.
1016
+ * Whether to indent the `<script>` and `<style>` tags for HTML (and its super languages). Defaults to false.
1017
+ *
1018
+ * @default false.
1019
+ * @schema HtmlFormatterConfiguration#indentScriptAndStyle
2217
1020
  */
2218
- noGlobalAssign?: IRuleConfiguration;
1021
+ readonly indentScriptAndStyle?: boolean;
2219
1022
  /**
2220
- * Use Number.isFinite instead of global isFinite.
1023
+ * The indent style applied to HTML (and its super languages) files.
1024
+ *
1025
+ * @schema HtmlFormatterConfiguration#indentStyle
2221
1026
  */
2222
- noGlobalIsFinite?: IRuleFixConfiguration;
1027
+ readonly indentStyle?: IndentStyle;
2223
1028
  /**
2224
- * Use Number.isNaN instead of global isNaN.
1029
+ * The size of the indentation applied to HTML (and its super languages) files. Default to 2.
1030
+ *
1031
+ * @default 2.
1032
+ * @schema HtmlFormatterConfiguration#indentWidth
2225
1033
  */
2226
- noGlobalIsNan?: IRuleFixConfiguration;
1034
+ readonly indentWidth?: number;
2227
1035
  /**
2228
- * Disallow use of implicit any type on variable declarations.
1036
+ * The type of line ending applied to HTML (and its super languages) files.
1037
+ *
1038
+ * @schema HtmlFormatterConfiguration#lineEnding
2229
1039
  */
2230
- noImplicitAnyLet?: IRuleConfiguration;
1040
+ readonly lineEnding?: LineEnding;
2231
1041
  /**
2232
- * Disallow assigning to imported bindings
1042
+ * What's the max width of a line applied to HTML (and its super languages) files. Defaults to 80.
1043
+ *
1044
+ * @default 80.
1045
+ * @schema HtmlFormatterConfiguration#lineWidth
2233
1046
  */
2234
- noImportAssign?: IRuleConfiguration;
1047
+ readonly lineWidth?: number;
2235
1048
  /**
2236
- * Disallow invalid !important within keyframe declarations
1049
+ * Whether void elements should be self-closed. Defaults to never.
1050
+ *
1051
+ * @default never.
1052
+ * @schema HtmlFormatterConfiguration#selfCloseVoidElements
2237
1053
  */
2238
- noImportantInKeyframe?: IRuleConfiguration;
1054
+ readonly selfCloseVoidElements?: SelfCloseVoidElements;
2239
1055
  /**
2240
- * Disallow labels that share a name with a variable
1056
+ * Whether to account for whitespace sensitivity when formatting HTML (and its super languages). Defaults to "css".
1057
+ *
1058
+ * @default css".
1059
+ * @schema HtmlFormatterConfiguration#whitespaceSensitivity
2241
1060
  */
2242
- noLabelVar?: IRuleConfiguration;
1061
+ readonly whitespaceSensitivity?: WhitespaceSensitivity;
1062
+ }
1063
+ /**
1064
+ * Converts an object of type 'HtmlFormatterConfiguration' to JSON representation.
1065
+ * @internal
1066
+ */
1067
+ export declare function toJson_HtmlFormatterConfiguration(obj: HtmlFormatterConfiguration | undefined): Record<string, any> | undefined;
1068
+ /**
1069
+ * Assist options specific to the JavaScript assist
1070
+ *
1071
+ * @schema JsAssistConfiguration
1072
+ */
1073
+ export interface JsAssistConfiguration {
2243
1074
  /**
2244
- * Disallow characters made with multiple code points in character class syntax.
1075
+ * Control the assist for JavaScript (and its super languages) files.
1076
+ *
1077
+ * @schema JsAssistConfiguration#enabled
2245
1078
  */
2246
- noMisleadingCharacterClass?: IRuleFixConfiguration;
1079
+ readonly enabled?: boolean;
1080
+ }
1081
+ /**
1082
+ * Converts an object of type 'JsAssistConfiguration' to JSON representation.
1083
+ * @internal
1084
+ */
1085
+ export declare function toJson_JsAssistConfiguration(obj: JsAssistConfiguration | undefined): Record<string, any> | undefined;
1086
+ /**
1087
+ * Formatting options specific to the JavaScript files
1088
+ *
1089
+ * @schema JsFormatterConfiguration
1090
+ */
1091
+ export interface JsFormatterConfiguration {
2247
1092
  /**
2248
- * Enforce proper usage of new and constructor.
1093
+ * Whether to add non-necessary parentheses to arrow functions. Defaults to "always".
1094
+ *
1095
+ * @default always".
1096
+ * @schema JsFormatterConfiguration#arrowParentheses
2249
1097
  */
2250
- noMisleadingInstantiator?: IRuleConfiguration;
1098
+ readonly arrowParentheses?: ArrowParentheses;
2251
1099
  /**
2252
- * Checks that the assertion function, for example expect, is placed inside an it() function call.
1100
+ * The attribute position style in JSX elements. Defaults to auto.
1101
+ *
1102
+ * @default auto.
1103
+ * @schema JsFormatterConfiguration#attributePosition
2253
1104
  */
2254
- noMisplacedAssertion?: IRuleConfiguration;
1105
+ readonly attributePosition?: AttributePosition;
2255
1106
  /**
2256
- * Disallow shorthand assign when variable appears on both sides.
1107
+ * Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. Defaults to false.
1108
+ *
1109
+ * @default false.
1110
+ * @schema JsFormatterConfiguration#bracketSameLine
2257
1111
  */
2258
- noMisrefactoredShorthandAssign?: IRuleFixConfiguration;
1112
+ readonly bracketSameLine?: boolean;
2259
1113
  /**
2260
- * Disallow direct use of Object.prototype builtins.
1114
+ * Whether to insert spaces around brackets in object literals. Defaults to true.
1115
+ *
1116
+ * @default true.
1117
+ * @schema JsFormatterConfiguration#bracketSpacing
2261
1118
  */
2262
- noPrototypeBuiltins?: IRuleConfiguration;
1119
+ readonly bracketSpacing?: boolean;
2263
1120
  /**
2264
- * Prevents React-specific JSX properties from being used.
1121
+ * Control the formatter for JavaScript (and its super languages) files.
1122
+ *
1123
+ * @schema JsFormatterConfiguration#enabled
2265
1124
  */
2266
- noReactSpecificProps?: IRuleFixConfiguration;
1125
+ readonly enabled?: boolean;
2267
1126
  /**
2268
- * Disallow variable, function, class, and type redeclarations in the same scope.
1127
+ * Whether to expand arrays and objects on multiple lines. When set to `auto`, object literals are formatted on multiple lines if the first property has a newline, and array literals are formatted on a single line if it fits in the line. When set to `always`, these literals are formatted on multiple lines, regardless of length of the list. When set to `never`, these literals are formatted on a single line if it fits in the line. When formatting `package.json`, Biome will use `always` unless configured otherwise. Defaults to "auto".
1128
+ *
1129
+ * @default auto".
1130
+ * @schema JsFormatterConfiguration#expand
2269
1131
  */
2270
- noRedeclare?: IRuleConfiguration;
1132
+ readonly expand?: Expand;
2271
1133
  /**
2272
- * Prevents from having redundant "use strict".
1134
+ * The indent style applied to JavaScript (and its super languages) files.
1135
+ *
1136
+ * @schema JsFormatterConfiguration#indentStyle
2273
1137
  */
2274
- noRedundantUseStrict?: IRuleFixConfiguration;
1138
+ readonly indentStyle?: IndentStyle;
2275
1139
  /**
2276
- * Disallow comparisons where both sides are exactly the same.
1140
+ * The size of the indentation applied to JavaScript (and its super languages) files. Default to 2.
1141
+ *
1142
+ * @default 2.
1143
+ * @schema JsFormatterConfiguration#indentWidth
2277
1144
  */
2278
- noSelfCompare?: IRuleConfiguration;
1145
+ readonly indentWidth?: number;
2279
1146
  /**
2280
- * Disallow identifiers from shadowing restricted names.
1147
+ * The type of quotes used in JSX. Defaults to double.
1148
+ *
1149
+ * @default double.
1150
+ * @schema JsFormatterConfiguration#jsxQuoteStyle
2281
1151
  */
2282
- noShadowRestrictedNames?: IRuleConfiguration;
1152
+ readonly jsxQuoteStyle?: QuoteStyle;
2283
1153
  /**
2284
- * Disallow shorthand properties that override related longhand properties.
1154
+ * The type of line ending applied to JavaScript (and its super languages) files.
1155
+ *
1156
+ * @schema JsFormatterConfiguration#lineEnding
2285
1157
  */
2286
- noShorthandPropertyOverrides?: IRuleConfiguration;
1158
+ readonly lineEnding?: LineEnding;
2287
1159
  /**
2288
- * Disallow disabled tests.
1160
+ * What's the max width of a line applied to JavaScript (and its super languages) files. Defaults to 80.
1161
+ *
1162
+ * @default 80.
1163
+ * @schema JsFormatterConfiguration#lineWidth
2289
1164
  */
2290
- noSkippedTests?: IRuleFixConfiguration;
1165
+ readonly lineWidth?: number;
2291
1166
  /**
2292
- * Disallow sparse arrays
1167
+ * When properties in objects are quoted. Defaults to asNeeded.
1168
+ *
1169
+ * @default asNeeded.
1170
+ * @schema JsFormatterConfiguration#quoteProperties
2293
1171
  */
2294
- noSparseArray?: IRuleFixConfiguration;
1172
+ readonly quoteProperties?: QuoteProperties;
2295
1173
  /**
2296
- * It detects possible "wrong" semicolons inside JSX elements.
1174
+ * The type of quotes used in JavaScript code. Defaults to double.
1175
+ *
1176
+ * @default double.
1177
+ * @schema JsFormatterConfiguration#quoteStyle
2297
1178
  */
2298
- noSuspiciousSemicolonInJsx?: IRuleConfiguration;
1179
+ readonly quoteStyle?: QuoteStyle;
2299
1180
  /**
2300
- * Disallow then property.
1181
+ * Whether the formatter prints semicolons for all statements or only in for statements where it is necessary because of ASI.
1182
+ *
1183
+ * @schema JsFormatterConfiguration#semicolons
2301
1184
  */
2302
- noThenProperty?: IRuleConfiguration;
1185
+ readonly semicolons?: Semicolons;
2303
1186
  /**
2304
- * Disallow unsafe declaration merging between interfaces and classes.
1187
+ * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "all".
1188
+ *
1189
+ * @default all".
1190
+ * @schema JsFormatterConfiguration#trailingCommas
2305
1191
  */
2306
- noUnsafeDeclarationMerging?: IRuleConfiguration;
1192
+ readonly trailingCommas?: TrailingCommas;
1193
+ }
1194
+ /**
1195
+ * Converts an object of type 'JsFormatterConfiguration' to JSON representation.
1196
+ * @internal
1197
+ */
1198
+ export declare function toJson_JsFormatterConfiguration(obj: JsFormatterConfiguration | undefined): Record<string, any> | undefined;
1199
+ /**
1200
+ * Indicates the type of runtime or transformation used for interpreting JSX.
1201
+ *
1202
+ * @schema JsxRuntime
1203
+ */
1204
+ export declare enum JsxRuntime {
1205
+ /** transparent */
1206
+ TRANSPARENT = "transparent",
1207
+ /** reactClassic */
1208
+ REACT_CLASSIC = "reactClassic"
1209
+ }
1210
+ /**
1211
+ * Linter options specific to the JavaScript linter
1212
+ *
1213
+ * @schema JsLinterConfiguration
1214
+ */
1215
+ export interface JsLinterConfiguration {
2307
1216
  /**
2308
- * Disallow using unsafe negation.
1217
+ * Control the linter for JavaScript (and its super languages) files.
1218
+ *
1219
+ * @schema JsLinterConfiguration#enabled
2309
1220
  */
2310
- noUnsafeNegation?: IRuleFixConfiguration;
1221
+ readonly enabled?: boolean;
1222
+ }
1223
+ /**
1224
+ * Converts an object of type 'JsLinterConfiguration' to JSON representation.
1225
+ * @internal
1226
+ */
1227
+ export declare function toJson_JsLinterConfiguration(obj: JsLinterConfiguration | undefined): Record<string, any> | undefined;
1228
+ /**
1229
+ * Options that changes how the JavaScript parser behaves
1230
+ *
1231
+ * @schema JsParserConfiguration
1232
+ */
1233
+ export interface JsParserConfiguration {
2311
1234
  /**
2312
- * It enables the recommended rules for this group
1235
+ * Enables parsing of Grit metavariables. Defaults to `false`.
1236
+ *
1237
+ * @default false`.
1238
+ * @schema JsParserConfiguration#gritMetavariables
2313
1239
  */
2314
- recommended?: boolean;
1240
+ readonly gritMetavariables?: boolean;
2315
1241
  /**
2316
- * Ensure async functions utilize await.
1242
+ * When enabled, files like `.js`/`.mjs`/`.cjs` may contain JSX syntax.
1243
+ *
1244
+ * Defaults to `true`.
1245
+ *
1246
+ * @default true`.
1247
+ * @schema JsParserConfiguration#jsxEverywhere
2317
1248
  */
2318
- useAwait?: IRuleConfiguration;
1249
+ readonly jsxEverywhere?: boolean;
2319
1250
  /**
2320
- * Enforce default clauses in switch statements to be last
1251
+ * It enables the experimental and unsafe parsing of parameter decorators
1252
+ *
1253
+ * These decorators belong to an old proposal, and they are subject to change.
1254
+ *
1255
+ * @schema JsParserConfiguration#unsafeParameterDecoratorsEnabled
2321
1256
  */
2322
- useDefaultSwitchClauseLast?: IRuleConfiguration;
1257
+ readonly unsafeParameterDecoratorsEnabled?: boolean;
1258
+ }
1259
+ /**
1260
+ * Converts an object of type 'JsParserConfiguration' to JSON representation.
1261
+ * @internal
1262
+ */
1263
+ export declare function toJson_JsParserConfiguration(obj: JsParserConfiguration | undefined): Record<string, any> | undefined;
1264
+ /**
1265
+ * Linter options specific to the JSON linter
1266
+ *
1267
+ * @schema JsonAssistConfiguration
1268
+ */
1269
+ export interface JsonAssistConfiguration {
2323
1270
  /**
2324
- * Enforce passing a message value when creating a built-in error.
1271
+ * Control the assist for JSON (and its super languages) files.
1272
+ *
1273
+ * @schema JsonAssistConfiguration#enabled
2325
1274
  */
2326
- useErrorMessage?: IRuleConfiguration;
1275
+ readonly enabled?: boolean;
1276
+ }
1277
+ /**
1278
+ * Converts an object of type 'JsonAssistConfiguration' to JSON representation.
1279
+ * @internal
1280
+ */
1281
+ export declare function toJson_JsonAssistConfiguration(obj: JsonAssistConfiguration | undefined): Record<string, any> | undefined;
1282
+ /**
1283
+ * @schema JsonFormatterConfiguration
1284
+ */
1285
+ export interface JsonFormatterConfiguration {
2327
1286
  /**
2328
- * Enforce get methods to always return a value.
1287
+ * Whether to insert spaces around brackets in object literals. Defaults to true.
1288
+ *
1289
+ * @default true.
1290
+ * @schema JsonFormatterConfiguration#bracketSpacing
2329
1291
  */
2330
- useGetterReturn?: IRuleConfiguration;
1292
+ readonly bracketSpacing?: boolean;
2331
1293
  /**
2332
- * Use Array.isArray() instead of instanceof Array.
1294
+ * Control the formatter for JSON (and its super languages) files.
1295
+ *
1296
+ * @schema JsonFormatterConfiguration#enabled
2333
1297
  */
2334
- useIsArray?: IRuleFixConfiguration;
1298
+ readonly enabled?: boolean;
2335
1299
  /**
2336
- * Require using the namespace keyword over the module keyword to declare TypeScript namespaces.
1300
+ * Whether to expand arrays and objects on multiple lines. When set to `auto`, object literals are formatted on multiple lines if the first property has a newline, and array literals are formatted on a single line if it fits in the line. When set to `always`, these literals are formatted on multiple lines, regardless of length of the list. When set to `never`, these literals are formatted on a single line if it fits in the line. When formatting `package.json`, Biome will use `always` unless configured otherwise. Defaults to "auto".
1301
+ *
1302
+ * @default auto".
1303
+ * @schema JsonFormatterConfiguration#expand
2337
1304
  */
2338
- useNamespaceKeyword?: IRuleFixConfiguration;
1305
+ readonly expand?: Expand;
2339
1306
  /**
2340
- * Enforce using the digits argument with Number#toFixed().
1307
+ * The indent style applied to JSON (and its super languages) files.
1308
+ *
1309
+ * @schema JsonFormatterConfiguration#indentStyle
2341
1310
  */
2342
- useNumberToFixedDigitsArgument?: IRuleFixConfiguration;
1311
+ readonly indentStyle?: IndentStyle;
2343
1312
  /**
2344
- * This rule verifies the result of typeof $expr unary expressions is being compared to valid values, either string literals containing valid type names or other typeof expressions
1313
+ * The size of the indentation applied to JSON (and its super languages) files. Default to 2.
1314
+ *
1315
+ * @default 2.
1316
+ * @schema JsonFormatterConfiguration#indentWidth
2345
1317
  */
2346
- useValidTypeof?: IRuleFixConfiguration;
2347
- }
2348
- export interface IRuleWithNoConsoleOptions {
1318
+ readonly indentWidth?: number;
2349
1319
  /**
2350
- * The kind of the code actions emitted by the rule
1320
+ * The type of line ending applied to JSON (and its super languages) files.
1321
+ *
1322
+ * @schema JsonFormatterConfiguration#lineEnding
2351
1323
  */
2352
- fix?: IFixKind;
1324
+ readonly lineEnding?: LineEnding;
2353
1325
  /**
2354
- * The severity of the emitted diagnostics by the rule
1326
+ * What's the max width of a line applied to JSON (and its super languages) files. Defaults to 80.
1327
+ *
1328
+ * @default 80.
1329
+ * @schema JsonFormatterConfiguration#lineWidth
2355
1330
  */
2356
- level: IRulePlainConfiguration;
1331
+ readonly lineWidth?: number;
2357
1332
  /**
2358
- * Rule's options
1333
+ * Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Defaults to "none".
1334
+ *
1335
+ * @default none".
1336
+ * @schema JsonFormatterConfiguration#trailingCommas
2359
1337
  */
2360
- options?: INoConsoleOptions;
1338
+ readonly trailingCommas?: TrailingCommas2;
2361
1339
  }
2362
- export interface INoConsoleOptions {
1340
+ /**
1341
+ * Converts an object of type 'JsonFormatterConfiguration' to JSON representation.
1342
+ * @internal
1343
+ */
1344
+ export declare function toJson_JsonFormatterConfiguration(obj: JsonFormatterConfiguration | undefined): Record<string, any> | undefined;
1345
+ /**
1346
+ * Linter options specific to the JSON linter
1347
+ *
1348
+ * @schema JsonLinterConfiguration
1349
+ */
1350
+ export interface JsonLinterConfiguration {
2363
1351
  /**
2364
- * Allowed calls on the console object.
1352
+ * Control the linter for JSON (and its super languages) files.
1353
+ *
1354
+ * @schema JsonLinterConfiguration#enabled
2365
1355
  */
2366
- allow: string[];
1356
+ readonly enabled?: boolean;
2367
1357
  }
2368
- export interface IRuleWithNoDoubleEqualsOptions {
2369
- /**
2370
- * The kind of the code actions emitted by the rule
2371
- */
2372
- fix?: IFixKind;
1358
+ /**
1359
+ * Converts an object of type 'JsonLinterConfiguration' to JSON representation.
1360
+ * @internal
1361
+ */
1362
+ export declare function toJson_JsonLinterConfiguration(obj: JsonLinterConfiguration | undefined): Record<string, any> | undefined;
1363
+ /**
1364
+ * Options that changes how the JSON parser behaves
1365
+ *
1366
+ * @schema JsonParserConfiguration
1367
+ */
1368
+ export interface JsonParserConfiguration {
2373
1369
  /**
2374
- * The severity of the emitted diagnostics by the rule
1370
+ * Allow parsing comments in `.json` files
1371
+ *
1372
+ * @schema JsonParserConfiguration#allowComments
2375
1373
  */
2376
- level: IRulePlainConfiguration;
1374
+ readonly allowComments?: boolean;
2377
1375
  /**
2378
- * Rule's options
1376
+ * Allow parsing trailing commas in `.json` files
1377
+ *
1378
+ * @schema JsonParserConfiguration#allowTrailingCommas
2379
1379
  */
2380
- options?: INoDoubleEqualsOptions;
1380
+ readonly allowTrailingCommas?: boolean;
2381
1381
  }
2382
1382
  /**
2383
- * Rule's options
1383
+ * Converts an object of type 'JsonParserConfiguration' to JSON representation.
1384
+ * @internal
2384
1385
  */
2385
- export interface INoDoubleEqualsOptions {
2386
- /**
2387
- * If `true`, an exception is made when comparing with `null`, as it's often relied on to check both for `null` or `undefined`.
2388
- *
2389
- * If `false`, no such exception will be made.
2390
- */
2391
- ignoreNull?: boolean;
1386
+ export declare function toJson_JsonParserConfiguration(obj: JsonParserConfiguration | undefined): Record<string, any> | undefined;
1387
+ /**
1388
+ * @schema RuleDomainValue
1389
+ */
1390
+ export declare enum RuleDomainValue {
1391
+ /** all */
1392
+ ALL = "all",
1393
+ /** none */
1394
+ NONE = "none",
1395
+ /** recommended */
1396
+ RECOMMENDED = "recommended"
2392
1397
  }
2393
- export interface IOrganizeImports {
1398
+ /**
1399
+ * @schema Rules
1400
+ */
1401
+ export interface Rules {
2394
1402
  /**
2395
- * Enables the organization of imports
1403
+ * @schema Rules#a11y
2396
1404
  */
2397
- enabled?: boolean;
1405
+ readonly a11Y?: any;
2398
1406
  /**
2399
- * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
1407
+ * @schema Rules#complexity
2400
1408
  */
2401
- ignore?: IStringSet;
1409
+ readonly complexity?: any;
2402
1410
  /**
2403
- * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
1411
+ * @schema Rules#correctness
2404
1412
  */
2405
- include?: IStringSet;
2406
- }
2407
- export interface IOverridePattern {
1413
+ readonly correctness?: any;
2408
1414
  /**
2409
- * Specific configuration for the Css language
1415
+ * @schema Rules#nursery
2410
1416
  */
2411
- css?: ICssConfiguration;
1417
+ readonly nursery?: any;
2412
1418
  /**
2413
- * Specific configuration for the Json language
1419
+ * @schema Rules#performance
2414
1420
  */
2415
- formatter?: IOverrideFormatterConfiguration;
1421
+ readonly performance?: any;
2416
1422
  /**
2417
- * Specific configuration for the Graphql language
1423
+ * It enables the lint rules recommended by Biome. `true` by default.
1424
+ *
1425
+ * @schema Rules#recommended
2418
1426
  */
2419
- graphql?: IGraphqlConfiguration;
1427
+ readonly recommended?: boolean;
2420
1428
  /**
2421
- * A list of Unix shell style patterns. The formatter will ignore files/folders that will match these patterns.
1429
+ * @schema Rules#security
2422
1430
  */
2423
- ignore?: IStringSet;
1431
+ readonly security?: any;
2424
1432
  /**
2425
- * A list of Unix shell style patterns. The formatter will include files/folders that will match these patterns.
1433
+ * @schema Rules#style
2426
1434
  */
2427
- include?: IStringSet;
1435
+ readonly style?: any;
2428
1436
  /**
2429
- * Specific configuration for the JavaScript language
1437
+ * @schema Rules#suspicious
2430
1438
  */
2431
- javascript?: IJavascriptConfiguration;
1439
+ readonly suspicious?: any;
1440
+ }
1441
+ /**
1442
+ * Converts an object of type 'Rules' to JSON representation.
1443
+ * @internal
1444
+ */
1445
+ export declare function toJson_Rules(obj: Rules | undefined): Record<string, any> | undefined;
1446
+ /**
1447
+ * @schema OverrideAssistConfiguration
1448
+ */
1449
+ export interface OverrideAssistConfiguration {
2432
1450
  /**
2433
- * Specific configuration for the Json language
1451
+ * List of actions
1452
+ *
1453
+ * @schema OverrideAssistConfiguration#actions
2434
1454
  */
2435
- json?: IJsonConfiguration;
1455
+ readonly actions?: Actions;
2436
1456
  /**
2437
- * Specific configuration for the Json language
1457
+ * if `false`, it disables the feature and the assist won't be executed. `true` by default
1458
+ *
1459
+ * @schema OverrideAssistConfiguration#enabled
2438
1460
  */
2439
- linter?: IOverrideLinterConfiguration;
1461
+ readonly enabled?: boolean;
1462
+ }
1463
+ /**
1464
+ * Converts an object of type 'OverrideAssistConfiguration' to JSON representation.
1465
+ * @internal
1466
+ */
1467
+ export declare function toJson_OverrideAssistConfiguration(obj: OverrideAssistConfiguration | undefined): Record<string, any> | undefined;
1468
+ /**
1469
+ * @schema OverrideFilesConfiguration
1470
+ */
1471
+ export interface OverrideFilesConfiguration {
2440
1472
  /**
2441
- * Specific configuration for the Json language
1473
+ * File size limit in bytes
1474
+ *
1475
+ * @schema OverrideFilesConfiguration#maxSize
2442
1476
  */
2443
- organizeImports?: IOverrideOrganizeImportsConfiguration;
1477
+ readonly maxSize?: number;
2444
1478
  }
2445
- export interface IOverrideFormatterConfiguration {
1479
+ /**
1480
+ * Converts an object of type 'OverrideFilesConfiguration' to JSON representation.
1481
+ * @internal
1482
+ */
1483
+ export declare function toJson_OverrideFilesConfiguration(obj: OverrideFilesConfiguration | undefined): Record<string, any> | undefined;
1484
+ /**
1485
+ * @schema OverrideFormatterConfiguration
1486
+ */
1487
+ export interface OverrideFormatterConfiguration {
2446
1488
  /**
2447
1489
  * The attribute position style.
1490
+ *
1491
+ * @schema OverrideFormatterConfiguration#attributePosition
2448
1492
  */
2449
- attributePosition?: IAttributePosition;
1493
+ readonly attributePosition?: AttributePosition;
1494
+ /**
1495
+ * Put the `>` of a multi-line HTML or JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements).
1496
+ *
1497
+ * @schema OverrideFormatterConfiguration#bracketSameLine
1498
+ */
1499
+ readonly bracketSameLine?: boolean;
2450
1500
  /**
2451
1501
  * Whether to insert spaces around brackets in object literals. Defaults to true.
1502
+ *
1503
+ * @default true.
1504
+ * @schema OverrideFormatterConfiguration#bracketSpacing
2452
1505
  */
2453
- bracketSpacing?: IBracketSpacing;
2454
- enabled?: boolean;
1506
+ readonly bracketSpacing?: boolean;
1507
+ /**
1508
+ * @schema OverrideFormatterConfiguration#enabled
1509
+ */
1510
+ readonly enabled?: boolean;
1511
+ /**
1512
+ * Whether to expand arrays and objects on multiple lines. When set to `auto`, object literals are formatted on multiple lines if the first property has a newline, and array literals are formatted on a single line if it fits in the line. When set to `always`, these literals are formatted on multiple lines, regardless of length of the list. When set to `never`, these literals are formatted on a single line if it fits in the line. When formatting `package.json`, Biome will use `always` unless configured otherwise. Defaults to "auto".
1513
+ *
1514
+ * @default auto".
1515
+ * @schema OverrideFormatterConfiguration#expand
1516
+ */
1517
+ readonly expand?: Expand;
2455
1518
  /**
2456
1519
  * Stores whether formatting should be allowed to proceed if a given file has syntax errors
1520
+ *
1521
+ * @schema OverrideFormatterConfiguration#formatWithErrors
2457
1522
  */
2458
- formatWithErrors?: boolean;
1523
+ readonly formatWithErrors?: boolean;
2459
1524
  /**
2460
1525
  * The size of the indentation, 2 by default (deprecated, use `indent-width`)
1526
+ *
1527
+ * @schema OverrideFormatterConfiguration#indentSize
2461
1528
  */
2462
- indentSize?: IIndentWidth;
1529
+ readonly indentSize?: number;
2463
1530
  /**
2464
1531
  * The indent style.
1532
+ *
1533
+ * @schema OverrideFormatterConfiguration#indentStyle
2465
1534
  */
2466
- indentStyle?: IIndentStyle;
1535
+ readonly indentStyle?: IndentStyle;
2467
1536
  /**
2468
1537
  * The size of the indentation, 2 by default
1538
+ *
1539
+ * @schema OverrideFormatterConfiguration#indentWidth
2469
1540
  */
2470
- indentWidth?: IIndentWidth;
1541
+ readonly indentWidth?: number;
2471
1542
  /**
2472
1543
  * The type of line ending.
1544
+ *
1545
+ * @schema OverrideFormatterConfiguration#lineEnding
2473
1546
  */
2474
- lineEnding?: ILineEnding;
1547
+ readonly lineEnding?: LineEnding;
2475
1548
  /**
2476
1549
  * What's the max width of a line. Defaults to 80.
1550
+ *
1551
+ * @default 80.
1552
+ * @schema OverrideFormatterConfiguration#lineWidth
2477
1553
  */
2478
- lineWidth?: ILineWidth;
1554
+ readonly lineWidth?: number;
2479
1555
  }
2480
- export interface IOverrideLinterConfiguration {
1556
+ /**
1557
+ * Converts an object of type 'OverrideFormatterConfiguration' to JSON representation.
1558
+ * @internal
1559
+ */
1560
+ export declare function toJson_OverrideFormatterConfiguration(obj: OverrideFormatterConfiguration | undefined): Record<string, any> | undefined;
1561
+ /**
1562
+ * @schema OverrideLinterConfiguration
1563
+ */
1564
+ export interface OverrideLinterConfiguration {
1565
+ /**
1566
+ * List of rules
1567
+ *
1568
+ * @schema OverrideLinterConfiguration#domains
1569
+ */
1570
+ readonly domains?: {
1571
+ [key: string]: RuleDomainValue;
1572
+ };
2481
1573
  /**
2482
1574
  * if `false`, it disables the feature and the linter won't be executed. `true` by default
1575
+ *
1576
+ * @schema OverrideLinterConfiguration#enabled
2483
1577
  */
2484
- enabled?: boolean;
1578
+ readonly enabled?: boolean;
2485
1579
  /**
2486
1580
  * List of rules
1581
+ *
1582
+ * @schema OverrideLinterConfiguration#rules
2487
1583
  */
2488
- rules?: IRules;
1584
+ readonly rules?: Rules;
2489
1585
  }
2490
- export interface IOverrideOrganizeImportsConfiguration {
2491
- /**
2492
- * if `false`, it disables the feature and the linter won't be executed. `true` by default
2493
- */
2494
- enabled?: boolean;
1586
+ /**
1587
+ * Converts an object of type 'OverrideLinterConfiguration' to JSON representation.
1588
+ * @internal
1589
+ */
1590
+ export declare function toJson_OverrideLinterConfiguration(obj: OverrideLinterConfiguration | undefined): Record<string, any> | undefined;
1591
+ /**
1592
+ * Integration with the git client as VCS
1593
+ *
1594
+ * @schema VcsClientKind
1595
+ */
1596
+ export declare enum VcsClientKind {
1597
+ /** git */
1598
+ GIT = "git"
2495
1599
  }
2496
1600
  /**
2497
- * Set of properties to integrate Biome with a VCS software.
1601
+ * A list of rules that belong to this group
1602
+ *
1603
+ * @schema Source
2498
1604
  */
2499
- export interface IVcsConfiguration {
1605
+ export interface Source {
2500
1606
  /**
2501
- * The kind of client.
1607
+ * Provides a code action to sort the imports and exports in the file using a built-in or custom order.
1608
+ *
1609
+ * @schema Source#organizeImports
2502
1610
  */
2503
- clientKind?: IVcsClientKind;
1611
+ readonly organizeImports?: any;
2504
1612
  /**
2505
- * The main branch of the project
1613
+ * It enables the recommended rules for this group
1614
+ *
1615
+ * @schema Source#recommended
2506
1616
  */
2507
- defaultBranch?: string;
1617
+ readonly recommended?: boolean;
2508
1618
  /**
2509
- * Whether Biome should integrate itself with the VCS client
1619
+ * Enforce attribute sorting in JSX elements.
1620
+ *
1621
+ * @schema Source#useSortedAttributes
2510
1622
  */
2511
- enabled?: boolean;
1623
+ readonly useSortedAttributes?: any;
2512
1624
  /**
2513
- * The folder where Biome should check for VCS files. By default, Biome will use the same folder where `biome.json` was found.
1625
+ * Sorts the keys of a JSON object in natural order
2514
1626
  *
2515
- * If Biome can't find the configuration, it will attempt to use the current working directory. If no current working directory can't be found, Biome won't use the VCS integration, and a diagnostic will be emitted
1627
+ * @schema Source#useSortedKeys
2516
1628
  */
2517
- root?: string;
1629
+ readonly useSortedKeys?: any;
2518
1630
  /**
2519
- * Whether Biome should use the VCS ignore file. When [true], Biome will ignore the files specified in the ignore file.
1631
+ * Enforce ordering of CSS properties and nested rules.
1632
+ *
1633
+ * @schema Source#useSortedProperties
2520
1634
  */
2521
- useIgnoreFile?: boolean;
1635
+ readonly useSortedProperties?: any;
1636
+ }
1637
+ /**
1638
+ * Converts an object of type 'Source' to JSON representation.
1639
+ * @internal
1640
+ */
1641
+ export declare function toJson_Source(obj: Source | undefined): Record<string, any> | undefined;
1642
+ /**
1643
+ * @schema QuoteStyle
1644
+ */
1645
+ export declare enum QuoteStyle {
1646
+ /** double */
1647
+ DOUBLE = "double",
1648
+ /** single */
1649
+ SINGLE = "single"
1650
+ }
1651
+ /**
1652
+ * Controls whether void-elements should be self closed
1653
+ *
1654
+ * @schema SelfCloseVoidElements
1655
+ */
1656
+ export declare enum SelfCloseVoidElements {
1657
+ /** never */
1658
+ NEVER = "never",
1659
+ /** always */
1660
+ ALWAYS = "always"
1661
+ }
1662
+ /**
1663
+ * Whitespace sensitivity for HTML formatting.
1664
+ *
1665
+ * The following two cases won't produce the same output:
1666
+ *
1667
+ * | | html | output | | -------------- | :------------: | :----------: | | with spaces | `1<b> 2 </b>3` | 1<b> 2 </b>3 | | without spaces | `1<b>2</b>3` | 1<b>2</b>3 |
1668
+ *
1669
+ * This happens because whitespace is significant in inline elements.
1670
+ *
1671
+ * As a consequence of this, the formatter must format blocks that look like this (assume a small line width, <20): ```html <span>really long content</span> ``` as this, where the content hugs the tags: ```html <span >really long content</span > ```
1672
+ *
1673
+ * Note that this is only necessary for inline elements. Block elements do not have this restriction.
1674
+ *
1675
+ * @schema WhitespaceSensitivity
1676
+ */
1677
+ export declare enum WhitespaceSensitivity {
1678
+ /** css */
1679
+ CSS = "css",
1680
+ /** strict */
1681
+ STRICT = "strict",
1682
+ /** ignore */
1683
+ IGNORE = "ignore"
1684
+ }
1685
+ /**
1686
+ * @schema ArrowParentheses
1687
+ */
1688
+ export declare enum ArrowParentheses {
1689
+ /** always */
1690
+ ALWAYS = "always",
1691
+ /** asNeeded */
1692
+ AS_NEEDED = "asNeeded"
1693
+ }
1694
+ /**
1695
+ * @schema QuoteProperties
1696
+ */
1697
+ export declare enum QuoteProperties {
1698
+ /** asNeeded */
1699
+ AS_NEEDED = "asNeeded",
1700
+ /** preserve */
1701
+ PRESERVE = "preserve"
1702
+ }
1703
+ /**
1704
+ * @schema Semicolons
1705
+ */
1706
+ export declare enum Semicolons {
1707
+ /** always */
1708
+ ALWAYS = "always",
1709
+ /** asNeeded */
1710
+ AS_NEEDED = "asNeeded"
1711
+ }
1712
+ /**
1713
+ * Print trailing commas wherever possible in multi-line comma-separated syntactic structures.
1714
+ *
1715
+ * @schema TrailingCommas
1716
+ */
1717
+ export declare enum TrailingCommas {
1718
+ /** all */
1719
+ ALL = "all",
1720
+ /** es5 */
1721
+ ES5 = "es5",
1722
+ /** none */
1723
+ NONE = "none"
1724
+ }
1725
+ /**
1726
+ * @schema TrailingCommas2
1727
+ */
1728
+ export declare enum TrailingCommas2 {
1729
+ /** none */
1730
+ NONE = "none",
1731
+ /** all */
1732
+ ALL = "all"
2522
1733
  }