This library can be used both on the server-side and on the client-side. The library's source is in ES6 and during build time, we transpile it to ES5 and generate two artifacts - one that can be used on the server-side and another that uses Browserify and can be used on the client side.
Install via npm
npm install --save typesense
Install peer dependencies:
npm install --save @babel/runtime
Include the minified JS file for use in the browser directly
Read the documentation here: https://typesense.org/api/
Tests are also a good place to know how the library works internally: test
Note: When using this library in a browser, please be sure to use an API Key that only allows search operations instead of the
master API key. See doc/examples/server/keys.js for an example of how to generate a search only API key.
Here are some examples with inline comments that walk you through how to use the client: doc/examples
To run the examples, from the repo root:
npm run typesenseServer node doc/examples/server/bulkImport.js
Building UI components
Checkout the Typesense-InstantSearch.js (which uses typesense-js) for UI components you can use to quickly build powerful instant search experiences.
|>= v0.19.0||>= v0.11.0|
|>= v0.18.0||>= v0.10.0|
|>= v0.17.0||>= v0.9.0|
|>= v0.16.0||>= v0.8.0|
|>= v0.15.0||>= v0.7.0|
|>= v0.12.1||>= v0.5.0|
|>= v0.12.0||>= v0.4.7|
|<= v0.11||<= v0.3.0|
After checking out the repo, run
npm install to install dependencies. Then run
npm test to run the linter and tests.
To release a new version, we use the np package:
$ npm install --global np $ np # Follow instructions that np shows you
Bug reports and pull requests are welcome on GitHub at https://github.com/typesense/typesense-js.