Socket
Book a DemoInstallSign in
Socket

@github-docs/data-directory

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@github-docs/data-directory

Recursively load a directory of YAML, JSON, and Markdown files into a JavaScript object.

latest
Source
npmnpm
Version
1.2.0
Version published
Maintainers
2
Created
Source

data-directory

A Node.js module to recursively load a directory of YAML, JSON, and Markdown files into a JavaScript object.

Installation

npm install @github-docs/data-directory

Usage

Given the following file tree:

$ tree data
data
├── bar.yaml
├── foo.json
└── nested
    └── baz.md

and the following content in each file:

$ cat foo.json
{"meaningOfLife": 42}

$ cat bar.yaml
another_markup_language: 'yes'

$ cat nested/baz.md
I am markdown!

then running this code:

const path = require('path')
const dataDirectory = require('@github-docs/data-directory')
const data = dataDirectory(path.join(__dirname, 'data'))

will return this object:

{
  bar: { another_markup_language: 'yes' },
  foo: { meaningOfLife: 42 },
  nested: { baz: 'I am markdown!' }
}

API

This module exports a single synchronous function dataDirectory that returns an Object.

dataDirectory(directory, [options])

  • directory String (required) - Full path to the directory to read.
  • options Object
    • extensions Array - A case-insensitive array of filenames to load. Defaults to ['.json', '.md', '.markdown', '.yaml', '.yml']
    • ignorePatterns Array - Filename patterns to ignore. Every value in the array must be a regular expression. Defaults to [/README\.md$/i]. To include README.md files in your data object, specify an empty array: [].
    • preprocess Function - A function that can be used to modify each loaded file's content before it's added to the data object. Default is a no-op function that return the unmodified content: (content) => { return content }

FAQs

Package last updated on 14 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts