Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenDAL Node.js Binding #1204

Closed
8 tasks
Xuanwo opened this issue Jan 19, 2023 · 4 comments
Closed
8 tasks

OpenDAL Node.js Binding #1204

Xuanwo opened this issue Jan 19, 2023 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Jan 19, 2023

In PR #1206, I setup a basic nodejs binding. We need to expose more OpenDAL API to node so that it can be useful.

Plan

Node.js Binding support is at a very early stage.

The first goal of this issue is reading data from service s3 in pure python.

Tasks

Features

  • Operator
  • Object
  • ObjectMetadata
  • ObjectReader (a file-like object which can be read)
  • Service Builders
    • Service S3 (Let's start from s3 first)

Tests

  • Unit Tests
  • Integration Tests

I'm not an experienced node.js developer, welcome anyone who is interested in this issue to walk in and own some parts.

@Xuanwo Xuanwo added the help wanted Extra attention is needed label Jan 19, 2023
@Xuanwo
Copy link
Member Author

Xuanwo commented Mar 3, 2023

Thanks @suyanhanx to build basic IO support! Now we have the following things to do before we can make a 0.1 release of opendal's nodejs binding:

  • Cleanup API to make sure they are aligned with opendal. For example:
    • ObjectMetadata instead of ObjectMeta
    • o.stat instead of o.meta
    • Remove OperatorFactory and we should export our builders.
  • Add ObjectReader/ObjectWriter for streaming read/write
  • Mapping opendal::Error to nodejs native error
  • Add a test suit to make sure our binding works as expect.

@Xuanwo
Copy link
Member Author

Xuanwo commented Mar 3, 2023

Hello, @suyanhanx. Is it possible to use our Node.js bindings on Deno? Additionally, what steps are necessary to enable us to run the bindings in a web browser?

@suyanhanx
Copy link
Member

Is it possible to use our Node.js bindings on Deno?

Yes. But we may need to release it first.

what steps are necessary to enable us to run the bindings in a web browser?

We need to compile the binding to WASM.

@Xuanwo
Copy link
Member Author

Xuanwo commented Mar 30, 2023

Nodejs binding has been released to npm, let's close this issue.

@Xuanwo Xuanwo closed this as completed Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants