Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

components-helper

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

components-helper

Based on the docs to provide code prompt files for vue component library

  • 2.1.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
277
decreased by-23.48%
Maintainers
1
Weekly downloads
 
Created
Source

components-helper

Based on the documents to provide code prompt files for vue component library

Reference documents format reference test files

Changelog

Installation

yarn add components-helper -D
# or
npm i components-helper --save-dev

Usage

const { main } = require('components-helper')

main({
  // Options
})

example

then in package.json

{
  "scripts": {
+    "build:helper": "node helper/file.js"
  },
+  "vetur": {
+    "tags": "config outDir/tags.json",
+    "attributes": "config outDir/attributes.json"
+  },
+  "web-types": "config outDir/web-types.json"
}

Options

TOC - [entry (required)](#entry) - [outDir (required)](#outdir) - [name (required)](#name) - [version (required)](#version) - [space](#space) - [separator](#separator) - [reComponentName](#recomponentname) - [reDocUrl](#redocurl) - [reAttribute](#reattribute) - [reVeturDescription](#reveturdescription) - [reWebTypesSource](#rewebtypessource) - [reWebTypesType](#rewebtypestype) - [tags](#tags) - [attributes](#attributes) - [webTypes](#webtypes) - [props](#props) - [propsName](#propsname) - [propsDescription](#propsdescription) - [propsType](#propstype) - [propsOptions](#propsoptions) - [propsDefault](#propsdefault) - [events](#events) - [eventsName](#eventsname) - [eventsDescription](#eventsdescription) - [slots](#slots) - [slotsName](#slotsname) - [slotsDescription](#slotsdescription) - [slotsSubtags](#slotssubtags) - [directives](#directives) - [directivesName](#directivesname) - [directivesDescription](#directivesdescription) - [directivesType](#directivestype) - [titleRegExp](#titleregexp) - [tableRegExp](#tableregexp) - [fileNameRegExp](#filenameregexp)

entry

  • Required: true
  • Type: string

entry path, refer: fast-glob

for example:

  • docs/*.md -- matches all files in the docs
  • docs/(a|b).md -- matches files a.md and b.md
  • docs/!(a|b).md -- matches files except for a.md and b.md

outDir

  • Required: true
  • Type: string

outDir path, For example lib

name

  • Required: true
  • Type: string

name of the component library.

version

  • Required: true
  • Type: string

the version of the component library.

space

  • Type: number | string

Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read

separator

  • Type: string
  • Default: /

the separator for propsOptions, slotsSubtags, type ...

reComponentName

  • Type: (title: string, fileName: string, path: string) => string
  • Defult: hyphenate(title || fileName)

rewriting the name of the component

for example (title) => 'prefix-' + title.replace(/\B([A-Z])/g, '-$1').toLowerCase()

reDocUrl

  • Type: (fileName: string, header?: string, path: string) => string | undefind

rewriting the doc url of the component

reAttribute

  • Type: (value: string, key: string, row: string[], title: string) => string | undefined
arg
  • value: current value
  • key: the key value of the current column
  • row: all values of the current row
  • title: the title of current tabel

rewriting the attribute of the component

reVeturDescription

  • Type: (description?: string, defaultValue?: string, docUrl?: string) => string
  • Default: same like ${description}, default: ${defaultValue}.\n\n[Docs](${docUrl})

rewriting the description of vetur

reWebTypesSource

  • Type: (title: string, fileName: string, path: string) => Source

rewriting the source of web-types. (the name of export from the component library)

reWebTypesType

  • Type: (type: string) => undefined | string | BaseContribution

Only some common types are processed internally, and the rest are exported from the component library by default. If your document also references types in third-party libraries, you can choose to override the relevant behavior through this function

tags

  • Type: string
  • Default: tags.json

name for tags of the vetur

attributes

  • Type: string
  • Default: attributes.json

name for attributes of the vetur

webTypes

  • Type: string
  • Default: web-types.json

name for web-types of the webstrom

props

  • Type: string (This is a regular string and ignores case.)
  • Default: props

name of props table. other string in the header will be identified as sub-component

propsName

  • Type: string
  • Default: Name

name for the props header name

propsDescription

  • Type: string
  • Default: Description

name for props header description

propsType

  • Type: string
  • Default: Type

name for props header type

propsOptions

  • Type: string
  • Default: Options

name for props header options

propsDefault

  • Type: string
  • Default: Default

name for props header default

events

  • Type: string (This is a regular string and ignores case.)
  • Default: events

name of events table. other string in the header will be identified as sub-component

eventsName

  • Type: string
  • Default: Name

name for the events header name

eventsDescription

  • Type: string
  • Default: Description

name for events header description

slots

  • Type: string (This is a regular string and ignores case.)
  • Default: slots

name of slots table. other string in the header will be identified as sub-component

slotsName

  • Type: string
  • Default: Name

name for the slots header name

slotsDescription

  • Type: string
  • Default: Description

name for slots header description

slotsSubtags

  • Type: string
  • Default: Subtags

name for slots header subtags

directives

  • Type: string (This is a regular string and ignores case.)
  • Default: directives

name of directives table. other string in the header will be identified as sub-component

directivesName

  • Type: string
  • Default: Name

name for the directives header name

directivesDescription

  • Type: string
  • Default: Description

name for directives header description

directivesType

  • Type: string
  • Default: Type

name for directives header type

titleRegExp

  • Type: RegExp | string (This is a regular string.)
  • Default: /#+\s+(.*)\n+([^(#|\n)]*)/g

matches the title and description information from docs

tableRegExp

  • Type: RegExp | string (This is a regular string.)
  • Default: /#+\s+(.*)\n+(\|?.+\|.+)\n\|?\s*:?-+:?\s*\|.+((\n\|?.+\|.+)+)/g

matches the title and table header and the table contains information from docs

fileNameRegExp

  • Type: RegExp | string (This is a regular string.)
  • Default: /\/((\w|-)+)\.\w+$/

matches the file name from the path

Advancement

about titleRegExp

matches the first format information in the docs

/#+\s+(.*)\n+([^(#|\n)]*)/

# title
description

and

## title

matches other formats, For example:

/#+\s+(.*)\n+>\s*([^(#|\n)]*)/g

# title
> description

about tableRegExp

matches the format information in the docs

/#+\s+(.*)\n+(\|?.+\|.+)\n|?\s*:?-+:?\s*|.+((\n\|?.+\|.+)+)/g

### title
| header |
| ------ |
| column |
| column |

and

### sub-component title
| header |
| :----- |
| column |
| column |

by default matches all tables, Optimize it through tableRegExp, For example:

/#+\s+(.*\s*Props|.*\s*Events|.*\s*Slots|.*\s*Directives)\n+(\|?.+\|.+)\n|?\s*:?-+:?\s*|.+((\n\|?.+\|.+)+)/g

### Props | Events | Slots | Directives
| header |
| ------ |
| column |
| column |

and

### sub-component Props
| header |
| ------ |
| column |
| column |

other

When this document does not include the primary title or Props Events Slots and Directives, this component is not created.

License

MIT

Keywords

FAQs

Package last updated on 04 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc