[{"data":1,"prerenderedAt":745},["ShallowReactive",2],{"project-14583882":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":29,"sentiment":30,"stance_mix":31,"scored_comments":34,"aspects":35,"strip":40,"post_text":41,"what":42,"said":62,"maker_in_thread":138,"shape":147,"grid":151,"attempts":706,"same_week":707,"maker_shows":488,"maker_hidden":737,"reader_version":738,"card":739},"14583882","Decaffeinate","Decaffeinate converts CoffeeScript projects to modern JS","title","Show HN: Decaffeinate converts CoffeeScript projects to modern JS","https:\u002F\u002Fgithub.com\u002Fdecaffeinate\u002Fdecaffeinate","github.com","alangpierce",1497833591,2017,361,219,46,2242,3,"legend","languages","source code converter","cli",[24,25,26,27,28],"coffeescript","es6","javascript","transpiler","migration","debated",0.034,{"positive":32,"neutral":32,"mixed":33,"critical":32},5,0,15,{"idea":36,"design":38,"performance":39},{"positive":18,"critical":37},1,{"positive":33,"critical":18},{"positive":33,"critical":37},[33,33,33,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,37,33,33,33,33,33,33,33,33,32,33,37,37,33,33,33,18,18,33,32],null,{"problem":43,"audience":41,"pricing":41,"motivation":41,"time_to_build":41,"stack":53,"openness":59,"stage":60,"team_size":61},{"value":44,"source":45,"evidence":46},"Moving existing CoffeeScript codebases to modern JavaScript","maker",[47,50],{"id":48,"by":11,"text":49},"14584266","Yeah, \"modern JS\" is meant to be the catch-all term for ES6\u002FES7\u002FES2015\u002FES2016\u002FES2017. In this case, you need ES2016 to run code produced by decaffeinate, but anything in the…",{"id":51,"by":11,"text":52},"14584295","You lose a lot of information going from CS -> ES5 -> ES6, so decaffeinate has an inherent advantage since it knows your original code. With decaffeinate, it converts classes to…",[54],{"value":55,"source":56,"evidence":57},"JavaScript","inferred",[58],{"id":48,"by":11,"text":49},"open_source","launched","unknown",{"praise":63,"objections":74,"requests":96,"questions":104,"alternatives":112},[64,68],{"value":65,"source":45,"evidence":66},"Produces readable JavaScript and does better than the CoffeeScript compiler output",[67],{"id":48,"by":11,"text":49},{"value":69,"source":45,"evidence":70},"Useful for large CoffeeScript codebases, e.g. Atom's migration",[71],{"id":72,"by":11,"text":73},"14584534","They're already using JavaScript for all new code, and gradually converting their existing code over using decaffeinate (e.g.…",[75,84],{"value":76,"source":45,"evidence":77},"Soak operations and CJSX conversion produce messy output",[78,81],{"id":79,"by":11,"text":80},"14587273","> You mean only ES2016 from that list? No, I was intentional about my description. People tend to be informal when talking about JS versions, and all five of those terms might be…",{"id":82,"by":11,"text":83},"14587575","Take a look at depercolator, it's a wrapper around cjsx-transform, decaffeinate, and some other things: https:\u002F\u002Fgithub.com\u002Fbugsnag\u002Fdepercolator There's an open decaffeinate bug…",{"value":85,"source":86,"evidence":87},"Question whether moving away from CoffeeScript is needed","commenter",[88,92],{"id":89,"by":90,"text":91},"14584609","blitmap","I don't understand the trend to move from Coffeescript to ES6. I like both, but I write Coffeescript for its concision. I have no issue compiling Coffeescript to ES6 as a…",{"id":93,"by":94,"text":95},"14586506","andrew_wc_brown","I love CS and I see myself using it for another 5 years. The aversion developers have had to CS never were legit reasons. If you put all your time in ES6 and CS, I think you'll…",[97],{"value":98,"source":86,"evidence":99},"CJSX to JSX support",[100],{"id":101,"by":102,"text":103},"14587176","scotty79","Last time I tried it did not support cjsx -> jsx, as far as I can tell, so it's useless for migrating React code bases.",[105],{"value":106,"source":86,"evidence":107},"Can it convert to TypeScript?",[108],{"id":109,"by":110,"text":111},"14588053","aphextron","I love this. We've truly come full circle. Does it support a compile to Typescript step?",[113,120,131],{"value":114,"source":86,"evidence":115},"lebab",[116],{"id":117,"by":118,"text":119},"14584274","leeoniya","how is this different than running the compiled CS output through lebab [1]? [1] https:\u002F\u002Fgithub.com\u002Flebab\u002Flebab",{"value":121,"source":86,"evidence":122},"CoffeeScript 2",[123,127],{"id":124,"by":125,"text":126},"14587911","rattray","The folks behind this have been at it a long time. I first used decaffeinate over 18mo ago and while it was already quite helpful then, it's come a tremendous distance since.…",{"id":128,"by":129,"text":130},"14588101","YamiOdymel","People might not know but CoffeeScript 2 is out already and supports the ES6 syntaxes. I've been using it for a large Vue.js SPA (with webpack) and some small projects, it really…",{"value":132,"source":86,"evidence":133},"invig.io",[134],{"id":135,"by":136,"text":137},"14585280","kvz","Shameful plug: http:\u002F\u002Finvig.io is a a wrapper around decaffinate, lebab, prettier, eslint, to to squeeze more modernness out of legacy js\u002Fcoffeescript codebases and make them…",{"comments":139,"answered":140,"key":141},10,7,[142,145,146],{"id":143,"text":144},"14587511","Cool, I hadn't seen that! bulk-decaffeinate is a wrapper around decaffeinate, jscodeshift, and eslint with a similar goal. And I've certainly thought about incorporating lebab…",{"id":48,"text":49},{"id":79,"text":80},{"commenters":148,"max_depth":139,"maker_replies":139,"first_comment_mins":149,"lifespan_hours":150},116,91,233,[152,154,157,160,163,165,167,170,172,174,177,180,184,187,190,192,194,197,200,203,206,208,210,213,216,218,221,224,226,229,232,236,239,241,243,246,249,253,256,258,260,263,265,268,270,272,274,276,278,281,284,286,288,290,292,295,297,300,302,304,307,309,311,314,316,319,322,325,328,331,334,337,339,341,344,346,348,350,352,355,358,360,363,366,368,370,374,377,380,382,385,388,391,393,396,399,402,405,408,411,414,416,418,420,423,426,428,431,434,437,440,443,445,448,451,453,455,457,459,462,465,469,471,473,475,477,479,482,484,487,489,491,494,497,500,504,507,509,512,514,517,519,522,525,528,531,534,535,538,541,543,545,549,551,555,559,562,564,567,569,571,574,576,578,580,584,589,590,593,594,596,599,603,606,609,611,612,614,616,618,621,625,627,630,634,636,638,641,643,645,647,649,650,654,656,658,662,664,667,668,672,675,678,680,682,685,687,690,693,695,699,702],[89,33,33,153,90,33],"other\u002Fneutral\u002Fnone",[155,33,33,153,156,33],"14584638","devoply",[158,33,33,153,159,33],"14584644","sghiassy",[161,33,33,162,156,33],"14584662","commenter\u002Fneutral\u002Fnone",[164,33,33,162,159,33],"14585382",[166,33,33,162,156,33],"14585464",[168,33,33,162,169,33],"14585803","carc1n0gen",[171,33,33,162,159,33],"14590798",[173,33,33,162,169,33],"14604233",[175,33,33,153,176,33],"14586480","tmat",[178,33,33,153,179,33],"14584645","yojo",[181,33,33,182,183,33],"14585343","other\u002Fneutral\u002Fidea","jononor",[185,33,33,153,186,33],"14585740","koolba",[188,33,33,162,189,33],"14587747","molszanski",[191,33,33,162,183,33],"14598107",[193,33,33,162,189,33],"14587307",[195,33,33,196,183,33],"14598131","commenter\u002Fneutral\u002Fdocs",[198,33,32,199,125,33],"14587656","project\u002Fpositive\u002Fidea",[201,33,33,182,202,33],"14585418","xiaoma",[204,33,33,162,205,33],"14585938","masklinn",[207,33,33,162,202,33],"14587508",[209,33,33,162,205,33],"14587908",[211,33,33,162,212,33],"14592250","maxscam",[214,33,33,162,215,33],"14586171","mavdi",[217,33,33,162,205,33],"14586404",[219,33,33,162,220,33],"14586648","striking",[222,33,33,162,223,33],"14587199","joshuacc",[225,33,33,162,202,33],"14586901",[227,33,33,153,228,33],"14586452","Eridrus",[230,33,33,153,231,33],"14584719","cbhl",[233,33,33,234,235,33],"14584856","other\u002Fcritical\u002Fnone","theprotocol",[237,33,33,234,238,33],"14585512","tomelders",[240,33,33,153,235,33],"14585602",[242,33,33,234,238,33],"14585628",[244,33,33,234,245,33],"14585825","ENGNR",[247,33,33,153,248,33],"14586054","Klathmon",[250,33,33,251,252,33],"14586841","commenter\u002Fcritical\u002Fnone","jeremyjh",[254,33,33,162,255,33],"14587346","insin",[257,33,33,162,252,33],"14591434",[259,33,33,153,238,33],"14586904",[261,33,33,153,262,33],"14585624","allover",[264,33,33,153,238,33],"14585641",[266,33,33,251,267,33],"14586624","simon83",[269,33,33,251,235,33],"14586816",[271,33,33,162,267,33],"14587025",[273,33,33,251,235,33],"14587183",[275,33,33,162,267,33],"14587366",[277,33,33,162,235,33],"14587522",[279,33,33,162,280,33],"14595906","braveo",[282,33,33,162,283,33],"14593877","Lyrkan",[285,33,33,162,235,33],"14597611",[287,33,33,251,238,33],"14586846",[289,33,33,162,267,33],"14587070",[291,33,33,162,280,33],"14595914",[293,33,33,153,294,33],"14585547","mythz",[296,33,33,153,235,33],"14585584",[298,33,33,153,299,33],"14586133","lloydjatkinson",[301,33,33,153,235,33],"14586277",[303,33,33,153,176,33],"14586472",[305,33,33,153,306,33],"14586499","invaliduser",[308,33,33,162,235,33],"14586965",[310,33,33,162,306,33],"14592965",[312,33,33,162,313,33],"14587583","DavidWoof",[315,33,33,162,235,33],"14587605",[317,33,33,153,318,33],"14592754","mvindahl",[320,33,33,153,321,33],"14584978","inimino",[323,33,33,153,324,33],"14585262","superplussed",[326,33,33,153,327,33],"14585746","watson",[329,33,33,153,330,33],"14585834","kidmenot",[332,33,33,162,333,33],"14586155","stdbrouw",[335,33,33,162,336,33],"14586906","vinceguidry",[338,33,33,162,280,33],"14595804",[340,33,33,162,330,33],"14604802",[342,33,33,162,343,33],"14586932","hderms",[345,33,33,162,336,33],"14589000",[347,33,33,162,321,33],"14592346",[349,33,33,162,212,33],"14592260",[351,33,33,162,330,33],"14604765",[353,33,33,153,354,33],"14584984","coldtea",[356,33,33,162,357,33],"14585270","uranian",[359,33,33,162,354,33],"14585433",[361,33,33,153,362,33],"14587572","o_____________o",[364,33,33,153,365,33],"14588497","MrLeap",[367,33,33,153,362,33],"14656830",[369,33,33,153,365,33],"14596034",[371,37,33,372,373,33],"14585515","other\u002Fmixed\u002Fnone","matthewmacleod",[375,37,33,153,376,33],"14585775","s_kilk",[378,37,33,153,379,33],"14585811","chx",[381,37,33,153,373,33],"14585941",[383,37,33,162,384,33],"14586187","udp",[386,37,33,153,387,33],"14586066","roblabla",[389,37,33,162,390,33],"14586184","jholman",[392,37,33,153,205,33],"14586392",[394,37,33,162,395,33],"14586426","zajd",[397,37,33,162,398,33],"14599161","ravenstine",[400,37,33,153,401,33],"14585823","ulucs",[403,37,33,153,404,33],"14595247","horsawlarway",[406,37,33,153,407,33],"14586075","teknologist",[409,37,33,162,410,33],"14586591","icholy",[412,37,33,153,413,33],"14587565","dmix",[415,37,33,162,373,33],"14588148",[417,37,33,153,413,33],"14589413",[419,37,33,162,407,33],"14592879",[421,37,33,162,422,33],"14586799","ojr",[424,37,33,153,425,33],"14586863","baby",[427,37,33,153,413,33],"14587599",[429,37,33,153,430,33],"14590570","ralmidani",[432,37,37,433,212,33],"14592198","project\u002Fcritical\u002Fidea",[435,37,33,162,436,33],"14597515","yellowapple",[438,37,33,153,439,33],"14587646","buchanaf",[441,37,33,153,442,33],"14588558","scaryclam",[444,37,33,162,212,33],"14592213",[446,37,33,153,447,33],"14607264","z3t4",[449,37,33,153,450,33],"14586255","rpeden",[452,37,33,153,373,33],"14586511",[454,37,33,153,125,33],"14587611",[456,37,33,153,373,33],"14588288",[458,37,33,153,125,33],"14589423",[460,37,33,153,461,33],"14590908","likeclockwork",[463,37,33,153,464,33],"14587615","WalterSear",[466,37,33,467,468,33],"14588188","commenter\u002Fneutral\u002Fdesign","cookiecaper",[470,37,33,467,212,33],"14592231",[472,37,33,467,280,33],"14595728",[474,37,33,467,464,33],"14597886",[476,37,33,467,468,33],"14598895",[478,37,33,162,280,33],"14605203",[480,37,33,162,481,33],"14598966","dragonwriter",[483,37,33,162,280,33],"14605194",[485,37,33,467,486,33],"14591133","andrei_says_",[93,488,33,153,94,33],2,[490,488,33,153,336,33],"14586768",[492,488,33,153,493,33],"14586982","computerex",[495,488,33,153,496,33],"14587120","ajmurmann",[498,488,33,153,499,33],"14587240","weberc2",[501,488,33,502,503,33],"14587289","other\u002Fneutral\u002Fperformance","semiquaver",[505,488,33,162,506,33],"14587134","dyeje",[508,488,33,162,189,33],"14587281",[510,488,33,162,511,33],"14587156","naiyt",[513,488,33,153,468,33],"14588078",[515,488,33,153,516,33],"14590604","vorg",[518,488,33,153,189,33],"14587291",[520,488,33,162,521,33],"14587447","nothingbutslide",[523,488,33,153,524,33],"14587913","westoque",[526,488,33,153,527,33],"14587464","sanderjd",[529,488,33,234,530,33],"14587548","JeremyBanks",[532,488,33,234,533,33],"14587837","0x03",[135,18,33,153,136,33],[536,18,33,153,537,33],"14585504","nailer",[539,18,33,153,540,33],"14585537","positivecomment",[542,18,33,153,537,33],"14585940",[143,18,33,544,11,37],"maker\u002Fneutral\u002Fnone",[546,547,33,234,548,33],"14584815",4,"nickm12",[550,547,33,153,183,33],"14585330",[552,32,32,553,554,33],"14584938","project\u002Fpositive\u002Fnone","abritinthebay",[556,557,33,153,558,33],"14585677",6,"AriaMinaei",[560,140,33,153,561,33],"14586861","fiatjaf",[124,563,32,553,125,33],8,[565,566,33,234,506,33],"14587148",9,[568,566,33,153,102,33],"14587239",[570,566,33,162,554,33],"14591102",[572,139,33,153,573,33],"14586072","bayesian_horse",[575,139,33,153,189,33],"14587326",[577,139,33,153,573,33],"14589327",[579,139,33,162,189,33],"14592514",[581,582,33,153,583,33],"14585059",11,"patrickbolle",[585,586,18,587,588,33],"14584230",12,"project\u002Fneutral\u002Fnone","tyrw",[48,586,33,544,11,37],[591,586,37,592,357,33],"14585428","project\u002Fcritical\u002Fdesign",[79,586,33,544,11,37],[595,586,37,592,357,33],"14588449",[597,586,37,592,598,33],"14585579","Grue3",[600,601,33,153,602,33],"14584300",13,"treyhuffine",[604,601,33,153,605,33],"14584450","pier25",[607,601,33,153,608,33],"14585389","gabrielcsapo",[610,601,33,162,357,33],"14585397",[72,601,33,153,11,37],[613,601,33,153,425,33],"14586910",[615,601,33,153,11,37],"14587780",[617,601,33,153,602,33],"14594271",[619,601,33,153,620,33],"14588890","citrusx",[622,623,33,162,624,33],"14584243",14,"foxhedgehog",[626,623,33,153,11,37],"14584275",[628,623,33,182,629,33],"14584778","johnfn",[631,623,33,632,633,33],"14584827","commenter\u002Fneutral\u002Fidea","gmac",[635,623,33,632,629,33],"14585112",[637,623,33,153,450,33],"14586268",[639,623,33,182,640,33],"14585507","elmigranto",[642,623,33,182,537,33],"14585520",[644,623,33,182,629,33],"14588882",[646,623,33,153,189,33],"14587397",[117,34,18,648,118,33],"project\u002Fneutral\u002Fidea",[51,34,33,199,11,37],[651,652,18,648,653,33],"14587914",16,"grogenaut",[109,655,18,587,110,33],17,[657,655,33,587,11,37],"14588369",[659,660,33,182,661,33],"14586548",18,"thebouv",[128,663,33,153,129,33],19,[101,665,37,666,102,33],20,"project\u002Fcritical\u002Fperformance",[82,665,33,587,11,37],[669,670,32,199,671,33],"14584602",21,"partycoder",[673,670,33,182,674,33],"14584642","Hydraulix989",[676,670,33,677,671,33],"14584798","other\u002Fneutral\u002Fdesign",[679,670,33,153,189,33],"14587383",[681,670,33,153,671,33],"14590696",[683,670,33,153,684,33],"14584824","josephg",[686,670,33,153,205,33],"14586021",[688,670,33,153,689,33],"14585611","nemothekid",[691,692,18,587,425,33],"14586879",22,[694,692,33,587,11,37],"14587670",[696,697,33,182,698,33],"14586942",23,"traviswingo",[700,697,32,199,701,33],"14586962","slig",[703,704,33,182,705,33],"14585300",24,"jlebrech",[],[708,713,718,723,728,732],{"id":709,"name":710,"points":711,"category":712},"14558582","Snips",372,"ai",{"id":714,"name":715,"points":716,"category":717},"14587669","rust-algorithms",320,"learning_science",{"id":719,"name":720,"points":721,"category":722},"14593906","Copyfish",292,"productivity",{"id":724,"name":725,"points":726,"category":727},"14597485","NBox",286,"security_privacy",{"id":729,"name":730,"points":731,"category":20},"14588333","html5-parser",169,{"id":733,"name":734,"points":735,"category":736},"14597544","Upstart.me",168,"web_saas",false,"v2",{"id":740,"name":5,"line":6,"ai":737,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":741,"top":18,"kw":742,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":743,"url":9,"mix":744,"praise":65,"objection":76,"sub":21},14583882,0.03,[24,25,26,27,28],"0005000000000000000010000000050110003305",[32,32,33,32],1794036556404]