
Research
Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.
@maveio/components
Advanced tools
privacy friendly (🇪🇺), iframe-less, video UI elements for videos hosted on mave.io
Components are pre-built rich UI components that help you build your own video experiences across desktop and mobile (web). There is no need to run external iframes these days. This library leverages the power of webcomponents, which makes it fast and has a small footprint. You can create a (free) account on mave.io.
Install • Usage • Contributing • Docs
Include the following in your site (and create an account):
<script
type="module"
src="https://cdn.video-dns.com/npm/@maveio/components/+esm"
></script>
and start using our components!
If you want to use our component library locally within your project:
npm install @maveio/components
And either use the regular version
// include in your script.js
import { Player } from '@maveio/components';
// and use the component in your html
<mave-player embed="{embed id}"></mave-player>;
or use our React specific version:
import { Player } from '@maveio/components/react';
function App() {
return (
<>
<Player embed="{embed id}"></Player>
</>
);
}
export default App;
or Vue:
<template>
<Player embed="{embed id}"></Player>
</template>
<script setup lang="ts">
import { Player } from '@maveio/components/vue';
</script>
Once you have uploaded your first video you can show your videos in different formats. The most common used component is <mave-player>:
<mave-player embed="{embed id}"></mave-player>
You can either change the settings through our interface or provide it as attributes. To learn which attributes you can use to change the appearance of your player, go to our docs.
<mave-clip embed="{embed id}"></mave-clip>
We often find ourselves using simple .mp4 files, because we just want to show a simple video as interface element (just like an image). We provide just that, but using the power of mave (multiple renditions, codecs and analytics) without any UI on top to control the video. Useful as header, or on an e-commerce site to show products for instance.
<mave-list token="<token>">
<template>
<div slot="item-title"></div>
<mave-img></mave-img>
</template>
</mave-list>
A more complex example is <mave-list>, which can be useful to show a collection of videos. Combined with our x-mave-pop attribute, it can become pretty powerful.
npm run start
When defining msg() run the following command: ./node_modules/.bin/lit-localize extract && ./node_modules/.bin/lit-localize build
FAQs
privacy friendly (🇪🇺), iframe-less, video UI elements for videos hosted on mave.io
The npm package @maveio/components receives a total of 670 weekly downloads. As such, @maveio/components popularity was classified as not popular.
We found that @maveio/components 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.

Research
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.