| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | #!/usr/bin/env node'use strict'const path = require('path')const fse = require('fs-extra')const Plugins = require('./DocsPlugins')class Publish {  constructor() {    this.options = {      verbose: false    }    this.getArguments()  }  getArguments() {    if (process.argv.length > 2) {      const arg = process.argv[2]      switch (arg) {        case '-v':        case '--verbose':          this.options.verbose = true          break        default:          throw new Error(`Unknown option ${arg}`)      }    }  }  run() {    // Publish files    Plugins.forEach(module => {      try {        fse.copySync(module.from, module.to, {          // Skip copying dot files          filter(src) {            return !path.basename(src).startsWith('.')          }        })        if (this.options.verbose) {          console.log(`Copied ${module.from} to ${module.to}`)        }      } catch (error) {        console.error(`Error: ${error}`)      }    })  }}(new Publish()).run()
 |