@adamhl8/configs 0.14.6 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -4
- package/dist/biome.base.json +437 -0
- package/dist/index.d.ts +1220 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/biome.base.jsonc +0 -184
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/knip.ts","../src/prettier.ts","../src/tsdown.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/knip.ts","../src/prettier.ts","../src/tsdown.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isPlainObject } from "remeda";
|
|
1
2
|
function isUnsafeProperty(key) {
|
|
2
3
|
return key === "__proto__";
|
|
3
4
|
}
|
|
@@ -24,7 +25,9 @@ function merge(target, source) {
|
|
|
24
25
|
}
|
|
25
26
|
function createMergeConfigFn(baseConfig$3) {
|
|
26
27
|
function mergeConfig(userConfig) {
|
|
27
|
-
|
|
28
|
+
if (userConfig === void 0) return baseConfig$3;
|
|
29
|
+
if (!(isPlainObject(baseConfig$3) && isPlainObject(userConfig))) throw new Error(`target and/or source is not an object: target='${baseConfig$3}'\nsource='${userConfig}'`);
|
|
30
|
+
return merge(baseConfig$3, userConfig);
|
|
28
31
|
}
|
|
29
32
|
return mergeConfig;
|
|
30
33
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["merge","baseConfig","baseConfig","baseConfig"],"sources":["../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs","../node_modules/es-toolkit/dist/object/mergeWith.mjs","../src/utils.ts","../src/knip.ts","../src/prettier.ts","../src/tsdown.ts"],"sourcesContent":["function isUnsafeProperty(key) {\n return key === '__proto__';\n}\n\nexport { isUnsafeProperty };\n","function isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport { isObjectLike };\n","import { isUnsafeProperty } from '../_internal/isUnsafeProperty.mjs';\nimport { isObjectLike } from '../compat/predicate/isObjectLike.mjs';\n\nfunction mergeWith(target, source, merge) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n if (isUnsafeProperty(key)) {\n continue;\n }\n const sourceValue = source[key];\n const targetValue = target[key];\n const merged = merge(targetValue, sourceValue, key, target, source);\n if (merged !== undefined) {\n target[key] = merged;\n }\n else if (Array.isArray(sourceValue)) {\n target[key] = mergeWith(targetValue ?? [], sourceValue, merge);\n }\n else if (isObjectLike(targetValue) && isObjectLike(sourceValue)) {\n target[key] = mergeWith(targetValue ?? {}, sourceValue, merge);\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { mergeWith };\n","import { mergeWith } from \"es-toolkit\"\n\ntype AnyObj = Record<PropertyKey, unknown>\n\n/**\n * A wrapper around es-toolkit's `mergeWith` with a custom merge function that concatenates arrays.\n */\nexport function merge<T extends AnyObj, S extends AnyObj>(target: T, source: S) {\n return mergeWith(target, source, (objValue: unknown, srcValue: unknown) =>\n Array.isArray(objValue) ? objValue.concat(srcValue) : undefined,\n )\n}\n\n/**\n * Creates a config merge function with proper type overloads for merging with a base config.\n */\nexport function createMergeConfigFn<
|
|
1
|
+
{"version":3,"file":"index.js","names":["merge","baseConfig","baseConfig","baseConfig"],"sources":["../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs","../node_modules/es-toolkit/dist/object/mergeWith.mjs","../src/utils.ts","../src/knip.ts","../src/prettier.ts","../src/tsdown.ts"],"sourcesContent":["function isUnsafeProperty(key) {\n return key === '__proto__';\n}\n\nexport { isUnsafeProperty };\n","function isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport { isObjectLike };\n","import { isUnsafeProperty } from '../_internal/isUnsafeProperty.mjs';\nimport { isObjectLike } from '../compat/predicate/isObjectLike.mjs';\n\nfunction mergeWith(target, source, merge) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n if (isUnsafeProperty(key)) {\n continue;\n }\n const sourceValue = source[key];\n const targetValue = target[key];\n const merged = merge(targetValue, sourceValue, key, target, source);\n if (merged !== undefined) {\n target[key] = merged;\n }\n else if (Array.isArray(sourceValue)) {\n target[key] = mergeWith(targetValue ?? [], sourceValue, merge);\n }\n else if (isObjectLike(targetValue) && isObjectLike(sourceValue)) {\n target[key] = mergeWith(targetValue ?? {}, sourceValue, merge);\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { mergeWith };\n","import { mergeWith } from \"es-toolkit\"\nimport { isPlainObject } from \"remeda\"\nimport type { MergeDeep } from \"type-fest\"\n\ntype AnyObj = Record<PropertyKey, unknown>\n\n/**\n * A wrapper around es-toolkit's `mergeWith` with a custom merge function that concatenates arrays.\n */\nexport function merge<T extends AnyObj, S extends AnyObj>(target: T, source: S): T & S {\n return mergeWith(target, source, (objValue: unknown, srcValue: unknown) =>\n Array.isArray(objValue) ? objValue.concat(srcValue) : undefined,\n )\n}\n\n/**\n * Creates a config merge function with proper type overloads for merging with a base config.\n */\nexport function createMergeConfigFn<UserConfigType, BaseConfig extends UserConfigType>(baseConfig: BaseConfig) {\n //\n\n // if `userConfig` is not provided, return the type of `baseConfig`\n function mergeConfig(): BaseConfig\n\n // if `userConfig` is provided, instead of returning `BaseConfig & UserConfig` (from `merge`), return a more friendly type using `MergeDeep`\n function mergeConfig<UserConfig extends UserConfigType>(\n userConfig: UserConfig,\n ): MergeDeep<BaseConfig, UserConfig, { arrayMergeMode: \"spread\" }>\n\n function mergeConfig<UserConfig extends UserConfigType>(userConfig?: UserConfig) {\n if (userConfig === undefined) return baseConfig\n\n if (!(isPlainObject(baseConfig) && isPlainObject(userConfig)))\n throw new Error(`target and/or source is not an object: target='${baseConfig}'\\nsource='${userConfig}'`)\n\n return merge(baseConfig, userConfig)\n }\n\n return mergeConfig\n}\n","import type { KnipConfig } from \"knip\"\n\n// biome-ignore lint/plugin: ignore\nimport { createMergeConfigFn } from \"./utils.ts\"\n\n// Normally, specifying the `./src/index.ts` entry would cause knip to complain about a redundant entry because it gets automatically included via the tsdown plugin.\n// However, in projects that _don't_ use tsdown, the `./src/index.ts` entry would be missing entirely.\n// To handle this, we specify it and disable the tsdown plugin. This makes knip work in both cases.\n\nconst baseConfig = {\n entry: [\"./src/index.ts\", \"**/*.test.ts\", \"./tsdown.config.ts\"],\n project: [\"**\"],\n tsdown: false,\n} satisfies KnipConfig\n\nexport const knipConfig = createMergeConfigFn<KnipConfig, typeof baseConfig>(baseConfig)\n","import type { Config } from \"prettier\"\n\n// biome-ignore lint/plugin: ignore\nimport { createMergeConfigFn } from \"./utils.ts\"\n\nconst baseConfig = {\n printWidth: 120,\n semi: false,\n plugins: [\n \"@prettier/plugin-xml\",\n \"prettier-plugin-sh\",\n \"prettier-plugin-toml\",\n \"prettier-plugin-astro\",\n \"prettier-plugin-tailwindcss\",\n ],\n tailwindStylesheet: \"./src/global.css\",\n overrides: [\n {\n // https://github.com/prettier/prettier/issues/15956\n files: \"*.jsonc\",\n options: {\n trailingComma: \"none\",\n },\n },\n {\n files: \"*.astro\",\n options: {\n parser: \"astro\",\n },\n },\n ],\n} as const satisfies Config\n\nexport const prettierConfig = createMergeConfigFn<Config, typeof baseConfig>(baseConfig)\n","import type { UserConfig } from \"tsdown\"\n\n// biome-ignore lint/plugin: ignore\nimport { createMergeConfigFn } from \"./utils.ts\"\n\nconst baseConfig = {\n entry: [\"./src/index.ts\"],\n unbundle: true,\n target: false,\n platform: \"neutral\",\n minify: \"dce-only\",\n sourcemap: true,\n dts: {\n newContext: true,\n sourcemap: true,\n },\n attw: {\n level: \"error\",\n profile: \"esmOnly\",\n },\n publint: true,\n failOnWarn: true,\n} as const satisfies UserConfig\n\nexport const tsdownConfig = createMergeConfigFn<UserConfig, typeof baseConfig>(baseConfig)\n"],"x_google_ignoreList":[0,1,2],"mappings":";AAAA,SAAS,iBAAiB,KAAK;AAC3B,QAAO,QAAQ;;ACDnB,SAAS,aAAa,OAAO;AACzB,QAAO,OAAO,UAAU,YAAY,UAAU;;ACElD,SAAS,UAAU,QAAQ,QAAQ,SAAO;CACtC,MAAM,aAAa,OAAO,KAAK,OAAO;AACtC,MAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;EACxC,MAAM,MAAM,WAAW;AACvB,MAAI,iBAAiB,IAAI,CACrB;EAEJ,MAAM,cAAc,OAAO;EAC3B,MAAM,cAAc,OAAO;EAC3B,MAAM,SAASA,QAAM,aAAa,aAAa,KAAK,QAAQ,OAAO;AACnE,MAAI,WAAW,KAAA,EACX,QAAO,OAAO;WAET,MAAM,QAAQ,YAAY,CAC/B,QAAO,OAAO,UAAU,eAAe,EAAE,EAAE,aAAaA,QAAM;WAEzD,aAAa,YAAY,IAAI,aAAa,YAAY,CAC3D,QAAO,OAAO,UAAU,eAAe,EAAE,EAAE,aAAaA,QAAM;WAEzD,gBAAgB,KAAA,KAAa,gBAAgB,KAAA,EAClD,QAAO,OAAO;;AAGtB,QAAO;;ACjBX,SAAgB,MAA0C,QAAW,QAAkB;AACrF,QAAO,UAAU,QAAQ,SAAS,UAAmB,aACnD,MAAM,QAAQ,SAAS,GAAG,SAAS,OAAO,SAAS,GAAG,KAAA,EACvD;;AAMH,SAAgB,oBAAuE,cAAwB;CAW7G,SAAS,YAA+C,YAAyB;AAC/E,MAAI,eAAe,KAAA,EAAW,QAAOG;AAErC,MAAI,EAAE,cAAcA,aAAW,IAAI,cAAc,WAAW,EAC1D,OAAM,IAAI,MAAM,kDAAkDA,aAAW,aAAa,WAAW,GAAG;AAE1G,SAAO,MAAMA,cAAY,WAAW;;AAGtC,QAAO;;ACvBT,MAAa,aAAa,oBANP;CACjB,OAAO;EAAC;EAAkB;EAAgB;EAAqB;CAC/D,SAAS,CAAC,KAAK;CACf,QAAQ;CACT,CAEuF;ACkBxF,MAAa,iBAAiB,oBA5BX;CACjB,YAAY;CACZ,MAAM;CACN,SAAS;EACP;EACA;EACA;EACA;EACA;EACD;CACD,oBAAoB;CACpB,WAAW,CACT;EAEE,OAAO;EACP,SAAS,EACP,eAAe,QAChB;EACF,EACD;EACE,OAAO;EACP,SAAS,EACP,QAAQ,SACT;EACF,CACF;CACF,CAEuF;ACTxF,MAAa,eAAe,oBAnBT;CACjB,OAAO,CAAC,iBAAiB;CACzB,UAAU;CACV,QAAQ;CACR,UAAU;CACV,QAAQ;CACR,WAAW;CACX,KAAK;EACH,YAAY;EACZ,WAAW;EACZ;CACD,MAAM;EACJ,OAAO;EACP,SAAS;EACV;CACD,SAAS;CACT,YAAY;CACb,CAEyF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adamhl8/configs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"exports": {
|
|
20
20
|
"./tsconfig": "./dist/tsconfig.json",
|
|
21
|
-
"./biome": "./dist/biome.base.
|
|
21
|
+
"./biome": "./dist/biome.base.json",
|
|
22
22
|
".": {
|
|
23
23
|
"types": "./dist/index.d.ts",
|
|
24
24
|
"import": "./dist/index.js"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"files": ["dist/"],
|
|
28
28
|
"scripts": {
|
|
29
29
|
"bundle": "bun lint && bun tsdown",
|
|
30
|
-
"lint": "tsc --noEmit && biome check --write",
|
|
30
|
+
"lint": "bun generate-biome-rules.ts && tsc --noEmit && biome check --write",
|
|
31
31
|
"postinstall": "mkdir -p ./node_modules/@adamhl8/configs/dist/ && cp -r ./src/biome-plugins/ ./node_modules/@adamhl8/configs/dist/",
|
|
32
32
|
"prepare": "find .githooks -type f -exec ln -srf {} .git/hooks/ \\; || true",
|
|
33
33
|
"prepublishOnly": "bun bundle"
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"prettier-plugin-astro": "^0.14.1",
|
|
38
38
|
"prettier-plugin-sh": "^0.18.0",
|
|
39
39
|
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
40
|
-
"prettier-plugin-toml": "^2.0.6"
|
|
40
|
+
"prettier-plugin-toml": "^2.0.6",
|
|
41
|
+
"remeda": "^2.31.1"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@arethetypeswrong/core": "^0.18.2",
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"knip": "^5.63.1",
|
|
48
49
|
"prettier": "^3.6.2",
|
|
49
50
|
"publint": "^0.3.12",
|
|
50
|
-
"tsdown": "^0.15.
|
|
51
|
+
"tsdown": "^0.15.1",
|
|
51
52
|
"type-fest": "^4.41.0",
|
|
52
53
|
"typescript": "^5.9.2"
|
|
53
54
|
},
|
package/dist/biome.base.jsonc
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
|
|
3
|
-
"root": false,
|
|
4
|
-
// https://github.com/biomejs/biome/issues/6676
|
|
5
|
-
// Extending this config from the root config of this project causes an error because the plugin files do not exist in 'node_modules'. i.e. the whole 'node_modules/@adamhl8/configs' directory does not exist
|
|
6
|
-
// As a workaround, we use the prepare script to manually copy the './src/biome-plugins/' directory to the correct location in 'node_modules'.
|
|
7
|
-
"plugins": ["./node_modules/@adamhl8/configs/dist/biome-plugins/import-paths.grit"],
|
|
8
|
-
"vcs": {
|
|
9
|
-
"enabled": true,
|
|
10
|
-
"clientKind": "git",
|
|
11
|
-
"useIgnoreFile": true
|
|
12
|
-
},
|
|
13
|
-
"formatter": {
|
|
14
|
-
"indentStyle": "space",
|
|
15
|
-
"lineWidth": 120
|
|
16
|
-
},
|
|
17
|
-
"linter": {
|
|
18
|
-
"rules": {
|
|
19
|
-
"complexity": {
|
|
20
|
-
"useLiteralKeys": "off",
|
|
21
|
-
"noExcessiveCognitiveComplexity": "on",
|
|
22
|
-
"noExcessiveNestedTestSuites": "on",
|
|
23
|
-
"noForEach": "on",
|
|
24
|
-
"noUselessStringConcat": "on",
|
|
25
|
-
"useSimplifiedLogicExpression": "on",
|
|
26
|
-
"useWhile": "on",
|
|
27
|
-
"noImplicitCoercions": "on",
|
|
28
|
-
"useIndexOf": "on"
|
|
29
|
-
},
|
|
30
|
-
"correctness": {
|
|
31
|
-
"noRenderReturnValue": "on",
|
|
32
|
-
"useExhaustiveDependencies": "on",
|
|
33
|
-
"useHookAtTopLevel": "on",
|
|
34
|
-
"useImportExtensions": "on",
|
|
35
|
-
"useJsxKeyInIterable": "on",
|
|
36
|
-
"noGlobalDirnameFilename": "on",
|
|
37
|
-
"noNestedComponentDefinitions": "on",
|
|
38
|
-
"noProcessGlobal": "on",
|
|
39
|
-
"noReactPropAssignments": "on",
|
|
40
|
-
"useJsonImportAttributes": "on",
|
|
41
|
-
"useParseIntRadix": "on",
|
|
42
|
-
"useSingleJsDocAsterisk": "on",
|
|
43
|
-
"useUniqueElementIds": "on"
|
|
44
|
-
},
|
|
45
|
-
"nursery": {
|
|
46
|
-
"noFloatingPromises": "on",
|
|
47
|
-
"noImportCycles": "on",
|
|
48
|
-
"noMisusedPromises": "on",
|
|
49
|
-
"noShadow": "on",
|
|
50
|
-
"noUselessUndefined": "on",
|
|
51
|
-
"useExhaustiveSwitchCases": "on",
|
|
52
|
-
"useSortedClasses": "on"
|
|
53
|
-
},
|
|
54
|
-
"performance": {
|
|
55
|
-
"noDelete": "on",
|
|
56
|
-
"noReExportAll": "on",
|
|
57
|
-
"useTopLevelRegex": "on",
|
|
58
|
-
"useGoogleFontPreconnect": "on",
|
|
59
|
-
"noAwaitInLoops": "on"
|
|
60
|
-
},
|
|
61
|
-
"style": {
|
|
62
|
-
"useImportType": {
|
|
63
|
-
"level": "on",
|
|
64
|
-
"options": {
|
|
65
|
-
"style": "separatedType"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
"noCommonJs": "on",
|
|
69
|
-
"noDefaultExport": "on",
|
|
70
|
-
"noDoneCallback": "on",
|
|
71
|
-
"noExportedImports": "on",
|
|
72
|
-
"noImplicitBoolean": "on",
|
|
73
|
-
"noInferrableTypes": "on",
|
|
74
|
-
"noNegationElse": "on",
|
|
75
|
-
"noNestedTernary": "on",
|
|
76
|
-
"noParameterAssign": "on",
|
|
77
|
-
"noParameterProperties": "on",
|
|
78
|
-
"noShoutyConstants": "on",
|
|
79
|
-
"noSubstr": "on",
|
|
80
|
-
"noUnusedTemplateLiteral": "on",
|
|
81
|
-
"noUselessElse": "on",
|
|
82
|
-
"noYodaExpression": "on",
|
|
83
|
-
"useAsConstAssertion": "on",
|
|
84
|
-
"useAtIndex": "on",
|
|
85
|
-
"useCollapsedElseIf": "on",
|
|
86
|
-
"useCollapsedIf": "on",
|
|
87
|
-
"useComponentExportOnlyModules": "on",
|
|
88
|
-
"useConsistentArrayType": "on",
|
|
89
|
-
"useConsistentBuiltinInstantiation": "on",
|
|
90
|
-
"useConsistentCurlyBraces": "on",
|
|
91
|
-
"useConsistentMemberAccessibility": {
|
|
92
|
-
"level": "on",
|
|
93
|
-
"options": {
|
|
94
|
-
"accessibility": "explicit"
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
"useDefaultParameterLast": "on",
|
|
98
|
-
"useDefaultSwitchClause": "on",
|
|
99
|
-
"useExplicitLengthCheck": "on",
|
|
100
|
-
"useForOf": "on",
|
|
101
|
-
"useFragmentSyntax": "on",
|
|
102
|
-
"useNodeAssertStrict": "on",
|
|
103
|
-
"useNodejsImportProtocol": "on",
|
|
104
|
-
"useNumberNamespace": "on",
|
|
105
|
-
"useSelfClosingElements": "on",
|
|
106
|
-
"useShorthandAssign": "on",
|
|
107
|
-
"useSingleVarDeclarator": "on",
|
|
108
|
-
"useThrowNewError": "on",
|
|
109
|
-
"useThrowOnlyError": "on",
|
|
110
|
-
"useTrimStartEnd": "on",
|
|
111
|
-
"useGroupedAccessorPairs": "on",
|
|
112
|
-
"useConsistentObjectDefinitions": "on",
|
|
113
|
-
"useNumericSeparators": "on",
|
|
114
|
-
"useObjectSpread": "on",
|
|
115
|
-
"useReadonlyClassProperties": "on",
|
|
116
|
-
"useSymbolDescription": "on",
|
|
117
|
-
"useUnifiedTypeSignatures": "on"
|
|
118
|
-
},
|
|
119
|
-
"suspicious": {
|
|
120
|
-
"noDuplicateTestHooks": "on",
|
|
121
|
-
"noEmptyBlockStatements": "on",
|
|
122
|
-
"noEvolvingTypes": "on",
|
|
123
|
-
"noExportsInTest": "on",
|
|
124
|
-
"noMisplacedAssertion": "on",
|
|
125
|
-
"noVar": "on",
|
|
126
|
-
"useAwait": "on",
|
|
127
|
-
"useErrorMessage": "on",
|
|
128
|
-
"useGuardForIn": "on",
|
|
129
|
-
"useNumberToFixedDigitsArgument": "on",
|
|
130
|
-
"noConstantBinaryExpressions": "on",
|
|
131
|
-
"noTsIgnore": "on",
|
|
132
|
-
"noUnassignedVariables": "on",
|
|
133
|
-
"noUselessEscapeInString": "on",
|
|
134
|
-
"useStaticResponseMethods": "on",
|
|
135
|
-
"useIterableCallbackReturn": "on",
|
|
136
|
-
"noUselessRegexBackrefs": "on"
|
|
137
|
-
},
|
|
138
|
-
"a11y": {
|
|
139
|
-
"noNoninteractiveElementInteractions": "on"
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
"javascript": {
|
|
144
|
-
"formatter": {
|
|
145
|
-
"semicolons": "asNeeded"
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
"json": {
|
|
149
|
-
"formatter": {
|
|
150
|
-
// this is 'auto' by default, except that biome uses 'always' for package.json
|
|
151
|
-
// setting it to 'auto' explicitly makes it consistent across all files, including package.json
|
|
152
|
-
"expand": "auto"
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
"assist": {
|
|
156
|
-
"enabled": true,
|
|
157
|
-
"actions": {
|
|
158
|
-
"source": {
|
|
159
|
-
"organizeImports": {
|
|
160
|
-
"level": "on",
|
|
161
|
-
"options": {
|
|
162
|
-
"groups": [
|
|
163
|
-
[":NODE:", ":BUN:", ":URL:", ":PACKAGE_WITH_PROTOCOL:", ":PACKAGE:"],
|
|
164
|
-
":BLANK_LINE:",
|
|
165
|
-
[":ALIAS:", ":PATH:"]
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
"overrides": [
|
|
173
|
-
{
|
|
174
|
-
"includes": ["**/*.tsx", "./knip.ts", "./prettier.config.js", "tsdown.config.ts"],
|
|
175
|
-
"linter": {
|
|
176
|
-
"rules": {
|
|
177
|
-
"style": {
|
|
178
|
-
"noDefaultExport": "off"
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
]
|
|
184
|
-
}
|