diff --git a/.editorconfig b/.editorconfig index 54a71640..8ce72a47 100644 --- a/.editorconfig +++ b/.editorconfig @@ -23,7 +23,7 @@ indent_size = 4 indent_style = tab # Indentation override for all JS under lib directory -[.*{js,ts,tsx,jsx}] +[.*{js,ts,tsx,jsx,vue}] indent_style = space indent_size = 2 diff --git a/.eslintrc.js b/.eslintrc.js index dc62e3a7..10f0414c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -56,6 +56,12 @@ module.exports = { ], }], + // Vue + 'vue/require-default-prop': 'off', + 'vue/no-restricted-class': ['error', '/^(p|m)(l|r)-/'], + 'vue/no-required-prop-with-default': 'error', + 'vue/v-on-event-hyphenation': ['error', 'never'], + // 'vue/require-prop-comment': ['error', { // type: 'JSDoc', // }], @@ -81,35 +87,35 @@ module.exports = { '@typescript-eslint/consistent-type-imports': 'error', // JSX rules - 'react/jsx-boolean-value': ['error', 'never'], - 'react/jsx-child-element-spacing': 'error', - 'react/jsx-closing-bracket-location': 'error', + // 'react/jsx-boolean-value': ['error', 'never'], + // 'react/jsx-child-element-spacing': 'error', + // 'react/jsx-closing-bracket-location': 'error', - // 'react/jsx-closing-tag-location': 'error', - 'react/jsx-curly-brace-presence': 'error', - 'react/jsx-curly-newline': 'error', - 'react/jsx-curly-spacing': 'error', - 'react/jsx-equals-spacing': 'error', - 'react/jsx-filename-extension': ['error', { extensions: ['.tsx', '.jsx'] }], - 'react/jsx-first-prop-new-line': 'error', - 'react/jsx-indent-props': [2, 2], - 'react/jsx-indent': [2, 2], - 'react/jsx-max-props-per-line': 'error', - 'react/jsx-no-comment-textnodes': 'error', - 'react/jsx-no-duplicate-props': 'error', - 'react/jsx-no-leaked-render': 'error', - 'react/jsx-no-target-blank': 'error', - 'react/jsx-no-useless-fragment': 'error', - 'react/jsx-one-expression-per-line': 'error', - 'react/jsx-pascal-case': 'error', - 'react/jsx-props-no-multi-spaces': 'error', - 'react/jsx-sort-props': 'error', - 'react/jsx-tag-spacing': 'error', - 'react/self-closing-comp': 'error', + // // 'react/jsx-closing-tag-location': 'error', + // 'react/jsx-curly-brace-presence': 'error', + // 'react/jsx-curly-newline': 'error', + // 'react/jsx-curly-spacing': 'error', + // 'react/jsx-equals-spacing': 'error', + // 'react/jsx-filename-extension': ['error', { extensions: ['.tsx', '.jsx'] }], + // 'react/jsx-first-prop-new-line': 'error', + // 'react/jsx-indent-props': [2, 2], + // 'react/jsx-indent': [2, 2], + // 'react/jsx-max-props-per-line': 'error', + // 'react/jsx-no-comment-textnodes': 'error', + // 'react/jsx-no-duplicate-props': 'error', + // 'react/jsx-no-leaked-render': 'error', + // 'react/jsx-no-target-blank': 'error', + // 'react/jsx-no-useless-fragment': 'error', + // 'react/jsx-one-expression-per-line': 'error', + // 'react/jsx-pascal-case': 'error', + // 'react/jsx-props-no-multi-spaces': 'error', + // 'react/jsx-sort-props': 'error', + // 'react/jsx-tag-spacing': 'error', + // 'react/self-closing-comp': 'error', - // 'react/no-unknown-property': ['error', { ignore: ['class', 'v-show', 'v-model', 'v-slots', 'for', 'tabindex'] }], - 'react/no-unescaped-entities': 'error', - 'react/no-invalid-html-attribute': 'error', + // // 'react/no-unknown-property': ['error', { ignore: ['class', 'v-show', 'v-model', 'v-slots', 'for', 'tabindex'] }], + // 'react/no-unescaped-entities': 'error', + // 'react/no-invalid-html-attribute': 'error', }, settings: { 'import/parsers': { diff --git a/.npmrc b/.npmrc index 116d16a1..ae90f705 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1 @@ ignore-workspace-root-check=true -shamefully-hoist=true diff --git a/.vscode/comment-anchors.code-snippets b/.vscode/comment-anchors.code-snippets index 9ec77836..a82d157b 100644 --- a/.vscode/comment-anchors.code-snippets +++ b/.vscode/comment-anchors.code-snippets @@ -19,5 +19,14 @@ "❗" ], "description": "Add warning emoji" + }, + "Create comment anchor SECTION": { + "prefix": "ca-html-section", + "body": [ + "", + " ${2}", + "" + ], + "description": "Create comment anchor SECTION" } -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index ae50e2ba..0d9a0276 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -50,7 +50,10 @@ "vue" ], // Extension: Comment Anchors + "commentAnchors.tags.displayLineNumber": false, + "commentAnchors.workspace.enabled": false, "commentAnchors.showCursor": true, + "commentAnchors.tags.displayTagName": false, "commentAnchors.tags.list": [ { "tag": "ℹī¸", @@ -81,6 +84,7 @@ "cSpell.words": [ "composables", "defu", + "globby", "nuxt", "Vite", "vitepress", diff --git a/.vscode/vue.code-snippets b/.vscode/vue.code-snippets new file mode 100644 index 00000000..17233e23 --- /dev/null +++ b/.vscode/vue.code-snippets @@ -0,0 +1,28 @@ +{ + "Create SFC": { + "prefix": "sfc", + "body": [ + "", + "", + "", + "", + "" + ], + "description": "Create SFC" + }, + "Create template with v-if": { + "prefix": "tif", + "body": [ + "" + ], + "description": "Create template with v-if" + } +} diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..4f2fc4ac --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +.vitepress/cache diff --git a/docs/components/Api.vue b/docs/components/Api.vue index e13ff8a1..010488ac 100644 --- a/docs/components/Api.vue +++ b/docs/components/Api.vue @@ -1,5 +1,5 @@ -