{"_id":"@avakhula/jsdoc-vuejs","name":"@avakhula/jsdoc-vuejs","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@avakhula/jsdoc-vuejs","version":"0.0.1","description":"A JSDoc plugin for documenting vue 3 files.","private":false,"main":"index.js","scripts":{"test":"jest","lint":"eslint --ext .js index.js config.js lib __tests__ cypress"},"keywords":["jsdoc","vuejs","vue component","vue file","vue 3"],"author":{"name":"Hugo Alliaume","email":"hugo@alliau.me"},"license":"MIT","engines":{"node":"^10.13.0 || >=12.0.0"},"dependencies":{"ejs":"^3.0.1"},"peerDependencies":{"@vue/compiler-sfc":">= 3.0.0","jsdoc":">=3.0.0"},"devDependencies":{"@vue/compiler-sfc":"^3.1.4","cypress":"^4.0.1","eslint":"^6.2.0","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-cypress":"^2.0.1","eslint-plugin-import":"^2.13.0","jest":"^24.0.0","jsdoc":"^3.6.2"},"_id":"@avakhula/jsdoc-vuejs@0.0.1","gitHead":"ef0f60f2c1d5b95c70132d298ec740ad00887997","_nodeVersion":"16.20.2","_npmVersion":"10.1.0","dist":{"integrity":"sha512-t37obiHs8+0Joj4iyOdLD997rr13FmP3dGuJ7aNpYrO3kX/QJ5kTn5JSa19CFBVNvVtNFHAc1tqmwY/w3HJpIg==","shasum":"bd6ae41fd18a8aedb0d6d62a92f4d8536b19b1ff","tarball":"https://registry.npmjs.org/@avakhula/jsdoc-vuejs/-/jsdoc-vuejs-0.0.1.tgz","fileCount":21,"unpackedSize":32100,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGKMBo5jDFzN9hyvdTl74dhOczqIo4GYstpbl8ypSaeAiEA0qggi1KdbaUe7+myXoLjCCE6WsRFB1bizBaAnAuqwOA="}]},"_npmUser":{"name":"avakhula","email":"avakhula@intelliboard.net"},"directories":{},"maintainers":[{"name":"avakhula","email":"avakhula@intelliboard.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jsdoc-vuejs_0.0.1_1700568966779_0.16609642021215731"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-21T12:16:06.695Z","0.0.1":"2023-11-21T12:16:06.932Z","modified":"2023-11-21T12:16:07.160Z"},"maintainers":[{"name":"avakhula","email":"avakhula@intelliboard.net"}],"description":"A JSDoc plugin for documenting vue 3 files.","keywords":["jsdoc","vuejs","vue component","vue file","vue 3"],"author":{"name":"Hugo Alliaume","email":"hugo@alliau.me"},"license":"MIT","readme":"JSDoc for VueJS\n===============\n\n[![npm version](https://badge.fury.io/js/jsdoc-vuejs.svg)](https://badge.fury.io/js/jsdoc-vuejs)\n[![Build Status (Travis)](https://travis-ci.org/Kocal/jsdoc-vuejs.svg?branch=master)](https://travis-ci.org/Kocal/jsdoc-vuejs)\n[![Build Status (AppVeyor)](https://ci.appveyor.com/api/projects/status/a36pui6w1qhqq582?svg=true)](https://ci.appveyor.com/project/Kocal/jsdoc-vuejs)\n[![codecov](https://codecov.io/gh/Kocal/jsdoc-vuejs/branch/master/graph/badge.svg)](https://codecov.io/gh/Kocal/jsdoc-vuejs)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/850b7601f2bf4e8787a6aadbafa8afef)](https://www.codacy.com/app/kocal/jsdoc-vuejs?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Kocal/jsdoc-vuejs&amp;utm_campaign=Badge_Grade)\n\nA JSDoc plugin for listing props, data, computed data, and methods from `.vue` files.\n\n:warning: This branch is for Vue 3. If you still use Vue 2, please see [`3.x` branch](https://github.com/Kocal/jsdoc-vuejs/tree/3.x).\n\n---\n\n## Requirements\n\n- Node 10+\n- Vue 3\n\n## Installation\n\n```bash\n$ npm install --save-dev jsdoc jsdoc-vuejs\n```\n\nYou also need to install `@vue/compiler-sfc` that match your Vue version:\n\n```bash\n$ npm install --save-dev @vue/compiler-sfc\n```\n\n## Usage\n\nYour should update your JSDoc configuration to enable JSDoc-VueJS:\n\n```json\n{\n  \"plugins\": [\n    \"node_modules/jsdoc-vuejs\"\n  ],\n  \"source\": {\n    \"includePattern\": \"\\\\.(vue|js)$\"\n  }\n}\n```\n\nUpdate your .vue files with one of the following tags:\n\n- `@vue-prop`\n- `@vue-data`\n- `@vue-computed`\n- `@vue-event`\n- `@vue-slot`\n\nAll of those tags work the same way than [`@param` tag](http://usejsdoc.org/tags-param.html).\n\n```vue\n<template>\n  <div>Hello world!</div>\n</template>\n\n<script>\n  /**\n   * @vue-prop {Number} initialCounter - Initial counter's value\n   * @vue-prop {Number} [step=1] - Step\n   * @vue-data {Number} counter - Current counter's value\n   * @vue-computed {String} message\n   * @vue-event {Number} increment - Emit counter's value after increment\n   * @vue-event {Number} decrement - Emit counter's value after decrement\n   * @vue-slot #myslot - This is my slot description\n   */\n  export default {\n    props: {\n      initialCounter: {\n        type: Number,\n        required: true,\n      },\n      step: {\n        type: Number,\n        default: 1,\n      },\n    },\n    data () {\n      return {\n        counter: 0,\n      }\n    },\n    computed: {\n      message() {\n        return `Current value is ${this.counter}`;\n      }\n    },\n    methods: {\n      increment() {\n        this.counter += 1;\n        this.$emit('increment', this.counter);\n      },\n      decrement() {\n        this.counter -= 1;\n        this.$emit('decrement', this.counter);\n      }\n    }\n  }\n</script>\n```\n\n## Supported templates\n\nThe rendering engine has been rewritten in v2, it can supports every JSDoc templates that exists.\n\nActually, it supports 4 templates:\n- Default\n- [Docstrap](https://github.com/docstrap/docstrap)\n- [Minami](https://github.com/nijikokun/minami)\n- [Tui](https://github.com/nhnent/tui.jsdoc-template)\n\nIf you use a template that is not supported, it will use the default one as a fallback.\n\nFeel free to open an issue/pull request if your template is not supported!\n\n<details>\n<summary>Default</summary>\n\n![](./screenshots/templates/default.png)\n\n</details>\n\n<details>\n<summary>Docstrap</summary>\n\n![](./screenshots/templates/docstrap.png)\n\n</details>\n\n<details>\n<summary>Minami</summary>\n\n![](./screenshots/templates/minami.png)\n\n</details>\n\n<details>\n<summary>Tui</summary>\n\n![](./screenshots/templates/tui.png)\n\n</details>\n\n## Testing\n\n### Install Dependencies\n\n```bash\n$ git clone https://github.com/Kocal/jsdoc-vuejs\n$ cd jsdoc-vuejs\n$ yarn install\n\n# For testing the example docs\n$ cd example\n$ yarn install\n```\n\n#### Generate documentations\n\n```bash\n$ cd example\n\n# Generate docs for every renderer\n$ yarn docs:all\n\n# or one by one\n$ yarn docs # default jsdoc template\n$ yarn docs:docstrap\n$ yarn docs:minami\n$ yarn docs:tui\n```\n\n### Unit\n\n```bash\n$ yarn test\n```\n\n### E2E\n\nBefore running integration tests with [Cypress](https://cypress.io), \nyou should generate documentation with all renderers:\n\n```bash\n$ cd example\n$ yarn docs:all\n```\n\nAnd then run Cypress:\n\n```bash\n$ cd ..\n$ yarn cypress run\n```\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}