THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Selaa lähdekoodia

feat: plop new generate store (#2805)

pull/2832/head
monkeycf 花裤衩 2 kuukautta sitten
vanhempi
commit
65d8c451e8
3 muutettua tiedostoa jossa 80 lisäystä ja 0 poistoa
  1. +16
    -0
      plop-templates/store/index.hbs
  2. +62
    -0
      plop-templates/store/prompt.js
  3. +2
    -0
      plopfile.js

+ 16
- 0
plop-templates/store/index.hbs Näytä tiedosto

@@ -0,0 +1,16 @@
{{#if state}}
const state = {}
{{/if}}

{{#if mutations}}
const mutations = {}
{{/if}}

{{#if actions}}
const actions = {}
{{/if}}

export default {
namespaced: true,
{{options}}
}

+ 62
- 0
plop-templates/store/prompt.js Näytä tiedosto

@@ -0,0 +1,62 @@
const { notEmpty } = require('../utils.js')

module.exports = {
description: 'generate store',
prompts: [{
type: 'input',
name: 'name',
message: 'store name please',
validate: notEmpty('name')
},
{
type: 'checkbox',
name: 'blocks',
message: 'Blocks:',
choices: [{
name: 'state',
value: 'state',
checked: true
},
{
name: 'mutations',
value: 'mutations',
checked: true
},
{
name: 'actions',
value: 'actions',
checked: true
}
],
validate(value) {
if (!value.includes('state') || !value.includes('mutations')) {
return 'store require at least state and mutations'
}
return true
}
}
],
actions(data) {
const name = '{{name}}'
const { blocks } = data
const options = ['state', 'mutations']
const joinFlag = `,
`
if (blocks.length === 3) {
options.push('actions')
}

const actions = [{
type: 'add',
path: `src/store/modules/${name}.js`,
templateFile: 'plop-templates/store/index.hbs',
data: {
options: options.join(joinFlag),
state: blocks.includes('state'),
mutations: blocks.includes('mutations'),
actions: blocks.includes('actions')
}
}]
return actions
}
}

+ 2
- 0
plopfile.js Näytä tiedosto

@@ -1,7 +1,9 @@
const viewGenerator = require('./plop-templates/view/prompt')
const componentGenerator = require('./plop-templates/component/prompt')
const storeGenerator = require('./plop-templates/store/prompt.js')

module.exports = function(plop) {
plop.setGenerator('view', viewGenerator)
plop.setGenerator('component', componentGenerator)
plop.setGenerator('store', storeGenerator)
}

Loading…
Peruuta
Tallenna