Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@ of the project and that you are not duplicating work that is already in progress

The project is divided into several components.

### Generated Protobuf Code

The files in `src/generated/` are produced from the `.proto` files in `protos/` by `protobufjs-cli`. Do not edit them
by hand. If you update the `.proto` files or bump `protobufjs-cli`, regenerate them with:

```bash
npm run generate-protos
```

The script generates `flightsql.js` into a separate protobuf root (`-r fsql`). This is required: `flight.js` and
`flightsql.js` both define the `arrow` namespace, and if they shared the default root the second one loaded would
overwrite the first and messages such as `HandshakeRequest` would be missing at runtime. Run the integration tests
after regenerating, since that failure is not caught by the build, type check, or unit tests.

### Flight Client

Unlike other language implementations, JavaScript's arrow package does not yet have utilities for working with Flight.
Expand Down Expand Up @@ -76,3 +90,11 @@ npx jest
```

The integration tests should automatically detect a local server on port 31337 and run against it.

Note for Docker Desktop on macOS: the `local_server` service uses `network_mode: host`, which Docker Desktop
does not pass through to the host, so port 31337 will not be reachable and the tests will fall back to the
containerized `server` hostname and fail. In that case, start the server with an explicit port mapping instead:

```bash
docker run --rm -p 31337:31337 -e TLS_ENABLED=0 -e SQLFLITE_USERNAME=lancedb -e SQLFLITE_PASSWORD=password voltrondata/sqlflite:latest
```
2 changes: 1 addition & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ export default tseslint.config(
plugins: { tsdoc: tsdoclint },
},
{
ignores: ["src/generated/**", "**/jest.config.js"],
ignores: ["src/generated/**", "**/jest.config.js", "dist/**"],
},
);
8,283 changes: 4,709 additions & 3,574 deletions integration_test/package-lock.json

Large diffs are not rendered by default.

21 changes: 9 additions & 12 deletions integration_test/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
{
"name": "do-not-publish",
"version": "0.1.0",
"description": "Dummy package.json for integration testing",
"devDependencies": {
"jest": "^29.7.0",
"ts-jest": "^29.2.5"
},
"dependencies": {

}
}

"name": "do-not-publish",
"version": "0.1.0",
"description": "Dummy package.json for integration testing",
"devDependencies": {
"jest": "^30.5.2",
"ts-jest": "^29.4.14"
},
"dependencies": {}
}
Loading
Loading