Files
create-index/README.md
T
2016-01-06 17:54:19 +00:00

2.0 KiB

create-index

NPM version Travis build status js-canonical-style

create-index program creates ES6 ./index.js file in target directories that imports and exports all sibling files and directories.

Implementation

create-index program will look into the target directory.

If there is no ./index.js, it will create a new file, e.g.

'create index';

Created index file must start with 'create index';\n\n. This is used to make sure that create-index does not accidentally overwrite your local files.

If there are sibling files, index file will import them and export, e.g.

children-directories-and-files git:(master) ✗ ls -lah
total 0
drwxr-xr-x   5 gajus  staff   170B  6 Jan 15:39 .
drwxr-xr-x  10 gajus  staff   340B  6 Jan 15:53 ..
drwxr-xr-x   2 gajus  staff    68B  6 Jan 15:29 bar
drwxr-xr-x   2 gajus  staff    68B  6 Jan 15:29 foo
-rw-r--r--   1 gajus  staff     0B  6 Jan 15:29 foo.js

Given the above directory contents, index will be:

'create index';

import bar from './bar';
import foo from './foo.js';

export {
    bar,
    foo
};

If there are files with the same name as directories in the same directory, file will take precedence.

Directories that do not have ./index.js in themselves will be excluded.

Using CLI Program

create-index ./directory1 ./directory2 ./directory3 ...

Using create-index Programmatically

import {
    writeIndex
} from 'create-index';

/**
 * @type {Function}
 * @param {Array<string>} directoryPaths
 * @throws {Error} Directory "..." does not exist.
 * @throws {Error} "..." is not a directory.
 * @throws {Error} "..." unsafe index.
 * @returns {boolean}
 */
writeIndex;