
Security News
Lovable’s OJ Rewrites Vite’s Dev Server in Rust as AI Lowers the Cost of Forking Open Source
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.
@neodrag/core
Advanced tools
The foundational drag functionality through a plugin-based architecture.
npm install @neodrag/core@next
Basic usage
import { DraggableFactory, DEFAULTS } from '@neodrag/core';
import { axis, grid } from '@neodrag/core/plugins';
const factory = new DraggableFactory(DEFAULTS);
// Create draggable with plugins
const dragInstance = factory.draggable(element, [axis('x'), grid([10, 10])]);
// Clean up when done
dragInstance.destroy();
With compartments for reactivity
import { Compartment } from '@neodrag/core';
const axisCompartment = new Compartment(() => axis('x'));
const dragInstance = factory.draggable(element, [axisCompartment.current, grid([10, 10])]);
// Update axis dynamically
axisCompartment.current = () => axis('y');
Error handling
const factory = new DraggableFactory({
...DEFAULTS,
onError: (error) => {
console.error(`Error in ${error.phase} phase:`, error.error);
if (error.plugin) {
console.error(`Plugin: ${error.plugin.name}, Hook: ${error.plugin.hook}`);
}
},
});
Available plugins
import {
axis,
bounds,
BoundsFrom,
grid,
events,
controls,
ControlFrom,
disabled,
threshold,
touchAction,
transform,
} from '@neodrag/core/plugins';
const plugins = [
axis('x'),
bounds(BoundsFrom.viewport()),
grid([20, 20]),
events({
start: (ctx) => console.log('Drag started'),
drag: (ctx) => console.log('Dragging'),
end: (ctx) => console.log('Drag ended'),
}),
];
This core powers all framework-specific packages:
// Svelte
import { draggable, axis } from '@neodrag/svelte';
// React
import { useDraggable, axis } from '@neodrag/react';
// Vue
import { vDraggable, axis } from '@neodrag/vue';
// Solid
import { useDraggable, axis } from '@neodrag/solid';
// Vanilla
import { Draggable, axis } from '@neodrag/vanilla';
MIT License © Puru Vijay
FAQs
Unknown package
The npm package @neodrag/core receives a total of 354,582 weekly downloads. As such, @neodrag/core popularity was classified as popular.
We found that @neodrag/core 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.

Security News
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.