
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.
vuse-rx is a bridge between Vue 3 and RxJS:
it connects reactive states and refs with observables and subjects
in a way that enforces separation of concerns and drastically reduces the amount of boilerplate code.
The highlights are:
useRxState - flux-like state management with observables;syncRef - synchronize two refs with either one-way or two-way binding;fromRef - create an observable from any ref or watch source;refFrom - create a ref from a promise/observable/iterable/generator or anything else;npm i -S vuse-rx
yard add vuse-rx
Below is a simple example of a counter component with a state and two simple reducers. See the docs for a more detailed and interactive example.
<script lang="ts">
import { useRxState, syncRef } from 'vuse-rx';
import { defineComponent, toRef } from 'vue';
import { tap } from 'rxjs/operators';
export default defineComponent({
setup() {
const {
actions: {
increment,
setCount
},
state,
state$ // state observable
} = useRxState({ count: 0 })({
// stateful reducer with mutation context
increment: () => (state, mutation) => ({
// automatic type inference for the state
count: state.count + 1
}),
// stateless reducer
setCount: (count: string) => ({
// custom business logic
count: isNaN(Number(count)) ? 0 : Number(count)
}),
}, state$ => state$.pipe(tap(state => console.log('state is updated', state))));
// "Activating" the actions
state$.subscribe(state => console.log('counter: ', state.count));
return {
increment,
setCount,
state,
// One-way data binding from reactive state (with type convertation)
countRef: syncRef(toRef(state, 'count'), { to: String }),
};
}
});
</script>
<template>
<p>Counter: {{ state.count }}</p>
<button @click="increment">increment</button>
<input v-model="countRef" @keyup.enter="setCount(countRef)"/>
</template>
Pull requests and stars are always welcome. ❤
For bugs and feature requests, please create an issue.
FAQs
First-class rxjs support for Vue 3
We found that vuse-rx demonstrated a not healthy version release cadence and project activity because the last version was released 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.

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.