bormashino 0.1.3 → 0.1.6
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.
- checksums.yaml +4 -4
- data/lib/bormashino/fetch.rb +7 -4
- data/lib/bormashino/tasks/bormashino.rake +19 -2
- data/lib/bormashino/version.rb +1 -1
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a99890edb18fa7c816a6c559640b99eac3ef69431a4085565c3a2d71d0d9972
|
4
|
+
data.tar.gz: 5c6a2cde12f3e4d1150b4395f04d9e970078fd275dd8dd7beae11f7765610a50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d3a8387730fa96251441d2d023749eedbabf757ecea260d887e1363595d4be06ab78c0733782d350f53071e32811f301a3ace964202ff76d344c1f1f36b44c9
|
7
|
+
data.tar.gz: b144c2b03fcca6e2ae0486c53a4e1223a06c33c0cfb005a4dc0885831519c687997e68cf616a981965f27d8e7d342d1370491979a838344883aae48fdbe82259
|
data/lib/bormashino/fetch.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
require 'js'
|
2
2
|
require_relative 'ext/js'
|
3
|
+
require 'cgi'
|
3
4
|
|
4
5
|
module Bormashino
|
5
6
|
class Fetch
|
6
|
-
attr_accessor :resource, :init, :resolved_to
|
7
|
+
attr_accessor :resource, :init, :resolved_to, :options
|
7
8
|
|
8
|
-
def initialize(resource:, resolved_to:, init: {})
|
9
|
+
def initialize(resource:, resolved_to:, init: {}, options: {})
|
9
10
|
@resource = resource
|
10
11
|
@init = init
|
11
12
|
@resolved_to = resolved_to
|
13
|
+
@options = options
|
12
14
|
end
|
13
15
|
|
14
16
|
def run
|
15
|
-
raise 'No
|
17
|
+
raise 'No mounted apps' unless Bormashino::Server.mounted?
|
16
18
|
|
17
19
|
# rubocop:disable Style::DocumentDynamicEvalDefinition
|
18
20
|
JS.eval <<-ENDOFEVAL
|
@@ -25,7 +27,8 @@ module Bormashino
|
|
25
27
|
'post',
|
26
28
|
#{@resolved_to.to_json},
|
27
29
|
'status=' + r.status +
|
28
|
-
'&payload=' + encodeURIComponent(t)
|
30
|
+
'&payload=' + encodeURIComponent(t) +
|
31
|
+
'&options=' + #{CGI.escape(@options.to_json).to_json}
|
29
32
|
)
|
30
33
|
})
|
31
34
|
})
|
@@ -1,8 +1,13 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'uri'
|
3
|
+
require 'os'
|
4
|
+
require 'digest/md5'
|
3
5
|
|
4
6
|
RUBY_RELEASE = 'https://github.com/ruby/ruby.wasm/releases/download/2022-04-25-a/ruby-head-wasm32-unknown-wasi-full-js.tar.gz'.freeze
|
5
7
|
WASI_VFS_RELEASE = 'https://github.com/kateinoigakukun/wasi-vfs/releases/download/v0.1.1/wasi-vfs-cli-x86_64-unknown-linux-gnu.zip'.freeze
|
8
|
+
WASI_VFS_RELEASE_MAC_X86_64 = 'https://github.com/kateinoigakukun/wasi-vfs/releases/download/v0.1.1/wasi-vfs-cli-x86_64-apple-darwin.zip'.freeze
|
9
|
+
WASI_VFS_RELEASE_MAC_ARM64 = 'https://github.com/kateinoigakukun/wasi-vfs/releases/download/v0.1.1/wasi-vfs-cli-aarch64-apple-darwin.zip'.freeze
|
10
|
+
|
6
11
|
RUBY_ROOT = File.basename(URI(RUBY_RELEASE).path).split('.').first.sub('ruby-', '')
|
7
12
|
WASI_VFS = './wasi-vfs'.freeze
|
8
13
|
TMP = 'tmp'.freeze
|
@@ -15,7 +20,19 @@ namespace :bormashino do
|
|
15
20
|
FileUtils.rm(File.join(RUBY_ROOT, '/usr/local/lib/libruby-static.a'))
|
16
21
|
FileUtils.rm_rf(File.join(RUBY_ROOT, '/usr/local/include'))
|
17
22
|
|
18
|
-
|
23
|
+
case
|
24
|
+
when OS.linux?
|
25
|
+
system "curl -L '#{WASI_VFS_RELEASE}' | gzip -d > wasi-vfs"
|
26
|
+
when OS.mac?
|
27
|
+
if OS.host_cpu == 'x86_64'
|
28
|
+
system "curl -L -o wasi-vfs.zip '#{WASI_VFS_RELEASE_MAC_X86_64}'"
|
29
|
+
else
|
30
|
+
system "curl -L -o wasi-vfs.zip '#{WASI_VFS_RELEASE_MAC_ARM64}'"
|
31
|
+
end
|
32
|
+
system 'unzip wasi-vfs.zip'
|
33
|
+
system 'rm wasi-vfs.zip'
|
34
|
+
end
|
35
|
+
|
19
36
|
system 'chmod u+x wasi-vfs'
|
20
37
|
end
|
21
38
|
|
@@ -37,7 +54,7 @@ namespace :bormashino do
|
|
37
54
|
|
38
55
|
desc 'pack済みのruby.wasmのMD5を取りファイル名につけてコピーし、import用のJSを出力する'
|
39
56
|
task :digest, [:destination] do |_, args|
|
40
|
-
digest =
|
57
|
+
digest = Digest::MD5.file('tmp/ruby.wasm').hexdigest
|
41
58
|
FileUtils.cp('tmp/ruby.wasm', "#{args[:destination]}/ruby.#{digest}.wasm")
|
42
59
|
File.open(DIGEST, 'w') { |f|
|
43
60
|
f.puts "export default rubyDigest = '#{digest}'
|
data/lib/bormashino/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bormashino
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenichiro Yasuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json_pure
|
@@ -58,6 +58,26 @@ dependencies:
|
|
58
58
|
- - '='
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: 0.0.4
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: os
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.1'
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.1.4
|
71
|
+
type: :runtime
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.1'
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 1.1.4
|
61
81
|
description: ' With "Bormaŝino" you can build SPAs written in Ruby powered by Ruby
|
62
82
|
WebAssembly build and Sinatra (or other rack-based web application frameworks).
|
63
83
|
|