Restore action_cable.js UMD module support. Fixes #28366 #28385
Merged
Conversation
We already depend on |
Yeah, if --- a/actioncable/Rakefile
+++ b/actioncable/Rakefile
@@ -50,6 +50,11 @@ namespace :assets do
raise "[FAIL] #{file} is missing" unless pathname.exist?
raise "[FAIL] #{file} isn't a UMD module" unless pathname.read =~ umd_pattern
+
+ require "open3"
+ stdout, stderr, status = Open3.capture3("node", "--print", "window = {}; require('#{dir}');")
+ raise "[FAIL] #{file} can't be required as a module:\n#{stderr}" unless status.success?
+ Which would fail like:
Happy to commit that if you'd like. |
Sounds good |
Updated and squashed. Output now looks like:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Fix for #28366
774be3e bumped Blade from 0.6.1 to 0.7.0, which dropped sprockets-export from
Gemfile.lock
(Blade 0.7.0 no longer includes sprockets-export as a dependency). Doing so silently droppedaction_cable.js
's UMD module support, essentially breaking it as an npm package.This change restores sprockets-export and adds a new rake task that validates
action_cable.js
to help ensure this doesn't happen again./cc @matthewd