[{"data":1,"prerenderedAt":388},["ShallowReactive",2],{"project-11536216":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":39,"post_text":41,"what":42,"said":83,"maker_in_thread":180,"shape":187,"grid":192,"attempts":350,"same_week":351,"maker_shows":290,"maker_hidden":380,"reader_version":381,"card":382},"11536216","autochecker","Test your JavaScript modules simultaneously in 32 different versions of Node.js","title","Show HN: Test your JavaScript modules simultaneously in 32 different versions of Node.js","http:\u002F\u002Fvictorbjelkholm.github.io\u002Fautochecker\u002F","victorbjelkholm.github.io","diggan",1461174250,2016,142,61,243,2264,11,"notable","dev_tools","test runner","cli",[24,25,26,27],"nodejs version testing","docker","cross-version testing","javascript testing","loved",0.292,{"positive":31,"neutral":31,"mixed":32,"critical":32},5,1,12,{"design":35,"idea":37,"execution":38},{"positive":36,"critical":36},0,{"positive":32,"critical":36},{"positive":32,"critical":36},[36,31,36,36,36,36,36,36,36,36,36,32,36,40,36,36,31,36,40,40,40,36,31,36,31,36,31,36,36,36,36,36,36,36,36,36,36,36,36,36],3,null,{"problem":43,"audience":50,"pricing":41,"motivation":59,"time_to_build":41,"stack":66,"openness":81,"stage":82,"team_size":82},{"value":44,"source":45,"evidence":46},"Checking that JS CLI modules work across the Node versions the author wants to support","maker",[47],{"id":48,"by":11,"text":49},"11536384","This is a utility I build to be able to make sure my JS CLI's actually work across the version I want to support. Right now, the tool also works across any language where there…",{"value":51,"source":52,"evidence":53},"JavaScript and Node.js module developers","inferred",[54,55],{"id":48,"by":11,"text":49},{"id":56,"by":57,"text":58},"11536432","caffeinewriter","This is definitely something that's needed, by myself, and many other developers. Determining module compatibility across versions is always a pain. Great tool!",{"value":60,"source":45,"evidence":61},"Author needed to test his own JS CLI across supported Node versions",[62,63],{"id":48,"by":11,"text":49},{"id":64,"by":11,"text":65},"11536505","Thanks a lot for those kind words! Yeah, it was needed by myself as well, so I had to scratch my own itch for a while.",[67,73,77],{"value":68,"source":45,"evidence":69},"Docker",[70],{"id":71,"by":11,"text":72},"11540417","Yes, it can indeed. I have three reasons for not doing it though. The first is that nvm is nodejs specific and since I knew I wanted it to eventually work with multiple…",{"value":74,"source":45,"evidence":75},"Dockerode",[76],{"id":71,"by":11,"text":72},{"value":78,"source":45,"evidence":79},"Node.js",[80],{"id":48,"by":11,"text":49},"open_source","unknown",{"praise":84,"objections":94,"requests":117,"questions":132,"alternatives":147},[85],{"value":86,"source":87,"evidence":88},"Useful tool many developers need for module compatibility","commenter",[89,90],{"id":56,"by":57,"text":58},{"id":91,"by":92,"text":93},"11536888","nosefrog","This is great! Nice work.",[95,106,110],{"value":96,"source":87,"evidence":97},"32 Node versions is excessive; most breaks are not backward incompatible",[98,102],{"id":99,"by":100,"text":101},"11538455","colanderman","I don't think the issue is that they've released multiple versions, it's more that they've had so many backward-incompatible releases. Python and OCaml have had 3 each. Libc has…",{"id":103,"by":104,"text":105},"11538896","AgentME","There have only been 3 major releases with known backwards-incompatible changes. The reason you would want to test your code in so many versions of Node would be to check that…",{"value":107,"source":87,"evidence":108},"Testing this many versions is overkill for most people",[109],{"id":103,"by":104,"text":105},{"value":111,"source":87,"evidence":112},"Problem reflects poor software practice in general",[113],{"id":114,"by":115,"text":116},"11536495","raould42","Frankly, I feel like this is an indictment of all software development, everywhere. When you need to do this kind of a thing, you are doing it wrong. I do not mean I am doing it…",[118,125],{"value":119,"source":87,"evidence":120},"Run as a hosted service without installing Docker",[121],{"id":122,"by":123,"text":124},"11538386","pedalpete","Have you thought of running this as a service? Would be nice to just through an NPM module at it and make sure it will run across multiple versions. Without having to install…",{"value":126,"source":87,"evidence":127},"Add binary search to find breaking versions",[128],{"id":129,"by":130,"text":131},"11537029","rrobukef","Would you implement binary search? A feature like git-bisect could be usefull to find breaking changes.",[133,140],{"value":134,"source":87,"evidence":135},"Why use Docker instead of nvm with sandboxing",[136],{"id":137,"by":138,"text":139},"11539185","caffinatedmonk","Just out of curiosity, can't this be implemented with `nvm` and some sand boxing? Why did you choose to use docker?",{"value":141,"source":87,"evidence":142},"Why test 32 versions instead of one",[143],{"id":144,"by":145,"text":146},"11540469","eikenberry","I'm more intereted in why would you need to test against 32 versions of node.js? Doesn't it maintain backwards compatibility? Shouldn't testing against one version cover it?",[148,152,159,166,173],{"value":149,"source":87,"evidence":150},"nvm with sandboxing",[151],{"id":137,"by":138,"text":139},{"value":153,"source":87,"evidence":154},"cpantesters",[155],{"id":156,"by":157,"text":158},"11538724","greglindahl","Other languages have this sort of test service available for open-source modules. One example is cpantesters.org, which is integrated into Perl's package repository. Not only is…",{"value":160,"source":87,"evidence":161},"tox for Python",[162],{"id":163,"by":164,"text":165},"11538324","civilian","Python has a great tool called Tox for testing on multiple python versions: https:\u002F\u002Ftox.readthedocs.org\u002Fen\u002Flatest\u002F",{"value":167,"source":87,"evidence":168},"chimera",[169],{"id":170,"by":171,"text":172},"11537697","jgillich","A few months ago, I wrote something similar with the goal to test on multiple Linux distributions: https:\u002F\u002Fgithub.com\u002Fjgillich\u002Fchimera It however doesn't execute the containers…",{"value":174,"source":87,"evidence":175},"dunit for PHP",[176],{"id":177,"by":178,"text":179},"11536914","jdjb","Very nice project. I built something similar for PHP: https:\u002F\u002Fgithub.com\u002Fvectorface\u002Fdunit",{"comments":33,"answered":40,"key":181},[182,183,184],{"id":48,"text":49},{"id":71,"text":72},{"id":185,"text":186},"11537683","That is absolutely true, 32 versions is not all versions of node, but it's the number of tags from the mhart\u002Falpine-node[1] docker images that autochecker is using for the…",{"commenters":188,"max_depth":189,"maker_replies":33,"first_comment_mins":190,"lifespan_hours":191},45,6,20,64,[193,195,197,199,200,204,207,210,213,216,219,220,223,225,228,231,234,236,238,240,243,244,246,248,251,252,253,256,257,259,261,264,268,271,274,276,278,282,284,288,292,296,298,301,304,307,308,310,313,316,319,322,326,329,331,334,336,339,342,345,348],[48,36,36,194,11,32],"project\u002Fneutral\u002Fnone",[91,36,31,196,92,36],"project\u002Fpositive\u002Fnone",[137,36,40,198,138,36],"project\u002Fneutral\u002Fdesign",[71,36,36,198,11,32],[201,32,36,202,203,36],"11536632","other\u002Fneutral\u002Fnone","geophile",[205,32,36,202,206,36],"11536678","mayank",[208,32,36,202,209,36],"11536839","stronglikedan",[211,32,36,202,212,36],"11537266","swalsh",[214,32,36,202,215,36],"11538546","tomc1985",[217,32,36,202,218,36],"11537401","tlrobinson",[185,32,36,194,11,32],[221,32,36,202,222,36],"11537854","coolmitch",[99,32,36,224,100,36],"commenter\u002Fneutral\u002Fnone",[226,32,36,224,227,36],"11538535","lucideer",[229,32,36,224,230,36],"11540285","merb",[232,32,36,202,233,36],"11538540","Nadya",[235,32,36,224,218,36],"11538826",[103,32,32,237,104,36],"project\u002Fcritical\u002Fnone",[239,32,36,224,104,36],"11543163",[241,32,36,202,242,36],"11537935","kafkaesq",[144,32,40,194,145,36],[177,245,36,202,178,36],2,[247,245,36,224,11,32],"11536934",[249,245,36,202,250,36],"11539905","tdvorak",[56,40,31,196,57,36],[64,40,36,224,11,32],[254,255,36,194,11,32],"11554818",4,[122,31,40,198,123,36],[156,31,40,258,157,36],"project\u002Fneutral\u002Fidea",[260,31,36,258,11,32],"11540425",[262,31,36,263,11,32],"11540432","project\u002Fneutral\u002Fpricing",[265,189,40,266,267,36],"11537731","project\u002Fmixed\u002Fexecution","full-of-foo",[269,189,36,270,11,32],"11540438","project\u002Fneutral\u002Fexecution",[170,272,31,273,171,36],7,"project\u002Fpositive\u002Fexecution",[129,275,40,258,130,36],8,[277,275,36,258,11,32],"11537067",[279,275,31,280,281,36],"11538171","project\u002Fpositive\u002Fidea","shiift",[283,275,36,258,11,32],"11549623",[285,286,36,202,287,36],"11538131",9,"rcarmo",[289,290,36,202,291,36],"11537263",10,"topherbullock",[293,18,31,294,295,36],"11536837","maker\u002Fpositive\u002Fnone","orliesaurus",[114,33,36,297,115,36],"other\u002Fcritical\u002Fnone",[299,33,36,202,300,36],"11536510","nemild",[302,33,36,202,303,36],"11537431","tobltobs",[305,33,36,224,306,36],"11538054","nilliams",[163,33,36,202,164,36],[309,33,36,202,11,32],"11536523",[311,33,36,202,312,36],"11536708","andreasklinger",[314,33,36,202,315,36],"11538168","ludamad",[317,33,36,202,318,36],"11536739","minsight",[320,33,36,202,321,36],"11536863","coenhyde",[323,324,36,297,325,36],"11537565",13,"erikpukinskis",[327,324,36,202,328,36],"11537626","aeharding",[330,324,36,202,325,36],"11537903",[332,324,36,224,333,36],"11538391","mschuster91",[335,324,36,202,325,36],"11545603",[337,324,36,224,338,36],"11538158","pluma",[340,324,36,224,341,36],"11537640","maaaats",[343,324,36,224,344,36],"11537678","DrJokepu",[346,324,36,202,347,36],"11540230","CiaranMcNulty",[349,324,36,224,325,36],"11545611",[],[352,357,362,367,372,375],{"id":353,"name":354,"points":355,"category":356},"11520378","Barnacl.es",382,"productivity",{"id":358,"name":359,"points":360,"category":361},"11509835","PodcastRank",367,"consumer_social",{"id":363,"name":364,"points":365,"category":366},"11517667","FIND",183,"infrastructure",{"id":368,"name":369,"points":370,"category":371},"11527156","BedquiltDB",145,"data",{"id":373,"name":374,"points":370,"category":361},"11527541","Simple Postcard",{"id":376,"name":377,"points":378,"category":379},"11527347","Painless1099",92,"web_saas",false,"v2",{"id":383,"name":5,"line":6,"ai":380,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":384,"top":18,"kw":385,"maker":11,"domain":10,"tier":19,"attempts":36,"strip":386,"url":9,"mix":387,"praise":86,"objection":96,"sub":21},11536216,0.29,[24,25,26,27],"0500000000010300503330505050000000000000",[31,31,32,32],1794036543557]