profile
viewpoint
Sebastian Markbåge sebmarkbage Facebook San Francisco http://blog.calyptus.eu/

reactjs/rfcs 2791

RFCs for changes to React

sebmarkbage/art 909

Retained mode vector drawing API designed for multiple output modes. There's also a built-in SVG parser.

sebmarkbage/ecmascript-generator-expression 93

Proposal for do Generator Expressions in ECMAScript. Work in progress. Edit Add topics

sebmarkbage/ecmascript-undefined-propagation 78

ECMAScript proposal to relax the rules to return `undefined` for property access on `null` or `undefined` instead of throwing.

sebmarkbage/ecmascript-shallow-equal 47

A proposal for ECMAScript for Object.shallowEqual.

sebmarkbage/art-illustrator 16

This project provides Adobe Illustrator ExtendScripts to export graphics to ART Script files.

sebmarkbage/blink-devtools 11

This is an unofficial mirror of the Blink Developer Tools.

sebmarkbage/art-svg 9

SVG Parser for ART

PR opened facebook/react

[DO NOT LAND] New infra on old RN

This is just so I can sync an old version for the JSX upgrade.

+130 -11

0 comment

5 changed files

pr created time in 2 days

create barnchsebmarkbage/react

branch : rnsync2

created branch time in 2 days

push eventsebmarkbage/react

Sebastian Markbåge

commit sha d65a2006609ac3e7f5f708611a50ec65846acd81

