Hi! Thank you for choosing Element UI.
Element UI is a Vue 2.0 based component library for developers, designers and product managers.
We are excited that you are interested in contributing to Element. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.
-
Issues are exclusively for bug reports, feature requests and design-related topics. Other questions may be closed directly. If any questions come up when you are using Element, please hit Gitter for help.
-
Before submitting an issue, please check if similar problems have already been issued.
-
Please specify which version of
ElementandVueyou are using, and provide OS and browser information. JSFiddle is recommended to build a live demo so that your issue can be reproduced clearly.
-
Fork this repository to your own account. Do not create branches here.
-
Commit info should be formatted as
[Component Name]: Info about commit.(e.g.Button: Fix xxx bug) -
DO NOT include files inside
libdirectory. -
Make sure that running
npm run distoutputs the correct files. -
For the sake of compatibility and file size, our babel configuration only imported
preset-2015, so APIs likeArray.prototype.findandObject.assigninES2015are not recommended. You can import third party polyfills if necessary. -
Rebase before creating a PR to keep commit history clear.
-
Make sure PRs are created to
devbranch instead ofmasterbranch. -
If your PR fixes a bug, please provide a description about the related bug.
-
Merging a PR takes two maintainers: one approves the changes after reviewing, and then the other reviews and merges.
Node.js 4+, yarn and npm 3+ are required. Note: we use yarn to lock dependency versions, so you should install dependencies using yarn instead of npm install.
git clone git@github.com:ElemeFE/element.git
npm run dev
# open http://localhost:8085Notice: modify
examples/play/index.vuefile, use the component you contribute, then runnpm run dev:play, go ahead http://localhost:8085, get result, more quickly and friendly.
To build:
npm run dist- Run
make new <component-name>to create project directory for a new component. Test codes, entry file and documentation are included. - Refer to
Buttonfor nested components. - Refer to
Selectfor components that depend on other components.