generate-react-cli
Advanced tools
Comparing version
@@ -5,2 +5,8 @@ # Changelog | ||
## [5.1.0](https://github.com/arminbro/generate-react-cli/compare/v5.0.1...v5.1.0) (2020-09-18) | ||
### Features | ||
- 🎸 Support for custom extension via custom templates ([7f989a6](https://github.com/arminbro/generate-react-cli/commit/7f989a61702f8ff0e612845bafed79146e6a01ef)), closes [#18](https://github.com/arminbro/generate-react-cli/issues/18) [#19](https://github.com/arminbro/generate-react-cli/issues/19) [#25](https://github.com/arminbro/generate-react-cli/issues/25) | ||
### [5.0.1](https://github.com/arminbro/generate-react-cli/compare/v5.0.0...v5.0.1) (2020-06-24) | ||
@@ -7,0 +13,0 @@ |
{ | ||
"name": "generate-react-cli", | ||
"version": "5.0.1", | ||
"version": "5.1.0", | ||
"description": "A simple React CLI to generate components instantly and more.", | ||
@@ -47,29 +47,29 @@ "repository": "https://github.com/arminbro/generate-react-cli", | ||
"dependencies": { | ||
"chalk": "^4.0.0", | ||
"commander": "^5.1.0", | ||
"chalk": "^4.1.0", | ||
"commander": "^6.1.0", | ||
"deep-keys": "^0.5.0", | ||
"fs-extra": "^9.0.0", | ||
"inquirer": "^7.1.0", | ||
"lodash": "^4.17.15", | ||
"fs-extra": "^9.0.1", | ||
"inquirer": "^7.3.3", | ||
"lodash": "^4.17.20", | ||
"replace": "^1.2.0" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.8.4", | ||
"@babel/core": "^7.9.6", | ||
"@babel/preset-env": "^7.9.6", | ||
"@commitlint/cli": "^8.3.5", | ||
"@commitlint/config-conventional": "^8.3.4", | ||
"@babel/cli": "^7.11.6", | ||
"@babel/core": "^7.11.6", | ||
"@babel/preset-env": "^7.11.5", | ||
"@commitlint/cli": "^11.0.0", | ||
"@commitlint/config-conventional": "^11.0.0", | ||
"babel-eslint": "^10.1.0", | ||
"eslint": "^7.1.0", | ||
"eslint-config-airbnb-base": "^14.1.0", | ||
"eslint": "^7.9.0", | ||
"eslint-config-airbnb-base": "^14.2.0", | ||
"eslint-config-prettier": "^6.11.0", | ||
"eslint-plugin-import": "^2.20.2", | ||
"eslint-plugin-jsx-a11y": "^6.2.3", | ||
"eslint-plugin-prettier": "^3.1.3", | ||
"husky": "^4.2.5", | ||
"jest": "^26.0.1", | ||
"prettier": "^2.0.5", | ||
"pretty-quick": "^2.0.1", | ||
"eslint-plugin-import": "^2.22.0", | ||
"eslint-plugin-jsx-a11y": "^6.3.1", | ||
"eslint-plugin-prettier": "^3.1.4", | ||
"husky": "^4.3.0", | ||
"jest": "^26.4.2", | ||
"prettier": "^2.1.2", | ||
"pretty-quick": "^3.0.2", | ||
"rimraf": "^3.0.2", | ||
"standard-version": "^8.0.0" | ||
"standard-version": "^9.0.0" | ||
}, | ||
@@ -76,0 +76,0 @@ "babel": { |
@@ -16,3 +16,3 @@ const chalk = require('chalk'); | ||
if (isComponentCmd) { | ||
const hasComponentTypeOption = args.find((arg) => arg.includes('type')); | ||
const hasComponentTypeOption = args.find((arg) => arg.includes('--type')); | ||
let component = null; | ||
@@ -19,0 +19,0 @@ |
const chalk = require('chalk'); | ||
const path = require('path'); | ||
const replace = require('replace'); | ||
const { camelCase } = require('lodash'); | ||
const { existsSync, outputFileSync, readFileSync } = require('fs-extra'); | ||
const componentJsTemplate = require('../templates/component/componentJsTemplate'); | ||
@@ -22,4 +24,5 @@ const componentTsTemplate = require('../templates/component/componentTsTemplate'); | ||
const template = readFileSync(templatePath, 'utf8'); | ||
const templateFileExtension = path.extname(templatePath).split('.')[1]; | ||
return template; | ||
return { template, templateFileExtension }; | ||
} catch (e) { | ||
@@ -42,3 +45,3 @@ console.error( | ||
const { customTemplates } = cliConfigFile.component[cmd.type]; | ||
const fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let template = null; | ||
@@ -51,3 +54,6 @@ | ||
template = loadCustomTemplate(customTemplates.component); | ||
const { template: loadedTemplate, templateFileExtension } = loadCustomTemplate(customTemplates.component); | ||
template = loadedTemplate; | ||
fileExtension = templateFileExtension; | ||
} else { | ||
@@ -106,3 +112,5 @@ // --- Else use GRC built-in component template | ||
template = loadCustomTemplate(customTemplates.style); | ||
const { template: loadedTemplate } = loadCustomTemplate(customTemplates.style); | ||
template = loadedTemplate; | ||
} else { | ||
@@ -125,3 +133,3 @@ // --- Else use GRC built-in style template | ||
const { testLibrary, usesTypeScript } = cliConfigFile; | ||
const fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let template = null; | ||
@@ -134,3 +142,6 @@ | ||
template = loadCustomTemplate(customTemplates.test); | ||
const { template: loadedTemplate, templateFileExtension } = loadCustomTemplate(customTemplates.test); | ||
template = loadedTemplate; | ||
fileExtension = templateFileExtension; | ||
} else if (testLibrary === 'Enzyme') { | ||
@@ -157,3 +168,3 @@ // --- Else use GRC built-in test template based on test library type | ||
const { customTemplates } = cliConfigFile.component[cmd.type]; | ||
const fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let template = null; | ||
@@ -166,3 +177,6 @@ | ||
template = loadCustomTemplate(customTemplates.story); | ||
const { template: loadedTemplate, templateFileExtension } = loadCustomTemplate(customTemplates.story); | ||
template = loadedTemplate; | ||
fileExtension = templateFileExtension; | ||
} else { | ||
@@ -185,3 +199,3 @@ // --- Else use GRC built-in story template | ||
const { customTemplates } = cliConfigFile.component[cmd.type]; | ||
const fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let fileExtension = usesTypeScript ? 'tsx' : 'js'; | ||
let template = null; | ||
@@ -194,3 +208,6 @@ | ||
template = loadCustomTemplate(customTemplates.lazy); | ||
const { template: loadedTemplate, templateFileExtension } = loadCustomTemplate(customTemplates.lazy); | ||
template = loadedTemplate; | ||
fileExtension = templateFileExtension; | ||
} else { | ||
@@ -197,0 +214,0 @@ // --- Else use GRC built-in lazy template |
46174
2.59%614
1.82%+ Added
- Removed
Updated
Updated
Updated
Updated
Updated