Releases: bluwy/publint
v0.2.12
Features
- If the package publishes a license file, but the
"license"
field is not set inpackage.json
, a suggestion will now be shown to add the field (#111)
Bug fixes
- In the
"repostory"
field, string shorthands with nested paths likegitlab:org/user/repo
is now considered valid (#113)
Site
- Fixed repository url link for string shorthands (#109)
Full Changelog: v0.2.11...v0.2.12
v0.2.11
Features
- Update
formatMessage()
utility with a newcolor
option to force enable or disable returning color in string (#110)
New Contributors
- @zanminkian made their first contribution in #110
Full Changelog: v0.2.10...v0.2.11
v0.2.10
Features
- Adds a new rule that validates the
"repository"
field (#106)- If
"repository"
is a string, it must be one of the supported shorthand strings from the docs. - If
"repository"
is an object with"type": "git"
, the"url"
must be a valid git URL and can be parsed by npm. - The
git://
protocol for GitHub repos should not be used due security concerns. - GitHub or GitLab links should be prefixed with
git+
and postfixed with.git
. (This is also warned by npm when publishing a package).
- If
New Contributors
Full Changelog: v0.2.9...v0.2.10
v0.2.9
Bug fixes
- Update message when no type field is present by @benmccann (#104)
New Contributors
- @benmccann made their first contribution in #104
Full Changelog: v0.2.8...v0.2.9
v0.2.8
v0.2.7
Features
- If the library exports from both
"main"
/"module"
and"exports"
fields, but the"exports"
field doesn't export the root entrypoint, warn about the inconsistency. When"exports"
is defined, it takes the highest priority, so all the library's entrypoint (root and deep) needs to be specified here. (#88) - Suggest using the
"type"
field. In Node.js v20.10.0, it introduces a new--experimental-default-type
flag to flip the default module system from "CJS-as-default" to "ESM-as-default". It's recommended for libraries to specify the"type"
field explicitly to prevent CJS files from being incorrectly interpreted as ESM. This suggestion helps push towards a better ESM experience in the future. (#83)
Full Changelog: v0.2.6...v0.2.7
v0.2.6
v0.2.5
v0.2.4
Bug fixes
- Check for packed files locally before providing the
"files"
suggestion. An incorrect suggestion was given when you're using.npmignore
or.gitignore
to limit publishing certain files.
Site
- Fix rules page mobile responsiveness
Full Changelog: v0.2.3...v0.2.4
v0.2.3
Features
-
Error if
package.json
has fields with invalid string, boolean, object, etc type (#73) -
Suggest using the
"files"
field if detected test or config files are published (#77) -
Warn on
"exports"
and"browser"
object conflict for browser-ish environments (#58)For example, given this setup:
{ "browser": { "./lib.server.js": "./lib.browser.js" }, "exports": { ".": { "worker": "./lib.server.js", "browser": "./lib.browser.js", "default": "./lib.server.js" } } }
When matching the
"worker"
condition, it will resolve to"./lib.server.js"
which is intended to work in a worker environment. However, the"browser"
field also has a matching mapping for"./lib.server.js"
, causing the final resolved path to be"./lib.browser.js"
. This is usually not intended and causes the wrong file to be loaded. -
Error on invalid JSX extensions, such as
.cjsx
,.mjsx
,.ctsx
, and.mtsx
(#76)These extensions are usually mistaken as ESM and CJS variants of JSX, which is not valid. Instead they should be written in ESM with the
.jsx
extension instead.
Bug fixes
- Skip file format checks only for globbed files
- Fix
"main"
field with ESM content detection (#75)
Site
- Add sidebar menu to rules page by @btea (#65)
- Quickly scroll to the prompt information location by @btea (#68)
- Fix version switch title not updated by @btea (#72)
- Improve documentation for
"types"
format - Fix message border styles
- Fix docs list missing dot
Full Changelog: v0.2.2...v0.2.3