Skip to content

Commit

Permalink
Merge pull request #16 from webdevnerdstuff/v3
Browse files Browse the repository at this point in the history
V3
  • Loading branch information
webdevnerdstuff authored Jan 17, 2024
2 parents e7692a6 + 56d79fc commit 129aa11
Show file tree
Hide file tree
Showing 101 changed files with 10,593 additions and 5,704 deletions.
17 changes: 0 additions & 17 deletions .babelrc

This file was deleted.

5 changes: 0 additions & 5 deletions .browserslistrc

This file was deleted.

8 changes: 3 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,18 @@ root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false
indent_size = 2
indent_style = space

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

[*.{js,vue}]
[*.{js,ts,mts,vue}]
indent_size = 2
indent_style = tab

Expand Down
5 changes: 4 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
/dist
# don't ever lint node_modules
node_modules
# don't lint build output (make sure it's set to your correct build folder name)
dist
64 changes: 64 additions & 0 deletions .eslintrc-auto-import.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"globals": {
"CSSProperties": true,
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"EffectScope": true,
"InjectionKey": true,
"PropType": true,
"Ref": true,
"VNode": true,
"computed": true,
"createApp": true,
"customRef": true,
"defineAsyncComponent": true,
"defineComponent": true,
"effectScope": true,
"getCurrentInstance": true,
"getCurrentScope": true,
"h": true,
"inject": true,
"isProxy": true,
"isReactive": true,
"isReadonly": true,
"isRef": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onBeforeMount": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onDeactivated": true,
"onErrorCaptured": true,
"onMounted": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onScopeDispose": true,
"onServerPrefetch": true,
"onUnmounted": true,
"onUpdated": true,
"provide": true,
"reactive": true,
"readonly": true,
"ref": true,
"resolveComponent": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"toRaw": true,
"toRef": true,
"toRefs": true,
"triggerRef": true,
"unref": true,
"useAttrs": true,
"useCssModule": true,
"useCssVars": true,
"useSlots": true,
"useTheme": true,
"watch": true,
"watchEffect": true,
"watchPostEffect": true,
"watchSyncEffect": true
}
}
176 changes: 71 additions & 105 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,81 +1,103 @@
module.exports = {
env: {
browser: true,
node: true,
},
extends: [
'airbnb-base',
'eslint:recommended',
'plugin:vue/recommended',
'plugin:vue/essential',
'plugin:@typescript-eslint/recommended',
'@vue/typescript/recommended',
'prettier',
'./.eslintrc-auto-import.json',
],
parser: 'vue-eslint-parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
ignorePatterns: [
'.eslintrc.js',
'stylelint.config.js',
'vite.build.config.mts',
'vite.config.mts',
'vitest.config.mts',
'*.bk.vue',
],
overrides: [
{
files: [
'**/*.spec.{j,t}s?(x)',
],
env: {
jest: true,
},
},
ecmaVersion: 12,
parser: '@babel/eslint-parser',
requireConfigFile: false,
sourceType: 'module',
],
globals: {
Entry: true,
},
parserOptions: {
parser: '@typescript-eslint/parser',
},
plugins: [
'@typescript-eslint',
'import',
'prettier',
'vue',
'@babel',
],
root: true,
settings: {
'import/resolver': {
'babel-module': {},
},
},
rules: {
'arrow-spacing': ['error', { after: true, before: true }],
'@typescript-eslint/ban-ts-comment': 0,
'@typescript-eslint/ban-types': [
'error',
{
'extendDefaults': true,
'types': {
'{}': false,
}
},
],
'@typescript-eslint/no-empty-function': 0,
'@typescript-eslint/no-explicit-any': 0,
'brace-style': ['error', 'stroustrup'],
'comma-dangle': ['error', 'always-multiline'],
'default-case': [
'error', {
commentPattern: '^skip\\sdefault',
},
],
'func-names': ['error', 'never'],
'function-paren-newline': 0,
'implicit-arrow-linebreak': ['warn', 'beside'],
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: [
'**/vite.*.js',
],
},
],
'import/no-self-import': 0,
'import/prefer-default-export': 0,
'import/no-extraneous-dependencies': 0,
'implicit-arrow-linebreak': ['warn', 'beside'],
indent: [2, 'tab', { SwitchCase: 1 }],
'no-tabs': [0, { allowIndentationTabs: true }],
'linebreak-style': 0,
'max-len': 0,

