Compare commits

...

4 Commits

Author SHA1 Message Date
kolaente f11766064c
chore: ignore cypress tests for linting 2025-06-16 13:25:46 +02:00
kolaente 38e09b68bd
fix: lint errors 2025-06-16 13:25:34 +02:00
kolaente d4133ae491
chore: create oxlint config based on eslint
Generated via pnpx @oxlint/migrate
2025-06-16 13:10:26 +02:00
kolaente cc436ff49e
feat: install oxc 2025-06-16 13:09:51 +02:00
6 changed files with 216 additions and 4 deletions

128
frontend/.oxlintrc.json Normal file
View File

@ -0,0 +1,128 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": [
"typescript"
],
"categories": {
"correctness": "off"
},
"env": {
"builtin": true
},
"rules": {
"for-direction": "error",
"no-async-promise-executor": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-dupe-class-members": "error",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-ex-assign": "error",
"no-extra-boolean-cast": "error",
"no-fallthrough": "error",
"no-func-assign": "error",
"no-global-assign": "error",
"no-import-assign": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-loss-of-precision": "error",
"no-new-native-nonconstructor": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-self-assign": "error",
"no-setter-return": "error",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-this-before-super": "error",
"no-unexpected-multiline": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": "error",
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": [
"error",
{
"caughtErrors": "all",
"caughtErrorsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"ignoreRestSiblings": true
}
],
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
"no-with": "error",
"require-yield": "error",
"use-isnan": "error",
"valid-typeof": "error",
"@typescript-eslint/ban-ts-comment": "error",
"no-array-constructor": "error",
"@typescript-eslint/no-duplicate-enum-values": "error",
"@typescript-eslint/no-empty-object-type": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-extra-non-null-assertion": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-type-constraint": "error",
"@typescript-eslint/no-unsafe-declaration-merging": "error",
"@typescript-eslint/no-unsafe-function-type": "error",
"no-unused-expressions": "error",
"@typescript-eslint/no-wrapper-object-types": "error",
"@typescript-eslint/prefer-as-const": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/triple-slash-reference": "error"
},
"ignorePatterns": [
"**/*.test.ts",
"**/*.spec.ts",
"./cypress/**/*"
],
"overrides": [
{
"files": [
"**/*.ts",
"**/*.tsx",
"**/*.mts",
"**/*.cts",
"**/*.vue"
],
"rules": {
"no-class-assign": "off",
"no-const-assign": "off",
"no-dupe-class-members": "off",
"no-dupe-keys": "off",
"no-func-assign": "off",
"no-import-assign": "off",
"no-new-native-nonconstructor": "off",
"no-obj-calls": "off",
"no-redeclare": "off",
"no-setter-return": "off",
"no-this-before-super": "off",
"no-unsafe-negation": "off",
"no-var": "error",
"prefer-rest-params": "error",
"prefer-spread": "error"
}
}
]
}

View File

