0.1.2 • Published 4 months ago

load-populate-files v0.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

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().

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');

This is also exposed as a CLI:

pnpx load-populate-files --help pnpx load-populate-files --file-path ./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.

If using the CLI, the --file-path parameter is required.

options

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

They are also available as optional flags in the CLI.

propertyCLI flagtypedefaultdescription
check--cibooleantrue if in a CI environment. Else falseIf 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--dry-runbooleanfalseIf true, will not write file regardless of changes. Can still fail if check is true.
cwd--cwdstring \| URLprocess.env.PWDUsed 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

parse-cwd

Used internally to interpret cwd option.

populate-files

Populate and format a file based on dynamic content.

0.0.10

8 months ago

0.0.11

8 months ago

0.1.0

6 months ago

0.1.2

4 months ago

0.1.1

5 months ago

0.0.9

8 months ago

0.0.8

8 months ago

0.0.3

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.2

1 year ago

0.0.1

2 years ago