Build FB specific Isomorphic Bundles (#19049) We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

push eventsebmarkbage/react

Sebastian Markbåge

commit sha 71da0b24c25f982c228827b43faa8dfb35df215a

Build FB specific Isomorphic Bundles (#19049) We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

PR opened facebook/react

[DO NOT LAND] New infra on old RN

This is just so I can sync an old version.

+118 -1

0 comment

4 changed files

pr created time in 2 days

push eventsebmarkbage/react

push time in 2 days

create barnchsebmarkbage/react

branch : rnsync

created branch time in 2 days

PR opened facebook/react

Reviewers
Don't build FB RN bundles in experimental

We don't have a "modern" build for RN yet.

We don't have experimental OSS builds neither but I think those renderers should probably go on npm so that you could use them as experimental.

+66 -45

0 comment

1 changed file

pr created time in 2 days

push eventsebmarkbage/react

Sebastian Markbåge

commit sha cb141681750c8221ac799074df09df2bb448c7a4

Remove unnecessary throw catch (#19044) This was originally added so you could use "break on caught exceptions" but that feature is pretty useless these days since it's used for feature detection and Suspense. The better pattern is to use the stack trace, jump to source and set a break point here. Since DevTools injects its own console.error, we could inject a "debugger" statement in there. Conditionally. E.g. React DevTools could have a flag to toggle "break on warnings".

view details

Sebastian Markbåge

commit sha 89edb0eae34be30954bcbdbca69467c5b0fbcb20

Enable component stack locations in www (#19047)

view details

Brian Vaughn

commit sha 2efe63d99cdeb338077bf148babffd7bb599d182

DevTools: Add break-on-warn feature (#19048) This commit adds a new tab to the Settings modal: Debugging This new tab has the append component stacks feature and a new one: break on warn This new feature adds a debugger statement into the console override

view details

Sebastian Markbåge

commit sha 1d85bb3ce13401644a5e345f8bc84522c59a951c

Build FB specific Isomorphic Bundles (#19049) We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

Sebastian Markbage

commit sha f51f0ac51657d53050f612bbf17e695dd088809e

Don't build FB RN bundles in experimental We don't have a "modern" build for RN yet. We don't have experimental OSS builds neither but I think those renderers should probably go on npm so that you could use them as experimental.

view details

push time in 2 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 8377d769153f7daf51bb594378c1141ac47dee0c

Don't build FB RN bundles in experimental We don't have a "modern" build for RN yet. We don't have experimental OSS builds neither but I think those renderers should probably go on npm so that you could use them as experimental.

view details

push time in 2 days

push eventfacebook/react

Sebastian Markbåge

commit sha 1d85bb3ce13401644a5e345f8bc84522c59a951c

Build FB specific Isomorphic Bundles (#19049) We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

PR merged facebook/react

Reviewers
Build FB specific Isomorphic Bundles CLA Signed React Core Team

We need this so we can version them separately and use different feature flags than we use for OSS RN.

I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

+31 -1

4 comments

3 changed files

sebmarkbage

pr closed time in 2 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 8ad12ec314600a6640263dd2f9ca6798039bd98c

Build FB specific Isomorphic Bundles We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 435d8d902c8cb17477fcf91be39aa1a5a8c78de5

Build FB specific Isomorphic Bundles We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 13785b925cfa77604981855ee033a4a452835906

Build FB specific Isomorphic Bundles We need this so we can version them separately and use different feature flags than we use for OSS RN. I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

view details

push time in 2 days

pull request commentfacebook/react

Build FB specific Isomorphic Bundles

hm. I'll also need to do this with scheduler and maybe react-test-renderer I think.

sebmarkbage

comment created time in 2 days

PR opened facebook/react

Reviewers
Build FB specific Isomorphic Bundles

We need this so we can version them separately and use different feature flags than we use for OSS RN.

I put them in a separate facebook-react-native folder which won't go into the RN GH repo. I plan on moving the renderers there too but not yet.

+11 -0

0 comment

2 changed files

pr created time in 2 days

create barnchsebmarkbage/react

branch : rnisomorphic

created branch time in 2 days

push eventfacebook/react

Sebastian Markbåge

commit sha 89edb0eae34be30954bcbdbca69467c5b0fbcb20

Enable component stack locations in www (#19047)

view details

push time in 2 days

PR merged facebook/react

Reviewers
Enable component stack locations in www CLA Signed React Core Team

I'd like to enable this everywhere but haven't tested it in RN yet and enabling it isomorphic would affect RN.

+2 -1

3 comments

1 changed file

sebmarkbage

pr closed time in 2 days

PR opened facebook/react

Reviewers
Enable component stack locations in www

I'd like to enable this everywhere but haven't tested it in RN yet.

+2 -1

0 comment

1 changed file

pr created time in 2 days

create barnchsebmarkbage/react

branch : hardcodecomponentstacks

created branch time in 2 days

issue openedfacebook/react

[DevTools Feature Request] Break on Warnings

It's be nice to have a toggle to pause the debugger when warnings fire so you can inspect the stack as it's happening.

console.error = function() {
  ...
  if (isBreakOn) {
    debugger;
  }
}

See https://github.com/facebook/react/pull/19044

created time in 2 days

push eventfacebook/react

Sebastian Markbåge

commit sha cb141681750c8221ac799074df09df2bb448c7a4

Remove unnecessary throw catch (#19044) This was originally added so you could use "break on caught exceptions" but that feature is pretty useless these days since it's used for feature detection and Suspense. The better pattern is to use the stack trace, jump to source and set a break point here. Since DevTools injects its own console.error, we could inject a "debugger" statement in there. Conditionally. E.g. React DevTools could have a flag to toggle "break on warnings".

view details

push time in 2 days

PR merged facebook/react

Reviewers
Remove unnecessary throw catch CLA Signed React Core Team

This was originally added so you could use "break on caught exceptions" but that feature is pretty useless these days since it's used for feature detection and Suspense.

The better pattern is to use the stack trace, jump to source and set a break point here.

Since DevTools injects its own console.error, we could inject a "debugger" statement in there. Conditionally. E.g. React DevTools could have a flag to toggle "break on warnings".

+0 -10

3 comments

1 changed file

sebmarkbage

pr closed time in 2 days

PR opened facebook/react

Reviewers
Remove unnecessary throw catch

This was originally added so you could use "break on caught exceptions" but that feature is pretty useless these days since it's used for feature detection and Suspense.

The better pattern is to use the stack trace, jump to source and set a break point here.

Since DevTools injects its own console.error, we could inject a "debugger" statement in there. Conditionally. E.g. React DevTools could have a flag to toggle "break on warnings".

+0 -10

0 comment

1 changed file

pr created time in 2 days

create barnchsebmarkbage/react

branch : rmthrowcatch

created branch time in 2 days

create barnchsebmarkbage/react

branch : rmextraframes

created branch time in 2 days

push eventfacebook/react

Sebastian Markbåge

commit sha c03b8661a990401bf663d2175597ef8bb6947921

Upgrade Closure Compiler (#19041) The Symbol bug has now been fixed so we can remove the hack that renames the global variable.

view details

push time in 2 days

PR merged facebook/react

Upgrade Closure Compiler CLA Signed React Core Team

The Symbol bug has now been fixed so we can remove the hack that renames the global variable.

Diff after upgrading: https://github.com/sebmarkbage/react-builds/commit/d77c303fcaf516c0335e8f42d5e489f0e1b76aa8

The upgrade leaves an unnecessary return statement in the output in one place which is a tiny regression but meh. We can fix the source.

Diff after removing Symbol hack: https://github.com/sebmarkbage/react-builds/commit/a5d7d93107f763f31ad14454c23b50e9c454cc1e

This just shifts where the line breaks are in the out since it used to be longer (SymbolTmp vs Symbol).

+37 -49

3 comments

3 changed files

sebmarkbage

pr closed time in 2 days

PR opened facebook/react

Reviewers
Upgrade Closure Compiler

The Symbol bug has now been fixed so we can remove the hack that renames the global variable.

Diff after upgrading: https://github.com/sebmarkbage/react-builds/commit/d77c303fcaf516c0335e8f42d5e489f0e1b76aa8

The upgrade leaves an unnecessary return statement in the output in one place which is a tiny regression but meh. We can fix the source.

Diff after removing Symbol hack: https://github.com/sebmarkbage/react-builds/commit/a5d7d93107f763f31ad14454c23b50e9c454cc1e

This just shifts where the line breaks are in the out since it used to be longer (SymbolTmp vs Symbol).

+37 -49

0 comment

3 changed files

pr created time in 3 days

create barnchsebmarkbage/react

branch : upgradeclosurecompiler

created branch time in 3 days

push eventsebmarkbage/react-builds

Sebastian Markbage

commit sha ac2dc2bd362f5aae608f2ef29835f5af44da2069

Before

view details

Sebastian Markbage

commit sha d77c303fcaf516c0335e8f42d5e489f0e1b76aa8

After

view details

Sebastian Markbage

commit sha a5d7d93107f763f31ad14454c23b50e9c454cc1e

After removing Symbol hack

view details

push time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 6d375f3078b6b58afb9c07dce3c5144344d8d3de

Revert autofix lint (#19040) I accidentally committed this since I had it on locally so I didn't have to manually convert things to const. However, this causes things to always pass lint since CI also runs this.

view details

push time in 3 days

PR merged facebook/react

Reviewers
Revert autofix lint CLA Signed React Core Team

I accidentally committed this since I had it on locally so I didn't have to manually convert things to const.

However, this causes things to always pass lint since CI also runs this which fixes the lint violations in CI without committing it.

We should probably add this as an option to the command line tool. Ideally all the eslint options should be passable.

+4 -5

5 comments

1 changed file

sebmarkbage

pr closed time in 3 days

push eventsebmarkbage/react

Sebastian Markbåge

commit sha 76f157e3dd18d0501b4ed083e54b444ce11d232f

Add simple Node build (#19022) The webpack plugin doesn't really need a separate prod and dev build. It also needs to be ES2015 otherwise we can't extend native classes.

view details

Sebastian Markbåge

commit sha 2e7cc949ae7c7ed5a583d15b4ea32c68c7730dab

Remove www builds of fetch (#19038) I don't think we'll ever use this just because we have such a unique set up for network delivery so we'll use something custom for this case. Also, we don't need a profiling build for this since it doesn't have an entry point.

view details

Sebastian Markbåge

commit sha 8f511754dbe3651e2e93b6264e2e0e230b936a38

Prettier wants me to change this (#19039)

view details

Sebastian Markbage

commit sha 1ce8fdd3c7b1fa7338c377172076338974a0aa97

Revert autofix lint I accidentally committed this since I had it on locally so I didn't have to manually convert things to const. However, this causes things to always pass lint since CI also runs this.

view details

push time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 8f511754dbe3651e2e93b6264e2e0e230b936a38

Prettier wants me to change this (#19039)

view details

push time in 3 days

PR merged facebook/react

Reviewers
Lint autofix wants me to fix this CLA Signed React Core Team

I'm not sure why this isn't just failing the lint on CI though. It's supposed to fail if const is not used.

+1 -1

4 comments

1 changed file

sebmarkbage

pr closed time in 3 days

pull request commentfacebook/react

Lint autofix wants me to fix this

I'll just merge this to unblock reenabling the lint.

sebmarkbage

comment created time in 3 days

pull request commentfacebook/react

Revert autofix lint

This reveals this violation. https://github.com/facebook/react/pull/19039

sebmarkbage

comment created time in 3 days

pull request commentfacebook/react

Revert autofix lint

Ya'll probably don't see it locally because it runs against only changed files. The way that's implemented doesn't work with how I use git so it runs against everything for me.

sebmarkbage

comment created time in 3 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 2455d92a907c547084f002e119fc70dc2d7c52ea

Revert autofix lint I accidentally committed this since I had it on locally so I didn't have to manually convert things to const. However, this causes things to always pass lint since CI also runs this.

view details

push time in 3 days

PR opened facebook/react

Reviewers
Revert autofix lint

I accidentally committed this since I had it on locally so I didn't have to manually convert things to const.

However, this causes things to always pass lint since CI also runs this which fixes the bugs in CI.

We should probably add this as an option to the command line tool. Ideally all the eslint options should be passable.

+1 -1

0 comment

1 changed file

pr created time in 3 days

create barnchsebmarkbage/react

branch : disableautofix

created branch time in 3 days

PR opened facebook/react

Reviewers
Lint autofix wants me to fix this

I'm not sure why this isn't just failing the lint on CI though. It's supposed to fail if const is not used.

+1 -1

0 comment

1 changed file

pr created time in 3 days

push eventsebmarkbage/react

Brian Vaughn

commit sha 1e3b0b520e1d77ed3926ac9e41bea3a5c7309cad

Added a null check around memoizedProps

view details

Brian Vaughn

commit sha a39d9c3dff451c5280dded9418a627f37871b94b

4.0.5 -> 4.0.6

view details

Brian Vaughn

commit sha 0da7bd0604a5be7f96572b9f75d16fef5674bc5d

React DevTools CHANGELOG entry for 4.0.6

view details

Brian Vaughn

commit sha c00a920640d5855888c4aec645e7e58de82cb65c

Merge branch 'master' into devtools-v4-merge

view details

Brian Vaughn

commit sha 13a93e7b82119d60532e3d7c8273c90764ec4bae

Configured CI to run DevTools tests. Updated other test configs not to include DevTools tests.

view details

Brian Vaughn

commit sha 4c1514495bf77acad2677b9944726e512691150e

Merge branch 'source' of github.com:bvaughn/react-devtools-experimental

view details

Brian Vaughn

commit sha 9d4fd7a24991598aa2fcaec203dbba5c04d253d1

Merged changes from 4.0.5 -> 4.0.6 from DevTools fork

view details

Brian Vaughn

commit sha ee4806f47ae594ea20b5296dd913ed67d7809b86

Fixed flushing problem with tests

view details

Brian Vaughn

commit sha a48593a8d36f5e1c26d0d98b6ceae77642aed5cb

Iterating on DevTools tests: Trying to run tests against pre-build react-dom and react-test-renderers

view details

Brian Vaughn

commit sha 177f357d9da5b21050ddd92084a6f0ce67c09e03

Updated DevTools test setup to no longer mock test renerer

view details

Brian Vaughn

commit sha e3cc42be97d65abeb3f5907320c88f457265f459

Fix Console patching test by resetting modules

view details

Brian Vaughn

commit sha 896c993ada2875997a0f090e76992eb3c550d973

Fixed remaining DevTools broken tests by fixing a hydration/spread bug

view details

Brian Vaughn

commit sha 892ca8137eea69198c3f5b75cfeb375a4aebce53

Disabled DevTools tests from yarn-build target

view details

Dominic Gannaway

commit sha 4ef269606c691f9b8c833f18d75342b34ef021db

[react-events] Support screen reader virtual clicks (#16584)

view details

Brian Vaughn

commit sha f55b4f8e28053eacde8e11325d99779783abec1c

CI runs DevTools tests against built source

view details

Brian Vaughn

commit sha 9a016c0c2b8e21b43085bf8c282d1a7ec3ee8778

Removed outdated snapshot

view details

Brian Vaughn

commit sha 8c684bf7e19d6942eb9adb9d16aefe5dc8491bfa

Removed forked DevTools Flow types

view details

Brian Vaughn

commit sha 49b0f87d10a2fab056c29f24228acf3ce2bcc26b

Suppress act/renderer warning for DevTools tests

view details

Brian Vaughn

commit sha 8e1434e80e203ebd2cd066772d68f121808c83aa

Added FB copyright header

view details

Brian Vaughn

commit sha fb316787cbefff7a864beb8268dc395fec535ebb

Removed unused Chrome Flow types

view details

push time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 2e7cc949ae7c7ed5a583d15b4ea32c68c7730dab

Remove www builds of fetch (#19038) I don't think we'll ever use this just because we have such a unique set up for network delivery so we'll use something custom for this case. Also, we don't need a profiling build for this since it doesn't have an entry point.

view details

push time in 3 days

PR merged facebook/react

Remove www builds of fetch CLA Signed React Core Team

I don't think we'll ever use this just because we have such a unique set up for network delivery so we'll use something custom for this case.

Also, we don't need a profiling build for this since it doesn't have an entry point.

+1 -8

0 comment

1 changed file

sebmarkbage

pr closed time in 3 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 9fb572dbd412ca7283f157bcd53beba29d839c22

Remove www builds of fetch I don't think we'll ever use this just because we have such a unique set up for network delivery so we'll use something custom for this case. Also, we don't need a profiling build for this since it doesn't have an entry point.

view details

push time in 3 days

PR opened facebook/react

Reviewers
Remove www builds of fetch

I don't think we'll ever use this just because we have such a unique set up for network delivery so we'll use something custom for this case.

Also, we don't need a profiling build for this since it doesn't have an entry point.

<!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

Before submitting a pull request, please make sure the following is done:

  1. Fork the repository and create your branch from master.
  2. Run yarn in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (yarn test). Tip: yarn test --watch TestName is helpful in development.
  5. Run yarn test-prod to test in the production environment. It supports the same options as yarn test.
  6. If you need a debugger, run yarn debug-test --watch TestName, open chrome://inspect, and press "Inspect".
  7. Format your code with prettier (yarn prettier).
  8. Make sure your code lints (yarn lint). Tip: yarn linc to only check changed files.
  9. Run the Flow typechecks (yarn flow).
  10. If you haven't already, complete the CLA.

Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html -->

Summary

<!-- Explain the motivation for making this change. What existing problem does the pull request solve? -->

Test Plan

<!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface. -->

+0 -4

0 comment

1 changed file

pr created time in 3 days

create barnchsebmarkbage/react

branch : nofetchinfb

created branch time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 76f157e3dd18d0501b4ed083e54b444ce11d232f

Add simple Node build (#19022) The webpack plugin doesn't really need a separate prod and dev build. It also needs to be ES2015 otherwise we can't extend native classes.

view details

push time in 3 days

PR merged facebook/react

Add ES2015 Node Build Config without ESM nor PROD/DEV CLA Signed React Core Team

I've had this pending in a branch for a while so I figured I'd just get it in.

The webpack plugin doesn't really need a separate prod and dev build. It also needs to be ES2015 otherwise we can't extend native classes.

Notably, unlike other build variants we'll add for ESM, this compiles to CommonJS. This is basically the current idiomatic output for Node.js script builds.

We could probably use this for other Node scripts as well like eslint-plugin-react-hooks.

+89 -17

5 comments

7 changed files

sebmarkbage

pr closed time in 3 days

push eventsebmarkbage/react

Sebastian Markbåge

commit sha e668f1b54f123c1a927d1bd80270db48c4842ee9

Remove unstable-fire from package.json (#19026) This hasn't existed for a while now.

view details

Sebastian Markbåge

commit sha 43e59f29d6edbd5b968a895e1a8bef8af1479a77

Delete Entries without Build Output from package.json and the build directory (#19029) * Gate test * Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

Sebastian Markbåge

commit sha 607148673b3156d051d1fed17cd49e83698dce54

Remove ReactComponentTreeHook from internals (#19032) We don't really support mixing minor versions anymore anyway. But seems safe to remove in 17.

view details

Brian Vaughn

commit sha 86b4070ddb6bd2fcf22c904cfff07a04696b9495

Cleaned up passive effects experimental flags (#19021)

view details

Sebastian Markbåge

commit sha 4985bb0a80f5cbeaa61d21a7daf7da5ecff2d892

Rename 17 to 18 in warnings (#19031) We're not really supposed to refer to future versions by numbers. These will all slip so these numbers don't make sense anymore.

view details

Sebastian Markbåge

commit sha 518ce9c25f18075214cb572e7dc240598090e648

Add Lazy Elements Behind a Flag (#19033) We really needed this for Flight before as well but we got away with it because Blocks were lazy but with the removal of Blocks, we'll need this to ensure that we can lazily stream in part of the content. Luckily LazyComponent isn't really just a Component. It's just a generic type that can resolve into anything kind of like a Promise. So we can use that to resolve elements just like we can components. This allows keys and props to become lazy as well. To accomplish this, we suspend during reconciliation. This causes us to not be able to render siblings because we don't know if the keys will reconcile. For initial render we could probably special case this and just render a lazy component fiber. Throwing in reconciliation didn't work correctly with direct nested siblings of a Suspense boundary before but it does now so it depends on new reconciler.

view details

Sebastian Markbåge

commit sha 60afa3c11761e62d98c90b036890372c61bcc4c9

Lint bundles using the bundle config instead of scanning for files (#19025) * Lint bundles using the bundle config instead of scanning for files This ensures that we look for all the files that we expect to see there. If something doesn't get built we wouldn't detect it. However, this doesn't find files that aren't part of our builds such as indirection files in the root. This will need to change with ESM anyway since indirection files doesn't work. Everything should be built anyway. This ensures that we can use the bundles.js config to determine special cases instead of relying on file system conventions. * Run lint with flag

view details

Sebastian Markbage

commit sha 5392d1a92ccac5f93cb22320eec2b724edab64c0

Add simple Node build The webpack plugin doesn't really need a separate prod and dev build. It also needs to be ES2015 otherwise we can't extend native classes.

view details

push time in 3 days

pull request commentfacebook/react

[DevTools] Support FunctionComponent.contextTypes

Another case is that forwardRef passes a second arg. That kind of doesn't work already but that's probably fine since it needs to be resilient to missing refs anyway. However, it shouldn't pass context to a forwardRef component even if it has contextTypes.

(We also have an experimental feature, Blocks, that provides a second arg but I'll remove that one.)

bl00mber

comment created time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 60afa3c11761e62d98c90b036890372c61bcc4c9

Lint bundles using the bundle config instead of scanning for files (#19025) * Lint bundles using the bundle config instead of scanning for files This ensures that we look for all the files that we expect to see there. If something doesn't get built we wouldn't detect it. However, this doesn't find files that aren't part of our builds such as indirection files in the root. This will need to change with ESM anyway since indirection files doesn't work. Everything should be built anyway. This ensures that we can use the bundles.js config to determine special cases instead of relying on file system conventions. * Run lint with flag

view details

push time in 3 days

PR merged facebook/react

Lint bundles using the bundle config instead of scanning for files CLA Signed React Core Team

If something doesn't get built we wouldn't detect it in lint. This ensures that we look for all the files that we expect to see there.

However, this doesn't find files that aren't part of our builds such as indirection files in the root. This will need to change with ESM anyway since indirection files doesn't work. Everything should be built anyway.

This ensures that we can use the bundles.js config to determine special cases instead of relying on file system conventions.

Ideally we'd use the same convention for jest so we stick to the same model for all the tools.

+168 -120

3 comments

6 changed files

sebmarkbage

pr closed time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 518ce9c25f18075214cb572e7dc240598090e648

Add Lazy Elements Behind a Flag (#19033) We really needed this for Flight before as well but we got away with it because Blocks were lazy but with the removal of Blocks, we'll need this to ensure that we can lazily stream in part of the content. Luckily LazyComponent isn't really just a Component. It's just a generic type that can resolve into anything kind of like a Promise. So we can use that to resolve elements just like we can components. This allows keys and props to become lazy as well. To accomplish this, we suspend during reconciliation. This causes us to not be able to render siblings because we don't know if the keys will reconcile. For initial render we could probably special case this and just render a lazy component fiber. Throwing in reconciliation didn't work correctly with direct nested siblings of a Suspense boundary before but it does now so it depends on new reconciler.

view details

push time in 3 days

PR merged facebook/react

Reviewers
Add Lazy Elements Behind a Flag CLA Signed React Core Team

We really needed this for Flight before as well but we got away with it because Blocks were lazy but with the removal of Blocks, we'll need this to ensure that we can lazily stream in part of the content.

Luckily LazyComponent isn't really just a Component. It's just a generic type that can resolve into anything kind of like a Promise.

So we can use that to resolve elements just like we can components. This allows keys and props to become lazy as well.

To accomplish this, we suspend during reconciliation. This causes us to not be able to render siblings because we don't know if the keys will reconcile. For initial render we could probably special case this and just render a lazy component fiber like we do with other lazy stuff. This is easier in blocking/concurrent mode only since the semantics for the LazyComponent tag is just to indefinitely suspend when rendered.

Throwing in reconciliation didn't work correctly with direct nested siblings of a Suspense boundary before but it does now so it depends on new reconciler.

+193 -2

5 comments

11 changed files

sebmarkbage

pr closed time in 3 days

pull request commentfacebook/react

Add Lazy Elements Behind a Flag

Is that difference in behavior accidental or intentional?

Accidental. I mean we intentionally didn't put things that threw in reconciliation due to this quirk. So it wasn't observable before.

The original source has to do with errors throwing. If an error throws inside an error boundary for whatever reason, we don't ever want to let that error boundary try to handle it. However, reconciling children isn't really part of the error boundary, it's just accidentally how it works.

Even if we wanted to keep this for errors, it doesn't have to apply to suspense boundaries. It just accidentally did because we treated them same as errors. We could do the traversal one level up for throwing promises.

However, since the new reconciler changes how suspense boundaries work, this issue accidentally got solved anyway.

sebmarkbage

comment created time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 4985bb0a80f5cbeaa61d21a7daf7da5ecff2d892

Rename 17 to 18 in warnings (#19031) We're not really supposed to refer to future versions by numbers. These will all slip so these numbers don't make sense anymore.

view details

push time in 3 days

PR merged facebook/react

Rename 17 to 18 in warnings CLA Signed React Core Team

We're not really supposed to refer to future versions by numbers.

These will all slip so these numbers don't make sense anymore.

+29 -29

3 comments

17 changed files

sebmarkbage

pr closed time in 3 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 21b624afc1a55de8738a56ec5dc82439d6f30bc3

Add Lazy Elements Behind a Flag We really needed this for Flight before as well but we got away with it because Blocks were lazy but with the removal of Blocks, we'll need this to ensure that we can lazily stream in part of the content. Luckily LazyComponent isn't really just a Component. It's just a generic type that can resolve into anything kind of like a Promise. So we can use that to resolve elements just like we can components. This allows keys and props to become lazy as well. To accomplish this, we suspend during reconciliation. This causes us to not be able to render siblings because we don't know if the keys will reconcile. For initial render we could probably special case this and just render a lazy component fiber. Throwing in reconciliation didn't work correctly with direct nested siblings of a Suspense boundary before but it does now so it depends on new reconciler.

view details

push time in 3 days

PR opened facebook/react

Reviewers
Add Lazy Elements Behind a Flag

We really needed this for Flight before as well but we got away with it because Blocks were lazy but with the removal of Blocks, we'll need this to ensure that we can lazily stream in part of the content.

Luckily LazyComponent isn't really just a Component. It's just a generic type that can resolve into anything kind of like a Promise.

So we can use that to resolve elements just like we can components. This allows keys and props to become lazy as well.

To accomplish this, we suspend during reconciliation. This causes us to not be able to render siblings because we don't know if the keys will reconcile. For initial render we could probably special case this and just render a lazy component fiber.

Throwing in reconciliation didn't work correctly with direct nested siblings of a Suspense boundary before but it does now so it depends on new reconciler.

+193 -2

0 comment

11 changed files

pr created time in 3 days

create barnchsebmarkbage/react

branch : lazyelements

created branch time in 3 days

push eventfacebook/react

Sebastian Markbåge

commit sha 607148673b3156d051d1fed17cd49e83698dce54

Remove ReactComponentTreeHook from internals (#19032) We don't really support mixing minor versions anymore anyway. But seems safe to remove in 17.

view details

push time in 4 days

PR merged facebook/react

Remove ReactComponentTreeHook from internals CLA Signed React Core Team

We don't really support mixing minor versions anymore anyway. But seems safe to remove in 17.

+10 -24

3 comments

2 changed files

sebmarkbage

pr closed time in 4 days

pull request commentfacebook/react

[DevTools] Support FunctionComponent.contextTypes

This argument is about to be removed from React and replace with other things so not sure it's worth supporting at this point. DevTools would need to fork to try to figure out if it should include it or not.

bl00mber

comment created time in 4 days

PR opened facebook/react

Reviewers
Remove ReactComponentTreeHook from internals

We don't really support mixing minor versions anymore anyway. But seems safe to remove in 17.

+10 -24

0 comment

2 changed files

pr created time in 4 days

create barnchsebmarkbage/react

branch : rmfor17

created branch time in 4 days

PR opened facebook/react

Reviewers
Rename 17 to 18 in warnings

We're not really supposed to refer to future versions by numbers.

These will all slip so these numbers don't make sense anymore.

+29 -29

0 comment

17 changed files

pr created time in 4 days

create barnchsebmarkbage/react

branch : 18is17

created branch time in 4 days

push eventfacebook/react

Sebastian Markbåge

commit sha 43e59f29d6edbd5b968a895e1a8bef8af1479a77

Delete Entries without Build Output from package.json and the build directory (#19029) * Gate test * Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

PR merged facebook/react

Delete Entries without Build Output from package.json and the build directory CLA Signed React Core Team

If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists.

This allows us to remove bundles from being built in the stable release channel and avoid including their wrappers in the build output.

+95 -14

4 comments

7 changed files

sebmarkbage

pr closed time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha dcaf24edd3d714bbec7080e82af55e34ba82d55c

Gate test

view details

Sebastian Markbage

commit sha c217affcbb57d780d5b2e50435b482f29d2fba04

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha aa7825d54567c6a2c35b88cdfa477f94dc50ed0a

Gate test

view details

Sebastian Markbage

commit sha c399f5a0f746470ce399f432051dc746a45bec05

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha cb58d2e37d1638c451c1b6fc742c1c9ba756eee4

Gate test

view details

Sebastian Markbage

commit sha f05c0cacab50e649f5777f4ef9da832a7312507e

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

pull request commentfacebook/react

Add ES2015 Node Build Config without ESM nor PROD/DEV

This is now stacked on top of, and blocked on, https://github.com/facebook/react/pull/19025

sebmarkbage

comment created time in 4 days

PR closed facebook/react

Delete entrypoints without exports from package.json and build output CLA Signed React Core Team

This is an alternative approach instead of #19029

If a file contains a .stable.js or .experimental.js fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json.

This allows us to remove bundles from being built in the stable release channel.

+113 -4

5 comments

9 changed files

sebmarkbage

pr closed time in 4 days

pull request commentfacebook/react

Delete entrypoints without exports from package.json and build output

I'll go with the other approach since it avoids including it into the /cjs/ folder.

sebmarkbage

comment created time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 5368c6c69840631a3f7a506ea7fe619bfc411925

Gate test

view details

Sebastian Markbage

commit sha e4aa64fcd0691cc9056b820f5244c08877a31e61

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

pull request commentfacebook/react

Delete entrypoints without exports from package.json and build output

There's really only one more file here because the fb ones aren't affected.

This approach has a flaw though because it still builds the bundle. So it actually ends up in the /cjs/ folder.

sebmarkbage

comment created time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 7c3f10f309e439a97ff58593720a819a1646c54c

Gate test

view details

Sebastian Markbage

commit sha 1f5c2ed6d8a0ef16e6adcbf867a1d5f9be3fc4e3

Delete entrypoints without exports from package.json and build output If a file contains a .stable or .experimental fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 7c3f10f309e439a97ff58593720a819a1646c54c

Gate test

view details

Sebastian Markbage

commit sha 50ffb9f93d03f31aff6b03f44cc6fa76d22fb3b1

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 339d36363969bb0bef53d3ff8a16e385d491688f

Delete entrypoints without exports from package.json and build output If a file contains a .stable or .experimental fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

pull request commentfacebook/react

Clean up passive effects experimental flags

Meh. Let's just not use it as precedence to add more.

bvaughn

comment created time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha 445a658ad38f8c6b7d5bfaed5bb7b05aa08387f0

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha f139bb9388b60edfe21b9b3a9f4bbdec3382484c

Delete entrypoints without exports from package.json and build output If a file contains a .stable or .experimental fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha b9a880e375ec6dad1df66874800315c831837ac9

Gate test

view details

Sebastian Markbage

commit sha 5c8b8ae435c415de2ab4b375e5c9037d6bc71aad

Delete entrypoints without exports from package.json and build output If a file contains a .stable or .experimental fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha b9a880e375ec6dad1df66874800315c831837ac9

Gate test

view details

Sebastian Markbage

commit sha 1493d1e2989480afdc88cfa0c9b1b90ca7fb907e

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

PR opened facebook/react

Reviewers
Delete entrypoints without exports from package.json and build output

This is an alternative approach instead of #19029

If a file contains a .stable or .experimental fork, and that fork doesn't have any exports, then we remove the file from the build directory and from the package.json.

This allows us to remove bundles from being built in the stable release channel.

+100 -1

0 comment

6 changed files

pr created time in 4 days

create barnchsebmarkbage/react

branch : excludeentrypoints2

created branch time in 4 days

push eventsebmarkbage/react

Sebastian Markbage

commit sha cac5e7bbb8afd4f7727547867cfb410c935d09a8

Delete entrypoints without Build Outputs from package.json and build output If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists. This allows us to remove bundles from being built in the stable release channel.

view details

push time in 4 days

PR opened facebook/react

Reviewers
Delete Entries without Build Output from package.json and the build directory

If an entry point exists in bundles.js but doesn't have any bundleTypes, I delete that entry point file from the build directory. I also remove it from the files field in package.json if it exists.

This allows us to remove bundles from being built in the stable release channel and avoid including their wrappers in the build output.

+60 -2

0 comment

2 changed files

pr created time in 4 days

create barnchsebmarkbage/react

branch : excludeentrypoints

created branch time in 4 days

push eventfacebook/react

Sebastian Markbåge

commit sha e668f1b54f123c1a927d1bd80270db48c4842ee9

Remove unstable-fire from package.json (#19026) This hasn't existed for a while now.

view details

push time in 4 days

PR merged facebook/react

Remove unstable-fire from package.json CLA Signed React Core Team

This hasn't existed for a while now.

+0 -1

1 comment

1 changed file

sebmarkbage

pr closed time in 4 days

PR opened facebook/react

Reviewers
Remove unstable-fire from package.json

This hasn't existed for a while now.

+0 -1

0 comment

1 changed file

pr created time in 4 days

create barnchsebmarkbage/react

branch : rmfire

created branch time in 4 days

pull request commentfacebook/react

Don't build unstable entry point for STABLE

I moved the branching on EXPERIMENTAL to the bundles file in this PR: https://github.com/facebook/react/pull/19025/files#diff-6c6554c881731a0c8ac33c8ddba3876eR357

We can configure this in the bundles file instead.

gaearon

comment created time in 4 days

more