ruby_wasm_ui 0.8.3 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +0 -2
  3. data/Makefile +56 -0
  4. data/README.md +26 -6
  5. data/examples/.gitignore +4 -0
  6. data/examples/Gemfile.lock +15 -17
  7. data/examples/src/index.html +21 -0
  8. data/examples/src/index.rb +26 -0
  9. data/exe/ruby-wasm-ui +6 -0
  10. data/lib/ruby_wasm_ui/cli/command/base.rb +192 -0
  11. data/lib/ruby_wasm_ui/cli/command/dev.rb +207 -0
  12. data/lib/ruby_wasm_ui/cli/command/pack.rb +36 -0
  13. data/lib/ruby_wasm_ui/cli/command/rebuild.rb +38 -0
  14. data/lib/ruby_wasm_ui/cli/command/setup.rb +159 -0
  15. data/lib/ruby_wasm_ui/cli/command.rb +48 -0
  16. data/lib/ruby_wasm_ui/version.rb +1 -1
  17. data/lib/ruby_wasm_ui.rb +8 -8
  18. data/package-lock.json +2 -2
  19. data/package.json +1 -1
  20. data/packages/npm-packages/runtime/package-lock.json +2 -2
  21. data/packages/npm-packages/runtime/package.json +1 -1
  22. data/packages/npm-packages/runtime/rollup.config.mjs +1 -1
  23. data/spec/ruby_wasm_ui/cli/command/base_spec.rb +503 -0
  24. data/spec/ruby_wasm_ui/cli/command/dev_spec.rb +442 -0
  25. data/spec/ruby_wasm_ui/cli/command/pack_spec.rb +131 -0
  26. data/spec/ruby_wasm_ui/cli/command/rebuild_spec.rb +95 -0
  27. data/spec/ruby_wasm_ui/cli/command/setup_spec.rb +251 -0
  28. data/spec/ruby_wasm_ui/cli/command_spec.rb +118 -0
  29. data/{packages/npm-packages/runtime/spec → spec}/spec_helper.rb +1 -1
  30. metadata +96 -38
  31. data/packages/npm-packages/runtime/Gemfile +0 -3
  32. data/packages/npm-packages/runtime/Gemfile.lock +0 -26
  33. /data/lib/ruby_wasm_ui/{app.rb → runtime/app.rb} +0 -0
  34. /data/lib/ruby_wasm_ui/{component.rb → runtime/component.rb} +0 -0
  35. /data/lib/ruby_wasm_ui/{dispatcher.rb → runtime/dispatcher.rb} +0 -0
  36. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/attributes.rb +0 -0
  37. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/destroy_dom.rb +0 -0
  38. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/events.rb +0 -0
  39. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/mount_dom.rb +0 -0
  40. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/patch_dom.rb +0 -0
  41. /data/lib/ruby_wasm_ui/{dom → runtime/dom}/scheduler.rb +0 -0
  42. /data/lib/ruby_wasm_ui/{dom.rb → runtime/dom.rb} +0 -0
  43. /data/lib/ruby_wasm_ui/{nodes_equal.rb → runtime/nodes_equal.rb} +0 -0
  44. /data/lib/ruby_wasm_ui/{template → runtime/template}/build_conditional_group.rb +0 -0
  45. /data/lib/ruby_wasm_ui/{template → runtime/template}/build_for_group.rb +0 -0
  46. /data/lib/ruby_wasm_ui/{template → runtime/template}/build_vdom.rb +0 -0
  47. /data/lib/ruby_wasm_ui/{template → runtime/template}/parser.rb +0 -0
  48. /data/lib/ruby_wasm_ui/{template.rb → runtime/template.rb} +0 -0
  49. /data/lib/ruby_wasm_ui/{utils → runtime/utils}/arrays.rb +0 -0
  50. /data/lib/ruby_wasm_ui/{utils → runtime/utils}/objects.rb +0 -0
  51. /data/lib/ruby_wasm_ui/{utils → runtime/utils}/props.rb +0 -0
  52. /data/lib/ruby_wasm_ui/{utils → runtime/utils}/strings.rb +0 -0
  53. /data/lib/ruby_wasm_ui/{utils.rb → runtime/utils.rb} +0 -0
  54. /data/lib/ruby_wasm_ui/{vdom.rb → runtime/vdom.rb} +0 -0
  55. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/component_spec.rb +0 -0
  56. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/dom/scheduler_spec.rb +0 -0
  57. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/nodes_equal_spec.rb +0 -0
  58. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/template/build_conditional_group_spec.rb +0 -0
  59. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/template/build_for_group_spec.rb +0 -0
  60. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/template/build_vdom_spec.rb +0 -0
  61. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/template/parser_spec.rb +0 -0
  62. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/utils/arrays_spec.rb +0 -0
  63. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/utils/objects_spec.rb +0 -0
  64. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/utils/props_spec.rb +0 -0
  65. /data/{packages/npm-packages/runtime/spec/ruby_wasm_ui → spec/ruby_wasm_ui/runtime}/utils/strings_spec.rb +0 -0
