rollup-plugin-sample
Build sample pages for UI components
Installation
npm install --save-dev rollup-plugin-sample
Usage
// rollup.config.js input: 'index.js' output: file: 'dist/bundle.js' plugins:
Options
sampleDir
Directory of the sample source file
Type: string
Example:
Default: samples
sampleDist
The path relative to the $outputDir
to output the generated files file, generate sample files to disk:
$outputDir/examples
and server $url/examples
Type: string
Default: samples
sampleHtml
The sample html file pattern
Type: string
Default: **/*.html
Compile the sample html by ejs
with Context:
file: string title: string name: string data: any scripts: Tag styles: Tag links: Tag metas: Tag string string string string
Example:
<%-title%> <%- styleTags("\t\t") %> <%-title%> <%- scriptTags("\t\t") %>
sampleScript
The sample script file pattern
Default: **/*.spl.js
sampleTitle
The title of sample page or index page
Type: string | (sampleName, sampleId) => string
Example: sample({ sampleTitle: "Sample" })
Example: sample({ sampleTitle: (title, file)=> "Samples" + (title ? " - " + title:"") })
Default: $sampleName
sampleTemplate
The default html template of sample pages
Type: string | (context) => string
Default: node_modules/rollup-plugin-sample/src/sampleTemplate.html
The Template Context:
file: string title: string name: string data: any scripts: Tag styles: Tag links: Tag metas: Tag string string string string
indexTemplate
The index page html template
Type: string | (context) => string
Default: node_modules/rollup-plugin-sample/src/indexTemplate.html
The Template Context:
file: string title: string // default: "Samples" data: any samples: category: string samples: title: string name: string file: string category: string scripts: Tag styles: Tag links: Tag metas: Tag string string string string
sampleData
The user data for compile html by ejs
Default: {}
compile
The rollup options for compiling sample scripts
Type:
Omit<RollupOptions 'input' | 'output'> & output?: Omit<OutputOptions 'file' | 'dir'> & name?: string | string
Example:
Default:
plugins: output: format: "umd" name: $sampleName sourcemap: $outputsourcemap
watch
Watch the sample files
Type: boolean
Default: false
write
Write the generated files to $outputDir/$sampleDist
Type: boolean
Default: true
server
Start the dev server
Type: boolean
Default: true
host
The host the server should listen on
Type: string
Default: "0.0.0.0"
port
The port the server should listen on
Type: number
Default: 8080
publicPath
Prefix all served files with a base path - e.g. serve from /static
instead of /
Type: string
Default: ""
statics
Directories to serve static files from
Type: (string | {path: string, mount: string})[]
Example: sample({ statics: ["node_modules", {path: "test", mount: "."}] })
Default: []
Test
$ npm run test -- -w
Browser access : http://localhost:8080