cable_ready 5.0.0.pre9 → 5.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -1
- data/Gemfile.lock +119 -100
- data/README.md +12 -15
- data/app/assets/javascripts/cable_ready.js +465 -155
- data/app/assets/javascripts/cable_ready.umd.js +449 -169
- data/app/channels/cable_ready/stream.rb +7 -5
- data/app/helpers/cable_ready/view_helper.rb +58 -0
- data/app/jobs/cable_ready/broadcast_job.rb +15 -0
- data/app/models/concerns/cable_ready/updatable/collection_updatable_callbacks.rb +2 -0
- data/app/models/concerns/cable_ready/updatable/collections_registry.rb +31 -5
- data/app/models/concerns/cable_ready/updatable/model_updatable_callbacks.rb +9 -4
- data/app/models/concerns/cable_ready/updatable.rb +107 -39
- data/app/models/concerns/extend_has_many.rb +2 -0
- data/cable_ready.gemspec +4 -6
- data/lib/cable_ready/broadcaster.rb +2 -0
- data/lib/cable_ready/cable_car.rb +2 -0
- data/lib/cable_ready/channel.rb +12 -4
- data/lib/cable_ready/channels.rb +3 -1
- data/lib/cable_ready/config.rb +17 -2
- data/lib/cable_ready/engine.rb +33 -14
- data/lib/cable_ready/identifiable.rb +23 -5
- data/lib/cable_ready/importmap.rb +3 -1
- data/lib/cable_ready/installer.rb +224 -0
- data/lib/cable_ready/operation_builder.rb +1 -1
- data/lib/cable_ready/sanity_checker.rb +1 -31
- data/lib/cable_ready/updatable/memory_cache_debounce_adapter.rb +22 -0
- data/lib/cable_ready/version.rb +1 -1
- data/lib/cable_ready.rb +5 -8
- data/lib/cable_ready_helper.rb +13 -0
- data/lib/generators/cable_ready/channel_generator.rb +51 -12
- data/lib/generators/cable_ready/templates/config/initializers/cable_ready.rb +15 -6
- data/lib/install/action_cable.rb +144 -0
- data/lib/install/broadcaster.rb +109 -0
- data/lib/install/bundle.rb +54 -0
- data/lib/install/compression.rb +51 -0
- data/lib/install/config.rb +39 -0
- data/lib/install/development.rb +34 -0
- data/lib/install/esbuild.rb +101 -0
- data/lib/install/importmap.rb +96 -0
- data/lib/install/initializers.rb +15 -0
- data/lib/install/mrujs.rb +121 -0
- data/lib/install/npm_packages.rb +13 -0
- data/lib/install/shakapacker.rb +65 -0
- data/lib/install/spring.rb +54 -0
- data/lib/install/updatable.rb +34 -0
- data/lib/install/vite.rb +66 -0
- data/lib/install/webpacker.rb +93 -0
- data/lib/install/yarn.rb +56 -0
- data/lib/tasks/cable_ready/cable_ready.rake +247 -0
- data/package.json +36 -22
- data/{rollup.config.js → rollup.config.mjs} +7 -25
- data/web-test-runner.config.mjs +12 -0
- data/yarn.lock +3058 -398
- metadata +39 -167
- data/IMPLEMENTATION.md +0 -93
- data/LATEST +0 -1
- data/app/assets/javascripts/cable_ready.min.js +0 -2
- data/app/assets/javascripts/cable_ready.min.js.map +0 -1
- data/app/assets/javascripts/cable_ready.umd.min.js +0 -2
- data/app/assets/javascripts/cable_ready.umd.min.js.map +0 -1
- data/app/helpers/cable_ready_helper.rb +0 -26
- data/app/jobs/cable_ready_broadcast_job.rb +0 -14
- data/lib/generators/cable_ready/helpers_generator.rb +0 -43
- data/lib/generators/cable_ready/initializer_generator.rb +0 -14
- data/test/dummy/app/channels/application_cable/channel.rb +0 -4
- data/test/dummy/app/channels/application_cable/connection.rb +0 -4
- data/test/dummy/app/controllers/application_controller.rb +0 -2
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/jobs/application_job.rb +0 -7
- data/test/dummy/app/mailers/application_mailer.rb +0 -4
- data/test/dummy/app/models/application_record.rb +0 -3
- data/test/dummy/app/models/dugong.rb +0 -4
- data/test/dummy/app/models/global_idable_entity.rb +0 -16
- data/test/dummy/app/models/post.rb +0 -4
- data/test/dummy/app/models/section.rb +0 -6
- data/test/dummy/app/models/team.rb +0 -6
- data/test/dummy/app/models/topic.rb +0 -4
- data/test/dummy/app/models/user.rb +0 -7
- data/test/dummy/config/application.rb +0 -22
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -76
- data/test/dummy/config/environments/production.rb +0 -120
- data/test/dummy/config/environments/test.rb +0 -59
- data/test/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/test/dummy/config/initializers/assets.rb +0 -12
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -8
- data/test/dummy/config/initializers/cable_ready.rb +0 -18
- data/test/dummy/config/initializers/content_security_policy.rb +0 -28
- data/test/dummy/config/initializers/cookies_serializer.rb +0 -5
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -6
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
- data/test/dummy/config/initializers/permissions_policy.rb +0 -11
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/puma.rb +0 -43
- data/test/dummy/config/routes.rb +0 -3
- data/test/dummy/db/migrate/20210902154139_create_users.rb +0 -9
- data/test/dummy/db/migrate/20210902154153_create_posts.rb +0 -10
- data/test/dummy/db/migrate/20210904081930_create_topics.rb +0 -9
- data/test/dummy/db/migrate/20210904093607_create_sections.rb +0 -9
- data/test/dummy/db/migrate/20210913191735_create_teams.rb +0 -8
- data/test/dummy/db/migrate/20210913191759_add_team_reference_to_users.rb +0 -5
- data/test/dummy/db/migrate/20220329222959_create_dugongs.rb +0 -8
- data/test/dummy/db/migrate/20220329230221_create_active_storage_tables.active_storage.rb +0 -36
- data/test/dummy/db/schema.rb +0 -84
- data/test/dummy/test/models/dugong_test.rb +0 -7
- data/test/dummy/test/models/post_test.rb +0 -7
- data/test/dummy/test/models/section_test.rb +0 -7
- data/test/dummy/test/models/team_test.rb +0 -7
- data/test/dummy/test/models/topic_test.rb +0 -7
- data/test/dummy/test/models/user_test.rb +0 -7
- data/test/lib/cable_ready/cable_car_test.rb +0 -50
- data/test/lib/cable_ready/compoundable_test.rb +0 -26
- data/test/lib/cable_ready/helper_test.rb +0 -25
- data/test/lib/cable_ready/identifiable_test.rb +0 -69
- data/test/lib/cable_ready/operation_builder_test.rb +0 -189
- data/test/lib/cable_ready/updatable_test.rb +0 -135
- data/test/lib/generators/cable_ready/channel_generator_test.rb +0 -157
- data/test/support/generator_test_helpers.rb +0 -28
- data/test/test_helper.rb +0 -18
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "cable_ready",
|
3
|
-
"version": "5.0.0-
|
3
|
+
"version": "5.0.0-rc1",
|
4
4
|
"description": "CableReady helps you create great real-time user experiences by making it simple to trigger client-side DOM changes from server-side Ruby.",
|
5
5
|
"keywords": [
|
6
6
|
"ruby",
|
@@ -13,39 +13,53 @@
|
|
13
13
|
"client-side",
|
14
14
|
"dom"
|
15
15
|
],
|
16
|
-
"homepage": "https://cableready.stimulusreflex.com
|
17
|
-
"bugs":
|
18
|
-
|
19
|
-
},
|
20
|
-
"repository": {
|
21
|
-
"type": "git",
|
22
|
-
"url": "git+https://github.com:stimulusreflex/cable_ready.git"
|
23
|
-
},
|
16
|
+
"homepage": "https://cableready.stimulusreflex.com",
|
17
|
+
"bugs": "https://github.com/stimulusreflex/cable_ready/issues",
|
18
|
+
"repository": "https://github.com/stimulusreflex/cable_ready",
|
24
19
|
"license": "MIT",
|
25
20
|
"author": "Nathan Hopkins <natehop@gmail.com>",
|
26
|
-
"
|
27
|
-
|
21
|
+
"contributors": [
|
22
|
+
"Andrew Mason <andrewmcodes@protonmail.com>",
|
23
|
+
"Julian Rubisch <julian@julianrubisch.at>",
|
24
|
+
"Marco Roth <marco.roth@intergga.ch>",
|
25
|
+
"Nathan Hopkins <natehop@gmail.com>"
|
26
|
+
],
|
27
|
+
"main": "./dist/cable_ready.js",
|
28
|
+
"module": "./dist/cable_ready.js",
|
29
|
+
"browser": "./dist/cable_ready.js",
|
30
|
+
"import": "./dist/cable_ready.js",
|
31
|
+
"unpkg": "./dist/cable_ready.umd.js",
|
32
|
+
"umd": "./dist/cable_ready.umd.js",
|
28
33
|
"files": [
|
29
34
|
"dist/*",
|
30
35
|
"javascript/*"
|
31
36
|
],
|
32
37
|
"scripts": {
|
33
|
-
"lint": "yarn run
|
34
|
-
"format": "yarn run prettier-standard
|
35
|
-
"prettier-standard:check": "yarn run prettier-standard --check ./javascript/**/*.js rollup.config.js",
|
36
|
-
"prettier-standard:format": "yarn run prettier-standard ./javascript/**/*.js rollup.config.js",
|
38
|
+
"lint": "yarn run format --check",
|
39
|
+
"format": "yarn run prettier-standard ./javascript/**/*.js rollup.config.mjs",
|
37
40
|
"build": "yarn rollup -c",
|
38
|
-
"watch": "yarn rollup -wc"
|
41
|
+
"watch": "yarn rollup -wc",
|
42
|
+
"test": "web-test-runner javascript/test/**/*.test.js",
|
43
|
+
"docs:dev": "vitepress dev docs",
|
44
|
+
"docs:build": "vitepress build docs && cp ./docs/_redirects ./docs/.vitepress/dist",
|
45
|
+
"docs:preview": "vitepress preview docs"
|
39
46
|
},
|
40
47
|
"dependencies": {
|
41
|
-
"morphdom": "
|
48
|
+
"morphdom": "2.6.1"
|
42
49
|
},
|
43
50
|
"devDependencies": {
|
44
|
-
"@
|
45
|
-
"@rollup/plugin-json": "^
|
46
|
-
"@rollup/plugin-node-resolve": "^
|
51
|
+
"@open-wc/testing": "^3.1.7",
|
52
|
+
"@rollup/plugin-json": "^6.0.0",
|
53
|
+
"@rollup/plugin-node-resolve": "^15.0.1",
|
54
|
+
"@rollup/plugin-terser": "^0.4.0",
|
55
|
+
"@web/dev-server-esbuild": "^0.3.3",
|
56
|
+
"@web/dev-server-rollup": "^0.3.21",
|
57
|
+
"@web/test-runner": "^0.15.1",
|
47
58
|
"prettier-standard": "^16.4.1",
|
48
|
-
"rollup": "^
|
49
|
-
"
|
59
|
+
"rollup": "^3.19.1",
|
60
|
+
"sinon": "^15.0.2",
|
61
|
+
"vite": "^4.1.4",
|
62
|
+
"vitepress": "^1.0.0-alpha.56",
|
63
|
+
"vitepress-plugin-search": "^1.0.4-alpha.19"
|
50
64
|
}
|
51
65
|
}
|
@@ -1,26 +1,19 @@
|
|
1
1
|
import resolve from '@rollup/plugin-node-resolve'
|
2
|
-
import commonjs from '@rollup/plugin-commonjs'
|
3
2
|
import json from '@rollup/plugin-json'
|
4
|
-
import
|
3
|
+
import terser from '@rollup/plugin-terser'
|
5
4
|
|
6
5
|
const pretty = () => {
|
7
6
|
return terser({
|
8
7
|
mangle: false,
|
9
8
|
compress: false,
|
10
9
|
format: {
|
10
|
+
comments: 'all',
|
11
11
|
beautify: true,
|
12
12
|
indent_level: 2
|
13
13
|
}
|
14
14
|
})
|
15
15
|
}
|
16
16
|
|
17
|
-
const minify = () => {
|
18
|
-
return terser({
|
19
|
-
mangle: true,
|
20
|
-
compress: true
|
21
|
-
})
|
22
|
-
}
|
23
|
-
|
24
17
|
const esConfig = {
|
25
18
|
format: 'es',
|
26
19
|
inlineDynamicImports: true
|
@@ -33,31 +26,20 @@ const umdConfig = {
|
|
33
26
|
globals: { morphdom: 'morphdom' }
|
34
27
|
}
|
35
28
|
|
36
|
-
const
|
29
|
+
const baseName = 'cable_ready'
|
30
|
+
const distFolders = ['dist', 'app/assets/javascripts']
|
37
31
|
|
38
32
|
const output = distFolders
|
39
33
|
.map(distFolder => [
|
40
34
|
{
|
41
35
|
...esConfig,
|
42
|
-
file: `${distFolder}
|
36
|
+
file: `${distFolder}/${baseName}.js`,
|
43
37
|
plugins: [pretty()]
|
44
38
|
},
|
45
|
-
{
|
46
|
-
...esConfig,
|
47
|
-
file: `${distFolder}/cable_ready.min.js`,
|
48
|
-
sourcemap: true,
|
49
|
-
plugins: [minify()]
|
50
|
-
},
|
51
39
|
{
|
52
40
|
...umdConfig,
|
53
|
-
file: `${distFolder}
|
41
|
+
file: `${distFolder}/${baseName}.umd.js`,
|
54
42
|
plugins: [pretty()]
|
55
|
-
},
|
56
|
-
{
|
57
|
-
...umdConfig,
|
58
|
-
file: `${distFolder}/cable_ready.umd.min.js`,
|
59
|
-
sourcemap: true,
|
60
|
-
plugins: [minify()]
|
61
43
|
}
|
62
44
|
])
|
63
45
|
.flat()
|
@@ -67,7 +49,7 @@ export default [
|
|
67
49
|
external: ['morphdom'],
|
68
50
|
input: 'javascript/index.js',
|
69
51
|
output,
|
70
|
-
plugins: [
|
52
|
+
plugins: [resolve(), json()],
|
71
53
|
watch: {
|
72
54
|
include: 'javascript/**'
|
73
55
|
}
|