···8686There are some conventions in place of configuration that are worth noting:
8787* the file type is inferred from the file name if possible (e.g. `babel.es.js` will be in 'es' format)
8888* `main` defaults to CJS, `module` to ES, `browser` to UMD, and `bin` to CJS
8989+* if you have a folder mapped using [subpath patterns](https://nodejs.org/api/packages.html#packages_subpath_patterns) and it matches a folder within your `src` folder, the files within will be copied across and lightly transpiled using [mkdist](https://github.com/unjsio/mkdist).
9090+9191+##### Example
9292+```json5
9393+{
9494+ "exports": {
9595+ ".": {
9696+ // This will be compiled in CJS and matched to src/index.ts
9797+ "require": "./dist/index.js",
9898+ // This will be compiled in ES and matched to src/index.ts
9999+ "import": "./dist/index.es.js"
100100+ },
101101+ // src/templates will be lightly transpiled with mkdist and copied to dist/templates
102102+ "./templates/*": "./dist/templates/*",
103103+ // siroc will not touch this
104104+ "./package.json": "./package.json"
105105+ },
106106+ // This will be compiled in CJS and matched to src/index.ts
107107+ "main": "./dist/index.js",
108108+ // This will be compiled in ES and matched to src/index.ts
109109+ "module": "./dist/index.es.js",
110110+ // Types will be generated for src/index.ts
111111+ "types": "./dist/index.d.ts",
112112+ "bin": {
113113+ // This will be compiled in CJS and matched to src/cli/index.ts
114114+ "siroc": "bin/cli.js",
115115+ // This will be compiled in CJS and matched to src/cli/runtime.ts
116116+ "siroc-runner": "bin/runtime.js"
117117+ }
118118+}
119119+```
8912090121#### Build hooks
91122