Merge pull request 'configuration typescript sur le front-end' (#1) from feature/front/typescript into main

Reviewed-on: #1
This commit is contained in:
Kevin 2025-09-30 17:47:46 +02:00
commit d0d3deaaa4
10 changed files with 1043 additions and 22 deletions

1
thanasoft-front/.env Normal file
View File

@ -0,0 +1 @@
NODE_ENV=

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,8 @@
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
"lint": "vue-cli-service lint",
"typecheck": "vue-tsc --noEmit"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "1.3.0",
@ -53,9 +54,12 @@
"vuex": "4.0.2"
},
"devDependencies": {
"@types/minimatch": "^6.0.0",
"@types/node": "^24.6.0",
"@vue/cli-plugin-babel": "4.5.15",
"@vue/cli-plugin-eslint": "4.5.15",
"@vue/cli-plugin-router": "4.5.15",
"@vue/cli-plugin-typescript": "^4.5.15",
"@vue/cli-service": "4.5.15",
"@vue/compiler-sfc": "3.2.0",
"@vue/eslint-config-prettier": "6.0.0",
@ -65,6 +69,8 @@
"eslint-plugin-vue": "7.0.0",
"prettier": "2.2.1",
"sass": "1.43.3",
"sass-loader": "10.1.1"
"sass-loader": "10.1.1",
"typescript": "^5.9.2",
"vue-tsc": "^3.1.0"
}
}

View File

@ -333,7 +333,8 @@ const routes = [
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
// Use root base so the app works whether served at / or via /build/index.html
history: createWebHistory("/"),
routes,
linkActiveClass: "active",
});

35
thanasoft-front/src/shims-vue.d.ts vendored Normal file
View File

@ -0,0 +1,35 @@
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
export default component;
}
declare module "*.png" {
const src: string;
export default src;
}
declare module "*.jpg" {
const src: string;
export default src;
}
declare module "*.jpeg" {
const src: string;
export default src;
}
declare module "*.gif" {
const src: string;
export default src;
}
declare module "*.webp" {
const src: string;
export default src;
}
declare module "*.svg" {
const src: string;
export default src;
}

View File

@ -2,13 +2,6 @@
<default-dashboard />
</template>
<script>
<script setup lang="ts">
import DefaultDashboard from "@/views/dashboards/Default.vue";
export default {
name: "Home",
components: {
DefaultDashboard,
},
};
</script>

View File

@ -203,7 +203,7 @@
</div>
</div>
</template>
<script>
<script setupe lang="ts">
import MiniStatisticsCard from "../../examples/Cards/MiniStatisticsCard.vue";
import ReportsBarChart from "../../examples/Charts/ReportsBarChart.vue";
import GradientLineChart from "../../examples/Charts/GradientLineChart.vue";

View File

@ -0,0 +1,30 @@
{
"compilerOptions": {
"target": "ES2018",
"module": "ESNext",
"moduleResolution": "Node",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"jsx": "preserve",
"allowJs": true,
"checkJs": false,
"noEmit": true,
"strict": false,
"skipLibCheck": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
},
"types": ["node"]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"src/shims-vue.d.ts"
],
"exclude": ["node_modules", "dist"]
}

View File

@ -7,6 +7,18 @@ module.exports = {
// Le index.html généré
indexPath: "index.html",
// Important : comme le build est servi depuis /build/
publicPath: "/build/",
// En prod on sert les assets depuis /build/, en dev on reste sur la racine
publicPath: process.env.NODE_ENV === "production" ? "/build/" : "/",
// Dev server config to work locally alongside Laravel backend
devServer: {
historyApiFallback: true,
// proxy API calls to Laravel (adjust if your API prefix differs)
proxy: {
"^/api": {
target: "http://127.0.0.1:8000",
changeOrigin: true,
},
},
},
};