Package Exports
- @roots/bud-typescript
- @roots/bud-typescript/bud/commands/bud.ts.check.command
- @roots/bud-typescript/bud/commands/bud.tsc.command
- @roots/bud-typescript/bud/commands/index
- @roots/bud-typescript/extension
- @roots/bud-typescript/tsconfig/tsconfig.json
- @roots/bud-typescript/typecheck
Readme
@roots/bud-typescript
Adds Typescript support to Bud.
Installation
Install @roots/bud-typescript to your project.
Yarn:
yarn add @roots/bud-typescript --devnpm:
npm install @roots/bud-typescript --save-devConfiguration
If you are authoring your config file in TypeScript you must use the ts-bud command instead of bud.
General ts configuration is handled using a standard tsconfig.json in your project root. See the TypeScript docs on tsconfig.json for more information.
There is a base tsconfig available for you to extend:
{
"extends": "@roots/bud-typescript/tsconfig/tsconfig.json"
}Typechecking
By default TypeScript files will only be compiled to JS during builds. If you also want typechecking, you can enable it in your bud configuration:
bud.typescript.typecheck.enable();You may wish to configure typechecking only in production so that your development experience stays snappy:
bud.isProduction && bud.typescript.typecheck.enable();Babel
By default, @roots/bud-typescript will pass code to @roots/bud-babel for further transforms.
To disable babel and only use tsc:
bud.typescript.useBabel(false);If you aren't using babel make sure your tsconfig.json is set up appropriately.
In particular, React users likely want to set jsx to react.
react-refresh
React refresh should work out of the box with zero configuration required.
- If you are using @roots/bud-react
the
react-refresh-typescripttransformer will automatically be used. - If you are using @roots/bud-babel the babel transformer
will be used instead of the
react-refresh-typescript.
Contributing
Contributions are welcome from everyone.
We have contribution guidelines to help you get started.
License
@roots/bud-typescript is licensed under MIT.
Community
Keep track of development and community news.
- Join us on Roots Slack by becoming a GitHub sponsor
- Participate on the Roots Discourse
- Follow @rootswp on Twitter
- Read and subscribe to the Roots Blog
- Subscribe to the Roots Newsletter
Sponsors
Help support our open-source development efforts by becoming a patron.