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

directus-utilities

v1.0.0

Published

Utility library for directus

Readme

Utility library for directus

Brings some missing utility functions for directus.

Available functions

exportDefaultPreset

Exports default preset for given collection to a JSON file.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • collection (string): Name of the collection.
  • targetFile (string): Target filename (incl. path) where preset should be exported.

importDefaultPreset

Imports default preset for given collection from a JSON file. If there is already a default preset for the given collection it will be updated otherwise it will be created.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • collection (string): Name of the collection.
  • sourceFile (string): Filename of the previously exported JSON file.

exportPublicPermissions

Exports public permissions to a JSON file.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • targetFile (string): Target filename (incl. path) where permissions should be exported.

importPublicPermissions

Imports public permissions from a JSON file. Creates a new permission entry for a collection which didn't have a public permission yet. Updates an existing permission for a collection when there is already a public permission defined. Deletes public permissions for collections which aren't available in the JSON file anymore.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • sourceFile (string): Filename of the previously exported JSON file.

exportPermissionsByRolename

Exports permissions for a given role to a JSON file.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • rolename (string): Name of the role.
  • targetFile (string): Target filename (incl. path) where permissions should be exported.

importPermissionsByRolename

Imports permissions for a given role from a JSON file. Creates a new permission entry if the role didn't have that permission yet. Updates an existing permission if the role already had such a permission defined. Deletes permissions for the role if they aren't available in the JSON file anymore.

Params

  • directus (IDirectus<TypeMap>): Authenticated directus instance.
  • rolename (string): Name of the role.
  • sourceFile (string): Filename of the previously exported JSON file.

Usage

How to create an authenticated directus instance

const { Directus } = require('@directus/sdk');

const directus = new Directus('http://localhost:8055', {
    auth: {
        staticToken: 'STATIC_TOKEN',
    },
});

If you want to use email and password. You should remove the staticToken above and use the following line.

await directus.auth.login({ email, password })

Examples

// Export default preset
const { Directus } = require('@directus/sdk');
const { exportDefaultPreset } = require('../directus-utilities/dist/index.js');

const run = async () => {
  const directus = new Directus('http://localhost:8055', {
    auth: {
        staticToken: 'STATIC_TOKEN',
    },
  });

  await exportDefaultPreset(directus, 'products', './presets/products-preset.json');
};

run().then(() => {
  process.exit();
});
// Import default preset
const { Directus } = require('@directus/sdk');
const { importDefaultPreset } = require('../directus-utilities/dist/index.js');

const run = async () => {
  const directus = new Directus('http://localhost:8055', {
    auth: {
        staticToken: 'STATIC_TOKEN',
    },
  });

  await importDefaultPreset(directus, 'products', './presets/products-preset.json');
};

run().then(() => {
  process.exit();
});