gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/vite.config.ts · v0.6.0
Source
1 88bd1b0 Mrdn 2y ago import { defineConfig } from 'vite'
2 88bd1b0 Mrdn 2y ago import react from '@vitejs/plugin-react-swc'
3 88bd1b0 Mrdn 2y ago import { TanStackRouterVite } from '@tanstack/router-vite-plugin';
4 7b6fa39 Mrdn 2y ago import tsconfigPaths from 'vite-tsconfig-paths';
5 7b6fa39 Mrdn 2y ago import path from 'path';
6 c9419fe Mardin 2y ago import { execSync } from 'child_process';
7 88bd1b0 Mrdn 2y ago
8 9d73834 Mardin 2y ago function checkTagIsHead(): boolean {
9 9d73834 Mardin 2y ago try {
10 9d73834 Mardin 2y ago execSync('/usr/bin/git describe --tags --exact-match HEAD');
11 9d73834 Mardin 2y ago return true;
12 9d73834 Mardin 2y ago } catch (e) {
13 9d73834 Mardin 2y ago return false
14 9d73834 Mardin 2y ago }
15 9d73834 Mardin 2y ago }
16 9d73834 Mardin 2y ago
17 c9419fe Mardin 2y ago export default defineConfig(({ mode }) => {
18 c9419fe Mardin 2y ago const dev = mode === "development";
19 c9419fe Mardin 2y ago
20 c9419fe Mardin 2y ago let latestVersion = process.env.VITE_LATEST_APP_VERSION;
21 c9419fe Mardin 2y ago
22 c9419fe Mardin 2y ago if (!latestVersion) {
23 c9419fe Mardin 2y ago try {
24 9d73834 Mardin 2y ago const isHead = checkTagIsHead()
25 9d73834 Mardin 2y ago latestVersion = dev || !isHead ?
26 c9419fe Mardin 2y ago execSync("/usr/bin/git describe --tags").toString().trimEnd() :
27 c9419fe Mardin 2y ago execSync("/usr/bin/git describe --tags --abbrev=0").toString().trimEnd();
28 c9419fe Mardin 2y ago } catch (e) {
29 c9419fe Mardin 2y ago console.error("Git versioning failed:", e);
30 c9419fe Mardin 2y ago latestVersion = "unknown";
31 c9419fe Mardin 2y ago }
32 c9419fe Mardin 2y ago process.env.VITE_LATEST_APP_VERSION = latestVersion;
33 c9419fe Mardin 2y ago }
34 c9419fe Mardin 2y ago
35 c9419fe Mardin 2y ago return {
36 c9419fe Mardin 2y ago plugins: [
37 c9419fe Mardin 2y ago TanStackRouterVite(),
38 c9419fe Mardin 2y ago tsconfigPaths(),
39 c9419fe Mardin 2y ago react()
40 a0e778c Mrdn 2y ago ],
41 c9419fe Mardin 2y ago root: '.',
42 c9419fe Mardin 2y ago build: {
43 c9419fe Mardin 2y ago assetsDir: 'static',
44 c9419fe Mardin 2y ago outDir: 'dist'
45 c9419fe Mardin 2y ago },
46 c9419fe Mardin 2y ago resolve: {
47 c9419fe Mardin 2y ago alias: [
48 c9419fe Mardin 2y ago {
49 c9419fe Mardin 2y ago find: '@marzneshin',
50 c9419fe Mardin 2y ago replacement: path.resolve(__dirname, './src/'),
51 c9419fe Mardin 2y ago },
52 c9419fe Mardin 2y ago ],
53 c9419fe Mardin 2y ago },
54 c9419fe Mardin 2y ago }
55 88bd1b0 Mrdn 2y ago })