{"id":25177537,"url":"https://github.com/coveo/search-ui","last_synced_at":"2025-05-15T10:06:38.905Z","repository":{"id":37484504,"uuid":"58133471","full_name":"coveo/search-ui","owner":"coveo","description":"Coveo Search UI framework","archived":false,"fork":false,"pushed_at":"2025-04-26T01:24:36.000Z","size":196596,"stargazers_count":132,"open_issues_count":7,"forks_count":77,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-26T02:44:05.711Z","etag":null,"topics":["coveo","coveo-search","coveo-search-ui","javascript","jsui","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":false,"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/coveo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-05-05T13:41:09.000Z","updated_at":"2025-04-26T01:24:38.000Z","dependencies_parsed_at":"2024-01-09T17:54:45.421Z","dependency_job_id":"86747c93-0b8d-480a-8406-46b912066e7d","html_url":"https://github.com/coveo/search-ui","commit_stats":{"total_commits":3395,"total_committers":74,"mean_commits":45.87837837837838,"dds":0.7419734904270987,"last_synced_commit":"7a3e25396e1bde96ebc995d9167ad471f33748ac"},"previous_names":[],"tags_count":629,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coveo%2Fsearch-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coveo%2Fsearch-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coveo%2Fsearch-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coveo%2Fsearch-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coveo","download_url":"https://codeload.github.com/coveo/search-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253870867,"owners_count":21976613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["coveo","coveo-search","coveo-search-ui","javascript","jsui","typescript"],"created_at":"2025-02-09T14:26:11.031Z","updated_at":"2025-05-15T10:06:33.893Z","avatar_url":"https://github.com/coveo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Search UI [![Build Status](https://travis-ci.org/coveo/search-ui.svg?branch=master)](https://travis-ci.org/coveo/search-ui) [![Coverage Status](https://coveralls.io/repos/github/coveo/search-ui/badge.svg?branch=master)](https://coveralls.io/github/coveo/search-ui?branch=master) [![CodeFactor](https://www.codefactor.io/repository/github/coveo/search-ui/badge)](https://www.codefactor.io/repository/github/coveo/search-ui) [![TypeScript](https://badges.frapsoft.com/typescript/code/typescript.svg?v=101)](https://github.com/ellerbrock/typescript-badges/)\n\nCoveo JavaScript Search UI Framework\n\n\u003cimg id='readme-image' src='https://raw.githubusercontent.com/coveo/search-ui/master/readme.png' /\u003e\n\n## ⚠️ **Disclaimer** ⚠️\n\nThe [JavaScript Search Framework](https://docs.coveo.com/en/375/javascript-search-framework/use-the-coveo-javascript-search-framework-classic) is currently in maintenance mode.\n\nTo create a new project, we recommend checking out the [Atomic](https://docs.coveo.com/en/atomic/latest/) and [Headless](https://docs.coveo.com/en/headless/latest/) frameworks.\n\n## Installation\n\nYou should install the Coveo JavaScript Search UI Framework as an npm package:\n\n    npm install --save coveo-search-ui\n\nAll resources will be available under `node_modules/coveo-search-ui/bin`. You can include those in your pages with `\u003cscript\u003e` tags. This will make the variable `Coveo` globally available in your page.\n\nIf you are using a module bundler (Browserify, Webpack, rollup, etc.), you can use `require('coveo-search-ui')` or `import * as Coveo from 'coveo-search-ui'`.\n\nAlternatively, you can download the Coveo JavaScript Search UI Framework (see [Downloading the JavaScript Search Framework](https://docs.coveo.com/en/319/javascript-search-framework/downloading-the-javascript-search-framework)).\n\n## Including the Resources from a CDN\n\nSince the April 2017 release, it is possible to access the resources of any specific Coveo JavaScript Search Framework\nofficial release (from version `1.2537` on) through a content delivery network (CDN).\n\nYou can simply use a URL such as `https://static.cloud.coveo.com/searchui/v[VERSION]/[PATH_TO_FILE]`, where you\nreplace `[VERSION]` by the actual release version number you wish to use and `[PATH_TO_FILE]` by the path of the file\nyou require.\n\nFor quick access to the latest CDN links, see [JavaScript Search Framework CDN Links](https://docs.coveo.com/en/2075/javascript-search-framework/javascript-search-framework-cdn-links).\n\n**Example:**\n\n\u003e The following tags include the `1.2537` version (April 2017 release) of the `CoveoJsSearch.min.js`, `templateNew.js`\n\u003e and `CoveoFullSearchNewDesign.css` files.\n\u003e\n\u003e ```\n\u003e \u003chead\u003e\n\u003e\n\u003e   [ ... ]\n\u003e\n\u003e   \u003cscript src=\"https://static.cloud.coveo.com/searchui/v1.2537/js/CoveoJsSearch.min.js\"\u003e\u003c/script\u003e\n\u003e   \u003cscript src=\"https://static.cloud.coveo.com/searchui/v1.2537/js/templates/templatesNew.js\"\u003e\u003c/script\u003e\n\u003e   \u003clink rel=\"stylesheet\" href=\"https://static.cloud.coveo.com/searchui/v1.2537/css/CoveoFullSearchNewDesign.css\" /\u003e\n\u003e\n\u003e   [ ... ]\n\u003e\n\u003e  \u003c/head\u003e\n\u003e ```\n\n## Basic Usage\n\n```\n\u003c!-- Include the library scripts. --\u003e\n\u003cscript src=\"js/CoveoJsSearch.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"js/templates/templates.js\"\u003e\u003c/script\u003e\n\n\u003c!-- Each DOM element with a class starting with \"Coveo\" (uppercase) will instantiate a component. --\u003e\n\u003cbody id=\"search\" class='CoveoSearchInterface'\u003e\n\n    \u003c!-- Each DOM element with a class starting with \"coveo-\" (lowercase) is strictly for CSS/alignment purpose. --\u003e\n    \u003cdiv class='coveo-search-section'\u003e\n\n        \u003c!-- Any Coveo component can be removed (or added); none is actually required for the page to \"load\". --\u003e\n        \u003cdiv class=\"CoveoSearchbox\"\u003e\u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003c!-- The \"data-\" attributes of each component allow you to pass options to this specific component instance. --\u003e\n    \u003cdiv class=\"CoveoFacet\" data-title=\"Author\" data-field=\"@author\" data-tab=\"All\"\u003e\u003c/div\u003e\n    \u003cdiv class=\"CoveoFacet\" data-title=\"Year\" data-field=\"@year\" data-tab=\"All\"\u003e\u003c/div\u003e\n    \u003cscript\u003e\n        // The following line shows you how you could configure an endpoint against which to perform your search.\n        // Coveo.SearchEndpoint.configureCloudEndpoint('MyCoveoCloudEndpointName', 'my-authentication-token');\n\n        // We provide a sample endpoint with public sources for demo purposes.\n        Coveo.SearchEndpoint.configureSampleEndpoint();\n\n        // Initialize the framework by targeting the root in the interface.\n        // It does not have to be the document body.\n        Coveo.init(document.body);\n    \u003c/script\u003e\n\u003c/body\u003e\n```\n\nYou can find more examples of fully configured pages in the `./pages` folder.\n\nA tutorial is available to help you get started (see\n[Coveo JavaScript Search UI Framework Getting Started Tutorial](https://levelup.coveo.com/learn/courses/jsui)).\n\n## Build\n\nYou should have node 10.x installed to build this project.\n\n    npm install -g yarn\n    yarn global add gulp\n    yarn install\n    gulp\n\n## Important Gulp Tasks\n\n* `gulp default`: Builds the entire project (CSS, templates, TypeScript, etc.)\n* `gulp compile`: Builds only the TypeScript code and generates its output in the `./bin` folder.\n* `gulp unitTests`: Builds and runs the unit tests.\n* `gulp doc`: Generates the documentation website for the project.\n* `gulp dev`: Starts a webpack dev server for the project.\n* `gulp devTest`: Starts a webpack dev server for the unit tests.\n\n## Dev Server\n\nMake sure you were able to run `gulp` entirely without any errors first. Then you can start the dev-server:\n\n    gulp dev\n\nThis will start a webpack-dev-server instance (see\n[Webpack Dev Server](https://webpack.github.io/docs/webpack-dev-server.html)).\n\nYou can now load [http://localhost:8080/index.html](http://localhost:8080/index.html) in a web browser.\n\nAny time you hit **Save** in a source file, the bundle will be recompiled and the dev page will reload.\n\nIf you need to modify the content of the search page (i.e., the markup itself, not the TypeScript code), modify the\n`index.html` page under `./bin`. This page is not committed to the repository, so you do not have to worry about\nbreaking anything. However, if you feel like you have a good reason to modify the original `index.html`, feel free to\ndo so.\n\nYou might need to assign more memory to Webpack if you see errors about `heap out of memory`. To do so, use this command :\n\n    node --max_old_space_size=8192 ./node_modules/gulp/bin/gulp.js dev;\n\n### Tests\n\nTests are written using [Jasmine](http://jasmine.github.io/2.4/introduction.html). You can use `npm run test` to run\nthe tests in Chrome Headless.\n\nIf you wish to write new unit tests, you can do so by starting a new webpack-dev-server instance.\n\nTo start the server, run `gulp devTest`.\n\nLoad [http://localhost:8081/tests/SpecRunner.html](http://localhost:8081/tests/SpecRunner.html).\n\nEvery time you hit **Save** in a source file, the dev server will reload and re-run your tests.\n\nCode coverage will be reported in `./bin/coverage`\n\n### Accessibility tests\n\nTests are written using [Axe core](https://github.com/dequelabs/axe-core). You can use `npm run accessibilityTests` to run\nthe tests in Chrome Headless.\n\nIf you wish to write new tests, you can do so by starting a new webpack-dev-server instance.\n\nTo start the server, run `gulp devAccessibilityTest`.\n\nLoad [http://localhost:8082/tests/Accessibility.html](http://localhost:8082/tests/Accessibility.html).\n\n## Documentation\n\nGeneral reference documentation is generated using TypeDoc (see\n[Coveo JavaScript Search UI Framework - Reference Documentation](https://coveo.github.io/search-ui/)). The\ngenerated reference documentation lists and describes all available options and public methods for each component.\n\nHandwritten documentation with more examples is also available (see\n[Coveo JavaScript Search UI Framework Home](https://docs.coveo.com/en/375/javascript-search-framework/javascript-search-framework-home)).\n\nA tutorial is also available (see\n[Coveo JavaScript Search UI Framework Getting Started Tutorial](https://levelup.coveo.com/learn/courses/jsui)).\nIf you are new to the Coveo JavaScript Search UI Framework, you should definitely consult this tutorial, as it contains\nvaluable information.\n\nYou can also use Coveo Search to find answers to any specific issues/questions (see the\n[Coveo Community Portal](https://support.coveo.com/s/search/All/Home/%40uri)).\n\n## Issues and questions\n\nPlease use the [Coveo community](https://answers.coveo.com) to ask questions or to search for existing solutions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoveo%2Fsearch-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoveo%2Fsearch-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoveo%2Fsearch-ui/lists"}