[{"data":1,"prerenderedAt":178},["ShallowReactive",2],{"project-8197988":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":38,"post_text":29,"what":40,"said":62,"maker_in_thread":111,"shape":119,"grid":122,"attempts":141,"same_week":142,"maker_shows":33,"maker_hidden":171,"reader_version":172,"card":173},"8197988","Esperanto","Convert ES6 modules to AMD, CommonJS","title","Show HN: Esperanto – Convert ES6 modules to AMD, CommonJS","http:\u002F\u002Fwww.rich-harris.co.uk\u002Fesperanto\u002F","rich-harris.co.uk","rich_harris",1408463591,2014,28,9,1030,2272,46,"shown","dev_tools","module transpiler","cli",[24,25,26,21,27],"es6 modules","amd","commonjs","javascript","quiet",null,{"positive":31,"neutral":31,"mixed":32,"critical":31},1,0,3,{"execution":35,"docs":36,"idea":37},{"positive":32,"critical":31},{"positive":32,"critical":32},{"positive":31,"critical":32},[31,32,32,32,32,32,33,32,39],5,{"problem":41,"audience":29,"pricing":29,"motivation":48,"time_to_build":29,"stack":53,"openness":60,"stage":61,"team_size":60},{"value":42,"source":43,"evidence":44},"Converting ES6 module syntax into AMD or CommonJS for older module loaders","commenter",[45],{"id":46,"by":11,"text":47},"8198457","I'm very grateful to the authors of es6-module-transpiler - we've been using it in production for some time. But I ended up writing Esperanto anyway because the recent versions…",{"value":49,"source":50,"evidence":51},"Existing transpiler es6-module-transpiler does not map one-to-one input to output, which breaks use with AMD modules in a separate vendor folder","maker",[52],{"id":46,"by":11,"text":47},[54],{"value":55,"source":56,"evidence":57},"JavaScript","inferred",[58],{"id":59},"post","unknown","beta",{"praise":63,"objections":78,"requests":86,"questions":97,"alternatives":102},[64,71],{"value":65,"source":43,"evidence":66},"Useful for understanding ES6 syntax differences through example conversions",[67],{"id":68,"by":69,"text":70},"8198224","jbish","Nice work. Just going through the example conversions is helpful in understanding some of the syntax differences. I'm a bit confused by the Named imports example though. What is…",{"value":72,"source":43,"evidence":73},"Single source format with ports to other formats is a cleaner solution than UMD boilerplate",[74],{"id":75,"by":76,"text":77},"8198219","nailer","Neat. Maintain things in a single format, port to other formats as needed. I've used UMD before but that's a lot of ugly boilerplate - something external is a much cleaner…",[79],{"value":80,"source":43,"evidence":81},"Does not handle module cycles, so output can fail where es6-module-transpiler works",[82],{"id":83,"by":84,"text":85},"8198542","avolcano","One of the reasons this is so relatively simple is that it doesn't appear to handle cycles like es6-module-transpiler does. See the test case here:…",[87,91],{"value":88,"source":43,"evidence":89},"Clearer explanation of the __imports_0 variable in named imports output",[90],{"id":68,"by":69,"text":70},{"value":92,"source":50,"evidence":93},"Cycle support, possibly behind an option",[94],{"id":95,"by":11,"text":96},"8198630","Interesting, thanks for the test case - I believe I can add support for cycles with the current approach (though I'd put it behind an option, since get default() excludes older…",[98],{"value":99,"source":43,"evidence":100},"What is the purpose of the __imports_0 variable in the AMD and CommonJS output",[101],{"id":68,"by":69,"text":70},[103],{"value":104,"source":43,"evidence":105},"es6-module-transpiler",[106,110],{"id":107,"by":108,"text":109},"8198373","rerooting","I've been using the repo below with ember which has been really powerful. There are grunt, gulp and broccoli plugins, too. It'd built into ember-cli where we are spoiled by the…",{"id":83,"by":84,"text":85},{"comments":112,"answered":31,"key":113},4,[114,115,118],{"id":95,"text":96},{"id":116,"text":117},"8198714","That's very useful, thank you.",{"id":46,"text":47},{"commenters":39,"max_depth":112,"maker_replies":112,"first_comment_mins":120,"lifespan_hours":121},36,2,[123,125,127,130,131,133,135,137,139],[83,32,31,124,84,32],"project\u002Fcritical\u002Fexecution",[95,32,32,126,11,31],"maker\u002Fneutral\u002Fexecution",[128,32,32,129,84,32],"8198649","commenter\u002Fneutral\u002Fnone",[116,32,32,129,11,31],[107,31,32,132,108,32],"other\u002Fneutral\u002Fnone",[46,31,32,134,11,31],"project\u002Fneutral\u002Fidea",[68,121,33,136,69,32],"project\u002Fneutral\u002Fdocs",[138,121,32,136,11,31],"8198358",[75,33,39,140,76,32],"project\u002Fpositive\u002Fidea",[],[143,148,153,158,163,167],{"id":144,"name":145,"points":146,"category":147},"8187791","GIFyoutube",577,"creative",{"id":149,"name":150,"points":151,"category":152},"8178660","Tuff.gb",260,"games",{"id":154,"name":155,"points":156,"category":157},"8192801","Satellizer",221,"languages",{"id":159,"name":160,"points":161,"category":162},"8178940","Ad Detector",204,"security_privacy",{"id":164,"name":165,"points":166,"category":157},"8192287","Scraperjs",192,{"id":168,"name":169,"points":170,"category":157},"8176672","Way.js",162,false,"v2",{"id":174,"name":5,"line":6,"ai":171,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":175,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":176,"url":9,"mix":177,"praise":65,"objection":80,"sub":21},8197988,[24,25,26,21,27],"100000305",[31,31,32,31],1794036521613]