Skip to content

Releases: bluwy/publint

[email protected]

06 Jan 14:10
Compare
Choose a tag to compare

Minor Changes

  • The vfs option is removed in favour of an extended support of pack: { tarball: ArrayBuffer | ReadableStream } and pack: { files: PackFile[] } APIs. Now, it is even easier to use publint 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's pack command to get the list of packed files for linting. The previous npm-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 using package-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: or link: protocol is specified in the package.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]

06 Jan 14:10
Compare
Choose a tag to compare

Minor Changes

  • Initial release (#120)

v0.2.12

24 Oct 08:42
Compare
Choose a tag to compare

Features

  • If the package publishes a license file, but the "license" field is not set in package.json, a suggestion will now be shown to add the field (#111)

Bug fixes

  • In the "repostory" field, string shorthands with nested paths like gitlab: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

16 Sep 13:02
Compare
Choose a tag to compare

Features

  • Update formatMessage() utility with a new color option to force enable or disable returning color in string (#110)

New Contributors

Full Changelog: v0.2.10...v0.2.11

v0.2.10

15 Aug 08:12
Compare
Choose a tag to compare

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).

New Contributors

Full Changelog: v0.2.9...v0.2.10

v0.2.9

17 Jul 06:55
Compare
Choose a tag to compare

Bug fixes

New Contributors

Full Changelog: v0.2.8...v0.2.9

v0.2.8

18 May 11:00
Compare
Choose a tag to compare

Bug fixes

  • Fix file existence check for non-js files (#96)

Full Changelog: v0.2.7...v0.2.8

v0.2.7

23 Dec 05:38
Compare
Choose a tag to compare

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

01 Dec 16:18
Compare
Choose a tag to compare

Features

  • Warn if the deprecated jsnext:main or jsnext fields are used by @sapphi-red (#85)

Site

New Contributors

Full Changelog: v0.2.5...v0.2.6

v0.2.5

20 Oct 06:23
Compare
Choose a tag to compare

Bug fixes

  • Fix missing published files check when resolving a path with fallback extensions (#79)

Full Changelog: v0.2.4...v0.2.5