diff --git a/Gemfile b/Gemfile index 16f47e9..cecb3fb 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,12 @@ gemspec gem "twenty-cli", path: "./twenty-cli" gem "twenty-backend", path: "./twenty-backend" gem "twenty-frontend", path: "./twenty-frontend" + +require 'rbconfig' +gem "listen" +case RbConfig::CONFIG['target_os'] +when /(?i-mx:bsd|dragonfly)/ + gem 'rb-kqueue', '>= 0.2' +else + # Poll +end diff --git a/Rakefile.rb b/Rakefile.rb index dc3cd51..0accee3 100644 --- a/Rakefile.rb +++ b/Rakefile.rb @@ -1,3 +1,4 @@ +require "bundler/setup" require_relative "rakelib/builders" load "twenty-frontend/tasks/nanoc.rake" diff --git a/twenty-backend/twenty-backend.gemspec b/twenty-backend/twenty-backend.gemspec index 2928bdc..fa6bd24 100644 --- a/twenty-backend/twenty-backend.gemspec +++ b/twenty-backend/twenty-backend.gemspec @@ -21,5 +21,4 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency "graphql", "~> 2.2" gem.add_development_dependency "test-unit", "~> 3.5.7" gem.add_development_dependency "standard", "~> 1.13" - gem.add_development_dependency "rake", "~> 13.1" end diff --git a/twenty-backend/twenty-backend.gemspec.erb b/twenty-backend/twenty-backend.gemspec.erb index 3db7f13..8319558 100644 --- a/twenty-backend/twenty-backend.gemspec.erb +++ b/twenty-backend/twenty-backend.gemspec.erb @@ -21,5 +21,4 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency "graphql", "~> 2.2" gem.add_development_dependency "test-unit", "~> 3.5.7" gem.add_development_dependency "standard", "~> 1.13" - gem.add_development_dependency "rake", "~> 13.1" end diff --git a/twenty-cli/twenty-cli.gemspec b/twenty-cli/twenty-cli.gemspec index d445fe7..cede515 100644 --- a/twenty-cli/twenty-cli.gemspec +++ b/twenty-cli/twenty-cli.gemspec @@ -22,5 +22,4 @@ Gem::Specification.new do |gem| gem.add_development_dependency "yard", "~> 0.9" gem.add_development_dependency "redcarpet", "~> 3.5" gem.add_development_dependency "standard", "~> 1.13" - gem.add_development_dependency "rake", "~> 13.1" end diff --git a/twenty-cli/twenty-cli.gemspec.erb b/twenty-cli/twenty-cli.gemspec.erb index 1a9befe..2ce8baf 100644 --- a/twenty-cli/twenty-cli.gemspec.erb +++ b/twenty-cli/twenty-cli.gemspec.erb @@ -22,5 +22,4 @@ Gem::Specification.new do |gem| gem.add_development_dependency "yard", "~> 0.9" gem.add_development_dependency "redcarpet", "~> 3.5" gem.add_development_dependency "standard", "~> 1.13" - gem.add_development_dependency "rake", "~> 13.1" end diff --git a/twenty-frontend/Gemfile.lock b/twenty-frontend/Gemfile.lock index 50f6cb2..ac21f4b 100644 --- a/twenty-frontend/Gemfile.lock +++ b/twenty-frontend/Gemfile.lock @@ -8,26 +8,13 @@ GEM specs: addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - adsf (1.4.6) - rack (>= 1.0.0, < 3.0.0) - adsf-live (1.5.0) - adsf (~> 1.3) - em-websocket (~> 0.5) - eventmachine (~> 1.2) - listen (~> 3.0) - rack-livereload (~> 0.3) colored (1.2) concurrent-ruby (1.2.3) cri (2.15.11) ddmetrics (1.1.0) ddplugin (1.0.3) diff-lcs (1.5.1) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - eventmachine (1.2.7) ffi (1.16.3) - http_parser.rb (0.8.0) immutable-ruby (0.1.0) concurrent-ruby (~> 1.1) sorted_set (~> 1.0) @@ -69,11 +56,6 @@ GEM nanoc-checking (~> 1.0) nanoc-cli (~> 4.11, >= 4.11.15) nanoc-core (~> 4.11, >= 4.11.15) - nanoc-live (1.0.0) - adsf-live (~> 1.4) - listen (~> 3.0) - nanoc-cli (~> 4.11, >= 4.11.14) - nanoc-core (~> 4.11, >= 4.11.14) nanoc-webpack.rb (0.5.6) ryo.rb (~> 0.4) parallel (1.24.0) @@ -82,11 +64,7 @@ GEM psych (5.1.2) stringio public_suffix (5.0.4) - rack (2.2.8) - rack-livereload (0.5.2) - rack (< 3) rainpress (1.0.1) - rake (13.1.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) @@ -118,11 +96,10 @@ PLATFORMS x86_64-openbsd DEPENDENCIES + listen (~> 3.8) nanoc (~> 4.12) - nanoc-live (~> 1.0) nanoc-webpack.rb (~> 0.5) rainpress (~> 1.0) - rake (~> 13.0) rb-kqueue (>= 0.2) sass (~> 3.7) twenty-frontend! diff --git a/twenty-frontend/tasks/nanoc.rake b/twenty-frontend/tasks/nanoc.rake index 443f9bf..2eb3649 100644 --- a/twenty-frontend/tasks/nanoc.rake +++ b/twenty-frontend/tasks/nanoc.rake @@ -1,4 +1,5 @@ namespace :nanoc do + require "bundler/setup" cwd = File.realpath File.join(__dir__, "..") desc "Clean the build/ directory" @@ -14,16 +15,20 @@ namespace :nanoc do # FIXME: discover why rm -rf build/css/ is needed. ENV["NODE_ENV"] = "production" sh "rm -rf build/css/" - sh "bundle exec nanoc co" + Bundler.with_unbundled_env { sh "bundle exec nanoc co" } end end desc "Produce the build/ directory on-demand" task watch: ['nanoc:build'] do - require "listen" - path = File.join(Dir.getwd, "src") - Listen.to(path) { sh "rake nanoc:build" }.start - sleep + Dir.chdir(cwd) do + require "listen" + path = File.join(Dir.getwd, "src") + Listen.to(path) do + Bundler.with_unbundled_env { sh "rake nanoc:build" } + end.start + sleep + end rescue Interrupt warn "SIGINT: exit" exit diff --git a/twenty-frontend/twenty-frontend.gemspec b/twenty-frontend/twenty-frontend.gemspec index 69d3c74..4559f70 100644 --- a/twenty-frontend/twenty-frontend.gemspec +++ b/twenty-frontend/twenty-frontend.gemspec @@ -14,10 +14,9 @@ Gem::Specification.new do |gem| gem.require_paths = ["lib"] gem.summary = "twenty: frontend" gem.description = gem.summary - gem.add_development_dependency "rake", "~> 13.0" gem.add_development_dependency "nanoc", "~> 4.12" - gem.add_development_dependency "nanoc-live", "~> 1.0" gem.add_development_dependency "sass", "~> 3.7" gem.add_development_dependency "rainpress", "~> 1.0" gem.add_development_dependency "nanoc-webpack.rb", "~> 0.5" + gem.add_development_dependency "listen", "~> 3.8" end diff --git a/twenty-frontend/twenty-frontend.gemspec.erb b/twenty-frontend/twenty-frontend.gemspec.erb index 29a64ab..714363e 100644 --- a/twenty-frontend/twenty-frontend.gemspec.erb +++ b/twenty-frontend/twenty-frontend.gemspec.erb @@ -14,10 +14,9 @@ Gem::Specification.new do |gem| gem.require_paths = ["lib"] gem.summary = "twenty: frontend" gem.description = gem.summary - gem.add_development_dependency "rake", "~> 13.0" gem.add_development_dependency "nanoc", "~> 4.12" - gem.add_development_dependency "nanoc-live", "~> 1.0" gem.add_development_dependency "sass", "~> 3.7" gem.add_development_dependency "rainpress", "~> 1.0" gem.add_development_dependency "nanoc-webpack.rb", "~> 0.5" + gem.add_development_dependency "listen", "~> 3.8" end