From 42b6ba7ef71aa70d437ee546cf9c484c34840c2b Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Wed, 24 Nov 2021 13:45:41 -0500 Subject: [PATCH 1/4] attempt to nix-ify this project --- default.nix | 16 + gemset.nix | 867 ++++++++++++++++++++++++++++++++++++++++++++++++++++ shell.nix | 16 + 3 files changed, 899 insertions(+) create mode 100644 default.nix create mode 100644 gemset.nix create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..67d5eff --- /dev/null +++ b/default.nix @@ -0,0 +1,16 @@ +{pkgs ? import {}}: +with pkgs; +let + rubyEnv = bundlerEnv { + name = "env-proto"; + ruby = ruby_3_0; + gemdir = ./.; + }; +in + mkShell { + buildInputs = [ + rubyEnv + ruby_3_0 + bundix + ]; + } diff --git a/gemset.nix b/gemset.nix new file mode 100644 index 0000000..778568b --- /dev/null +++ b/gemset.nix @@ -0,0 +1,867 @@ +{ + actioncable = { + dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + actionmailbox = { + dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + actiontext = { + dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + activemodel = { + dependencies = ["activesupport"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + activestorage = { + dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; + type = "gem"; + }; + version = "2.8.0"; + }; + bcrypt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02r1c3isfchs5fxivbq99gc3aq4vfyn8snhcy707dal1p8qz12qb"; + type = "gem"; + }; + version = "3.1.16"; + }; + bindex = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zmirr3m02p52bzq4xgksq4pn8j641rx5d4czk68pv9rqnfwq7kv"; + type = "gem"; + }; + version = "0.8.1"; + }; + bootsnap = { + dependencies = ["msgpack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ndjra3h86dq28njm2swmaw6n3vsywrycrf7i5iy9l8hrhfhv4x2"; + type = "gem"; + }; + version = "1.9.1"; + }; + builder = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; + type = "gem"; + }; + version = "3.2.4"; + }; + byebug = { + groups = ["development" "test"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "ruby"; + }]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; + type = "gem"; + }; + version = "11.1.3"; + }; + capybara = { + dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dv75hs45456mi76h720gxk959gpg4f6091hmk42y0ln6kp2x7i0"; + type = "gem"; + }; + version = "3.36.0"; + }; + childprocess = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in"; + type = "gem"; + }; + version = "4.1.0"; + }; + concurrent-ruby = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f"; + type = "gem"; + }; + version = "1.1.9"; + }; + crass = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; + type = "gem"; + }; + version = "1.0.6"; + }; + devise = { + dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ag0skzk3h7bhmf1n2zwa7cg6kx5k5inxmq0kf5qpm7917ffm0mz"; + type = "gem"; + }; + version = "4.8.0"; + }; + dotenv = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; + type = "gem"; + }; + version = "2.7.6"; + }; + dotenv-rails = { + dependencies = ["dotenv" "railties"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1my2jdmgmpf32rfxffkb9cyxh7ayis4q5ygpwjqj4vpp25y3a70c"; + type = "gem"; + }; + version = "2.7.6"; + }; + erubi = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l"; + type = "gem"; + }; + version = "1.10.0"; + }; + ffi = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn"; + type = "gem"; + }; + version = "1.15.4"; + }; + globalid = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm"; + type = "gem"; + }; + version = "0.5.2"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf"; + type = "gem"; + }; + version = "1.8.11"; + }; + jbuilder = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vz0vp5lbp1bz2samyn8nk49vyh6zhvcqz35faq4i3kgsd4xlnhp"; + type = "gem"; + }; + version = "2.11.2"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ncfhdkjiwq9l1pm87ax2pa20kz2j0dz56vi74cnr5a6cfk0qb5p"; + type = "gem"; + }; + version = "3.7.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw"; + type = "gem"; + }; + version = "2.12.0"; + }; + mail = { + dependencies = ["mini_mime"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + type = "gem"; + }; + version = "2.7.1"; + }; + marcel = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"; + type = "gem"; + }; + version = "1.0.2"; + }; + matrix = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; + type = "gem"; + }; + version = "0.4.2"; + }; + method_source = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; + type = "gem"; + }; + version = "1.0.0"; + }; + mini_mime = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; + type = "gem"; + }; + version = "1.1.2"; + }; + minitest = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; + type = "gem"; + }; + version = "5.14.4"; + }; + msgpack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; + type = "gem"; + }; + version = "1.4.2"; + }; + nio4r = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v"; + type = "gem"; + }; + version = "2.5.8"; + }; + nokogiri = { + dependencies = ["racc"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1skckpv9nm8q2xh34i3yqv9z4mk6y3smm85axm6lv427l78chs08"; + type = "gem"; + }; + version = "1.12.5"; + }; + orm_adapter = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; + type = "gem"; + }; + version = "0.5.0"; + }; + pg = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj"; + type = "gem"; + }; + version = "1.2.3"; + }; + public_suffix = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; + type = "gem"; + }; + version = "4.0.6"; + }; + puma = { + dependencies = ["nio4r"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn"; + type = "gem"; + }; + version = "5.5.2"; + }; + racc = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d"; + type = "gem"; + }; + version = "1.6.0"; + }; + rack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16"; + type = "gem"; + }; + version = "2.2.3"; + }; + rack-mini-profiler = { + dependencies = ["rack"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03hcvjw9nrv0w6yjy2zkv4ivin9xg2wr7xfcvx7rc2msv1gmjb6z"; + type = "gem"; + }; + version = "2.3.3"; + }; + rack-proxy = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jdr2r5phr3q7d6k9cnxjwlkaps0my0n43wq9mzw3xdqhg9wa3d6"; + type = "gem"; + }; + version = "0.7.0"; + }; + rack-test = { + dependencies = ["rack"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails = { + dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk"; + type = "gem"; + }; + version = "1.4.2"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy"; + type = "gem"; + }; + version = "6.1.4.1"; + }; + rake = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + type = "gem"; + }; + version = "13.0.6"; + }; + rb-fsevent = { + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; + type = "gem"; + }; + version = "0.11.0"; + }; + rb-inotify = { + dependencies = ["ffi"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; + type = "gem"; + }; + version = "0.10.1"; + }; + regexp_parser = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr"; + type = "gem"; + }; + version = "2.1.1"; + }; + responders = { + dependencies = ["actionpack" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14kjykc6rpdh24sshg9savqdajya2dislc1jmbzg91w9967f4gv1"; + type = "gem"; + }; + version = "3.0.1"; + }; + rexml = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; + type = "gem"; + }; + version = "3.2.5"; + }; + rubyzip = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; + type = "gem"; + }; + version = "2.3.2"; + }; + sass-rails = { + dependencies = ["sassc-rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lqhb0fgmls9l9jhgz42ri25w13q5pmsiiwzjbarz4n7l6749dp0"; + type = "gem"; + }; + version = "6.0.0"; + }; + sassc = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; + type = "gem"; + }; + version = "2.4.0"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz"; + type = "gem"; + }; + version = "2.1.2"; + }; + selenium-webdriver = { + dependencies = ["childprocess" "rexml" "rubyzip"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kiz6afx2mdl9pad2ji5yv3bhfm474ns7cwry171di0lq78aa8na"; + type = "gem"; + }; + version = "4.0.3"; + }; + semantic_range = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dlp97vg95plrsaaqj7x8l7z9vsjbhnqk4rw1l30gy26lmxpfrih"; + type = "gem"; + }; + version = "3.0.0"; + }; + spring = { + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12kyz3jdnaarhf2jbykmd9mqg085gxsx00c16la5q7czxvpb2x2r"; + type = "gem"; + }; + version = "3.0.0"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38"; + type = "gem"; + }; + version = "4.0.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18iic4rx82v0wq7criigfsj96dqw3dmdnpqpqwpqy32nn4yh1p2w"; + type = "gem"; + }; + version = "3.3.0"; + }; + thor = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; + type = "gem"; + }; + version = "1.1.0"; + }; + tilt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv"; + type = "gem"; + }; + version = "2.0.10"; + }; + turbolinks = { + dependencies = ["turbolinks-source"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "176fbkhhi2jmsnbkcng2qr82nd35qmh3inmbv5dqm9z2qj4misjz"; + type = "gem"; + }; + version = "5.2.1"; + }; + turbolinks-source = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m45pk1jbfvqaki1mxn1bmj8yy65qyv49ygqbkqv08hshpx42ain"; + type = "gem"; + }; + version = "5.2.0"; + }; + tzinfo = { + dependencies = ["concurrent-ruby"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z"; + type = "gem"; + }; + version = "2.0.4"; + }; + warden = { + dependencies = ["rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l7gl7vms023w4clg02pm4ky9j12la2vzsixi2xrv9imbn44ys26"; + type = "gem"; + }; + version = "1.2.9"; + }; + web-console = { + dependencies = ["actionview" "activemodel" "bindex" "railties"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d9hk929cmisix2l1w9kkh05b57ih9yvnh4wv52axxw41scnv2d9"; + type = "gem"; + }; + version = "4.1.0"; + }; + webdrivers = { + dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bxahwcw21rd5hnnlyvpz42ipjkx7yp5a8m08k9q0pspv5zmg4mj"; + type = "gem"; + }; + version = "5.0.0"; + }; + webpacker = { + dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cq6m5qwm3bmi7hkjfmbg2cs4qjq4wswlrwcfk8l1svfqbi135v3"; + type = "gem"; + }; + version = "5.4.3"; + }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052"; + type = "gem"; + }; + version = "0.7.5"; + }; + websocket-extensions = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; + type = "gem"; + }; + version = "0.1.5"; + }; + xpath = { + dependencies = ["nokogiri"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; + zeitwerk = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj"; + type = "gem"; + }; + version = "2.5.1"; + }; +} diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..66b2d2e --- /dev/null +++ b/shell.nix @@ -0,0 +1,16 @@ +with import {}; +stdenv.mkDerivation { + name = "env"; + buildInputs = [ + ruby_3_0.devEnv + git + sqlite + libpcap + postgresql + libxml2 + libxslt + pkg-config + bundix + gnumake + ]; +} From 7c3182c8a8905837f482eb7c05d35346ef06ff42 Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Wed, 24 Nov 2021 15:15:00 -0500 Subject: [PATCH 2/4] hello? --- Gemfile | 5 +++-- Gemfile.lock | 8 ++++++++ default.nix | 8 ++++---- gemset.nix | 24 ++++++++++++++++++++++-- shell.nix | 44 ++++++++++++++++++++++++++++---------------- shell_broken.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 113 insertions(+), 24 deletions(-) create mode 100644 shell_broken.nix diff --git a/Gemfile b/Gemfile index f251db2..bb18c0b 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '3.0.2' +gem 'nokogiri', '>= 1.12.5' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' gem 'rails', '~> 6.1.4', '>= 6.1.4.1' # Use postgresql as the database for Active Record @@ -18,7 +19,7 @@ gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.7' # Use Redis adapter to run Action Cable in production -# gem 'redis', '~> 4.0' +gem 'redis', '~> 4.0' # Use Active Model has_secure_password # gem 'bcrypt', '~> 3.1.7' @@ -55,4 +56,4 @@ end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'devise' -gem 'dotenv-rails', groups: [:development, :test] \ No newline at end of file +gem 'dotenv-rails', groups: [:development, :test] diff --git a/Gemfile.lock b/Gemfile.lock index dc74fe8..ad1e02a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -110,9 +110,13 @@ GEM matrix (0.4.2) method_source (1.0.0) mini_mime (1.1.2) + mini_portile2 (2.6.1) minitest (5.14.4) msgpack (1.4.2) nio4r (2.5.8) + nokogiri (1.12.5) + mini_portile2 (~> 2.6.1) + racc (~> 1.4) nokogiri (1.12.5-x86_64-linux) racc (~> 1.4) orm_adapter (0.5.0) @@ -158,6 +162,7 @@ GEM rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) + redis (4.5.1) regexp_parser (2.1.1) responders (3.0.1) actionpack (>= 5.0) @@ -218,6 +223,7 @@ GEM zeitwerk (2.5.1) PLATFORMS + ruby x86_64-linux DEPENDENCIES @@ -228,10 +234,12 @@ DEPENDENCIES dotenv-rails jbuilder (~> 2.7) listen (~> 3.3) + nokogiri (>= 1.12.5) pg (~> 1.1) puma (~> 5.0) rack-mini-profiler (~> 2.0) rails (~> 6.1.4, >= 6.1.4.1) + redis (~> 4.0) sass-rails (>= 6) selenium-webdriver spring diff --git a/default.nix b/default.nix index 67d5eff..fea8900 100644 --- a/default.nix +++ b/default.nix @@ -1,16 +1,16 @@ {pkgs ? import {}}: with pkgs; let + ruby = ruby_3_0; rubyEnv = bundlerEnv { - name = "env-proto"; - ruby = ruby_3_0; + name = "project-bundler-env"; + inherit ruby; gemdir = ./.; }; in mkShell { buildInputs = [ rubyEnv - ruby_3_0 - bundix + rubyEnv.wrappedRuby ]; } diff --git a/gemset.nix b/gemset.nix index 778568b..274d404 100644 --- a/gemset.nix +++ b/gemset.nix @@ -389,6 +389,16 @@ }; version = "1.1.2"; }; + mini_portile2 = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; + type = "gem"; + }; + version = "2.6.1"; + }; minitest = { groups = ["default" "development" "test"]; platforms = []; @@ -420,12 +430,12 @@ version = "2.5.8"; }; nokogiri = { - dependencies = ["racc"]; + dependencies = ["mini_portile2" "racc"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1skckpv9nm8q2xh34i3yqv9z4mk6y3smm85axm6lv427l78chs08"; + sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; type = "gem"; }; version = "1.12.5"; @@ -599,6 +609,16 @@ }; version = "0.10.1"; }; + redis = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03r9739q3vq38g456snf3rk9hadf955bs5im6qs6m69h19mrz2yw"; + type = "gem"; + }; + version = "4.5.1"; + }; regexp_parser = { groups = ["default" "test"]; platforms = []; diff --git a/shell.nix b/shell.nix index 66b2d2e..601851e 100644 --- a/shell.nix +++ b/shell.nix @@ -1,16 +1,28 @@ -with import {}; -stdenv.mkDerivation { - name = "env"; - buildInputs = [ - ruby_3_0.devEnv - git - sqlite - libpcap - postgresql - libxml2 - libxslt - pkg-config - bundix - gnumake - ]; -} +with (import {}); + +let ruby = ruby_3_0; +in +ruby.withPackages ( +ps: with ps; [ + nokogiri + rails + pg + puma + sass-rails + webpacker + turbolinks + jbuilder + redis + bootsnap + web-console + rack-mini-profiler + listen + spring + capybara + selenium-webdriver + webdrivers + tzinfo-data + devise + dotenv-rails +] +) diff --git a/shell_broken.nix b/shell_broken.nix new file mode 100644 index 0000000..80a11b0 --- /dev/null +++ b/shell_broken.nix @@ -0,0 +1,48 @@ +with (import {}); +with builtins; + +let + ruby = ruby_3_0; + minitest = buildRubyGem { + inherit ruby; + gemName = "minitest"; + type = "gem"; + version = "5.10.1"; + source.sha256 = "1yk2m8sp0p5m1niawa3ncg157a4i0594cg7z91rzjxv963rzrwab"; + gemPath = []; + }; + + rake = buildRubyGem { + inherit ruby; + gemName = "rake"; + type = "gem"; + version = "12.0.0"; + source.sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; + gemPath = []; + }; + + srcWithout = rootPath: ignoredPaths: + let + ignoreStrings = map (path: toString path ) ignoredPaths; + in + filterSource (path: type: (all (i: i != path) ignoreStrings)) rootPath; +in + stdenv.mkDerivation { + name = "bundix"; + src = builtins.fetchGit { + url = "https://github.com/jdelStrother/bundix.git"; + ref = "multi-platform"; + }; + phases = "installPhase"; + installPhase = '' + mkdir -p $out + makeWrapper $src/bin/bundix $out/bin/bundix \ + --prefix PATH : "${nix.out}/bin" \ + --prefix PATH : "${nix-prefetch-git.out}/bin" \ + --set GEM_PATH "${bundler}/${bundler.ruby.gemPath}" + ''; + + nativeBuildInputs = [makeWrapper]; + + buildInputs = [bundler ruby minitest rake nix-prefetch-scripts git sqlite libpcap postgresql libxml2 libxslt pkg-config gnumake]; +} From 72926c1b74bd7183d0dbeb5c68c88f2f148a1ffb Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Tue, 7 Dec 2021 22:34:17 -0500 Subject: [PATCH 3/4] i don't fucking care any more --- Gemfile | 1 + Gemfile.lock | 31 +++++--- app/javascript/packs/menubar.jsx | 26 ++++++ app/views/layouts/application.html.erb | 3 + babel.config.js | 23 +++++- config/webpacker.yml | 1 + default.nix | 25 +++--- fuck.nix | 24 ++++++ gemset.nix | 96 +++++++++++++++------- package.json | 5 ++ shell.nix | 39 +++------ shell_broken.nix | 48 ----------- yarn.lock | 105 ++++++++++++++++++++++++- 13 files changed, 297 insertions(+), 130 deletions(-) create mode 100644 app/javascript/packs/menubar.jsx create mode 100644 fuck.nix delete mode 100644 shell_broken.nix diff --git a/Gemfile b/Gemfile index bb18c0b..d08985f 100644 --- a/Gemfile +++ b/Gemfile @@ -57,3 +57,4 @@ end gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'devise' gem 'dotenv-rails', groups: [:development, :test] +gem 'react-rails' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index ad1e02a..e08a0ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -62,9 +62,13 @@ GEM zeitwerk (~> 2.3) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) + babel-source (5.8.35) + babel-transpiler (0.7.0) + babel-source (>= 4.0, < 6) + execjs (~> 2.0) bcrypt (3.1.16) bindex (0.8.1) - bootsnap (1.9.1) + bootsnap (1.9.3) msgpack (~> 1.0) builder (3.2.4) byebug (11.1.3) @@ -79,6 +83,7 @@ GEM xpath (~> 3.2) childprocess (4.1.0) concurrent-ruby (1.1.9) + connection_pool (2.2.5) crass (1.0.6) devise (4.8.0) bcrypt (~> 3.0) @@ -91,12 +96,13 @@ GEM dotenv (= 2.7.6) railties (>= 3.2) erubi (1.10.0) + execjs (2.8.1) ffi (1.15.4) - globalid (0.5.2) + globalid (1.0.0) activesupport (>= 5.0) i18n (1.8.11) concurrent-ruby (~> 1.0) - jbuilder (2.11.2) + jbuilder (2.11.3) activesupport (>= 5.0.0) listen (3.7.0) rb-fsevent (~> 0.10, >= 0.10.3) @@ -110,12 +116,10 @@ GEM matrix (0.4.2) method_source (1.0.0) mini_mime (1.1.2) - mini_portile2 (2.6.1) minitest (5.14.4) msgpack (1.4.2) nio4r (2.5.8) nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) racc (~> 1.4) nokogiri (1.12.5-x86_64-linux) racc (~> 1.4) @@ -162,8 +166,14 @@ GEM rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) + react-rails (2.6.1) + babel-transpiler (>= 0.7.0) + connection_pool + execjs + railties (>= 3.2) + tilt redis (4.5.1) - regexp_parser (2.1.1) + regexp_parser (2.2.0) responders (3.0.1) actionpack (>= 5.0) railties (>= 5.0) @@ -179,16 +189,16 @@ GEM sprockets (> 3.0) sprockets-rails tilt - selenium-webdriver (4.0.3) + selenium-webdriver (4.1.0) childprocess (>= 0.5, < 5.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2) semantic_range (3.0.0) - spring (3.0.0) + spring (3.1.1) sprockets (4.0.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.3.0) + sprockets-rails (3.4.1) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) @@ -201,7 +211,7 @@ GEM concurrent-ruby (~> 1.0) warden (1.2.9) rack (>= 2.0.9) - web-console (4.1.0) + web-console (4.2.0) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) @@ -239,6 +249,7 @@ DEPENDENCIES puma (~> 5.0) rack-mini-profiler (~> 2.0) rails (~> 6.1.4, >= 6.1.4.1) + react-rails redis (~> 4.0) sass-rails (>= 6) selenium-webdriver diff --git a/app/javascript/packs/menubar.jsx b/app/javascript/packs/menubar.jsx new file mode 100644 index 0000000..772fc97 --- /dev/null +++ b/app/javascript/packs/menubar.jsx @@ -0,0 +1,26 @@ +// Run this example by adding <%= javascript_pack_tag 'hello_react' %> to the head of your layout file, +// like app/views/layouts/application.html.erb. All it does is render
Hello React
at the bottom +// of the page. + +import React from 'react' +import ReactDOM from 'react-dom' +import PropTypes from 'prop-types' + +const Hello = props => ( +
Hello {props.name}!
+) + +Hello.defaultProps = { + name: 'David' +} + +Hello.propTypes = { + name: PropTypes.string +} + +document.addEventListener('DOMContentLoaded', () => { + ReactDOM.render( + , + document.body.appendChild(document.createElement('div')), + ) +}) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index a8112a4..a2507fd 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -11,6 +11,9 @@ +
+ <%= javascript_pack_tag 'menubar' %> +

