A framework for building native macOS apps with React.
Перейти к файлу
Tom Underhill ef31e51828
Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291)
* Got npx command line working.

* Generating project folder.

* Added macOS template files.

* Lint fixes

* Remove temp workarounds.

* Make react-native.config.js mac and windows compatible.

* Restore parity of macOS components with iOS because the `react-native init` sample app depends on them: e.g. StatusBar.

* Updated NewAppScreen language for macOS.

* Added `--prerelease` switch to allow installing pre-rerelease versions without prompting as this will be needed in CI.
Made tweaks to templates and fixed template schemes to rename to project name.
2020-04-01 17:22:01 -07:00
.ado Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
.appveyor add flow check to windows ci (#21401) 2019-04-05 11:45:45 -07:00
.circleci Add postInstall step to restore the executable bit on scripts. (#244) 2020-01-29 17:59:18 -08:00
.github merge master 2019-09-24 15:06:48 -07:00
Folly Add postInstall step to restore the executable bit on scripts. (#244) 2020-01-29 17:59:18 -08:00
IntegrationTests Final version update before push to master 2019-09-26 15:13:18 -07:00
Libraries Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
RNTester Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
React Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
ReactAndroid Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
ReactApple Removed geolocation targets from nuspec as they are not longer in the repo. Added <repository type="git" url="$repoUri$" commit="$commitId$" /> which is needed to record the relevent meta data about the publish. Removed an obsolete comment. (#197) 2019-12-02 09:28:08 -08:00
ReactCommon Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
android-patches Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
bots Add Internal and JavaScript categories (#24744) 2019-05-08 03:17:04 -07:00
danger lint fixes 2019-09-18 16:37:05 -07:00
double-conversion Remove nmake (#112) 2019-07-17 13:13:16 -07:00
flow add getEnv to jest's type definition 2019-04-09 14:56:01 -07:00
flow-typed/npm remove deprecated utilities 2019-01-15 13:59:31 -08:00
follybuild Reduce differences between our folly and facebook folly (#138) 2019-08-12 17:25:15 -07:00
glog Add postInstall step to restore the executable bit on scripts. (#244) 2020-01-29 17:59:18 -08:00
gradle/wrapper Quick pass at a bunch of "easy" merges 2019-08-19 12:27:20 -07:00
jest Final version update before push to master 2019-09-26 15:13:18 -07:00
jsc Initial commit of internal changes. 2019-03-01 10:09:07 -08:00
keystores put RN58 back 2019-03-28 13:44:57 -07:00
lib put RN58 back 2019-03-28 13:44:57 -07:00
local-cli Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
metadata Initial commit of internal changes. 2019-03-01 10:09:07 -08:00
packages Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
processor Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
scripts Droid cleanups (#247) 2020-02-11 09:43:58 -08:00
stubs/glog put RN58 back 2019-03-28 13:44:57 -07:00
template Droid cleanups (#247) 2020-02-11 09:43:58 -08:00
third-party-podspecs [RNTester] Add CocoaPods based macOS target. (#211) 2020-01-28 17:01:58 +01:00
tools/build_defs put RN58 back 2019-03-28 13:44:57 -07:00
v8-docker-build Initial commit of internal changes. 2019-03-01 10:09:07 -08:00
website/server Initial commit of internal changes. 2019-03-01 10:09:07 -08:00
.buckconfig put RN58 back 2019-03-28 13:44:57 -07:00
.buckjavaargs
.clang-format Moving ObjC specific clang-format rules to the common config 2019-02-11 13:07:09 -08:00
.editorconfig put RN58 back 2019-03-28 13:44:57 -07:00
.eslintignore Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
.eslintrc put RN58 back 2019-03-28 13:44:57 -07:00
.flowconfig Fix Flow check for macos (#212) 2020-01-03 13:02:40 -08:00
.flowconfig.android Fix Flow check for macos (#212) 2020-01-03 13:02:40 -08:00
.flowconfig.macos Fix Flow check for macos (#212) 2020-01-03 13:02:40 -08:00
.gitattributes
.github.flowconfig.android 'Re-sync with internal repository' 2018-08-16 16:16:49 -07:00
.gitignore Add `react-native-macos-init` for adding macOS apps to existing `react-native init` projects. (#291) 2020-04-01 17:22:01 -07:00
.nvmrc
.prettierignore Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
.prettierrc Set the Prettier config so it is not forced on users of @react-native-community/eslint-config (#24635) 2019-04-29 09:44:51 -07:00
Brewfile Add Apple PR to github actions (#159) 2019-09-12 10:29:18 -07:00
CHANGELOG.json sync from internal (#6) 2019-03-07 14:57:20 -08:00
CHANGELOG.md sync from internal (#6) 2019-03-07 14:57:20 -08:00
CODE_OF_CONDUCT.md put RN58 back 2019-03-28 13:44:57 -07:00
CONTRIBUTING.md Add link to ECOSYSTEM doc. (#24808) 2019-05-13 08:13:59 -07:00
ECOSYSTEM.md Add document describing the RN ecosystem. (#24493) 2019-04-17 09:06:37 -07:00
KeepingRecent.md fix up some minor spacing issues with the numbering indentations (#213) 2020-01-03 14:17:03 -08:00
LICENSE put RN58 back 2019-03-28 13:44:57 -07:00
LICENSE-docs
README.md Remove merge conflict artifacts (#170) 2019-10-07 20:54:27 -07:00
React.podspec [RNTester] Add CocoaPods based macOS target. (#211) 2020-01-28 17:01:58 +01:00
Releases.md put RN58 back 2019-03-28 13:44:57 -07:00
build.gradle.kts Droid cleanups (#247) 2020-02-11 09:43:58 -08:00
cli.js Show full price instead of monthly price within the lead form 2019-03-28 16:07:19 -07:00
gradlew bump Gradle to 5.4.1 (#24542) 2019-04-27 00:10:04 -07:00
gradlew.bat bump Gradle to 5.4.1 (#24542) 2019-04-27 00:10:04 -07:00
jest-preset.js initial commit with merge conflicts 2019-08-15 08:35:19 -07:00
jest.config.js extract jest config from package.json (#23638) 2019-02-25 21:49:10 -08:00
metro.config.js Removing forked changes that were made to support win32 (#216) 2020-01-07 12:18:49 -08:00
package.json Applying package update to 0.60.0-microsoft.63 ***NO_CI*** 2020-03-27 02:32:39 +00:00
react-native.config.js Remove react-native commands from cli when installed as 'react-native-macos' (#227) 2020-01-24 10:41:25 -08:00
react.gradle Fix regression of improper assets copy (revert #24518 #24778) (#25363) 2019-06-28 08:38:10 +01:00
rn-get-polyfills.js Remove Polyfills from RN Open Source 2019-04-04 15:20:33 -07:00
runXcodeTests.sh put RN58 back 2019-03-28 13:44:57 -07:00
settings.gradle.kts Moving the android specific changes to patch files and reverting them… (#254) 2020-03-18 18:20:08 -07:00
template.config.js Improvement: Adjust template to match new init command (#24138) 2019-04-01 16:25:48 -07:00
yarn.lock Fix for building and deploying arm64e to devices (#226) 2020-01-24 11:02:50 -08:00

README.md

Working fork for Microsoft internal usage

It is not our goal to have a long term fork of facebook/react-native/

The reasons for this fork to exist currently are 3 fold.

  1. Provide a staging ground for changes that Microsoft is submitting back to the main Facebook repo, such that our internal apps can share and validate these changes while the PRs go through the standard merge process with Facebook.
  2. A holding ground for our implementation of react-native for macOS. -- The eventual plan is to refactor a bunch of code within facebook/react-native to allow the macOS code to be implemented as an out of tree platform that works with the core react-native package. But currently the implementation shares so much logic with the iOS platform that it would involve a lot of code duplication to move it out. This process will take a while to work through but is the eventual goal.
  3. Hold various changes that we have made internally to support our apps, which we hope to revert as we update our internal code. But we are putting it all out here since other projects require this changes exist for now.

The eventual goal is for this fork to stop existing, or certainly have a much smaller delta between this fork and facebook/react-native.

React Native · Circle CI Status Build status npm version PRs Welcome

React Native

Learn once, write anywhere:
Build mobile apps with React.

React Native is released under the MIT license. Current CircleCI build status. Current Appveyor build status. Current npm package version. PRs welcome! Follow @reactnative

Getting Started · Learn the Basics · Showcase · Contribute · Community · Support

React Native brings React's declarative UI framework to iOS and Android. With React Native, you use native UI controls and have full access to the native platform.

  • Declarative. React makes it painless to create interactive UIs. Declarative views make your code more predictable and easier to debug.
  • Component-Based. Build encapsulated components that manage their own state, then compose them to make complex UIs.
  • Developer Velocity. See local changes in seconds. Changes to JavaScript code can be live reloaded without rebuilding the native app.
  • Portability. Reuse code across iOS, Android, and other platforms.

React Native is developed and supported by many companies and individual core contributors. Find out more in our ecosystem overview.

Contents

📋 Requirements

React Native apps may target iOS 9.0 and Android 4.1 (API 16) or newer. You may use Windows, macOS, or Linux as your development operating system, though building and running iOS apps is limited to macOS. Tools like Expo can be used to work around this.

🎉 Building your first React Native app

v0.60.0

Follow the Getting Started guide. The recommended way to install React Native depends on your project. Here you can find short guides for the most common scenarios:

📖 Documentation

The full documentation for React Native can be found on our website.

The React Native documentation discusses components, APIs, and topics that are specific to React Native. For further documentation on the React API that is shared between React Native and React DOM, refer to the React documentation.

The source for the React Native documentation and website is hosted on a separate repo, @facebook/react-native-website.

🚀 Upgrading

Upgrading to new versions of React Native may give you access to more APIs, views, developer tools and other goodies. See the Upgrading Guide for instructions.

React Native releases are discussed in the React Native Community, @react-native-community/react-native-releases.

👏 How to Contribute

The main purpose of this repository is to continue evolving React Native core. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving React Native.

Code of Conduct

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React Native.

Open Source Roadmap

You can learn more about our vision for React Native in the Roadmap.

Good First Issues

We have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

Discussions

Larger discussions and proposals are discussed in @react-native-community/discussions-and-proposals.

📄 License

React Native is MIT licensed, as found in the LICENSE file.

React Native documentation is Creative Commons licensed, as found in the LICENSE-docs file.