wag 0.2.0 → 0.2.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.
- checksums.yaml +4 -4
- data/.drone.yml +236 -0
- data/.rubocop.yml +4 -0
- data/.tool-versions +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +20 -17
- data/LICENSE.md +1 -1
- data/README.md +6 -6
- data/lib/wag/data.rb +1 -1
- data/lib/wag/element.rb +1 -1
- data/lib/wag/export.rb +1 -1
- data/lib/wag/import.rb +1 -1
- data/lib/wag/instructions/br.rb +1 -0
- data/lib/wag/instructions/br_if.rb +1 -0
- data/lib/wag/instructions/br_table.rb +1 -0
- data/lib/wag/instructions/call.rb +1 -0
- data/lib/wag/instructions/f32/const.rb +1 -0
- data/lib/wag/instructions/f64/const.rb +1 -0
- data/lib/wag/instructions/global/get.rb +1 -0
- data/lib/wag/instructions/global/set.rb +1 -0
- data/lib/wag/instructions/i32/const.rb +1 -0
- data/lib/wag/instructions/i64/const.rb +1 -0
- data/lib/wag/instructions/local/get.rb +1 -0
- data/lib/wag/instructions/local/set.rb +1 -0
- data/lib/wag/instructions/local/tee.rb +1 -0
- data/lib/wag/module.rb +4 -4
- data/lib/wag/table.rb +1 -1
- data/lib/wag/version.rb +1 -1
- data/wag.gemspec +6 -5
- metadata +12 -11
- data/.gitlab-ci.yml +0 -32
- data/renovate.json +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 30c21f1ba14acb3d61fea66ffa2ea015613be821384a0089d9a25134604d8a7c
|
|
4
|
+
data.tar.gz: 4d91c48edfee56d1165e01d3f8beee1a7643af416b9af6875c3aa6deb9bc4c7e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0fcfddb6ddcd533e353f562d3b5931ffe14187bae0b1bea77360e06f8cf4cef1fd4f084f96021a26150a8549bc8ff42a129b7bdf8f6c2f5e3ecd248656a0901e
|
|
7
|
+
data.tar.gz: 13e8dee5c5eb8058d71c3511abecc0f5b968d2d4737da242471bb2a8ea8d2c0e2b0920bcd23985dcda9eac1ab4c525633a5fd9b02faf79ca49057a072039ea86
|
data/.drone.yml
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
kind: pipeline
|
|
2
|
+
type: docker
|
|
3
|
+
name: build
|
|
4
|
+
|
|
5
|
+
steps:
|
|
6
|
+
- name: restore ASDF cache
|
|
7
|
+
image: meltwater/drone-cache
|
|
8
|
+
pull: "always"
|
|
9
|
+
environment:
|
|
10
|
+
AWS_ACCESS_KEY_ID:
|
|
11
|
+
from_secret: ACCESS_KEY_ID
|
|
12
|
+
AWS_SECRET_ACCESS_KEY:
|
|
13
|
+
from_secret: SECRET_ACCESS_KEY
|
|
14
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
15
|
+
settings:
|
|
16
|
+
restore: true
|
|
17
|
+
endpoint:
|
|
18
|
+
from_secret: S3_ENDPOINT
|
|
19
|
+
bucket:
|
|
20
|
+
from_secret: CACHE_BUCKET
|
|
21
|
+
region: us-east-1
|
|
22
|
+
path-style: true
|
|
23
|
+
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
24
|
+
mount:
|
|
25
|
+
- .asdf
|
|
26
|
+
|
|
27
|
+
- name: restore bundle cache
|
|
28
|
+
image: meltwater/drone-cache
|
|
29
|
+
pull: "always"
|
|
30
|
+
environment:
|
|
31
|
+
AWS_ACCESS_KEY_ID:
|
|
32
|
+
from_secret: ACCESS_KEY_ID
|
|
33
|
+
AWS_SECRET_ACCESS_KEY:
|
|
34
|
+
from_secret: SECRET_ACCESS_KEY
|
|
35
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
36
|
+
settings:
|
|
37
|
+
restore: true
|
|
38
|
+
endpoint:
|
|
39
|
+
from_secret: S3_ENDPOINT
|
|
40
|
+
bucket:
|
|
41
|
+
from_secret: CACHE_BUCKET
|
|
42
|
+
region: us-east-1
|
|
43
|
+
path-style: true
|
|
44
|
+
cache_key: 'bundle-{{ checksum "Gemfile.lock" }}-{{ checksum ".tool-versions" }}'
|
|
45
|
+
mount:
|
|
46
|
+
- .bundle
|
|
47
|
+
|
|
48
|
+
- name: install dependencies
|
|
49
|
+
image: code.harton.nz/james/asdf_container:latest
|
|
50
|
+
pull: "always"
|
|
51
|
+
environment:
|
|
52
|
+
ASDF_DATA_DIR: /drone/src/.asdf
|
|
53
|
+
BUNDLE_CACHE_PATH: /drone/src/.bundle
|
|
54
|
+
depends_on:
|
|
55
|
+
- restore ASDF cache
|
|
56
|
+
- restore bundle cache
|
|
57
|
+
commands:
|
|
58
|
+
- apt-get update
|
|
59
|
+
- apt-get install -y wabt
|
|
60
|
+
- rm -rf /var/cache/apt
|
|
61
|
+
- mkdir -p bin
|
|
62
|
+
- cp -v /usr/bin/wat2wasm bin/
|
|
63
|
+
- cp -v /usr/bin/wasm-validate bin/
|
|
64
|
+
- asdf_install
|
|
65
|
+
- rm -rf .asdf/downloads
|
|
66
|
+
- asdf bundle install
|
|
67
|
+
|
|
68
|
+
- name: store ASDF cache
|
|
69
|
+
image: meltwater/drone-cache
|
|
70
|
+
pull: "always"
|
|
71
|
+
environment:
|
|
72
|
+
AWS_ACCESS_KEY_ID:
|
|
73
|
+
from_secret: ACCESS_KEY_ID
|
|
74
|
+
AWS_SECRET_ACCESS_KEY:
|
|
75
|
+
from_secret: SECRET_ACCESS_KEY
|
|
76
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
77
|
+
depends_on:
|
|
78
|
+
- install dependencies
|
|
79
|
+
settings:
|
|
80
|
+
rebuild: true
|
|
81
|
+
override: false
|
|
82
|
+
endpoint:
|
|
83
|
+
from_secret: S3_ENDPOINT
|
|
84
|
+
bucket:
|
|
85
|
+
from_secret: CACHE_BUCKET
|
|
86
|
+
region: us-east-1
|
|
87
|
+
path-style: true
|
|
88
|
+
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
89
|
+
mount:
|
|
90
|
+
- .asdf
|
|
91
|
+
|
|
92
|
+
- name: store bundle cache
|
|
93
|
+
image: meltwater/drone-cache
|
|
94
|
+
pull: "always"
|
|
95
|
+
environment:
|
|
96
|
+
AWS_ACCESS_KEY_ID:
|
|
97
|
+
from_secret: ACCESS_KEY_ID
|
|
98
|
+
AWS_SECRET_ACCESS_KEY:
|
|
99
|
+
from_secret: SECRET_ACCESS_KEY
|
|
100
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
101
|
+
depends_on:
|
|
102
|
+
- install dependencies
|
|
103
|
+
settings:
|
|
104
|
+
rebuild: true
|
|
105
|
+
override: false
|
|
106
|
+
endpoint:
|
|
107
|
+
from_secret: S3_ENDPOINT
|
|
108
|
+
bucket:
|
|
109
|
+
from_secret: CACHE_BUCKET
|
|
110
|
+
region: us-east-1
|
|
111
|
+
path-style: true
|
|
112
|
+
cache_key: 'bundle-{{ checksum "Gemfile.lock" }}-{{ checksum ".tool-versions" }}'
|
|
113
|
+
mount:
|
|
114
|
+
- .bundle
|
|
115
|
+
|
|
116
|
+
- name: store WABT cache
|
|
117
|
+
image: meltwater/drone-cache
|
|
118
|
+
pull: "always"
|
|
119
|
+
environment:
|
|
120
|
+
AWS_ACCESS_KEY_ID:
|
|
121
|
+
from_secret: ACCESS_KEY_ID
|
|
122
|
+
AWS_SECRET_ACCESS_KEY:
|
|
123
|
+
from_secret: SECRET_ACCESS_KEY
|
|
124
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
125
|
+
depends_on:
|
|
126
|
+
- install dependencies
|
|
127
|
+
settings:
|
|
128
|
+
rebuild: true
|
|
129
|
+
override: false
|
|
130
|
+
endpoint:
|
|
131
|
+
from_secret: S3_ENDPOINT
|
|
132
|
+
bucket:
|
|
133
|
+
from_secret: CACHE_BUCKET
|
|
134
|
+
region: us-east-1
|
|
135
|
+
path-style: true
|
|
136
|
+
cache_key: 'wabt'
|
|
137
|
+
mount:
|
|
138
|
+
- bin
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
kind: pipeline
|
|
143
|
+
type: docker
|
|
144
|
+
name: test
|
|
145
|
+
|
|
146
|
+
depends_on:
|
|
147
|
+
- build
|
|
148
|
+
|
|
149
|
+
steps:
|
|
150
|
+
- name: restore ASDF cache
|
|
151
|
+
image: meltwater/drone-cache
|
|
152
|
+
pull: "always"
|
|
153
|
+
environment:
|
|
154
|
+
AWS_ACCESS_KEY_ID:
|
|
155
|
+
from_secret: ACCESS_KEY_ID
|
|
156
|
+
AWS_SECRET_ACCESS_KEY:
|
|
157
|
+
from_secret: SECRET_ACCESS_KEY
|
|
158
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
159
|
+
settings:
|
|
160
|
+
restore: true
|
|
161
|
+
endpoint:
|
|
162
|
+
from_secret: S3_ENDPOINT
|
|
163
|
+
bucket:
|
|
164
|
+
from_secret: CACHE_BUCKET
|
|
165
|
+
region: us-east-1
|
|
166
|
+
path-style: true
|
|
167
|
+
cache_key: 'asdf-{{ os }}-{{ arch }}-{{ checksum ".tool-versions" }}'
|
|
168
|
+
mount:
|
|
169
|
+
- .asdf
|
|
170
|
+
|
|
171
|
+
- name: restore bundle cache
|
|
172
|
+
image: meltwater/drone-cache
|
|
173
|
+
pull: "always"
|
|
174
|
+
environment:
|
|
175
|
+
AWS_ACCESS_KEY_ID:
|
|
176
|
+
from_secret: ACCESS_KEY_ID
|
|
177
|
+
AWS_SECRET_ACCESS_KEY:
|
|
178
|
+
from_secret: SECRET_ACCESS_KEY
|
|
179
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
180
|
+
settings:
|
|
181
|
+
restore: true
|
|
182
|
+
endpoint:
|
|
183
|
+
from_secret: S3_ENDPOINT
|
|
184
|
+
bucket:
|
|
185
|
+
from_secret: CACHE_BUCKET
|
|
186
|
+
region: us-east-1
|
|
187
|
+
path-style: true
|
|
188
|
+
cache_key: 'bundle-{{ checksum "Gemfile.lock" }}-{{ checksum ".tool-versions" }}'
|
|
189
|
+
mount:
|
|
190
|
+
- .bundle
|
|
191
|
+
|
|
192
|
+
- name: restore WABT cache
|
|
193
|
+
image: meltwater/drone-cache
|
|
194
|
+
pull: "always"
|
|
195
|
+
environment:
|
|
196
|
+
AWS_ACCESS_KEY_ID:
|
|
197
|
+
from_secret: ACCESS_KEY_ID
|
|
198
|
+
AWS_SECRET_ACCESS_KEY:
|
|
199
|
+
from_secret: SECRET_ACCESS_KEY
|
|
200
|
+
AWS_PLUGIN_PATH_STYLE: true
|
|
201
|
+
settings:
|
|
202
|
+
restore: true
|
|
203
|
+
endpoint:
|
|
204
|
+
from_secret: S3_ENDPOINT
|
|
205
|
+
bucket:
|
|
206
|
+
from_secret: CACHE_BUCKET
|
|
207
|
+
region: us-east-1
|
|
208
|
+
path-style: true
|
|
209
|
+
cache_key: 'wabt'
|
|
210
|
+
mount:
|
|
211
|
+
- bin
|
|
212
|
+
|
|
213
|
+
- name: rubocop
|
|
214
|
+
image: code.harton.nz/james/asdf_container:latest
|
|
215
|
+
pull: "always"
|
|
216
|
+
environment:
|
|
217
|
+
BUNDLE_CACHE_PATH: /drone/src/.bundle
|
|
218
|
+
ASDF_DATA_DIR: /drone/src/.asdf
|
|
219
|
+
depends_on:
|
|
220
|
+
- restore ASDF cache
|
|
221
|
+
- restore bundle cache
|
|
222
|
+
commands:
|
|
223
|
+
- asdf bundle exec rubocop
|
|
224
|
+
|
|
225
|
+
- name: rspec
|
|
226
|
+
image: code.harton.nz/james/asdf_container:latest
|
|
227
|
+
pull: "always"
|
|
228
|
+
environment:
|
|
229
|
+
BUNDLE_CACHE_PATH: /drone/src/.bundle
|
|
230
|
+
ASDF_DATA_DIR: /drone/src/.asdf
|
|
231
|
+
depends_on:
|
|
232
|
+
- restore ASDF cache
|
|
233
|
+
- restore bundle cache
|
|
234
|
+
commands:
|
|
235
|
+
- export PATH=/drone/src/bin:$PATH
|
|
236
|
+
- asdf bundle exec rspec
|
data/.rubocop.yml
CHANGED
data/.tool-versions
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby 3.1.2
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
wag (0.
|
|
4
|
+
wag (0.2.1)
|
|
5
5
|
dry-inflector (~> 0.2.0)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
@@ -9,54 +9,57 @@ GEM
|
|
|
9
9
|
specs:
|
|
10
10
|
ast (2.4.2)
|
|
11
11
|
coderay (1.1.3)
|
|
12
|
-
concurrent-ruby (1.
|
|
12
|
+
concurrent-ruby (1.2.2)
|
|
13
13
|
diff-lcs (1.5.0)
|
|
14
14
|
dry-inflector (0.2.1)
|
|
15
|
-
faker (3.
|
|
15
|
+
faker (3.2.0)
|
|
16
16
|
i18n (>= 1.8.11, < 2)
|
|
17
|
-
i18n (1.
|
|
17
|
+
i18n (1.14.1)
|
|
18
18
|
concurrent-ruby (~> 1.0)
|
|
19
19
|
json (2.6.3)
|
|
20
20
|
method_source (1.0.0)
|
|
21
|
-
parallel (1.
|
|
22
|
-
parser (3.2.
|
|
21
|
+
parallel (1.23.0)
|
|
22
|
+
parser (3.2.2.3)
|
|
23
23
|
ast (~> 2.4.1)
|
|
24
|
+
racc
|
|
24
25
|
pry (0.14.2)
|
|
25
26
|
coderay (~> 1.1)
|
|
26
27
|
method_source (~> 1.0)
|
|
28
|
+
racc (1.7.1)
|
|
27
29
|
rainbow (3.1.1)
|
|
28
30
|
rake (13.0.6)
|
|
29
|
-
regexp_parser (2.
|
|
31
|
+
regexp_parser (2.8.1)
|
|
30
32
|
rexml (3.2.5)
|
|
31
33
|
rspec (3.12.0)
|
|
32
34
|
rspec-core (~> 3.12.0)
|
|
33
35
|
rspec-expectations (~> 3.12.0)
|
|
34
36
|
rspec-mocks (~> 3.12.0)
|
|
35
|
-
rspec-core (3.12.
|
|
37
|
+
rspec-core (3.12.2)
|
|
36
38
|
rspec-support (~> 3.12.0)
|
|
37
|
-
rspec-expectations (3.12.
|
|
39
|
+
rspec-expectations (3.12.3)
|
|
38
40
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
39
41
|
rspec-support (~> 3.12.0)
|
|
40
|
-
rspec-mocks (3.12.
|
|
42
|
+
rspec-mocks (3.12.5)
|
|
41
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
42
44
|
rspec-support (~> 3.12.0)
|
|
43
45
|
rspec-support (3.12.0)
|
|
44
|
-
rubocop (1.
|
|
46
|
+
rubocop (1.52.1)
|
|
45
47
|
json (~> 2.3)
|
|
46
48
|
parallel (~> 1.10)
|
|
47
|
-
parser (>= 3.2.
|
|
49
|
+
parser (>= 3.2.2.3)
|
|
48
50
|
rainbow (>= 2.2.2, < 4.0)
|
|
49
51
|
regexp_parser (>= 1.8, < 3.0)
|
|
50
52
|
rexml (>= 3.2.5, < 4.0)
|
|
51
|
-
rubocop-ast (>= 1.
|
|
53
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
|
52
54
|
ruby-progressbar (~> 1.7)
|
|
53
55
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
54
|
-
rubocop-ast (1.
|
|
55
|
-
parser (>= 3.
|
|
56
|
-
ruby-progressbar (1.
|
|
56
|
+
rubocop-ast (1.29.0)
|
|
57
|
+
parser (>= 3.2.1.0)
|
|
58
|
+
ruby-progressbar (1.13.0)
|
|
57
59
|
unicode-display_width (2.4.2)
|
|
58
60
|
|
|
59
61
|
PLATFORMS
|
|
62
|
+
arm64-darwin-22
|
|
60
63
|
x86_64-linux
|
|
61
64
|
|
|
62
65
|
DEPENDENCIES
|
|
@@ -64,7 +67,7 @@ DEPENDENCIES
|
|
|
64
67
|
pry (~> 0.14.0)
|
|
65
68
|
rake (~> 13.0)
|
|
66
69
|
rspec (~> 3.0)
|
|
67
|
-
rubocop (~> 1.
|
|
70
|
+
rubocop (~> 1.52.0)
|
|
68
71
|
wag!
|
|
69
72
|
|
|
70
73
|
BUNDLED WITH
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
|
@@ -7,8 +7,8 @@ It is closely modeled after WAT, the WebAssembly text format, and at this stage
|
|
|
7
7
|
generates WAT and compiles and validates it using [the WebAssembly Binary Toolkit][1].
|
|
8
8
|
|
|
9
9
|
Due to the flexibility of WAT this library is very flexible in what structures
|
|
10
|
-
it allows you to create.
|
|
11
|
-
valid WASM.
|
|
10
|
+
it allows you to create. Be aware that you can build modules which are not
|
|
11
|
+
valid WASM. Always validate your modules by using `#to_wasm.valid?`.
|
|
12
12
|
|
|
13
13
|
## Keyword conflict
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ of `public_send`, etc.
|
|
|
20
20
|
## Folding
|
|
21
21
|
|
|
22
22
|
WAG supports generating both the "folded" and "unfolded" variants of the WAT
|
|
23
|
-
language.
|
|
23
|
+
language. As an example here are two implementations of Euclid's Greatest
|
|
24
24
|
Common Divisor algorithm:
|
|
25
25
|
|
|
26
26
|
### Example of unfolded generation
|
|
@@ -68,6 +68,7 @@ end
|
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
### Example of folded generation
|
|
71
|
+
|
|
71
72
|
```ruby
|
|
72
73
|
folded = WAG::Module.new.build do
|
|
73
74
|
func(:gcd) do
|
|
@@ -154,7 +155,6 @@ Or install it yourself as:
|
|
|
154
155
|
|
|
155
156
|
$ gem install wag
|
|
156
157
|
|
|
157
|
-
|
|
158
158
|
## Development
|
|
159
159
|
|
|
160
160
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
@@ -163,7 +163,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
163
163
|
|
|
164
164
|
## Contributing
|
|
165
165
|
|
|
166
|
-
Bug reports and pull requests are welcome
|
|
166
|
+
Bug reports and pull requests are welcome at https://code.harton.nz/james/wag.
|
|
167
167
|
|
|
168
168
|
## License
|
|
169
169
|
|
|
@@ -172,7 +172,7 @@ This software is licensed under the terms of the
|
|
|
172
172
|
this package for the terms.
|
|
173
173
|
|
|
174
174
|
This license actively proscribes this software being used by and for some
|
|
175
|
-
industries, countries and activities.
|
|
175
|
+
industries, countries and activities. If your usage of this software doesn't
|
|
176
176
|
comply with the terms of this license, then [contact me](mailto:james@harton.nz)
|
|
177
177
|
with the details of your use-case to organise the purchase of a license - the
|
|
178
178
|
cost of which may include a donation to a suitable charity or NGO.
|
data/lib/wag/data.rb
CHANGED
data/lib/wag/element.rb
CHANGED
data/lib/wag/export.rb
CHANGED
data/lib/wag/import.rb
CHANGED
data/lib/wag/instructions/br.rb
CHANGED
data/lib/wag/module.rb
CHANGED
|
@@ -16,8 +16,8 @@ module WAG
|
|
|
16
16
|
@types = []
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def build(&
|
|
20
|
-
instance_exec(&
|
|
19
|
+
def build(&)
|
|
20
|
+
instance_exec(&)
|
|
21
21
|
self
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -76,14 +76,14 @@ module WAG
|
|
|
76
76
|
func
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
def table(elements, type = :
|
|
79
|
+
def table(elements, type = :funcref, &block)
|
|
80
80
|
table = Table.new(elements, type)
|
|
81
81
|
@tables << table
|
|
82
82
|
table.instance_exec(&block) if block
|
|
83
83
|
table
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
-
def to_sexpr # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
|
86
|
+
def to_sexpr # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
87
87
|
mod = [:module]
|
|
88
88
|
mod.concat(@imports.map(&:to_sexpr))
|
|
89
89
|
mod.concat(@exports.map(&:to_sexpr))
|
data/lib/wag/table.rb
CHANGED
data/lib/wag/version.rb
CHANGED
data/wag.gemspec
CHANGED
|
@@ -6,19 +6,19 @@ Gem::Specification.new do |spec|
|
|
|
6
6
|
spec.name = 'wag'
|
|
7
7
|
spec.version = WAG::VERSION
|
|
8
8
|
spec.authors = ['James Harton']
|
|
9
|
-
spec.email = ['james@
|
|
9
|
+
spec.email = ['james@harton.nz']
|
|
10
10
|
|
|
11
11
|
spec.summary = 'WebAssembly Generator'
|
|
12
12
|
spec.description = 'Generate and compile WebAssembly code from Ruby'
|
|
13
|
-
spec.homepage = 'https://
|
|
13
|
+
spec.homepage = 'https://code.harton.nz/james/wag'
|
|
14
14
|
spec.license = 'Hippocratic'
|
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new('>=
|
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.1')
|
|
16
16
|
|
|
17
17
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
|
18
18
|
|
|
19
19
|
spec.metadata['homepage_uri'] = spec.homepage
|
|
20
|
-
spec.metadata['source_code_uri'] = 'https://
|
|
21
|
-
spec.metadata['changelog_uri'] = 'https://
|
|
20
|
+
spec.metadata['source_code_uri'] = 'https://code.harton.nz/james/wag'
|
|
21
|
+
spec.metadata['changelog_uri'] = 'https://code.harton.nz/james/wag'
|
|
22
22
|
|
|
23
23
|
# Specify which files should be added to the gem when it is released. The `git
|
|
24
24
|
# ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
|
|
|
32
32
|
spec.require_paths = ['lib']
|
|
33
33
|
|
|
34
34
|
spec.add_runtime_dependency('dry-inflector', '~> 0.2.0')
|
|
35
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
35
36
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wag
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Harton
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-07-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: dry-inflector
|
|
@@ -26,15 +26,16 @@ dependencies:
|
|
|
26
26
|
version: 0.2.0
|
|
27
27
|
description: Generate and compile WebAssembly code from Ruby
|
|
28
28
|
email:
|
|
29
|
-
- james@
|
|
29
|
+
- james@harton.nz
|
|
30
30
|
executables: []
|
|
31
31
|
extensions: []
|
|
32
32
|
extra_rdoc_files: []
|
|
33
33
|
files:
|
|
34
|
+
- ".drone.yml"
|
|
34
35
|
- ".gitignore"
|
|
35
|
-
- ".gitlab-ci.yml"
|
|
36
36
|
- ".rspec"
|
|
37
37
|
- ".rubocop.yml"
|
|
38
|
+
- ".tool-versions"
|
|
38
39
|
- ".travis.yml"
|
|
39
40
|
- Gemfile
|
|
40
41
|
- Gemfile.lock
|
|
@@ -269,15 +270,15 @@ files:
|
|
|
269
270
|
- lib/wag/wabt.rb
|
|
270
271
|
- lib/wag/wasm.rb
|
|
271
272
|
- lib/wag/wat.rb
|
|
272
|
-
- renovate.json
|
|
273
273
|
- wag.gemspec
|
|
274
|
-
homepage: https://
|
|
274
|
+
homepage: https://code.harton.nz/james/wag
|
|
275
275
|
licenses:
|
|
276
276
|
- Hippocratic
|
|
277
277
|
metadata:
|
|
278
|
-
homepage_uri: https://
|
|
279
|
-
source_code_uri: https://
|
|
280
|
-
changelog_uri: https://
|
|
278
|
+
homepage_uri: https://code.harton.nz/james/wag
|
|
279
|
+
source_code_uri: https://code.harton.nz/james/wag
|
|
280
|
+
changelog_uri: https://code.harton.nz/james/wag
|
|
281
|
+
rubygems_mfa_required: 'true'
|
|
281
282
|
post_install_message:
|
|
282
283
|
rdoc_options: []
|
|
283
284
|
require_paths:
|
|
@@ -286,14 +287,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
286
287
|
requirements:
|
|
287
288
|
- - ">="
|
|
288
289
|
- !ruby/object:Gem::Version
|
|
289
|
-
version:
|
|
290
|
+
version: '3.1'
|
|
290
291
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
292
|
requirements:
|
|
292
293
|
- - ">="
|
|
293
294
|
- !ruby/object:Gem::Version
|
|
294
295
|
version: '0'
|
|
295
296
|
requirements: []
|
|
296
|
-
rubygems_version: 3.
|
|
297
|
+
rubygems_version: 3.3.7
|
|
297
298
|
signing_key:
|
|
298
299
|
specification_version: 4
|
|
299
300
|
summary: WebAssembly Generator
|
data/.gitlab-ci.yml
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
image: ruby:latest
|
|
2
|
-
|
|
3
|
-
stages:
|
|
4
|
-
- test
|
|
5
|
-
- release
|
|
6
|
-
|
|
7
|
-
before_script:
|
|
8
|
-
- apt-get update && apt-get install wabt && rm -rf /var/cache/apt
|
|
9
|
-
- bundle install
|
|
10
|
-
|
|
11
|
-
test:
|
|
12
|
-
stage: test
|
|
13
|
-
script:
|
|
14
|
-
- bundle exec rspec
|
|
15
|
-
|
|
16
|
-
rubocop:
|
|
17
|
-
stage: test
|
|
18
|
-
script:
|
|
19
|
-
- bundle exec rspec
|
|
20
|
-
|
|
21
|
-
release:
|
|
22
|
-
stage: release
|
|
23
|
-
only:
|
|
24
|
-
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
|
|
25
|
-
except:
|
|
26
|
-
- branches
|
|
27
|
-
script:
|
|
28
|
-
- gem build
|
|
29
|
-
artifacts:
|
|
30
|
-
name: "wag-$CI_COMMIT_TAG.gem"
|
|
31
|
-
paths:
|
|
32
|
-
- wag-*.gem
|
data/renovate.json
DELETED