publint
publint copied to clipboard
Lint packaging errors
For the sveltesociety.dev website, I've taken the worker from this repo to create [this script](https://github.com/svelte-society/sveltesociety.dev/blob/main/scripts/updatePublint.js) and generate [this data](https://github.com/svelte-society/sveltesociety.dev/blob/main/src/lib/data/publint.json) on if svelte packages pass publint. However, this is pretty similar...
The `exports` field supersedes other mainFields, if the tooling supports the `exports` field. `exports` is supported since: - Node.js v12.7 (Release: **2019-07-23**) ([history](https://nodejs.org/api/packages.html#exports)) - Around the same time when ESM...
~~ESM importing a UMD package does not work as the named imports interop fails in nodejs.~~ ESM importing a UMD package does not work well for treeshaking
Currently `publint` is flagging `[email protected]` as a correctly packaged package. But if we check onto https://arethetypeswrong.github.io/?p=fast-check%403.13.0 the result is different. The tool reports "Internal resolution error". I got reported the...
See https://github.com/faker-js/faker/pull/1966 `typesVersion` remaps the `types` path and should be taken into account when checking if the file exists.
I usually [use `npm pack` to test files locally ](https://twitter.com/Jack_Franklin/status/1357277541220954114). That has resulted in the tarball install path ending up in a published package before. It would be nice if...
Crawling imports can enable linting more files that may have exports issues, e.g. a `.mjs` file imports an ESM `.js` file but is treated as CJS. This would catch errors...
Support `npx publint ./packages/*` to lint all directories at once, and only those that have a `package.json`. ~~Make sure this works with `--deps` too, which would create another dimension when...
When linting a package, the package could be meant for browsers only, or nodejs only. This isn't statically anaylzable (though possibly inferred), so it may need a new configuration option...
The `npx publint deps` command could receive a `--recursive` option to lint nested deps