* ReloadInstance async task and InstanceLoaded event were not correctly reporting failures
* Change files
* Add another test
* yarn format
* ignore syntax error file
* Export complete type information
* Change files
* Update @types dependency versions
* reduce usage to a single @types/react
* Add comment to explain that rntypes need to be in src
* Migrate the local-cli to TypeScript
Note that this depends on #5370, but I ommited its changes in this PR. This will be rebased upon master once that is merged in, but CI will fail in the meantime.
A few steps here:
- Update build logic to run tsc in multiple places in vnext
- Also fixup clean logic whcih keeps on getting out of date
- Bumped Node requirements for the repo to Node 12 for development so we can use flat/flatMap without lodash
- Separate local-cli code into a new directory structure
- src for JS inputs
- lib-commonjs for TS outputs
- powerhsell and templates for others
- Add a local gitignore to not wipe out template pfx files
- Update CLI code for new paths
- Mechanical conversion from JS to TS
- Very lax TS rules
- Types substituted where needed or where documented
- CommonJS moved to ES6 apart from where we export to raw JS
- Mostly mechanical
- Update react-native-windows-init for the new changes
- Try new JS path but fallback to the old if unavailable
- Do a type only import from the new path so we can get type safety between packages
- add RNW as a devDependency so that local-cli typings are built first by lerna
We are using dangerously relaxed TS rules here as a start. I'm hoping that we can incrementally add types and get to the point where we don't need to reduce strictness of local-cli.
Haven't done much of any validation here apart from seeing that we build. Will try to come up with something here.
* We should preserve JSX
* Change files
* Fixes
- Fix implicitly imported glob
- Add missing newline
- lint:fix
* Add some more types at boundary
* Uncomment a few more types
* Cleanup RN Libray Copy Logic
* Remove unneded from react-native-win32
* Remove non-existent cleanTask
* Polish and fixups
* Do a less jank workaround for prettier issues
* Update react-native-config paths
* Change files
* Fix `yarn watch` and `yarn api`
* Search cwd during require.resolve since we otherwise search the npx cache node_modules
* Fix CommonJS ES6 Mismatch
* Fix template path
* Add some more types
* Fix another directory structure assumption. No other uses of __dirname in thr project, so we should be safe now
* noImplicitAny
* Add empty .gitignore
* Fix template metro config that got regex replaced
* Share eslint and Typescript configs across packages
We create rnw-scripts packages which export a typescript config and an eslint config. We can change individual packages to import these. We pull in a newer version of esling (and add is as a devDep to all packages), letting us include eslintignore rules in the base eslintrc.
This also leads to enforcing strict mode for all Typescript projects, enabling eslint for react-native-win32, react-native-windows-init (fixing some errors and suppressing other parts that aren't clean). ES6 module behavior also changed slightly for some projects.
* Change files
* Do it for just-task too (and disable ESModule Building)
* Declare deps correctly
* Change files
* yarn api
* More Fixes
- Use Default tsc esModuleInterop Settings
- Fix IntegrationTest Typos
- Warn instead of disable react-native-win32 hook rules
- Ensure trailing newlines
- Remove dev dependency from root of repo
- Less globs
- Remove change scripts from packages since they aren't package local, won't get updated with branches, and the beachball dev dep is in the root
- Remove the repository field from private scripts since it isn't useful for internal and adds a second source of truth
- Fix a couple of trivial eslint errors that were exposed
* Fixup react-native-windows-init for TS strict in better ways
* Better tsconfig defaults
- Preserve JSX (Metro will do the right thing with it)
- Enable noImplicitReturns which isn't enabled by default by strict
- Fix error in react-native-windows-codegen that noImplicitReturns foumd
* Specify CommonJS in shared tsconfig instead of just-task
* yarn lint:fix
* Compile JSX to RN JS since Metro Seems to Not Like JSX By Default
* Do we see different E2E Behavior if we transpile JSX to React.CreateElement?
* Move RNTesterCopy and IntegrationTestsCopy to ReactCopies Directory
Tested that RNTester still works with Playground. Will rely on CI to verify integration tests aren't broken.
* Non-Move Changes for Moving React Copies
* Add copy type to override-tools
Add some unit tests to make sure it behaves as expected.
* Add Generated Copy Manifest
Manually fill in the issue number. My local temp Git repo somehow got into a state where some files were deleted relative to HEAD. This is likely the result of some previous bug, but add a hard reset in code to prevent accidental modifications from causing issues.
Validated we pass manifest validation
* Configure vnext validate-overrides to check both override manifests
* Change files
* Address nit
* Get flow check working
* Get flow clean, and turn on flow check during build
* Change files
* fix
* Move RNTester files to matching location from RN\rntester
* PR feedback
* fix
* 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