Releases: publint/publint
publint@0.3.12
Patch Changes
- Fix shebang check to allow spaces after the
#!
(#183)
publint@0.3.11
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
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
Patch Changes
-
Support the
formatMessage
utility in the browser. It has a newcolor: 'html'
option to highlight important parts with<strong>
tags instead of ANSI colors. It also has a newreference: boolean
option so the messages are worded in reference of the message location. (e1cfef0
) -
If
formatMessage
is passed apackage.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
Patch Changes
@publint/pack@0.1.2
Patch Changes
- Improve error message when yarn 1 is used to pack files (#169)
publint@0.3.7
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 fileIMPORTS_DEFAULT_SHOULD_BE_LAST
: Ensure the"default"
condition is last in an entrypoint's objectIMPORTS_MODULE_SHOULD_BE_ESM
: Ensure the"module"
condition file is ESMIMPORTS_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
Patch Changes
- Fix checking bin field file path that omits
.js
or/index.js
(04f289e
)
publint@0.3.5
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
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. ...
- The
-
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
)