Releases: bluwy/publint
[email protected]
Minor Changes
-
The
vfs
option is removed in favour of an extended support ofpack: { tarball: ArrayBuffer | ReadableStream }
andpack: { files: PackFile[] }
APIs. Now, it is even easier to usepublint
in the browser or against a packed.tgz
file in Node.js. See the docs for more examples of how to use these new options. (#122) -
Bump node version support to >=18 (
cb2ed8b
) -
publint
now runs your project's package manager'spack
command to get the list of packed files for linting. The previousnpm-packlist
dependency is now removed. (#120)A new
pack
option is added to the node API to allow configuring this. It defaults to'auto'
and will automatically detect your project's package manager usingpackage-manager-detector
. See its JSDoc for more information of the option.This change is made as package managers have different behaviors for packing files, so running their
pack
command directly allows for more accurate linting. However, as a result of executing these commands in a child process, it may take 200-500ms longer to lint depending on the package manager used and the project size. The new handling also does not support yarn 1. See this comment for more information.If you use yarn 1, you should upgrade to the latest yarn version or a different package manager. Otherwise, no other changes are required for this new behavior.
Patch Changes
-
Initial setup to publish with Changesets (
24a62f5
) -
When a dependency with the
file:
orlink:
protocol is specified in thepackage.json
, it will now error to prevent accidentally publishing dependencies that will likely not work when installed by end-users (6e6ab33
) -
Fix
EXPORT_TYPES_INVALID_FORMAT
linting to detect.d.mts
and.d.cts
files (af5e88b
) -
Updated dependencies [
d0b406b
]:- @publint/[email protected]
@publint/[email protected]
Minor Changes
- Initial release (#120)
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