๐โBuildโโ
Build
is a powerful tool that compiles all your TypeScript
files into
JavaScript
, leveraging the speed of ESBuild
and the type-checking
capabilities of the TypeScript
compiler.
- Fast compilation using
ESBuild
TypeScript
support with type-checking- Watch mode for development
- Customizable
ESBuild
configuration - Supports both
CommonJS
andES
modules
Install the package as a development dependency:
npm install -D -E @playform/build
Run the build tool from the command line:
npx @playform/build 'Source/**/*.ts'
Usage: Build [options] <File...>
Arguments:
File ๐ File patterns to build
Options:
-V, --version Output the version number
-ES, --ESBuild <File> ๐ Custom `ESBuild` configuration file
-TS, --TypeScript <File> ๐ Custom `TypeScript` configuration file (default: "tsconfig.json")
-W, --Watch ๐๏ธ Watch mode: rebuild on file changes
-h, --help Display help information
Add Build
to your package.json
scripts:
{
"scripts": {
"Build": "Build 'Source/**/*.ts'",
"Run": "Build 'Source/**/*.ts' --Watch",
"prepublishOnly": "Build 'Source/**/*.ts'"
}
}
Create a custom ESBuild
configuration file (e.g., ESBuild.ts
):
export default {
minify: true,
sourcemap: true,
// Add other esbuild options here
};
Use the custom configuration:
npx @playform/build 'Source/**/*.ts' --ESBuild ESBuild.ts
See an example of a configuration file in
ESBuild.ts
Create a tsconfig.json
file in your project root:
{
"compilerOptions": {
"outDir": "Target",
"rootDir": "Source",
"strict": true
},
"extends": "@playform/build/tsconfig",
"include": ["Source"]
}
For JavaScript
projects using JSDoc
comments, create a jsconfig.json
:
{
"compilerOptions": {
"outDir": "Target",
"rootDir": "Source",
"checkJs": true
},
"extends": "@playform/build/jsconfig",
"include": ["Source"]
}
Contributions are welcome! Please see CONTRIBUTING.md
for
guidelines and feel free to submit a Pull Request.
See CHANGELOG.md
for a history of changes to this component.