use biomejs and clean up dependencies

This commit is contained in:
zS1L3NT Mac 2024-07-08 01:03:15 +08:00
parent fb4964476b
commit ed5e15c6ec
No known key found for this signature in database
GPG Key ID: 02BE07CD431E4F42
6 changed files with 149 additions and 75 deletions

View File

@ -1,41 +0,0 @@
{
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
"overrides": [],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "simple-import-sort"],
"rules": {
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/ban-types": "warn",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
],
"@typescript-eslint/no-non-null-assertion": "off",
"linebreak-style": ["error", "unix"],
"no-empty": "warn",
"no-empty-function": "off",
"no-empty-pattern": "warn",
"react/react-in-jsx-scope": "off",
"simple-import-sort/imports": [
"warn",
{
"groups": [["^\\w"], ["^@\\w+"], ["^@/"], ["^\\."]]
}
]
}
}

View File

@ -1,11 +0,0 @@
{
"semi": false,
"arrowParens": "avoid",
"trailingComma": "all",
"jsxSingleQuote": false,
"printWidth": 100,
"singleAttributePerLine": true,
"bracketSameLine": true,
"useTabs": true,
"tabWidth": 4
}

137
biome.json Normal file
View File

@ -0,0 +1,137 @@
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "tab",
"indentWidth": 4,
"lineEnding": "lf",
"lineWidth": 100,
"attributePosition": "auto"
},
"organizeImports": { "enabled": true },
"linter": {
"enabled": true,
"rules": {
"recommended": false,
"complexity": {
"noBannedTypes": "warn",
"noExtraBooleanCast": "error",
"noMultipleSpacesInRegularExpressionLiterals": "error",
"noUselessCatch": "error",
"noUselessThisAlias": "error",
"noUselessTypeConstraint": "error",
"noWith": "error"
},
"correctness": {
"noConstAssign": "error",
"noConstantCondition": "error",
"noEmptyCharacterClassInRegex": "error",
"noEmptyPattern": "warn",
"noGlobalObjectCalls": "error",
"noInvalidConstructorSuper": "error",
"noInvalidNewBuiltin": "error",
"noNonoctalDecimalEscape": "error",
"noPrecisionLoss": "error",
"noSelfAssign": "error",
"noSetterReturn": "error",
"noSwitchDeclarations": "error",
"noUndeclaredVariables": "error",
"noUnreachable": "error",
"noUnreachableSuper": "error",
"noUnsafeFinally": "error",
"noUnsafeOptionalChaining": "error",
"noUnusedLabels": "error",
"noUnusedPrivateClassMembers": "error",
"noUnusedVariables": "error",
"useArrayLiterals": "off",
"useIsNan": "error",
"useValidForDirection": "error",
"useYield": "error"
},
"style": {
"noNamespace": "error",
"noNonNullAssertion": "off",
"useAsConstAssertion": "error",
"useBlockStatements": "off"
},
"suspicious": {
"noAssignInExpressions": "error",
"noAsyncPromiseExecutor": "error",
"noCatchAssign": "error",
"noClassAssign": "error",
"noCompareNegZero": "error",
"noControlCharactersInRegex": "error",
"noDebugger": "error",
"noDuplicateCase": "error",
"noDuplicateClassMembers": "error",
"noDuplicateObjectKeys": "error",
"noDuplicateParameters": "error",
"noEmptyBlockStatements": "error",
"noExplicitAny": "off",
"noExtraNonNullAssertion": "error",
"noFallthroughSwitchClause": "error",
"noFunctionAssign": "error",
"noGlobalAssign": "error",
"noImportAssign": "error",
"noMisleadingCharacterClass": "error",
"noMisleadingInstantiator": "error",
"noPrototypeBuiltins": "error",
"noRedeclare": "error",
"noShadowRestrictedNames": "error",
"noUnsafeDeclarationMerging": "error",
"noUnsafeNegation": "error",
"useGetterReturn": "error",
"useValidTypeof": "error"
}
}
},
"javascript": {
"formatter": {
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingCommas": "all",
"semicolons": "asNeeded",
"arrowParentheses": "asNeeded",
"bracketSpacing": true,
"bracketSameLine": false,
"quoteStyle": "double",
"attributePosition": "auto"
}
},
"overrides": [
{
"include": ["*.ts", "*.tsx", "*.mts", "*.cts"],
"linter": {
"rules": {
"correctness": {
"noConstAssign": "off",
"noGlobalObjectCalls": "off",
"noInvalidConstructorSuper": "off",
"noInvalidNewBuiltin": "off",
"noNewSymbol": "off",
"noSetterReturn": "off",
"noUndeclaredVariables": "off",
"noUnreachable": "off",
"noUnreachableSuper": "off"
},
"style": {
"noArguments": "error",
"noVar": "error",
"useConst": "error"
},
"suspicious": {
"noDuplicateClassMembers": "off",
"noDuplicateObjectKeys": "off",
"noDuplicateParameters": "off",
"noFunctionAssign": "off",
"noImportAssign": "off",
"noRedeclare": "off",
"noUnsafeNegation": "off",
"useGetterReturn": "off"
}
}
}
}
]
}

BIN
bun.lockb

Binary file not shown.

View File

@ -5,9 +5,7 @@
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
"files": [
"dist"
],
"files": ["dist"],
"author": "zS1L3NT <dev@zectan.com> (http://www.zectan.com)",
"license": "GPL-3.0",
"repository": {
@ -24,28 +22,18 @@
},
"scripts": {
"build": "tsup src/index.ts --dts --format cjs,esm --clean --out-dir dist",
"clean": "tsc --noEmit && eslint src --fix && prettier src --write && rm tsconfig.tsbuildinfo"
"lint": "tsc --noEmit && rm tsconfig.tsbuildinfo ; biome format --write"
},
"dependencies": {
"arktype": "1.0.29-alpha",
"axios": "^0.27.2",
"tough-cookie": "^4.1.2"
"@biomejs/biome": "1.8.3",
"axios": "^1.7.2",
"tough-cookie": "^4.1.4"
},
"devDependencies": {
"@types/tough-cookie": "^4.0.2",
"@typescript-eslint/eslint-plugin": "latest",
"@typescript-eslint/parser": "latest",
"bun-types": "^1.0.18-1",
"eslint": "latest",
"eslint-config-prettier": "latest",
"eslint-plugin-simple-import-sort": "latest",
"prettier": "latest",
"tsup": "^8.0.2",
"typescript": "latest"
"@types/tough-cookie": "^4.0.5",
"bun-types": "^1.1.18",
"tsup": "^8.1.0",
"typescript": "5.1"
},
"keywords": [
"youtube",
"music",
"api"
]
"keywords": ["youtube", "music", "api"]
}

View File

@ -30,12 +30,13 @@
"allowUnusedLabels": true,
"resolveJsonModule": true,
"forceConsistentCasingInFileNames": true,
"exactOptionalPropertyTypes": true,
/** Other */
// "noEmit": false,
// "allowJs": true,
// "jsx": "react-jsx",
// "skipLibCheck": true,
"skipLibCheck": true
// "isolatedModules": true,
// "incremental": true
},