{"id":45890238,"url":"https://github.com/searchcraft-inc/searchcraft-javascript-sdks","last_synced_at":"2026-02-27T17:32:11.244Z","repository":{"id":320282223,"uuid":"1081423286","full_name":"searchcraft-inc/searchcraft-javascript-sdks","owner":"searchcraft-inc","description":"Monorepo containing framework-specific JavaScript SDKs for use in front-end consuming applications of Searchcraft.","archived":false,"fork":false,"pushed_at":"2026-02-25T02:23:05.000Z","size":6273,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-25T07:38:57.320Z","etag":null,"topics":["javascript","react","sdk","search","search-engine","searchcraft","typescript","vue","web-components"],"latest_commit_sha":null,"homepage":"https://docs.searchcraft.io/sdks/javascript/overview/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/searchcraft-inc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"}},"created_at":"2025-10-22T19:04:52.000Z","updated_at":"2026-02-17T00:33:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ba32218-f009-4480-9f2f-790516c962a7","html_url":"https://github.com/searchcraft-inc/searchcraft-javascript-sdks","commit_stats":null,"previous_names":["searchcraft-inc/searchcraft-javascript-sdks"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/searchcraft-inc/searchcraft-javascript-sdks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searchcraft-inc%2Fsearchcraft-javascript-sdks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searchcraft-inc%2Fsearchcraft-javascript-sdks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searchcraft-inc%2Fsearchcraft-javascript-sdks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searchcraft-inc%2Fsearchcraft-javascript-sdks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/searchcraft-inc","download_url":"https://codeload.github.com/searchcraft-inc/searchcraft-javascript-sdks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searchcraft-inc%2Fsearchcraft-javascript-sdks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29906335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T17:28:36.873Z","status":"ssl_error","status_checked_at":"2026-02-27T17:28:20.970Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","react","sdk","search","search-engine","searchcraft","typescript","vue","web-components"],"created_at":"2026-02-27T17:32:10.726Z","updated_at":"2026-02-27T17:32:11.230Z","avatar_url":"https://github.com/searchcraft-inc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"Searchcraft\" src=\"./header.png\"\u003e\n\u003ch1 align=\"center\"\u003eSearchcraft JavaScript SDKs\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\nThis project is a monorepo containing framework-specific javascript SDKs for use in front-end consuming applications of \u003ca href=\"https://searchcraft.io\"\u003eSearchcraft\u003c/a\u003e, the developer-first vertical search engine.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nTo use these SDKs, you either install the \u003ca href=\"https://www.npmjs.com/package/@searchcraft/javascript-sdk\"\u003eJS\u003c/a\u003e, \u003ca href=\"https://www.npmjs.com/package/@searchcraft/react-sdk\"\u003eReact\u003c/a\u003e or \u003ca href=\"https://www.npmjs.com/package/@searchcraft/vue-sdk\"\u003eVue\u003c/a\u003e SDK via NPM. Svelte and SolidJS developers may use the JS SDK web components.\n\u003c/p\u003e\n\n\n## Development Documentation\n\n- [Development Documentation](#development-documentation)\n- [Technologies](#technologies)\n- [Tooling](#tooling)\n- [Local Development](#local-development)\n  - [Installation](#installation)\n  - [Building](#building)\n  - [Building for WordPress](#building-for-wordpress)\n  - [Storybook](#storybook)\n  - [Versioning](#versioning)\n  - [Publishing](#publishing)\n- [Project Structure](#project-structure)\n  - [Core Package](#core-package)\n  - [Stencil Web Components](#stencil-web-components)\n- [Issues](#issues)\n\n---\n\nEach SDK provides the following functionality to the consumer:\n\n- Pre-built components and functionality for the consuming application for the purpose of rendering search forms, search results, and filtering, AI summarization, and more. The SDKs are the quickest way to build a front-end application with Searchcraft.\n- Communicates with Searchcraft via the Searchcraft API.\n- State management of search results, filtering, and settings.\n- Ability to render ads in-line with search results if that ability is enabled (reach out to Searchcraft to enable).\n- Analytics events sent to the Searchcraft anaytics platform for viewing on the Vektron dashboard. For self-hosted, this will go to your own Clickhouse cluster via the engine `/measure` endpoint (if enabled).\n\nYou may also be interested in our [React](https://github.com/searchcraft-inc/vite-react-searchcraft-template) and [Vue](https://github.com/searchcraft-inc/vite-vue-searchcraft-template) Vite templates, which provide a starting point for building a front-end application with Searchcraft. The templates include the SDKs and all necessary configuration for getting started.\n\n## Technologies\n\n- yarn workspaces (yarn classic)\n- Stencil\n- Typescript\n\n## Tooling\n\n- Stencil output targets\n- typedoc\n- vite\n- Storybook\n- lerna\n- biomejs\n- nodemon\n- Github Actions\n- `yalc`\n\n## Local Development\n\n### Installation\n\nInstall dependencies with `yarn install`.\n\n### Building\n\nUse the build script for local development. The build script handles all of the necessary build steps and build order. It can also handle watching the files and re-running the build during the course of development\n\n```bash\nnode build.mjs [package-alias] [--watch] [--yalc]\n```\n\nFor complete documentation on the build script, refer to the comment header in [build.mjs](build.mjs).\n\n**Note**: To use the `--yalc` flag, you must have yalc installed on your machine.\n\n### Building for WordPress\n\nTo build the JavaScript SDK for WordPress, use the `--wordpress` flag. This will exclude the `AdMarketplaceClient` and `NativoClient` from the build. You'll then need to manually copy the `javascript-sdk` dist output to the `wordpress` plugin directory.\n\n### Storybook\n\nThe one of the workspaces in the project is `compendium`, which is responsible for managing the storybook stories for the SDKs.\n\nTo view storybook, run:\n\n- `yarn storybook:react` (React-based stories)\n- `yarn storybook:vue` (Vue-based stories)\n\nKeeping `compendium` up-to-date is crucial and should be continuously referenced during the course of development.\n\n### Versioning\n\nWe use [semver](https://semver.org/) (semantic versioning) for our versioning system.\n\n### Publishing\n\nA GitHub action is set up to handle publishing to NPM. `lerna.json` is the source of truth for our versioning system.\n\nTo publish:\n\n1. From the `development` branch, create a new branch called `version-x.x.x`.\n2. Push this branch upstream.\n3. Update CHANGELOG.md with the changes for this version.\n4. Run `yarn create-version` and follow the prompts to select a major, minor, or patch version. The script will automatically increment the yarn workspace package's version numbers and push a commit to your branch.\n5. On GitHub, pull request to merge the changes up to main: `version-x.x.x` -\u003e `development`, and then `development` -\u003e `main`.\n6. When `development` is merged into `main`, the action will run, which will publish the changes to npm.\n\n## Project Structure\n\n### Core Package\n\n- `javascript-sdk` is the core package containing both the shared business logic (SearchcraftCore class) AND the Stencil web components\n- The other SDKs (react-sdk, vue-sdk) consume @searchcraft/javascript-sdk\n\n### Stencil Web Components\n\nThe stencil web components (`javascript-sdk`) serve as the base UI package for all the other framework SDKs. The components for other frameworks are generated by the stencil build. Output targets are specified by `stencil.config.ts`. The `javascript-sdk` can be thought of as the `core-ui` package.\n\n## Issues\n\nPlease file issues in the [Searchcraft Issues](https://github.com/searchcraft-inc/searchcraft-issues) repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsearchcraft-inc%2Fsearchcraft-javascript-sdks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsearchcraft-inc%2Fsearchcraft-javascript-sdks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsearchcraft-inc%2Fsearchcraft-javascript-sdks/lists"}