diff --git a/dcc-viewer/.idea/.gitignore b/dcc-viewer/.idea/.gitignore
deleted file mode 100644
index 13566b81b018ad684f3a35fee301741b2734c8f4..0000000000000000000000000000000000000000
--- a/dcc-viewer/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/dcc-viewer/.idea/dcc-viewer.iml b/dcc-viewer/.idea/dcc-viewer.iml
deleted file mode 100644
index 24643cc37449b4bde54411a80b8ed61258225e34..0000000000000000000000000000000000000000
--- a/dcc-viewer/.idea/dcc-viewer.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="WEB_MODULE" version="4">
-  <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
-      <excludeFolder url="file://$MODULE_DIR$/temp" />
-      <excludeFolder url="file://$MODULE_DIR$/tmp" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/dcc-viewer/.idea/inspectionProfiles/Project_Default.xml b/dcc-viewer/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 798a81f55b88f30c729973befe637b412eb0e1dd..0000000000000000000000000000000000000000
--- a/dcc-viewer/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="InspectionProjectProfileManager">
-  <profile version="1.0">
-    <option name="myName" value="Project Default" />
-    <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
-    <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
-      <option name="ignoredPackages">
-        <value>
-          <list size="1">
-            <item index="0" class="java.lang.String" itemvalue="bokeh" />
-          </list>
-        </value>
-      </option>
-    </inspection_tool>
-  </profile>
-</component>
\ No newline at end of file
diff --git a/dcc-viewer/.idea/modules.xml b/dcc-viewer/.idea/modules.xml
deleted file mode 100644
index 7342473174532c853ba934e45e54b406d31181f1..0000000000000000000000000000000000000000
--- a/dcc-viewer/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/.idea/dcc-viewer.iml" filepath="$PROJECT_DIR$/.idea/dcc-viewer.iml" />
-    </modules>
-  </component>
-</project>
\ No newline at end of file
diff --git a/dcc-viewer/.idea/vcs.xml b/dcc-viewer/.idea/vcs.xml
deleted file mode 100644
index 6c0b8635858dc7ad44b93df54b762707ce49eefc..0000000000000000000000000000000000000000
--- a/dcc-viewer/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/dcc-viewer/public/index.html b/dcc-viewer/public/index.html
index e363a2defb4713e0090763e60902de1e8af3a91a..0c36cb12debc56d206c69cc1efbbce25dcc53786 100644
--- a/dcc-viewer/public/index.html
+++ b/dcc-viewer/public/index.html
@@ -3,8 +3,8 @@
 <head>
     <meta charset='UTF-8'>
     <title>DCC Viewer</title>
-    <script type='module' src='dist/main.js'></script>
-    <link rel='stylesheet' href='styles.css'>
+    <script type='module' src='/src/main.js'></script>
+    <link rel='stylesheet' href='/styles.css'>
 </head>
 <body>
     <input type='file' id='file-input' accept='.xml'>
