bluwy/publint (publint)
### [`v0.2.0`](https://togithub.com/bluwy/publint/releases/tag/v0.2.0)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.16...v0.2.0)
##### Breaking changes
**Note:** If you're using `publint` from the CLI, these breaking changes should not affect you.
- `publint()` now returns an object with `messages` instead of the `messages` array directly. This makes way for future APIs where `publint` will return more information than just `messages`.
```diff
- const messages = await publint()
+ const { messages } = await publint()
```
- Rename `printMessage` API to `formatMessage` to better reflect it's intent. ([https://github.com/bluwy/publint/issues/43](https://togithub.com/bluwy/publint/issues/43))
```diff
- import { printMessage } from "publint/utils"
+ import { formatMessage } from "publint/utils"
const { messages } = await publint()
for (const message of messages) {
- console.log(printMessage(message))
+ console.log(formatMessage(message))
}
```
- Remove `filePath` `arg` for the `FILE_DOES_NOT_EXIST` message.
```diff
import type { Message } from "publint"
import { getPkgPathValue } from "publint/utils"
function messageToString(message: Message, pkg: Record) {
switch (message.code) {
case "FILE_DOES_NOT_EXIST":
- return `The file "${message.args.filePath}" does not exist.`
+ return `The file "${getPkgPathValue(pkg, message.path)}" does not exist.`
}
}
```
- Remove the `import` condition for the `publint` package. This provides a better error message if you call `require("publint")`.
##### Features
- Improve warnings when the exported `"types"` condition has an invalid format in ESM or CJS. This ensures your library's types will work in both environments when dual publishing. ([https://github.com/bluwy/publint/issues/46](https://togithub.com/bluwy/publint/issues/46))
It affects packages commonly packaged like:
```json
{
"exports": {
".": {
"types": "./index.d.ts", <-- only works in CJS
"import": "./index.mjs",
"require": "./index.js",
}
}
}
```
For more information, visit the [rules documentation](https://publint.dev/rules#export_types_invalid_format). This feature is inspired by https://arethetypeswrong.github.io.
##### Bug fixes
- Suppress warnings when exported JS files using the `"exports"` field have adjacent `.d.ts` files and no `"types"` condition. This follows TypeScript's resolution algorithm. For more information, visit the [rules documentation](https://publint.dev/rules#types_not_exported). ([https://github.com/bluwy/publint/issues/46](https://togithub.com/bluwy/publint/issues/46))
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.16...v0.2.0
### [`v0.1.16`](https://togithub.com/bluwy/publint/releases/tag/v0.1.16)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.15...v0.1.16)
##### Bug fixes
- Don't enforce the `module` condition to precede `import` per se. It is now ensured to precede `require` only as otherwise the condition isn't effective ([https://github.com/bluwy/publint/pull/50](https://togithub.com/bluwy/publint/pull/50))
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.15...v0.1.16
### [`v0.1.15`](https://togithub.com/bluwy/publint/releases/tag/v0.1.15)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.14...v0.1.15)
##### Bug fixes
- Fix "precede" typo
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.14...v0.1.15
### [`v0.1.14`](https://togithub.com/bluwy/publint/releases/tag/v0.1.14)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.13...v0.1.14)
##### Features
- Check that the `"module"` condition precedes the `"import"` and `"require"` in exports conditions ([https://github.com/bluwy/publint/pull/49](https://togithub.com/bluwy/publint/pull/49))
##### Bug fixes
- Skip linting flow files
- Improve exports array logging format
##### Site
- Fix `isPathDir` check
#### New Contributors
- [@nvie](https://togithub.com/nvie) made their first contribution in [https://github.com/bluwy/publint/pull/49](https://togithub.com/bluwy/publint/pull/49)
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.13...v0.1.14
### [`v0.1.13`](https://togithub.com/bluwy/publint/releases/tag/v0.1.13)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.12...v0.1.13)
##### Bug fixes
- Fix `"types"` condition-is-first check when there's preceding conditions that has it's `"types"` condition too. This is common for dual ESM-CJS packages where `"types"` are located within `"require"` and `"import"` conditions. ([https://github.com/bluwy/publint/issues/47](https://togithub.com/bluwy/publint/issues/47))
- Temporarily skip `"types"` condition check when `"typesVersions"` key exist. The `"typesVersions"` key requires a complex resolution algorithm that is harder to implement, so a quick patch is applied to remove the false errors for now. ([https://github.com/bluwy/publint/issues/42](https://togithub.com/bluwy/publint/issues/42))
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.12...v0.1.13
### [`v0.1.12`](https://togithub.com/bluwy/publint/releases/tag/v0.1.12)
[Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.11...v0.1.12)
##### Features
- Support `--strict` flag in CLI to elevate warnings as errors ([https://github.com/bluwy/publint/issues/38](https://togithub.com/bluwy/publint/issues/38))
##### Bug fixes
- Handle `.native.js` extensions correctly ([https://github.com/bluwy/publint/issues/41](https://togithub.com/bluwy/publint/issues/41))
##### Site
- Fix search input autocapitalize and autocorrect on mobile
**Full Changelog**: https://github.com/bluwy/publint/compare/v0.1.11...v0.1.12
Configuration
📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^0.1.11
->^0.2.0
Release Notes
bluwy/publint (publint)
### [`v0.2.0`](https://togithub.com/bluwy/publint/releases/tag/v0.2.0) [Compare Source](https://togithub.com/bluwy/publint/compare/v0.1.16...v0.2.0) ##### Breaking changes **Note:** If you're using `publint` from the CLI, these breaking changes should not affect you. - `publint()` now returns an object with `messages` instead of the `messages` array directly. This makes way for future APIs where `publint` will return more information than just `messages`. ```diff - const messages = await publint() + const { messages } = await publint() ``` - Rename `printMessage` API to `formatMessage` to better reflect it's intent. ([https://github.com/bluwy/publint/issues/43](https://togithub.com/bluwy/publint/issues/43)) ```diff - import { printMessage } from "publint/utils" + import { formatMessage } from "publint/utils" const { messages } = await publint() for (const message of messages) { - console.log(printMessage(message)) + console.log(formatMessage(message)) } ``` - Remove `filePath` `arg` for the `FILE_DOES_NOT_EXIST` message. ```diff import type { Message } from "publint" import { getPkgPathValue } from "publint/utils" function messageToString(message: Message, pkg: RecordConfiguration
📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.