diff --git a/.eslintrc b/.eslintrc index 6783117b..d8319ce7 100644 --- a/.eslintrc +++ b/.eslintrc @@ -9,11 +9,6 @@ "flowtype", "prettier" ], - "settings": { - "flowtype": { - "onlyFilesWithFlowAnnotation": false - } - }, "rules": { "prettier/prettier": [ "error", @@ -28,6 +23,11 @@ "jsx-quotes": 0, "react/jsx-filename-extension": "off" }, + "settings": { + "flowtype": { + "onlyFilesWithFlowAnnotation": false + } + }, "env": { "es6": true, "browser": true, @@ -43,4 +43,4 @@ "React$Element": true, "Generator": true } -} \ No newline at end of file +} diff --git a/content/docs/extensibility.md b/content/docs/extensibility.md index 6a013d49..efbb3bc3 100644 --- a/content/docs/extensibility.md +++ b/content/docs/extensibility.md @@ -24,11 +24,21 @@ This means: _Note:_ The current strategy when there are two or more `.hygen.js` files in the path upwards is to _take the first one_ and ignore the rest. +# Ignore Generators and actions +```javascript +// .hygen.js +module.exports = { + ignoredGenerators: ['wip'], + ignoredActions: ['utils'], + ignoredFiles: ['utils.js'], +} +``` + # Helpers Here's a template that uses a function that doesn't exist in the helper accessor `h`. This function is plainly called `extended`, for lack of a better name. -```yaml{5} +``` --- to: given/hygen-js/new.md --- diff --git a/package.json b/package.json index a59376e0..945fb241 100644 --- a/package.json +++ b/package.json @@ -79,4 +79,4 @@ "redux", "react" ] -} \ No newline at end of file +} diff --git a/src/engine.js b/src/engine.js index dd48d316..6a132390 100644 --- a/src/engine.js +++ b/src/engine.js @@ -24,6 +24,17 @@ Options: process.exit(0) } + if ((config.ignoredGenerators || []).includes(generator)) { + logger.log(`generator: ${generator} is ignored`) + throw new Error('please specify another generator') + } + + if ((config.ignoredActions || []).includes(action)) { + logger.log(`generator: ${generator}`) + logger.log(` action: ${action} is ignored`) + throw new Error('please specify another action') + } + logger.log(args.dry ? '(dry mode)' : '') if (!generator) { throw new Error('please specify a generator.') diff --git a/src/render.js b/src/render.js index da7d675f..c125e6cf 100644 --- a/src/render.js +++ b/src/render.js @@ -29,6 +29,10 @@ async function getFiles(dir) { return Array.prototype.concat(...files) } +/* wow, + this would need to be refactored into a different form + for ignoring generator actions files +*/ const render = async ( args: any, config: RunnerConfig, diff --git a/src/types.js b/src/types.js index 712ead28..42bca8e4 100644 --- a/src/types.js +++ b/src/types.js @@ -22,6 +22,9 @@ export type RunnerConfig = { logger: Logger, debug: boolean, helpers: Object, + ignoredGenerators: Array, + ignoredActions: Array, + ignoredFiles: Array, createPrompter: () => Prompter }