generated from farahmandakbar26/desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e1f9f18
Showing
2,460 changed files
with
1,046,649 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# These folders contain scripts to enhance the code coverage reports and are | ||
# already ignored by .gitignore, but because they live under app and script they | ||
# might be included when linting | ||
node_modules | ||
app/node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,222 @@ | ||
root: true | ||
parser: '@typescript-eslint/parser' | ||
plugins: | ||
- '@typescript-eslint' | ||
- react | ||
- json | ||
- jsdoc | ||
|
||
settings: | ||
react: | ||
version: '16.3' | ||
|
||
extends: | ||
- prettier | ||
- prettier/react | ||
- plugin:@typescript-eslint/recommended | ||
- prettier/@typescript-eslint | ||
- plugin:github/react | ||
|
||
rules: | ||
########## | ||
# CUSTOM # | ||
########## | ||
insecure-random: error | ||
react-no-unbound-dispatcher-props: error | ||
react-readonly-props-and-state: error | ||
react-proper-lifecycle-methods: error | ||
no-loosely-typed-webcontents-ipc: error | ||
|
||
########### | ||
# PLUGINS # | ||
########### | ||
|
||
# TYPESCRIPT | ||
'@typescript-eslint/naming-convention': | ||
- error | ||
- selector: interface | ||
format: | ||
- PascalCase | ||
custom: | ||
regex: '^I[A-Z]' | ||
match: true | ||
- selector: class | ||
format: | ||
- PascalCase | ||
- selector: variableLike | ||
format: null | ||
custom: | ||
# Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar we | ||
# should probably be using the following expression here (newlines added for readability) | ||
# | ||
# ^(break|case|catch|class|const|continue|debugger|default|delete|do|else|export| | ||
# extends|finally|for|function|if|import|in|instanceof|new|return|super|switch|this| | ||
# throw|try|typeof|var|void|while|with|yield|enum|implements|interface|let|package| | ||
# private|protected|public|static|await|abstract|boolean|byte|char|double|final|float| | ||
# goto|int|long|native|short|synchronized|throws|transient|volatile|null|true|false)$ | ||
# | ||
# But that'll cause a bunch of errors, for now we'll stick with replicating what the | ||
# variable-name ban-keywords rule did for us in tslint | ||
# see https://palantir.github.io/tslint/rules/variable-name/ | ||
regex: '^(any|Number|number|String|string|Boolean|boolean|Undefined|undefined)$' | ||
match: false | ||
'@typescript-eslint/consistent-type-assertions': | ||
- error | ||
- assertionStyle: 'as' | ||
'@typescript-eslint/no-unused-expressions': error | ||
'@typescript-eslint/explicit-member-accessibility': error | ||
'@typescript-eslint/no-unused-vars': | ||
- error | ||
- args: 'none' | ||
'@typescript-eslint/no-use-before-define': | ||
- error | ||
- functions: false | ||
variables: false | ||
typedefs: false | ||
'@typescript-eslint/member-ordering': | ||
- error | ||
- default: | ||
- static-field | ||
- static-method | ||
- field | ||
- abstract-method | ||
- constructor | ||
- method | ||
'@typescript-eslint/no-extraneous-class': error | ||
'@typescript-eslint/no-empty-interface': error | ||
# Would love to be able to turn this on eventually | ||
'@typescript-eslint/no-non-null-assertion': off | ||
|
||
# This rule does a lot of good but right now it catches way | ||
# too many cases, we're gonna want to pay down this debt | ||
# incrementally if we want to enable it. | ||
'@typescript-eslint/ban-types': off | ||
|
||
# It'd be nice to be able to turn this on eventually | ||
'@typescript-eslint/no-var-requires': off | ||
|
||
# Don't particularly care about these | ||
'@typescript-eslint/triple-slash-reference': off | ||
'@typescript-eslint/explicit-module-boundary-types': off | ||
'@typescript-eslint/no-explicit-any': off | ||
'@typescript-eslint/no-inferrable-types': off | ||
'@typescript-eslint/no-empty-function': off | ||
'@typescript-eslint/no-redeclare': error | ||
|
||
# React | ||
react/jsx-boolean-value: | ||
- error | ||
- always | ||
react/jsx-key: error | ||
react/jsx-no-bind: error | ||
react/no-string-refs: error | ||
react/jsx-uses-vars: error | ||
react/jsx-uses-react: error | ||
react/no-unused-state: error | ||
react/no-unused-prop-types: error | ||
react/prop-types: | ||
- error | ||
- ignore: ['children'] | ||
|
||
# JSDoc | ||
jsdoc/check-alignment: error | ||
jsdoc/check-tag-names: error | ||
jsdoc/check-types: error | ||
jsdoc/implements-on-classes: error | ||
jsdoc/tag-lines: | ||
- error | ||
- any | ||
- startLines: 1 | ||
jsdoc/no-undefined-types: error | ||
jsdoc/valid-types: error | ||
|
||
# Would love to enable these at some point but | ||
# they cause way to many issues now. | ||
#jsdoc/check-param-names: error | ||
#jsdoc/require-jsdoc: | ||
# - error | ||
# - publicOnly: true | ||
|
||
########### | ||
# BUILTIN # | ||
########### | ||
curly: error | ||
no-new-wrappers: error | ||
# We'll use no-redeclare from @typescript/eslint-plugin instead as that | ||
# supports overloads | ||
no-redeclare: off | ||
no-eval: error | ||
no-sync: error | ||
no-var: error | ||
prefer-const: error | ||
eqeqeq: | ||
- error | ||
- smart | ||
strict: | ||
- error | ||
- global | ||
no-buffer-constructor: error | ||
no-restricted-imports: | ||
- error | ||
- paths: | ||
- name: electron | ||
importNames: ['ipcRenderer'] | ||
message: | ||
"Please use 'import * as ipcRenderer' from 'ipc-renderer' instead to | ||
get strongly typed IPC methods." | ||
- name: electron/renderer | ||
importNames: ['ipcRenderer'] | ||
message: | ||
"Please use 'import * as ipcRenderer' from 'ipc-renderer' instead to | ||
get strongly typed IPC methods." | ||
- name: electron | ||
importNames: ['ipcMain'] | ||
message: | ||
"Please use 'import * as ipcMain' from 'ipc-main' instead to get | ||
strongly typed IPC methods." | ||
- name: electron/main | ||
importNames: ['ipcMain'] | ||
message: | ||
"Please use 'import * as ipcMain' from 'ipc-main' instead to get | ||
strongly typed IPC methods." | ||
|
||
########### | ||
# SPECIAL # | ||
########### | ||
no-restricted-syntax: | ||
- error | ||
# no-default-export | ||
- selector: ExportDefaultDeclaration | ||
message: Use of default exports is forbidden | ||
|
||
########### | ||
# jsx-a11y # | ||
########### | ||
|
||
# autofocus is fine when it is being used to set focus to something in a way | ||
# that doesn't skip any context or inputs. For example, in a named dialog, if you had | ||
# a close button, a heading reflecting the name, and a labelled text input, | ||
# focusing the text input wouldn't disadvantage a user because they're not | ||
# missing anything of importance before it. The problem is when it is used on | ||
# larger web pages, e.g. to focus a form field in the main content, entirely | ||
# skipping the header and often much else besides. | ||
jsx-a11y/no-autofocus: | ||
- off | ||
|
||
overrides: | ||
- files: '*.d.ts' | ||
rules: | ||
strict: | ||
- error | ||
- never | ||
- files: 'app/test/**/*' | ||
rules: | ||
'@typescript-eslint/no-non-null-assertion': off | ||
- files: 'script/**/*' | ||
rules: | ||
'@typescript-eslint/no-non-null-assertion': off | ||
|
||
parserOptions: | ||
sourceType: module | ||
ecmaFeatures: | ||
jsx: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/app/test/fixtures/** -text | ||
/app/static/win32/github.sh eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
# Contributing to GitHub Desktop | ||
|
||
:+1: :tada: :sparkling_heart: Thanks for your interest! :sparkling_heart: :tada: :+1: | ||
|
||
The following is a set of guidelines for contributing to GitHub Desktop and its | ||
related projects, which are hosted in the [Desktop organization](https://github.com/desktop) | ||
on GitHub. These are just guidelines, not rules. Use your best judgment, and | ||
feel free to propose changes to this document in a pull request. | ||
|
||
Note that GitHub Desktop is an evolving project, so expect things to change over | ||
time as the team learns, listens and refines how we work with the community. | ||
|
||
#### Table Of Contents | ||
|
||
- [What should I know before I get started?](#what-should-i-know-before-i-get-started) | ||
* [Code of Conduct](#code-of-conduct) | ||
* [The Roadmap](#the-roadmap) | ||
|
||
- [How Can I Contribute?](#how-can-i-contribute) | ||
* [Reporting Bugs](#reporting-bugs) | ||
* [Suggesting Enhancements](#suggesting-enhancements) | ||
* [Help Wanted](#help-wanted) | ||
|
||
- [Process Documentation](#process-documentation) | ||
|
||
## What should I know before I get started? | ||
|
||
### Code of Conduct | ||
|
||
This project adheres to the Contributor Covenant [code of conduct](../CODE_OF_CONDUCT.md). | ||
By participating, you are expected to uphold this code. | ||
Please report unacceptable behavior to [opensource+desktop@github.com](mailto:opensource+desktop@github.com). | ||
|
||
### The Roadmap | ||
|
||
We are working on a roadmap you can read [here](https://github.com/desktop/desktop/blob/development/docs/process/roadmap.md). | ||
The immediate milestones are more detailed, and the latter milestones are more | ||
fuzzy and subject to change. | ||
|
||
If you have ideas or suggestions please read the | ||
[Suggesting Enhancements](#suggesting-enhancements) section below to understand | ||
how to contribute your feedback. | ||
|
||
## How Can I Contribute? | ||
|
||
### Reporting Bugs | ||
|
||
This section guides you through submitting a bug report for GitHub Desktop. | ||
Following these guidelines helps maintainers and the community understand your | ||
report :pencil:, reproduce the behavior :computer: :computer:, and find related | ||
reports :mag_right:. | ||
|
||
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) | ||
as you might find out that you don't need to create one. When you are creating | ||
a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). | ||
Fill out the required template, the information it asks for helps us resolve issues faster. | ||
|
||
#### Before Submitting A Bug Report | ||
|
||
**Perform a [cursory search](https://github.com/desktop/desktop/labels/bug)** | ||
to see if the problem has already been reported. If it does exist, add a | ||
:thumbsup: to the issue to indicate this is also an issue for you, and add a | ||
comment to the existing issue if there is extra information you can contribute. | ||
|
||
#### How Do I Submit A Bug Report? | ||
|
||
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). | ||
|
||
Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=bug_report.md) | ||
and fill out the provided issue template. | ||
|
||
The information we are interested in includes: | ||
|
||
- details about your environment - which build, which operating system | ||
- details about reproducing the issue - what steps to take, what happens, how | ||
often it happens | ||
- other relevant information - log files, screenshots, etc | ||
|
||
### Suggesting Enhancements | ||
|
||
This section guides you through submitting an enhancement suggestion for | ||
GitHub Desktop, including completely new features and minor improvements to | ||
existing functionality. Following these guidelines helps maintainers and the | ||
community understand your suggestion :pencil: and find related suggestions | ||
:mag_right:. | ||
|
||
Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion) | ||
as you might find out that you don't need to create one. When you are creating | ||
an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). | ||
Fill in [the template](ISSUE_TEMPLATE/problem-to-raise.md), including the steps | ||
that you imagine you would take if the feature you're requesting existed. | ||
|
||
#### Before Submitting An Enhancement Suggestion | ||
|
||
**Perform a [cursory search](https://github.com/desktop/desktop/labels/enhancement)** | ||
to see if the enhancement has already been suggested. If it has, add a | ||
:thumbsup: to indicate your interest in it, or comment if there is additional | ||
information you would like to add. | ||
|
||
#### How Do I Submit An Enhancement Suggestion? | ||
|
||
Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). | ||
|
||
Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=feature_request.md) | ||
and fill out the provided issue template. | ||
|
||
Some additional advice: | ||
|
||
* **Use a clear and descriptive title** for the feature request | ||
* **Provide a step-by-step description of the suggested enhancement** | ||
This additional context helps the maintainers understand the enhancement from | ||
your perspective | ||
* **Explain why this enhancement would be useful** to GitHub Desktop users | ||
* **Include screenshots and animated GIFs** if relevant to help you demonstrate | ||
the steps or point out the part of GitHub Desktop which the suggestion is | ||
related to. You can use [this tool](http://www.cockos.com/licecap/) to record | ||
GIFs on macOS and Windows | ||
* **List some other applications where this enhancement exists, if applicable** | ||
|
||
### Help Wanted | ||
|
||
As part of building GitHub Desktop, we'll identify tasks that are good for | ||
external contributors to pick up. These tasks: | ||
|
||
- have low impact, or have a known workaround | ||
- should be addressed | ||
- have a narrow scope and/or easy reproduction steps | ||
- can be worked on independent of other tasks | ||
|
||
These issues will be labelled as [`help wanted`](https://github.com/desktop/desktop/labels/help%20wanted) | ||
in the repository. If you are interested in contributing to the project, please | ||
comment on the issue to let the core team (and the community) know you are | ||
interested in the issue. | ||
|
||
### Set Up Your Machine | ||
|
||
Start [here](https://github.com/desktop/desktop/blob/development/docs/contributing/setup.md). | ||
|
||
|
||
## Process Documentation | ||
|
||
These documents are useful resources for contributors to learn more about the project and how it is run: | ||
|
||
- [Teams](https://github.com/desktop/desktop/blob/development/docs/process/teams.md) | ||
- [Release Planning](https://github.com/desktop/desktop/blob/development/docs/process/release-planning.md) | ||
- [Issue Triage](https://github.com/desktop/desktop/blob/development/docs/process/issue-triage.md) | ||
- [Issue and Pull Request Labels](https://github.com/desktop/desktop/blob/development/docs/process/labels.md) | ||
- [Pull Requests](https://github.com/desktop/desktop/blob/development/docs/process/pull-requests.md) |
Oops, something went wrong.