JFIFXX    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222"4 ,PG"Z_4˷kjزZ,F+_z,© zh6٨icfu#ډb_N?wQ5-~I8TK<5oIv-k_U_~bMdӜUHh?]EwQk{_}qFW7HTՑYF?_'ϔ_Ջt=||I 6έ"D/[k9Y8ds|\Ҿp6Ҵ].6znopM[mei$[soᘨ˸ nɜG-ĨUycP3.DBli;hjx7Z^NhN3u{:jx힞#M&jL P@_ P&o89@Sz6t7#Oߋ s}YfTlmrZ)'Nk۞pw\Tȯ?8`Oi{wﭹW[r Q4F׊3m&L=h3z~#\l :F,j@ ʱwQT8"kJO6֚l}R>ډK]y&p}b;N1mr$|7>e@BTM*-iHgD) Em|ؘbҗaҾt4oG*oCNrPQ@z,|?W[0:n,jWiEW$~/hp\?{(0+Y8rΟ+>S-SVN;}s?. w9˟<Mq4Wv'{)01mBVW[8/< %wT^5b)iM pgN&ݝVO~qu9 !J27$O-! :%H ـyΠM=t{!S oK8txA& j0 vF Y|y ~6@c1vOpIg4lODL Rcj_uX63?nkWyf;^*B @~a`Eu+6L.ü>}y}_O6͐:YrGXkGl^w~㒶syIu! W XN7BVO!X2wvGRfT#t/?%8^WaTGcLMI(J1~8?aT ]ASE(*E} 2#I/׍qz^t̔bYz4xt){ OH+(EA&NXTo"XC')}Jzp ~5}^+6wcQ|LpdH}(.|kc4^"Z?ȕ a<L!039C EuCFEwç ;n?*oB8bʝ'#RqfM}7]s2tcS{\icTx;\7KPʇ Z O-~c>"?PEO8@8GQgaՎ󁶠䧘_%#r>1zaebqcPѵn#L =׀t L7`VA{C:ge@w1 Xp3c3ġpM"'-@n4fGB3DJ8[JoߐgK)ƛ$ 83+ 6ʻ SkI*KZlT _`?KQKdB`s}>`*>,*@JdoF*弝O}ks]yߘc1GV<=776qPTtXԀ!9*44Tހ3XΛex46YD  BdemDa\_l,G/֌7Y](xTt^%GE4}bTڹ;Y)BQu>J/J ⮶.XԄjݳ+Ed r5_D1 o Bx΢#<W8R6@gM. drD>(otU@x=~v2 ӣdoBd3eO6㣷ݜ66YQz`S{\P~z m5{J/L1xO\ZFu>ck#&:`$ai>2ΔloF[hlEܺΠk:)` $[69kOw\|8}ބ:񶐕IA1/=2[,!.}gN#ub ~݊}34qdELc$"[qU硬g^%B zrpJru%v\h1Yne`ǥ:gpQM~^Xi `S:V29.PV?Bk AEvw%_9CQwKekPؠ\;Io d{ ߞoc1eP\ `E=@KIRYK2NPlLɀ)&eB+ь( JTx_?EZ }@ 6U뙢طzdWIn` D噥[uV"G&Ú2g}&m?ċ"Om# {ON"SXNeysQ@FnVgdX~nj]J58up~.`r\O,ư0oS _Ml4kv\JSdxSW<AeIX$Iw:Sy›R9Q[,5;@]%u@ *rolbI  +%m:͇ZVủθau,RW33 dJeTYE.Mϧ-oj3+yy^cVO9NV\nd1 !͕_)av;թMlWR1)ElP;yوÏu 3k5Pr6<⒲l!˞*u־n!l:UNW %Chx8vL'X@*)̮ˍ D-M+JUkvK+x8cY?Ԡ~3mo|u@[XeYC\Kpx8oCC&N~3-H MXsu<`~"WL$8ξ3a)|:@m\^`@ҷ)5p+6p%i)P Mngc#0AruzRL+xSS?ʮ}()#tmˇ!0}}y$6Lt;$ʳ{^6{v6ķܰgVcnn ~zx«,2u?cE+ȘH؎%Za)X>uWTzNyosFQƤ$*&LLXL)1" LeOɟ9=:tZcŽY?ӭVwv~,Yrۗ|yGaFC.+ v1fήJ]STBn5sW}y$~z'c 8  ,! pVNSNNqy8z˱A4*'2n<s^ǧ˭PJޮɏUGLJ*#i}K%,)[z21z ?Nin1?TIR#m-1lA`fT5+ܐcq՝ʐ,3f2Uեmab#ŠdQy>\)SLYw#.ʑf ,"+w~N'cO3FN<)j&,- љ֊_zSTǦw>?nU仆Ve0$CdrP m׈eXmVu L.bֹ [Դaզ*\y8Է:Ez\0KqC b̘cөQ=0YsNS.3.Oo:#v7[#߫ 5܎LEr49nCOWlG^0k%;YߝZǓ:S#|}y,/kLd TA(AI$+I3;Y*Z}|ӧOdv..#:nf>>ȶITX 8y"dR|)0=n46ⲑ+ra ~]R̲c?6(q;5% |uj~z8R=XIV=|{vGj\gcqz؋%Mߍ1y#@f^^>N#x#۹6Y~?dfPO{P4Vu1E1J *|%JN`eWuzk M6q t[ gGvWIGu_ft5j"Y:Tɐ*; e54q$C2d} _SL#mYpO.C;cHi#֩%+) ӍƲVSYźg |tj38r|V1#;.SQA[S#`n+$$I P\[@s(EDzP])8G#0B[ىXIIq<9~[Z멜Z⊔IWU&A>P~#dp]9 "cP Md?٥Ifتuk/F9c*9Ǎ:ØFzn*@|Iށ9N3{'['ͬҲ4#}!V Fu,,mTIkv C7vB6kT91*l '~ƞFlU'M ][ΩũJ_{iIn$L jOdxkza۪#EClx˘oVɞljr)/,߬hL#^Lф,íMƁe̩NBLiLq}(q6IçJ$WE$:=#(KBzђ xlx?>Պ+>W,Ly!_DŌlQ![ SJ1ƐY}b,+Loxɓ)=yoh@꥟/Iѭ=Py9 ۍYӘe+pJnϱ?V\SO%(t =?MR[Șd/ nlB7j !;ӥ/[-A>dNsLj ,ɪv=1c.SQO3UƀܽE̻9GϷD7(}Ävӌ\y_0[w <΍>a_[0+LF.޺f>oNTq;y\bՃyjH<|q-eɏ_?_9+PHp$[uxK wMwNی'$Y2=qKBP~Yul:[<F12O5=d]Ysw:ϮEj,_QXz`H1,#II dwrP˂@ZJVy$\y{}^~[:NߌUOdؾe${p>G3cĖlʌ ת[`ϱ-WdgIig2 }s ؤ(%#sS@~3XnRG~\jc3vӍLM[JBTs3}jNʖW;7ç?=XF=-=qߚ#='c7ڑWI(O+=:uxqe2zi+kuGR0&eniT^J~\jyp'dtGsO39* b#Ɋ p[BwsT>d4ۧsnvnU_~,vƜJ1s QIz)(lv8MU=;56Gs#KMP=LvyGd}VwWBF'à ?MHUg2 !p7Qjڴ=ju JnA suMeƆҔ!)'8Ϣٔޝ(Vpצ֖d=ICJǠ{qkԭ߸i@Ku|p=..*+xz[Aqġ#s2aƊRR)*HRsi~a &fMP-KL@ZXy'x{}Zm+:)) IJ-iu ܒH'L(7yGӜq j 6ߌg1go,kرtY?W,pefOQS!K۟cҒA|սj>=⬒˧L[ ߿2JaB~Ru:Q] 0H~]7ƼI(}cq 'ήETq?fabӥvr )o-Q_'ᴎoK;Vo%~OK *bf:-ťIR`B5!RB@ï u ̯e\_U_ gES3QTaxU<~c?*#]MW,[8Oax]1bC|踤Plw5V%){t<d50iXSUm:Z┵i"1^B-PhJ&)O*DcWvM)}Pܗ-q\mmζZ-l@}aE6F@&Sg@ݚM ȹ 4#p\HdYDoH"\..RBHz_/5˘6KhJRPmƶim3,#ccoqa)*PtRmk7xDE\Y閣_X<~)c[[BP6YqS0%_;Àv~| VS؇ 'O0F0\U-d@7SJ*z3nyPOm~P3|Yʉr#CSN@ ƮRN)r"C:: #qbY. 6[2K2uǦHYRQMV G$Q+.>nNHq^ qmMVD+-#*U̒ p욳u:IBmPV@Or[b= 1UE_NmyKbNOU}the`|6֮P>\2PVIDiPO;9rmAHGWS]J*_G+kP2KaZH'KxWMZ%OYDRc+o?qGhmdSoh\D|:WUAQc yTq~^H/#pCZTI1ӏT4"ČZ}`w#*,ʹ 0i課Om*da^gJ݅{le9uF#Tֲ̲ٞC"qߍ ոޑo#XZTp@ o8(jdxw],f`~|,s^f1t|m򸄭/ctr5s79Q4H1꠲BB@l9@C+wpxu£Yc9?`@#omHs2)=2.ljg9$YS%*LRY7Z,*=䷘$armoϰUW.|rufIGwtZwo~5 YյhO+=8fF)W7L9lM̘·Y֘YLf큹pRF99.A "wz=E\Z'a 2Ǚ#;'}G*l^"q+2FQ hjkŦ${ޮ-T٭cf|3#~RJt$b(R(rdx >U b&9,>%E\ Άe$'q't*אެb-|dSBOO$R+H)܎K1m`;J2Y~9Og8=vqD`K[F)k[1m޼cn]skz$@)!I x՝"v9=ZA=`Ɠi :E)`7vI}dYI_ o:obo 3Q&D&2= Ά;>hy.*ⅥSӬ+q&j|UƧ}J0WW< ۋS)jQRjƯrN)Gű4Ѷ(S)Ǣ8iW52No˓ ۍ%5brOnL;n\G=^UdI8$&h'+(cȁ߫klS^cƗjԌEꭔgFȒ@}O*;evWVYJ\]X'5ղkFb 6Ro՜mi Ni>J?lPmU}>_Z&KKqrIDՉ~q3fL:Se>E-G{L6pe,8QIhaXaUA'ʂs+טIjP-y8ۈZ?J$WP Rs]|l(ԓsƊio(S0Y 8T97.WiLc~dxcE|2!XKƘਫ਼$((6~|d9u+qd^389Y6L.I?iIq9)O/뚅OXXVZF[یgQLK1RҖr@v#XlFНyS87kF!AsM^rkpjPDyS$Nqnxҍ!Uf!ehi2m`YI9r6 TFC}/y^Η5d'9A-J>{_l+`A['յϛ#w:݅%X}&PStQ"-\縵/$ƗhXb*yBS;Wջ_mcvt?2}1;qSdd~u:2k52R~z+|HE!)Ǟl7`0<,2*Hl-x^'_TVgZA'j ^2ΪN7t?w x1fIzC-ȖK^q;-WDvT78Z hK(P:Q- 8nZ܃e貾<1YT<,"6{/ ?͟|1:#gW>$dJdB=jf[%rE^il:BxSּ1հ,=*7 fcG#q eh?27,!7x6nLC4x},GeǝtC.vS F43zz\;QYC,6~;RYS/6|25vTimlv& nRh^ejRLGf? ۉҬܦƩ|Ȱ>3!viʯ>vオX3e_1zKȗ\qHS,EW[㺨uch⍸O}a>q6n6N6qN ! 1AQaq0@"2BRb#Pr3C`Scst$4D%Td ?Na3mCwxAmqmm$4n淿t'C"wzU=D\R+wp+YT&պ@ƃ3ޯ?AﶂaŘ@-Q=9Dռѻ@MVP܅G5fY6# ?0UQ,IX(6ڵ[DIMNލc&υj\XR|,4 jThAe^db#$]wOӪ1y%LYm뭛CUƃߜ}Cy1XνmF8jI]HۺиE@Ii;r8ӭVFՇ| &?3|xBMuSGe=Ӕ#BE5GY!z_eqр/W>|-Ci߇t1ޯќdR3ug=0 5[?#͏qcfH{ ?u=??ǯ}ZzhmΔBFTWPxs}G93 )gGR<>r h$'nchPBjJҧH -N1N?~}-q!=_2hcMlvY%UE@|vM2.Y[|y"EïKZF,ɯ?,q?vM 80jx";9vk+ ֧ ȺU?%vcVmA6Qg^MA}3nl QRNl8kkn'(M7m9وq%ޟ*h$Zk"$9: ?U8Sl,,|ɒxH(ѷGn/Q4PG%Ա8N! &7;eKM749R/%lc>x;>C:th?aKXbheᜋ^$Iհ hr7%F$EFdt5+(M6tÜUU|zW=aTsTgdqPQb'm1{|YXNb P~F^F:k6"j! Ir`1&-$Bevk:y#ywI0x=D4tUPZHڠ底taP6b>xaQ# WeFŮNjpJ* mQN*I-*ȩFg3 5Vʊɮa5FO@{NX?H]31Ri_uѕ 0 F~:60p͈SqX#a5>`o&+<2D: ڝ$nP*)N|yEjF5ټeihyZ >kbHavh-#!Po=@k̆IEN@}Ll?jO߭ʞQ|A07xwt!xfI2?Z<ץTcUj]陎Ltl }5ϓ$,Omˊ;@OjEj(ا,LXLOЦ90O .anA7j4 W_ٓzWjcBy՗+EM)dNg6y1_xp$Lv:9"zpʙ$^JԼ*ϭo=xLj6Ju82AH3$ٕ@=Vv]'qEz;I˼)=ɯx /W(Vp$ mu񶤑OqˎTr㠚xsrGCbypG1ߠw e8$⿄/M{*}W]˷.CK\ުx/$WPwr |i&}{X >$-l?-zglΆ(FhvS*b߲ڡn,|)mrH[a3ר[13o_U3TC$(=)0kgP u^=4 WYCҸ:vQרXàtkm,t*^,}D* "(I9R>``[~Q]#afi6l86:,ssN6j"A4IuQ6E,GnHzSHOuk5$I4ؤQ9@CwpBGv[]uOv0I4\yQѸ~>Z8Taqޣ;za/SI:ܫ_|>=Z8:SUIJ"IY8%b8H:QO6;7ISJҌAά3>cE+&jf$eC+z;V rʺmyeaQf&6ND.:NTvm<- uǝ\MvZYNNT-A>jr!SnO 13Ns%3D@`ܟ 1^c< aɽ̲Xë#w|ycW=9I*H8p^(4՗karOcWtO\ƍR8'KIQ?5>[}yUײ -h=% qThG2)"ו3]!kB*pFDlA,eEiHfPs5H:Փ~H0DتDIhF3c2E9H5zԑʚiX=:mxghd(v׊9iSOd@0ڽ:p5h-t&Xqӕ,ie|7A2O%PEhtjY1wЃ!  ࢽMy7\a@ţJ 4ȻF@o̒?4wx)]P~u57X 9^ܩU;Iꭆ 5 eK27({|Y׎ V\"Z1 Z}(Ǝ"1S_vE30>p; ΝD%xW?W?vo^Vidr[/&>~`9Why;R ;;ɮT?r$g1KACcKl:'3 cﳯ*"t8~l)m+U,z`(>yJ?h>]vЍG*{`;y]IT ;cNUfo¾h/$|NS1S"HVT4uhǜ]v;5͠x'C\SBplh}N ABx%ޭl/Twʽ]D=Kžr㻠l4SO?=k M: cCa#ha)ѐxcsgPiG{+xQI= zԫ+ 8"kñj=|c yCF/*9жh{ ?4o kmQNx;Y4膚aw?6>e]Qr:g,i"ԩA*M7qB?ӕFhV25r[7 Y }LR}*sg+xr2U=*'WSZDW]WǞ<叓{$9Ou4y90-1'*D`c^o?(9uݐ'PI& fJݮ:wSjfP1F:X H9dԯ˝[_54 }*;@ܨ ðynT?ןd#4rGͨH1|-#MrS3G3).᧏3vz֑r$G"`j 1tx0<ƆWh6y6,œGagAyb)hDß_mü gG;evݝnQ C-*oyaMI><]obD":GA-\%LT8c)+y76oQ#*{(F⽕y=rW\p۩cA^e6KʐcVf5$'->ՉN"F"UQ@fGb~#&M=8טJNu9D[̤so~ G9TtW^g5y$bY'سǴ=U-2 #MCt(i lj@Q 5̣i*OsxKf}\M{EV{υƇ);HIfeLȣr2>WIȂ6ik 5YOxȺ>Yf5'|H+98pjn.OyjY~iw'l;s2Y:'lgꥴ)o#'SaaKZ m}`169n"xI *+ }FP"l45'ZgE8?[X7(.Q-*ތL@̲v.5[=t\+CNܛ,gSQnH}*FG16&:t4ُ"Ạ$b |#rsaT ]ӽDP7ո0y)e$ٕvIh'QEAm*HRI=: 4牢) %_iNݧl] NtGHL ɱg<1V,J~ٹ"KQ 9HS9?@kr;we݁]I!{ @G["`J:n]{cAEVʆ#U96j#Ym\qe4hB7Cdv\MNgmAyQL4uLjj9#44tl^}LnR!t±]rh6ٍ>yҏNfU  Fm@8}/ujb9he:AyծwGpΧh5l}3p468)Udc;Us/֔YX1O2uqs`hwgr~{ RmhN؎*q 42*th>#E#HvOq}6e\,Wk#Xb>p}դ3T5†6[@Py*n|'f֧>lư΂̺SU'*qp_SM 'c6m ySʨ;MrƋmKxo,GmPAG:iw9}M(^V$ǒѽ9| aJSQarB;}ٻ֢2%Uc#gNaݕ'v[OY'3L3;,p]@S{lsX'cjwk'a.}}& dP*bK=ɍ!;3ngΊUߴmt'*{,=SzfD Ako~Gaoq_mi}#mPXhύmxǍ΂巿zfQc|kc?WY$_Lvl߶c`?ljݲˏ!V6UЂ(A4y)HpZ_x>eR$/`^'3qˏ-&Q=?CFVR DfV9{8gnh(P"6[D< E~0<@`G6Hгcc cK.5DdB`?XQ2ٿyqo&+1^ DW0ꊩG#QnL3c/x 11[yxპCWCcUĨ80me4.{muI=f0QRls9f9~fǨa"@8ȁQ#cicG$Gr/$W(WV"m7[mAmboD j۳ l^kh׽ # iXnveTka^Y4BNĕ0 !01@Q"2AaPq3BR?@4QT3,㺠W[=JKϞ2r^7vc:9 EߴwS#dIxu:Hp9E! V 2;73|F9Y*ʬFDu&y؟^EAA(ɩ^GV:ݜDy`Jr29ܾ㝉[E;FzxYGUeYC v-txIsםĘqEb+P\ :>iC';k|zرny]#ǿbQw(r|ӹs[D2v-%@;8<a[\o[ϧwI!*0krs)[J9^ʜp1) "/_>o<1AEy^C`x1'ܣnps`lfQ):lb>MejH^?kl3(z:1ŠK&?Q~{ٺhy/[V|6}KbXmn[-75q94dmc^h X5G-}دBޟ |rtMV+]c?-#ڛ^ǂ}LkrOu>-Dry D?:ޞUǜ7V?瓮"#rչģVR;n/_ ؉vݶe5db9/O009G5nWJpA*r9>1.[tsFnQ V 77R]ɫ8_0<՜IFu(v4Fk3E)N:yڮeP`1}$WSJSQNjٺ޵#lј(5=5lǏmoWv-1v,Wmn߀$x_DȬ0¤#QR[Vkzmw"9ZG7'[=Qj8R?zf\a=OU*oBA|G254 p.w7  &ξxGHp B%$gtЏ򤵍zHNuЯ-'40;_3 !01"@AQa2Pq#3BR?ʩcaen^8F<7;EA{EÖ1U/#d1an.1ě0ʾRh|RAo3m3 % 28Q yφHTo7lW>#i`qca m,B-j݋'mR1Ήt>Vps0IbIC.1Rea]H64B>o]($Bma!=?B KǾ+Ծ"nK*+[T#{EJSQs5:U\wĐf3܆&)IԆwE TlrTf6Q|Rh:[K zc֧GC%\_a84HcObiؖV7H )*ģK~Xhչ04?0 E<}3#u? |gS6ꊤ|I#Hڛ աwX97Ŀ%SLy6č|Fa 8b$sקhb9RAu7˨pČ_\*w묦F 4D~f|("mNKiS>$d7SlA/²SL|6N}S˯g]6; #. 403WebShell
403Webshell
Server IP : 45.32.152.128  /  Your IP : 216.73.216.91
Web Server : nginx/1.24.0
System : Linux stage-vultr 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : forge ( 1000)
PHP Version : 8.2.14
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/forge/ifund.pdgm.dev/node_modules/ts-node/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/forge/ifund.pdgm.dev/node_modules/ts-node/dist/index.spec.js.map
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { exec } from 'child_process'\nimport { join } from 'path'\nimport semver = require('semver')\nimport ts = require('typescript')\nimport proxyquire = require('proxyquire')\nimport type * as tsNodeTypes from './index'\nimport { unlinkSync, existsSync, lstatSync } from 'fs'\nimport * as promisify from 'util.promisify'\nimport { sync as rimrafSync } from 'rimraf'\nimport type _createRequire from 'create-require'\nconst createRequire: typeof _createRequire = require('create-require')\nimport { pathToFileURL } from 'url'\nimport Module = require('module')\nimport { PassThrough } from 'stream'\nimport * as getStream from 'get-stream'\n\nconst execP = promisify(exec)\n\nconst TEST_DIR = join(__dirname, '../tests')\nconst PROJECT = join(TEST_DIR, 'tsconfig.json')\nconst BIN_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node')\nconst BIN_SCRIPT_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node-script')\n\nconst SOURCE_MAP_REGEXP = /\\/\\/# sourceMappingURL=data:application\\/json;charset=utf\\-8;base64,[\\w\\+]+=*$/\n\n// `createRequire` does not exist on older node versions\nconst testsDirRequire = createRequire(join(TEST_DIR, 'index.js')) // tslint:disable-line\n\n// Set after ts-node is installed locally\nlet { register, create, VERSION, createRepl }: typeof tsNodeTypes = {} as any\n\n// Pack and install ts-node locally, necessary to test package \"exports\"\nbefore(async function () {\n  this.timeout(5 * 60e3)\n  rimrafSync(join(TEST_DIR, 'node_modules'))\n  await execP(`npm install`, { cwd: TEST_DIR })\n  const packageLockPath = join(TEST_DIR, 'package-lock.json')\n  existsSync(packageLockPath) && unlinkSync(packageLockPath)\n  ;({ register, create, VERSION, createRepl } = testsDirRequire('ts-node'))\n})\n\ndescribe('ts-node', function () {\n  const cmd = `\"${BIN_PATH}\" --project \"${PROJECT}\"`\n  const cmdNoProject = `\"${BIN_PATH}\"`\n\n  this.timeout(10000)\n\n  it('should export the correct version', function () {\n    expect(VERSION).to.equal(require('../package.json').version)\n  })\n  it('should export all CJS entrypoints', function () {\n    // Ensure our package.json \"exports\" declaration allows `require()`ing all our entrypoints\n    // https://github.com/TypeStrong/ts-node/pull/1026\n\n    testsDirRequire.resolve('ts-node')\n\n    // only reliably way to ask node for the root path of a dependency is Path.resolve(require.resolve('ts-node/package'), '..')\n    testsDirRequire.resolve('ts-node/package')\n    testsDirRequire.resolve('ts-node/package.json')\n\n    // All bin entrypoints for people who need to augment our CLI: `node -r otherstuff ./node_modules/ts-node/dist/bin`\n    testsDirRequire.resolve('ts-node/dist/bin')\n    testsDirRequire.resolve('ts-node/dist/bin.js')\n    testsDirRequire.resolve('ts-node/dist/bin-transpile')\n    testsDirRequire.resolve('ts-node/dist/bin-transpile.js')\n    testsDirRequire.resolve('ts-node/dist/bin-script')\n    testsDirRequire.resolve('ts-node/dist/bin-script.js')\n\n    // Must be `require()`able obviously\n    testsDirRequire.resolve('ts-node/register')\n    testsDirRequire.resolve('ts-node/register/files')\n    testsDirRequire.resolve('ts-node/register/transpile-only')\n    testsDirRequire.resolve('ts-node/register/type-check')\n\n    // `node --loader ts-node/esm`\n    testsDirRequire.resolve('ts-node/esm')\n    testsDirRequire.resolve('ts-node/esm.mjs')\n    testsDirRequire.resolve('ts-node/esm/transpile-only')\n    testsDirRequire.resolve('ts-node/esm/transpile-only.mjs')\n  })\n\n  describe('cli', function () {\n    this.slow(1000)\n\n    it('should execute cli', function (done) {\n      exec(`${cmd} tests/hello-world`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, world!\\n')\n\n        return done()\n      })\n    })\n\n    it('shows usage via --help', function (done) {\n      exec(`${cmdNoProject} --help`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.match(/Usage: ts-node /)\n        return done()\n      })\n    })\n    it('shows version via -v', function (done) {\n      exec(`${cmdNoProject} -v`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout.trim()).to.equal('v' + testsDirRequire('ts-node/package').version)\n        return done()\n      })\n    })\n    it('shows version of compiler via -vv', function (done) {\n      exec(`${cmdNoProject} -vv`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout.trim()).to.equal(\n          `ts-node v${ testsDirRequire('ts-node/package').version }\\n` +\n          `node ${ process.version }\\n` +\n          `compiler v${ testsDirRequire('typescript/package').version }`\n        )\n        return done()\n      })\n    })\n\n    it('should register via cli', function (done) {\n      exec(`node -r ts-node/register hello-world.ts`, {\n        cwd: TEST_DIR\n      }, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, world!\\n')\n\n        return done()\n      })\n    })\n\n    it('should execute cli with absolute path', function (done) {\n      exec(`${cmd} \"${join(TEST_DIR, 'hello-world')}\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, world!\\n')\n\n        return done()\n      })\n    })\n\n    it('should print scripts', function (done) {\n      exec(`${cmd} -pe \"import { example } from './tests/complex/index';example()\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('example\\n')\n\n        return done()\n      })\n    })\n\n    it('should provide registered information globally', function (done) {\n      exec(`${cmd} tests/env`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('object\\n')\n\n        return done()\n      })\n    })\n\n    it('should provide registered information on register', function (done) {\n      exec(`node -r ts-node/register env.ts`, {\n        cwd: TEST_DIR\n      }, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('object\\n')\n\n        return done()\n      })\n    })\n\n    if (semver.gte(ts.version, '1.8.0')) {\n      it('should allow js', function (done) {\n        exec(\n          [\n            cmd,\n            '-O \"{\\\\\\\"allowJs\\\\\\\":true}\"',\n            '-pe \"import { main } from \\'./tests/allow-js/run\\';main()\"'\n          ].join(' '),\n          function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('hello world\\n')\n\n            return done()\n          }\n        )\n      })\n\n      it('should include jsx when `allow-js` true', function (done) {\n        exec(\n          [\n            cmd,\n            '-O \"{\\\\\\\"allowJs\\\\\\\":true}\"',\n            '-pe \"import { Foo2 } from \\'./tests/allow-js/with-jsx\\'; Foo2.sayHi()\"'\n          ].join(' '),\n          function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('hello world\\n')\n\n            return done()\n          }\n        )\n      })\n    }\n\n    it('should eval code', function (done) {\n      exec(\n        `${cmd} -e \"import * as m from './tests/module';console.log(m.example('test'))\"`,\n        function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('TEST\\n')\n\n          return done()\n        }\n      )\n    })\n\n    it('should import empty files', function (done) {\n      exec(`${cmd} -e \"import './tests/empty'\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('')\n\n        return done()\n      })\n    })\n\n    it('should throw errors', function (done) {\n      exec(`${cmd} -e \"import * as m from './tests/module';console.log(m.example(123))\"`, function (err) {\n        if (err === null) {\n          return done('Command was expected to fail, but it succeeded.')\n        }\n\n        expect(err.message).to.match(new RegExp(\n          'TS2345: Argument of type \\'(?:number|123)\\' ' +\n          'is not assignable to parameter of type \\'string\\'\\\\.'\n        ))\n\n        return done()\n      })\n    })\n\n    it('should be able to ignore diagnostic', function (done) {\n      exec(\n        `${cmd} --ignore-diagnostics 2345 -e \"import * as m from './tests/module';console.log(m.example(123))\"`,\n        function (err) {\n          if (err === null) {\n            return done('Command was expected to fail, but it succeeded.')\n          }\n\n          expect(err.message).to.match(\n            /TypeError: (?:(?:undefined|foo\\.toUpperCase) is not a function|.*has no method \\'toUpperCase\\')/\n          )\n\n          return done()\n        }\n      )\n    })\n\n    it('should work with source maps', function (done) {\n      exec(`${cmd} tests/throw`, function (err) {\n        if (err === null) {\n          return done('Command was expected to fail, but it succeeded.')\n        }\n\n        expect(err.message).to.contain([\n          `${join(__dirname, '../tests/throw.ts')}:100`,\n          '  bar () { throw new Error(\\'this is a demo\\') }',\n          '                 ^',\n          'Error: this is a demo'\n        ].join('\\n'))\n\n        return done()\n      })\n    })\n\n    it('eval should work with source maps', function (done) {\n      exec(`${cmd} -pe \"import './tests/throw'\"`, function (err) {\n        if (err === null) {\n          return done('Command was expected to fail, but it succeeded.')\n        }\n\n        expect(err.message).to.contain([\n          `${join(__dirname, '../tests/throw.ts')}:100`,\n          '  bar () { throw new Error(\\'this is a demo\\') }',\n          '                 ^'\n        ].join('\\n'))\n\n        return done()\n      })\n    })\n\n    it('should support transpile only mode', function (done) {\n      exec(`${cmd} --transpile-only -pe \"x\"`, function (err) {\n        if (err === null) {\n          return done('Command was expected to fail, but it succeeded.')\n        }\n\n        expect(err.message).to.contain('ReferenceError: x is not defined')\n\n        return done()\n      })\n    })\n\n    it('should throw error even in transpileOnly mode', function (done) {\n      exec(`${cmd} --transpile-only -pe \"console.\"`, function (err) {\n        if (err === null) {\n          return done('Command was expected to fail, but it succeeded.')\n        }\n\n        expect(err.message).to.contain('error TS1003: Identifier expected')\n\n        return done()\n      })\n    })\n\n    it('should pipe into `ts-node` and evaluate', function (done) {\n      const cp = exec(cmd, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('hello\\n')\n\n        return done()\n      })\n\n      cp.stdin!.end(\"console.log('hello')\")\n    })\n\n    it('should pipe into `ts-node`', function (done) {\n      const cp = exec(`${cmd} -p`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('true\\n')\n\n        return done()\n      })\n\n      cp.stdin!.end('true')\n    })\n\n    it('should pipe into an eval script', function (done) {\n      const cp = exec(`${cmd} --transpile-only -pe \"process.stdin.isTTY\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('undefined\\n')\n\n        return done()\n      })\n\n      cp.stdin!.end('true')\n    })\n\n    it('should run REPL when --interactive passed and stdin is not a TTY', function (done) {\n      const cp = exec(`${cmd} --interactive`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal(\n          '> 123\\n' +\n          'undefined\\n' +\n          '> '\n        )\n        return done()\n      })\n\n      cp.stdin!.end('console.log(\"123\")\\n')\n    })\n\n    it('REPL has command to get type information', function (done) {\n      const cp = exec(`${cmd} --interactive`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal(\n          '> undefined\\n' +\n          '> undefined\\n' +\n          '> const a: 123\\n' +\n          '> '\n        )\n        return done()\n      })\n\n      cp.stdin!.end('\\nconst a = 123\\n.type a')\n    })\n\n    it('REPL can be created via API', async () => {\n      const stdin = new PassThrough()\n      const stdout = new PassThrough()\n      const stderr = new PassThrough()\n      const replService = createRepl({\n        stdin,\n        stdout,\n        stderr\n      })\n      const service = create(replService.evalAwarePartialHost)\n      replService.setService(service)\n      replService.start()\n      stdin.write('\\nconst a = 123\\n.type a\\n')\n      stdin.end()\n      await promisify(setTimeout)(1e3)\n      stdout.end()\n      stderr.end()\n      expect(await getStream(stderr)).to.equal('')\n      expect(await getStream(stdout)).to.equal(\n        '> \\'use strict\\'\\n' +\n        '> undefined\\n' +\n        '> const a: 123\\n' +\n        '> '\n      )\n    })\n\n    it('should support require flags', function (done) {\n      exec(`${cmd} -r ./tests/hello-world -pe \"console.log('success')\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, world!\\nsuccess\\nundefined\\n')\n\n        return done()\n      })\n    })\n\n    it('should support require from node modules', function (done) {\n      exec(`${cmd} -r typescript -e \"console.log('success')\"`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('success\\n')\n\n        return done()\n      })\n    })\n\n    it('should use source maps with react tsx', function (done) {\n      exec(`${cmd} tests/throw-react-tsx.tsx`, function (err, stdout) {\n        expect(err).not.to.equal(null)\n        expect(err!.message).to.contain([\n          `${join(__dirname, '../tests/throw-react-tsx.tsx')}:100`,\n          '  bar () { throw new Error(\\'this is a demo\\') }',\n          '                 ^',\n          'Error: this is a demo'\n        ].join('\\n'))\n\n        return done()\n      })\n    })\n\n    it('should allow custom typings', function (done) {\n      exec(`${cmd} tests/custom-types`, function (err, stdout) {\n        expect(err).to.match(/Error: Cannot find module 'does-not-exist'/)\n\n        return done()\n      })\n    })\n\n    it('should preserve `ts-node` context with child process', function (done) {\n      exec(`${cmd} tests/child-process`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, world!\\n')\n\n        return done()\n      })\n    })\n\n    it('should import js before ts by default', function (done) {\n      exec(`${cmd} tests/import-order/compiled`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, JavaScript!\\n')\n\n        return done()\n      })\n    })\n\n    it('should import ts before js when --prefer-ts-exts flag is present', function (done) {\n      exec(`${cmd} --prefer-ts-exts tests/import-order/compiled`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, TypeScript!\\n')\n\n        return done()\n      })\n    })\n\n    it('should import ts before js when TS_NODE_PREFER_TS_EXTS env is present', function (done) {\n      exec(`${cmd} tests/import-order/compiled`, { env: { ...process.env, TS_NODE_PREFER_TS_EXTS: 'true' } }, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, TypeScript!\\n')\n\n        return done()\n      })\n    })\n\n    it('should ignore .d.ts files', function (done) {\n      exec(`${cmd} tests/import-order/importer`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('Hello, World!\\n')\n\n        return done()\n      })\n    })\n\n    describe('issue #884', function () {\n      it('should compile', function (done) {\n        // TODO disabled because it consistently fails on Windows on TS 2.7\n        if (process.platform === 'win32' && semver.satisfies(ts.version, '2.7')) {\n          this.skip()\n        } else {\n          exec(`\"${BIN_PATH}\" --project tests/issue-884/tsconfig.json tests/issue-884`, function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('')\n\n            return done()\n          })\n        }\n      })\n    })\n\n    describe('issue #986', function () {\n      it('should not compile', function (done) {\n        exec(`\"${BIN_PATH}\" --project tests/issue-986/tsconfig.json tests/issue-986`, function (err, stdout, stderr) {\n          expect(err).not.to.equal(null)\n          expect(stderr).to.contain('Cannot find name \\'TEST\\'') // TypeScript error.\n          expect(stdout).to.equal('')\n\n          return done()\n        })\n      })\n\n      it('should compile with `--files`', function (done) {\n        exec(`\"${BIN_PATH}\" --files --project tests/issue-986/tsconfig.json tests/issue-986`, function (err, stdout, stderr) {\n          expect(err).not.to.equal(null)\n          expect(stderr).to.contain('ReferenceError: TEST is not defined') // Runtime error.\n          expect(stdout).to.equal('')\n\n          return done()\n        })\n      })\n    })\n\n    if (semver.gte(ts.version, '2.7.0')) {\n      it('should support script mode', function (done) {\n        exec(`${BIN_SCRIPT_PATH} tests/scope/a/log`, function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('.ts\\n')\n\n          return done()\n        })\n      })\n      it('should read tsconfig relative to realpath, not symlink, in scriptMode', function (done) {\n        if (lstatSync(join(TEST_DIR, 'main-realpath/symlink/symlink.tsx')).isSymbolicLink()) {\n          exec(`${BIN_SCRIPT_PATH} tests/main-realpath/symlink/symlink.tsx`, function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('')\n\n            return done()\n          })\n        } else {\n          this.skip()\n        }\n      })\n    }\n\n    describe('should read ts-node options from tsconfig.json', function () {\n      const BIN_EXEC = `\"${BIN_PATH}\" --project tests/tsconfig-options/tsconfig.json`\n\n      it('should override compiler options from env', function (done) {\n        exec(`${BIN_EXEC} tests/tsconfig-options/log-options1.js`, {\n          env: {\n            ...process.env,\n            TS_NODE_COMPILER_OPTIONS: '{\"typeRoots\": [\"env-typeroots\"]}'\n          }\n        }, function (err, stdout) {\n          expect(err).to.equal(null)\n          const { config } = JSON.parse(stdout)\n          expect(config.options.typeRoots).to.deep.equal([join(__dirname, '../tests/tsconfig-options/env-typeroots').replace(/\\\\/g, '/')])\n          return done()\n        })\n      })\n\n      it('should use options from `tsconfig.json`', function (done) {\n        exec(`${BIN_EXEC} tests/tsconfig-options/log-options1.js`, function (err, stdout) {\n          expect(err).to.equal(null)\n          const { options, config } = JSON.parse(stdout)\n          expect(config.options.typeRoots).to.deep.equal([join(__dirname, '../tests/tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/')])\n          expect(config.options.types).to.deep.equal(['tsconfig-tsnode-types'])\n          expect(options.pretty).to.equal(undefined)\n          expect(options.skipIgnore).to.equal(false)\n          expect(options.transpileOnly).to.equal(true)\n          expect(options.require).to.deep.equal([join(__dirname, '../tests/tsconfig-options/required1.js')])\n          return done()\n        })\n      })\n\n      it('should have flags override / merge with `tsconfig.json`', function (done) {\n        exec(`${BIN_EXEC} --skip-ignore --compiler-options \"{\\\\\"types\\\\\":[\\\\\"flags-types\\\\\"]}\" --require ./tests/tsconfig-options/required2.js tests/tsconfig-options/log-options2.js`, function (err, stdout) {\n          expect(err).to.equal(null)\n          const { options, config } = JSON.parse(stdout)\n          expect(config.options.typeRoots).to.deep.equal([join(__dirname, '../tests/tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/')])\n          expect(config.options.types).to.deep.equal(['flags-types'])\n          expect(options.pretty).to.equal(undefined)\n          expect(options.skipIgnore).to.equal(true)\n          expect(options.transpileOnly).to.equal(true)\n          expect(options.require).to.deep.equal([\n            join(__dirname, '../tests/tsconfig-options/required1.js'),\n            './tests/tsconfig-options/required2.js'\n          ])\n          return done()\n        })\n      })\n\n      it('should have `tsconfig.json` override environment', function (done) {\n        exec(`${BIN_EXEC} tests/tsconfig-options/log-options1.js`, {\n          env: {\n            ...process.env,\n            TS_NODE_PRETTY: 'true',\n            TS_NODE_SKIP_IGNORE: 'true'\n          }\n        }, function (err, stdout) {\n          expect(err).to.equal(null)\n          const { options, config } = JSON.parse(stdout)\n          expect(config.options.typeRoots).to.deep.equal([join(__dirname, '../tests/tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/')])\n          expect(config.options.types).to.deep.equal(['tsconfig-tsnode-types'])\n          expect(options.pretty).to.equal(true)\n          expect(options.skipIgnore).to.equal(false)\n          expect(options.transpileOnly).to.equal(true)\n          expect(options.require).to.deep.equal([join(__dirname, '../tests/tsconfig-options/required1.js')])\n          return done()\n        })\n      })\n    })\n\n    describe('compiler host', function () {\n      it('should execute cli', function (done) {\n        exec(`${cmd} --compiler-host tests/hello-world`, function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('Hello, world!\\n')\n\n          return done()\n        })\n      })\n    })\n\n    it('should transpile files inside a node_modules directory when not ignored', function (done) {\n      exec(`${cmdNoProject} --script-mode tests/from-node-modules/from-node-modules`, function (err, stdout, stderr) {\n        if (err) return done(`Unexpected error: ${err}\\nstdout:\\n${stdout}\\nstderr:\\n${stderr}`)\n        expect(JSON.parse(stdout)).to.deep.equal({\n          external: {\n            tsmri: { name: 'typescript-module-required-internally' },\n            jsmri: { name: 'javascript-module-required-internally' },\n            tsmii: { name: 'typescript-module-imported-internally' },\n            jsmii: { name: 'javascript-module-imported-internally' }\n          },\n          tsmie: { name: 'typescript-module-imported-externally' },\n          jsmie: { name: 'javascript-module-imported-externally' },\n          tsmre: { name: 'typescript-module-required-externally' },\n          jsmre: { name: 'javascript-module-required-externally' }\n        })\n        done()\n      })\n    })\n\n    describe('should respect maxNodeModulesJsDepth', function () {\n      it('for unscoped modules', function (done) {\n        exec(`${cmdNoProject} --script-mode tests/maxnodemodulesjsdepth`, function (err, stdout, stderr) {\n          expect(err).to.not.equal(null)\n          expect(stderr.replace(/\\r\\n/g, '\\n')).to.contain(\n            'TSError: ⨯ Unable to compile TypeScript:\\n' +\n            \"other.ts(4,7): error TS2322: Type 'string' is not assignable to type 'boolean'.\\n\" +\n            '\\n'\n          )\n          done()\n        })\n      })\n\n      it('for @scoped modules', function (done) {\n        exec(`${cmdNoProject} --script-mode tests/maxnodemodulesjsdepth-scoped`, function (err, stdout, stderr) {\n          expect(err).to.not.equal(null)\n          expect(stderr.replace(/\\r\\n/g, '\\n')).to.contain(\n            'TSError: ⨯ Unable to compile TypeScript:\\n' +\n            \"other.ts(7,7): error TS2322: Type 'string' is not assignable to type 'boolean'.\\n\" +\n            '\\n'\n          )\n          done()\n        })\n      })\n    })\n  })\n\n  describe('register', function () {\n    let registered: tsNodeTypes.Service\n    let moduleTestPath: string\n    before(() => {\n      registered = register({\n        project: PROJECT,\n        compilerOptions: {\n          jsx: 'preserve'\n        }\n      })\n      moduleTestPath = require.resolve('../tests/module')\n    })\n\n    afterEach(() => {\n      // Re-enable project after every test.\n      registered.enabled(true)\n    })\n\n    it('should be able to require typescript', function () {\n      const m = require(moduleTestPath)\n\n      expect(m.example('foo')).to.equal('FOO')\n    })\n\n    it('should support dynamically disabling', function () {\n      delete require.cache[moduleTestPath]\n\n      expect(registered.enabled(false)).to.equal(false)\n      expect(() => require(moduleTestPath)).to.throw(/Unexpected token/)\n\n      delete require.cache[moduleTestPath]\n\n      expect(registered.enabled()).to.equal(false)\n      expect(() => require(moduleTestPath)).to.throw(/Unexpected token/)\n\n      delete require.cache[moduleTestPath]\n\n      expect(registered.enabled(true)).to.equal(true)\n      expect(() => require(moduleTestPath)).to.not.throw()\n\n      delete require.cache[moduleTestPath]\n\n      expect(registered.enabled()).to.equal(true)\n      expect(() => require(moduleTestPath)).to.not.throw()\n    })\n\n    if (semver.gte(ts.version, '2.7.0')) {\n      it('should support compiler scopes', function () {\n        const calls: string[] = []\n\n        registered.enabled(false)\n\n        const compilers = [\n          register({ dir: join(TEST_DIR, 'scope/a'), scope: true }),\n          register({ dir: join(TEST_DIR, 'scope/b'), scope: true })\n        ]\n\n        compilers.forEach(c => {\n          const old = c.compile\n          c.compile = (code, fileName, lineOffset) => {\n            calls.push(fileName)\n\n            return old(code, fileName, lineOffset)\n          }\n        })\n\n        try {\n          expect(require('../tests/scope/a').ext).to.equal('.ts')\n          expect(require('../tests/scope/b').ext).to.equal('.ts')\n        } finally {\n          compilers.forEach(c => c.enabled(false))\n        }\n\n        expect(calls).to.deep.equal([\n          join(TEST_DIR, 'scope/a/index.ts'),\n          join(TEST_DIR, 'scope/b/index.ts')\n        ])\n\n        delete require.cache[moduleTestPath]\n\n        expect(() => require(moduleTestPath)).to.throw()\n      })\n    }\n\n    it('should compile through js and ts', function () {\n      const m = require('../tests/complex')\n\n      expect(m.example()).to.equal('example')\n    })\n\n    it('should work with proxyquire', function () {\n      const m = proxyquire('../tests/complex', {\n        './example': 'hello'\n      })\n\n      expect(m.example()).to.equal('hello')\n    })\n\n    it('should work with `require.cache`', function () {\n      const { example1, example2 } = require('../tests/require-cache')\n\n      expect(example1).to.not.equal(example2)\n    })\n\n    it('should use source maps', function (done) {\n      try {\n        require('../tests/throw')\n      } catch (error) {\n        expect(error.stack).to.contain([\n          'Error: this is a demo',\n          `    at Foo.bar (${join(__dirname, '../tests/throw.ts')}:100:18)`\n        ].join('\\n'))\n\n        done()\n      }\n    })\n\n    describe('JSX preserve', () => {\n      let old: (m: Module, filename: string) => any\n      let compiled: string\n\n      before(function () {\n        old = require.extensions['.tsx']! // tslint:disable-line\n        require.extensions['.tsx'] = (m: any, fileName) => { // tslint:disable-line\n          const _compile = m._compile\n\n          m._compile = (code: string, fileName: string) => {\n            compiled = code\n            return _compile.call(this, code, fileName)\n          }\n\n          return old(m, fileName)\n        }\n      })\n\n      after(function () {\n        require.extensions['.tsx'] = old // tslint:disable-line\n      })\n\n      it('should use source maps', function (done) {\n        try {\n          require('../tests/with-jsx.tsx')\n        } catch (error) {\n          expect(error.stack).to.contain('SyntaxError: Unexpected token')\n        }\n\n        expect(compiled).to.match(SOURCE_MAP_REGEXP)\n\n        done()\n      })\n    })\n  })\n\n  describe('create', () => {\n    let service: tsNodeTypes.Service\n    before(() => {\n      service = create({ compilerOptions: { target: 'es5' }, skipProject: true })\n    })\n\n    it('should create generic compiler instances', () => {\n      const output = service.compile('const x = 10', 'test.ts')\n      expect(output).to.contain('var x = 10;')\n    })\n\n    describe('should get type information', () => {\n      it('given position of identifier', () => {\n        expect(service.getTypeInfo('/**jsdoc here*/const x = 10', 'test.ts', 21)).to.deep.equal({\n          comment: 'jsdoc here',\n          name: 'const x: 10'\n        })\n      })\n      it('given position that does not point to an identifier', () => {\n        expect(service.getTypeInfo('/**jsdoc here*/const x = 10', 'test.ts', 0)).to.deep.equal({\n          comment: '',\n          name: ''\n        })\n      })\n    })\n  })\n\n  describe('issue #1098', () => {\n    function testIgnored (ignored: tsNodeTypes.Service['ignored'], allowed: string[], disallowed: string[]) {\n      for (const ext of allowed) {\n        expect(ignored(join(__dirname, `index${ext}`))).equal(false, `should accept ${ext} files`)\n      }\n      for (const ext of disallowed) {\n        expect(ignored(join(__dirname, `index${ext}`))).equal(true, `should ignore ${ext} files`)\n      }\n    }\n\n    it('correctly filters file extensions from the compiler when allowJs=false and jsx=false', () => {\n      const { ignored } = create({ compilerOptions: { }, skipProject: true })\n      testIgnored(ignored, ['.ts', '.d.ts'], ['.js', '.tsx', '.jsx', '.mjs', '.cjs', '.xyz', ''])\n    })\n    it('correctly filters file extensions from the compiler when allowJs=true and jsx=false', () => {\n      const { ignored } = create({ compilerOptions: { allowJs: true }, skipProject: true })\n      testIgnored(ignored, ['.ts', '.js', '.d.ts'], ['.tsx', '.jsx', '.mjs', '.cjs', '.xyz', ''])\n    })\n    it('correctly filters file extensions from the compiler when allowJs=false and jsx=true', () => {\n      const { ignored } = create({ compilerOptions: { allowJs: false, jsx: 'preserve' }, skipProject: true })\n      testIgnored(ignored, ['.ts', '.tsx', '.d.ts'], ['.js', '.jsx', '.mjs', '.cjs', '.xyz', ''])\n    })\n    it('correctly filters file extensions from the compiler when allowJs=true and jsx=true', () => {\n      const { ignored } = create({ compilerOptions: { allowJs: true, jsx: 'preserve' }, skipProject: true })\n      testIgnored(ignored, ['.ts', '.tsx', '.js', '.jsx', '.d.ts'], ['.mjs', '.cjs', '.xyz', ''])\n    })\n  })\n\n  describe('esm', () => {\n    this.slow(1000)\n\n    const cmd = `node --loader ts-node/esm`\n\n    if (semver.gte(process.version, '13.0.0')) {\n      it('should compile and execute as ESM', (done) => {\n        exec(`${cmd} index.ts`, { cwd: join(__dirname, '../tests/esm') }, function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('foo bar baz biff libfoo\\n')\n\n          return done()\n        })\n      })\n      it('should use source maps', function (done) {\n        exec(`${cmd} throw.ts`, { cwd: join(__dirname, '../tests/esm') }, function (err, stdout) {\n          expect(err).not.to.equal(null)\n          expect(err!.message).to.contain([\n            `${pathToFileURL(join(__dirname, '../tests/esm/throw.ts'))}:100`,\n            '  bar () { throw new Error(\\'this is a demo\\') }',\n            '                 ^',\n            'Error: this is a demo'\n          ].join('\\n'))\n\n          return done()\n        })\n      })\n\n      describe('supports experimental-specifier-resolution=node', () => {\n        it('via --experimental-specifier-resolution', (done) => {\n          exec(`${cmd} --experimental-specifier-resolution=node index.ts`, { cwd: join(__dirname, '../tests/esm-node-resolver') }, function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('foo bar baz biff libfoo\\n')\n\n            return done()\n          })\n        })\n        it('via --es-module-specifier-resolution alias', (done) => {\n          exec(`${cmd} --experimental-modules --es-module-specifier-resolution=node index.ts`, { cwd: join(__dirname, '../tests/esm-node-resolver') }, function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('foo bar baz biff libfoo\\n')\n\n            return done()\n          })\n        })\n        it('via NODE_OPTIONS', (done) => {\n          exec(`${cmd} index.ts`, {\n            cwd: join(__dirname, '../tests/esm-node-resolver'),\n            env: {\n              ...process.env,\n              NODE_OPTIONS: '--experimental-specifier-resolution=node'\n            }\n          }, function (err, stdout) {\n            expect(err).to.equal(null)\n            expect(stdout).to.equal('foo bar baz biff libfoo\\n')\n\n            return done()\n          })\n        })\n      })\n\n      it('throws ERR_REQUIRE_ESM when attempting to require() an ESM script while ESM loader is enabled', function (done) {\n        exec(`${cmd} ./index.js`, { cwd: join(__dirname, '../tests/esm-err-require-esm') }, function (err, stdout, stderr) {\n          expect(err).to.not.equal(null)\n          expect(stderr).to.contain('Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:')\n\n          return done()\n        })\n      })\n\n      it('defers to fallback loaders when URL should not be handled by ts-node', function (done) {\n        exec(`${cmd} index.mjs`, {\n          cwd: join(__dirname, '../tests/esm-import-http-url')\n        }, function (err, stdout, stderr) {\n          expect(err).to.not.equal(null)\n          // expect error from node's default resolver\n          expect(stderr).to.match(/Error \\[ERR_UNSUPPORTED_ESM_URL_SCHEME\\]:.*(?:\\n.*){0,1}\\n *at defaultResolve/)\n          return done()\n        })\n      })\n\n      it('should bypass import cache when changing search params', (done) => {\n        exec(`${cmd} index.ts`, { cwd: join(__dirname, '../tests/esm-import-cache') }, function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('log1\\nlog2\\nlog2\\n')\n\n          return done()\n        })\n      })\n\n      it('should support transpile only mode via dedicated loader entrypoint', (done) => {\n        exec(`${cmd}/transpile-only index.ts`, { cwd: join(__dirname, '../tests/esm-transpile-only') }, function (err, stdout) {\n          expect(err).to.equal(null)\n          expect(stdout).to.equal('')\n\n          return done()\n        })\n      })\n      it('should throw type errors without transpile-only enabled', (done) => {\n        exec(`${cmd} index.ts`, { cwd: join(__dirname, '../tests/esm-transpile-only') }, function (err, stdout) {\n          if (err === null) {\n            return done('Command was expected to fail, but it succeeded.')\n          }\n\n          expect(err.message).to.contain('Unable to compile TypeScript')\n          expect(err.message).to.match(new RegExp('TS2345: Argument of type \\'(?:number|1101)\\' is not assignable to parameter of type \\'string\\'\\\\.'))\n          expect(err.message).to.match(new RegExp('TS2322: Type \\'(?:\"hello world\"|string)\\' is not assignable to type \\'number\\'\\\\.'))\n          expect(stdout).to.equal('')\n\n          return done()\n        })\n      })\n    }\n\n    it('executes ESM as CJS, ignoring package.json \"types\" field (for backwards compatibility; should be changed in next major release to throw ERR_REQUIRE_ESM)', function (done) {\n      exec(`${BIN_PATH} ./tests/esm-err-require-esm/index.js`, function (err, stdout) {\n        expect(err).to.equal(null)\n        expect(stdout).to.equal('CommonJS\\n')\n\n        return done()\n      })\n    })\n  })\n})\n"]}

Youez - 2016 - github.com/yon3zu
LinuXploit