Home

Awesome

fileable logo

Fileable-CLI

Render a file tree using a JSX template.

For the embeddable-library, see fileable.

Basic Usage without insallation

npx fileable-cli build ./path/to/template.jsx ./destination

Installation

npm install --global fileable-cli

Usage

Basic Usage

fileable build ./path/to/template.jsx ./destination

Templates Files

See fileable for a basick explanation of template files.

Commands

--help

Try fileable --help to see options

fileable build

Build a file tree from template into destination directory.

fileable build <template> <destination>
fileable build ./path/to/template.jsx ./destination

Local files or remote files (beginning with 'http://', 'https://', or 'ftp://') can be used as template and input files.

fileable build https://raw.githubusercontent.com/johnhenry/fileable/master/test/template/file.00.jsx ./destination

fileable-component-file, fileable-component-folder , and fileable-component-clear components are included with fileable-cli by default. Other components may be installed separately.

See 'fileable install' below.

It is not necessary to install fileable-components or react when using templates. However, the references to their components must be included.

--test/--no-test flag

As a safety precaution, you must pass the '--no-test' flag to write to the file system. Otherwise, output will be written to the console.

fileable build ./path/to/template.jsx ./destination ./dist --no-test
--input flag

The input flag is used to specify a file as inputs.

The input file must export an array or some other -- possibly asynchronous -- iterator.

fileable build ./path/to/template.jsx ./destination ./dist --input iterator.js

iterator.js

export default ['first argumet', 'second-argument'];

async-iterator.js

import { prompt } from 'node-popup';
export default (async function *{
    yield await prompt('first argumet?', 'first argumet');
    yield await prompt('second argumet?', 'second argumet');
})();
--args flag

The args flag is used to specify inputs via a comma-separated list of arguments.

To pass a string, use escaped backticks \`...\`

fileable build ./path/to/template.jsx ./destination ./dist --args \`$SOME_STRING\`,$SOME_NUMBER,{json:\`file\`}

fileable dependencies

List installed dependencies. Any packages referenced within template, including components, must first be installed. Packages references within files passed via --input flag must be referenced as well.

fileable dependencies

fileable install

Install NPM package.

fileable install <npm package>

fileable uninstall

Uninstall NPM package. BE CAREFUL! UNINSTALLING PACKAGES MAY CAUSE FILEABLE-CLI TO STOP WORKING PROPERLY!!!

fileable uninstall <npm package>

fileable template

Create template from file or folder.

Note: Not yet implemented.

fileable template <folder> > template.jsx

API

Table of contents

Todo

`