Ensure @rails/actioncable package contains complete source
Action Cable's JavaScript library can optionally be imported as an ES6 module via `import { … } from "@rails/actioncable/src"`, but that module is broken in most of the releases published on npm: ``` ERROR in ./node_modules/@rails/actioncable/src/connection.js Module not found: Error: Can't resolve './internal' in './node_modules/@rails/actioncable/src' @ ./node_modules/@rails/actioncable/src/connection.js @ ./node_modules/@rails/actioncable/src/index.js ``` Because `internal.js` was gitignored, it would only be included if the publisher happened to have it generated locally. Committing it to version control ensures that won't happen, and gives us better visibility into changes over time. References: - https://github.com/rails/rails/pull/34370 - c0368ad090b79c19300a4aa133bb188b2d9ab611
This commit is contained in:
parent
8ab4fd12f1
commit
55311b1596
1
actioncable/.gitignore
vendored
1
actioncable/.gitignore
vendored
@ -1,4 +1,3 @@
|
||||
/app/javascript/action_cable/internal.js
|
||||
/src
|
||||
/test/javascript/compiled/
|
||||
/tmp/
|
||||
|
@ -38,7 +38,7 @@ namespace :assets do
|
||||
require "action_cable"
|
||||
|
||||
File.open(File.join(__dir__, "app/javascript/action_cable/internal.js").to_s, "w+") do |file|
|
||||
file.write("export default #{JSON.generate(ActionCable::INTERNAL)}")
|
||||
file.write("export default #{JSON.pretty_generate(ActionCable::INTERNAL)}\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
19
actioncable/app/javascript/action_cable/internal.js
Normal file
19
actioncable/app/javascript/action_cable/internal.js
Normal file
@ -0,0 +1,19 @@
|
||||
export default {
|
||||
"message_types": {
|
||||
"welcome": "welcome",
|
||||
"disconnect": "disconnect",
|
||||
"ping": "ping",
|
||||
"confirmation": "confirm_subscription",
|
||||
"rejection": "reject_subscription"
|
||||
},
|
||||
"disconnect_reasons": {
|
||||
"unauthorized": "unauthorized",
|
||||
"invalid_request": "invalid_request",
|
||||
"server_restart": "server_restart"
|
||||
},
|
||||
"default_mount_path": "/cable",
|
||||
"protocols": [
|
||||
"actioncable-v1-json",
|
||||
"actioncable-unsupported"
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user