npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cyberskill/cyber-editor

v4.1.2

Published

Update html content with a rich text editor based on Tiptap and React. Requires Tailwind CSS v4 as peer dependency.

Readme

@cyberskill/cyber-editor

A powerful, rich text editor based on Tiptap, designed for the CyberSkill ecosystem. It provides a seamless editing experience with advanced features like image resizing, video embedding, accordion components, and HTML block rendering.

📦 Installation

Install the package via your preferred package manager:

pnpm add @cyberskill/cyber-editor
# or
npm install @cyberskill/cyber-editor
# or
yarn add @cyberskill/cyber-editor

🚀 Usage

The library exports two main components to distinguish between editing (Admin) and viewing (Client) modes.

1. Import Styles

First, import the necessary CSS in your root file (e.g., _app.tsx, layout.tsx, or main.tsx):

import '@cyberskill/cyber-editor/index.css';

2. Admin / Edit Mode (CyberEditor)

Use CyberEditor when you want to provide a full editing interface with a toolbar.

import { CyberEditor } from '@cyberskill/cyber-editor';
import { useState } from 'react';

function AdminPage() {
    const [content, setContent] = useState('<p>Hello World</p>');

    return (
        <CyberEditor
            content={content}
            onChange={(newContent) => setContent(newContent)}
            className="my-editor"
        />
    );
}

3. Client / View Mode (CyberViewer)

Use CyberViewer when you just want to display the content. It is read-only and lightweight without the toolbar.

import { CyberViewer } from '@cyberskill/cyber-editor';

function PostPage({ content }) {
    return (
        <div className="article-content">
            <CyberViewer content={content} />
        </div>
    );
}

🛠 Development & Contribution

Project Structure

  • src/modules/*: Contains individual editor extensions (Image, Video, Table, etc.).
  • src/shared/*: Shared utilities, providers, and styles.
  • src/playground/*: A built-in playground for testing during development.
  • src/index.ts: The main entry point for the library.

Common Commands

  • Start Playground: Run the local dev server to test changes.
    pnpm dev
  • Build Library: Build the package for distribution.
    pnpm build

🔄 Versioning & Publishing

When the development team adds new components or fixes bugs, follow this workflow to update the package:

  1. Develop & Test:

    • Make changes in src/modules or src/shared.
    • Test using the playground (pnpm dev).
  2. Commit Changes:

    • Use conventional commits (e.g., feat: add new chart component or fix: image resize bug).
  3. Update Version:

    • Patch (Bug fixes): 0.0.x
      npm version patch
    • Minor (New features, non-breaking): 0.x.0
      npm version minor
    • Major (Breaking changes): x.0.0
      npm version major

    This command automatically updates package.json and creates a git tag.

  4. Publish:

    • Push the tag to the repository.
    • Publish to the registry (if handled manually, or let CI/CD handle it).
    pnpm publish

🧩 Adding New Components

To add a new feature (e.g., a Chart extension):

  1. Create a new folder in src/modules/chart.
  2. Implement the Tiptap node/extension.
  3. Create a React Component for the NodeView (if it has UI).
  4. Export the extension in src/shared/utils/extensions.ts.
  5. Test in src/playground/App.tsx.