Skip to content

Commit 6740c28

Browse files
first commit template
0 parents  commit 6740c28

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+17994
-0
lines changed

.editorconfig

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = tab
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
17+
[*.{js,ts,mts,vue}]
18+
indent_size = 2
19+
indent_style = tab
20+
21+
[*.{scss,css}]
22+
indent_size = 2
23+
indent_style = space

.eslintignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# don't ever lint node_modules
2+
node_modules
3+
# don't lint build output (make sure it's set to your correct build folder name)
4+
dist
5+
6+
.eslintrc.js

.eslintrc-auto-import.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"globals": {
3+
"CSSProperties": true,
4+
"Component": true,
5+
"ComponentPublicInstance": true,
6+
"ComputedRef": true,
7+
"EffectScope": true,
8+
"InjectionKey": true,
9+
"PropType": true,
10+
"Ref": true,
11+
"VNode": true,
12+
"computed": true,
13+
"createApp": true,
14+
"customRef": true,
15+
"defineAsyncComponent": true,
16+
"defineComponent": true,
17+
"effectScope": true,
18+
"getCurrentInstance": true,
19+
"getCurrentScope": true,
20+
"h": true,
21+
"inject": true,
22+
"isProxy": true,
23+
"isReactive": true,
24+
"isReadonly": true,
25+
"isRef": true,
26+
"markRaw": true,
27+
"nextTick": true,
28+
"onActivated": true,
29+
"onBeforeMount": true,
30+
"onBeforeUnmount": true,
31+
"onBeforeUpdate": true,
32+
"onDeactivated": true,
33+
"onErrorCaptured": true,
34+
"onMounted": true,
35+
"onRenderTracked": true,
36+
"onRenderTriggered": true,
37+
"onScopeDispose": true,
38+
"onServerPrefetch": true,
39+
"onUnmounted": true,
40+
"onUpdated": true,
41+
"provide": true,
42+
"reactive": true,
43+
"readonly": true,
44+
"ref": true,
45+
"resolveComponent": true,
46+
"shallowReactive": true,
47+
"shallowReadonly": true,
48+
"shallowRef": true,
49+
"toRaw": true,
50+
"toRef": true,
51+
"toRefs": true,
52+
"triggerRef": true,
53+
"unref": true,
54+
"useAttrs": true,
55+
"useCssModule": true,
56+
"useCssVars": true,
57+
"useSlots": true,
58+
"useTheme": true,
59+
"watch": true,
60+
"watchEffect": true,
61+
"watchPostEffect": true,
62+
"watchSyncEffect": true
63+
}
64+
}

