diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..4b6513253 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true +charset = utf-8 +end_of_line = crlf +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true +tab_width = 4 + diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..540864dc6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "monthly" + + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "monthly" diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 000000000..0d0b1c994 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1 @@ +_extends: .github diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 000000000..fbce669d3 --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,18 @@ + +# This workflow will do a clean install of node dependencies, build the source code and run tests + +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..c0b9d5014 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": [ + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..05f1ea593 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "${workspaceFolder}/bin/Debug//", + "args": [], + "cwd": "${workspaceFolder}", + "stopAtEntry": false, + "console": "internalConsole" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..0db3279e4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..b358ec78b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,6 @@ +{ + "version": "2.0.0", + "tasks": [ + + ] +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..6694d7308 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @MorganStanley/compose-developers diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..bb6aed814 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,139 @@ +# Contributing + +When contributing to this repository, please first discuss the change you wish +to make via issue, email, or any other method with the owners of this repository +before making a change. + +Please note we have a code of conduct, please follow it in all your interactions +with the project. + +## Before your first pull request + +If you have not previously contributed to the project, +you must first create a *Developer Certificate of Origin* (“DCO”) and include a +reference to this DCO in each of your commits. In addition, if you subsequently +wish to contribute code having a different copyright ownership, then you must create +a new DCO for such contribution. + +To create a DCO please follow these steps: + +1. For code you are contributing, determine who is/are the copyright owner(s). +Please note that your employer may own the copyright in code you have written even +where the code was not created during regular working hours. Copyright law is +variable from jurisdiction to jurisdiction. Accordingly, consult your employer +or a lawyer if you are not sure. +2. Fill out the [DCO](dco/dco_template.md) replacing all `<>` terms as appropriate, and place the +completed DCO in a file under `dco/` or if you are not the copyright +holder then in a file under `dco/-`. + 1. Please note that the name you provide (``) must be your real + (legal) name; we will not accept aliases, pseudonyms or anonymous + contributions. + 1. If you’ve determined that the copyright holder of the code that you’ve + written is an entity other than yourself (e.g., your employer), then + include the legal name of the copyright holder(s) (``). + You must ensure that you are authorized by the copyright holder(s) to be able + to grant the licenses under the DCO for the purpose of contributing to the + project. Negotiating such authorization and administering the terms is + entirely between you and the copyright holder(s). +3. Issue a pull request with the DCO. + +## Pull request process + +When you create a pull request, follow these steps: + +1. Your commit message for the code you are submitting must include a +`“Covered by “` line which indicates your acceptance of the DCO terms and conditions. +`` here is the file name of the DCO. +2. Your commit must include a change to the `NOTICE` file that contains complete +details of any applicable copyright notice for your submission and including any +applicable third party license(s) or other restrictions associated with any part +of your contribution, and of all matters required to be disclosed under such third +party license(s) (such as any applicable copyright, patent, trademark, and attribution +notices, and any notices relating to modifications made to open source software). +Note your contribution must retain all applicable copyright, patent, trademark and +attribution notices. + +## Pull request guidelines + +* Update the README.md/docs with details of changes to the interface. +* Update an existing or add a new testcase for your change. +* Ensure any install or build artifacts are removed from the pull request. +* We generally prefer squashed commits, unless multi-commits add clarity or are required for mixed copyright commits. +* You may merge the Pull Request in once the build has passed and you have the + sign-off of one other developer, or if you do not have permission to do that, + you may request the reviewer to merge it for you. + +## Code of Conduct + +### Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +### Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at composeui [at] morganstanley.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +### Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file diff --git a/DISCLAIMER b/DISCLAIMER new file mode 100644 index 000000000..b98fe2a0c --- /dev/null +++ b/DISCLAIMER @@ -0,0 +1,14 @@ +IN ADDITION, THE FOLLOWING DISCLAIMER APPLIES IN CONNECTION WITH THIS PROGRAM: +THIS SOFTWARE IS LICENSED 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 AND ANY +WARRANTY OF NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER 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. THIS SOFTWARE MAY BE REDISTRIBUTED TO OTHERS ONLY BY EFFECTIVELY +USING THIS OR ANOTHER EQUIVALENT DISCLAIMER IN ADDITION TO ANY OTHER REQUIRED +LICENSE TERMS. diff --git a/README.md b/README.md new file mode 100644 index 000000000..2ac5b8944 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +ComposeUI +========= + +Usage +----- + +Building +-------- + +Development +----------- + +Examples +-------- diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 000000000..e4eaa1b41 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,12 @@ +coverage: + precision: 2 + round: down + range: "70...95" + + status: + project: yes + patch: no + changes: no + +comment: + layout: "diff, flags, files" diff --git a/dco/dco_template.md b/dco/dco_template.md new file mode 100644 index 000000000..414b8f4c3 --- /dev/null +++ b/dco/dco_template.md @@ -0,0 +1,73 @@ +# DEVELOPER CERTIFICATE OF ORIGIN + +Thank you for your interest in the open source software project(s) (the “Project”) maintained or managed by +Morgan Stanley Services Group Inc. (“us” or “we”). The purpose of this Developer Certificate of Origin (the “DCO” or +“Agreement”) is to define the intellectual property license granted by persons or entities that make Contributions +(defined below) to the Project. You, **``**, agree and certify as set forth in this Agreement. You may be +contacted at **``**. + +By submitting a Contribution, including but not limited to by pull request, you agree that you have read and +understood this Agreement and you will be legally bound thereby. In consideration of the opportunity to +participate in the community of Project contributors, you hereby agree to the following terms and conditions in +connection with your present and future Contributions: + +1. **Contributions:** + * The term “Contribution” means any source code, object code, patch, tool, sample, graphic, specification, + manual, documentation, or any other material submitted by you to the Project. + * A Contribution is “submitted” when any form of electronic, verbal, or written communication is sent to the + Project, including but not limited to communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of discussing or + improving software or documentation of the Project (“Communication”). + * Each Communication that is conspicuously marked or designated by you in writing as “Not a Contribution” will + not be considered a Contribution. + * Any Contribution submitted by you to the Project will be under the terms and conditions of this Agreement + without any additional terms or conditions. + +2. **Grant of License:** You hereby grant us and our affiliates, for purposes of the Project, and to recipients of +software distributed by the Project: + * a perpetual, irrevocable, non-exclusive, worldwide, fully paid-up, royalty-free, unrestricted license to + exercise all rights (including sublicensing and commercial exploitation) under all worldwide copyrights, + copyright applications and registrations in the Contribution; and + * a perpetual, irrevocable, non-exclusive, worldwide, full paid-up, royalty-free patent license to make, + have made, use, offer to sell, sell, import, and otherwise transfer your Contribution and derivative works + thereof, where such license applies only to those patent claims licensable by you or your affiliates that + are necessarily infringed by your Contribution alone or by combination of your Contribution with the Project + to which you submitted the Contribution. + +3. **Ownership:** + * Except as set out above, you keep all right, title and interest in your Contribution. + * You represent that: + 1. you are the owner of the Contribution or are otherwise legally entitled to grant the above licenses; + 1. if any third party, including your employer and/or its affiliates, has rights to any intellectual + property included in your Contribution, then (i) each such third party has provided you written permission + to make the Contribution as specified herein or a written waiver of such rights in and to your Contribution, + **`[and (ii) such third party(ies) is/are ]`**; + 1. your Contribution is an original work created by you, and except for third parties who have given + permission to make the Contribution as set forth above, to your knowledge, no other person or entity has + claimed, claims, or has the right to claim any right whatsoever in the Contribution; and + 1. your Contribution includes complete details of any third party license(s) or other restriction(s) + (including, but not limited to, related copyrights, patents and trademarks) of which you are aware and + which are associated with any part of your Contribution, and of all matters required to be disclosed under + such third party licenses (such as all applicable copyright, patent, trademark and attribution notices, and + all modifications made to certain open source software). + +4. **Notice; Inclusion; No Confidentiality:** + * You agree to notify us of any facts or circumstances of which you become aware that would make these + representations inaccurate in any respect. Notices and other communications to be sent as directed in the + applicable Project + * Neither we nor the Project is under any obligation to accept and include your Contribution, or to return it to you. + * You will not, absent a separate written agreement signed by us, impose any confidentiality obligations + on us, and we have not undertaken any obligation to treat any Contributions or other information you have + or will give us as confidential or proprietary information. + * You understand and agree that all Contributions including all personal information you submit with it may + be maintained indefinitely and may be redistributed consistent with the applicable open source license(s). + +5. **Effective Date:** The rights that you grant to us under these terms are effective on the date you first +submit a Contribution to us, even if your submission took place before the date you accept the terms of this Agreement. + +6. **Governing Law; Entire Agreement:** This Agreement is governed by the laws of the State of New York, +without regard to its choice of law provisions, and by the laws of the United States. This Agreement sets +forth the entire understanding and agreement between the parties, and supersedes any previous communications, +representations or agreements, whether oral or written, regarding the subject matter herein. No alteration, waiver, +amendment, change or supplement hereto shall be binding or effective unless the same is set forth in writing +signed by both parties. We may freely assign our rights or obligations under this Agreement.