
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
@oruga-ui/oruga-next
Advanced tools
Oruga UI is like a caterpillar, minimal and yet functional. It's in your hands turning it into a butterfly
(🐛) => 🦋
Oruga is a lightweight UI components library for Vue.js without any dependency. It offers a set of easily customisable components and doesn't depend on any specific style or CSS framework (like Bootstrap, Bulma, TailwindCSS, etc...). Therefore, it doesn't provide a grid system or CSS utilities, but you can integrate any CSS framework you like. Oruga provides you with a set of functional components, so you can focus only on the UI/UX aspects of your application and can be entirely flexible for future changes without having to touch a line of JavaScript.
If you need a component library and want to easily apply your custom styles, Oruga is the library for you! 🐛
In addition, if you don't want to style everything yourself, we've created several themes to provide you with a variety of ready-to-use styles. 🦋
Browse online documentation here.
💅 For more info about components customization, read carefully the "customization" section in the documentation.
🕹 To see Oruga in action, go to the "example" section in the documentation.
Note: the source code of the documentation examples can be found in the
examplesdirectories for each component, it serves as the demo as well.
🐛 Oruga is available for Vue.js version 3.x
npm install @oruga-ui/oruga-next
To get started quickly, use Oruga to register all components:
import { createApp } from 'vue'
import Oruga from '@oruga-ui/oruga-next';
createApp(...).use(Oruga);
To use tree shaking, either register component manually:
import { createApp } from 'vue'
import { OField, OInput } from '@oruga-ui/oruga'
createApp(...)
.use(OField)
.use(OInput)
Oruga's superpower is its configurability and its CSS framework agnostic approach. Each component can be individually customised and configured by defining specific classes using a class-mapping approach. Therefore, Oruga comes without any styling by default. However, there are several official predefined configurations called themes, which you can include and extend to give your application a individual look and feel. And all components came with predefined classes by default.
Please read the "configuration" section in Oruga documentation.
If you want to see an example with a fully customized registration form using Tailwind, Bulma, Bootstrap, Material or any other CSS framework have a look at the official Oruga multiframework example (source code available here) or if you're more familiar with TailwindCSS 2 give our official TailwindCSS Demo a try (source code here)
Oruga doesn't provide a Nuxt.js module at the moment.
You can use Nuxt.js plugins system adding a file (e.g. oruga.js) in your plugins folder containing:
import Oruga from "@oruga-ui/oruga-next";
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(Oruga);
});
To make this plugin available in your app, add this file to the plugins array in your nuxt.config.js
plugins: [{ src: "~plugins/oruga.js" }];
To understand how the plugins work with Nuxt.js, take a look at the NuxtJS plugin documentation.
Please see the contributing guidelines.
➜ Join the Oruga Discord server.
Oruga uses Semantic Versioning 2.0.0 for package versions.
While it's still in beta, versions will follow this pattern: v0.Y.Z, where:
Walter Tommasi | Andrea Stagi | Marcel Moravek |
Thank you to everyone involved for improving this project, day by day 💚
Oruga logo designed by Matteo Guadagnini
Code released under MIT license.
FAQs
UI components for Vue.js and CSS framework agnostic
The npm package @oruga-ui/oruga-next receives a total of 2,647 weekly downloads. As such, @oruga-ui/oruga-next popularity was classified as popular.
We found that @oruga-ui/oruga-next demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers 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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.