[{"data":1,"prerenderedAt":258},["ShallowReactive",2],{"project-18967693":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":15,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":39,"post_text":42,"what":43,"said":86,"maker_in_thread":173,"shape":182,"grid":186,"attempts":219,"same_week":220,"maker_shows":30,"maker_hidden":250,"reader_version":251,"card":252},"18967693","Esy","fast and simple package management for native ReasonML\u002FOCaml","title","Show HN: Esy – fast and simple package management for native ReasonML\u002FOCaml","https:\u002F\u002Fesy.sh","esy.sh","andreypopp",1548159083,2019,134,16,338,2195,"notable","dev_tools","package manager","cli",[20,23,24,25,26],"reasonml","ocaml","native dependencies","opam","curious",0.083,{"positive":30,"neutral":31,"mixed":32,"critical":30},1,6,0,8,{"design":35,"idea":36,"execution":37,"privacy":38},{"positive":32,"critical":32},{"positive":32,"critical":32},{"positive":30,"critical":32},{"positive":32,"critical":30},[32,40,32,40,32,40,32,40,32,41,32,40,40,32,30,32],3,5,null,{"problem":44,"audience":51,"pricing":42,"motivation":59,"time_to_build":42,"stack":63,"openness":84,"stage":85,"team_size":85},{"value":45,"source":46,"evidence":47},"No per-project isolated dependencies for native OCaml\u002FReason development like npm provides for JS.","maker",[48],{"id":49,"by":11,"text":50},"18967781","Hi, I'm one of the developers of esy, would be happy to answer any questions about it. I have background in JS ecosystem and always liked how npm\u002Fyarn allows you to have a set of…",{"value":52,"source":46,"evidence":53},"Native ReasonML and OCaml developers.",[54,55],{"id":49,"by":11,"text":50},{"id":56,"by":57,"text":58},"18969914","bryanphe","Just wanted to say thank you for all your work on this, Andrey! I've been using for developing native projects with ReasonML \u002F OCaml (on Windows!) - a framework called Revery [1]…",{"value":60,"source":46,"evidence":61},"Bring npm-style per-project dependency workflow to native development.",[62],{"id":49,"by":11,"text":50},[64,68,72,76,80],{"value":65,"source":46,"evidence":66},"OCaml",[67],{"id":49,"by":11,"text":50},{"value":69,"source":46,"evidence":70},"Reason",[71],{"id":49,"by":11,"text":50},{"value":73,"source":46,"evidence":74},"dune",[75],{"id":49,"by":11,"text":50},{"value":77,"source":46,"evidence":78},"npm registry",[79],{"id":49,"by":11,"text":50},{"value":81,"source":46,"evidence":82},"opam registry",[83],{"id":49,"by":11,"text":50},"open_source","unknown",{"praise":87,"objections":106,"requests":123,"questions":139,"alternatives":155},[88,93,98],{"value":89,"source":90,"evidence":91},"Gives npm\u002Fyarn convenience for native development, cross-platform.","commenter",[92],{"id":56,"by":57,"text":58},{"value":94,"source":90,"evidence":95},"Smart build caching shared across projects.",[96,97],{"id":56,"by":57,"text":58},{"id":49,"by":11,"text":50},{"value":99,"source":90,"evidence":100},"Link workflow useful for multi-package development.",[101,102],{"id":56,"by":57,"text":58},{"id":103,"by":104,"text":105},"18968078","jasim","Hi Andrey, can you tell me if this understanding is correct - ? I can use Esy to write native OCaml\u002FReason, but has no use in a compile-to-js environment - there it is npm\u002Fyarn.…",[107,113],{"value":108,"source":46,"evidence":109},"Does not work with BuckleScript yet due to pnp installation.",[110],{"id":111,"by":11,"text":112},"18980524","Hi Ben, > It looks like a nice project, but I'm still a little confused about its purpose. You mention your JS background, so is it all about familiarity to npm? I think…",{"value":114,"source":90,"evidence":115},"Build reproducibility and signature verification are incomplete.",[116,120],{"id":117,"by":118,"text":119},"18977555","Foxboron","I'm having a hard time figuring out if esy supports reproducable builds, and package signing+verfication. And if reproducable builds are supported, what format is used to store…",{"id":121,"by":118,"text":122},"18978103","And how is the build env recorded for timestamps and env variables? Is all of this standardized? >we do only integrity checks now for packages downloaded from npm and via opam…",[124,128,132],{"value":125,"source":90,"evidence":126},"Package signing and verification against keys.",[127],{"id":121,"by":118,"text":122},{"value":129,"source":90,"evidence":130},"Video tutorial.",[131],{"id":103,"by":104,"text":105},{"value":133,"source":90,"evidence":134},"Support for comments in config format.",[135],{"id":136,"by":137,"text":138},"18967940","bjz_","Awesome work! I've not had the greatest experience with Opam in the past for the reasons you mention - after using Cargo for a long time, it was a bit of a shock! This could do…",[140,144,151],{"value":141,"source":90,"evidence":142},"Does it support Coq projects?",[143],{"id":136,"by":137,"text":138},{"value":145,"source":90,"evidence":146},"Can it be used with BuckleScript?",[147],{"id":148,"by":149,"text":150},"18979148","benkb8","hi Andrey, thanks for yor work on esy, everytime it comes up I have a look at the documentation and the latest developments. It looks like a nice project, but I'm still a little…",{"value":152,"source":90,"evidence":153},"Does it support reproducible builds?",[154],{"id":117,"by":118,"text":119},[156,161,165,169],{"value":157,"source":90,"evidence":158},"opam with dune",[159,160],{"id":103,"by":104,"text":105},{"id":111,"by":11,"text":112},{"value":162,"source":90,"evidence":163},"npm\u002Fyarn",[164],{"id":103,"by":104,"text":105},{"value":166,"source":46,"evidence":167},"Nix",[168],{"id":49,"by":11,"text":50},{"value":170,"source":90,"evidence":171},"Cargo",[172],{"id":136,"by":137,"text":138},{"comments":33,"answered":41,"key":174},[175,176,179],{"id":49,"text":50},{"id":177,"text":178},"18967963","> - Is there any issues with sharing the same config file with another package manager? Ie. `package.json`? esy can install JS dependencies just fine but we are supporting…",{"id":180,"text":181},"18968165","> I can use Esy to write native OCaml\u002FReason, but has no use in a compile-to-js environment - there it is npm\u002Fyarn. If you use js_of_ocaml (a compiler from OCaml\u002FReason to JS)…",{"commenters":183,"max_depth":41,"maker_replies":33,"first_comment_mins":184,"lifespan_hours":185},7,20,32,[187,189,191,192,193,194,195,196,198,200,202,205,209,211,214,216],[49,32,32,188,11,30],"project\u002Fneutral\u002Fidea",[136,32,40,190,137,32],"project\u002Fneutral\u002Fdesign",[177,32,32,190,11,30],[103,32,40,188,104,32],[180,32,32,190,11,30],[148,32,40,188,149,32],[111,32,32,188,11,30],[197,32,40,188,149,32],"18982504",[199,32,32,190,11,30],"18982639",[56,30,41,201,57,32],"maker\u002Fpositive\u002Fexecution",[203,30,32,204,11,30],"18972272","commenter\u002Fneutral\u002Fnone",[206,207,40,188,208,32],"18978959",2,"e12e",[117,40,40,210,118,32],"project\u002Fneutral\u002Fprivacy",[212,40,32,213,11,30],"18977613","project\u002Fneutral\u002Fexecution",[121,40,30,215,118,32],"project\u002Fcritical\u002Fprivacy",[217,40,32,218,11,30],"18978297","project\u002Fneutral\u002Fdocs",[],[221,226,231,236,241,245],{"id":222,"name":223,"points":224,"category":225},"18975189","Simple Opt Out",233,"security_privacy",{"id":227,"name":228,"points":229,"category":230},"18965729","2read",198,"productivity",{"id":232,"name":233,"points":234,"category":235},"18939145","indigo-player",151,"creative",{"id":237,"name":238,"points":239,"category":240},"18940407","Musish",141,"consumer_social",{"id":242,"name":243,"points":244,"category":19},"18954890","mini-async-log",131,{"id":246,"name":247,"points":248,"category":249},"18929742","Json2graphql",120,"infrastructure",false,"v2",{"id":253,"name":5,"line":6,"ai":250,"cat":19,"year":13,"points":14,"comments":15,"rec":27,"s":254,"top":15,"kw":255,"maker":11,"domain":10,"tier":18,"attempts":32,"strip":256,"url":9,"mix":257,"praise":89,"objection":108,"sub":20},18967693,0.08,[20,23,24,25,26],"0303030305033010",[30,31,32,30],1794036574185]