Skip to content

Commit

Permalink
Move the remaining RN wiki content to website (facebook#3120)
Browse files Browse the repository at this point in the history
Co-authored-by: Lorenzo Sciandra <[email protected]>
Co-authored-by: Anthony Cyrille <[email protected]>
Co-authored-by: Nicola Corti <[email protected]>
  • Loading branch information
4 people authored Jun 21, 2022
1 parent 34bf6e3 commit eac2dbd
Show file tree
Hide file tree
Showing 33 changed files with 1,186 additions and 105 deletions.
3 changes: 3 additions & 0 deletions .alexignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ CODE_OF_CONDUCT.md

# We will handle the older blog posts later.
website/blog/201*

# Alex attempts to scan License files from the website output.
website/build/
10 changes: 6 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to React Native
# Contributing to React Native website

Thank you for your interest in contributing to the React Native website! From commenting on and triaging issues, to reviewing and sending Pull Requests, all contributions are welcome. We aim to build a vibrant and inclusive [ecosystem of partners, core contributors, and community](https://github.com/facebook/react-native/blob/main/ECOSYSTEM.md) that goes beyond the main React Native GitHub repository.

Expand All @@ -7,10 +7,12 @@ The [Open Source Guides](https://opensource.guide/) website has a collection of
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Building Welcoming Communities](https://opensource.guide/building-community/)

### [Code of Conduct](https://github.com/facebook/react/blob/main/CODE_OF_CONDUCT.md)
### Code of Conduct

As a reminder, all contributors are expected to adhere to the [Code of Conduct](https://github.com/facebook/react/blob/main/CODE_OF_CONDUCT.md).
As a reminder, all contributors are expected to adhere to the [Code of Conduct](https://github.com/facebook/react-native-website/blob/main/CODE_OF_CONDUCT.md).

## Ways to Contribute

Please see our [Contributing Guide](https://github.com/facebook/react-native/blob/main/CONTRIBUTING.md) in the main React Native repository.
Please see our [Contributing Guide](https://reactnative.dev/contributing/overview) on the React Native website.

If you are interested specifically in contributing to the React Native website check out [Contributing section](https://github.com/facebook/react-native-website#-contributing) in the React Native website repository README file.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ If you are looking for the source code of the [React Native Archive website](htt

## 📖 Overview

If you would like to **_contribute an edit or addition to the docs,_** read through our [style guide](STYLEGUIDE.md) before you write anything.
If you would like to **_contribute an edit or addition to the docs,_** read through our [style guide](STYLEGUIDE.md) before you write anything.
Almost all our content is generated from markdown files you can find in the `docs`, `website/architecure` and `website/contibuting` directories.

**_To edit the internals of how the site is built,_** you may want to get familiarized with how the site is built. The React Native website is a static site generated using [Docusaurus](https://docusaurus.io/).
**_To edit the internals of how the site is built,_** you may want to get familiarized with how the site is built. The React Native website is a static site generated using [Docusaurus](https://docusaurus.io/).
The website configuration can be found in the `website` directory. Visit the Docusaurus website to learn more about all the available configuration options.

### Directory Structure
Expand Down Expand Up @@ -96,9 +96,9 @@ react-native-website/

### Documentation sources

As mentioned above, the `docs` folder contains the source files for docs from "Guides", "Components" and "APIs" tabs on the React Native website (versioned docs).
The doc files for the "Architecture" and "Contribution" tabs are located inside `website` in the respective directories (unversioned/static docs).
In most cases, you will only want to edit the files within those directories.
As mentioned above, the `docs` folder contains the source files for docs from "Guides", "Components" and "APIs" tabs on the React Native website (versioned docs).
The doc files for the "Architecture" and "Contribution" tabs are located inside `website` in the respective directories (unversioned/static docs).
In most cases, you will only want to edit the files within those directories.

If you're adding a new doc or you need to alter the order the docs appear in the sidebar, take a look at the `sidebars.json`, `sidebarsArchitecture.json` and `sidebarsContributing.json` files in the `website` directory. The sidebar files contains a list of document ids that should match those defined in the header metadata (aka frontmatter) of the docs markdown files.

Expand Down
8 changes: 4 additions & 4 deletions website/architecture/bundled-hermes.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Please note that this page serves as a technical deep dive and is targeted for u

## What is 'Bundled Hermes'

Starting with React Native 0.69.0, every version of React Native will be **built alongside** to a Hermes version. We call this distribution model **Bundled Hermes**.
Starting with React Native 0.69.0, every version of React Native will be **built alongside** to a Hermes version. We call this distribution model **Bundled Hermes**.

From 0.69 on, you will always have a JS engine that has been built and tested alongside each React Native version that you can use.

Expand Down Expand Up @@ -65,7 +65,7 @@ dependencies {

Prior to React Native 0.69, users will be consuming `hermes-debug.aar` and `hermes-release.aar` from the `hermes-engine` NPM package.

On React Native 0.69, users will be consuming the Android multi-variant artifacts available inside the `android/com/facebook/react/hermes-engine/` folder in the `react-native` NPM package.
On React Native 0.69, users will be consuming the Android multi-variant artifacts available inside the `android/com/facebook/react/hermes-engine/` folder in the `react-native` NPM package.
Please also note that we're going to [remove the dependency](https://github.com/facebook/react-native/blob/c418bf4c8fe8bf97273e3a64211eaa38d836e0a0/package.json#L105) on `hermes-engine` entirely in one of the future version of React Native.

#### Android Users on New Architecture
Expand All @@ -91,10 +91,10 @@ Users building React Native App, with the New Architecture, on Windows machines

### Can users still use another engine?

Yes, users are free to enable/disable Hermes (with the `enableHermes` variable on Android, `hermes_enabled` on iOS).
Yes, users are free to enable/disable Hermes (with the `enableHermes` variable on Android, `hermes_enabled` on iOS).
The 'Bundled Hermes' change will impact only **how Hermes is built and bundled** for you.

Please note that, at the time of writing, the default for `enableHermes`/`hermes_enabled` is `false`.
Please note that, at the time of writing, the default for `enableHermes`/`hermes_enabled` is `false`.
We're looking into updating the template to have it default to `true` in the near future.

## How this will impact contributor and extension developers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ authors: [SamuelSusla]
tags: [engineering]
---

# Preparing Your App for iOS 15 and Android 12

Hello everyone!

With new mobile OS versions releasing late this year, we recommend preparing your React Native apps beforehand to avoid regressions when the releases become generally available.
Expand Down
2 changes: 0 additions & 2 deletions website/blog/2022-01-19-version-067.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ authors: [kelset, lunaleaps]
tags: [announcement, release]
---

# Announcing 0.67

Happy new year everyone! Today we are announcing the latest release of React Native, 0.67.0, along with some updates on the release process that we have been working on in the past few months.

### Sections
Expand Down
2 changes: 0 additions & 2 deletions website/blog/2022-01-21-react-native-h2-2021-recap.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ authors: [cortinico]
tags: [announcement]
---

# React Native - H2 2021 Recap

While we're all still excited for the [release of React Native 0.67](/blog/2022/01/19/version-067), we want to take a moment to **celebrate** what the community achieved in the last half and share what we have on the **horizon** for the future of React Native.

<!--truncate-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ tags: [announcement]
date: 2022-03-15
---

# An update on the New Architecture Rollout

Hi everyone,
[As previously announced](/blog/2022/01/21/react-native-h2-2021-recap#the-new-architecture-rollout-and-releases):

Expand Down Expand Up @@ -84,7 +82,7 @@ Work on the 0.68 pre-release has realized much of [the improved release process

We’re happy to share that with 0.68 we were able to:

- Successfully onboard release work to an internal rotation. Much of this is supported by [improved documentation](/contributing/how-to-contribute) on the release process which will reduce the bus factor of the release process.
- Successfully onboard release work to an internal rotation. Much of this is supported by [improved documentation](/contributing/overview) on the release process which will reduce the bus factor of the release process.
- Initiated discussions with partners to support a [Copilot rotation](/contributing/release-roles-responsibilities#release-role-2--release-copilot). We hope this effort will improve transparency of the process and inform our partners where to invest to support React Native releases and eco-system.
- [Onboarded several Release Supporters and Testers from the community](https://github.com/reactwg/react-native-releases/discussions/11). We had put a call-out for help last half and so many folks stepped up! The feedback from our testers and supporters have **helped us fix crucial bugs** and regressions, especially around the new architecture, for the upcoming release. Thank you to everyone who signed up and tested out the release!

Expand Down
2 changes: 0 additions & 2 deletions website/blog/2022-03-30-version-068.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ authors: [kelset, shikaSD]
tags: [announcement, release]
---

# Announcing 0.68

Hello everyone! Today we are announcing the 0.68.0 release of React Native, with opt-in to the New React Native Architecture, bug fixes and more.

### Sections
Expand Down
27 changes: 27 additions & 0 deletions website/contributing/bots-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Bots Reference
---

## pull-bot

This pull request linter bot performs basic sanity checks whenever a pull request is created. It might leave a comment on a pull request if it is unable to find a test plan or a changelog in the description, or if it notices that the pull request was not opened against the `main` branch. This bot uses [Danger](https://danger.systems), and its configuration can be found in the [`dangerfile.js`](https://github.com/facebook/react-native/blob/main/bots/dangerfile.js).

## analysis-bot

The code analysis bot collects feedback from tools such as Prettier, eslint, and Flow whenever a commit is added to a pull request. If any of these tools finds issues with the code, the bot will add these as inline review comments on the pull request. Its configuration can be found in the [`analyze_code.sh`](https://github.com/facebook/react-native/blob/main/scripts/circleci/analyze_code.sh) file in core repository.

## label-actions

A bot that acts on an issue or pull request based on a label. Configured in [`.github/respond-to-issue-based-on-label.yml`](https://github.com/facebook/react-native/blob/main/.github/respond-to-issue-based-on-label.yml).

## github-actions

A bot that performs actions defined in a GitHub workflow. Workflows are configured in [`.github/workflows`](https://github.com/facebook/react-native/tree/main/.github/workflows).

## facebook-github-bot

The Facebook GitHub Bot is used across several open source projects at Meta. In the case of React Native, you will most likely encounter it when it pushes a merge commit to `main` after a pull request is successfully imported to Facebook's internal source control. It will also let authors know if they are missing a Contributor License Agreement.

## react-native-bot

The React Native bot is a tool that helps us automate several processes described in this wiki. Configured in [`hramos/react-native-bot`](https://github.com/hramos/react-native-bot).
65 changes: 65 additions & 0 deletions website/contributing/changelogs-in-pull-requests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: Changelogs in Pull Requests
---

The changelog entry in your pull request serves as a sort of "tl;dr:" for your changes: do they affect Android? are these breaking changes? is something new being added?

Providing a changelog using a standardized format helps release coordinators write release notes. Please include a changelog as part of your pull request description. Your pull request description will be used as the commit message should the pull request get merged.

### Format

A changelog entry has the following format

```
## Changelog:
[Category] [Type] - Message
```

The "Category" field may be one of:

- **Android**, for changes that affect Android.
- **iOS**, for changes that affect iOS.
- **General**, for changes that do not fit any of the other categories.
- **Internal**, for changes that would not be relevant to developers consuming the release notes.

The "Type" field may be one of:

- **Added**, for new features.
- **Changed**, for changes in existing functionality.
- **Deprecated**, for soon-to-be removed features.
- **Removed**, for now removed features.
- **Fixed**, for any bug fixes.
- **Security**, in case of vulnerabilities.

Finally, the "Message" field may answer "what and why" on a feature level. Use this to briefly tell React Native users about notable changes.

For more detail, see [How do I make a good changelog?](https://keepachangelog.com/en/1.0.0/#how) and [Why keep a changelog?](https://keepachangelog.com/en/1.0.0/#why)

### Examples

- `[General] [Added] - Add snapToOffsets prop to ScrollView component`
- `[General] [Fixed] - Fix various issues in snapToInterval on ScrollView component`
- `[iOS] [Fixed] - Fix crash in RCTImagePicker`

### FAQ

#### What if my pull request contains changes to both Android and JavaScript?

Use the Android category.

#### What if my pull request contains changes to both Android and iOS?

Use the General category if the change is made in a single pull request.

#### What if my pull request contains changes to Android, iOS, and JavaScript?

Use the General category if the change is made in a single pull request.

#### What if...?

Any changelog entry is better than none. If you are unsure if you have picked the right category, use the "message" field to succinctly describe your change.

These entries are used by the [`@rnx-kit/rn-changelog-generator`](https://github.com/microsoft/rnx-kit/tree/main/incubator/rn-changelog-generator) script to build a rough draft, which is then edited by a release coordinator.

Your notes will be used to add your change to the correct location in the final release notes.
Loading

0 comments on commit eac2dbd

Please sign in to comment.