From 30e4ca9d6cb773f5c43cf59b92d2440a4f469bb8 Mon Sep 17 00:00:00 2001 From: Sukaato Date: Fri, 16 Aug 2024 15:56:56 +0200 Subject: [PATCH] style: update biome rules --- .github/workflows/actions/quality/action.yml | 4 +- .gitignore | 2 +- .vscode/extensions.json | 7 +++ biome.json | 63 +++++++++++++++++++- package-lock.json | 21 +++++-- packages/core/package.json | 2 +- packages/core/src/utils/click-outside.ts | 8 +-- packages/vue/biome.json | 4 +- packages/vue/package.json | 15 +++-- 9 files changed, 102 insertions(+), 24 deletions(-) create mode 100644 .vscode/extensions.json diff --git a/.github/workflows/actions/quality/action.yml b/.github/workflows/actions/quality/action.yml index 49698f8..81939a1 100644 --- a/.github/workflows/actions/quality/action.yml +++ b/.github/workflows/actions/quality/action.yml @@ -23,12 +23,12 @@ runs: shell: bash - name: Prettier - run: npm run format + run: npm run format -- --reporter=github working-directory: ./packages/${{ inputs.package }} shell: bash - name: Lint - run: npm run lint + run: npm run lint -- --reporter=github working-directory: ./packages/${{ inputs.package }} shell: bash diff --git a/.gitignore b/.gitignore index b7c991e..fb30b45 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ log.txt *.tgz .idea/ -.vscode/ +.vscode/** !.vscode/extensions.json .sass-cache/ .versions/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..aaea0c9 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "github.vscode-github-actions", + "biomejs.biome", + "vue.volar" + ] +} \ No newline at end of file diff --git a/biome.json b/biome.json index 4721394..e4768f5 100644 --- a/biome.json +++ b/biome.json @@ -24,10 +24,66 @@ "rules": { "recommended": true, "suspicious": { - "noExplicitAny": "off" + "noExplicitAny": "off", + "noConfusingVoidType": "off", + "noDoubleEquals": "error", + "noFunctionAssign": "error", + "noSparseArray": "error", + "useIsArray": "error", + "useAwait": "off" + }, + "correctness": { + "noUnusedPrivateClassMembers": "error", + "noUnnecessaryContinue": "error", + "noUnreachable": "error", + "noUnsafeOptionalChaining": "error", + "noVoidTypeReturn": "off", + "useIsNan": "error", + "useYield": "error" + }, + "nursery": { + "noEmptyBlock": "error", + "noSubstr": "error", + "useDeprecatedReason": "error", + "useSemanticElements": "warn", + "useThrowOnlyError": "error" + }, + "security": { + "noGlobalEval": "error" + }, + "style": { + "useTemplate": "error", + "noImplicitBoolean": "warn", + "noUnusedTemplateLiteral": "error", + "noUselessElse": "error", + "noVar": "error", + "useConst": "error", + "useExportType": "error", + "useImportType": "error", + "useNodejsImportProtocol": "error", + "useSelfClosingElements": "error", + "useShorthandArrayType": "error", + "useSingleVarDeclarator": "error" }, "complexity": { - "noForEach": "off" + "noForEach": "off", + "noUselessConstructor": "error", + "noThisInStatic": "error", + "noUselessEmptyExport": "error", + "noVoid": "off", + "useFlatMap": "error", + "useOptionalChain": "error", + "useRegexLiterals": "warn" + }, + "a11y": { + "noRedundantRoles": "error", + "noRedundantAlt": "error", + "useAltText": "error", + "useButtonType": "error", + "useAriaPropsForRole": "error", + "useValidAriaProps": "error", + "useValidAriaRole": "error", + "useValidAriaValues": "error" } } }, @@ -42,6 +98,9 @@ "bracketSameLine": false, "quoteStyle": "single", "attributePosition": "multiline" + }, + "linter": { + "enabled": true } } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7ba6400..71bf3c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -305,9 +305,9 @@ } }, "node_modules/@cheese-grinder/stencil-component-config": { - "version": "0.3.0-beta.2", - "resolved": "https://registry.npmjs.org/@cheese-grinder/stencil-component-config/-/stencil-component-config-0.3.0-beta.2.tgz", - "integrity": "sha512-U871GOVgqxiSgEPdQcEejnqH8ArANSebqUKE5KWYbkpo2WsF2geENTtxll1rvYGACmjYVkzYTCR7WNYEj9PfLQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@cheese-grinder/stencil-component-config/-/stencil-component-config-0.3.0.tgz", + "integrity": "sha512-Wt+MqaGAdwTUxpXDhFaZ3/fLwRT4uEQVhPKsb7dNd5FgbBdQboTpkcM36UA1Rz21iTYoCqrZQ5nV1zBmX7vsDw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -12070,14 +12070,14 @@ }, "packages/core": { "name": "@poppy-ui/core", - "version": "0.2.0-dev.1", + "version": "0.2.0-beta.0", "license": "MIT", "dependencies": { "@stencil/core": "^4.20.0" }, "devDependencies": { "@biomejs/biome": "^1.8.3", - "@cheese-grinder/stencil-component-config": "^0.3.0-beta.2", + "@cheese-grinder/stencil-component-config": "^0.3.0", "@cheese-grinder/stencil-custom-readme": "^0.1.5", "@cheese-grinder/stencil-sass-alias": "~0.2.4", "@stencil/sass": "^3.0.12", @@ -12116,7 +12116,7 @@ "version": "0.2.0-dev.1", "license": "MIT", "dependencies": { - "@poppy-ui/core": "0.2.0-dev.1" + "@poppy-ui/core": "file:../core/poppy-ui-core-0.2.0-beta.0.tgz" }, "devDependencies": { "@biomejs/biome": "^1.8.3", @@ -12132,6 +12132,15 @@ "peerDependencies": { "vue": ">=3.3.9" } + }, + "packages/vue/node_modules/@poppy-ui/core": { + "version": "0.2.0-beta.0", + "resolved": "file:packages/core/poppy-ui-core-0.2.0-beta.0.tgz", + "integrity": "sha512-ERn7LfgZdvZ6HOgtYI8Bz4dK2+fiBquj4mV0zfXFlWj2ks4E23AEKnepll6cw1pdm2pcTNx+cdlp06ZKgLBQTA==", + "license": "MIT", + "dependencies": { + "@stencil/core": "^4.20.0" + } } } } diff --git a/packages/core/package.json b/packages/core/package.json index 4535448..e8704f9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@poppy-ui/core", - "version": "0.2.0-dev.1", + "version": "0.2.0-beta.0", "description": "Base component for Poppy based on Daisy-ui", "author": "Sukaato ", "homepage": "https://github.com/CheeseGrinder/poppy-ui#readme", diff --git a/packages/core/src/utils/click-outside.ts b/packages/core/src/utils/click-outside.ts index 8200b30..c83bc77 100644 --- a/packages/core/src/utils/click-outside.ts +++ b/packages/core/src/utils/click-outside.ts @@ -90,7 +90,7 @@ function initClickOutside( component: ComponentInterface, element: HTMLElement, callback: () => void, - excludedNodes?: Array, + excludedNodes?: HTMLElement[], ) { const target = event.target as HTMLElement; if (!element.contains(target) && !isExcluded(target, excludedNodes)) { @@ -98,14 +98,14 @@ function initClickOutside( } } -function getTriggerEvents(opt: ClickOutsideOptions): Array { +function getTriggerEvents(opt: ClickOutsideOptions): string[] { if (opt.triggerEvents) { return opt.triggerEvents.split(',').map(e => e.trim()); } return ['click']; } -function getExcludedNodes(opt: ClickOutsideOptions): Array { +function getExcludedNodes(opt: ClickOutsideOptions): HTMLElement[] { if (opt.exclude) { try { return Array.from(document.querySelectorAll(opt.exclude)); @@ -119,7 +119,7 @@ function getExcludedNodes(opt: ClickOutsideOptions): Array { return; } -function isExcluded(target: HTMLElement, excudedNodes?: Array): boolean { +function isExcluded(target: HTMLElement, excudedNodes?: HTMLElement[]): boolean { if (target && excudedNodes) { for (const excludedNode of excudedNodes) { if (excludedNode.contains(target)) { diff --git a/packages/vue/biome.json b/packages/vue/biome.json index 3dfc171..320d52c 100644 --- a/packages/vue/biome.json +++ b/packages/vue/biome.json @@ -41,9 +41,7 @@ "noUnusedPrivateClassMembers": "error", "noUnusedVariables": "error", "useArrayLiterals": "off", - "useIsNan": "error", - "useValidForDirection": "error", - "useYield": "error" + "useValidForDirection": "error" }, "style": { "noNamespace": "error", diff --git a/packages/vue/package.json b/packages/vue/package.json index 9db54c2..a6ac8b8 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -15,7 +15,10 @@ }, "main": "./dist/index.js", "types": "./dist/types/index.d.ts", - "files": ["dist/", "css/"], + "files": [ + "dist/", + "css/" + ], "keywords": [ "daisy-ui", "framework", @@ -46,7 +49,7 @@ "biome": "biome" }, "dependencies": { - "@poppy-ui/core": "0.2.0-dev.1" + "@poppy-ui/core": "file:../core/poppy-ui-core-0.2.0-beta.0.tgz" }, "devDependencies": { "@biomejs/biome": "^1.8.3", @@ -55,9 +58,9 @@ "change-case": "^5.4.4", "rimraf": "^6.0.1", "rollup": "^4.20.0", + "typescript": "^5.4.5", "vite": "^5.4.0", - "vue": "~3.3.9", - "typescript": "^5.4.5" + "vue": "~3.3.9" }, "peerDependencies": { "vue": ">=3.3.9" @@ -67,5 +70,7 @@ "attributes": "dist/vetur/attributes.json" }, "web-types": "dist/web-types.json", - "sideEffects": ["css/*.css"] + "sideEffects": [ + "css/*.css" + ] }