unjquerify
unjquerify copied to clipboard
AST-based tool for converting jQuery code to modern vanilla JavaScript
In the character counter example, for example the jQuery each function is not converted to forEach And it looks like while converting jQuery using this the converted code isn't working...
[The transformation list on You Don't Need jQuery](https://github.com/nefe/You-Dont-Need-jQuery/blob/master/README.md) will be used as a milestone indicator. - [x] [1.0 Query by selector](https://github.com/nefe/You-Dont-Need-jQuery#1.0) - [x] [1.1 Query by class](https://github.com/nefe/You-Dont-Need-jQuery#1.1) - [x] [1.2...
When transforming `$("a").hide().hide().hide().hide()`, extra newlines will be inserted between each output statement, resulting in the following: ``` const element = document.querySelectorAll("a"); element.style.display = "none"; element.style.display = "none"; ... ``` As...
For functions that cause mutations, the current approach of translating `$("a").hide()` to `document.querySelectorAll("a").forEach(e => e.style.display = "none");` is possible, but functions that return values will not be transformed as expected....
Since the documentation is used exclusively in [unjquerify-frontend](https://github.com/devbridie/unjquerify-frontend) and not here, the documentation, references, and samples should be moved from here to there.
Example: ```javascript const x = $("a.nav-link"); x.hide(); x.show(); ``` For simple assignments, the engine should be able to follow references to statically determine if an element is a jQuery where...
Example: [DocumentReadyPlugin](https://unjquerify.com/documentation/plugin/DocumentReadyPlugin). The example `$(document).ready(e)` does not transform due to [a `isFunctionExpression` check on the first argument](https://github.com/devbridie/unjquerify/blob/74e4e932d50fe8021d4b6a999327d6767be0dd98/src/plugins/events/document-loading/document.ready.plugin.ts#L47). Whether or not this check should be done at all is one thing,...