Skip to content

Commit f809daf

Browse files
Transfer over v3 repo
1 parent e7692a6 commit f809daf

Some content is hidden

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

54 files changed

+3691
-7455
lines changed

.babelrc

-17
This file was deleted.

.browserslistrc

-5
This file was deleted.

.editorconfig

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,18 @@ root = true
33
[*]
44
charset = utf-8
55
end_of_line = lf
6-
insert_final_newline = true
7-
indent_style = tab
86
indent_size = 4
7+
indent_style = tab
8+
insert_final_newline = true
99
trim_trailing_whitespace = true
1010

1111
[*.md]
1212
trim_trailing_whitespace = false
13-
indent_size = 2
14-
indent_style = space
1513

1614
[*.{yml,yaml}]
1715
indent_size = 2
1816

19-
[*.{js,vue}]
17+
[*.{js,ts,vue}]
2018
indent_size = 2
2119
indent_style = tab
2220

.eslintignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
/dist
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

.eslintrc.js

+50-104
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,91 @@
11
module.exports = {
22
env: {
33
browser: true,
4+
node: true,
45
},
56
extends: [
6-
'airbnb-base',
77
'eslint:recommended',
8-
'plugin:vue/recommended',
8+
'plugin:vue/essential',
9+
"@vue/typescript/recommended",
10+
"prettier",
911
],
10-
parser: 'vue-eslint-parser',
11-
parserOptions: {
12-
ecmaFeatures: {
13-
jsx: true,
12+
overrides: [
13+
{
14+
files: [
15+
'**/*.spec.{j,t}s?(x)',
16+
],
17+
env: {
18+
jest: true,
19+
},
1420
},
15-
ecmaVersion: 12,
16-
parser: '@babel/eslint-parser',
17-
requireConfigFile: false,
18-
sourceType: 'module',
21+
],
22+
globals: {
23+
Entry: true,
24+
},
25+
parserOptions: {
26+
parser: "@typescript-eslint/parser",
1927
},
2028
plugins: [
29+
'@typescript-eslint',
2130
'import',
31+
'prettier',
2232
'vue',
23-
'@babel',
2433
],
34+
root: true,
2535
settings: {
2636
'import/resolver': {
2737
'babel-module': {},
2838
},
2939
},
3040
rules: {
31-
'arrow-spacing': ['error', { after: true, before: true }],
41+
"@typescript-eslint/ban-types": [
42+
"error",
43+
{
44+
"extendDefaults": true,
45+
"types": {
46+
"{}": false
47+
}
48+
}
49+
],
50+
'@typescript-eslint/no-empty-function': 0,
3251
'brace-style': ['error', 'stroustrup'],
33-
'comma-dangle': ['error', 'always-multiline'],
3452
'default-case': [
3553
'error', {
3654
commentPattern: '^skip\\sdefault',
3755
},
3856
],
3957
'func-names': ['error', 'never'],
4058
'function-paren-newline': 0,
41-
'implicit-arrow-linebreak': ['warn', 'beside'],
42-
'import/no-extraneous-dependencies': [
43-
'error',
44-
{
45-
devDependencies: [
46-
'**/vite.*.js',
47-
],
48-
},
49-
],
5059
'import/no-self-import': 0,
51-
'import/prefer-default-export': 0,
60+
'import/no-extraneous-dependencies': 0,
61+
'implicit-arrow-linebreak': ['warn', 'beside'],
5262
indent: [2, 'tab', { SwitchCase: 1 }],
63+
'no-tabs': [0, { allowIndentationTabs: true }],
5364
'linebreak-style': 0,
5465
'max-len': 0,
55-
56-
'no-console': ['warn', { allow: ['warn', 'error'] }],
57-
'no-debugger': 0,
5866
'no-else-return': ['error', { allowElseIf: true }],
59-
'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 0 }],
67+
'no-console': ['warn', { allow: ['warn', 'error', 'info'] }],
68+
'no-const-assign': 'error',
69+
'no-debugger': 0,
6070
'no-new': 0,
71+
'no-unused-vars': 1,
72+
'no-use-before-define': 0,
73+
'no-useless-escape': 0,
6174
'no-param-reassign': [
6275
'error', {
63-
ignorePropertyModificationsFor: ['Vue', 'field', 'model', 'el', 'item', 'state'],
6476
props: true,
77+
ignorePropertyModificationsFor: ['field', 'model', 'el', 'item', 'state', 'Vue', 'vue'],
6578
},
6679
],
67-
'no-plusplus': [
68-
'error', { allowForLoopAfterthoughts: true },
69-
],
70-
'no-tabs': [0, { allowIndentationTabs: true }],
7180
'no-underscore-dangle': [
7281
'error', {
73-
allow: ['_data', '__dirname', '__filename'],
82+
allow: ['_data'],
7483
allowAfterThis: true,
7584
},
7685
],
77-
'no-unused-vars': 1,
78-
'no-useless-escape': 0,
86+
'no-plusplus': [
87+
'error', { allowForLoopAfterthoughts: true },
88+
],
7989
'object-curly-newline': ['error', {
8090
ObjectPattern: { multiline: false },
8191
}],
@@ -89,23 +99,14 @@ module.exports = {
8999
enforceForRenamedProperties: false,
90100
},
91101
],
92-
quotes: ['error', 'single', { avoidEscape: true }],
93-
semi: ['error', 'always'],
94-
'sort-imports': ['error', {
95-
allowSeparatedGroups: false,
96-
ignoreCase: true,
97-
ignoreDeclarationSort: true,
98-
ignoreMemberSort: false,
99-
memberSyntaxSortOrder: ['none', 'single', 'all', 'multiple'],
100-
}],
101102
'space-before-function-paren': ['error', {
102103
anonymous: 'never',
103-
asyncArrow: 'never',
104104
named: 'never',
105+
asyncArrow: 'never',
105106
}],
106107
'vue/attributes-order': ['error', {
107-
alphabetical: true,
108-
order: [
108+
'alphabetical': true,
109+
'order': [
109110
'DEFINITION',
110111
'LIST_RENDERING',
111112
'CONDITIONALS',
@@ -119,69 +120,14 @@ module.exports = {
119120
'CONTENT',
120121
],
121122
}],
122-
'vue/component-tags-order': ['error', {
123-
order: ['template', 'script', 'style'],
124-
}],
125123
'vue/html-closing-bracket-newline': 0,
126-
'vue/html-comment-content-spacing': ['error',
127-
'always',
128-
],
129124
'vue/html-indent': 0,
130125
'vue/html-self-closing': 0,
131126
'vue/max-attributes-per-line': 0,
132-
'vue/multi-word-component-names': 0,
127+
'vue/no-multiple-template-root': 0,
133128
'vue/no-template-shadow': 0,
134129
'vue/no-v-html': 0,
135-
'vue/no-v-text-v-html-on-component': 0,
136-
'vue/order-in-components': ['error', {
137-
order: [
138-
'el',
139-
'name',
140-
'key',
141-
'parent',
142-
'functional',
143-
['delimiters', 'comments'],
144-
['components', 'directives', 'filters'],
145-
'extends',
146-
'mixins',
147-
['provide', 'inject'],
148-
'ROUTER_GUARDS',
149-
'layout',
150-
'middleware',
151-
'validate',
152-
'scrollToTop',
153-
'transition',
154-
'loading',
155-
'inheritAttrs',
156-
'model',
157-
['props', 'propsData'],
158-
'emits',
159-
'setup',
160-
'asyncData',
161-
'data',
162-
'fetch',
163-
'head',
164-
'computed',
165-
'watch',
166-
'watchQuery',
167-
'beforeCreate',
168-
'created',
169-
'beforeMount',
170-
'mounted',
171-
'beforeUpdate',
172-
'updated',
173-
'activated',
174-
'deactivated',
175-
'beforeDestroy',
176-
'destroyed',
177-
'errorCaptured', // for Vue.js 2.5.0+
178-
'methods',
179-
['template', 'render'],
180-
'renderError',
181-
],
182-
}],
183-
'vue/padding-line-between-blocks': 1,
184-
'vue/require-name-property': 1,
185130
'vue/singleline-html-element-content-newline': 0,
131+
'vue/valid-template-root': 0,
186132
},
187133
};

.github/ISSUE_TEMPLATE/bug_report.md

+45-38
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,45 @@
1-
---
2-
name: Bug report
3-
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
8-
---
9-
10-
**Describe the bug**
11-
A clear and concise description of what the bug is.
12-
13-
**To Reproduce**
14-
Steps to reproduce the behavior:
15-
1. Go to '...'
16-
2. Click on '....'
17-
3. Scroll down to '....'
18-
4. See error
19-
20-
**Expected behavior**
21-
A clear and concise description of what you expected to happen.
22-
23-
**Screenshots**
24-
If applicable, add screenshots to help explain your problem.
25-
26-
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser [e.g. chrome, safari]
29-
- Version [e.g. 22]
30-
31-
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser [e.g. stock browser, safari]
35-
- Version [e.g. 22]
36-
37-
**Additional context**
38-
Add any other context about the problem here.
1+
name: Bug Report
2+
description: File a bug report
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
assignees:
6+
- webdevnerdstuff
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for taking the time to fill out this bug report!
12+
- type: textarea
13+
id: bug-description
14+
attributes:
15+
label: Bug description
16+
description: What happened?
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: steps
21+
attributes:
22+
label: Steps to reproduce
23+
description: Which steps do we need to take to reproduce this error?
24+
placeholder: "Steps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'"
25+
validations:
26+
required: true
27+
- type: textarea
28+
id: logs
29+
attributes:
30+
label: Relevant log output
31+
description: If applicable, please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
32+
render: shell
33+
- type: textarea
34+
id: additional-context
35+
attributes:
36+
label: Additional context
37+
description: Add any other context about the problem here.
38+
- type: checkboxes
39+
id: terms
40+
attributes:
41+
label: Code of Conduct
42+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/webdevnerdstuff/vue3-easter-egg-trigger/blob/main/CODE_OF_CONDUCT.md)
43+
options:
44+
- label: I agree to follow this project's Code of Conduct
45+
required: true

0 commit comments

Comments
 (0)