From 60409bea1842d40bcab8cb552745f11b250b7b2c Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 16 Feb 2016 23:43:41 -0800 Subject: [PATCH] BSD License; CONTRIBUTING.md --- .travis.yml | 6 +- CONTRIBUTING.md | 149 +++++++++++++++++------------------------------- LICENSE | 44 ++++++++------ 3 files changed, 83 insertions(+), 116 deletions(-) diff --git a/.travis.yml b/.travis.yml index 763195c6..69cf1679 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,10 @@ language: node_js node_js: - - "4.1" + - "5" + - "4" before_script: - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start +script: + - npm run lint + - npm test diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 825974cc..297bfde5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,125 +1,78 @@ -# Contributing to this project +# Contributing -The issue tracker is the preferred channel for [bug reports](#bugs), -[features requests](#features), and [submitting pull requests](#pull-requests). +We are open to, and grateful for, any contributions made by the community. - -## Bug reports +## Reporting Issues and Asking Questions -A bug is a _demonstrable problem_ that is caused by the code in the repository. -Good bug reports are extremely helpful - thank you! You can compare the -behaviour against that expected with React Native by using the [React Native -Playground](https://rnplay.org/) +Before opening an issue, please search the [issue +tracker](https://github.com/necolas/react-native-web/issues) to make sure your +issue hasn't already been reported. -Guidelines for bug reports: +## Development -1. **Use the GitHub issue search** — check if the issue has already been - reported or fixed in `master`. +Visit the [Issue tracker](https://github.com/necolas/react-native-web/issues) +to find a list of open issues that need attention. -2. **Isolate the problem** — create a [reduced test - case](http://css-tricks.com/reduced-test-cases/) using this - [codepen](https://codepen.io/necolas/pen/PZzwBR?editors=001). +Fork, then clone the repo: -A good bug report contains as much detail as possible. What is your -environment? What steps will reproduce the issue? What browser(s) and OS -experience the problem? What would you expect to be the outcome? All these -details really help! +``` +git clone https://github.com/your-username/react-native-web.git +``` -Example: +Run the examples: -> Short and descriptive example bug report title -> -> A summary of the issue and the browser/OS environment in which it occurs. If -> suitable, include the steps required to reproduce the bug. -> -> 1. This is the first step -> 2. This is the second step -> 3. Further steps, etc. -> -> `` - a link to the reduced test case -> -> Any other information you want to share that is relevant to the issue being -> reported. This might include the lines of code that you have identified as -> causing the bug, and potential solutions (and your opinions on their -> merits). +``` +npm run examples +``` +### Building - -## Feature requests +``` +npm run build +``` -Feature requests are welcome. But take a moment to find out whether your idea -fits with the scope and aims of the project (i.e., is this for parity with -React Native? does it make sense on the Web?). Please provide as much detail -and context as you think is necessary to make your case. +To create a UMD build: +``` +npm run build:umd +``` - -## Pull requests +### Testing and Linting -Good pull requests - patches, improvements, new features - are a fantastic -help. Please keep them focused in scope and avoid containing unrelated commits. +To run the tests: -**Please ask first** before embarking on any significant pull request (e.g. -implementing new features or components, refactoring code), otherwise you risk -spending a lot of time working on something that the project's developers might -not want to merge into the project. +``` +npm run test +``` -Development commands: +To continuously watch and run tests, run the following: -* `npm run build` – build the library -* `npm run examples` – start the dev server and develop against live examples -* `npm run lint` – run the linter -* `npm run test:watch` – run and watch the unit tests -* `npm test` – run the linter and unit tests +``` +npm run test:watch +``` -Please follow this process for submitting a patch: +To perform linting, run the following: -1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, - and configure the remotes: +``` +npm run lint +``` - ```bash - # Clone your fork of the repo into the current directory - git clone https://github.com//react-native-web - # Navigate to the newly cloned directory - cd react-native-web - # Assign the original repo to a remote called "upstream" - git remote add upstream https://github.com/necolas/react-native-web - ``` +### New Features -2. If you cloned a while ago, get the latest changes from upstream: +Please open an issue with a proposal for a new feature or refactoring before +starting on the work. We don't want you to waste your efforts on a pull request +that we won't want to accept. - ```bash - git checkout master - git pull upstream master - ``` +## Submitting Changes -3. Create a new topic branch (off the main project development branch) to - contain your feature, change, or fix: +* Open a new issue in the [Issue tracker](https://github.com/necolas/react-native-web/issues). +* Fork the repo. +* Create a new feature branch based off the `master` branch. +* Make sure all tests pass and there are no linting errors. +* Submit a pull request, referencing any issues it addresses. - ```bash - git checkout -b - ``` +Please try to keep your pull request focused in scope and avoid including unrelated commits. -4. Commit your changes in logical chunks. Please adhere to these [git commit - message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) - or your code is unlikely be merged into the main project. Use Git's - [interactive rebase](https://help.github.com/articles/interactive-rebase) - feature to tidy up your commits before making them public. +After you have submitted your pull request, we'll try to get back to you as soon as possible. We may suggest some changes or improvements. -5. Locally merge (or rebase) the upstream development branch into your topic branch: - - ```bash - git pull [--rebase] upstream master - ``` - -6. Push your topic branch up to your fork: - - ```bash - git push origin - ``` - -7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) - with a clear title and description. - -**IMPORTANT**: By submitting a patch, you agree to allow the project owner to -license your work under the same license as that used by the project. +Thank you for contributing! diff --git a/LICENSE b/LICENSE index e91c876b..d6a83ef9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,31 @@ -The MIT License (MIT) +BSD License -Copyright (c) 2015 Nicolas Gallagher +For React Native software -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2015-present, Nicolas Gallagher. All rights reserved. +Copyright (c) 2015-present, Facebook, Inc. All rights reserved. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.