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

@amovet/strapi-v5-plugin-populate-deep

v1.0.5

Published

Strapi v5 plugin that populates nested content (Fixed fork).

Readme

Strapi v5 Plugin Populate Deep (Fixed Fork)

This is a fixed version of the strapi-v5-plugin-populate-deep plugin for Strapi v5.

The plugin allows you to easily and deeply populate related data in your API requests using a simple pLevel parameter, saving you from having to manually write complex populate objects.

Why this Fork?

This package is a fork of the original strapi-v5-plugin-populate-deep plugin.

The Problem: The original version of the plugin had a logical bug that caused incorrect and incomplete data loading when working with recursive relations (e.g., when a page collection refers to itself through parent and child fields). At a certain depth level, some relations (like tags) would stop being populated.

The Solution: The issue was caused by the state for tracking processed models being shared across all branches of the recursion. In this version, the bug is fixed: a copy of the state is now passed to each recursive call. This ensures correct, predictable, and complete data population at any nesting level.

Installation

npm install @amovet/strapi-v5-plugin-populate-deep

yarn add @amovet/strapi-v5-plugin-populate-deepp

Usages

  1. Enabling the Plugin

To activate the plugin, add it to your config/plugins.ts configuration file. JavaScript

Examples

  1. Populate a request with the default max depth. /api/articles?pLevel

  2. Populate a request with the a custom depth /api/articles?pLevel=10

Good to know

  • The default maximum depth is 5 levels deep.
  • The pLevel parameter works for all collections and single types when using findOne and findMany methods.
  • Increasing the depth level may result in longer API response times.

Configuration

You can configure the default depth globally through the plugin configuration.

Example configuration

To customize the default depth, add or modify the config/plugins.js file as shown below: config/plugins.js

module.exports = ({ env }) => ({
  'strapi-v5-plugin-populate-deep': {
    config: {
      defaultDepth: 3, // Default is 5
    }
  },
});

🙏 Credits

This package is a fixed fork. A huge thanks to the original authors and contributors for their foundational work:

Mustafa ONAL

Christofer Jungberg