Skip to content

Commit 235e69b

Browse files
authoredApr 25, 2025
Merge pull request #230 from connorabbas/develop
Config
2 parents d0d1fcb + 00a7fe4 commit 235e69b

15 files changed

+176
-152
lines changed
 

‎eslint.config.js

Lines changed: 57 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,57 @@
1-
import prettier from 'eslint-config-prettier';
2-
import vue from 'eslint-plugin-vue';
3-
4-
import {
5-
defineConfigWithVueTs,
6-
vueTsConfigs,
7-
} from '@vue/eslint-config-typescript';
8-
9-
export default defineConfigWithVueTs(
10-
vue.configs['flat/recommended'],
11-
vueTsConfigs.recommended,
12-
{
13-
ignores: [
14-
'vendor',
15-
'node_modules',
16-
'public',
17-
'bootstrap/ssr',
18-
],
19-
},
20-
{
21-
rules: {
22-
'vue/require-default-prop': 'off',
23-
'vue/attribute-hyphenation': 'off',
24-
'vue/v-on-event-hyphenation': 'off',
25-
'vue/multi-word-component-names': 'off',
26-
'vue/block-lang': 'off',
27-
'@typescript-eslint/no-explicit-any': 'off',
28-
},
29-
},
30-
prettier
31-
);
1+
import vue from 'eslint-plugin-vue';
2+
import {
3+
defineConfigWithVueTs,
4+
vueTsConfigs,
5+
} from '@vue/eslint-config-typescript';
6+
import eslint from '@eslint/js';
7+
import globals from 'globals';
8+
9+
export default [
10+
// Global ignores
11+
{
12+
ignores: [
13+
'node_modules',
14+
'vendor',
15+
'dist',
16+
'public',
17+
'bootstrap/ssr',
18+
],
19+
},
20+
// JavaScript files
21+
{
22+
files: ['**/*.js'],
23+
...eslint.configs.recommended,
24+
languageOptions: {
25+
ecmaVersion: 'latest',
26+
sourceType: 'module',
27+
globals: {
28+
...globals.browser,
29+
...globals.node,
30+
process: 'readonly',
31+
module: 'readonly',
32+
require: 'readonly',
33+
window: 'readonly',
34+
},
35+
},
36+
},
37+
// Vue and TypeScript files
38+
...defineConfigWithVueTs(
39+
vue.configs['flat/recommended'],
40+
vueTsConfigs.recommended,
41+
{
42+
rules: {
43+
'vue/require-default-prop': 'off',
44+
'vue/attribute-hyphenation': 'off',
45+
'vue/v-on-event-hyphenation': 'off',
46+
'vue/multi-word-component-names': 'off',
47+
'vue/block-lang': 'off',
48+
'vue/no-v-html': 'off',
49+
'vue/html-indent': ['error', 4],
50+
'@typescript-eslint/no-explicit-any': 'off',
51+
indent: ['error', 4],
52+
semi: ['error', 'always'],
53+
'linebreak-style': ['error', 'unix'],
54+
},
55+
}
56+
),
57+
];

