prompt.js 1.82 KB
module.exports = {
  description:
    'create a component(在packages/components/external,一般是需要重写的组件,这里写的示例生成在src/packages/components/external/Charts/Bars目录下)',
  prompts: [
    {
      type: 'input',
      name: 'name',
      message: 'Please enter component name,such as "OverrideComponentName":',
      validate(value) {
        if (!value || value.trim === '') {
          return 'component name is required'
        }
        return true
      }
    }
  ],
  actions: data => {
    const dataName = data.name

    const actions = [
      {
        type: 'add',
        path: `${process.cwd()}/src/packages/components/external/Charts/Bars${dataName}/config.ts`,
        templateFile: './component-template/config.ts.hbs',
        data: {
          name: data.name
        }
      },
      {
        type: 'add',
        path: `${process.cwd()}/src/packages/components/external/Charts/Bars${dataName}/config.vue`,
        templateFile: './component-template/config.vue.hbs',
        data: {
          name: data.name
        }
      },
      {
        type: 'add',
        path: `${process.cwd()}/src/packages/components/external/Charts/Bars${dataName}/data.json`,
        templateFile: './component-template/data.json.hbs',
        data: {
          name: data.name
        }
      },
      {
        type: 'add',
        path: `${process.cwd()}/src/packages/components/external/Charts/Bars${dataName}/index.ts`,
        templateFile: './component-template/index.ts.hbs',
        data: {
          name: data.name
        }
      },
      {
        type: 'add',
        path: `${process.cwd()}/src/packages/components/external/Charts/Bars${dataName}/index.vue`,
        templateFile: './component-template/index.vue.hbs',
        data: {
          name: data.name
        }
      }
    ]

    return actions
  }
}