load-populate-files

0.0.11 • Public • Published

load-populate-files

Load and dynamically populate file content based on a single files config.

npm package License

Table of Contents

Introduction

load-populate-files is a small library to simplify usage of populate-files, which will dynamically write files based on calculated content.

Instead of calling populateFiles() directly, we can can export the file configs, and defer the execution of file writing to loadAndPopulateFiles().

This is useful for CLI scripts, or NX plugins like nx-populate-files.

Installation

npm i load-populate-files

Populate-files is an ESM module. That means it must be imported. To load from a CJS module, use dynamic import const { loadAndPopulateFiles } = await import('load-populate-files');.

Usage

Provide the file path to a file that default exports the parameters for populateFiles()

Options are supported the same as populateFiles().

// config.ts
export default [
    {
        filePath: './foo.json',
        content: { bar: 123 },
    },
    {
        filePath: './abc.js',
        content: `
            console.log('Hello World!');
        `,
    },
];

// index.ts
await loadAndPopulateFiles('./config.js');

API

loadAndPopulateFiles(filePath, options)

Loads the config specified at filePath, and passes that to populateFiles().

The loaded file may either be a single object config, or an array of separate configs.

options

An optional object as the secondary parameter. Passed to underlying populateFiles() call.

property type default description
check boolean true if in a CI environment. Else false If true, will fail if writing the file would result in changing the files content. Useful for CI environments to make sure the version-controlled code is up to date before deployment.
dryRun boolean false If true, will not write file regardless of changes. Can still fail if check is true.
cwd string | URL process.env.PWD Used as the current working directory if filePath is a relative file. Will be re-used in filePaths derived from loaded config

Types

PopulateFileParams

Type of the exported config at the specified file. Represents the parametesr to populateFiles(). It is highly recommended to combine with the satisfies keyword to ensure your exported config will succeed.

import type { PopulateFileParams } from 'load-populate-files';

export default {
    filePath: './foo.json',
    content: { bar: 123 },
} satisfies PopulateFileParams;

Note this type can also be imported from populate-files directly.

Also See

Used internally to interpret cwd option.

Populate and format a file based on dynamic content.

Load and populate files as an nx target.

Readme

Keywords

Package Sidebar

Install

npm i load-populate-files

Weekly Downloads

4

Version

0.0.11

License

MIT

Unpacked Size

8.23 kB

Total Files

11

Last publish

Collaborators

  • jacobley