mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
67c57abb63
This branch tightens import hygiene and editor guidance to reduce accidental use of legacy or discouraged patterns. It also updates consumers too, by propagating the new `lucide-react` import convention across the existing UI surfaces that reference those icons. - Updated `.vscode/settings.json` to prefer non-relative imports and improve TypeScript auto-import behavior. - Re-enabled and expanded Biome restricted-import enforcement in `biome.jsonc` for migration guardrails. - Added/used `lucide-react` `-Icon` naming conventions for clarity and consistency. - Updated consumers too across components, modules, and pages so the new import rules are applied end-to-end.
83 lines
2.6 KiB
JSON
83 lines
2.6 KiB
JSON
{
|
|
"emeraldwalk.runonsave": {
|
|
"commands": [
|
|
{
|
|
"match": "database/queries/*.sql",
|
|
"cmd": "make gen"
|
|
},
|
|
{
|
|
"match": "provisionerd/proto/provisionerd.proto",
|
|
"cmd": "make provisionerd/proto/provisionerd.pb.go"
|
|
}
|
|
]
|
|
},
|
|
"search.exclude": {
|
|
"**.pb.go": true,
|
|
"**/*.gen.json": true,
|
|
"**/testdata/*": true,
|
|
"coderd/apidoc/**": true,
|
|
"docs/reference/api/*.md": true,
|
|
"docs/reference/cli/*.md": true,
|
|
"docs/templates/*.md": true,
|
|
"LICENSE": true,
|
|
"scripts/metricsdocgen/metrics": true,
|
|
"site/out/**": true,
|
|
"site/storybook-static/**": true,
|
|
"**.map": true,
|
|
"pnpm-lock.yaml": true
|
|
},
|
|
// Ensure files always have a newline.
|
|
"files.insertFinalNewline": true,
|
|
"go.lintTool": "golangci-lint",
|
|
"go.lintFlags": ["--fast"],
|
|
"go.coverageDecorator": {
|
|
"type": "gutter",
|
|
"coveredGutterStyle": "blockgreen",
|
|
"uncoveredGutterStyle": "blockred"
|
|
},
|
|
// The codersdk is used by coderd another other packages extensively.
|
|
// To reduce redundancy in tests, it's covered by other packages.
|
|
// Since package coverage pairing can't be defined, all packages cover
|
|
// all other packages.
|
|
"go.testFlags": ["-short", "-coverpkg=./..."],
|
|
// We often use a version of TypeScript that's ahead of the version shipped
|
|
// with VS Code.
|
|
"typescript.tsdk": "./site/node_modules/typescript/lib",
|
|
// Playwright tests in VSCode will open a browser to live "view" the test.
|
|
"playwright.reuseBrowser": true,
|
|
|
|
"[javascript][javascriptreact][json][jsonc][typescript][typescriptreact]": {
|
|
"editor.defaultFormatter": "biomejs.biome",
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.biome": "explicit"
|
|
// "source.organizeImports.biome": "explicit"
|
|
}
|
|
},
|
|
|
|
"tailwindCSS.classFunctions": ["cva", "cn"],
|
|
"[css][html][markdown][yaml]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
},
|
|
"typos.config": ".github/workflows/typos.toml",
|
|
"[markdown]": {
|
|
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
|
|
},
|
|
"biome.lsp.bin": "site/node_modules/.bin/biome",
|
|
|
|
// Prefer type only imports.
|
|
"typescript.preferences.preferTypeOnlyAutoImports": true,
|
|
// Prefer aliased/non-relative imports (e.g. "#/...") over "../../...".
|
|
"typescript.preferences.importModuleSpecifier": "non-relative",
|
|
"javascript.preferences.importModuleSpecifier": "non-relative",
|
|
// We discourage people from various older libraries that
|
|
// are no longer recommended/being migrated from.
|
|
"typescript.preferences.autoImportSpecifierExcludeRegexes": [
|
|
// discourage people from using MUI components
|
|
"^@mui(?:/.*)?$",
|
|
// discourage people from using Emotion CSS
|
|
"^@emotion(?:/.*)?$",
|
|
// we prefer people use `lodash/foo` over `lodash`
|
|
"^lodash$"
|
|
]
|
|
}
|