Closed Bug 1413860 Opened 7 years ago Closed 7 years ago

Update shared components to use prop-types and react-dom-factories

Categories

(DevTools :: Shared Components, enhancement, P2)

enhancement

Tracking

(firefox59 fixed)

RESOLVED FIXED
Firefox 59
Tracking Status
firefox59 --- fixed

People

(Reporter: miker, Assigned: miker)

References

Details

Attachments

(1 file)

There are a number of reasons for this:

1. We need to have the modules available for code from devtools-core, which uses them.
2. It begins the process of getting rid of React deprecation warnings.
3. It prepares us to upgrade to React 16.

Versioning info from devtools-core github repo:

"prop-types": "^15.6.0"
"react-dom-factories": "^1.0.2"
The dt1 failures on windows 7 appear to be related to an earlier push so the try run should be classed as green.
Comment on attachment 8925912 [details]
Bug 1413860 - Shared components to use prop-types and react-dom-factories

https://reviewboard.mozilla.org/r/197138/#review203244

Thanks Mike.
I have a few comments.
Also, I am wondering if we do need the production proptypes file.
Couln't we have a shim or something since it's useless in production (unless I'm wrong) ?
This would save some time to not load the whole prop-types file (it is 34KB)

::: devtools/client/shared/components/NotificationBox.js
(Diff revision 3)
>    renderNotification(notification) {
>      return (
>        div({
>          key: notification.value,
>          className: "notification",
> -        "data-key": notification.value,

this shouldn't be removed

::: devtools/client/shared/components/SidebarToggle.js:9
(Diff revision 3)
>   * License, v. 2.0. If a copy of the MPL was not distributed with this
>   * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
>  
>  "use strict";
>  
> -const { DOM, Component, PropTypes } = require("devtools/client/shared/vendor/react");
> +const { Component, PropTypes } = require("devtools/client/shared/vendor/react");

shouldn't we import propTypes separately too ?

::: devtools/client/shared/components/tabs/Tabs.js:54
(Diff revision 3)
> -          React.PropTypes.element
> +          PropTypes.element
>          ]).isRequired,
> -        showAllTabsMenu: React.PropTypes.bool,
> -        onAllTabsMenuClick: React.PropTypes.func,
> +        showAllTabsMenu: PropTypes.bool,
> +        onAllTabsMenuClick: PropTypes.func,
>  
> -        // Set true will only render selected panel on DOM. It's complete
> +        // Set true will only render selected panel on dom. It's complete

this shouldn't be changed :)

::: devtools/client/shared/vendor/REACT_PROP_TYPES_UPGRADING.md:2
(Diff revision 3)
> +[//]: # (
> +  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with thisfile, You can obtain one at http://mozilla.org/MPL/2.0/.

s/thisfile/this file
Attachment #8925912 - Flags: review?(nchevobbe) → review+
Pushed by mratcliffe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9029ee56b1ad
Shared components to use prop-types and react-dom-factories r=nchevobbe
Backout by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/96de79fffd2c
Backed out changeset 9029ee56b1ad for mochitest clipboard failures on browser_jsterm_selfxss.js. r=backout on a CLOSED TREE
Okay, 100% this patch that is causing the problem... looking into it.
Pushed by mratcliffe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c00cc232d689
Shared components to use prop-types and react-dom-factories r=nchevobbe
https://hg.mozilla.org/mozilla-central/rev/c00cc232d689
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 59
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: