Merge branch 'master' of github.com:gajus/create-index

This commit is contained in:
Gajus Kuizinas
2016-11-29 17:45:58 +00:00
4 changed files with 26 additions and 4 deletions
+1
View File
@@ -86,6 +86,7 @@ Options:
files that start with "// @create-index\n" (create-index index files that start with "// @create-index\n" (create-index index
file). Updates found index files. Does not create new index file). Updates found index files. Does not create new index
files. [boolean] [default: false] files. [boolean] [default: false]
--banner Add a custom banner at the top of the index file [string]
Examples: Examples:
create-index ./src ./src/utilities Creates or updates an existing create-index ./src ./src/utilities Creates or updates an existing
+8 -1
View File
@@ -15,10 +15,17 @@ const argv = yargs
type: 'boolean' type: 'boolean'
} }
}) })
.options({
'banner': {
description: 'Add a custom banner at the top of the index file',
type: 'string'
}
})
.example('create-index ./src ./src/utilities', 'Creates or updates an existing create-index index file in the target (./src, ./src/utilities) directories.') .example('create-index ./src ./src/utilities', 'Creates or updates an existing create-index index file in the target (./src, ./src/utilities) directories.')
.example('create-index --update ./src ./tests', 'Finds all create-index index files in the target directories and descending directories. Updates found index files.') .example('create-index --update ./src ./tests', 'Finds all create-index index files in the target directories and descending directories. Updates found index files.')
.argv; .argv;
writeIndexCli(argv._, { writeIndexCli(argv._, {
updateIndex: argv.update updateIndex: argv.update,
banner: argv.banner
}); });
+14 -2
View File
@@ -22,10 +22,22 @@ const buildExportBlock = (files) => {
return importBlock; return importBlock;
}; };
export default (filePaths) => { export default (filePaths, options = {}) => {
let code; let code;
code = '// @create-index\n\n'; code = '';
if (options.banner) {
const banners = _.isArray(options.banner) ? options.banner : [options.banner];
banners.forEach((banner) => {
code += banner + '\n';
});
code += '\n';
}
code += '// @create-index\n\n';
if (filePaths.length) { if (filePaths.length) {
const sortedFilePaths = filePaths.sort(); const sortedFilePaths = filePaths.sort();
+3 -1
View File
@@ -35,7 +35,9 @@ export default (directoryPaths, options = {}) => {
const siblings = readDirectory(directoryPath); const siblings = readDirectory(directoryPath);
const indexCode = createIndexCode(siblings); const indexCode = createIndexCode(siblings, {
banner: options.banner
});
const indexFilePath = path.resolve(directoryPath, 'index.js'); const indexFilePath = path.resolve(directoryPath, 'index.js');