Closed cgwrench closed 9 months ago
Welcome @cgwrench! 👋 Sorry you ran into a spot of trouble.
Have you read https://github.com/orgs/retextjs/discussions/96#discussioncomment-7995777 ? I think it is related to what you are seeing.
Thanks @ChristianMurphy for such a quick response. That's exactly the same issue I'm seeing, and changing the loading of the dictionary to follow what's suggested in that discussion has fixed my issue.
Does the README in this repro need to be updated?
I'd lean yes, the documentation should be updated. PRs are welcome! @wooorm feel free to chime in if you feel otherwise.
Well we could change docs of course. Or we can add support for the new, simpler, API? I think I’d prefer that: to support the old and the new interface?
Indeed, want to work on a PR?
Thanks @ChristianMurphy and @wooorm.
I'd love to try and contribute a fix. However, when looking into what might need to change, I found that there are tests that cover the various ways you can register a dictionary[^1]. So I was at a bit of a loss trying to explain why I was seeing the issue I first reported in this issue. I've tracked in down to the version of dictionary-en
. With the repro steps I outlined, I ended up with version 4.0.0 of dictionary-en
, downgrading to version 3.0.0 meant that everything worked as expected.
I'm not sure what the correct change to make is so that retext-spell can handle both versions. Do either of you have an insights you cna share on what the best approach might be?
[^1]: See https://github.com/retextjs/retext-spell/blob/main/test.js#L23-L27, https://github.com/retextjs/retext-spell/blob/main/test.js#L46, and https://github.com/retextjs/retext-spell/blob/main/test.js#L177 for example.
@cgwrench one approach would be to check the typeof
what is passed in.
If it is a fuction
use the existing/old logic, if it is object
use the new logic.
Thanks @ChristianMurphy. I've had a go at implementing this in #27. Let me know if you've got any feedback, or if there are any changes you'd like to see to how I've done this.
nice, thanks!
Initial checklist
Affected packages and versions
6.0.0
Link to runnable example
No response
Steps to reproduce
I attempted to run the example in the project README using the following steps:
Create a new Node project:
Install dependencies:
Copy example:
Run example:
This throw an error:
Expected behavior
I would expect the code to run, with the example output given in the project README produced.
Affected runtime and version
node@21.5.0
Affected package manager and version
npm@10.2.5
Affected OS and version
Arch Linux
Build and bundle tools
No response