@@ -0,0 +1,251 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ require 'tmpdir'
5
+
6
+ RSpec.describe RubyWasmUi::Cli::Command::Setup do
7
+ let(:setup_instance) { described_class.new }
8
+
9
+ describe '.description' do
10
+ it 'returns the description' do
11
+ expect(described_class.description).to eq('Set up the project for ruby-wasm-ui')
12
+ end
13
+ end
14
+
15
+ describe '#run' do
16
+ let(:temp_dir) { Dir.mktmpdir }
17
+
18
+ around do |example|
19
+ Dir.chdir(temp_dir) do
20
+ example.run
21
+ end
22
+ ensure
23
+ FileUtils.rm_rf(temp_dir) if Dir.exist?(temp_dir)
24
+ end
25
+
26
+ before do
27
+ allow(setup_instance).to receive(:check_ruby_version).and_return(RUBY_VERSION.split('.')[0..1].join('.'))
28
+ allow(setup_instance).to receive(:configure_excluded_gems)
29
+ allow(setup_instance).to receive(:build_ruby_wasm)
30
+ allow(setup_instance).to receive(:create_initial_files)
31
+ end
32
+
33
+ it 'outputs setup message' do
34
+ expect { setup_instance.run([]) }.to output(
35
+ /Setting up ruby-wasm-ui project/
36
+ ).to_stdout
37
+ end
38
+
39
+ it 'checks Ruby version' do
40
+ expect(setup_instance).to receive(:check_ruby_version)
41
+ setup_instance.run([])
42
+ end
43
+
44
+ it 'configures excluded gems' do
45
+ expect(setup_instance).to receive(:configure_excluded_gems)
46
+ setup_instance.run([])
47
+ end
48
+
49
+ it 'executes rbwasm build command' do
50
+ ruby_version = RUBY_VERSION.split('.')[0..1].join('.')
51
+ expect(setup_instance).to receive(:build_ruby_wasm).with(ruby_version)
52
+ setup_instance.run([])
53
+ end
54
+
55
+ it 'updates .gitignore with required entries' do
56
+ setup_instance.run([])
57
+ content = File.read('.gitignore')
58
+ expect(content).to include('ruby.wasm')
59
+ expect(content).to include('/rubies')
60
+ expect(content).to include('/build')
61
+ expect(content).to include('/dist')
62
+ end
63
+
64
+ it 'outputs completion message' do
65
+ expect { setup_instance.run([]) }.to output(
66
+ /Setup completed successfully!/
67
+ ).to_stdout
68
+ end
69
+
70
+ it 'outputs progress messages' do
71
+ expect { setup_instance.run([]) }.to output(
72
+ /Configuring excluded gems/
73
+ ).to_stdout
74
+ expect { setup_instance.run([]) }.to output(
75
+ /Building Ruby WASM/
76
+ ).to_stdout
77
+ expect { setup_instance.run([]) }.to output(
78
+ /Updating .gitignore/
79
+ ).to_stdout
80
+ expect { setup_instance.run([]) }.to output(
81
+ /Creating initial files/
82
+ ).to_stdout
83
+ end
84
+
85
+ it 'creates initial files' do
86
+ expect(setup_instance).to receive(:create_initial_files)
87
+ setup_instance.run([])
88
+ end
89
+
90
+ context 'when Ruby version check fails' do
91
+ before do
92
+ allow(setup_instance).to receive(:check_ruby_version).and_raise(SystemExit.new(1))
93
+ allow(Kernel).to receive(:exit)
94
+ end
95
+
96
+ it 'does not execute subsequent steps' do
97
+ expect(setup_instance).not_to receive(:configure_excluded_gems)
98
+ expect(setup_instance).not_to receive(:build_ruby_wasm)
99
+ expect(setup_instance).not_to receive(:create_initial_files)
100
+ expect { setup_instance.run([]) }.to raise_error(SystemExit)
101
+ end
102
+ end
103
+
104
+ context 'when Ruby version is 3.2' do
105
+ before do
106
+ stub_const('RUBY_VERSION', '3.2.0')
107
+ allow(setup_instance).to receive(:check_ruby_version).and_return('3.2')
108
+ allow(setup_instance).to receive(:configure_excluded_gems)
109
+ allow(setup_instance).to receive(:build_ruby_wasm)
110
+ allow(setup_instance).to receive(:create_initial_files)
111
+ end
112
+
113
+ it 'executes rbwasm build command with correct version' do
114
+ expect(setup_instance).to receive(:build_ruby_wasm).with('3.2')
115
+ setup_instance.run([])
116
+ end
117
+ end
118
+ end
119
+
120
+ describe '#create_initial_files' do
121
+ let(:temp_dir) { Dir.mktmpdir }
122
+ let(:src_dir) { File.join(temp_dir, 'src') }
123
+
124
+ before do
125
+ allow(Dir).to receive(:pwd).and_return(temp_dir)
126
+ allow(Dir).to receive(:exist?).and_call_original
127
+ allow(File).to receive(:exist?).and_call_original
128
+ allow(File).to receive(:write).and_call_original
129
+ allow(Dir).to receive(:mkdir).and_call_original
130
+ end
131
+
132
+ after do
133
+ FileUtils.rm_rf(temp_dir) if Dir.exist?(temp_dir)
134
+ end
135
+
136
+ context 'when src directory does not exist' do
137
+ before do
138
+ # Ensure the directory doesn't exist before the test
139
+ FileUtils.rm_rf('src') if Dir.exist?('src')
140
+ end
141
+
142
+ after do
143
+ # Clean up after test
144
+ FileUtils.rm_rf('src') if Dir.exist?('src')
145
+ end
146
+
147
+ it 'creates src directory and initial files' do
148
+ expect(Dir).to receive(:exist?).with('src').and_return(false)
149
+ expect(File).to receive(:exist?).with('src/index.html').and_return(false)
150
+ expect(File).to receive(:exist?).with('src/index.rb').and_return(false)
151
+ expect(Dir).to receive(:mkdir).with('src').and_call_original
152
+ expect(File).to receive(:write).with('src/index.html', anything).and_call_original
153
+ expect(File).to receive(:write).with('src/index.rb', anything).and_call_original
154
+
155
+ setup_instance.send(:create_initial_files)
156
+ end
157
+ end
158
+
159
+ context 'when src directory already exists' do
160
+ it 'skips file creation' do
161
+ expect(Dir).to receive(:exist?).with('src').and_return(true)
162
+ expect(File).not_to receive(:write)
163
+
164
+ expect { setup_instance.send(:create_initial_files) }.to output(
165
+ /src directory already exists, skipping initial file creation/
166
+ ).to_stdout
167
+ end
168
+ end
169
+
170
+ context 'when src/index.html already exists' do
171
+ it 'skips file creation' do
172
+ expect(Dir).to receive(:exist?).with('src').and_return(false)
173
+ expect(File).to receive(:exist?).with('src/index.html').and_return(true)
174
+ expect(File).not_to receive(:write)
175
+
176
+ expect { setup_instance.send(:create_initial_files) }.to output(
177
+ /src\/index.html already exists, skipping initial file creation/
178
+ ).to_stdout
179
+ end
180
+ end
181
+
182
+ context 'when src/index.rb already exists' do
183
+ it 'skips file creation' do
184
+ expect(Dir).to receive(:exist?).with('src').and_return(false)
185
+ expect(File).to receive(:exist?).with('src/index.html').and_return(false)
186
+ expect(File).to receive(:exist?).with('src/index.rb').and_return(true)
187
+ expect(File).not_to receive(:write)
188
+
189
+ expect { setup_instance.send(:create_initial_files) }.to output(
190
+ /src\/index.rb already exists, skipping initial file creation/
191
+ ).to_stdout
192
+ end
193
+ end
194
+ end
195
+
196
+ describe '#update_gitignore' do
197
+ let(:temp_dir) { Dir.mktmpdir }
198
+
199
+ around do |example|
200
+ Dir.chdir(temp_dir) do
201
+ example.run
202
+ end
203
+ ensure
204
+ FileUtils.rm_rf(temp_dir) if Dir.exist?(temp_dir)
205
+ end
206
+
207
+ context 'when .gitignore does not exist' do
208
+ it 'creates .gitignore with new entries' do
209
+ setup_instance.send(:update_gitignore, ['*.wasm', '/rubies'])
210
+ content = File.read('.gitignore')
211
+ expect(content).to include('*.wasm')
212
+ expect(content).to include('/rubies')
213
+ end
214
+ end
215
+
216
+ context 'when .gitignore exists' do
217
+ before do
218
+ File.write('.gitignore', "node_modules/\n*.log\n")
219
+ end
220
+
221
+ it 'adds new entries to existing .gitignore' do
222
+ setup_instance.send(:update_gitignore, ['*.wasm', '/rubies'])
223
+ content = File.read('.gitignore')
224
+ expect(content).to include('node_modules/')
225
+ expect(content).to include('*.log')
226
+ expect(content).to include('*.wasm')
227
+ expect(content).to include('/rubies')
228
+ end
229
+
230
+ it 'does not add duplicate entries' do
231
+ File.write('.gitignore', "*.wasm\n")
232
+ setup_instance.send(:update_gitignore, ['*.wasm', '/rubies'])
233
+ content = File.read('.gitignore')
234
+ expect(content.scan(/^\*\.wasm$/).count).to eq(1)
235
+ end
236
+
237
+ it 'outputs message when entries are added' do
238
+ expect { setup_instance.send(:update_gitignore, ['*.wasm']) }.to output(
239
+ /Added to .gitignore: \*\.wasm/
240
+ ).to_stdout
241
+ end
242
+
243
+ it 'outputs message when no entries are added' do
244
+ File.write('.gitignore', "*.wasm\n")
245
+ expect { setup_instance.send(:update_gitignore, ['*.wasm']) }.to output(
246
+ /No new entries added to .gitignore/
247
+ ).to_stdout
248
+ end
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe RubyWasmUi::Cli::Command do
6
+ describe '.run' do
7
+ context 'when command is provided' do
8
+ context 'with valid command' do
9
+ context 'setup command' do
10
+ let(:setup_instance) { instance_double(RubyWasmUi::Cli::Command::Setup) }
11
+
12
+ before do
13
+ allow(RubyWasmUi::Cli::Command::Setup).to receive(:new).and_return(setup_instance)
14
+ allow(setup_instance).to receive(:run)
15
+ end
16
+
17
+ it 'executes the setup command' do
18
+ expect(setup_instance).to receive(:run).with([])
19
+ described_class.run(['setup'])
20
+ end
21
+
22
+ it 'passes remaining arguments to the command' do
23
+ expect(setup_instance).to receive(:run).with(['arg1', 'arg2'])
24
+ described_class.run(['setup', 'arg1', 'arg2'])
25
+ end
26
+ end
27
+
28
+ context 'dev command' do
29
+ let(:dev_instance) { instance_double(RubyWasmUi::Cli::Command::Dev) }
30
+
31
+ before do
32
+ allow(RubyWasmUi::Cli::Command::Dev).to receive(:new).and_return(dev_instance)
33
+ allow(dev_instance).to receive(:run)
34
+ end
35
+
36
+ it 'executes the dev command' do
37
+ expect(dev_instance).to receive(:run).with([])
38
+ described_class.run(['dev'])
39
+ end
40
+
41
+ it 'passes remaining arguments to the command' do
42
+ expect(dev_instance).to receive(:run).with(['arg1', 'arg2'])
43
+ described_class.run(['dev', 'arg1', 'arg2'])
44
+ end
45
+ end
46
+
47
+ context 'rebuild command' do
48
+ let(:rebuild_instance) { instance_double(RubyWasmUi::Cli::Command::Rebuild) }
49
+
50
+ before do
51
+ allow(RubyWasmUi::Cli::Command::Rebuild).to receive(:new).and_return(rebuild_instance)
52
+ allow(rebuild_instance).to receive(:run)
53
+ end
54
+
55
+ it 'executes the rebuild command' do
56
+ expect(rebuild_instance).to receive(:run).with([])
57
+ described_class.run(['rebuild'])
58
+ end
59
+
60
+ it 'passes remaining arguments to the command' do
61
+ expect(rebuild_instance).to receive(:run).with(['arg1', 'arg2'])
62
+ described_class.run(['rebuild', 'arg1', 'arg2'])
63
+ end
64
+ end
65
+ end
66
+
67
+ context 'with invalid command' do
68
+ it 'prints error message and shows usage' do
69
+ expect { described_class.run(['unknown']) }.to output(
70
+ /Unknown command: unknown/
71
+ ).to_stdout.and raise_error(SystemExit)
72
+ end
73
+ end
74
+ end
75
+
76
+ context 'when no command is provided' do
77
+ it 'shows usage and exits' do
78
+ expect { described_class.run([]) }.to output(
79
+ /Usage: ruby-wasm-ui <command>/
80
+ ).to_stdout.and raise_error(SystemExit)
81
+ end
82
+ end
83
+ end
84
+
85
+ describe '.show_usage' do
86
+ it 'displays usage information' do
87
+ expect { described_class.show_usage }.to output(
88
+ /Usage: ruby-wasm-ui <command>/
89
+ ).to_stdout
90
+ end
91
+
92
+ it 'lists available commands' do
93
+ expect { described_class.show_usage }.to output(
94
+ /setup.*Set up the project for ruby-wasm-ui/
95
+ ).to_stdout
96
+ expect { described_class.show_usage }.to output(
97
+ /dev.*Start development server with file watching and auto-build/
98
+ ).to_stdout
99
+ expect { described_class.show_usage }.to output(
100
+ /rebuild.*Rebuild Ruby WASM file/
101
+ ).to_stdout
102
+ end
103
+ end
104
+
105
+ describe 'COMMANDS' do
106
+ it 'contains setup command' do
107
+ expect(described_class::COMMANDS).to include('setup' => RubyWasmUi::Cli::Command::Setup)
108
+ end
109
+
110
+ it 'contains dev command' do
111
+ expect(described_class::COMMANDS).to include('dev' => RubyWasmUi::Cli::Command::Dev)
112
+ end
113
+
114
+ it 'contains rebuild command' do
115
+ expect(described_class::COMMANDS).to include('rebuild' => RubyWasmUi::Cli::Command::Rebuild)
116
+ end
117
+ end
118
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/setup'
4
- Dir[File.expand_path('../../src/**/*.rb', __FILE__)].sort.each { |f| require f }
4
+ Dir[File.expand_path('../../lib/**/*.rb', __FILE__)].sort.each { |f| require f }
5
5
 
