From b1efa6c5bc97d7ced8865b7f6e85c17f35528b2c Mon Sep 17 00:00:00 2001 From: "Harish.K" Date: Fri, 26 May 2017 17:28:54 +0530 Subject: [PATCH] * Support for multiple extensions line "*.spec.js", "*.model.js" etc --- README.md | 3 ++- main.js | 5 ++++- package.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) mode change 100644 => 100755 main.js diff --git a/README.md b/README.md index de3bc1d..cd8fe68 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,8 @@ It is just [EJS](ejs) template. We can customize it to any extend. If we require different template for each file type , create a file `~/.file-headers/` -For javscript, create a custom template at `~/.file-headers/js` and customize it. +* For javscript, create a custom template at `~/.file-headers/js` and customize it. +* If we want a custom header for '*.spec.js' file, create ~/.file-headers/spec.js and customize it ## Usage diff --git a/main.js b/main.js old mode 100644 new mode 100755 index f67fade..ac86923 --- a/main.js +++ b/main.js @@ -22,10 +22,13 @@ function initialize(){ function getTemplate( fname ){ - var ext = path.extname(fname).slice(1) || 'default'; + var match = fname.match(/\.(.*)/); + var ext = match ? match[1] : fname; if( fs.existsSync( path.join(configDir, ext ) ) ){ return fs.readFileSync( path.join(configDir, ext ), 'utf-8' ); + } else if( ext.indexOf('.') !== -1 ){ + return getTemplate( ext ); } else { return fs.readFileSync( path.join(configDir, 'default' ), 'utf-8' ); } diff --git a/package.json b/package.json index ed3f52d..66c804b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "file-header", - "version": "0.1.0", + "version": "0.1.1", "description": "A CLI tool for generating file header from a configuration file and an EJS template.", "main": "index.js", "scripts": {