A Rollup plugin for compiling TypeScript files with the TypeScript Compiler API.
npm install @jsxtools/rollup-plugin-tscrollup-plugin-tsc is a rollup plugin that compiles TypeScript files using TypeScript's Compiler API.
Out of the box, this plugin uses tsconfig.json to add files to the rollup pipeline, emit .d.ts files if enabled, and support incremental updates on subsequent builds.
``shell`
npm install @jsxtools/rollup-plugin-tsc
`javascript
import { rollupPluginTsc } from '@jsxtools/rollup-plugin-tsc'
export default {
plugins: [
rollupPluginTsc(/ optional configuration /)
]
}
`
- Uses TypeScript's incremental compilation.
- Adds files to the rollup pipeline, allowing other rollup plugins to transform them.
- Supports source map generation and .d.ts file emission alongside JavaScript output..json
- Handles TypeScript assets and build artifacts (like imports).SourceFile
- Supports custom TypeScript configurations and compiler options.
- Supports TypeScript Custom Transformers for advanced AST transformations.
- Exposes TypeScript objects for other plugins.
- Supports file watching for development builds.
- configFile - TypeScript configuration file (default: tsconfig.json).include
- - Additional files to include in compilation.exclude
- - Additional files to exclude from compilation.compilerOptions
- - Additional TypeScript compiler options.customTransformers
- - TypeScript Custom Transformers for AST transformations.references
- - TypeScript project references.workDir
- - Current working directory (default: current process directory).
`js`
rollupPluginTsc({
workDir: ".",
configFile: "tsconfig.json",
compilerOptions: {
declaration: true,
sourceMap: true,
},
customTransformers: {
before: [myCustomTransformer],
},
include: [
"src/*/.ts",
],
exclude: [
"src/*/.test.ts",
],
})
rollup-plugin-tsc exposes TypeScript SourceFile objects through Rollup's module metadata, enabling other plugins to access the TypeScript AST:
`javascript
// in the transform hook of another plugin
const sourceFile = this.getModuleInfo(id)?.meta?.tsc?.sourceFile;
if (sourceFile) {
void sourceFile // access the ts.SourceFile object associated with this module
}
`
The plugin also exports a separate API for programmatic use:
`javascript`
import { TscAPI } from '@jsxtools/rollup-plugin-tsc/api';
- rollup ^4.6.0typescript` ^5.4.5
-
MIT-0