6
6
  RSpec.configure do |config|
7
7
  config.expect_with :rspec do |expectations|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_wasm_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - t0yohei
@@ -37,10 +37,53 @@ dependencies:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '2.7'
40
+ - !ruby/object:Gem::Dependency
41
+ name: listen
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.8'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.8'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rack
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: puma
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '6.0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '6.0'
40
82
  description: Write reactive web applications using familiar Ruby syntax and patterns
41
83
  email:
42
84
  - k.t0yohei@gmail.com
43
- executables: []
85
+ executables:
86
+ - ruby-wasm-ui
44
87
  extensions: []
45
88
  extra_rdoc_files: []
46
89
  files:
@@ -50,11 +93,13 @@ files:
50
93
  - ".node-version"
51
94
  - CODE_OF_CONDUCT.md
52
95
  - LICENSE.txt
96
+ - Makefile
53
97
  - README.md
54
98
  - Rakefile
55
99
  - docs/conditional-rendering.md
56
100
  - docs/lifecycle-hooks.md
57
101
  - docs/list-rendering.md
102
+ - examples/.gitignore
58
103
  - examples/Gemfile
59
104
  - examples/Gemfile.lock
60
105
  - examples/Makefile
@@ -89,54 +134,49 @@ files:
89
134
  - examples/package.json
