-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbiome.jsonc
More file actions
76 lines (76 loc) · 3 KB
/
Copy pathbiome.jsonc
File metadata and controls
76 lines (76 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
"$schema": "https://biomejs.dev/schemas/2.4.16/schema.json",
// Biome's only job in this repo (for now) is to ENFORCE the two JSR
// import conventions the source was aligned to in PRs #1792 / #1800 /
// #1803, so new code can't silently drift back:
// - useImportExtensions → explicit `.ts` / `.tsx` on relative imports
// - useNodejsImportProtocol → `node:` prefix on Node built-ins
// Everything else (formatter, the rest of the recommended ruleset) is
// intentionally left off — this is a lint *gate*, not a formatting pass.
"formatter": { "enabled": false },
"assist": { "enabled": false },
// Scope: the TypeScript SOURCES that JSR actually publishes.
// - `packages/*/src/**` only — never config, scripts, or built output.
// - cli / create-barefootjs are npm-only (never published to JSR), so
// the JSR import rules don't apply to them.
// - adapter-tests and compat are `private` + in `.changeset/config.json`'s
// ignore list → never published; their `src` is test/tooling scaffolding.
// - `__tests__` and `*.d.ts` are outside JSR's published surface
// (`deno check` only reaches exported entries + their non-test, non
// -`.d.ts` imports — see scripts/jsr-publish.ts), so the convention
// never applied to them and they are not gated here.
"files": {
"includes": [
"packages/*/src/**/*.ts",
"packages/*/src/**/*.tsx",
"!packages/cli/**",
"!packages/create-barefootjs/**",
"!packages/adapter-tests/**",
"!packages/compat/**",
"!**/__tests__/**",
"!**/*.d.ts"
]
},
"linter": {
"enabled": true,
"rules": {
"recommended": false,
"correctness": {
"useImportExtensions": "error"
},
"style": {
"useNodejsImportProtocol": "error"
}
}
},
"overrides": [
{
// Package self-references (`@barefootjs/client/reactive`, resolved
// through the package `exports` map / the JSR import map that
// jsr-publish.ts generates) are deliberately extension-less and
// `deno check` accepts them as-is. Biome's resolver follows the
// workspace symlink to the real `src/*.ts` and false-positives,
// wanting a `.ts` that would actually BREAK the JSR/exports
// resolution. There's no per-specifier opt-out, so disable the
// extension rule for just the files carrying such self-imports.
// (`useNodejsImportProtocol` stays on.)
"includes": [
"packages/client/src/index.ts",
"packages/client/src/runtime/index.ts",
"packages/client/src/runtime/insert.ts",
"packages/client/src/runtime/hydrate.ts",
"packages/client/src/runtime/map-array.ts",
"packages/client/src/runtime/component.ts",
"packages/client/src/runtime/apply-rest-attrs.ts",
"packages/client/src/runtime/dynamic-text.ts"
],
"linter": {
"rules": {
"correctness": {
"useImportExtensions": "off"
}
}
}
}
]
}