Hunter
(starting notes a little late)
-
bunch of criteria and it depends.
-
Module formats
- defines a module
-
Of course we should only support ESM.
-
Package has a carbon footprint depending on the size of the bundle.
-
Reduce publish size
- only publish required files with
package.json
'sfiles
field.
- only publish required files with
-
DefinitelyTyped will reduce package size. lol
-
TypeScript dist tags.
- You can have a @variant (Private) on a package name
@scope/<name>@variant
when exporting a package.
- You can have a @variant (Private) on a package name
-
Provide ESM version of your package.
-
Smaller modules
-
Tree-shaking.
-
Publishing a JS package:
- Small package size
- Observability with Open Trace (types.d.ts)
- Support ESM and Common JS with multiple packages.