.eslintrc.js

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
node: true,
5+
},
6+
extends: [
7+
'eslint:recommended',
8+
'plugin:vue/essential',
9+
'plugin:@typescript-eslint/recommended',
10+
'@vue/typescript/recommended',
11+
'prettier',
12+
'./.eslintrc-auto-import.json',
13+
],
14+
ignorePatterns: [
15+
'.eslintrc.js',
16+
'stylelint.config.js',
17+
'vite.build.config.mts',
18+
'vite.config.mts',
19+
'*.bk.vue',
20+
],
21+
overrides: [
22+
{
23+
files: [
24+
'**/*.spec.{j,t}s?(x)',
25+
],
26+
env: {
27+
jest: true,
28+
},
29+
},
30+
],
31+
globals: {
32+
Entry: true,
33+
},
34+
parserOptions: {
35+
parser: '@typescript-eslint/parser',
36+
},
37+
plugins: [
38+
'@typescript-eslint',
39+
'import',
40+
'prettier',
41+
'vue',
42+
],
43+
root: true,
44+
settings: {
45+
'import/resolver': {
46+
},
47+
},
48+
rules: {
49+
'@typescript-eslint/ban-ts-comment': 0,
50+
'@typescript-eslint/ban-types': [
51+
'error',
52+
{
53+
'extendDefaults': true,
54+
'types': {
55+
'{}': false,
56+
}
57+
},
58+
],
59+
'@typescript-eslint/no-empty-function': 0,
60+
'@typescript-eslint/no-explicit-any': 0,
61+
'brace-style': ['error', 'stroustrup'],
62+
'default-case': [
63+
'error', {
64+
commentPattern: '^skip\\sdefault',
65+
},
66+
],
67+
'func-names': ['error', 'never'],
68+
'function-paren-newline': 0,
69+
'import/no-self-import': 0,
70+
'import/no-extraneous-dependencies': 0,
71+
'implicit-arrow-linebreak': ['warn', 'beside'],
72+
indent: [2, 'tab', { SwitchCase: 1 }],
73+
'no-tabs': [0, { allowIndentationTabs: true }],
74+
'linebreak-style': 0,
75+
'max-len': 0,
76+
'no-else-return': ['error', { allowElseIf: true }],
77+
'no-console': ['warn', { allow: ['warn', 'error', 'info', 'trace'] }],
78+
'no-const-assign': 'error',
79+
'no-debugger': 0,
80+
'no-new': 0,
81+
'no-undef': 0,
82+
'no-unused-vars': 1,
83+
'no-use-before-define': 0,
84+
'no-useless-escape': 0,
85+
'no-param-reassign': [
86+
'error', {
87+
props: true,
88+
ignorePropertyModificationsFor: ['field', 'model', 'el', 'item', 'state', 'Vue', 'vue'],
89+
},
90+
],
91+
'no-underscore-dangle': [
92+
'error', {
93+
allow: ['_data'],
94+
allowAfterThis: true,
95+
},
96+
],
97+
'no-plusplus': [
98+
'error', { allowForLoopAfterthoughts: true },
99+
],
100+
'object-curly-newline': ['error', {
101+
ObjectPattern: { multiline: false },
102+
}],
103+
'operator-linebreak': ['error', 'after'],
104+
'prefer-destructuring': [
105+
'error', {
106+
array: false,
107+
object: false,
108+
},
109+
{
110+
enforceForRenamedProperties: false,
111+
},
112+
],
113+
'space-before-function-paren': ['error', {
114+
anonymous: 'never',
115+
named: 'never',
116+
asyncArrow: 'always',
117+
}],
118+
'vue/attributes-order': ['error', {
119+
'alphabetical': true,
120+
'order': [
121+
'DEFINITION',
122+
'LIST_RENDERING',
123+
'CONDITIONALS',
124+
'RENDER_MODIFIERS',
125+
'GLOBAL',
126+
['UNIQUE', 'SLOT'],
127+
'TWO_WAY_BINDING',
128+
'OTHER_DIRECTIVES',
129+
'OTHER_ATTR',
130+
'EVENTS',
131+
'CONTENT',
132+
],
133+
}],
134+
'vue/html-closing-bracket-newline': 0,
135+
'vue/html-indent': 0,
136+
'vue/html-self-closing': 0,
137+
'vue/max-attributes-per-line': 0,
138+
'vue/no-multiple-template-root': 0,
139+
'vue/no-template-shadow': 0,
140+
'vue/no-v-for-template-key': 0,
141+
'vue/no-v-html': 0,
142+
'vue/singleline-html-element-content-newline': 0,
143+
'vue/sort-keys': ['error', 'asc', {
144+
caseSensitive: true,
145+
ignoreChildrenOf: ['model', 'defineProps'],
146+
ignoreGrandchildrenOf: ['computed', 'directives', 'inject', 'props', 'watch', 'defineProps'],
147+
minKeys: 2,
148+
natural: true,
149+
}],
150+
'vue/valid-template-root': 0,
151+
},
152+
};

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
docs
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
.history/*
18+
!.vscode/extensions.json
19+
.idea
20+
.DS_Store
21+
*.suo
22+
*.ntvs*
23+
*.njsproj
24+
*.sln
25+
*.sw?
26+
27+
28+
src/plugin/**/*.bk.*

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx lint-staged && npm run test:build

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.github
3+
.history

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node-version=20.10.0

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20.10.0

.prettierrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
semi: true,
3+
singleQuote: true,
4+
trailingComma: 'all',
5+
};

.vscode/extensions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3+
}

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Change Log
2+
All notable changes to the "vuetify-plugin-template" plugin will be documented in this file.
3+
4+
## v1.0.0

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<p align="center">
2+
<img alt="Vuetify Logo" width="100" src="https://raw.githubusercontent.com/webdevnerdstuff/vuetify-plugin-template/main/src/assets/vuetify-logo.svg">
3+
</p>
4+
5+
<p>
6+
<h1 align="center">Vuetify Plugin Template</h1>
7+
</p>
8+
9+
<p align="center">
10+
<!-- <a href="https://www.npmjs.com/package/vuetify-plugin-template">
11+
<img src="https://img.shields.io/npm/v/vuetify-plugin-template?color=1867c0&logo=npm" alt="NPM Package">
12+
</a>
13+
&nbsp; -->
14+
<a href="https://github.com/webdevnerdstuff/vuetify-plugin-template">
15+
<img src="https://img.shields.io/badge/GitHub-WebDevNerdStuff-brightgreen.svg?logo=github" alt="@WebDevNerdStuff">
16+
</a>
17+
</p>
18+
19+
20+
## Description
21+
22+
Vuetify Plugin Template is a template to help you get starting building your own plugin/component for Vuetify (v3).
23+
24+
## Features
25+
26+
See [Documentation & Demo](https://webdevnerdstuff.github.io/vuetify-plugin-template/#features) page for a list of features.
27+
28+
## Documentation
29+
30+
[Documentation & Demo](https://webdevnerdstuff.github.io/vuetify-plugin-template/)
31+
32+
## Dependencies
33+
34+
[Vuetify v3](https://vuetifyjs.com/)
35+
[Vue 3](https://vuejs.org/)
36+
37+
38+
## Change Log
39+
40+
[CHANGELOG](https://github.com/webdevnerdstuff/vuetify-plugin-template/blob/master/CHANGELOG.md)
41+
42+
43+
## License
44+
45+
Copyright (c) 2023 WebDevNerdStuff
46+
Licensed under the [MIT license](https://github.com/webdevnerdstuff/vuetify-plugin-template/blob/master/LICENSE.md).
47+
48+
49+
## Legal
50+
51+
Vuetify and the Vuetify logo are trademarks of Vuetify. This component was not created or endorsed by Vuetify.

0 commit comments

Comments
 (0)