Add eslint (#294)

* Add eslint

* Add eslint github action
This commit is contained in:
Chenlei Hu
2024-08-04 09:35:49 -04:00
committed by GitHub
parent b5a919e8b2
commit 4bebcb408e
6 changed files with 1314 additions and 12 deletions

25
.github/workflows/eslint.yaml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: ESLint
on:
push:
branches:
- main
- master
- 'dev*'
pull_request:
branches:
- main
- master
- 'dev*'
jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: lts/*
- run: npm ci
- run: npm run lint

32
eslint.config.js Normal file
View File

@@ -0,0 +1,32 @@
import globals from 'globals'
import pluginJs from '@eslint/js'
import tseslint from 'typescript-eslint'
import pluginVue from 'eslint-plugin-vue'
export default [
{
files: ['src/**/*.{js,mjs,cjs,ts,vue}']
},
{
ignores: [
'src/scripts/*',
'src/extensions/core/*',
'src/types/vue-shim.d.ts'
]
},
{ languageOptions: { globals: globals.browser } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
...pluginVue.configs['flat/essential'],
{
files: ['src/**/*.vue'],
languageOptions: { parserOptions: { parser: tseslint.parser } }
},
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/prefer-as-const': 'off'
}
}
]

1246
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -15,11 +15,14 @@
"test:generate": "npx tsx tests-ui/setup",
"test:browser": "npx playwright test",
"prepare": "husky || true",
"preview": "vite preview"
"preview": "vite preview",
"lint": "eslint src",
"lint:fix": "eslint src --fix"
},
"devDependencies": {
"@babel/core": "^7.24.7",
"@babel/preset-env": "^7.22.20",
"@eslint/js": "^9.8.0",
"@playwright/test": "^1.44.1",
"@types/jest": "^29.5.12",
"@types/lodash": "^4.17.6",
@@ -28,7 +31,10 @@
"babel-plugin-transform-import-meta": "^2.2.1",
"babel-plugin-transform-rename-import": "^2.3.0",
"chalk": "^5.3.0",
"eslint": "^9.8.0",
"eslint-plugin-vue": "^9.27.0",
"fs-extra": "^11.2.0",
"globals": "^15.9.0",
"husky": "^9.0.11",
"identity-obj-proxy": "^3.0.0",
"jest": "^29.7.0",
@@ -41,6 +47,7 @@
"ts-node": "^10.9.2",
"tsx": "^4.15.6",
"typescript": "^5.4.5",
"typescript-eslint": "^8.0.0",
"vite": "^5.2.0",
"vite-plugin-static-copy": "^1.0.5",
"zip-dir": "^2.0.0"

View File

@@ -13,8 +13,7 @@ import { i18n } from './i18n'
const ComfyUIPreset = definePreset(Aura, {
semantic: {
// @ts-expect-error
primary: Aura.primitive.blue
primary: Aura['primitive'].blue
}
})

View File

@@ -2,12 +2,13 @@ type RGB = { r: number; g: number; b: number }
type HSL = { h: number; s: number; l: number }
function rgbToHsl({ r, g, b }: RGB): HSL {
;(r /= 255), (g /= 255), (b /= 255)
r /= 255
g /= 255
b /= 255
const max = Math.max(r, g, b),
min = Math.min(r, g, b)
let h: number,
s: number,
l: number = (max + min) / 2
let h: number, s: number
const l: number = (max + min) / 2
if (max === min) {
h = s = 0 // achromatic
@@ -93,7 +94,7 @@ function rgbToHex({ r, g, b }: RGB): string {
export function lightenColor(hex: string, amount: number): string {
let rgb = hexToRgb(hex)
let hsl = rgbToHsl(rgb)
const hsl = rgbToHsl(rgb)
hsl.l = Math.min(1, hsl.l + amount)
rgb = hslToRgb(hsl)
return rgbToHex(rgb)