'no-console': ['warn', { allow: ['warn', 'error'] }],
'no-debugger': 0,
'no-else-return': ['error', { allowElseIf: true }],
'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 0 }],
'no-console': ['warn', { allow: ['warn', 'error', 'info', 'trace'] }],
'no-const-assign': 'error',
'no-debugger': 0,
'no-new': 0,
'no-undef': 0,
'no-unused-vars': 1,
'no-use-before-define': 0,
'no-useless-escape': 0,
'no-param-reassign': [
'error', {
ignorePropertyModificationsFor: ['Vue', 'field', 'model', 'el', 'item', 'state'],
props: true,
ignorePropertyModificationsFor: ['field', 'model', 'el', 'item', 'state', 'Vue', 'vue'],
},
],
'no-plusplus': [
'error', { allowForLoopAfterthoughts: true },
],
'no-tabs': [0, { allowIndentationTabs: true }],
'no-underscore-dangle': [
'error', {
allow: ['_data', '__dirname', '__filename'],
allow: ['_data'],
allowAfterThis: true,
},
],
'no-unused-vars': 1,
'no-useless-escape': 0,
'no-plusplus': [
'error', { allowForLoopAfterthoughts: true },
],
'object-curly-newline': ['error', {
ObjectPattern: { multiline: false },
}],
Expand All @@ -89,23 +111,14 @@ module.exports = {
enforceForRenamedProperties: false,
},
],
quotes: ['error', 'single', { avoidEscape: true }],
semi: ['error', 'always'],
'sort-imports': ['error', {
allowSeparatedGroups: false,
ignoreCase: true,
ignoreDeclarationSort: true,
ignoreMemberSort: false,
memberSyntaxSortOrder: ['none', 'single', 'all', 'multiple'],
}],
'space-before-function-paren': ['error', {
anonymous: 'never',
asyncArrow: 'never',
named: 'never',
asyncArrow: 'always',
}],
'vue/attributes-order': ['error', {
alphabetical: true,
order: [
'alphabetical': true,
'order': [
'DEFINITION',
'LIST_RENDERING',
'CONDITIONALS',
Expand All @@ -119,69 +132,22 @@ module.exports = {
'CONTENT',
],
}],
'vue/component-tags-order': ['error', {
order: ['template', 'script', 'style'],
}],
'vue/html-closing-bracket-newline': 0,
'vue/html-comment-content-spacing': ['error',
'always',
],
'vue/html-indent': 0,
'vue/html-self-closing': 0,
'vue/max-attributes-per-line': 0,
'vue/multi-word-component-names': 0,
'vue/no-multiple-template-root': 0,
'vue/no-template-shadow': 0,
'vue/no-v-for-template-key': 0,
'vue/no-v-html': 0,
'vue/no-v-text-v-html-on-component': 0,
'vue/order-in-components': ['error', {
order: [
'el',
'name',
'key',
'parent',
'functional',
['delimiters', 'comments'],
['components', 'directives', 'filters'],
'extends',
'mixins',
['provide', 'inject'],
'ROUTER_GUARDS',
'layout',
'middleware',
'validate',
'scrollToTop',
'transition',
'loading',
'inheritAttrs',
'model',
['props', 'propsData'],
'emits',
'setup',
'asyncData',
'data',
'fetch',
'head',
'computed',
'watch',
'watchQuery',
'beforeCreate',
'created',
'beforeMount',
'mounted',
'beforeUpdate',
'updated',
'activated',
'deactivated',
'beforeDestroy',
'destroyed',
'errorCaptured', // for Vue.js 2.5.0+
'methods',
['template', 'render'],
'renderError',
],
}],
'vue/padding-line-between-blocks': 1,
'vue/require-name-property': 1,
'vue/singleline-html-element-content-newline': 0,
'vue/sort-keys': ['error', 'asc', {
caseSensitive: true,
ignoreChildrenOf: ['model', 'defineProps'],
ignoreGrandchildrenOf: ['computed', 'directives', 'inject', 'props', 'watch', 'defineProps'],
minKeys: 2,
natural: true,
}],
'vue/valid-template-root': 0,
},
};
Loading

0 comments on commit 129aa11

Please sign in to comment.