cache-manager
proposal-temporal
cache-manager | proposal-temporal | |
---|---|---|
1 | 93 | |
1,362 | 3,141 | |
1.9% | 1.6% | |
8.8 | 9.4 | |
6 days ago | 9 days ago | |
TypeScript | HTML | |
MIT License | GNU General Public License v3.0 or later |
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.
cache-manager
-
I finally escaped Node (and you can too)
If you've come from java and you like node, maybe you should spend some time with the alternatives?
A big part of it depends on what your exact requirements are but my experience with node didn't bite me for quite a while.
1/2) my experience is that even the supported packages have had glaring holes where they don't in other languages. Just to give a quick example, I had a project that used node-cache-manager to implement a tiered cache. There was a bug (in the cache library with the most stars) just last year where the cached values in a memory cache were passed by reference as opposed to copied. That meant any mutation on them affected other fetches from the cache! That would never happen in java. This particular bug took weeks to debug in production because values were being randomly mutated. After the fix, it also had different behaviour for when the cache value was new vs when it was retrieved. So two mutation bugs in the same cache codebase see https://github.com/BryanDonovan/node-cache-manager/issues/13....
I'm not blaming the author, he's a really good guy. What i'm saying is this is a wart both in the language and the library ecosystem - it's not unreasonable to expect a sensible caching library.
3) I agree that threads aren't necessarily the way to go. But can we agree that a language that CAN efficiently take advantage of multiple cores would be better? It's not just for your application. It's also for any compiling eg. typescript!
> Just check out the recent GitHub report where they were accidentally leaking information from other users into their sessions.
Concurrency is hard! except in a language where it isn't. In elixir each "thread" (erlang process) would get a different copy of the data so this type of bug doesn't happen.
4.
> Typescript (combined with autogenerating typescript type files from GraphQL schema definitions) has been honestly heaven for us, and the benefits I've seen with the structural-based typing of TS made me realize the huge number of times I had to battle the nominal-based typing of Java and the immense pain that caused.
That is an interesting assessment. I've never really noticed a difference in practice between structural/nominal type systems to the extent that i didn't realise typescript was structural. Normally if you have multiple classes implementing the same structure, you want an interface anyway to make sure they don't diverge i.e. there is a higher purpose for them being the same.
Would you have an example of how this would be a deal breaker?
I think besides this aspect, Kotlin might be up your alley.
proposal-temporal
-
Handling dates in JavaScript with Tempo
Even with the initial pitfalls of JavaScript dates, the ecosystem managed to tackle those challenges with good libraries. Some use the native JavaScript date while others have instead created their own robust tools to make up for the quirks JavaScript dates might have. With the JavaScript Temporal API about to roll out, working with dates and time in JavaScript will only improve.
-
Mastering Time: State-of-the-Art Date Handling in JavaScript
Temporal API
- TC39 Temporal Proposal
- Handling Hindu Lunisidereal Calendars
- Replacing Date with Temporal – ECMAScript Stage 3 Proposal
- Temporal, a modern date/time API for ECMAScript
- Temporal proposal reaches stage 4
-
Show HN: Trigger.dev V2 – a Temporal alternative for TypeScript devs
In the TypeScript/JavaScript world the only thing called "Temporal" that I was aware of is the Stage 3 proposal for an excellent new date and time module:
https://tc39.es/proposal-temporal/docs/
-
Updates from the 97th TC39 meeting
Time Zone Canonicalization: Stacked on Temporal to improve handling of changes to the IANA Time Zone Database.
- IAMA senior javascript dev, ask me anything
What are some alternatives?
node-lru-cache - A fast cache that automatically deletes the least recently used items
moment - Parse, validate, manipulate, and display dates in javascript.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
dayjs - ⏰ Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API
DenoStore - GraphQL caching solution for a Deno/Oak runtime environment that is modular, efficient and lightweight
Luxon - ⏱ A library for working with dates and times in JS
cacheable-request - Wrap native HTTP requests with RFC compliant cache support
date-fns - ⏳ Modern JavaScript date utility library ⌛️
axios-cache-interceptor - 📬 Small and efficient cache interceptor for axios. Etag, Cache-Control, TTL, HTTP headers and more!
You-Dont-Need-Momentjs - List of functions which you can use to replace moment.js + ESLint Plugin
sdk-typescript - Temporal TypeScript SDK
js-joda - :clock2: Immutable date and time library for javascript