‎jsconfig.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"scripts": {
55
"dev": "vite",
66
"build": "vite build",
7-
"lint": "eslint ."
7+
"lint": "eslint . --fix"
88
},
99
"devDependencies": {
1010
"@eslint/js": "^9.18.0",
@@ -28,7 +28,6 @@
2828
"@vueuse/core": "^13.0.0",
2929
"globals": "^16.0.0",
3030
"laravel-vite-plugin": "^1.2.0",
31-
"lodash": "^4.17.21",
3231
"lodash-es": "^4.17.21",
3332
"lucide-vue-next": "^0.485.0",
3433
"primevue": "^4.3.3",

‎resources/js/app.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ import PageTitleSection from '@/components/PageTitleSection.vue';
1515
import customThemePreset from '@/theme/noir-preset';
1616
import { useColorMode } from '@vueuse/core';
1717

18+
/* global Ziggy */
1819
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
19-
20-
// Set Light/Dark Color Mode
21-
const colorMode = useColorMode({ emitAuto: true });
20+
const colorMode = useColorMode({ emitAuto: true }); // Set Light/Dark Color Mode
2221

2322
createInertiaApp({
2423
title: (title) => `${title} - ${appName}`,

‎resources/js/components/SelectColorModeButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const options = [
1111
{ label: 'System', value: 'auto', icon: Monitor },
1212
];
1313
14-
watchEffect(() => colorMode.value = selectedColorMode.value)
14+
watchEffect(() => colorMode.value = selectedColorMode.value);
1515
</script>
1616

1717
<template>

‎resources/js/layouts/app/HeaderLayout.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ const toggleMobileUserMenu = (event) => {
112112
<div
113113
id="user-menu-append"
114114
class="relative"
115-
></div>
115+
/>
116116
<Menu
117117
ref="user-menu"
118118
appendTo="#user-menu-append"

‎resources/js/pages/Dashboard.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import AppLayout from '@/layouts/AppLayout.vue';
88

99
<Card>
1010
<template #content>
11-
<p class="m-0">You are logged in!</p>
11+
<p class="m-0">
12+
You are logged in!
13+
</p>
1214
</template>
1315
</Card>
1416
</AppLayout>

‎resources/js/pages/auth/Login.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ onMounted(() => {
103103
v-model="loginForm.remember"
104104
class="mr-2"
105105
:binary="true"
106-
></Checkbox>
106+
/>
107107
<label for="remember">Remember me</label>
108108
</div>
109109
</div>

‎resources/js/pages/settings/Appearance.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import SelectColorModeButton from '@/components/SelectColorModeButton.vue';
1313
pt:body:class="max-w-2xl space-y-3"
1414
pt:caption:class="space-y-1"
1515
>
16-
<template #title>Appearance settings</template>
16+
<template #title>
17+
Appearance settings
18+
</template>
1719
<template #subtitle>
1820
Update your account's appearance settings
1921
</template>

‎resources/js/pages/settings/Password.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ const updatePassword = () => {
6363
pt:body:class="max-w-2xl space-y-3"
6464
pt:caption:class="space-y-1"
6565
>
66-
<template #title>Update Password</template>
66+
<template #title>
67+
Update Password
68+
</template>
6769
<template #subtitle>
6870
Ensure your account is using a long, random password to stay secure
6971
</template>

‎resources/js/pages/settings/Profile.vue

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ const updateProfileInformation = () => {
5757
pt:body:class="max-w-2xl space-y-3"
5858
pt:caption:class="space-y-1"
5959
>
60-
<template #title>Profile Information</template>
60+
<template #title>
61+
Profile Information
62+
</template>
6163
<template #subtitle>
6264
Update your name and email address
6365
</template>
@@ -138,7 +140,9 @@ const updateProfileInformation = () => {
138140
pt:body:class="max-w-2xl space-y-3"
139141
pt:caption:class="space-y-1"
140142
>
141-
<template #title>Delete Account</template>
143+
<template #title>
144+
Delete Account
145+
</template>
142146
<template #subtitle>
143147
Delete your account and all of its resources
144148
</template>
@@ -150,8 +154,12 @@ const updateProfileInformation = () => {
150154
>
151155
<div class="flex flex-col gap-4">
152156
<div>
153-
<div class="text-lg">Warning</div>
154-
<div class="">Please proceed with caution, this cannot be undone.</div>
157+
<div class="text-lg">
158+
Warning
159+
</div>
160+
<div>
161+
Please proceed with caution, this cannot be undone.
162+
</div>
155163
</div>
156164
<div>
157165
<Button

‎resources/js/types/global.d.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
import { PageProps as InertiaPageProps } from '@inertiajs/core';
2-
import { AxiosInstance } from 'axios';
3-
import { route as ziggyRoute } from 'ziggy-js';
4-
import { PageProps as AppPageProps } from './';
5-
6-
declare global {
7-
interface Window {
8-
axios: AxiosInstance;
9-
}
10-
11-
/* eslint-disable no-var */
12-
var route: typeof ziggyRoute;
13-
}
14-
15-
declare module 'vue' {
16-
interface ComponentCustomProperties {
17-
route: typeof ziggyRoute;
18-
}
19-
}
20-
21-
declare module '@inertiajs/core' {
22-
interface PageProps extends InertiaPageProps, AppPageProps {}
23-
}
1+
import { PageProps as InertiaPageProps } from '@inertiajs/core';
2+
import { AxiosInstance } from 'axios';
3+
import { route as ziggyRoute } from 'ziggy-js';
4+
import { PageProps as AppPageProps } from './';
5+
6+
declare global {
7+
interface Window {
8+
axios: AxiosInstance;
9+
}
10+
11+
/* eslint-disable no-var */
12+
var route: typeof ziggyRoute;
13+
}
14+
15+
declare module 'vue' {
16+
interface ComponentCustomProperties {
17+
route: typeof ziggyRoute;
18+
}
19+
}
20+
21+
declare module '@inertiajs/core' {
22+
interface PageProps extends InertiaPageProps, AppPageProps {}
23+
}

‎resources/js/types/index.d.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
import { DataTableFilterMetaData } from 'primevue';
2-
import { MenuItem } from 'primevue/menuitem';
3-
import type { LucideIcon } from 'lucide-vue-next';
4-
5-
export interface User {
6-
id: number;
7-
name: string;
8-
email: string;
9-
email_verified_at?: string;
10-
}
11-
12-
export type PageProps<
13-
T extends Record<string, unknown> = Record<string, unknown>
14-
> = T;
15-
16-
export type PrimeVueDataFilters = {
17-
[key: string]: DataTableFilterMetaData;
18-
};
19-
20-
export interface ExtendedMenuItem extends MenuItem {
21-
route?: string;
22-
lucideIcon?: LucideIcon;
23-
}
1+
import { DataTableFilterMetaData } from 'primevue';
2+
import { MenuItem } from 'primevue/menuitem';
3+
import type { LucideIcon } from 'lucide-vue-next';
4+
5+
export interface User {
6+
id: number;
7+
name: string;
8+
email: string;
9+
email_verified_at?: string;
10+
}
11+
12+
export type PageProps<
13+
T extends Record<string, unknown> = Record<string, unknown>
14+
> = T;
15+
16+
export type PrimeVueDataFilters = {
17+
[key: string]: DataTableFilterMetaData;
18+
};
19+
20+
export interface ExtendedMenuItem extends MenuItem {
21+
route?: string;
22+
lucideIcon?: LucideIcon;
23+
}

0 commit comments

Comments
 (0)