firefox-devtools / debugger

The faster and smarter Debugger for Firefox DevTools 🔥🦊🛠
https://firefox-dev.tools/
4.61k stars 759 forks source link

[meta] Check that all plugins are compatible with React 16.2.0 #4885

Closed MikeRatcliffe closed 6 years ago

MikeRatcliffe commented 6 years ago

As part "encouraging" the debugger to be React 16 compatible (issue #4879) we need to check that every dependency will work with React 16.

MikeRatcliffe commented 6 years ago

/claim

claim[bot] commented 6 years ago

Thanks for claiming the issue! :wave:

!!! Please check your email and confirm the invitation

Here are some links for getting setup, contributing, and developing. We're always happy to answer questions in slack! If you become busy, feel free to /unclaim it.

:fox_face: Debugger team!

MikeRatcliffe commented 6 years ago

TODO

package.json - dependencies (production)

package.json - dependencies (dev)

Final Touches

Prod dependencies
Dev dependencies
Code Changes for the actual React 16 update
diff --git a/src/main.js b/src/main.js
index 516c9b54..8bff031b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,9 +13,9 @@ import { isFirefoxPanel } from "devtools-config";
 import { onConnect } from "./client";
 import { teardownWorkers } from "./utils/bootstrap";

-if (process.env.NODE_ENV !== "production") {
-  window.Perf = require("react-addons-perf");
-}
+// if (process.env.NODE_ENV !== "production") {
+//   window.Perf = require("react-addons-perf");
+// }

 if (isFirefoxPanel()) {
   module.exports = {
diff --git a/src/test/tests-setup.js b/src/test/tests-setup.js
index 63aad0e6..aa2037b9 100644
--- a/src/test/tests-setup.js
+++ b/src/test/tests-setup.js
@@ -4,6 +4,12 @@ import path from "path";
 import getConfig from "../../bin/getConfig";
 import { setConfig } from "devtools-config";
 import { readFileSync } from "fs";
+
+// Setup enzyme's react adapter
+import { configure } from "enzyme";
+import Adapter from "enzyme-adapter-react-16";
+configure({ adapter: new Adapter() });
+
 const rootPath = path.join(__dirname, "../../");

 const envConfig = getConfig();
wldcordeiro commented 6 years ago

Decide whether to continue using Enzyme with Async Fibre on the horizon. Whatever we do here we will need to rewrite the Enzyme tests because Enzyme was rewritten for React Fibre.

Rewrite is a bit of a stretch. There may need to be tweaks here and there but for the most part unless you were using some of the private APIs in Enzyme that they've since stripped you shouldn't have the hardest time upgrading (I would even argue that what we should do is update Enzyme to 3.x first with the React 15 adapter.)

jasonLaster commented 6 years ago

i believe this is done