A fast starter / seed project to extend the Coveo Javascript Framework
This project is meant to display a working starting point for a project that wish to extend the Coveo Javascript Search Framework with additional components.
Node JS => 8.0
- Fork / clone the repository.
npm installat the top of the repository.npm run buildat the top of the repository.- Open
./bin/Index.htmlin a browser. You should get a working search page with a bigHello Worldmessage at the top of the search page.
The code is written in typescript and compiled using webpack
-
Under the
pagesfolder, you have a working search page. At build time, it is copied to thebinfolder.- It references 2 style sheets (the base one from the Coveo Javascript Search Framework, and the one from the extension).
- It references 3 javascript file (the extension one built in this project, and the basic templates and library scripts).
-
Under the
srcfolder, you have all the typescript source code.- The
src/ui/HelloWorld.tsfile is a sample/demo component - The
src/Index.tsfile is the starting point of the application.
- The
-
Under the
sassfolder, you have all the css for the extension. -
Under the
testsfolder, you have all the tests for the custom components. -
This project is also used in the Search UI tutorial. You are invited to consult this tutorial if you are unfamilar with Coveo. The last few steps of the tutorial explains an advanced integration with a custom component written in Typescript. It explains how to transform the Hello World component into something useful.
npm run setupwill copy the needed ressources (index.html,templates, etc.) in thebinfolder.npm run csswill build the sass files into a css file in thebinfolder.npm run buildwill run thesetup,csstask, then compile the typescript code.
npm run watch will start a webpack dev server. After it finishes, load http://localhost:3000 in a browser, and the index.html page should load.
Then, anytime you hit save in a typescript file, the server will reload your application.
npm run testwill execute the tests one time and give you the reportnpm run watchTestwill watch changes and reexecute the tests and coverage when saving a file.
If you are using Visual Studio Code, you can install the following extensions:
Shows inline linter problems in the code based on the tslint.json file. This will ensure that you are consistent with the formatting standards.