Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update to react 16 - #792

Merged
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16
Oct 9, 2017
Merged

Update to react 16#792
BookOfGreg merged 24 commits into
masterfrom
update-to-react-16

Conversation

@BookOfGreg

@BookOfGregBookOfGreg commented Sep 27, 2017

Copy link
Copy Markdown
Contributor

Based on facebook's blog posts and deprecation warnings

  • Update React Builds to 16
    • react-addons-transition-group to react-transition-group/TransitionGroup
    • react-addons-css-transition-group to react-transition-group/CSSTransitionGroup
    • react-addons-update to immutability-helper
    • react-addons-test-utils to react-dom/test-utils
    • Removed: react-addons-linked-state-mixin
    • Removed: react-addons-create-fragment
    • Removed: react-addons-pure-render-mixin
    • Removed: react-addons-perf
  • Update generators to be compatible with 16
  • Find appropriate place to require("create-react-class") if we use that rather than ES6. In React_UJS perhaps?
    • Put prop-types in bundle
    • Put create-react-class in addons
  • Update Dummy apps in test suite
    • Deprecated use of old React features
    • Update to newer Libv8 (and miniracer)
    • Handle "any" prop issue by removing addons

Fixes#790

This PR is very unlikely to be backwards compatible with React 15

  • Addons in the prepackaged build have changed; some have direct replacements but not all, those that don't have different API's.
  • Changes like create-class will change how our generators work.

Reference: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
Replace -> With
react-addons-transition-group -> react-transition-group/TransitionGroup
react-addons-css-transition-group -> react-transition-group/CSSTransitionGroup
react-addons-update -> immutability-helper
react-addons-test-utils -> react-dom/test-utils
Removed
react-addons-linked-state-mixin
use Value and onChange
react-addons-create-fragment
React16 has fragments
react-addons-pure-render-mixin
use React.PureComponent
react-addons-perf
see https://facebook.github.io/react/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab
def file_header
if webpacker?
%|var React = require("react")\n|
if options[:es6]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it important to distinguish between these two varieties of preprocessed JS? I mean, what's the scenario where you wantrequire(...) but not import?

Anyone who's using webpacker will probably already use Babel (for JSX), right? So do you think one of these options would be sufficient by itself?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was tempted to scrap all the old style generators but was not sure on the effect it would have with sprockets + babel transpiler. I did what looked safe given I still don't fully know the system and saw the option[:es6] used nearby in the same file.
Will continue on this path a little this afternoon, seems like the most pressing issue for now, then maybe the HMR ( 793 ) thing after once I get time.

@BookOfGreg

BookOfGreg commented Oct 1, 2017

Copy link
Copy Markdown
ContributorAuthor

@rmosolgo
The only failing tests on bundle exec appraisal rails-5_no_sprockets_webpacker_3 rake test are around ExecJS::ProgramError: TypeError: Cannot read property 'any' of undefined which I've tracked back to addons.TransitionGroup = require("react-transition-group/TransitionGroup"); which seems to include component.PropType.any which is always undefined.

I couldn't find a way of getting it to accept the migration to prop-types so I'm considering dropping the addons packages given React 16 doesn't do addons anymore anyway.

Thoughts?
I'm thinking a release on the 2.3 branch to just do React 15.6 without all the deprecation warnings, and then for React 16 no addons.

@rmosolgo

Copy link
Copy Markdown
Contributor

Yeah, I guess there are other ways to get addons these days, so it's not as important to bundle them here. That two-release plan sounds good, that seems like it would be easier for people to migrate, too.

@BookOfGreg

Copy link
Copy Markdown
ContributorAuthor

Previous version has 3k downloads. Not hearing anything about bugs in its use. Tempting to get ready to merge this one in.

@rmosolgo

Copy link
Copy Markdown
Contributor

Do your thing 😎

@BookOfGreg
BookOfGreg merged commit 0ef92cc into masterOct 9, 2017
@BookOfGreg
BookOfGreg deleted the update-to-react-16 branch October 9, 2017 08:17
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
BookOfGreg added a commit that referenced this pull request Jul 27, 2019
* Upgrade all Yarn deps in Test folders
* Migrate to webdrivers gem
* Revert Bundle Renderer test to before #792
Add pry-byebug for ease of debugging.
Update the locally used react_ujs to 2.5.0
* Use travis recommended chrome config
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BookOfGreg@rmosolgo