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.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ## Developing Vaadin components
  2. Each Vaadin component has it's own GitHub repository, where development is done. The vaadin-core 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 components. **Replace `vaadin-combo-box` with any other component in the following examples**. Check the component readmes for any special development notes.
  5. ### Getting the code
  6. 1. Clone the component 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 component:
  17. ```shell
  18. $ cd vaadin-combo-box
  19. $ bower install
  20. ```
  21. ### Running demos
  22. 1. Install [Polymer CLI](https://github.com/Polymer/polymer-cli) using [npm](https://npmjs.com):
  23. ```shell
  24. $ npm install -g polymer-cli
  25. ```
  26. 2. Start a local server in the project root directory:
  27. ```shell
  28. $ cd vaadin-combo-box
  29. $ polymer serve --port 8080
  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 component 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. $ polymer serve --port 8080
  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 components or if you are fixing a bug.
  51. ### Documentation
  52. We follow the same [style guide](https://www.polymer-project.org/2.0/docs/tools/documentation) 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 each repository. Before we can accept any of your code contributions, you need to sign the CLA.