Latest Threat Research:Malicious dYdX Packages Published to npm and PyPI After Maintainer Compromise.Details
Socket
Book a DemoInstallSign in
Socket

@vcms-io/solidis-extensions

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vcms-io/solidis-extensions

Extensions for solidis

Source
npmnpm
Version
0.0.1
Version published
Maintainers
2
Created
Source

Solidis

@vcms-io/solidis-extensions

Extensions for Solidis

OverviewSupported ExtensionsInstallationUsageLicense

npm version TypeScript ESM/CJS RESP2/RESP3 Zero Dependencies

Overview

Solidis offers pre-defined extensions through its highly extensible architecture. This extensibility enables seamless addition of specialized commands while maintaining zero dependencies and enterprise-grade performance.

Supported Extensions

  • Spin Lock

Requirements

Installation

# Using npm
npm install @vcms-io/solidis-extensions

# Using yarn
yarn add @vcms-io/solidis-extensions

# Using pnpm
pnpm add @vcms-io/solidis-extensions

Usage

Spin Lock

With Basic Client

Requires client manually extended with set & del commands

import { SolidisClient } from '@vcms-io/solidis';
import { set } from '@vcms-io/solidis/command/set';
import { del } from '@vcms-io/solidis/command/del';
import { spinLock } from '@vcms-io/solidis-extensions';

import type { SolidisClientExtensions } from '@vcms-io/solidis';

const extensions = {
  set,
  del,
  spinLock,
} satisfies SolidisClientExtensions;

const client = new SolidisClient({
  host: 'localhost',
  port: 6379,
}).extend(extensions);

// All concurrent tasks will be serialized
const promises = Array.from({ length: 100 }).map(async () => {
  const { unlock } = await client.spinLock(`test`, {
    logger: console,
  });

  await unlock();
});

await Promise.all(promises);

Just needs to be extended with a spinLock command

import { SolidisFeaturedClient } from '@vcms-io/solidis/featured';
import { spinLock } from '@vcms-io/solidis-extensions';

import type { SolidisClientExtensions } from '@vcms-io/solidis';

const extensions = {
  spinLock,
} satisfies SolidisClientExtensions;

const client = new SolidisFeaturedClient({
  host: 'localhost',
  port: 6379,
}).extend(extensions);

// All concurrent tasks will be serialized
const promises = Array.from({ length: 100 }).map(async () => {
  const { unlock } = await client.spinLock(`test`, {
    logger: console,
  });

  await unlock();
});

await Promise.all(promises);

Contribution Guidelines

  • Fork the Repository: Start by forking the repository and then clone your fork.

  • Create a Branch: Create a branch for your feature or bugfix:

    git checkout -b feature/your-feature-name
    
  • Follow Code Style:

    • Use TypeScript strict mode
    • Follow existing patterns and naming conventions
  • Submit Pull Request: Push your changes to your fork and submit a pull request.

    • Provide a clear description of the changes
    • Reference any related issues
    • Add appropriate documentation

Code Quality Guidelines

  • TypeScript: Use strict typing and avoid any types and as cast where possible
  • Dependencies: Avoid adding new dependencies unless absolutely necessary
  • Performance: Consider performance implications of your changes
  • Bundle Size: Keep the bundle size minimal

Release Process

Solidis follows semantic versioning (SemVer):

  • Patch (0.0.x): Bug fixes and minor changes that don't affect the API
  • Minor (0.x.0): New features added in a backward compatible manner
  • Major (x.0.0): Breaking changes to the public API

License

Licensed under the MIT. See LICENSE for more information.

FAQs

Package last updated on 19 May 2025

Did you know?

Socket

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.

Install

Related posts