<%= notice %>

<%= alert %>

diff --git a/babel.config.js b/babel.config.js index 19a07f3..ce41503 100644 --- a/babel.config.js +++ b/babel.config.js @@ -22,8 +22,10 @@ module.exports = function(api) { { targets: { node: 'current' - } - } + }, + modules: 'commonjs' + }, + '@babel/preset-react' ], (isProductionEnv || isDevelopmentEnv) && [ '@babel/preset-env', @@ -34,6 +36,13 @@ module.exports = function(api) { modules: false, exclude: ['transform-typeof-symbol'] } + ], + [ + '@babel/preset-react', + { + development: isDevelopmentEnv || isTestEnv, + useBuiltIns: true + } ] ].filter(Boolean), plugins: [ @@ -68,7 +77,9 @@ module.exports = function(api) { [ '@babel/plugin-transform-runtime', { - helpers: false + helpers: false, + regenerator: true, + corejs: false } ], [ @@ -76,6 +87,12 @@ module.exports = function(api) { { async: false } + ], + isProductionEnv && [ + 'babel-plugin-transform-react-remove-prop-types', + { + removeImport: true + } ] ].filter(Boolean) } diff --git a/config/webpacker.yml b/config/webpacker.yml index a6b1465..ba8415e 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -33,6 +33,7 @@ default: &default - .woff2 extensions: + - .jsx - .mjs - .js - .sass diff --git a/default.nix b/default.nix index fea8900..402f610 100644 --- a/default.nix +++ b/default.nix @@ -1,16 +1,13 @@ -{pkgs ? import {}}: -with pkgs; +{stdenv, bundlerEnv, ruby_3_0}: let - ruby = ruby_3_0; - rubyEnv = bundlerEnv { - name = "project-bundler-env"; - inherit ruby; - gemdir = ./.; - }; + gems = bundlerEnv { + name = "env"; + inherit ruby_3_0; + gemdir = ./.; + }; in - mkShell { - buildInputs = [ - rubyEnv - rubyEnv.wrappedRuby - ]; - } +stdenv.mkDerivation { + name = "janus"; + src = ./.; + buildInputs = [gems ruby_3_0]; +} diff --git a/fuck.nix b/fuck.nix new file mode 100644 index 0000000..954056f --- /dev/null +++ b/fuck.nix @@ -0,0 +1,24 @@ +{pkgs ? import {}}: +with pkgs; +let + ruby = ruby_3_0; + rubyEnv = bundlerEnv { + name = "project-bundler-env"; + inherit ruby; + gemdir = ./.; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + }; +in + mkShell { + nativeBuildInputs = [ + #rubyPackages_3_0.nokogiri + ]; + buildInputs = [ + #rubyPackages_3_0.nokogiri + rubyEnv + rubyEnv.wrappedRuby + yarn + ]; + } diff --git a/gemset.nix b/gemset.nix index 274d404..d0bb02a 100644 --- a/gemset.nix +++ b/gemset.nix @@ -131,6 +131,27 @@ }; version = "2.8.0"; }; + babel-source = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ncq8h82k6hypzfb5dk7z95mmcdwnhsxmc53xz17m1nbklm25vvr"; + type = "gem"; + }; + version = "5.8.35"; + }; + babel-transpiler = { + dependencies = ["babel-source" "execjs"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0w0minwxj56w96xps1msm6n75fs0y7r1vqcr9zlsn74fksnz81jc"; + type = "gem"; + }; + version = "0.7.0"; + }; bcrypt = { groups = ["default"]; platforms = []; @@ -157,10 +178,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ndjra3h86dq28njm2swmaw6n3vsywrycrf7i5iy9l8hrhfhv4x2"; + sha256 = "18prmylz53gsw651f0sibb2mvdxgd2zzdzh6a9a1idpqhyxcnbg7"; type = "gem"; }; - version = "1.9.1"; + version = "1.9.3"; }; builder = { groups = ["default" "development" "test"]; @@ -221,6 +242,16 @@ }; version = "1.1.9"; }; + connection_pool = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ffdxhgirgc86qb42yvmfj6v1v0x4lvi0pxn9zhghkff44wzra0k"; + type = "gem"; + }; + version = "2.2.5"; + }; crass = { groups = ["default" "development" "test"]; platforms = []; @@ -273,6 +304,16 @@ }; version = "1.10.0"; }; + execjs = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; + type = "gem"; + }; + version = "2.8.1"; + }; ffi = { groups = ["default" "development"]; platforms = []; @@ -289,10 +330,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm"; + sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj"; type = "gem"; }; - version = "0.5.2"; + version = "1.0.0"; }; i18n = { dependencies = ["concurrent-ruby"]; @@ -311,10 +352,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vz0vp5lbp1bz2samyn8nk49vyh6zhvcqz35faq4i3kgsd4xlnhp"; + sha256 = "1a8fhj01wqsjyr3cm6fzrv54p879v83xpm2vrh7if9q5zwvkqmfn"; type = "gem"; }; - version = "2.11.2"; + version = "2.11.3"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify"]; @@ -389,16 +430,6 @@ }; version = "1.1.2"; }; - mini_portile2 = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; - type = "gem"; - }; - version = "2.6.1"; - }; minitest = { groups = ["default" "development" "test"]; platforms = []; @@ -430,7 +461,7 @@ version = "2.5.8"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; + dependencies = ["racc"]; groups = ["default" "development" "test"]; platforms = []; source = { @@ -609,6 +640,17 @@ }; version = "0.10.1"; }; + react-rails = { + dependencies = ["babel-transpiler" "connection_pool" "execjs" "railties" "tilt"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m5n1k2bcl9z1pfmdm0xgy90hkjmvvk19hbxymx9yn4vvfmimw1y"; + type = "gem"; + }; + version = "2.6.1"; + }; redis = { groups = ["default"]; platforms = []; @@ -624,10 +666,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr"; + sha256 = "008yn8j44414qxhn1c0nxp4a70rq0bqhz70hnjpgx8cjh2g0makp"; type = "gem"; }; - version = "2.1.1"; + version = "2.2.0"; }; responders = { dependencies = ["actionpack" "railties"]; @@ -699,10 +741,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kiz6afx2mdl9pad2ji5yv3bhfm474ns7cwry171di0lq78aa8na"; + sha256 = "17hilxa40cj7q48k6wcx1cbdb1v3q9c4nx89fji7gyqpcfm16vq7"; type = "gem"; }; - version = "4.0.3"; + version = "4.1.0"; }; semantic_range = { groups = ["default"]; @@ -719,10 +761,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12kyz3jdnaarhf2jbykmd9mqg085gxsx00c16la5q7czxvpb2x2r"; + sha256 = "0w0v6fyic3a4vq1imzcp0x4b3cgbm1gi7jn7qma9768zaqmxv8gw"; type = "gem"; }; - version = "3.0.0"; + version = "3.1.1"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; @@ -741,10 +783,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18iic4rx82v0wq7criigfsj96dqw3dmdnpqpqwpqy32nn4yh1p2w"; + sha256 = "0pjz4lbv2v0p9fa5nsrxy5lphsixb9a69gq2rxp0h5sr61m18mdq"; type = "gem"; }; - version = "3.3.0"; + version = "3.4.1"; }; thor = { groups = ["default" "development" "test"]; @@ -815,10 +857,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d9hk929cmisix2l1w9kkh05b57ih9yvnh4wv52axxw41scnv2d9"; + sha256 = "1hrkaj4131rh3kq519gkn2lrlpm22f6q5ys1b5fk0v9xm1bm1w78"; type = "gem"; }; - version = "4.1.0"; + version = "4.2.0"; }; webdrivers = { dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"]; diff --git a/package.json b/package.json index 7fcb8a0..8fee3f9 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,15 @@ "name": "janus", "private": true, "dependencies": { + "@babel/preset-react": "^7.16.0", "@rails/actioncable": "^6.0.0", "@rails/activestorage": "^6.0.0", "@rails/ujs": "^6.0.0", "@rails/webpacker": "5.4.3", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", + "prop-types": "^15.7.2", + "react": "^17.0.2", + "react-dom": "^17.0.2", "turbolinks": "^5.2.0", "webpack": "^4.46.0", "webpack-cli": "^3.3.12" diff --git a/shell.nix b/shell.nix index 601851e..9e9b203 100644 --- a/shell.nix +++ b/shell.nix @@ -1,28 +1,13 @@ -with (import {}); +with import {}; -let ruby = ruby_3_0; -in -ruby.withPackages ( -ps: with ps; [ - nokogiri - rails - pg - puma - sass-rails - webpacker - turbolinks - jbuilder - redis - bootsnap - web-console - rack-mini-profiler - listen - spring - capybara - selenium-webdriver - webdrivers - tzinfo-data - devise - dotenv-rails -] -) +stdenv.mkDerivation { + name = "env"; + buildInputs = [ + ruby_3_0.devEnv + libxml2 + libxslt + zlib + bundix + gnumake + ]; +} diff --git a/shell_broken.nix b/shell_broken.nix deleted file mode 100644 index 80a11b0..0000000 --- a/shell_broken.nix +++ /dev/null @@ -1,48 +0,0 @@ -with (import {}); -with builtins; - -let - ruby = ruby_3_0; - minitest = buildRubyGem { - inherit ruby; - gemName = "minitest"; - type = "gem"; - version = "5.10.1"; - source.sha256 = "1yk2m8sp0p5m1niawa3ncg157a4i0594cg7z91rzjxv963rzrwab"; - gemPath = []; - }; - - rake = buildRubyGem { - inherit ruby; - gemName = "rake"; - type = "gem"; - version = "12.0.0"; - source.sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; - gemPath = []; - }; - - srcWithout = rootPath: ignoredPaths: - let - ignoreStrings = map (path: toString path ) ignoredPaths; - in - filterSource (path: type: (all (i: i != path) ignoreStrings)) rootPath; -in - stdenv.mkDerivation { - name = "bundix"; - src = builtins.fetchGit { - url = "https://github.com/jdelStrother/bundix.git"; - ref = "multi-platform"; - }; - phases = "installPhase"; - installPhase = '' - mkdir -p $out - makeWrapper $src/bin/bundix $out/bin/bundix \ - --prefix PATH : "${nix.out}/bin" \ - --prefix PATH : "${nix-prefetch-git.out}/bin" \ - --set GEM_PATH "${bundler}/${bundler.ruby.gemPath}" - ''; - - nativeBuildInputs = [makeWrapper]; - - buildInputs = [bundler ruby minitest rake nix-prefetch-scripts git sqlite libpcap postgresql libxml2 libxslt pkg-config gnumake]; -} diff --git a/yarn.lock b/yarn.lock index 313b14a..cbb5594 100644 --- a/yarn.lock +++ b/yarn.lock @@ -442,6 +442,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" + integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -681,6 +688,39 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-transform-react-display-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" + integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-jsx-development@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" + integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.16.0" + +"@babel/plugin-transform-react-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" + integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/plugin-transform-react-pure-annotations@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" + integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-regenerator@^7.14.5", "@babel/plugin-transform-regenerator@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" @@ -849,6 +889,18 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/preset-react@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" + integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-react-jsx" "^7.16.0" + "@babel/plugin-transform-react-jsx-development" "^7.16.0" + "@babel/plugin-transform-react-pure-annotations" "^7.16.0" + "@babel/runtime@^7.15.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" @@ -1414,6 +1466,11 @@ babel-plugin-polyfill-regenerator@^0.2.3: dependencies: "@babel/helper-define-polyfill-provider" "^0.2.4" +babel-plugin-transform-react-remove-prop-types@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -3800,7 +3857,7 @@ jest-worker@^26.5.0: merge-stream "^2.0.0" supports-color "^7.0.0" -js-tokens@^4.0.0: +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -3977,6 +4034,13 @@ loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5443,6 +5507,15 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + proxy-addr@~2.0.5: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -5571,6 +5644,28 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -5842,6 +5937,14 @@ sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" From 67d4246eea4962b71ced2a06435c5442e9d244bd Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Fri, 10 Dec 2021 14:22:15 -0500 Subject: [PATCH 4/4] fix that --- .gitignore | 4 +++- Gemfile.lock | 11 +++++------ config/database.yml | 6 ++++-- default.nix | 12 ++++++++---- fuck.nix | 24 ------------------------ gemset.nix | 20 +++++++++++++++----- lock.sh | 6 ++++++ shell.nix | 13 ------------- 8 files changed, 41 insertions(+), 55 deletions(-) delete mode 100644 fuck.nix create mode 100755 lock.sh delete mode 100644 shell.nix diff --git a/.gitignore b/.gitignore index bcd1508..e2f8d96 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,6 @@ yarn-debug.log* .yarn-integrity # ignore environment variables -.env \ No newline at end of file +.env +vendor/ +result \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index e08a0ff..33a4bfc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -107,7 +107,7 @@ GEM listen (3.7.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - loofah (2.12.0) + loofah (2.13.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) @@ -116,12 +116,12 @@ GEM matrix (0.4.2) method_source (1.0.0) mini_mime (1.1.2) + mini_portile2 (2.6.1) minitest (5.14.4) msgpack (1.4.2) nio4r (2.5.8) nokogiri (1.12.5) - racc (~> 1.4) - nokogiri (1.12.5-x86_64-linux) + mini_portile2 (~> 2.6.1) racc (~> 1.4) orm_adapter (0.5.0) pg (1.2.3) @@ -194,7 +194,7 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2) semantic_range (3.0.0) - spring (3.1.1) + spring (4.0.0) sprockets (4.0.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -234,7 +234,6 @@ GEM PLATFORMS ruby - x86_64-linux DEPENDENCIES bootsnap (>= 1.4.4) @@ -264,4 +263,4 @@ RUBY VERSION ruby 3.0.2p107 BUNDLED WITH - 2.2.31 + 2.2.33 diff --git a/config/database.yml b/config/database.yml index 0fafb55..8fa22ed 100644 --- a/config/database.yml +++ b/config/database.yml @@ -37,11 +37,11 @@ development: # Connect on a TCP socket. Omitted by default since the client uses a # domain socket that doesn't need configuration. Windows does not have # domain sockets, so uncomment these lines. - #host: localhost + host: localhost # The TCP port the server listens on. Defaults to 5432. # If your server runs on a different port number, change accordingly. - #port: 5432 + port: 5432 # Schema search path. The server defaults to $user,public #schema_search_path: myapp,sharedapp,public @@ -59,6 +59,8 @@ test: <<: *default database: janus_test username: postgres + host: localhost + port: 5432 # As with config/credentials.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is diff --git a/default.nix b/default.nix index 402f610..91970a8 100644 --- a/default.nix +++ b/default.nix @@ -1,13 +1,17 @@ -{stdenv, bundlerEnv, ruby_3_0}: +{pkgs ? import {}}: +with pkgs; let + ruby = ruby_3_0; gems = bundlerEnv { name = "env"; - inherit ruby_3_0; - gemdir = ./.; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = import ./gemset.nix; }; in stdenv.mkDerivation { name = "janus"; src = ./.; - buildInputs = [gems ruby_3_0]; + buildInputs = [gems gems.wrappedRuby yarn]; } diff --git a/fuck.nix b/fuck.nix deleted file mode 100644 index 954056f..0000000 --- a/fuck.nix +++ /dev/null @@ -1,24 +0,0 @@ -{pkgs ? import {}}: -with pkgs; -let - ruby = ruby_3_0; - rubyEnv = bundlerEnv { - name = "project-bundler-env"; - inherit ruby; - gemdir = ./.; - gemfile = ./Gemfile; - lockfile = ./Gemfile.lock; - gemset = ./gemset.nix; - }; -in - mkShell { - nativeBuildInputs = [ - #rubyPackages_3_0.nokogiri - ]; - buildInputs = [ - #rubyPackages_3_0.nokogiri - rubyEnv - rubyEnv.wrappedRuby - yarn - ]; - } diff --git a/gemset.nix b/gemset.nix index d0bb02a..596edf9 100644 --- a/gemset.nix +++ b/gemset.nix @@ -374,10 +374,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw"; + sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg"; type = "gem"; }; - version = "2.12.0"; + version = "2.13.0"; }; mail = { dependencies = ["mini_mime"]; @@ -430,6 +430,16 @@ }; version = "1.1.2"; }; + mini_portile2 = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; + type = "gem"; + }; + version = "2.6.1"; + }; minitest = { groups = ["default" "development" "test"]; platforms = []; @@ -461,7 +471,7 @@ version = "2.5.8"; }; nokogiri = { - dependencies = ["racc"]; + dependencies = ["mini_portile2" "racc"]; groups = ["default" "development" "test"]; platforms = []; source = { @@ -761,10 +771,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w0v6fyic3a4vq1imzcp0x4b3cgbm1gi7jn7qma9768zaqmxv8gw"; + sha256 = "1ihmqcqylfx04bigg0fswmlvp0639f1j47kdir4g9lc76yw3c6ia"; type = "gem"; }; - version = "3.1.1"; + version = "4.0.0"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; diff --git a/lock.sh b/lock.sh new file mode 100755 index 0000000..48294b4 --- /dev/null +++ b/lock.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p ruby_3_0 bundler bundix + +rm -f gemset.nix Gemfile.lock +BUNDLE_FORCE_RUBY_PLATFORM=1 bundle lock +bundix --ruby=ruby_3_0 \ No newline at end of file diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 9e9b203..0000000 --- a/shell.nix +++ /dev/null @@ -1,13 +0,0 @@ -with import {}; - -stdenv.mkDerivation { - name = "env"; - buildInputs = [ - ruby_3_0.devEnv - libxml2 - libxslt - zlib - bundix - gnumake - ]; -}