Skip to content

Commit

Permalink
Apply Prettier to all Markdown files (mdn#5546)
Browse files Browse the repository at this point in the history
  • Loading branch information
queengooborg authored and Elchi3 committed Jan 23, 2020
1 parent ce2fcb1 commit 8202081
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 68 deletions.
38 changes: 25 additions & 13 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,29 @@
## Roles and Responsibilities

### Community members

_Everyone_ who is involved in any form with the project must abide by the project’s [Contribution Guidelines](https://github.com/mdn/browser-compat-data/blob/master/CODE_OF_CONDUCT.md) and Commit Access Guidelines. Everyone is expected to be respectful of fellow community members and to work collaboratively respective of the Code of Conduct (CPG). Consequences for not adhering to these Guidelines are listed in their respective documents.

### Users

Users are community members who have a need for the project. They are typically consumers of the compat data (see [data consumers](https://github.com/mdn/browser-compat-data#projects-using-the-data)). Anyone can be a User; there are no special requirements and the data is licensed under [CC0](https://github.com/mdn/browser-compat-data/blob/master/LICENSE). Common User contributions include evangelizing the project (e.g., display a link on a website and raise awareness through word-of-mouth), informing developers of strengths and weaknesses from a new user perspective, or providing moral support (a “thank you” goes a long way).

Users who continue to engage with the project and its community will often become more and more involved. Such Users may find themselves becoming [Contributors](#Contributors), as described in the next section.

### Contributors

Contributors are community members who contribute in concrete ways to the project, most often in the form of data updates, code and/or documentation. Anyone can become a Contributor, and contributions can take many forms. There is no expectation of commitment to the project, no specific skill requirements, and no selection process. We do expect contributors to follow Mozilla’s Contribution Guidelines.

Contributors:

- Have read-only access to source code and therefore can submit changes via pull requests.
- Have their contribution reviewed and merged by a [Peer](#Peers) or [Owner](#Owners). Owners and Peers work with Contributors to review their code and prepare it for merging.
- May also review pull requests. This can be helpful, but their approval or disapproval is not decisive for merging or not merging PRs.

As Contributors gain experience and familiarity with the project, their profile within, and commitment to, the community will increase. At some stage, they may find themselves being nominated for becoming a Peer by an existing Peer or Owner.

### Peers

Peers are community members who have shown that they are committed to the continued development of the project through ongoing engagement with the community. Peers are given push/write access to the project’s GitHub repos.

Peers:
Expand All @@ -47,6 +52,7 @@ New Peers can be nominated by any existing Peers. Once they have been nominated,
It is important to recognize that being a Peer is a privilege, not a right. That privilege must be earned and once earned it can be removed by the Owners. However, under normal circumstances the Peer status exists for as long as the Peer wishes to continue engaging with the project. Inactive Peers (no activity on the project for longer for a few months or more) might be marked as inactive or removed by the Owners and may re-enter when they choose to contribute again.

#### List of current peers

- Rachel Andrew (@rachelandrew)
- Richard Bloor (@rebloor), Mozilla (contractor)
- Vinyl Darkscratch (@vinyldarkscratch)
Expand All @@ -59,6 +65,7 @@ It is important to recognize that being a Peer is a privilege, not a right. That
A Peer who shows an above-average level of contribution to the project, particularly with respect to its strategic direction and long-term health, may be nominated to become an Owner, described below.

### Owners

The mdn-browser-compat-data project is jointly governed by the [Mozilla MDN staff team](https://wiki.mozilla.org/Engagement/MDN_Durable_Team#Team_Members), the [MDN Product Advisory Board Members](https://developer.mozilla.org/en-US/docs/MDN/MDN_Product_Advisory_Board/Members), and the [Owner group](#list-of-current-owners). They are collectively responsible for high-level guidance of the project.

The [Owner group](#list-of-current-owners) has final authority over this project including:
Expand Down Expand Up @@ -92,6 +99,7 @@ To become an Owner one must fulfill at least the following conditions and commit
An individual is invited to become an Owner by existing Owners. A nomination will result in discussion and then a decision by the Owner group.

#### List of current Owners

- Florian Scholz (@Elchi3), Mozilla, BCD project lead
- Daniel Beck (@ddbeck)
- Will Bamberg (@wbamberg), Mozilla
Expand All @@ -105,9 +113,11 @@ Some Owners or Peers are also [MDN Content Curators](https://developer.mozilla.o
Peers might also be representatives of browser vendors and have expertise and/or access to browser-specific information within their company. Their company name is listed in the Peer list.

## Owner-delegate rule

Owners may, at their discretion, nominate an owner-delegate to carry out a task or make a decision ordinarily carried out by an Owner. Delegation should be limited in duration or scope, or both; delegation may be withdrawn by any Owner at any time. For example, an Owner may nominate an owner-delegate to approve an infrastructure PR or to publish npm packages for a set time or number of releases.

## Decision Making

Decision making generally follows a [Consensus-seeking decision-making](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) model.

When an agenda item has appeared to reach a consensus, the moderator will ask “Does anyone object?” as a final call for dissent from the consensus.
Expand All @@ -121,8 +131,9 @@ Please note that this project is made available using the
so anyone contributing should only submit data if they know they have the right to submit it under CC0. If you're not sure about that, just ask.

## Project Meetings

There are no recurrent project meetings; they are scheduled when required at a time that works for the owners, and using tools that enable participation by the community. The meeting is run by a designated moderator approved by the owners group.
Meetings will typically be held when there are particularly important items to review, such as modifications of governance, contribution policy, owner membership, or release process.
Meetings will typically be held when there are particularly important items to review, such as modifications of governance, contribution policy, owner membership, or release process.

Any community member or Peer can ask that something be added to the next meeting’s agenda by logging a GitHub Issue. Peers can add the item to the agenda by adding the [meeting-agenda](https://github.com/mdn/browser-compat-data/labels/meeting-agenda) label to the issue and Contributors can ask Peers to add the label for them.

Expand All @@ -136,18 +147,19 @@ The moderator is responsible for summarizing the discussion of each agenda item

## Privileges and responsibilities matrix

| Privilege / responsibility | Everyone / Users | Contributors | Peers | Owners |
| --- | --- | --- | --- | --- |
| Abide to Code of Conduct |||||
| Evangelize the project |||||
| Make use of the data, fork it, repackage it, etc. |||||
| Open pull requests or issues | ||||
| Review pull requests or comment on issues | ||||
| Label issues and PRs | | |||
| Merge compat data PRs | | |||
| Merge schema, linter, infrastructure or policy changes | | | ||
| Release new npm package versions | | | ||
| Merge to branches directly (without pull requests) | | | ||
| Privilege / responsibility | Everyone / Users | Contributors | Peers | Owners |
| ------------------------------------------------------ | ---------------- | ------------ | ----- | ------ |
| Abide to Code of Conduct | | | | |
| Evangelize the project | | | | |
| Make use of the data, fork it, repackage it, etc. | | | | |
| Open pull requests or issues | | | | |
| Review pull requests or comment on issues | | | | |
| Label issues and PRs | | | | |
| Merge compat data PRs | | | | |
| Merge schema, linter, infrastructure or policy changes | | | | |
| Release new npm package versions | | | | |
| Merge to branches directly (without pull requests) | | | | |

## Credits

This work is a derivative of [ESLint Governance](https://github.com/eslint/eslint.github.io/blob/master/docs/maintainer-guide/governance.md), [YUI Contributor Model](https://github.com/yui/yui3/wiki/Contributor-Model), and the [JS Foundation TAC Charter](https://github.com/JSFoundation/TAC).
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@ browser support for APIs. For example:
Read how this project is [governed](https://github.com/mdn/browser-compat-data/blob/master/GOVERNANCE.md).

## Installation

You can install mdn-browser-compat-data as a node package.

```
npm install mdn-browser-compat-data
```

## Usage

```js
const bcd = require('mdn-browser-compat-data');
bcd.css.properties.background;
Expand All @@ -40,7 +43,7 @@ JSON file containing the compatibility data.
- [css/](https://github.com/mdn/browser-compat-data/tree/master/css) contains data for [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) properties, selectors, and at-rules.

- [html/](https://github.com/mdn/browser-compat-data/tree/master/html) contains data for
[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) elements, attributes, and global attributes.
[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) elements, attributes, and global attributes.

- [http/](https://github.com/mdn/browser-compat-data/tree/master/http) contains data for [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP) headers, statuses, and methods.

Expand All @@ -59,6 +62,7 @@ JSON file containing the compatibility data.
- [xslt/](https://github.com/mdn/browser-compat-data/tree/master/xslt) contains data for [XSLT](https://developer.mozilla.org/docs/Web/XSLT) elements, attributes, and global attributes.

## Format of the browser compat json files

The definitive description of the format used to represent compatibility data is the [schema file](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data.schema.json).
You can also have a look at the [schema documentation](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md).

Expand All @@ -71,13 +75,14 @@ If you find a problem, please [file a bug](https://github.com/mdn/browser-compat
We're very happy to accept contributions to this data. See [Contributing to browser-compat-data](/docs/contributing.md) for more information.

## Projects using the data

Here are some projects using the data, as an [npm module](https://www.npmjs.com/browse/depended/mdn-browser-compat-data) or directly:

* [Add-ons Linter](https://github.com/mozilla/addons-linter) - the Add-ons Linter is used on [addons.mozilla.org](https://addons.mozilla.org/) and the [web-ext](https://github.com/mozilla/web-ext/) tool. It uses browser-compat-data to check that the Firefox version that the add-on lists support for does in fact support the APIs used by the add-on.
* [Browser Compatibility Data Explorer](https://github.com/connorshea/mdn-compat-data-explorer) - View, search, and visualize data from the compatibility dataset.
* [caniuse](https://caniuse.com/) - In addition to the existing caniuse database, caniuse includes features from the MDN BCD project, formatted and interactive like any other caniuse support table.
* [Compat Report](https://addons.mozilla.org/en-US/firefox/addon/compat-report/) - Firefox Add-on that shows compatibility data for the current site in the developer tools.
* [compat-tester](https://github.com/SphinxKnight/compat-tester) - Scan local documents for compatibility issues.
* [Visual Studio Code](https://code.visualstudio.com) - Shows the compatibility information in [the code completion popup](https://code.visualstudio.com/updates/v1_25#_improved-accuracy-of-browser-compatibility-data).
* [webhint.io](https://webhint.io/docs/user-guide/hints/hint-compat-api/) - Hints to check if your CSS HTML and JavaScript have deprecated or not broadly supported features.
* [WebStorm](https://www.jetbrains.com/webstorm/whatsnew/#v2019-1-html-and-css) - JavaScript IDE allowing you to check whether all CSS properties you use are supported in the target browser version.
- [Add-ons Linter](https://github.com/mozilla/addons-linter) - the Add-ons Linter is used on [addons.mozilla.org](https://addons.mozilla.org/) and the [web-ext](https://github.com/mozilla/web-ext/) tool. It uses browser-compat-data to check that the Firefox version that the add-on lists support for does in fact support the APIs used by the add-on.
- [Browser Compatibility Data Explorer](https://github.com/connorshea/mdn-compat-data-explorer) - View, search, and visualize data from the compatibility dataset.
- [caniuse](https://caniuse.com/) - In addition to the existing caniuse database, caniuse includes features from the MDN BCD project, formatted and interactive like any other caniuse support table.
- [Compat Report](https://addons.mozilla.org/en-US/firefox/addon/compat-report/) - Firefox Add-on that shows compatibility data for the current site in the developer tools.
- [compat-tester](https://github.com/SphinxKnight/compat-tester) - Scan local documents for compatibility issues.
- [Visual Studio Code](https://code.visualstudio.com) - Shows the compatibility information in [the code completion popup](https://code.visualstudio.com/updates/v1_25#_improved-accuracy-of-browser-compatibility-data).
- [webhint.io](https://webhint.io/docs/user-guide/hints/hint-compat-api/) - Hints to check if your CSS HTML and JavaScript have deprecated or not broadly supported features.
- [WebStorm](https://www.jetbrains.com/webstorm/whatsnew/#v2019-1-html-and-css) - JavaScript IDE allowing you to check whether all CSS properties you use are supported in the target browser version.
22 changes: 11 additions & 11 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ The repository is made available under the terms the [Creative Commons CC0 Publi

There are many ways you can help improve this repository! For example:

* **Add new compat data**: familiarize yourself with the [schema](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data.schema.json) and read the [schema docs](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md) and [data guidelines](data-guidelines.md) to add new files.
* **Fix existing compat data**: maybe a browser now supports a certain feature. Yay! If you open a PR to fix a browser's data, it would be most helpful if you include a link to a bug report or similar so that we can double-check the good news.
* **Fix a bug:** we have a list of [issues](https://github.com/mdn/browser-compat-data/issues),
or maybe you found your own.
* **Review a pull request:** there is a list of [PRs](https://github.com/mdn/browser-compat-data/pulls).
Let us know if these look good to you.
- **Add new compat data**: familiarize yourself with the [schema](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data.schema.json) and read the [schema docs](https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md) and [data guidelines](data-guidelines.md) to add new files.
- **Fix existing compat data**: maybe a browser now supports a certain feature. Yay! If you open a PR to fix a browser's data, it would be most helpful if you include a link to a bug report or similar so that we can double-check the good news.
- **Fix a bug:** we have a list of [issues](https://github.com/mdn/browser-compat-data/issues),
or maybe you found your own.
- **Review a pull request:** there is a list of [PRs](https://github.com/mdn/browser-compat-data/pulls).
Let us know if these look good to you.

## Updating compatibility tables on MDN

Expand All @@ -44,9 +44,9 @@ The process is:
This typically happens within a day of the release of the npm package.
4. Tables are generated on MDN:

* Existing tables automatically regenerate monthly.
- Existing tables automatically regenerate monthly.
Alternatively, logged-in MDN users can [force-refresh a page](https://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache#Bypassing_cache) to regenerate it.
* For new pages, you must add the [`{{Compat}}`](https://github.com/mdn/kumascript/blob/master/macros/Compat.ejs) macro to the page.
- For new pages, you must add the [`{{Compat}}`](https://github.com/mdn/kumascript/blob/master/macros/Compat.ejs) macro to the page.
For instructions, see [Inserting the data into MDN pages](https://developer.mozilla.org/en-US/docs/MDN/Contribute/Structures/Compatibility_tables#Inserting_the_data_into_MDN_pages).

Large-scale changes follow a different process. See [Migrations](migrations.md) for details.
Expand All @@ -57,9 +57,9 @@ Before submitting your pull request, [validate your new data against the schema]

Not everything is enforced or validated by the schema. A few things to pay attention to:

* Feature identifiers (the data namespaces, like `css.properties.background`) should make sense and are spelled correctly.
* Nesting of feature identifiers should make sense.
* Notes use correct grammar and spelling. They should be complete sentences ending with a period.
- Feature identifiers (the data namespaces, like `css.properties.background`) should make sense and are spelled correctly.
- Nesting of feature identifiers should make sense.
- Notes use correct grammar and spelling. They should be complete sentences ending with a period.

### Optional: Generating data using the Web API Confluence Dashboard

Expand Down
Loading

0 comments on commit 8202081

Please sign in to comment.