Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
@vue/reactivity
Advanced tools
The @vue/reactivity package is part of the Vue.js framework, designed to provide a standalone reactivity system that can be used outside of Vue components. It allows developers to create reactive objects and track changes to them, enabling the development of responsive applications. The package includes features such as reactive state, computed values, and watchers.
Creating reactive objects
This feature allows you to create a reactive object. Any changes to the object's properties will be tracked, making it useful for building responsive interfaces.
import { reactive } from '@vue/reactivity';
const state = reactive({ count: 0 });
Creating computed properties
Computed properties automatically calculate their value based on reactive state. They are recalculated only when their dependencies change, making them efficient.
import { computed } from '@vue/reactivity';
const count = reactive({ num: 1 });
const plusOne = computed(() => count.num + 1);
Watching for changes
The watch function allows you to execute a callback function whenever a specified reactive property changes, enabling you to respond to changes in the state.
import { watch } from '@vue/reactivity';
const state = reactive({ count: 0 });
watch(() => state.count, (newVal, oldVal) => {
console.log(`Count changed from ${oldVal} to ${newVal}`);
});
MobX is a state management library that also provides reactivity. It uses observables and actions to manage state changes. Compared to @vue/reactivity, MobX can be used with any framework and offers a more opinionated approach to state management.
Immer is designed to work with immutable state, making it easier to update complex state without mutating the original state. Unlike @vue/reactivity, which tracks changes to mutable objects, Immer uses a copy-on-write mechanism.
RxJS is a library for reactive programming using Observables. It allows you to compose asynchronous and event-based programs. While @vue/reactivity focuses on reactive state for UIs, RxJS provides a broader set of tools for handling asynchronous data streams.
This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. @vue/runtime-dom
), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.
For full exposed APIs, see src/index.ts
. You can also run yarn build reactivity --types
from repo root, which will generate an API report at temp/reactivity.api.md
.
The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:
Array
, Map
, WeakMap
, Set
and WeakSet
.FAQs
@vue/reactivity
The npm package @vue/reactivity receives a total of 3,165,386 weekly downloads. As such, @vue/reactivity popularity was classified as popular.
We found that @vue/reactivity demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 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
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.