@ -43,7 +43,7 @@ export function createProjects() {
return projects
}
export function prepareProjects(setProjects = (...args: any[]) => {
export function prepareProjects(setProjects = (..._: unknown[]) => {
}) {
beforeEach(() => {
const projects = createProjects()

View File

@ -5,6 +5,6 @@ import '@4tw/cypress-drag-drop'
// see https://github.com/cypress-io/cypress/issues/702#issuecomment-587127275
Cypress.on('window:before:load', (win) => {
// disable service workers
// @ts-ignore
// @ts-expect-error __proto__ has no types
delete win.navigator.__proto__.ServiceWorker
})

View File

@ -135,6 +135,7 @@
"eslint-plugin-vue": "10.2.0",
"happy-dom": "18.0.1",
"histoire": "1.0.0-alpha.2",
"oxlint": "^1.1.0",
"postcss": "8.5.5",
"postcss-easing-gradients": "3.0.1",
"postcss-preset-env": "10.2.3",

View File

@ -275,6 +275,9 @@ importers:
histoire:
specifier: 1.0.0-alpha.2
version: 1.0.0-alpha.2(@types/node@22.15.31)(sass-embedded@1.89.2)(sass@1.80.6)(terser@5.31.6)(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(sass-embedded@1.89.2)(sass@1.80.6)(terser@5.31.6)(yaml@2.5.0))
oxlint:
specifier: ^1.1.0
version: 1.1.0
postcss:
specifier: 8.5.5
version: 8.5.5
@ -1744,6 +1747,46 @@ packages:
'@one-ini/wasm@0.1.1':
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
'@oxlint/darwin-arm64@1.1.0':
resolution: {integrity: sha512-sSnR3SOxIU/QfaqXrcQ0UVUkzJO0bcInQ7dMhHa102gVAgWjp1fBeMVCM0adEY0UNmEXrRkgD/rQtQgn9YAU+w==}
cpu: [arm64]
os: [darwin]
'@oxlint/darwin-x64@1.1.0':
resolution: {integrity: sha512-Jvd3fHnzY2OYbmsg9NSGPoBkGViDGHSFnBKyJQ9LOIw7lxAyQBG2Quxc3GYPFR/f9OYho9C3p4+dIaAJfKhnsw==}
cpu: [x64]
os: [darwin]
'@oxlint/linux-arm64-gnu@1.1.0':
resolution: {integrity: sha512-MgW4iskOdXuoR+wDXIJUfbdnTg2eo2FnQRaD6ZqhnDTDa7LnV+06rp/Cg3aGj2X9jSEcKDv/bMbYQuot7WRs6Q==}
cpu: [arm64]
os: [linux]
'@oxlint/linux-arm64-musl@1.1.0':
resolution: {integrity: sha512-a+pkEKmDRdrW+y0gtZ/m68ElVW2VZgATGbMxDgDYFpdiMx9Y0pUPwTMZ2EX/17Aslop4c1BiDSFDK7aEBxKR2g==}
cpu: [arm64]
os: [linux]
'@oxlint/linux-x64-gnu@1.1.0':
resolution: {integrity: sha512-wNBsXCKVZMvUTcFitrV1wTsdhUAv8l+XQxHxciZ2SO6dpNnWEb2YCxSAIOXeyzBLdO4pIODYcSy38CvGue7TwA==}
cpu: [x64]
os: [linux]
'@oxlint/linux-x64-musl@1.1.0':
resolution: {integrity: sha512-pZD0lt6A5j2Wp70fgIYk4GoPfKTZ8mHWamWIpKFT7aSkFkiOi6nhLWDFvMEIHWRTK3LgkWUNcnWPp4brvin4wQ==}
cpu: [x64]
os: [linux]
'@oxlint/win32-arm64@1.1.0':
resolution: {integrity: sha512-rT6uXQvE80+B+L04HJf30uF26426FPI9i9DAY2AxBUhrpNwhqkDEhQdd9ilFWVC7SSbpHgAs50lo+ImSAAkHPQ==}
cpu: [arm64]
os: [win32]
'@oxlint/win32-x64@1.1.0':
resolution: {integrity: sha512-x6r5yvM3wEty93Bx0NuNK+kutUyS/K55itkUrxdExoK6GcmVDboGGuhju9HyU2cM/IWLEWO8RHcXSyaxr9GR5g==}
cpu: [x64]
os: [win32]
'@parcel/watcher-android-arm64@2.5.1':
resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
engines: {node: '>= 10.0.0'}
@ -4981,6 +5024,11 @@ packages:
ospath@1.2.2:
resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
oxlint@1.1.0:
resolution: {integrity: sha512-OVNpaoaQCUHHhCv5sYMPJ7Ts5k7ziw0QteH1gBSwF3elf/8GAew2Uh/0S7HsU1iGtjhlFy80+A8nwIb3Tq6m1w==}
engines: {node: '>=8.*'}
hasBin: true
p-cancelable@1.1.0:
resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
engines: {node: '>=6'}
@ -8430,6 +8478,30 @@ snapshots:
'@one-ini/wasm@0.1.1': {}
'@oxlint/darwin-arm64@1.1.0':
optional: true
'@oxlint/darwin-x64@1.1.0':
optional: true
'@oxlint/linux-arm64-gnu@1.1.0':
optional: true
'@oxlint/linux-arm64-musl@1.1.0':
optional: true
'@oxlint/linux-x64-gnu@1.1.0':
optional: true
'@oxlint/linux-x64-musl@1.1.0':
optional: true
'@oxlint/win32-arm64@1.1.0':
optional: true
'@oxlint/win32-x64@1.1.0':
optional: true
'@parcel/watcher-android-arm64@2.5.1':
optional: true
@ -11994,6 +12066,17 @@ snapshots:
ospath@1.2.2: {}
oxlint@1.1.0:
optionalDependencies:
'@oxlint/darwin-arm64': 1.1.0
'@oxlint/darwin-x64': 1.1.0
'@oxlint/linux-arm64-gnu': 1.1.0
'@oxlint/linux-arm64-musl': 1.1.0
'@oxlint/linux-x64-gnu': 1.1.0
'@oxlint/linux-x64-musl': 1.1.0
'@oxlint/win32-arm64': 1.1.0
'@oxlint/win32-x64': 1.1.0
p-cancelable@1.1.0: {}
p-limit@2.3.0:

View File

@ -9,6 +9,6 @@ export interface ITaskBucket extends IAbstract {
bucketId: IBucket['id']
projectViewId: IProjectView['id']
projectId: IProject['id']
task: ?ITask
bucket: ?IBucket
task: ITask | null | undefined
bucket: IBucket | null | undefined
}