Files
lancedb/nodejs/README.md
Weston Pace 1453bf4e7a feat: reconfigure typescript linter / formatter for nodejs (#1042)
The eslint rules specify some formatting requirements that are rather
strict and conflict with vscode's default formatter. I was unable to get
auto-formatting to setup correctly. Also, eslint has quite recently
[given up on
formatting](https://eslint.org/blog/2023/10/deprecating-formatting-rules/)
and recommends using a 3rd party formatter.

This PR adds prettier as the formatter. It restores the eslint rules to
their defaults. This does mean we now have the "no explicit any" check
back on. I know that rule is pedantic but it did help me catch a few
corner cases in type testing that weren't covered in the current code.
Leaving in draft as this is dependent on other PRs.
2024-03-04 10:49:08 -08:00

1.1 KiB

(New) LanceDB NodeJS SDK

It will replace the NodeJS SDK when it is ready.

Development

npm run build
npm t

Running lint / format

LanceDb uses eslint for linting. VSCode does not need any plugins to use eslint. However, it may need some additional configuration. Make sure that eslint.experimental.useFlatConfig is set to true. Also, if your vscode root folder is the repo root then you will need to set the eslint.workingDirectories to ["nodejs"]. To manually lint your code you can run:

npm run lint

LanceDb uses prettier for formatting. If you are using VSCode you will need to install the "Prettier - Code formatter" extension. You should then configure it to be the default formatter for typescript and you should enable format on save. To manually check your code's format you can run:

npm run chkformat

If you need to manually format your code you can run:

npx prettier --write .

Generating docs

npm run docs

cd ../docs
# Asssume the virtual environment was created
# python3 -m venv venv
# pip install -r requirements.txt
. ./venv/bin/activate
mkdocs build