Skip to content
/ micro-ts Public template

A minimalist template to create packages with TypeScript and microbundle from @developit

License

Notifications You must be signed in to change notification settings

adevinwild/micro-ts

Repository files navigation

micro-ts


micro-ts A micro-minimalist template to create TypeScript packages with `microbundle`.


Start now ✨

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 package. The following command will guide you through the publishing process, and it is an easy way to publish your package.

npx np

Configuration 🛠️

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.

License 📝

MIT

Start now ✨