Precise DOM morphing
morphing typescript dom

Switch to tsgo and oxlint

+36 -11
+24 -1
.zed/settings.json
··· 1 { 2 "hard_tabs": true, 3 - "format_on_save": "on" 4 }
··· 1 { 2 "hard_tabs": true, 3 + "format_on_save": "on", 4 + "lsp": { 5 + "typescript-language-server": { 6 + "initialization_options": { 7 + "preferences": { 8 + "experimental": { 9 + "useTsgo": true 10 + } 11 + } 12 + } 13 + }, 14 + "oxc": { 15 + "initialization_options": { 16 + "options": { 17 + "run": "onType", 18 + "configPath": null, 19 + "tsConfigPath": null, 20 + "unusedDisableDirectives": "deny", 21 + "typeAware": true, 22 + "flags": {} 23 + } 24 + } 25 + } 26 + } 27 }
+1 -1
build.ts
··· 13 }) 14 15 // Generate TypeScript declarations (skip lib check to avoid node type errors) 16 - await $`tsc --emitDeclarationOnly --declaration --outDir dist --skipLibCheck` 17 18 // Calculate and display file sizes 19 const minifiedPath = "./dist/morphlex.min.js"
··· 13 }) 14 15 // Generate TypeScript declarations (skip lib check to avoid node type errors) 16 + await $`tsgo --emitDeclarationOnly --declaration --outDir dist --skipLibCheck` 17 18 // Calculate and display file sizes 19 const minifiedPath = "./dist/morphlex.min.js"
bun.lockb

This is a binary file and will not be displayed.

+11 -8
package.json
··· 17 }, 18 "scripts": { 19 "build": "bun run build.ts", 20 "test": "vitest run", 21 "test:watch": "vitest", 22 "test:ui": "vitest --ui", ··· 27 }, 28 "devDependencies": { 29 "@types/bun": "^1.3.1", 30 - "@vitest/browser": "^4.0.5", 31 - "@vitest/browser-playwright": "^4.0.5", 32 - "@vitest/coverage-v8": "^4.0.5", 33 - "@vitest/ui": "^4.0.5", 34 "happy-dom": "^20.0.10", 35 - "prettier": "^3.2.5", 36 - "typescript": "^5.4.2", 37 - "typescript-eslint": "^7.0.2", 38 - "vitest": "^4.0.5" 39 } 40 }
··· 17 }, 18 "scripts": { 19 "build": "bun run build.ts", 20 + "lint": "bun run oxlint --type-aware", 21 "test": "vitest run", 22 "test:watch": "vitest", 23 "test:ui": "vitest --ui", ··· 28 }, 29 "devDependencies": { 30 "@types/bun": "^1.3.1", 31 + "@typescript/native-preview": "^7.0.0-dev.20251104.1", 32 + "@vitest/browser": "^4.0.6", 33 + "@vitest/browser-playwright": "^4.0.6", 34 + "@vitest/coverage-v8": "^4.0.6", 35 + "@vitest/ui": "^4.0.6", 36 "happy-dom": "^20.0.10", 37 + "oxlint": "^1.25.0", 38 + "oxlint-tsgolint": "^0.4.0", 39 + "prettier": "^3.6.2", 40 + "typescript": "^5.9.3", 41 + "vitest": "^4.0.6" 42 } 43 }
-1
tsconfig.json
··· 9 "removeComments": false, 10 "outDir": "dist", 11 "skipLibCheck": true, 12 - "baseUrl": ".", 13 "noEmit": false, 14 "declaration": true, 15 "esModuleInterop": true,
··· 9 "removeComments": false, 10 "outDir": "dist", 11 "skipLibCheck": true, 12 "noEmit": false, 13 "declaration": true, 14 "esModuleInterop": true,