{
  "name": "stories",
  "factory": "./src/generators/stories/stories",
  "schema": {
    "$schema": "https://json-schema.org/schema",
    "cli": "nx",
    "$id": "NxVueStorybookStories",
    "title": "Generate Vue Storybook stories",
    "description": "Generate stories/specs for all components declared in a project.",
    "type": "object",
    "properties": {
      "project": {
        "type": "string",
        "aliases": ["name", "projectName"],
        "description": "Project for which to generate stories.",
        "$default": { "$source": "projectName", "index": 0 },
        "x-prompt": "For which project do you want to generate stories?",
        "x-priority": "important"
      },
      "generateCypressSpecs": {
        "type": "boolean",
        "description": "Automatically generate `*.spec.ts` files in the cypress e2e app generated by the cypress-configure generator."
      },
      "cypressProject": {
        "type": "string",
        "description": "The Cypress project to generate the stories under. This is inferred from `project` by default."
      },
      "interactionTests": {
        "type": "boolean",
        "description": "Set up Storybook interaction tests.",
        "x-prompt": "Do you want to set up Storybook interaction tests?",
        "x-priority": "important",
        "default": true
      },
      "js": {
        "type": "boolean",
        "description": "Generate JavaScript files rather than TypeScript files.",
        "default": false
      },
      "ignorePaths": {
        "type": "array",
        "description": "Paths to ignore when looking for components.",
        "items": { "type": "string", "description": "Path to ignore." },
        "default": [
          "*.stories.ts,*.stories.tsx,*.stories.js,*.stories.jsx,*.stories.mdx"
        ],
        "examples": [
          "apps/my-app/src/not-stories/**",
          "**/**/src/**/not-stories/**",
          "libs/my-lib/**/*.something.ts",
          "**/**/src/**/*.other.*",
          "libs/my-lib/src/not-stories/**,**/**/src/**/*.other.*,apps/my-app/**/*.something.ts"
        ]
      },
      "skipFormat": {
        "description": "Skip formatting files.",
        "type": "boolean",
        "default": false,
        "x-priority": "internal"
      }
    },
    "required": ["project"],
    "examplesFile": "---\ntitle: Stories generator examples\ndescription: This page contains examples for the @nx/vue:stories generator.\n---\n\nThis generator will generate stories for all your components in your project. The stories will be generated using [Component Story Format 3 (CSF3)](https://storybook.js.org/blog/storybook-csf3-is-here/).\n\nYou can also use this generator to generate stories for your **Nuxt** project:\n\n```bash\nnx g @nx/vue:stories project-name\n```\n\nor\n\n```bash\nnx g @nx/nuxt:stories project-name\n```\n\nYou can read more about how this generator works, in the [Storybook for Vue overview page](/recipes/storybook/overview-vue#auto-generate-stories).\n\nWhen running this generator, you will be prompted to provide the following:\n\n- The `name` of the project you want to generate the configuration for.\n- Whether you want to set up [Storybook interaction tests](https://storybook.js.org/docs/angular/writing-tests/interaction-testing) (`interactionTests`). If you choose `yes`, a `play` function will be added to your stories, and all the necessary dependencies will be installed. You can read more about this in the [Nx Storybook interaction tests documentation page](/recipes/storybook/storybook-interaction-tests#setup-storybook-interaction-tests)..\n\nYou must provide a `name` for the generator to work.\n\nBy default, this generator will also set up [Storybook interaction tests](https://storybook.js.org/docs/angular/writing-tests/interaction-testing). If you don't want to set up Storybook interaction tests, you can pass the `--interactionTests=false` option, but it's not recommended.\n\nThere are a number of other options available. Let's take a look at some examples.\n\n## Examples\n\n### Ignore certain paths when generating stories\n\n```bash\nnx g @nx/vue:stories --name=ui --ignorePaths=libs/ui/src/not-stories/**,**/**/src/**/*.other.*\n```\n\nThis will generate stories for all the components in the `ui` project, except for the ones in the `libs/ui/src/not-stories` directory, and also for components that their file name is of the pattern `*.other.*`.\n\nThis is useful if you have a project that contains components that are not meant to be used in isolation, but rather as part of a larger component.\n\nBy default, Nx will ignore the following paths:\n\n```text\n*.stories.ts, *.stories.tsx, *.stories.js, *.stories.jsx, *.stories.mdx\n```\n\nbut you can change this behaviour easily, as explained above.\n\n### Generate stories using JavaScript instead of TypeScript\n\n```bash\nnx g @nx/vue:stories --name=ui --js=true\n```\n\nThis will generate stories for all the components in the `ui` project using JavaScript instead of TypeScript. So, you will have `.stories.js` files next to your components.\n",
    "presets": []
  },
  "description": "Create stories for all components declared in an app or library.",
  "hidden": false,
  "implementation": "/packages/vue/src/generators/stories/stories.ts",
  "aliases": [],
  "path": "/packages/vue/src/generators/stories/schema.json",
  "type": "generator"
}
