<story><title>Show HN: Auto-generate vanilla JavaScript alternatives for jQuery methods</title><url>https://github.com/sachinchoolur/replace-jquery</url></story><parent_chain></parent_chain><comment><author>fabiospampinato</author><text>I maintain an alternative to jQuery called Cash [0], this looks cool! If you are interested in joining forces OP it&amp;#x27;d be cool to have this capability in Cash itself. IMO that&amp;#x27;d be the best of both world because this feature is cool and useful, and Cash&amp;#x27;s methods are most probably closer to jQuery&amp;#x27;s, better tested and there are more of them available (76 vs 44).&lt;p&gt;For example, your `on` method [1]:&lt;p&gt;- Doesn&amp;#x27;t support event delegation.&lt;p&gt;- Doesn&amp;#x27;t support event namespaces.&lt;p&gt;- Doesn&amp;#x27;t support receiving an argument mapping events to callbacks like jQuery also can.&lt;p&gt;- It seems to have subtle bugs, like the way the events string is split makes so that double consecutive spaces in it (which can happen as a result of a typo) will result in listening to the empty string event. Basically: &amp;#x27;foo  bar&amp;#x27;.split ( &amp;#x27; &amp;#x27; ) =&amp;gt; [&amp;#x27;foo&amp;#x27;, &amp;#x27;&amp;#x27;, &amp;#x27;bar&amp;#x27;] (there are two spaces between foo and bar).&lt;p&gt;The `on` method we are using in Cash [2] is a lot more convoluted than that. On one hand it requires more bytes, but on the other the chances of it behaving exactly like jQuery&amp;#x27;s are much higher. In fact we can also run jQuery&amp;#x27;s test suite with Cash to spot issues.&lt;p&gt;Feel free to ping me if you are interested in joining forces.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&lt;/a&gt;&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;sachinchoolur&amp;#x2F;replace-jquery#on&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;sachinchoolur&amp;#x2F;replace-jquery#on&lt;/a&gt;&lt;p&gt;[2]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;src&amp;#x2F;events&amp;#x2F;on.ts&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;src&amp;#x2F;even...&lt;/a&gt;</text></comment>
<story><title>Show HN: Auto-generate vanilla JavaScript alternatives for jQuery methods</title><url>https://github.com/sachinchoolur/replace-jquery</url></story><parent_chain></parent_chain><comment><author>manigandham</author><text>Vanilla JS refers to Javascript that uses native browser methods instead of relying on a library. This is just replacing jQuery with another library constructed on the fly, but there are already minimal and modern alternatives with the jQuery API like zepto and cash.&lt;p&gt;1) &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fabiospampinato&amp;#x2F;cash&lt;/a&gt; 2) &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;madrobby&amp;#x2F;zepto&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;madrobby&amp;#x2F;zepto&lt;/a&gt;</text></comment>