Skip to main content

tsconfig.json

You can enhance your developer experience in vscode and other editors by creating a tsconfig.json file.

There are base configs provided by @roots/bud for you to extend:

Example tsconfig.json

{
"extends": "@roots/bud/config/tsconfig.json",
"compilerOptions": {
"baseUrl": "./src",
"outDir": "./dist",
"paths": {
"@src/*": ["./src/*"]
},
"types": [
"node",
"webpack/module",
"@roots/bud",
"@roots/bud-postcss",
"@roots/bud-react",
"@roots/bud-swc",
"@roots/bud-tailwindcss"
]
},
"files": ["bud.config.ts"],
"include": ["src"],
"exclude": ["node_modules", "dist"],
"bud": {
"useCompilerOptions": false
}
}

Tips

  • Add any bud extensions you are using to compilerOptions.types so that you're IDE can will pick up on the types. We also recommend adding node and webpack/module to this array.
  • Add any aliases you are using to compilerOptions.paths so that your IDE can resolve them.
  • Make sure bud.config.js is included in the include array so that your IDE will apply discovered types to the config file.

bud.useCompilerOptions

If you enable bud.useCompilerOptions in your tsconfig.json file then @roots/bud will apply certain options from compilerOptions to the bud.js config.

  • compilerOptions.baseUrl will set the @src path.
  • compilerOptions.outDir will set the @dist path.
  • compilerOptions.paths will create bud paths and aliases.
  • include will call bud.compilePaths on the supplied values.