From 8998c1495482ec60dfebc6cc6fd8a4ae4eedd6b8 Mon Sep 17 00:00:00 2001 From: Logan Jones Date: Tue, 8 Apr 2025 12:11:16 -0500 Subject: [PATCH] working on redoing ts and vite conf --- frontend/package.json | 3 +- frontend/package.json.md5 | 2 +- frontend/pnpm-lock.yaml | 59 +++++++++++++++++++ .../components/audio-player/audio-player.ts | 3 +- frontend/tsconfig.json | 36 +++++++++++ frontend/vite.config.mts | 6 ++ frontend/vite.config.ts | 12 ---- tsconfig.json | 30 ---------- 8 files changed, 105 insertions(+), 46 deletions(-) create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vite.config.mts delete mode 100644 frontend/vite.config.ts delete mode 100644 tsconfig.json diff --git a/frontend/package.json b/frontend/package.json index 24b20be..cdf00ff 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,6 +10,7 @@ }, "devDependencies": { "ts-lit-plugin": "^2.0.2", - "vite": "^6.2.3" + "vite": "^6.2.3", + "vite-tsconfig-paths": "^5.1.4" } } diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index 4d37395..290c071 100755 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -038a4fcd825344f08c63dbe40f42865f \ No newline at end of file +c8268978cc1672b8c925fd9aaff81ad7 \ No newline at end of file diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index aa3fbed..7142b47 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -21,6 +21,9 @@ importers: vite: specifier: ^6.2.3 version: 6.2.3 + vite-tsconfig-paths: + specifier: ^5.1.4 + version: 5.1.4(typescript@5.2.2)(vite@6.2.3) packages: @@ -345,6 +348,15 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + didyoumean2@4.1.0: resolution: {integrity: sha512-qTBmfQoXvhKO75D/05C8m+fteQmn4U46FWYiLhXtZQInzitXLWY0EQ/2oKnpAz9g2lQWW8jYcLcT+hPJGT+kig==} engines: {node: '>=10.13'} @@ -389,6 +401,9 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -437,6 +452,9 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -504,11 +522,29 @@ packages: ts-simple-type@2.0.0-next.0: resolution: {integrity: sha512-A+hLX83gS+yH6DtzNAhzZbPfU+D9D8lHlTSd7GeoMRBjOt3GRylDqLTYbdmjA4biWvq2xSfpqfIDj2l0OA/BVg==} + tsconfck@3.1.5: + resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true + vite-tsconfig-paths@5.1.4: + resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite@6.2.3: resolution: {integrity: sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -792,6 +828,10 @@ snapshots: color-name@1.1.4: {} + debug@4.4.0: + dependencies: + ms: 2.1.3 + didyoumean2@4.1.0: dependencies: '@babel/runtime': 7.27.0 @@ -857,6 +897,8 @@ snapshots: dependencies: is-glob: 4.0.3 + globrex@0.1.2: {} + has-flag@3.0.0: {} is-extglob@2.1.1: {} @@ -908,6 +950,8 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + ms@2.1.3: {} + nanoid@3.3.11: {} parse5@5.1.0: {} @@ -987,8 +1031,23 @@ snapshots: ts-simple-type@2.0.0-next.0: {} + tsconfck@3.1.5(typescript@5.2.2): + optionalDependencies: + typescript: 5.2.2 + typescript@5.2.2: {} + vite-tsconfig-paths@5.1.4(typescript@5.2.2)(vite@6.2.3): + dependencies: + debug: 4.4.0 + globrex: 0.1.2 + tsconfck: 3.1.5(typescript@5.2.2) + optionalDependencies: + vite: 6.2.3 + transitivePeerDependencies: + - supports-color + - typescript + vite@6.2.3: dependencies: esbuild: 0.25.1 diff --git a/frontend/src/components/audio-player/audio-player.ts b/frontend/src/components/audio-player/audio-player.ts index f4deaea..2b8fab7 100644 --- a/frontend/src/components/audio-player/audio-player.ts +++ b/frontend/src/components/audio-player/audio-player.ts @@ -1,6 +1,5 @@ import { LitElement, html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { Play } from '@go/player/Player'; import './controls/player-controls'; import './seekbar/seek-bar'; @@ -14,7 +13,7 @@ const audioPlayer = () => html` @customElement('audio-player') export class AudioPlayer extends LitElement { - render() { + override render() { return audioPlayer(); } diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..2b193e9 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + // base options + "esModuleInterop": true, // Helps mend a few of the fences between CommonJS and ES Modules. + "skipLibCheck": true, // Skips checking the types of .d.ts files. This is important for performance, because otherwise all node_modules will be checked. + "target": "esnext", // The version of JavaScript you're targeting. + "allowJs": true, // Allows you to import .js files. + "moduleDetection": "force", // This option forces TypeScript to consider all files as modules. This helps to avoid 'cannot redeclare block-scoped variable' errors. + "isolatedModules": true, // This option prevents a few TS features which are unsafe when treating modules as isolated files. + "verbatimModuleSyntax": true, // This option forces you to use import type and export type, leading to more predictable behavior and fewer unnecessary imports. + // strictness + "strict": true, // Enables all strict type checking options. + "noUncheckedIndexedAccess": true, // Prevents you from accessing an array or object without first checking if it's defined. + "noImplicitOverride": true, // Makes the override keyword actually useful in classes. + // optional "noisy" options + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + // transpiling to js options + "module": "esnext", // Tells TypeScript what module syntax to use. + "outDir": "dist", // Tells TypeScript where to put the compiled JavaScript files. + // running in the DOM + "lib": ["esnext", "dom", "dom.iterable"], // Tells TypeScript what built-in types to include. + // module resolution + "moduleResolution": "bundler", + "paths": { // path aliases to find modules + "@go/*": ["./wailsjs/go/*"], + "@components/*": ["./src/components/*"], + "@assets/*": ["./src/assets/*"], + "@node_modules/*": ["./node_modules/*"] + }, + // needed for Lit Elements + "experimentalDecorators": true + } +} diff --git a/frontend/vite.config.mts b/frontend/vite.config.mts new file mode 100644 index 0000000..5844ca7 --- /dev/null +++ b/frontend/vite.config.mts @@ -0,0 +1,6 @@ +import { defineConfig } from "vite"; +import tsConfigPaths from "vite-tsconfig-paths"; + +export default defineConfig({ + plugins: [tsConfigPaths()], +}); diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts deleted file mode 100644 index d000f5b..0000000 --- a/frontend/vite.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from "vite"; -import path from "path"; - -export default defineConfig({ - resolve: { - alias: { - "@go": path.resolve(__dirname, "./wailsjs/go"), - "@components": path.resolve(__dirname, "./src/components"), - "@assets": path.resolve(__dirname, "./src/assets"), - }, - }, -}); diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 6b9b254..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "isolatedModules": true, - "baseUrl": "./frontend", - "allowJs": true, - "checkJs": true, - "noEmit": true, - "target": "ES2022", - "module": "ESNext", - "lib": [ - "es2022", - "dom" - ], - "declaration": true, - "declarationMap": true, - "experimentalDecorators": true, - "useDefineForClassFields": false, - "moduleResolution": "node", - "plugins": [ - { - "name": "ts-lit-plugin" - } - ], - "paths": { - "@go/*": ["wailsjs/go/*"], - "@components/*": ["src/components/*"], - "@assets/*": ["src/assets/*"], - } - } -}