wasmify-rails 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 615df0740a9931fc1b029ac2a8c77f4f5ff5c6bddacc3d188478d31ee5cc43d9
4
- data.tar.gz: 9ddabc5d8422088507b781cd117b28c6b79095b1b154ff56b31ad9633ddf90a2
3
+ metadata.gz: 3b2a978cc93a769fd29e2cfa52a5c4c8aef4d6747ef05255fdd0b6be54618a98
4
+ data.tar.gz: 402d4df38fb308c5645dbd2b7379733bf6fe633c6d06cb0faa1504a85dc13cf5
5
5
  SHA512:
6
- metadata.gz: d6d5a1d436fa0dd77ae3bb59f6a81c0f58e68e22416dfe4a3a3832c95e049ed0b9ec35f8033a63b0642bca1f391291e7a1786e65771a342c285937408205e0cc
7
- data.tar.gz: 7b60876fe1baf69aba5b4b659e826cd95ede5bf8485e2feac17b4b0860374172f2e412b47068cda5b26305dea9982401d1d72e9f5aae09b501ccd48dd0caf7ac
6
+ metadata.gz: e02c1a8081d57ea23f0efa5b6fe486cb0db7efab55bb3611337409703090cbbdb8f5cca667333de2874707d3d1eedfee524aa05cf8d59b83b5712439b85bd52b
7
+ data.tar.gz: 8a55254d6f625d54ac9757d94cfda2466d66bf8457d75f88cd8e0297e354caf4e27d60e4d94c51d761b40a79b4766098b13b65d2dd0833f5cc643f14647ab349
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 0.2.2
6
+
7
+ - Fix handling multipart uploads in Data URI middleware.
8
+
9
+ - PWA template improvements.
10
+
11
+ ## 0.2.1
12
+
5
13
  - Minor generators updates.
6
14
 
7
15
  ## 0.2.0
@@ -9,7 +9,7 @@ class Wasmify::PwaGenerator < Rails::Generators::Base
9
9
 
10
10
  def configure_wasm_dist
11
11
  prepend_to_file "config/wasmify.yml", <<~EOF
12
- output_dir: pwa
12
+ output_dir: pwa/public
13
13
  EOF
14
14
  end
15
15
 
@@ -1,102 +1,134 @@
1
1
  <!doctype html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <meta name="og:title" content="Rails on Wasm" />
7
- <meta name="og:description" content="Rails on Wasm launcher" />
8
- <title>Rails on Wasm | Launch</title>
9
- <script type="module" src="/boot.js"></script>
10
- <style>
11
- #boot-console-output {
12
- background-color: #0c0c0c;
13
- color: #f8f8f2;
14
- font-family: monospace;
15
- font-size: 0.8em;
16
- padding: 1em;
17
- white-space: pre-wrap;
18
- min-height: 200px;
19
- overflow-y: scroll;
20
- }
21
- #launch-button {
22
- background-color: #007bff;
23
- color: #fff;
24
- border: none;
25
- padding: 0.5em 1em;
26
- font-size: 1em;
27
- cursor: pointer;
28
- border: 1px solid #ccc;
29
- }
30
- #launch-button:disabled {
31
- background-color: #ccc;
32
- color: #666;
33
- }
34
- #reboot-button {
35
- background-color: #dc3545;
36
- color: #fff;
37
- border: none;
38
- padding: 0.5em 1em;
39
- font-size: 1em;
40
- cursor: pointer;
41
- border: 1px solid #ccc;
42
- }
43
- #reboot-button:disabled {
44
- background-color: #ccc;
45
- color: #666;
46
- }
47
- #reload-button {
48
- background-color: #eeeeee;
49
- color: #333;
50
- border: none;
51
- padding: 0.5em 1em;
52
- font-size: 1em;
53
- cursor: pointer;
54
- border: 1px solid #333;
55
- }
56
- #reload-button:disabled {
57
- background-color: #ccc;
58
- color: #666;
59
- }
60
- #reload-debug-button {
61
- background-color: rgb(159, 166, 40);
62
- color: #000;
63
- border: none;
64
- padding: 0.5em 1em;
65
- font-size: 1em;
66
- cursor: pointer;
67
- border: 1px solid #000;
68
- }
69
- #reload-debug-button:disabled {
70
- background-color: #ccc;
71
- color: #666;
72
- }
73
- </style>
74
- </head>
75
- <body>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <meta name="og:title" content="Rails on Wasm" />
7
+ <meta name="og:description" content="Rails on Wasm launcher" />
8
+ <title>Rails on Wasm | Launch</title>
9
+ <script type="module" src="/boot.js"></script>
10
+ <style>
11
+ main {
12
+ max-width: 800px;
13
+ margin: 0 auto;
14
+ padding: 1em;
15
+ }
16
+
17
+ #boot-console-output {
18
+ background-color: #0c0c0c;
19
+ color: #f8f8f2;
20
+ font-family: monospace;
21
+ font-size: 0.8em;
22
+ padding: 1em;
23
+ white-space: pre-wrap;
24
+ min-height: 200px;
25
+ overflow-y: scroll;
26
+ margin-top: 0;
27
+ }
28
+
29
+ #buttons {
30
+ display: flex;
31
+ justify-content: flex-start;
32
+ gap: 0.5em;
33
+ }
34
+
35
+ #launch-button {
36
+ background-color: #007bff;
37
+ color: #fff;
38
+ border: none;
39
+ padding: 0.5em 1em;
40
+ font-size: 1em;
41
+ cursor: pointer;
42
+ border: 1px solid #007bff;
43
+ }
44
+ #launch-button:disabled {
45
+ background-color: #ccc;
46
+ border-color: #000;
47
+ color: #666;
48
+ }
49
+ #reboot-button {
50
+ background-color: #dc3545;
51
+ color: #fff;
52
+ border: none;
53
+ padding: 0.5em 1em;
54
+ font-size: 1em;
55
+ cursor: pointer;
56
+ border: 1px solid #dc3545;
57
+ }
58
+ #reboot-button:disabled {
59
+ background-color: #ccc;
60
+ color: #666;
61
+ border-color: #000;
62
+ }
63
+ #reload-button {
64
+ background-color: #eeeeee;
65
+ color: #333;
66
+ border: none;
67
+ padding: 0.5em 1em;
68
+ font-size: 1em;
69
+ cursor: pointer;
70
+ border: 1px solid #333;
71
+ }
72
+ #reload-button:disabled {
73
+ background-color: #ccc;
74
+ color: #666;
75
+ }
76
+ #reload-debug-button {
77
+ background-color: rgb(159, 166, 40);
78
+ color: #000;
79
+ border: none;
80
+ padding: 0.5em 1em;
81
+ font-size: 1em;
82
+ cursor: pointer;
83
+ border: 1px solid #000;
84
+ }
85
+ #reload-debug-button:disabled {
86
+ background-color: #ccc;
87
+ color: #666;
88
+ }
89
+
90
+ header {
91
+ display: flex;
92
+ justify-content: space-between;
93
+ align-items: center;
94
+ margin-bottom: 1em;
95
+ }
96
+
97
+ .header--links {
98
+ display: flex;
99
+ gap: 1em;
100
+ }
101
+ </style>
102
+ </head>
103
+ <body>
104
+ <main>
105
+ <header>
76
106
  <h1>Rails on Wasm 🚀</h1>
