-
Notifications
You must be signed in to change notification settings - Fork 0
/
vue-snippets.json
89 lines (89 loc) · 2.26 KB
/
vue-snippets.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
"vue test file": {
"prefix": "spec",
"body": [
"import '@testing-library/jest-dom';",
"import { fireEvent } from '@testing-library/vue';",
"import { render } from '@/utils/testUtils';",
"import ${TM_FILENAME/(.*)\\.spec\\..+$/$1/} from '../${TM_FILENAME/(.*)\\.spec\\..+$/$1/}.vue';",
"",
"const initialProps = {",
"\t$1",
"};",
"",
"const renderComponent = (options = {}) => render(${TM_FILENAME/(.*)\\.spec\\..+$/$1/}, { ...options });",
"",
"describe('${TM_FILENAME/(.*)\\.spec\\..+$/$1/}', () => {",
"",
"\t$0",
"",
"})"
],
"description": "vue component test boilerplate"
},
"story": {
"prefix": "story",
"body": [
"import ${TM_FILENAME/(.*)\\.stories\\..+$/$1/} from './${TM_FILENAME/(.*)\\.stories\\..+$/$1/}.vue';",
"//import mdx from './${TM_FILENAME/(.*)\\.stories\\..+$/$1/}.mdx';",
"",
"export default {",
"\ttitle: 'Components/${TM_FILENAME/(.*)\\.stories\\..+$/$1/}',",
"\tcomponent: ${TM_FILENAME/(.*)\\.stories\\..+$/$1/},",
"//\tparameters: {",
"//\t\tdocs: {",
"//\t\t\tpage: mdx",
"//\t\t}",
"//\t},",
"};",
"",
"const Template = (args, { argTypes }) => ({",
"\tprops: Object.keys(argTypes),",
"\tcomponents: { ${TM_FILENAME/(.*)\\.stories\\..+$/$1/} },",
"\tsetup: () => ({ args }),",
"\ttemplate: '<${TM_FILENAME/([A-Z][a-z]*)([A-Z][a-z]*)*\\.stories\\..+$/${1:/downcase}${2:+-}${2:/downcase}/g} v-bind=\"args\"></${TM_FILENAME/([A-Z][a-z]*)([A-Z][a-z]*)*\\.stories\\..+$/${1:/downcase}${2:+-}${2:/downcase}/g}>'",
"});",
"",
"export const Primary = Template.bind({});",
"Primary.args = {",
"\t$1",
"}"
],
"description": "Storybook for vue component boilerplate"
},
// the follow snippets go in vue.json
"component": {
"prefix": "component",
"body": [
"<template>",
"",
"</template>",
"",
"<script>",
"export default {",
"\tname: '${TM_FILENAME_BASE}',",
"\tprops: {",
"\t\t$1",
"\t},",
"\temits: [],",
"\tdata () {",
"\t\treturn {",
"\t\t\t$2",
"\t\t};",
"},",
"\tcomputed: {",
"\t\t$3",
"\t},",
"\tmethods: {",
"\t\t$4",
"\t}",
"}",
"</script>",
"",
"<style scoped lang=\"scss\">",
"",
"</style>"
],
"description": "boilerplate for a Vue component"
}
}