{
  "$schema": "http://json-schema.org/schema",
  "id": "SchematicsNxNgrx",
  "title": "Add NgRx support to a module",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the NgRx feature (e.g., Products, Users, etc.). Recommended to use plural form for name.",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What name would you like to use for the ngrx state?"
    },
    "module": {
      "type": "string",
      "description": "Path to ngModule; host directory will contain the new '+state' directory (e.g., libs/comments/src/lib/comments-state.module.ts).",
      "x-prompt": "What is the path to the module where this ngrx state should be added to?"
    },
    "directory": {
      "type": "string",
      "default": "+state",
      "description": "Override the name of the folder used to contain/group the NgRx files: contains actions, effects, reducers. selectors. (e.g., +state)"
    },
    "root": {
      "type": "boolean",
      "default": false,
      "description": "Add StoreModule.forRoot and EffectsModule.forRoot() instead of forFeature (e.g., --root).",
      "x-prompt": "Is this the root state of the application?"
    },
    "facade": {
      "type": "boolean",
      "default": false,
      "description": "Create a Facade class for the the Feature (e.g., --facade).",
      "x-prompt": "Would you like to add a Facade to your ngrx state"
    },
    "onlyAddFiles": {
      "type": "boolean",
      "default": false,
      "description": "Only add new NgRx files, without changing the module file (e.g., --onlyAddFiles)."
    },
    "onlyEmptyRoot": {
      "type": "boolean",
      "default": false,
      "description": "Do not generate any files. Only generate StoreModule.forRoot and EffectsModule.forRoot (e.g., --onlyEmptyRoot)."
    },
    "skipFormat": {
      "description": "Skip formatting files",
      "type": "boolean",
      "default": false
    },
    "skipPackageJson": {
      "type": "boolean",
      "default": false,
      "description": "Do not add NgRx dependencies to package.json (e.g., --skipPackageJson)"
    }
  },
  "required": ["module"]
}
