https://github.com/smallcase/sc-fe-bite
Babel Integrated typescript enabler
https://github.com/smallcase/sc-fe-bite
babel transformer typescript
Last synced: about 2 months ago
JSON representation
Babel Integrated typescript enabler
- Host: GitHub
- URL: https://github.com/smallcase/sc-fe-bite
- Owner: smallcase
- License: mit
- Created: 2025-02-14T05:22:30.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-04-03T12:58:13.000Z (2 months ago)
- Last Synced: 2025-04-22T17:16:16.527Z (about 2 months ago)
- Topics: babel, transformer, typescript
- Language: JavaScript
- Homepage:
- Size: 262 KB
- Stars: 8
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# BITE
`bite` is a CLI tool designed to transform TypeScript (`.ts` & `.tsx`) files into JavaScript using Babel while also generating TypeScript declaration files (`.d.ts`). It supports monorepos, watch mode, caching, and optimized TypeScript compilation.
## Features
- Transforms `.ts` and `.tsx` files to `.js` and `.jsx` using `Babel`
- Generates TypeScript declaration files (`.d.ts`)
- Supports a custom Babel and TypeScript configuration
- Watch mode for automatic re-transpilation on file changes
- Cleans the output directory before transpiling (optional)
- Works seamlessly within a monorepo setup
- Lightweight and fast with debounced file watching
- Includes a "witty" mode for fun logging messages## Installation
```sh
npm install @smallcase/bite
```## Usage
### Basic Command
```sh
bite-tsx-transform --src ./lib --dist ./dist
```### Options
| Option | Alias | Type | Description | Required |
| --------------- | ----- | ------- | ----------------------------------------------- | -------- |
| `--src` | | string | Path to the source directory (default: `src/`) | ❌ No |
| `--dist` | | string | Path to the output directory (default: `dist/`) | ❌ No |
| `--watch` | `-w` | boolean | Enables watch mode | ❌ No |
| `--clean` | | boolean | Cleans the output directory before transpiling | ❌ No |
| `--tsConfig` | | string | Path to custom `tsconfig.json` | ❌ No |
| `--babelConfig` | | string | Path to custom `babel.config.json` | ❌ No |
| `--version` | | boolean | Show CLI version | ❌ No |
| `--witty` | | boolean | Enables witty logging messages | ❌ No |## Examples
### Transform TypeScript Files
```sh
bite-tsx-transform --src ./src --dist ./build
```### Transform and Watch for Changes
```sh
bite-tsx-transform --src ./src --dist ./build --watch
```### Clean Output Directory Before Transpiling
```sh
bite-tsx-transform --src ./src --dist ./build --clean
```### Use Custom TypeScript Config
```sh
bite-tsx-transform --src ./lib --dist ./build --tsConfig ./tsconfig.custom.json
```### Use Custom Babel Config
```sh
bite-tsx-transform --src ./lib --dist ./build --babelConfig ./babel.custom.json
```### Enable Witty Logging
```sh
bite-tsx-transform --src ./lib --dist ./build --witty
```## Watch Mode
When using `--watch`, the CLI will monitor the source directory for changes and automatically recompile files when modifications are detected. The file-watching is debounced to prevent excessive rebuilds.
## Logging & Error Handling
- Uses `Logger` for structured logging.
- Displays errors clearly in case of transformation failure.
- Cleans the output directory if transformation fails.
- Supports an optional witty logging mode (`--witty`) for fun messages.## License
MIT License.
**NOTE** - The old command `tsx-transform` has been deprecated and will be removed in next major version