You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
module.exports = {
|
|
description: 'create a store',
|
|
prompts: [
|
|
{
|
|
type: 'input',
|
|
name: 'name',
|
|
message: 'Please enter store name,such as "newStoreName" :',
|
|
validate (value) {
|
|
if (!value || value.trim === '') {
|
|
return 'name is required';
|
|
}
|
|
return true;
|
|
},
|
|
}
|
|
],
|
|
actions: (data) => {
|
|
const dataName = data.name
|
|
|
|
// 首字母大写
|
|
const upperDataName = dataName.slice(0, 1).toUpperCase() + dataName.slice(1)
|
|
|
|
const actions = [
|
|
{
|
|
type: 'add',
|
|
path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.ts`, // 这里的name就是上面定义的键
|
|
templateFile: './store-template/index.hbs',
|
|
data: {
|
|
name: data.name,
|
|
upperDataName,
|
|
}
|
|
},
|
|
{
|
|
type: 'add',
|
|
path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.d.ts`, // 这里的name就是上面定义的键
|
|
templateFile: './store-template/index.d.hbs',
|
|
data: {
|
|
name: data.name,
|
|
upperDataName,
|
|
}
|
|
},
|
|
]
|
|
|
|
return actions
|
|
}
|
|
}
|