Skip to content

Commit 942fc47

Browse files
committed
Get rid of Sprockets and use Tilt
This improves development tremendously - while live reload doesn't work now (but manually refreshing page does) the development load times are much much better, especially connected with recent improvements to Opal::Builder. Also, source maps now work correctly. Ref: opal/opal#2479
1 parent 4ad2841 commit 942fc47

File tree

7 files changed

+36
-31
lines changed

7 files changed

+36
-31
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ build/*
33
.idea
44
.ruby-version
55
.sass-cache
6+
tmp
7+
app/application.js

Gemfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
source "https://rubygems.org"
22

3-
gem "opal", "~> 1.4a"
4-
gem "opal-sprockets"
3+
gem "opal", "~> 1.4a", git: "https://github.com/opal/opal", ref: "hmdne/fix-builder-dup"
54
gem "opal-browser"
65
gem "middleman"
76
gem "middleman-livereload"
87
gem "middleman-syntax"
9-
gem "middleman-sprockets"
108
gem "middleman-blog"
119
gem "middleman-gh-pages"
1210
gem "redcarpet"
1311
gem "sass"
1412
gem "webrick"
1513
gem "terser"
14+
gem "tilt", git: "https://github.com/rtomayko/tilt"
1615

1716
group :test do
1817
gem "rspec"

Gemfile.lock

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
GIT
2+
remote: https://github.com/opal/opal
3+
revision: 04009f35baa561b99a91d92702d0e07f19b058e1
4+
ref: hmdne/fix-builder-dup
5+
specs:
6+
opal (1.6.0)
7+
ast (>= 2.3.0)
8+
parser (~> 3.0, >= 3.0.3.2)
9+
10+
GIT
11+
remote: https://github.com/rtomayko/tilt
12+
revision: a8b10cae56606ba657eeb9a06f1077155909c425
13+
specs:
14+
tilt (2.0.11)
15+
116
GEM
217
remote: https://rubygems.org/
318
specs:
@@ -103,9 +118,6 @@ GEM
103118
em-websocket (~> 0.5.1)
104119
middleman-core (>= 3.3)
105120
rack-livereload (~> 0.3.15)
106-
middleman-sprockets (4.1.1)
107-
middleman-core (~> 4.0)
108-
sprockets (>= 3.0)
109121
middleman-syntax (3.3.0)
110122
middleman-core (>= 3.2)
111123
rouge (~> 3.2)
@@ -116,16 +128,9 @@ GEM
116128
nokogiri (1.13.10)
117129
mini_portile2 (~> 2.8.0)
118130
racc (~> 1.4)
119-
opal (1.6.0)
120-
ast (>= 2.3.0)
121-
parser (~> 3.0, >= 3.0.3.2)
122131
opal-browser (0.3.3)
123132
opal (>= 1.0, < 2.0)
124133
paggio (>= 0.3.0)
125-
opal-sprockets (1.0.3)
126-
opal (>= 1.0, < 2.0)
127-
sprockets (~> 4.0)
128-
tilt (>= 1.4)
129134
padrino-helpers (0.15.1)
130135
i18n (>= 0.6.7, < 2)
131136
padrino-support (= 0.15.1)
@@ -174,14 +179,10 @@ GEM
174179
sassc (2.4.0)
175180
ffi (~> 1.9)
176181
servolux (0.13.0)
177-
sprockets (4.1.1)
178-
concurrent-ruby (~> 1.0)
179-
rack (> 1, < 3)
180182
temple (0.9.1)
181183
terser (1.1.12)
182184
execjs (>= 0.3.0, < 3)
183185
thor (1.2.1)
184-
tilt (2.0.11)
185186
toml (0.3.0)
186187
parslet (>= 1.8.0, < 3.0.0)
187188
tzinfo (2.0.5)
@@ -205,16 +206,15 @@ DEPENDENCIES
205206
middleman-blog
206207
middleman-gh-pages
207208
middleman-livereload
208-
middleman-sprockets
209209
middleman-syntax
210-
opal (~> 1.4a)
210+
opal (~> 1.4a)!
211211
opal-browser
212-
opal-sprockets
213212
puma
214213
redcarpet
215214
rspec
216215
sass
217216
terser
217+
tilt!
218218
webrick
219219

220220
BUNDLED WITH

config.rb

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
require 'bundler'
22
Bundler.require
33

4+
# Build Opal part with Tilt, with our customized pipeline
5+
require 'opal-config'
6+
7+
set :rb, builder: OpalBuilder.new
8+
49
# Enable the collector extension, used to create
510
# try_ruby_<language>.json files
611
require 'collector'
@@ -14,7 +19,6 @@
1419
smartypants: true
1520

1621
activate :syntax
17-
activate :sprockets
1822

1923
activate :blog do |blog|
2024
blog.publish_future_dated = true
@@ -27,13 +31,6 @@
2731
set :css_dir, 'stylesheets'
2832
set :js_dir, 'javascripts'
2933

30-
after_configuration do
31-
sprockets.append_path "#{__dir__}/app"
32-
Opal.paths.each do |p|
33-
sprockets.append_path p
34-
end
35-
end
36-
3734
configure :development do
3835
set :debug_assets, true
3936
activate :livereload

opal-config.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require 'tilt/opal'
2+
3+
Opal.append_path "#{__dir__}/app"
4+
5+
class OpalBuilder < Opal::Builder
6+
def to_s
7+
super + "\n" + source_map.to_data_uri_comment
8+
end
9+
end

source/javascripts/application.js

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
require "try_ruby"

0 commit comments

Comments
 (0)