Граф коммитов

28 Коммитов

Автор SHA1 Сообщение Дата
Tommy Nguyen 4a15331492
chore: move `metro-swc-worker` into incubator (#1208) 2022-03-09 16:40:51 +01:00
Lorenzo Sciandra 648ce3cb2c
chore(incubator): create a more structured approach for experimental packages (#1189)
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
2022-03-09 14:27:17 +00:00
Adam Foxman ee96c012a4
Documentation Website (#1197)
* working docusaurus site. mostly stock with a few minor tweaks.

* set light/dark mode colors

* Update README main header link. Add GitHub logo (light and dark mode variants) to docsite header bar.

* accessibility fixes

* Clear out footer, leaving copyright. Always use darktheme when showing code to fix contrast issues. Change github icon to inline SVG. Add examples of Important and Caution blocks in markdown. Change link colors to match RNW and RN sites.

* Move into doc into hierarchy (styles don't support top-level docs). Reinstate homepage feature area, which now appears to be a little broken.

* Add MS Open Source img and link as footer logo. Also tweak CSS: inline code formatting in markdown, color refining/sharing, footer logo size/opacity.

* Remove opacity styles on footer -- they happen automatically since it is a link.

* Finalize landing page. Move GitHub logo into an .svg file.

* Fix editUrls.

* fix homepage text

* Add local-search support and styling. Not too happy with this. Out of the box, local search uses Algolia's color scheme and doesn't pick up Docusaurus colors. I have it polished and working, though. Going to try using the DocSearch-based service instead which is supposed to integrate w/Docusaurus CSS vars.

* Update docusaurus version

* Create navbar hierarchy and matching sidebars. Remove inline front-matter tags and category files, and instead be get name from markdown title and order from sidebar.js.

* Use a very dark gray background instead of black in darkmode. Fix typo in navbar.

* add shadow on navbar in darkmode

* Remove sample content

* docs(changeset): Documentation site framework and theming. No content yet other than the landing page.

* yarn deduplicate

* update dup checker tests -- they are sensitive to the yarn dependency graph in this repo

* align dependencies
2022-03-08 18:30:14 +01:00
Tommy Nguyen 6507cb5cfb
feat: prototype auth module for RNSDK (#857) 2022-02-17 11:35:07 +01:00
Lorenzo Sciandra 71e4bc28d4
feat: add a new package: rn-changelog-generator (#841)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Co-authored-by: Adam Foxman <adam@thefoxmans.net>
2021-11-12 18:24:04 +00:00
Adam Foxman f75a209043
Transition to the new Metro TypeScript resolver (#831)
* baseline

* Create the typescript-react-native-resolver package

* Fix resolver bug and add tests for host.ts.

* Change files

* update readme

* Update the CLI's Metro/TS integration to use the new, generalized resolver in @rnx-kit/typescript-react-native-resolver. Remove the unneeded "default" resolver.

* Change files

* Remove @rnx-kit/metro-plugin-typescript-validation. This has been superceded by the built-in CLI support for running Metro with TypeScript when rnx-kit config has type-checking enabled.

* revert test code

* Change files

* remove old change file

* Change files

* change file

* update readme

* PR feedback
2021-11-09 13:04:20 -08:00
Adam Foxman 53609bb80f
New package: @rnx-kit/typescript-react-native-compiler (#806)
* baseline

* Create the typescript-react-native-resolver package

* Fix resolver bug and add tests for host.ts.

* Create the typescript-react-native-compiler package

* Change files

* update readme

* Update packages/typescript-react-native-resolver/package.json

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* PR feedback

* Update packages/typescript-react-native-resolver/src/extension.ts

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* Fixup after merge

* Change files

* Cleanup unused dependencies/imports

* update readme

* remove unneeded dependency

* remove old changefile

* Update dependency versions. Add back needed dependency for testing.

* Harden argument parsing/extraction.

* Extract out creation of program options, and share between two call sites.

* Change from const enum to string union type to reduce codegen.

* update package dependencies

* Change files

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
2021-11-05 19:37:52 +00:00
Adam Foxman fba0df37b1
New package: @rnx-kit/typescript-react-native-resolver (#794)
* baseline

* Create the typescript-react-native-resolver package

* Fix resolver bug and add tests for host.ts.

* Change files

* update readme

* Update packages/typescript-react-native-resolver/package.json

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* PR feedback

* Update packages/typescript-react-native-resolver/src/extension.ts

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
2021-11-04 23:20:48 +01:00
Tommy Nguyen ef7b6705d3
feat(react-native-test-app-msal): MSAL module for react-native-test-app (#730) 2021-11-03 16:55:47 +01:00
Tommy Nguyen d97e2b9d3a
feat: Metro transform worker that uses swc under the hood (#771) 2021-10-31 09:09:40 +01:00
Tommy Nguyen 04ebb242c7
feat: @rnx-kit/eslint-plugin recommended ESLint rules for React devs (#777)
Extends:
- `eslint:recommended`
- `plugin:@typescript-eslint/recommended`
- `plugin:react/recommended`

And adds a rule for disallowing `export *`.
2021-10-29 10:43:46 +02:00
Adam Foxman 3c965a3209
Add Go to the build environment (#731)
* Move TPN CLI from bin to lib and publish from there.

* Fix TPN CLI path

* Add tasks to download, install, build, and run Go programs as part of the build environment. In each package, Go source is under /go/<project> and binaries are compiled to /bin.

* repalce ?. with equivalent code

* Replace ?. with equivalent code

* fix windows plaform name in go distro list

* fix go executable filename on windows

* Change files

* Change build-tools build output to verbose for CI loops. Doesn't appear to be a way to keep dev builds as warning-only without duplicating preinstall/posinstall commands (which I don't want to maintain).

* separate go task for hello world example

* Add a Go build step to each package build

* Add missing dependency

* Change files

* Move Go infra into its own package so other repos can use it. Add documentation. Remove dependency on just-scripts.

* Change files

* update readme file

* Update packages/go/README.md

Co-authored-by: Lorenzo Sciandra <lsciandra@microsoft.com>

* Update packages/go/README.md

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* Rename package from go to golang. Revert loglevel on yarn build-tools.

* Add handling for non-monorepo cases.

* Update packages/golang/package.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Co-authored-by: Lorenzo Sciandra <lsciandra@microsoft.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-22 18:24:53 +00:00
Tommy Nguyen dcb826baf0
feat: add Metro resolver with support for symlinks (#543) 2021-08-27 20:36:12 +02:00
Sverre Johansen 4241157094
Adding esbuild plugin for mapping lib/ imports to src/ (#475)
This is similar to the babel-plugin-import-path remapper.

Having a monorepo of local packages that compiles from typescript source code in
`src/` to distributed javascript in `lib/`, this plugin rewrites all imports
from pointing to the generated artifacts to point directly to the source. This
makes it possible to consume local packages without first having to compile
them.
2021-08-23 19:12:40 +02:00
Adam Foxman f65f706c73
Tools package (#498)
* Create a tools package

* Integrate tools package and other common libraries throughout monorepo, removing custom code.

* Change files

* Address PR feedback. Add impl of pickValue and pickValues, as lodash.pick() wasn't behaving as expected and seems to do a lot of work.

* revert make-dir package usage

* Split @rnx-kit/tools into separate packages which are more well-defined. Update all impacted code.

* update readme

* Change files

* update change file

* PR feedback - allowSymlinks

* Fix call sites for symlink changes
2021-08-21 10:17:49 +02:00
Tommy Nguyen 3b89d1ec21
chore: @rnx-kit/jest-resolver is superseded by @rnx-kit/jest-preset (#437) 2021-07-30 19:42:00 +02:00
Tommy Nguyen bf6cf5092d
feat: add 'rnx-test' to cli and introduce @rnx-kit/jest-preset (#433) 2021-07-29 19:36:57 +00:00
Tommy Nguyen c329f9ae51
feat: Jest resolver that supports out-of-tree platforms (#364) 2021-07-23 21:43:36 +02:00
Adam Foxman 24dca16757
Documentation update (#385)
* Update top-level README

* Fix link

* fix link

* Fix type

* Update language regarding status of rnx-kit and our support statement.

* Update config package docs

* Update READMEs using automation

* Remove parameters which have no effect in Metro.

* fix typos

* Write a CLI readme file. Update RN CLI docs. Remove unused CLI options.

* update generated tables in readme

* fix typo

* add notes on contributing and releasing

* fix dep-check generated package versions
2021-07-12 19:24:23 +02:00
Tommy Nguyen ea2c03568d
chore: move Contributing to a separate file (#380)
Moved the "Contributing" section of the README to its own file as per
[recommended community standards](https://opensource.guide/).
2021-07-09 12:19:22 +00:00
Adam Foxman e683ddef5e
Metro service (#326)
* Add Metro types, and reorganize them into a file & directory structure that mirrors Metro. This makes it possible to keep track of what types we've ported, and what types we haven't. There are A LOT of types in Metro.

* Fix types after metro type update

* Change files

* fix change file description

* Add a metro-service package for interacting with metro at an API level, rather than through its command-line interface.

* update dependencies

* add mkdirp dependency

* Change files

* update readme
2021-06-28 10:14:01 +02:00
Tommy Nguyen c630c871d6
feat: introduce common console logger (#317)
* feat: introduce common console logger

* update README
2021-06-23 10:34:29 -07:00
Adam Foxman 167081c3c6
@rnx-kit/typescript-service (#307)
* create empty package

* Working prototype of in-proc typescript language service (tsserver). Demonstrates loading config, validating a clean ts file, validating a broken ts file, and printing diagnostics.

* Update metro, rnc-cli, and react-native packages to latest, which includes transformOptions in metro graph object. Fix tests.

* Revert peerDependency change

* bump metro, react-native, and cli versions

* rename package to typescript-service

* fix path after package rename

* remove unneeded file after rename

* Refactored into a cleaner API

* Formalize the typescript service API. Fix bugs, improve performance.

* Continued organizing code into consumable interfaces/classes. Added comprehensive test suite.

* Add a Service layer on top of Project. Continue refining the API and adding tests.

* Add README file. Remove test code. Update package description. Make validation calls return true/false, indicating whether or not the file/project was type-safe.

* Revert package changes used for local testing

* Update yarn lockfile

* Change files

* Fix overspecified test/snapshot

* Add path normalization to collapse equivalent forms of the same path down to one form. This makes it usable as a cache-key.

* Fix case-sensitivity bug on unix.

* Align typescript dependency versions

* Remove unneeded resolver reference.

* Remove TODOs. Optimize type reference resolver.

* Move moduleResolutionHost outside of the resolver functions so they can share a single instance rather than creating their own each time they run.

* Make imports consistent.

* Move to a more loose dependency on typescript.

* Update readme

* Change files

* Add a type guard to isNonEmptyArray
2021-06-23 07:23:10 +00:00
Tommy Nguyen 45de83b320
remove unused @rnx-kit/tools (#311) 2021-06-23 08:03:31 +02:00
Tommy Nguyen 9ce445ef02
feat: experimental @rnx-kit/metro-serializer-esbuild (#292) 2021-06-15 15:07:24 +02:00
Tommy Nguyen 693d313e7a
ci: format all the things (#274) 2021-06-03 11:10:51 +01:00
Tommy Nguyen 7c8dac3391
docs: add list of packages to main README (#243) 2021-05-19 17:55:02 +02:00
Microsoft Open Source db85005b70 Initial README.md commit 2019-11-15 13:38:20 -08:00