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 🙏

© 2024 – Pkg Stats / Ryan Hefner

strapi-v5-deep-populate

v1.0.1

Published

Strapi v5 plugin that populates nested content.

Downloads

18

Readme

Strapi v5 Plugin: populate-deep

This plugin is a fork of strapi-v5-plugin-populate-deep which is a fork of the original strapi-plugin-populate-deep, which does not support Strapi v5 at the time of this publication.

Why this Fork?

With Strapi v5, a new API structure validation feature was introduced, which makes the populate parameter incompatible with how the original plugin works. This plugin addresses that by introducing a new parameter pLevel to avoid validation issues.

Installation

npm install strapi-v5-deep-populate

yarn add strapi-v5-deep-populate

Usages

The plugin allows you to deeply populate data in your Strapi queries with a new parameter pLevel. This parameter specifies the depth of population for your API responses.

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. Additionally, you can delete keys from the api response.

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-deep-populate': {
    config: {
      defaultDepth: 3, // default is 5
      skipCreatorFields: true,
      keysToDelete: [ // keys to delete from the response
        "createdAt"
      ],
    },
  },
});

This configuration will set the default depth to 3 levels across all API requests unless specified otherwise in the request itself and will remove the createdAt key from the response.

Contributions

This plugin is a fork of the contribution of NEDDL to the original plugin and can be found in the original repository which originally is a fork of the work by Barelydead and can be found in the original repository.

The original idea for getting the populate structure was created by tomnovotny7 and can be found in this github thread

We appreciate and acknowledge all contributions made by the open-source community to the original project.