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

@jmarianski/strapi-plugin-soft-delete

v1.0.0

Published

Add a soft delete feature to your Strapi v5 project

Readme

Strapi v5 - Soft Delete Plugin

A powerful Strapi v5 plugin that adds soft delete functionality to your content types, allowing you to "delete" entries without permanently removing them from the database.

✨ Features

  • 🛢 Database Integration

    • Adds _softDeletedAt, _softDeletedById and _softDeletedByType fields to all collection content types
    • Fields are private and not visible in the Content Manager or through the API
  • 🗂️ Content Manager & API

    • Delete operations behave as soft deletes
    • Sets _softDeletedAt to current datetime, _softDeletedById to user ID, and _softDeletedByType to deletion initiator type
    • Soft deleted entries are automatically excluded from queries
  • 👤 RBAC (Role-Based Access Control)

    • Renames "Delete" permission to "Soft Delete"
    • Adds "Deleted Read" permission for viewing soft deleted entries
    • Adds "Deleted Restore" permission for restoring entries
    • Adds "Delete Permanently" permission for permanent deletion
    • Plugin-level "Read" and "Settings" permissions
  • 🗂️ Soft Delete Explorer

    • Admin panel interface for viewing soft deleted entries
    • Restore entries with one click
    • Permanently delete entries when needed
    • Organized by content type
  • ⚙️ Settings

    • Restoration Behavior configuration
    • Single Type restoration options (soft delete vs permanent delete existing entries)
    • Draft & Publish restoration options (restore as draft vs unchanged state)

📦 Installation

Install the plugin via npm:

npm install strapi-plugin-soft-delete

Add the plugin to your Strapi configuration in config/plugins.js or config/plugins.ts:

module.exports = {
  // ...other plugins
  'soft-delete': {
    enabled: true,
  },
};

🚀 Usage

  1. Install and configure the plugin as described above
  2. Restart your Strapi server to apply the database changes
  3. Access the Soft Delete Explorer from the admin panel sidebar
  4. Configure permissions for your admin roles in Settings > Administration Panel > Roles
  5. Set restoration behavior in Settings > Soft Delete > Restoration Behavior

⚠️ Important Notes

  • Backup your database before installing in production
  • The plugin modifies your database schema by adding soft delete fields
  • Once enabled, all delete operations become soft deletes for supported content types
  • Use "Delete Permanently" feature with caution as it cannot be undone
  • Plugin is still a work-in-progress state. Tested locally on draft-publish environments
  • Originally a fork of strapi v4 plugin, but rewritten from scratch in the end

📋 Requirements

  • Node.js >= 18.x
  • Strapi >= 5.0.0