90
135
  - examples/src/counter/index.html
91
136
  - examples/src/counter/index.rb
137
+ - examples/src/index.html
138
+ - examples/src/index.rb
92
139
  - examples/src/todos/index.html
93
140
  - examples/src/todos/index.rb
94
141
  - examples/src/todos/todos_repository.rb
142
+ - exe/ruby-wasm-ui
95
143
  - lib/ruby_wasm_ui.rb
96
- - lib/ruby_wasm_ui/app.rb
97
- - lib/ruby_wasm_ui/component.rb
98
- - lib/ruby_wasm_ui/dispatcher.rb
99
- - lib/ruby_wasm_ui/dom.rb
100
- - lib/ruby_wasm_ui/dom/attributes.rb
101
- - lib/ruby_wasm_ui/dom/destroy_dom.rb
102
- - lib/ruby_wasm_ui/dom/events.rb
103
- - lib/ruby_wasm_ui/dom/mount_dom.rb
104
- - lib/ruby_wasm_ui/dom/patch_dom.rb
105
- - lib/ruby_wasm_ui/dom/scheduler.rb
106
- - lib/ruby_wasm_ui/nodes_equal.rb
107
- - lib/ruby_wasm_ui/template.rb
108
- - lib/ruby_wasm_ui/template/build_conditional_group.rb
109
- - lib/ruby_wasm_ui/template/build_for_group.rb
110
- - lib/ruby_wasm_ui/template/build_vdom.rb
111
- - lib/ruby_wasm_ui/template/parser.rb
112
- - lib/ruby_wasm_ui/utils.rb
113
- - lib/ruby_wasm_ui/utils/arrays.rb
114
- - lib/ruby_wasm_ui/utils/objects.rb
115
- - lib/ruby_wasm_ui/utils/props.rb
116
- - lib/ruby_wasm_ui/utils/strings.rb
117
- - lib/ruby_wasm_ui/vdom.rb
144
+ - lib/ruby_wasm_ui/cli/command.rb
145
+ - lib/ruby_wasm_ui/cli/command/base.rb
146
+ - lib/ruby_wasm_ui/cli/command/dev.rb
147
+ - lib/ruby_wasm_ui/cli/command/pack.rb
148
+ - lib/ruby_wasm_ui/cli/command/rebuild.rb
149
+ - lib/ruby_wasm_ui/cli/command/setup.rb
150
+ - lib/ruby_wasm_ui/runtime/app.rb
151
+ - lib/ruby_wasm_ui/runtime/component.rb
152
+ - lib/ruby_wasm_ui/runtime/dispatcher.rb
153
+ - lib/ruby_wasm_ui/runtime/dom.rb
154
+ - lib/ruby_wasm_ui/runtime/dom/attributes.rb
155
+ - lib/ruby_wasm_ui/runtime/dom/destroy_dom.rb
156
+ - lib/ruby_wasm_ui/runtime/dom/events.rb
157
+ - lib/ruby_wasm_ui/runtime/dom/mount_dom.rb
158
+ - lib/ruby_wasm_ui/runtime/dom/patch_dom.rb
159
+ - lib/ruby_wasm_ui/runtime/dom/scheduler.rb
160
+ - lib/ruby_wasm_ui/runtime/nodes_equal.rb
161
+ - lib/ruby_wasm_ui/runtime/template.rb
162
+ - lib/ruby_wasm_ui/runtime/template/build_conditional_group.rb
163
+ - lib/ruby_wasm_ui/runtime/template/build_for_group.rb
164
+ - lib/ruby_wasm_ui/runtime/template/build_vdom.rb
165
+ - lib/ruby_wasm_ui/runtime/template/parser.rb
166
+ - lib/ruby_wasm_ui/runtime/utils.rb
167
+ - lib/ruby_wasm_ui/runtime/utils/arrays.rb
168
+ - lib/ruby_wasm_ui/runtime/utils/objects.rb
169
+ - lib/ruby_wasm_ui/runtime/utils/props.rb
170
+ - lib/ruby_wasm_ui/runtime/utils/strings.rb
171
+ - lib/ruby_wasm_ui/runtime/vdom.rb
118
172
  - lib/ruby_wasm_ui/version.rb
