ts-engine
Power TypeScript packages and reduce your config overhead
What is ts-engine?
Write TypeScript packages with optionally zero configuration. Build, lint, start, test and typecheck without any configuration. Whilst ts-engine works out the box without any configuration it is open to extension. You can provide custom Babel, ESLint and Jest configuration.
Quicker to setup
Install a single dependency for build, lint, test and typechecking support so you have more time to focus on writing code that matters.
Reduced configuration
Works without any configuration files. You can optionally extend or provide your own Babel and ESLint and Jest config.
React support
React is supported out the box providing build support aswell as powerful linting including accessibility linting via a11y.
Productive local development
Build and run Node.js applications with the ts-engine start
command.
- Watch mode via
--watch
option - User friendly error display
- Forward arguments to the application via
--args
option

Powerful compilation
Build Node.js applications and JavaScript libraries suitable for deployment and publishing with the ts-engine build
command.
- Libraries compile to CommonJs and ES Modules by default
- Watch mode via
--watch
option - Enforces library
package.json
is correctly configured during build - Supports Babel configuration, check out the Babel docs here: https://babeljs.io/

Type safe with TypeScript
Eliminate and entire class of bugs with strong type checking coutesy of TypeScript with the ts-engine typecheck
command.
- Fast type checking using the TypeScript compiler
- User friendly error display
- Recognises JSX syntax
- Check out the TypeScript docs here: https://www.typescriptlang.org/

Ensure correctness by writing tests
Utilize a comprehensive test experience powered by Jest with the ts-engine test
command.
- Forwards arguments onto Jest
- Fast, reliable test runner
- Check out the Jest docs here: https://jestjs.io/

Consistent, safe and beautiful code
Powerful linting via ESLint and with a comprehensive lint config out the box with the ts-engine lint
command.
- Supports ESLint configuration
- Prettier and React configuration included
- Linting isn't just for formatting, it can also catch security issues and rule out potential bugs
- Check out the ESLint docs here: https://eslint.org/
