From ba1a00ee1a9bf90ca284e241cd8f137216c2f2aa Mon Sep 17 00:00:00 2001 From: Felix <82083136+Felix-kln@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:32:47 +0100 Subject: [PATCH] `no-empty-file`: Support `.jsx` and `.tsx` extensions (#2002) Co-authored-by: fisker Cheung --- rules/no-empty-file.js | 4 +-- test/no-empty-file.mjs | 7 ++--- test/snapshots/no-empty-file.mjs.md | 36 ++++++++++++++++++++++++-- test/snapshots/no-empty-file.mjs.snap | Bin 986 -> 1052 bytes 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/rules/no-empty-file.js b/rules/no-empty-file.js index db750c049b..2d82a888d1 100644 --- a/rules/no-empty-file.js +++ b/rules/no-empty-file.js @@ -17,9 +17,9 @@ const hasTripeSlashDirectives = comments => /** @param {import('eslint').Rule.RuleContext} context */ const create = context => { - const filename = context.getPhysicalFilename().toLowerCase(); + const filename = context.getPhysicalFilename(); - if (!/\.(?:js|mjs|cjs|ts|mts|cts)$/.test(filename)) { + if (!/\.(?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$/i.test(filename)) { return; } diff --git a/test/no-empty-file.mjs b/test/no-empty-file.mjs index 1fa0816494..cc8113acf5 100644 --- a/test/no-empty-file.mjs +++ b/test/no-empty-file.mjs @@ -35,7 +35,6 @@ test.snapshot({ 'md', 'vue', 'svelte', - 'tsx', ].map(extension => ({code: '', filename: `example.${extension}`})), ...[ 'd.ts', @@ -69,9 +68,11 @@ test.snapshot({ ].map(code => ({code, filename: 'example.js'})), ...[ 'mjs', - 'cjs', + 'cJs', 'ts', - 'mts', + 'tsx', + 'jsx', + 'MTS', 'cts', ].map(extension => ({code: '{}', filename: `example.${extension}`})), ], diff --git a/test/snapshots/no-empty-file.mjs.md b/test/snapshots/no-empty-file.mjs.md index 0bbc8f1f61..d30116737d 100644 --- a/test/snapshots/no-empty-file.mjs.md +++ b/test/snapshots/no-empty-file.mjs.md @@ -355,7 +355,7 @@ Generated by [AVA](https://avajs.dev). > Filename `␊ - example.cjs␊ + example.cJs␊ ` > Error 1/1 @@ -387,7 +387,7 @@ Generated by [AVA](https://avajs.dev). > Filename `␊ - example.mts␊ + example.tsx␊ ` > Error 1/1 @@ -400,6 +400,38 @@ Generated by [AVA](https://avajs.dev). ## Invalid #25 1 | {} +> Filename + + `␊ + example.jsx␊ + ` + +> Error 1/1 + + `␊ + > 1 | {}␊ + | ^^ Empty files are not allowed.␊ + ` + +## Invalid #26 + 1 | {} + +> Filename + + `␊ + example.MTS␊ + ` + +> Error 1/1 + + `␊ + > 1 | {}␊ + | ^^ Empty files are not allowed.␊ + ` + +## Invalid #27 + 1 | {} + > Filename `␊ diff --git a/test/snapshots/no-empty-file.mjs.snap b/test/snapshots/no-empty-file.mjs.snap index f383ae6daea95ccda6889cacc4737e40c506ae38..e8787cb4325ecd82ea49e7671eea42bd8fad9944 100644 GIT binary patch literal 1052 zcmV+%1mpWbRzVIkVOkmMY zC_WCvN(Vf*-fv}5^qpD#*K%LmJ0`H`LnxMKWMI%Fg|MesudB6Ij#= ziYtKF5%aI-?u&5mrPXglLfcus^7@G{=EqsyOG`+Qj2`st>ieG?K zwEUU#zUqwb8mBpYc{-RXLC(U zTy{HOIq6z}%eF?wOeV1CBq+WG#5w!@GxE+neLLrA%fh=kPDxB)(JxSJ#LB=>T2)do z{YQx3Y-`(zTsw4uz6FW;K=BkHu2E%KyLqk6O}lM{<*DXI_Do>Wbx`~Vh$r8Ecu_is zTmLP?9R(AaI(H_ps2CdrX8`f^nfd%Se?Kqodu`T!_QZ^OCa`ET6dwfQowNS^e5akJ zeXeM$zjVP_7ACOhZ79}cXJFWqwL&vt*~=MKc6Aq%j$fP31QvCH;wB(IK67^Vo#PLK zpNU*=ruR`QOp4 zRy!S~<2`{1A_~REoD2-#cRTiJY+rx6JB62Hwb{dKOkhzzDDDB`fAW=cLN5qE%vgE% zrLMplRwl6MGAMol#LNur;C#r)${@(d!zdSWX57kUwxNW)U z))_#ptFDFHL4v^uZX9pFpUuQgEdwCU;>NB>e^Z)r&GmjD~Q=JV}U#)1dl2LHFZ;A5Y${{Mg7v^ zBK@SyJpI(XGN4f@so3I|im^<;FnhmyKUK}8y~`b7WwJi3OvZ=|s@UTKwMPk&ua&Sw zJ6Q#3GIdL6!hr=YoDz$3v6M_?d7z}Yf<7M5K}}CoP5VkplvRhxUUZ5@S_T58ZGtR% Wr382#Wo=D-9R&biys-y_4FCXT1og6AAay!e`D)wCa`EH z6dwm-r30Q@@3*oj`p&HWYq_uO9TQmeAr#9qGBB9@#E_jj4VqO8mi>^_ z*5;<&w!-pMb0d2uuxKb0F9zbtw;x`V&f(U7%Wy}*M5fN22`su7iuu_X7JgHU5^Yb$4JQTk&RHk^ddt zYPHi*I^GkQz@pAj+z7x%3>9h=^tBX{ z^K)}k^GX!7^tlv(phh7M87R2s7L-&fq-Ex$7Aqtcr7Gm*mnbCWk(^Eyv#lUz!;A&;j1WAk*Z@m~*4ETbg+Wkrl@;|%i;MJ=GV}CP z^U8omrKDnuUn<5j{le`1?)_9Xm-a4qfEAtku%Z(qGN@vY3)CJZM7~zS675v=6SxdX zEY8JJfRI-a(5t}KL5+5*CQ&6Na@>jtgk)OPhV%>s^4y9P2=qz`@T$bxn)s>&0GYL& ID2@yO0A}{&!T