Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Ree.js is a library that makes web development faster and easier by providing features such as URL Imports, JSX support, and server-side rendering. URL Imports are a way of importing modules from URLs instead of local files or npm packages. This can reduce the download size and improve the performance of your web applications. It doesn't hurt to use the latest features for better performance, right?
Documentation is available at here . If you find any mistakes, please make an issue. Incase you have any questions, please ask them on our Discord Server
We welcome all contributions. Please read our CONTRIBUTING.md
specialFileImport.js
in @reejs/imports
to be more readableHead
, Link
& Image
(Idea from Nextjs)@reejs/utils/log.js
when import maps has@reejs/utils
). I expect packit to be able to handle this, rather than @reejs/imports
handling it. Packit should probably save this data to a seperate object in import maps from where @reejs/imports
can read it in future.Ran on Pentium G620 @ 2.60GHz (released in Q2'11), 8GB DDR3 RAM, Arch Linux on 1st June 2023 Reejs v0.9.15, Nodejs v18.16.0.
If you want to view the latest benchmarks online, please visit https://ree.js.org/graph (Uses GitHub Actions to run benchmarks on every commit and everyday)
Important Note: This tests were ran manually, and the observations were noted manually. Since different frameworks have different ways and ideas of how it should run, please think of this benchmarks as approx data (except folder sizes). Only Reejs Packit provides required data, and nextjs dev builds run transpilers 2-3 times when booting up, so its written as it is.
Reejs: default React project with features preact,twind,api,static
Vite: default react project
Nextjs: default nextjs project: no typescript, no eslint, no tailwind, no app router.
Transpiler | Time |
---|---|
Packit | 98ms |
Vite | 547ms |
Swc (Nextjs) | 5.8s + 845ms + 1.8s |
Transpiler | Time |
---|---|
Packit | 17ms |
Vite | 225ms |
Swc (Nextjs) | 1.4s + 932ms + 422ms |
Transpiler | Time |
---|---|
Packit | 172ms |
Vite | 2.31s |
Swc (Nextjs) | 37.68s |
Running du -sh .
inside the project folder after installing dependencies, running both dev and prod build. No files must be deleted.
Reejs - 1.8MiB Vite - 89MiB Nextjs - 333MiB
While you might say Different Framework's default projects are having images, css files shoved right into them, they don't make that much of a difference between 1MiB, 89MiB, 333MiB.
Reejs Uses Hono Server under the hood, and that's one of the reasons how we could have such a small ram and storage footprint, alongwith built-in support for running on different runtimes and services out of the box.
Vite Uses Their Own (Not Disclosed/Made specifically for Vite) Server
Nextjs Uses Expressjs
You can find Server Benchmarks over https://github.com/denosaurs/bench
"Ree" is based on a meme that expresses one's intense rage or frustation typically associated with the Pepe character. More Info on knowyourmeme.com
I (@renhiyama) started working on my own web framework when I realised older or low end devices can no longer keep up with the speed slow builds of Transpilers and Web Frameworks. I thought of using different technologies and stupid ideas that just seem to work and it turned out that it's way faster & better than the current generation of Web Frameworks. While Reejs does try to solve compability issues, if you find any bugs, please make an issue.
FAQs
Finally the best of both worlds: Fast build times and
We found that reejs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.