sse-tools is a high-performance CLI utility designed for managing, building, and publishing software packages within the SSE ecosystem. It provides a unified interface for library development, supporting both Babel for individual file transpilation and esbuild for high-speed bundling.
- Hybrid Builder Engine: Seamlessly switch between Babel for detailed transpilation or esbuild for rapid bundling via simple configuration.
- Vite-style Watch Mode: Features an incremental watcher that rebuilds only the specific files you change, significantly speeding up development loops.
- Intelligent Export Management: Automatically generates and optimizes your package.json exports field based on your build output, supporting both flat and nested structures.
- TypeScript-First: Built-in support for generating and bundling .d.ts declaration files using either standard tsc or the high-performance tsgo compiler.
- React Compiler Support: Integrated support for the React compiler, including automatic environment configuration and peer-dependency validation.
- Interactive Versioning: A CLI-guided versioning system that helps you bump package versions safely using SemVer standards.
Install the package as a development dependency:
npm install --save-dev @sse-ui/builderOnce installed, you can access the utility via the sse-tools command.
| Command | Description |
|---|---|
init |
To initializes the package with the required configuration files |
build |
Compiles the package for production using Babel or esbuild. |
watch |
Starts an incremental rebuild watcher for rapid development. |
typecheck |
Validates TypeScript types across the project without emitting files. |
check-exports |
Verifies that all files declared in package.json actually exist in the build folder. |
version |
Interactively bumps the package version (patch, minor, major). |
publish |
Publishes the built package directly from your specified build directory. |
info |
Displays size and file statistics for your built package. |
clean |
Safely removes the build directory to ensure a fresh start. |
remove |
Safely removes all configuration files and dependencies added by the init command |
sse-tools uses c12 for robust configuration loading. You can define your configuration in sse.config.ts, sse.config.js, or within your package.json.
import { defineConfig } from "@sse-ui/builder/config";
export default defineConfig({
bundle: ["esm", "cjs"],
buildTypes: true,
flat: false,
// Use esbuild for bundling single files
esbuild: {
entry: "src/index.ts",
target: "es2022",
},
});bundle: Specify output formats, such as["esm", "cjs"].flat: When enabled, builds a flat structure instead of using format-specific subdirectories.copy: Define an array of glob patterns to copy static assets or documentation into the build folder.tsgo: Toggle betweentscandtsgofor faster type generation.
Go to the Docs click here
Go to the Example Click Here
This project is licensed under the MIT License.