## Description
This PR fixes up the new `cpp-lib` and `cpp-app` templates to support targeting ARM64, and adds ARM64 builds to the CI/PR matrix.
### Type of Change
- New feature (non-breaking change which adds functionality)
### Why
To enable native builds of ARM64
Closes#12633
### What
Added the proper configurations to
## Screenshots
N/A
## Testing
Verified the apps build in CI
## Changelog
Should this change be included in the release notes: _yes_
Updated the experimental `cpp-lib` and `cpp-app` templates to support targeting ARM64.
* Start of theming
* more fix
* More theming
* handle refresh
* fix
* format
* Change files
* fix
* Fix issue where items outside of the current viewport of a scrollview can get hittest
* Fix tabbing
* fix
* revert lock file changes
This PR changes the launch config for VS Code so we can attach to an
in-repo app with direct debugging through Metro.
Tested working with e2e-test-app with Hermes enabled.
By default, vscode uses the `.gitignore` file to filter out files when
searching and for intellisense. This is usually good because of how many
dependencies RNW has that we don't ever look at.
However this limits our ability to easily browse, search, and jump into
code we *do* actually want to look at, especially all of the shared C++
in RN (which is only increasing in the new architecture).
This change updates our repo's settings file and adds a new `.ignore`
file where we can selectively allow certain folders under
`node_modules` to improve the dev experience in vscode.
* fix typescript pathing to react-native/types
* integration 9/26/22
* Change files
* try to fix snapshot test
* fix playground build
* update hermes package
* match ts-jest version to jest version
* update yarn file
* jest done callback not used on async jest tests
* minor fixes
* Change files
* Increase timeout for configToProjectInfo
* fix failure transpiling jest-runner
* another attempt at timeout fix
* more fixes
* defork virtualizedlist
* realign jest version with core - add sample test to rnw and rnwin32 to allow jest to run
* missing space in repo-config package.json
* suppress new c++ warning CI hits
* fix
* Unblock most E2E
* update snapshot
* update snapshot
Co-authored-by: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
* Add beachball change transformer
Beachball has a relatively recent option, which allows modifying changefiles before trying to bump/publish. We can use this to workaround two common painpoints.
1. Changes backported to 0.69 and later will not need any modification to changefiles when cherry-picking.
2. We do some formatting to create consistency of omiting the version in change messages in our changelogs
* Remove stale file
* Change files
* Fix bug around missing packages
* Fuller JS env in setup
* Simplify logic
* Fix template path
* use remote midgard-yarn on ubuntu agent
* yaml
* Build more
* Move beachball config to its own package
* Consistency
* Cleanup yarn install logic for hosted vs managed images
* Fixup lockfile issues
* Update min to node 14
* Import shared variables and rename
* Variable fixup
* Start Sharing Test Configuration Between Node Projects
This change moves some of the work I did for setting up unit tests and end to end tests for react-native-platform-override to a shared location. This prepares us for enabling these sorts of tests across projects in the repo without duplicating configuration. Some work still needs to be done per-project to enable this, and some of this still needs to be documented.
Validated:
- One-click debug tests from VS Code
- Unit tests are automatically run when you type, end to end tests aren't
- yarn test will automatically detect unit tests and end to ends tests
* Change files
* Remove extra babel config
* Enable @typescript-eslint/no-floating-promises
This rule will create errors if we have an unhandled promise, such as forgetting the "await" operator. Enable the rule and fix up current instances by adding "await" or using the "void" operator, as the rule suggests to signal intentional floating promises.
This rule requires type information, which requires pointing eslint config to a local project. This doesnt't work over an entire monorepo, such as when using VS Code outside of an individual package, so we split up our eslint config into a per-package one and one that can run in the package root without project-local info. The former is run by "yarn lint" during CI and the latter is shown by VS Code.
This also found some accidentally checked in build targets that we can remove.
* Change files
* Keep wrapped in conditional
* Add @typescript-eslint/no-misused-promises
* Minor fixups after initial rn-win32 checkin
* Provide source uri in SourceCode module when using livereload
* Provide source uri in SourceCode module when using livereload
* Change files
* build fix
* fix build
* fix build
* Add script to format files
* Updated format for files
* More formatting..
* Add verify command
* Verify formatting as part of CI
* Fix pre/post install hooks so that they write package.json in a way that matches prettier
* Fix formatting
* Hook up some basic formatting configuration for vscode
* Replace tslint with eslint
* Format on save
* Fix a bunch of eslint errors
* Dont run lint on already build files
* lint now enforces LF to match community