119
173
  - package-lock.json
120
174
  - package.json
121
- - packages/npm-packages/runtime/Gemfile
122
- - packages/npm-packages/runtime/Gemfile.lock
123
175
  - packages/npm-packages/runtime/README.md
124
176
  - packages/npm-packages/runtime/eslint.config.mjs
125
177
  - packages/npm-packages/runtime/package-lock.json
126
178
  - packages/npm-packages/runtime/package.json
127
179
  - packages/npm-packages/runtime/rollup.config.mjs
128
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/component_spec.rb
129
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/dom/scheduler_spec.rb
130
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/nodes_equal_spec.rb
131
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/template/build_conditional_group_spec.rb
132
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/template/build_for_group_spec.rb
133
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/template/build_vdom_spec.rb
134
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/template/parser_spec.rb
135
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/utils/arrays_spec.rb
136
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/utils/objects_spec.rb
137
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/utils/props_spec.rb
138
- - packages/npm-packages/runtime/spec/ruby_wasm_ui/utils/strings_spec.rb
139
- - packages/npm-packages/runtime/spec/spec_helper.rb
140
180
  - packages/npm-packages/runtime/src/__tests__/sample.test.js
141
181
  - packages/npm-packages/runtime/src/index.js
142
182
  - packages/npm-packages/runtime/src/ruby_wasm_ui
