
Security News
The Nightmare Before Deployment
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.
@vyuh/react-feature-system
Advanced tools
Core building blocks for creating content-driven React applications
Website • Documentation • GitHub
@vyuh/react-feature-system provides a comprehensive set of content components
and layouts for building content-driven applications with the Vyuh framework. It
includes:
npm install @vyuh/react-feature-system
# or
yarn add @vyuh/react-feature-system
# or
pnpm add @vyuh/react-feature-system
Include the system feature in your Vyuh application:
import { VyuhProvider } from '@vyuh/react-core';
import { feature as systemFeature } from '@vyuh/react-feature-system';
function App() {
return (
<VyuhProvider features={() => [systemFeature]} plugins={yourPlugins}>
<YourApp />
</VyuhProvider>
);
}
The content components can be used directly or through the content system:
import { Card, Group, PortableText } from '@vyuh/react-feature-system';
import { useVyuh } from '@vyuh/react-core';
function MyComponent() {
const { plugins } = useVyuh();
// Render content from CMS
return plugins.content.render({
_type: 'vyuh.card',
title: 'My Card',
description: 'This is a card component',
image: {
/* image reference */
},
});
}
You can extend the system with custom layouts:
import { LayoutConfiguration, TypeDescriptor } from '@vyuh/react-core';
import { Card } from '@vyuh/react-feature-system';
class MyCustomCardLayout extends LayoutConfiguration<Card> {
static readonly schemaName = 'my-feature.card.layout.custom';
static typeDescriptor = new TypeDescriptor(this.schemaName, this);
constructor() {
super({
schemaType: MyCustomCardLayout.schemaName,
title: 'Custom Card Layout',
});
}
render(content: Card) {
return (
<div className="my-custom-card">
<h2>{content.title}</h2>
<p>{content.description}</p>
{/* Custom rendering logic */}
</div>
);
}
}
Then include your custom layout in your feature descriptor:
import { FeatureDescriptor } from '@vyuh/react-core';
import { ContentExtensionDescriptor } from '@vyuh/react-extension-content';
import { CardDescriptor } from '@vyuh/react-feature-system';
import { Command } from 'lucide-react';
import React from 'react';
// Import your custom layout
import { MyCustomCardLayout } from './layouts/my-custom-card-layout';
export const myFeature = new FeatureDescriptor({
name: 'my-feature',
title: 'My Feature',
description: 'A custom feature with custom layouts',
icon: <Command />,
extensions: [
new ContentExtensionDescriptor({
contents: [
// Include your custom layout in the CardDescriptor
new CardDescriptor({
layouts: [MyCustomCardLayout.typeDescriptor],
}),
// Other content descriptors
],
contentBuilders: [
// Your content builders
],
}),
],
// Initialization logic
init: async () => {
console.log('My feature with custom layouts initialized');
},
});
The package includes the following content types:
| Component | Description |
|---|---|
Route | Page-level content container with regions |
Card | Versatile content card with various layouts |
Group | Container for organizing multiple content items |
Accordion | Collapsible content sections |
PortableText | Rich text content with embedded blocks |
Divider | Visual separator between content sections |
VideoPlayer | Video playback component |
APIContent | Dynamic content from API endpoints |
ConditionalContent | Content that renders based on conditions |
ConditionalRoute | Routes that render based on conditions |
Each content type supports multiple layouts:
The package includes built-in styles using Tailwind CSS:
// Import the styles in your application
import '@vyuh/react-feature-system/styles.css';
You can customize the appearance by:
For more detailed documentation, visit docs.vyuh.tech.
We welcome contributions to the Vyuh platform! Please see our contributing guidelines for more information.
MIT © Vyuh Technologies
FAQs
System feature package for Vyuh React framework
The npm package @vyuh/react-feature-system receives a total of 2 weekly downloads. As such, @vyuh/react-feature-system popularity was classified as not popular.
We found that @vyuh/react-feature-system 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.

Security News
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.

Research
/Security News
Impostor NuGet package Tracer.Fody.NLog typosquats Tracer.Fody and its author, using homoglyph tricks, and exfiltrates Stratis wallet JSON/passwords to a Russian IP address.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.