Skip to content

Releases: publint/publint

publint@0.3.12

14 Apr 11:32
0bda929
Compare
Choose a tag to compare

Patch Changes

  • Fix shebang check to allow spaces after the #! (#183)

publint@0.3.11

10 Apr 02:18
de00118
Compare
Choose a tag to compare

Patch Changes

  • Update EXPORTS_GLOB_NO_DEPRECATED_SUBPATH_MAPPING message and severity to error (#179)

  • Add a new warning when the "exports" or "imports" field contain a fallback array as most tooling will only the pick the first value that can be parsed, and other tooling may work differently leading to inconsistent behaviors (#180)

publint@0.3.10

03 Apr 02:38
bca5e2d
Compare
Choose a tag to compare

Patch Changes

  • Support custom conditions in "exports" that points to raw TS or TSX files. This configuration is common in monorepo setups where packages refer to the raw files among themselves using a custom condition so custom aliasing isn't needed. (b34ea94)

    With this support, the "types" condition is allowed to come after any exports of the raw TS or TSX files. File existence checks are also disabled for raw TS and TSX files reference as after publish these files may intentionally be not published.

publint@0.3.9

10 Mar 04:39
9181fcb
Compare
Choose a tag to compare

Patch Changes

  • Support the formatMessage utility in the browser. It has a new color: 'html' option to highlight important parts with <strong> tags instead of ANSI colors. It also has a new reference: boolean option so the messages are worded in reference of the message location. (e1cfef0)

  • If formatMessage is passed a package.json object with missing keys, the message part that references the value will now fallback to "undefined" instead of completely erroring out. (45962d1)

publint@0.3.8

03 Mar 15:23
7fb275a
Compare
Choose a tag to compare

Patch Changes

  • Support passing a tarball path to the publint CLI. This allows to easily lint any tarball files at hand. (#166)

    npx publint ./mylib-1.0.0.tgz
  • The publint API now returns a pkg object as a convenience to pass it to formatMessage (#166)

  • Updated dependencies [02d169b]:

    • @publint/pack@0.1.2

@publint/pack@0.1.2

03 Mar 15:23
7fb275a
Compare
Choose a tag to compare

Patch Changes

  • Improve error message when yarn 1 is used to pack files (#169)

publint@0.3.7

28 Feb 08:19
dedc34e
Compare
Choose a tag to compare

Patch Changes

  • The "imports" field is now linted with the following rules: (#162)

    • IMPORTS_KEY_INVALID: Ensure the imports key starts with a #
    • IMPORTS_VALUE_INVALID: Ensure the imports value is a valid path that starts with a ./
    • IMPORTS_GLOB_NO_MATCHED_FILES: Ensure the imports glob matches at least one file
    • IMPORTS_DEFAULT_SHOULD_BE_LAST: Ensure the "default" condition is last in an entrypoint's object
    • IMPORTS_MODULE_SHOULD_BE_ESM: Ensure the "module" condition file is ESM
    • IMPORTS_MODULE_SHOULD_PRECEDE_REQUIRE: Ensure the "module" condition precedes the "require" condition in an entrypoint's object
  • Improve SSH git URL detection when checking the "repository" field. Values like "git@github.com:user/project.git" is now detected as a valid git URL, but will be suggested to use a full git URL instead, like "git+ssh://git@github.com/user/project.git" (28da844)

  • Fix exports types message when the "require" or "import" condition already exists but the dts file format is still invalid (a731ec3)

publint@0.3.6

20 Feb 08:45
46ae095
Compare
Choose a tag to compare

Patch Changes

  • Fix checking bin field file path that omits .js or /index.js (04f289e)

publint@0.3.5

12 Feb 15:59
0435728
Compare
Choose a tag to compare

Patch Changes

  • Check the "bin" field if the referenced file exists, has the correct JS format, and can be executed (#150)

  • Deprecate the deps command. The command has been tricky to maintain and incomplete (e.g. doesn't lint recursively). A separate tool can be used to run publint on dependencies instead, e.g. npx renoma --filter-rules "publint". (#149)

publint@0.3.4

07 Feb 07:03
14c4aeb
Compare
Choose a tag to compare

Patch Changes

  • When globbing "exports" values that contains *, also respect "exports" keys that mark paths as null. For example: (b9605ae)

    {
      "exports": {
        "./*": "./dist/*",
        "./browser/*": null
      }
    }

    The glob in "./*": "./dist/*" will no longer match and lint files in "./browser/*" as it's marked null (internal).

  • Update logs when running the publint CLI: (58d96a2)

    • The publint version is now displayed.
    • The packing command is also displayed.
    • Messages are now logged in the order of errors, warnings, and suggestions, instead of the other way round, to prioritize errors.
    • The publint deps command no longer logs passing dependencies. Only failing dependencies are logged.

    Examples:

    $ npx publint
    $ Running publint v0.X.X for my-library...
    $ Packing files with `npm pack`...
    $ All good!
    $ npx publint deps
    $ Running publint v0.X.X for my-library deps...
    $ x my-dependency
    $ Errors:
    $ 1. ...
  • Fix detecting shorthand repository URLs with the . character (09d8cbb)

  • Clarify message when "types" is not the first condition in the "exports" field (5a6ba00)

  • Correctly detect if a "types" value in "exports" is used for dual publishing (3f3d8b2)