@@ -144,6 +184,24 @@ files:
144
184
  - packages/npm-packages/runtime/vitest.config.js
145
185
  - playwright.config.js
146
186
  - sig/ruby_wasm_ui.rbs
187
+ - spec/ruby_wasm_ui/cli/command/base_spec.rb
188
+ - spec/ruby_wasm_ui/cli/command/dev_spec.rb
189
+ - spec/ruby_wasm_ui/cli/command/pack_spec.rb
190
+ - spec/ruby_wasm_ui/cli/command/rebuild_spec.rb
191
+ - spec/ruby_wasm_ui/cli/command/setup_spec.rb
192
+ - spec/ruby_wasm_ui/cli/command_spec.rb
193
+ - spec/ruby_wasm_ui/runtime/component_spec.rb
194
+ - spec/ruby_wasm_ui/runtime/dom/scheduler_spec.rb
195
+ - spec/ruby_wasm_ui/runtime/nodes_equal_spec.rb
196
+ - spec/ruby_wasm_ui/runtime/template/build_conditional_group_spec.rb
197
+ - spec/ruby_wasm_ui/runtime/template/build_for_group_spec.rb
198
+ - spec/ruby_wasm_ui/runtime/template/build_vdom_spec.rb
199
+ - spec/ruby_wasm_ui/runtime/template/parser_spec.rb
200
+ - spec/ruby_wasm_ui/runtime/utils/arrays_spec.rb
201
+ - spec/ruby_wasm_ui/runtime/utils/objects_spec.rb
202
+ - spec/ruby_wasm_ui/runtime/utils/props_spec.rb
203
+ - spec/ruby_wasm_ui/runtime/utils/strings_spec.rb
204
+ - spec/spec_helper.rb
147
205
  homepage: https://github.com/t0yohei/ruby-wasm-ui
148
206
  licenses:
149
207
  - MIT
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rspec'
@@ -1,26 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- diff-lcs (1.6.2)
5
- rspec (3.13.1)
6
- rspec-core (~> 3.13.0)
7
- rspec-expectations (~> 3.13.0)
8
- rspec-mocks (~> 3.13.0)
9
- rspec-core (3.13.4)
10
- rspec-support (~> 3.13.0)
11
- rspec-expectations (3.13.5)
12
- diff-lcs (>= 1.2.0, < 2.0)
13
- rspec-support (~> 3.13.0)
14
- rspec-mocks (3.13.5)
15
- diff-lcs (>= 1.2.0, < 2.0)
16
- rspec-support (~> 3.13.0)
17
- rspec-support (3.13.4)
18
-
19
- PLATFORMS
20
- arm64-darwin-21
21
-
22
- DEPENDENCIES
23
- rspec
24
-
25
- BUNDLED WITH
26
- 2.4.22
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes