Skip to content

v8.0.0-rc.8-dev.15

@StevenMcClankerton StevenMcClankerton tagged this 07 Sep 15:10
## Linked issue

n/a — small change; no Linear ticket.

## At a glance

```text
Expected one of: now() | uuid()
```

Previously, both alternatives were labelled `function call`.

## Summary

Include the pinned function name in attribute parsing errors so users
can identify the accepted calls.

## Decision

Use `${name}()` as the `funcCall` label. `oneOf` already aggregates
alternative labels, so it needs no changes.

## How it fits together

1. Each function-call combinator labels itself with its expected callee.
2. Failed alternatives produce the existing aggregate diagnostic with
those names.
3. A regression test checks that both `now()` and `uuid()` appear when
neither matches.

## Testing performed

- `pnpm build --filter=@internal/psl-parser...`
- `pnpm --filter @internal/psl-parser test` — 654 tests passed.
- `pnpm --filter @internal/psl-parser typecheck` — passed.
- `pnpm --filter @internal/psl-parser lint` — passed.

## Skill update

No update required: this improves diagnostic wording without changing
attribute syntax or authoring workflows.

## Checklist

- [x] All commits are signed off (`git commit -s`).
- [x] I read CONTRIBUTING.md and the change is scoped to one logical
concern.
- [x] Tests are updated.
- [ ] The PR title is in `TML-NNNN: <sentence-case title>` form —
omitted by request; no Linear ticket.
- [x] The Skill update section is filled in.

## Notes for the reviewer

Only combinator labels change; matching and argument parsing remain
unchanged.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved parser error messages for function-call alternatives by
displaying expected function names, such as `now()` and `uuid()`,
instead of a generic label.
- Improved syntax diagnostics for undeclared fields by highlighting the
precise field name causing the issue.

- **Tests**
- Added coverage to verify that failed alternatives are listed clearly
in aggregated diagnostics.
- Added coverage to confirm accurate diagnostic spans for undeclared
fields.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Steven McClankerton <tatarintsev@prisma.io>
Co-authored-by: Steven McClankerton <tatarintsev@prisma.io>
Assets 2
Loading