minimize
cash
Our great sponsors
minimize | cash | |
---|---|---|
0 | 19 | |
164 | 6,401 | |
- | - | |
0.0 | 4.5 | |
almost 4 years ago | 26 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minimize
We haven't tracked posts mentioning minimize yet.
Tracking mentions began in Dec 2020.
cash
- Stack bun pentru extensie chrome+firefox
-
Migrate jQuery to VanillaJS - UpgradeJS.com
If stock jQuery seems too big and you have a lot of code you'd prefer not to waste time converting, try something like jQuery-slim or cash.
-
jQuery Terminal: JavaScript Web Based Terminal Emulator
It was initially released in 2010. But there is a plan to create version 3.0 that will be rewritten in TypeScript and without dependency on jQuery. The plan is to use a modern Cash library to not modify the code that much.
-
The impact of removing jQuery on our web performance
If you are mainly using jquery for its DOM manipulation¹ rather than for browser compatibility² or things that didn't exist consistently in older browsers³ then there are much smaller libraries that do that job which may be worth looking into. https://github.com/fabiospampinato/cash or https://github.com/franciscop/umbrella to give a couple of examples. Some explicitly support IE11 so you are not dropping as much support for legacy browsers as you might otherwise.
Though if jQuery works for you and isn't a performance issue, then by all means keep with it. It may not be ideal, but good enough and does the job. Let the naysayers spend their time debating whether you should or not, and just get on with making things!
---
[1] selection engine, chained selections, chained modifications, …
[2] not the issue it once was, if you can abandon IE and old Android browsers from your supported UAs or can deal with any issues that crop up individually
[3] again, if you can afford to drop support for legacy UAs
-
Gov.uk drops jQuery from their front end
I think it's a bit of both. jQuery served the purpose of making web development more sane back in the day by handling all browser quirks. Part of that was the nice syntax.
I personally have tried to drop jQuery, but truthfully, its syntax is just much easier to use. Nowadays, I use Cash https://github.com/fabiospampinato/cash to give me the nice syntax without the bloat. It strikes the perfect balance for me.
-
Replacing jQuery (110kb) With UmbrellaJS (8kb)
Cash's maintainer here. I don't think this is true actually.
Zepto supports some methods that Cash doesn't, but you probably shouldn't use them to begin with, like $.ajax, $.isArray, $.fn.animate etc. In 2022 either better built-in solutions exist or better specialized tiny libraries exist.
Everything that is supported by both Zepto and Cash should either work identically or Cash's implementation should be closer to jQuery's. Just to mention one thing in this regard you can run jQuery's test suite with Cash, and Cash's test suite with jQuery, easily [0]. I've done so and looked at every single failed test manually a few times, I doubt nearly the same level of attention went into Zepto. Just to mention one difference: Cash supports jQuery-style event namespacing, Zepto just doesn't support this.
[0]: https://github.com/fabiospampinato/cash/blob/272132a6dc1d885...
-
Show HN: Auto-generate vanilla JavaScript alternatives for jQuery methods
I'm not sure I buy this argument, one can't just say that ~30kb isn't a lot because 30 is a number perceived as low, would 30kb be justified for a library that allows you to toggle a class on a node? Of course it wouldn't, you need to measure what you are getting for 30kb.
I don't buy the second part of the argument either, you can load a 1000kb image on a blog post and that won't have nearly the same effect as loading 1000kb of JS. The JS needs to be parsed and executed and maybe the site doesn't even work without it, the image can probably be rendered progressively, can be decoded in another thread, nothing is really waiting on it to load, and if it doesn't load at all it's not the end of the world anyway.
With ~4kb you can have Preact, is jQuery Slim (~26kb) giving you ~6.5x times as much value as Preact really? Maybe it is, probably not.
For some context I maintain a ~6kb rewrite of a subset of jQuery (https://github.com/fabiospampinato/cash), which IMO is much better value proposition for many use cases.
- 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: 'foo bar'.split ( ' ' ) => ['foo', '', 'bar'].
The `on` method we are using in Cash [1] 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's are much higher. In fact we can also run jQuery's test suite with Cash to spot issues.
Feel free to ping me if you are interested in joining forces.
[0]: https://github.com/fabiospampinato/cash
[1]: https://github.com/sachinchoolur/replace-jquery#on
[2]: https://github.com/fabiospampinato/cash/blob/master/src/even...
jQuery is not tree-shakeable because it uses a chainable API. Like you don't import `toggleClass`, you access the `toggleClass` property of a jQuery instance, so it can't be tree-shaken off automatically.
Even if somebody made a bundler plugin for doing the heavy work jQuery can only be partially compiled with whole modules excluded, you can't exclude individual methods (e.g. you can't just remove `toggleClass`, you have to remove also `addClass`, `removeClass` etc.).
FYI I maintain a jQuery alternative that supports being partially compiled with individual modules turned off, but it requires manually listing them: https://github.com/fabiospampinato/cash
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.
I don't see the point and there are already minimal and modern alternatives with the jQuery API like zepto and cash.
1) https://github.com/fabiospampinato/cash 2) https://github.com/madrobby/zepto
What are some alternatives?
jQuery - jQuery JavaScript Library
imagemin - [Unmaintained] Minify images seamlessly
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
zepto - Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API
umbrella - :umbrella: Lightweight javascript library for DOM manipulation and events
clean-css - Fast and efficient CSS optimizer for node.js and the Web
babili - :scissors: An ES6+ aware minifier based on the Babel toolchain (beta)
replace-jquery - Automatically finds jQuery methods from existing projects and generates vanilla js alternatives.
UglifyJS2 - JavaScript parser / mangler / compressor / beautifier toolkit
HTMLMinifier - Javascript-based HTML compressor/minifier (with Node.js support)
svgdom - Straightforward DOM implementation to make SVG.js run headless on Node.js
CalDOM - An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.