https://github.com/adevinwild/micro-ts
A minimalist template to create packages with TypeScript and microbundle from @developit
https://github.com/adevinwild/micro-ts
bootstrap bundle library microbundle npm package ready ready-to-use template ts typescript
Last synced: about 2 months ago
JSON representation
A minimalist template to create packages with TypeScript and microbundle from @developit
- Host: GitHub
- URL: https://github.com/adevinwild/micro-ts
- Owner: adevinwild
- License: mit
- Created: 2023-02-13T18:02:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-22T07:49:36.000Z (about 2 years ago)
- Last Synced: 2025-03-10T17:13:54.887Z (about 2 months ago)
- Topics: bootstrap, bundle, library, microbundle, npm, package, ready, ready-to-use, template, ts, typescript
- Language: TypeScript
- Homepage:
- Size: 49.8 KB
- Stars: 87
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
micro-ts
A micro-minimalist template to create TypeScript packages with `microbundle`.
## Features ๐
- Pre-configured `microbundle` repository ๐ฆ
- Pre-configured `eslint` and `prettier` ๐ ๏ธ
- Pre-configured `jest` and `ts-jest` ๐งช## Usage ๐
You can clone the repository or click on the `Use this template` button to create a new repository from this template.
Start hacking inside the `src` folder and run `npm run build` to build the package.
## Publishing ๐
While we haven't included a specific package for publishing your NPM package, we do have a few recommendations for you. If you want a simple and straightforward method for publishing your package, **we recommend using the [np](https://github.com/sindresorhus/np) package.**
The following command will guide you through the publishing process, and it is an easy way to publish your package.```bash
npx np
```## Configuration ๐ ๏ธ
micro-ts is based on the `microbundle` package. You can find more information about the configuration [here](https://github.com/developit/microbundle).
The `package.json` file contains the following keys:
```
{
"name": "foo", // your package name
"type": "module",
"source": "src/foo.js", // your source code
"exports": {
"require": "./dist/foo.cjs", // used for require() in Node 12+
"default": "./dist/foo.modern.js" // where to generate the modern bundle (see below)
},
"main": "./dist/foo.cjs", // where to generate the CommonJS bundle
"module": "./dist/foo.module.js", // where to generate the ESM bundle
"unpkg": "./dist/foo.umd.js", // where to generate the UMD bundle (also aliased as "umd:main")
"scripts": {
"build": "microbundle", // compiles "source" to "main"/"module"/"unpkg"
"dev": "microbundle watch" // re-build when source files change
}
}```
This is a copy of the `microbundle` documentation.
When you build your project using `microbundle`, three different file formats are generated:
- .umd.js: A Universal Module Definition (UMD) file format that works in different module systems, including AMD, CommonJS, and global scripts.
- .module.js: An ES module file format that uses the import and export syntax and is designed to work in modern browsers and build tools.
- .cjs: A CommonJS module file format that uses the require and module.exports syntax and is used in Node.js and older JavaScript environments.
You can use these file formats to **target different environments**.
## License ๐
[MIT](./LICENSE)