You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DEVELOPMENT.md 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ## Developing Vaadin Core Elements
  2. Each Vaadin element has it's own GitHub repository, where development is done. The vaadin-core-element project is just a top-level bundle without actual production code.
  3. Familiarize yourself with the code and try to follow the same syntax conventions to make it easier for us to accept your pull requests.
  4. The following instructions are common for all Vaadin core elements. **Replace `vaadin-combo-box` with any other element in the following examples**. Check the element readmes for any special development notes.
  5. ### Getting the code
  6. 1. Clone the element project from GitHub:
  7. ```shell
  8. $ git clone https://github.com/vaadin/vaadin-combo-box.git
  9. ```
  10. 2. Install [Node](https://nodejs.org/en/download/). It comes bundled with [npm](https://npmjs.com), which is needed to install other tooling.
  11. 3. Install [Bower](http://bower.io) using [npm](https://npmjs.com):
  12. ```shell
  13. $ npm install -g bower
  14. ```
  15. > If you encounter permission issues when running `npm` see the article about [fixing npm permissions](https://docs.npmjs.com/getting-started/fixing-npm-permissions) on npmjs.com
  16. 4. Use Bower to install the dependencies of the element:
  17. ```shell
  18. $ cd vaadin-combo-box
  19. $ bower install
  20. ```
  21. ### Running demos
  22. 1. Install [polyserve](https://github.com/PolymerLabs/polyserve) using [npm](https://npmjs.com):
  23. ```shell
  24. $ npm install -g polyserve
  25. ```
  26. 2. Start a local server in the project root directory:
  27. ```shell
  28. $ cd vaadin-combo-box
  29. $ polyserve
  30. ```
  31. 3. Open the following URLs in your browser:
  32. - Demo: http://localhost:8080/components/vaadin-combo-box/demo/
  33. - Generated API documentation: http://localhost:8080/components/vaadin-combo-box/
  34. ### Running tests
  35. Install [Web Component Tester](https://github.com/Polymer/web-component-tester) using [npm](https://npmjs.com):
  36. ```shell
  37. $ npm install -g web-component-tester
  38. ```
  39. Tests can be run with the `wct` task from the element directory:
  40. ```shell
  41. $ cd vaadin-combo-box
  42. $ wct
  43. ```
  44. You can also run and debug the tests manually:
  45. ```shell
  46. $ cd vaadin-combo-box
  47. $ polyserve
  48. ```
  49. - Open http://localhost:8080/components/vaadin-combo-box/test/ in your browser.
  50. You should include new tests in your pull requests if you add features to the elements or if you are fixing a bug.
  51. ### Documentation
  52. We follow the same [style guide](http://polymerelements.github.io/style-guide/) as Polymer.
  53. ### Contributor License Agreement
  54. When you send a pull request to any of our repositories, you get an automated comment response about the CLA. It will notify you if you haven’t signed the CLA yet, and in that case instructions how to do it. You need to do this once per earch repository. Before we can accept any of your code contributions, you need to sign the CLA.