micro-ts
A micro-minimalist template to create TypeScript packages with `microbundle`.
Start now ✨
- Pre-configured
microbundle
repository 📦 - Pre-configured
eslint
andprettier
🛠️ - Pre-configured
jest
andts-jest
🧪
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.
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 package. The following command will guide you through the publishing process, and it is an easy way to publish your package.
npx np
micro-ts is based on the microbundle
package. You can find more information about the configuration here.
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.
Start now ✨