diff --git a/dcc-viewer/src/components/BaseViewer.js b/dcc-viewer/src/components/BaseViewer.js
new file mode 100644
index 0000000000000000000000000000000000000000..11d24a96cc251478d7b7c7b55c66c23abfe1c1d6
--- /dev/null
+++ b/dcc-viewer/src/components/BaseViewer.js
@@ -0,0 +1,8 @@
+export class BaseViewer {
+    constructor(sectionData) {
+        this.sectionData = sectionData;
+    }
+    render() {
+        throw new Error('render() must be implemented in subclasses');
+    }
+}
\ No newline at end of file
diff --git a/dcc-viewer/src/components/BaseViewer.ts b/dcc-viewer/src/components/BaseViewer.ts
deleted file mode 100644
index 9837734779dc9fedf19a96a63a1dde407f94bded..0000000000000000000000000000000000000000
--- a/dcc-viewer/src/components/BaseViewer.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export abstract class BaseViewer {
-    protected sectionData: any;
-    constructor(sectionData: any) {
-        this.sectionData = sectionData;
-    }
-    abstract render(): HTMLElement;
-}
\ No newline at end of file
diff --git a/dcc-viewer/src/components/JSONTreeViewer.ts b/dcc-viewer/src/components/JSONTreeViewer.js
similarity index 75%
rename from dcc-viewer/src/components/JSONTreeViewer.ts
rename to dcc-viewer/src/components/JSONTreeViewer.js
index ef06785f8d63417795abffa62db03ab6687a5b50..4fcd426cf1598b0d8494f00d905ab1ed27eef47d 100644
--- a/dcc-viewer/src/components/JSONTreeViewer.ts
+++ b/dcc-viewer/src/components/JSONTreeViewer.js
@@ -1,7 +1,7 @@
-import { BaseViewer } from './BaseViewer';
+import { BaseViewer } from './BaseViewer.js';
 
 export class JSONTreeViewer extends BaseViewer {
-    render(): HTMLElement {
+    render() {
         const container = document.createElement('pre');
         container.textContent = JSON.stringify(this.sectionData, null, 2);
         return container;
diff --git a/dcc-viewer/src/globalData.js b/dcc-viewer/src/globalData.js
new file mode 100644
index 0000000000000000000000000000000000000000..c15978e7457a0baa7e6ff9752a479606520b61ca
--- /dev/null
+++ b/dcc-viewer/src/globalData.js
@@ -0,0 +1 @@
+export const globalData = {};
\ No newline at end of file
diff --git a/dcc-viewer/src/globalData.ts b/dcc-viewer/src/globalData.ts
deleted file mode 100644
index 8bc8fad27f3447beb40ca07fbab502e54cf09906..0000000000000000000000000000000000000000
--- a/dcc-viewer/src/globalData.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const globalData: { [key: string]: any } = {};
\ No newline at end of file
diff --git a/dcc-viewer/src/globalOptions.ts b/dcc-viewer/src/globalOptions.js
similarity index 100%
rename from dcc-viewer/src/globalOptions.ts
rename to dcc-viewer/src/globalOptions.js
diff --git a/dcc-viewer/src/idRegistry.js b/dcc-viewer/src/idRegistry.js
new file mode 100644
index 0000000000000000000000000000000000000000..d61c7925cbc5ed58d280d5bcbeafd5b0e882084b
--- /dev/null
+++ b/dcc-viewer/src/idRegistry.js
@@ -0,0 +1 @@
+export const idRegistry = {};
\ No newline at end of file
diff --git a/dcc-viewer/src/idRegistry.ts b/dcc-viewer/src/idRegistry.ts
deleted file mode 100644
index e98ebabb82d9a683f703b0be8125426fb3118cfa..0000000000000000000000000000000000000000
--- a/dcc-viewer/src/idRegistry.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const idRegistry: { [id: string]: any } = {};
\ No newline at end of file
diff --git a/dcc-viewer/src/main.ts b/dcc-viewer/src/main.js
similarity index 50%
rename from dcc-viewer/src/main.ts
rename to dcc-viewer/src/main.js
index 76059c7323e05f5c438a57ac174d7b1f465a248e..8b19e289e29ef67c69a7bc3f77bdd6606d25e771 100644
--- a/dcc-viewer/src/main.ts
+++ b/dcc-viewer/src/main.js
@@ -1,16 +1,16 @@
-import { convertXMLToJSON } from './xmlToJson';
-import { JSONTreeViewer } from './components/JSONTreeViewer';
+import { convertXMLToJSON } from './xmlToJson.js';
+import { JSONTreeViewer } from './components/JSONTreeViewer.js';
 
-const fileInput = document.getElementById('file-input') as HTMLInputElement;
-const container = document.getElementById('json-container') as HTMLElement;
+const fileInput = document.getElementById('file-input');
+const container = document.getElementById('json-container');
 
 fileInput.addEventListener('change', async (event) => {
-    const file = (event.target as HTMLInputElement).files?.[0];
+    const file = event.target.files?.[0];
     if (!file) return;
 
     const reader = new FileReader();
     reader.onload = async () => {
-        const xmlString = reader.result as string;
+        const xmlString = reader.result;
         const jsonData = await convertXMLToJSON(xmlString);
         const viewer = new JSONTreeViewer(jsonData);
         container.innerHTML = '';
diff --git a/dcc-viewer/src/ui/languageSelector.js b/dcc-viewer/src/ui/languageSelector.js
new file mode 100644
index 0000000000000000000000000000000000000000..98b697eef0d6acb670d37ce3a1ca274747850bc6
--- /dev/null
+++ b/dcc-viewer/src/ui/languageSelector.js
@@ -0,0 +1,6 @@
+import { globalOptions } from '../globalOptions.js';
+
+const languageSelect = document.getElementById('language-select');
+languageSelect.addEventListener('change', (event) => {
+    globalOptions.preferredLanguage = event.target.value;
+});
\ No newline at end of file
diff --git a/dcc-viewer/src/ui/languageSelector.ts b/dcc-viewer/src/ui/languageSelector.ts
deleted file mode 100644
index 0854c83ba9e3297b09e2de4efadc3d75dbac4858..0000000000000000000000000000000000000000
--- a/dcc-viewer/src/ui/languageSelector.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { globalOptions } from '../globalOptions';
-
-const languageSelect = document.getElementById('language-select') as HTMLSelectElement;
-languageSelect.addEventListener('change', (event) => {
-    globalOptions.preferredLanguage = (event.target as HTMLSelectElement).value;
-});
\ No newline at end of file
diff --git a/dcc-viewer/src/ui/themeSwitcher.ts b/dcc-viewer/src/ui/themeSwitcher.js
similarity index 54%
rename from dcc-viewer/src/ui/themeSwitcher.ts
rename to dcc-viewer/src/ui/themeSwitcher.js
index 931533fbfb34545d350647010ddc6423ac8e7033..2996ddc740d886c2637d676aedff43cd97063b09 100644
--- a/dcc-viewer/src/ui/themeSwitcher.ts
+++ b/dcc-viewer/src/ui/themeSwitcher.js
@@ -1,4 +1,4 @@
-const themeToggle = document.getElementById('theme-toggle') as HTMLButtonElement;
+const themeToggle = document.getElementById('theme-toggle');
 themeToggle.addEventListener('click', () => {
     document.body.classList.toggle('dark-mode');
 });
\ No newline at end of file
diff --git a/dcc-viewer/src/utils.ts b/dcc-viewer/src/utils.js
similarity index 58%
rename from dcc-viewer/src/utils.ts
rename to dcc-viewer/src/utils.js
index fb954679dd38700973990e6cdfcdbbceb559f8ee..aaaf614b5e940f966cb84ef121aba4be6ba2177b 100644
--- a/dcc-viewer/src/utils.ts
+++ b/dcc-viewer/src/utils.js
@@ -1,4 +1,4 @@
-export function getLocalizedText(elements: any[]): string {
+export function getLocalizedText(elements) {
     if (!Array.isArray(elements)) return elements;
     return elements[0]._ || '';
 }
\ No newline at end of file
diff --git a/dcc-viewer/src/viewerRegistry.js b/dcc-viewer/src/viewerRegistry.js
new file mode 100644
index 0000000000000000000000000000000000000000..8de1bf6b033d84d03fb8de3bde92d79642961235
--- /dev/null
+++ b/dcc-viewer/src/viewerRegistry.js
@@ -0,0 +1,5 @@
+import { JSONTreeViewer } from './components/JSONTreeViewer.js';
+
+export function getViewerForElement() {
+    return JSONTreeViewer;
+}
\ No newline at end of file
diff --git a/dcc-viewer/src/viewerRegistry.ts b/dcc-viewer/src/viewerRegistry.ts
deleted file mode 100644
index 6e6b15a215f39b6009a9a022bf97e5d9f90236a7..0000000000000000000000000000000000000000
--- a/dcc-viewer/src/viewerRegistry.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { JSONTreeViewer } from './components/JSONTreeViewer';
-
-export function getViewerForElement(): any {
-    return JSONTreeViewer;
-}
\ No newline at end of file
diff --git a/dcc-viewer/src/xmlToJson.ts b/dcc-viewer/src/xmlToJson.js
similarity index 64%
rename from dcc-viewer/src/xmlToJson.ts
rename to dcc-viewer/src/xmlToJson.js
index 03506aa0eadb5c00f4a1e0a4f4267a94727ce01d..b308fc3f8eb43538a1d5ac89224abb556dfbc878 100644
--- a/dcc-viewer/src/xmlToJson.ts
+++ b/dcc-viewer/src/xmlToJson.js
@@ -1,5 +1,5 @@
 import { parseStringPromise } from 'xml2js';
 
-export async function convertXMLToJSON(xmlString: string): Promise<any> {
+export async function convertXMLToJSON(xmlString) {
     return parseStringPromise(xmlString, { explicitArray: false, mergeAttrs: true });
 }
\ No newline at end of file
diff --git a/dcc-viewer/tsconfig.json b/dcc-viewer/tsconfig.json
deleted file mode 100644
index ff383c8e90473b6687da1ff40ef01ea3588e79dc..0000000000000000000000000000000000000000
--- a/dcc-viewer/tsconfig.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "compilerOptions": { "target": "ES6", "module": "ES6", "outDir": "dist" } }
\ No newline at end of file
diff --git a/files.json b/files.json
deleted file mode 100644
index 854fa90fa40dcb75007dbc2ecfde7bc58c4d88fe..0000000000000000000000000000000000000000
--- a/files.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "dcc-viewer": {
-    "src": {
-      "main.ts": "import { convertXMLToJSON } from './xmlToJson';\nimport { JSONTreeViewer } from './components/JSONTreeViewer';\n\nconst fileInput = document.getElementById('file-input') as HTMLInputElement;\nconst container = document.getElementById('json-container') as HTMLElement;\n\nfileInput.addEventListener('change', async (event) => {\n    const file = (event.target as HTMLInputElement).files?.[0];\n    if (!file) return;\n\n    const reader = new FileReader();\n    reader.onload = async () => {\n        const xmlString = reader.result as string;\n        const jsonData = await convertXMLToJSON(xmlString);\n        const viewer = new JSONTreeViewer(jsonData);\n        container.innerHTML = '';\n        container.appendChild(viewer.render());\n    };\n    reader.readAsText(file);\n});",
-      "xmlToJson.ts": "import { parseStringPromise } from 'xml2js';\n\nexport async function convertXMLToJSON(xmlString: string): Promise<any> {\n    return parseStringPromise(xmlString, { explicitArray: false, mergeAttrs: true });\n}",
-      "idRegistry.ts": "export const idRegistry: { [id: string]: any } = {};",
-      "globalData.ts": "export const globalData: { [key: string]: any } = {};",
-      "globalOptions.ts": "export const globalOptions = { preferredLanguage: 'en' };",
-      "viewerRegistry.ts": "import { JSONTreeViewer } from './components/JSONTreeViewer';\n\nexport function getViewerForElement(): any {\n    return JSONTreeViewer;\n}",
-      "utils.ts": "export function getLocalizedText(elements: any[]): string {\n    if (!Array.isArray(elements)) return elements;\n    return elements[0]._ || '';\n}",
-      "components": {
-        "BaseViewer.ts": "export abstract class BaseViewer {\n    protected sectionData: any;\n    constructor(sectionData: any) {\n        this.sectionData = sectionData;\n    }\n    abstract render(): HTMLElement;\n}",
-        "JSONTreeViewer.ts": "import { BaseViewer } from './BaseViewer';\n\nexport class JSONTreeViewer extends BaseViewer {\n    render(): HTMLElement {\n        const container = document.createElement('pre');\n        container.textContent = JSON.stringify(this.sectionData, null, 2);\n        return container;\n    }\n}"
-      },
-      "ui": {
-        "languageSelector.ts": "import { globalOptions } from '../globalOptions';\n\nconst languageSelect = document.getElementById('language-select') as HTMLSelectElement;\nlanguageSelect.addEventListener('change', (event) => {\n    globalOptions.preferredLanguage = (event.target as HTMLSelectElement).value;\n});",
-        "themeSwitcher.ts": "const themeToggle = document.getElementById('theme-toggle') as HTMLButtonElement;\nthemeToggle.addEventListener('click', () => {\n    document.body.classList.toggle('dark-mode');\n});"
-      }
-    },
-    "public": {
-      "index.html": "<!DOCTYPE html>\n<html lang='en'>\n<head>\n    <meta charset='UTF-8'>\n    <title>DCC Viewer</title>\n    <script type='module' src='dist/main.js'></script>\n    <link rel='stylesheet' href='styles.css'>\n</head>\n<body>\n    <input type='file' id='file-input' accept='.xml'>\n    <button id='theme-toggle'>Toggle Theme</button>\n    <select id='language-select'>\n        <option value='en'>English</option>\n        <option value='de'>German</option>\n    </select>\n    <div id='json-container'></div>\n</body>\n</html>",
-      "styles.css": "body { font-family: Arial, sans-serif; }\n.dark-mode { background-color: black; color: white; }"
-    },
-    "package.json": "{\n    \"name\": \"dcc-viewer\",\n    \"version\": \"1.0.0\",\n    \"scripts\": { \"dev\": \"vite\" },\n    \"dependencies\": { \"xml2js\": \"^0.4.23\" }\n}",
-    "tsconfig.json": "{ \"compilerOptions\": { \"target\": \"ES6\", \"module\": \"ES6\", \"outDir\": \"dist\" } }",
-   }
-}
diff --git a/project_structure.json b/project_structure.json
index ec746423c762356668a8576b74c6d6683bb8cb59..a56703617b98b3414db0cd5e8e30ab47219537c2 100644
--- a/project_structure.json
+++ b/project_structure.json
@@ -1,27 +1,26 @@
 {
   "dcc-viewer": {
     "src": {
-      "main.ts": "import { convertXMLToJSON } from './xmlToJson';\nimport { JSONTreeViewer } from './components/JSONTreeViewer';\n\nconst fileInput = document.getElementById('file-input') as HTMLInputElement;\nconst container = document.getElementById('json-container') as HTMLElement;\n\nfileInput.addEventListener('change', async (event) => {\n    const file = (event.target as HTMLInputElement).files?.[0];\n    if (!file) return;\n\n    const reader = new FileReader();\n    reader.onload = async () => {\n        const xmlString = reader.result as string;\n        const jsonData = await convertXMLToJSON(xmlString);\n        const viewer = new JSONTreeViewer(jsonData);\n        container.innerHTML = '';\n        container.appendChild(viewer.render());\n    };\n    reader.readAsText(file);\n});",
-      "xmlToJson.ts": "import { parseStringPromise } from 'xml2js';\n\nexport async function convertXMLToJSON(xmlString: string): Promise<any> {\n    return parseStringPromise(xmlString, { explicitArray: false, mergeAttrs: true });\n}",
-      "idRegistry.ts": "export const idRegistry: { [id: string]: any } = {};",
-      "globalData.ts": "export const globalData: { [key: string]: any } = {};",
-      "globalOptions.ts": "export const globalOptions = { preferredLanguage: 'en' };",
-      "viewerRegistry.ts": "import { JSONTreeViewer } from './components/JSONTreeViewer';\n\nexport function getViewerForElement(): any {\n    return JSONTreeViewer;\n}",
-      "utils.ts": "export function getLocalizedText(elements: any[]): string {\n    if (!Array.isArray(elements)) return elements;\n    return elements[0]._ || '';\n}",
+      "main.js": "import { convertXMLToJSON } from './xmlToJson.js';\nimport { JSONTreeViewer } from './components/JSONTreeViewer.js';\n\nconst fileInput = document.getElementById('file-input');\nconst container = document.getElementById('json-container');\n\nfileInput.addEventListener('change', async (event) => {\n    const file = event.target.files?.[0];\n    if (!file) return;\n\n    const reader = new FileReader();\n    reader.onload = async () => {\n        const xmlString = reader.result;\n        const jsonData = await convertXMLToJSON(xmlString);\n        const viewer = new JSONTreeViewer(jsonData);\n        container.innerHTML = '';\n        container.appendChild(viewer.render());\n    };\n    reader.readAsText(file);\n});",
+      "xmlToJson.js": "import { parseStringPromise } from 'xml2js';\n\nexport async function convertXMLToJSON(xmlString) {\n    return parseStringPromise(xmlString, { explicitArray: false, mergeAttrs: true });\n}",
+      "idRegistry.js": "export const idRegistry = {};",
+      "globalData.js": "export const globalData = {};",
+      "globalOptions.js": "export const globalOptions = { preferredLanguage: 'en' };",
+      "viewerRegistry.js": "import { JSONTreeViewer } from './components/JSONTreeViewer.js';\n\nexport function getViewerForElement() {\n    return JSONTreeViewer;\n}",
+      "utils.js": "export function getLocalizedText(elements) {\n    if (!Array.isArray(elements)) return elements;\n    return elements[0]._ || '';\n}",
       "components": {
-        "BaseViewer.ts": "export abstract class BaseViewer {\n    protected sectionData: any;\n    constructor(sectionData: any) {\n        this.sectionData = sectionData;\n    }\n    abstract render(): HTMLElement;\n}",
-        "JSONTreeViewer.ts": "import { BaseViewer } from './BaseViewer';\n\nexport class JSONTreeViewer extends BaseViewer {\n    render(): HTMLElement {\n        const container = document.createElement('pre');\n        container.textContent = JSON.stringify(this.sectionData, null, 2);\n        return container;\n    }\n}"
+        "BaseViewer.js": "export class BaseViewer {\n    constructor(sectionData) {\n        this.sectionData = sectionData;\n    }\n    render() {\n        throw new Error('render() must be implemented in subclasses');\n    }\n}",
+        "JSONTreeViewer.js": "import { BaseViewer } from './BaseViewer.js';\n\nexport class JSONTreeViewer extends BaseViewer {\n    render() {\n        const container = document.createElement('pre');\n        container.textContent = JSON.stringify(this.sectionData, null, 2);\n        return container;\n    }\n}"
       },
       "ui": {
-        "languageSelector.ts": "import { globalOptions } from '../globalOptions';\n\nconst languageSelect = document.getElementById('language-select') as HTMLSelectElement;\nlanguageSelect.addEventListener('change', (event) => {\n    globalOptions.preferredLanguage = (event.target as HTMLSelectElement).value;\n});",
-        "themeSwitcher.ts": "const themeToggle = document.getElementById('theme-toggle') as HTMLButtonElement;\nthemeToggle.addEventListener('click', () => {\n    document.body.classList.toggle('dark-mode');\n});"
+        "languageSelector.js": "import { globalOptions } from '../globalOptions.js';\n\nconst languageSelect = document.getElementById('language-select');\nlanguageSelect.addEventListener('change', (event) => {\n    globalOptions.preferredLanguage = event.target.value;\n});",
+        "themeSwitcher.js": "const themeToggle = document.getElementById('theme-toggle');\nthemeToggle.addEventListener('click', () => {\n    document.body.classList.toggle('dark-mode');\n});"
       }
     },
     "public": {
-      "index.html": "<!DOCTYPE html>\n<html lang='en'>\n<head>\n    <meta charset='UTF-8'>\n    <title>DCC Viewer</title>\n    <script type='module' src='dist/main.js'></script>\n    <link rel='stylesheet' href='styles.css'>\n</head>\n<body>\n    <input type='file' id='file-input' accept='.xml'>\n    <button id='theme-toggle'>Toggle Theme</button>\n    <select id='language-select'>\n        <option value='en'>English</option>\n        <option value='de'>German</option>\n    </select>\n    <div id='json-container'></div>\n</body>\n</html>",
+      "index.html": "<!DOCTYPE html>\n<html lang='en'>\n<head>\n    <meta charset='UTF-8'>\n    <title>DCC Viewer</title>\n    <script type='module' src='/src/main.js'></script>\n    <link rel='stylesheet' href='/styles.css'>\n</head>\n<body>\n    <input type='file' id='file-input' accept='.xml'>\n    <button id='theme-toggle'>Toggle Theme</button>\n    <select id='language-select'>\n        <option value='en'>English</option>\n        <option value='de'>German</option>\n    </select>\n    <div id='json-container'></div>\n</body>\n</html>",
       "styles.css": "body { font-family: Arial, sans-serif; }\n.dark-mode { background-color: black; color: white; }"
     },
-    "package.json": "{\n    \"name\": \"dcc-viewer\",\n    \"version\": \"1.0.0\",\n    \"scripts\": { \"dev\": \"vite\" },\n    \"dependencies\": { \"xml2js\": \"^0.4.23\" }\n}",
-    "tsconfig.json": "{ \"compilerOptions\": { \"target\": \"ES6\", \"module\": \"ES6\", \"outDir\": \"dist\" } }"
-   }
+    "package.json": "{\n    \"name\": \"dcc-viewer\",\n    \"version\": \"1.0.0\",\n    \"scripts\": { \"dev\": \"vite\" },\n    \"dependencies\": { \"xml2js\": \"^0.4.23\" }\n}"
+  }
 }