add linters and fix build
Some checks failed
CI / test-and-build (push) Has been cancelled

This commit is contained in:
2026-03-24 11:27:56 +01:00
parent d1f3e0f514
commit e47dcf5983
5 changed files with 46 additions and 3 deletions

10
.oxlintrc.json Normal file
View File

@@ -0,0 +1,10 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["eslint", "typescript", "unicorn", "oxc", "vue"],
"env": {
"browser": true
},
"categories": {
"correctness": "error"
}
}

6
.prettierrc.json Normal file
View File

@@ -0,0 +1,6 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": true,
"singleQuote": true,
"printWidth": 100
}

26
eslint.config.ts Normal file
View File

@@ -0,0 +1,26 @@
import { globalIgnores } from 'eslint/config'
import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'
import pluginVue from 'eslint-plugin-vue'
import pluginOxlint from 'eslint-plugin-oxlint'
import skipFormatting from 'eslint-config-prettier/flat'
// To allow more languages other than `ts` in `.vue` files, uncomment the following lines:
// import { configureVueProject } from '@vue/eslint-config-typescript'
// configureVueProject({ scriptLangs: ['ts', 'tsx'] })
// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
export default defineConfigWithVueTs(
{
name: 'app/files-to-lint',
files: ['**/*.{vue,ts,mts,tsx}'],
},
globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),
...pluginVue.configs['flat/essential'],
vueTsConfigs.recommended,
...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'),
skipFormatting,
)

View File

@@ -10,7 +10,6 @@
</template>
<script setup lang="ts">
import "theme.css";
defineProps<{
variant?: "primary" | "outline" | "ghost" | "danger";
disabled?: boolean;
@@ -18,8 +17,7 @@ defineProps<{
</script>
<style scoped>
@import "tailwindcss";
@import "../../theme.css";
@reference "tailwindcss";
.btn {
@apply h-10 text-sm;
padding: 0 1.5rem;

View File

@@ -11,6 +11,9 @@ export interface FileMakerAPI {
declare global {
/** Available only inside a FileMaker web viewer. Always guard with `typeof FileMaker !== 'undefined'`. */
const FileMaker: FileMakerAPI | undefined
interface Window {
resolveFileMakerCallback: typeof resolveFileMakerCallback
}
}
// ---------------------------------------------------------------------------