Nonconformist Propaganda Machine
    Wondering what’s next for npm?Check out our public roadmap! »

    @ygor/files

    6.0.1 • Public • Published

    @ygor/files

    NPM version Downloads Build Status Coverage Status

    A no-frills file transformer. Built on promises to work wonderfully with async and await in Node.js 8 and above. Part of the Ygor toolkit.

    Node is the CLI, npm is the plugin system. Go nuts.

    Install

    $ npm install --save-dev @ygor/files

    Usage

    const { find, read, write } = require('@ygor/files');
    const { transform } = require('babel-core');
     
    find('src/**/*.js')
      .map(read())
      .map(async file => {
        const { code } = await transform(file.contents);
     
        file.contents = code;
     
        return file;
      })
      .map(write('dest'))
      .then(console.log);

    API

    find(patterns [, options]): List<File>

    Finds files on the file system by the given glob patterns. The results are returned as an array-aware promise (List) of virtual file objects (File).

    const files = await find('**/*.js');

    read([options]): Function(File): File

    Creates a helper to read the contents of a given File object from the file system. Useful as a map function on a list of files.

    const files = await find('**/*.js')
        .map(read());
    const files = await find('**/*.js')
        // Same as above
        .map(read('utf8'));
    const files = await find('**/*.png')
        // Use `null` to read binary files
        .map(read(null));
    const files = await find('**/*.png')
        // fs.readFile options object
        .map(read({
            encoding: null,
            flag: 'r'
        }));

    write([options]): Function(File): File

    • options {String|Object} Destination directory (relative to the original location or an absolute path), or fs.writeFile options. (default: '.')

    Creates a helper to write the contents of a given File object to the file system. Useful as a map function on a list of files.

    const files = await find('**/*.js')
        .map(read())
        // Overwrite original file
        .map(write());
    const files = await find('**/*.js')
        .map(read())
        // Copy file to new location
        .map(write('dest'));
    const files = await find('**/*.js')
        .map(read())
        // fs.writeFile options object
        .map(write({
            cwd: 'dest',
            flag: 'w'
        }));

    ygor


    MIT © Shannon Moeller

    Install

    npm i @ygor/files

    DownloadsWeekly Downloads

    37

    Version

    6.0.1

    License

    MIT

    Unpacked Size

    7.95 kB

    Total Files

    3

    Last publish

    Collaborators

    • avatar