create-ts-fast
v0.0.13
Published
Create TypeScript packages really fast
Maintainers
Readme
Create TypeScript Fast
Create React App but for creating TypeScript-based packages to be published to the npm registry.
npm create ts-fast@latestCurrently supported templates:
- Universal: Platform-agnostic utilities intended to run on both server and client (e.g.
axios,lodash,clsx,zod) - React hooks: Custom React hooks (e.g.
react-use,usehooks-ts)
Features
Contains just enough features to help you author and publish TypeScript-based npm packages in under 15 minutes. Features include:
- Lean and mean: Zero
dependencies, minimaldevDependencies- TypeScript: Modern, de facto flavor of JavaScript
- Vitest: Next generation testing framework with out-of-the-box TypeScript support. Easily replace this with Jest should you wish to
- tsup: Bundles your TypeScript code, powered by esbuild
- Unopinionated: Includes only the necessary dependencies to get you started
- Types generation: Type declaration files are automatically generated
- Continuous integration: Test, typecheck, and build on every commit / pull request. Uses GitHub actions
Where's pnpm, ESLint, Prettier, and <trendy library>?
The project is unopinionated about the following:
- Alternative package managers, e.g. pnpm, Yarn
- Linting, e.g. ESLint, Biome, oxlint
- Formatting, e.g Prettier, Biome
- Alternative runtimes e.g. Bun, Deno
Why? Because no matter the choice, someone will have a different opinion and want to use something else, so we rather leave it to you. Moreover, these tools can be easily added yourself.
If/when one of them becomes the standard (e.g. TypeScript), we can then include them as a default.
Getting started
Run the scaffolding command, use the scaffolded project as a starting point and customize it to your liking.
Start by running the appropriate command and answering a few questions:
npm
npm create ts-fast@latestYarn
yarn create ts-fastpnpm
pnpm create ts-fast@latestbun
bun create ts-fast@latestScaffolded project structure
Scaffolded projects have these few base files:
├── .github/workflows/ci.yml
├── dist
├── src
│ ├── __tests__
│ └── index.ts
├── package.json
├── README.md
├── tsconfig.json
├── tsup.config.ts
└── vitest.config.tsNext steps
- Implement your library within
src. Add tests if you take pride in being a developer - Modify
package.json– updatename,version,authorand any other relevant fields - Update
README.md npm run publish. You will have to login to npm if you aren't already logged in- Profit!
Roadmap
- [x] Scaffolding command similar to
create-viteandcreate-react-app - [x] Multiple output formats (esm, cjs)
- [ ] Choose between tools (Jest vs Vitest)