77
- <p>
78
- Wait for the Service Worker to install and boot the app. This may
79
- take a while.
80
- </p>
107
+ </header>
108
+ <p>
109
+ Wait for the Service Worker to install and boot the app, and then hit
110
+ the "Launch" button to run a Rails application in your browser!
111
+ </p>
81
112
 
82
- <p>
83
- <button id="launch-button" disabled>Launch</button>
84
- <button id="reload-button" disabled>Reload Rails</button>
85
- <button id="reload-debug-button" disabled>
86
- Reload Rails (debug mode)
87
- </button>
88
- <button id="reboot-button" disabled>Hard Reset*</button>
89
- </p>
113
+ <p id="buttons">
114
+ <button id="launch-button" disabled>Launch</button>
115
+ <button id="reload-button" disabled>Reload Rails</button>
116
+ <button id="reload-debug-button" disabled>
117
+ Reload Rails (debug mode)
118
+ </button>
119
+ <button id="reboot-button" disabled>Hard Reset*</button>
120
+ </p>
90
121
 
91
- <div id="boot-message"></div>
92
- <progress id="boot-progress" max="100" value="0"></progress>
93
- <pre id="boot-console-output"></pre>
94
- <hr />
95
- <p>
96
- <small>
97
- * Please ensure you close all tabs of this app before rebooting
98
- to unregister the old Service Worker.
99
- </small>
100
- </p>
101
- </body>
122
+ <div id="boot-message"></div>
123
+ <progress id="boot-progress" max="100" value="0"></progress>
124
+ <pre id="boot-console-output"></pre>
125
+ <hr />
126
+ <p>
127
+ <small>
128
+ * Please ensure you close all tabs of this app before rebooting to
129
+ unregister the old Service Worker.
130
+ </small>
131
+ </p>
132
+ </main>
133
+ </body>
102
134
  </html>
@@ -11,6 +11,14 @@ export default defineConfig({
11
11
  optimizeDeps: {
12
12
  exclude: ["@sqlite.org/sqlite-wasm"],
13
13
  },
14
+ build: {
15
+ rollupOptions: {
16
+ input: {
17
+ main: resolve(__dirname, 'index.html'),
18
+ boot: resolve(__dirname, 'boot.html'),
19
+ },
20
+ },
21
+ },
14
22
  plugins: [
15
23
  VitePWA({
16
24
  srcDir: ".",
@@ -21,6 +21,7 @@ module Rack
21
21
 
22
22
  if request.post? || request.put? || request.patch?
23
23
  transform_params(request.params)
24
+ env["action_dispatch.request.request_parameters"] = request.params
24
25
  end
25
26
 
26
27
  @app.call(env)
@@ -48,6 +49,8 @@ module Rack
48
49
  encoding = matches[2]
49
50
  data = matches[3]
50
51
 
52
+ return if data.empty?
53
+
51
54
  file_data = Base64.decode64(data)
52
55
 
53
56
  file = Tempfile.new(["upload", mime_to_extension(content_type)])
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Wasmify
4
4
  module Rails # :nodoc:
5
- VERSION = "0.2.1"
5
+ VERSION = "0.2.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wasmify-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Dementyev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-17 00:00:00.000000000 Z
11
+ date: 2025-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -181,7 +181,7 @@ metadata:
181
181
  documentation_uri: https://github.com/palkan/wasmify-rails
182
182
  homepage_uri: https://github.com/palkan/wasmify-rails
183
183
  source_code_uri: https://github.com/palkan/wasmify-rails
184
- post_install_message:
184
+ post_install_message:
185
185
  rdoc_options: []
186
186
  require_paths:
187
187
  - lib
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  version: '0'
198
198
  requirements: []
199
199
  rubygems_version: 3.5.22
200
- signing_key:
200
+ signing_key:
201
201
  specification_version: 4
202
202
  summary: Tools and extensions to package Rails apps as Wasm modules
203
203
  test_files: []