refactor(assets): convert asset management scripts to TypeScript with tsx

- Replace JavaScript asset scripts with TypeScript equivalents
- Install tsx for direct TypeScript execution without compilation
- Add proper TypeScript interfaces for AssetConfig and validation
- Update package.json scripts to use tsx instead of node
- Remove old JavaScript files (assets-config.js, assets-validator.js)
- Maintain all existing functionality while improving type safety
- Fix module syntax issues that caused build failures on macOS

Scripts affected:
- assets:config: node → tsx scripts/assets-config.ts
- assets:validate: node → tsx scripts/assets-validator.ts

Benefits:
- Eliminates CommonJS/ES module syntax conflicts
- Provides better type safety and IntelliSense
- Modernizes development tooling
- Ensures cross-platform compatibility
This commit is contained in:
Matthew Raymer
2025-08-14 09:08:06 +00:00
parent 76749a097d
commit 495a94827a
5 changed files with 666 additions and 66 deletions

View File

@@ -1,10 +1,9 @@
{
"icon": {
"source": "resources/icon.png",
"android": {
"adaptive": {
"foreground": "resources/icon.png",
"background": "#121212",
"foreground": "resources/icon.png",
"monochrome": "resources/icon.png"
},
"target": "android/app/src/main/res"
@@ -13,20 +12,21 @@
"padding": 0,
"target": "ios/App/App/Assets.xcassets/AppIcon.appiconset"
},
"source": "resources/icon.png",
"web": {
"target": "public/img/icons"
}
},
"splash": {
"source": "resources/splash.png",
"darkSource": "resources/splash_dark.png",
"android": {
"scale": "cover",
"target": "android/app/src/main/res"
},
"darkSource": "resources/splash_dark.png",
"ios": {
"useStoryBoard": true,
"target": "ios/App/App/Assets.xcassets"
}
"target": "ios/App/App/Assets.xcassets",
"useStoryBoard": true
},
"source": "resources/splash.png"
}
}