mirror of
https://github.com/RPCSX/rpcsx-ui.git
synced 2026-01-31 01:05:23 +01:00
kit: add skia initialization
copy canvaskit.wasm to web build dir
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
"build:web:server": "node ./build.mjs",
|
||||
"build:web:ui": "expo export --platform web --dev --output-dir electron/build/ui --no-minify --source-maps",
|
||||
"build:web:ui:release": "expo export --platform web --dev --output-dir electron/build/ui",
|
||||
"build:web": "npm run build:kit && npm run build:web:server && npm run build:web:ui && npm run build:extensions && npm run install:extensions",
|
||||
"build:web:release": "npm run build:kit && npm run build:web:server && npm run build:web:ui:release && npm run build:extensions && npm run install:extensions",
|
||||
"build:web": "npm run build:kit && npm run build:web:server && npm run build:web:ui && cp node_modules/canvaskit-wasm/bin/full/canvaskit.wasm electron/build/ui/ && npm run build:extensions && npm run install:extensions",
|
||||
"build:web:release": "npm run build:kit && npm run build:web:server && npm run build:web:ui:release && cp node_modules/canvaskit-wasm/bin/full/canvaskit.wasm electron/build/ui/ && npm run build:extensions && npm run install:extensions",
|
||||
"build:android": "npm run build:kit && expo prebuild --platform android && ./android/gradlew assembleDebug -p ./android",
|
||||
"build:android:release": "npm run build:kit && expo prebuild --platform android && ./android/gradlew assembleRelease -p ./android",
|
||||
"build:all": "npm run build && npm run build:web && npm run build:android",
|
||||
|
||||
@@ -2242,22 +2242,58 @@ export async function startup() {
|
||||
`;
|
||||
}
|
||||
|
||||
const viewListFile = await fileDb.createFile(path.join(genDir, "view-list.ts"), viewsListFile);
|
||||
|
||||
if (viewListFile) {
|
||||
viewListFile.content = `${generatedHeader}
|
||||
${Object.keys(views).map(x => `import { ${x} } from '${pathWithoutExt(views[x])}'`).join(';\n')};
|
||||
|
||||
export const builtinViews: Record<string, (...props: any[]) => React.JSX.Element> = {
|
||||
${Object.keys(views).map(x => ` "${x}": ${x}`).join(',\n')}
|
||||
};
|
||||
`;
|
||||
}
|
||||
|
||||
const viewsWebFile = await fileDb.createFile(path.join(genDir, "views.web.ts"), viewsListFile);
|
||||
|
||||
if (viewsWebFile) {
|
||||
viewsWebFile.content = `${generatedHeader}
|
||||
import { LoadSkiaWeb } from '@shopify/react-native-skia/lib/module/web';
|
||||
|
||||
export default async function getViews() {
|
||||
await LoadSkiaWeb({ locateFile: () => 'app://-/canvaskit.wasm' });
|
||||
return (await import('./view-list')).builtinViews;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
|
||||
const viewsFile = await fileDb.createFile(path.join(genDir, "views.ts"), viewsListFile);
|
||||
|
||||
if (viewsFile) {
|
||||
viewsFile.content = `${generatedHeader}
|
||||
import { builtinViews } from './view-list';
|
||||
|
||||
export default async function getViews() {
|
||||
return builtinViews;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
|
||||
const indexFile = await fileDb.createFile(path.join(genDir, "index.tsx"), viewsListFile);
|
||||
|
||||
if (indexFile) {
|
||||
indexFile.content = `${generatedHeader}
|
||||
import { main } from '$core/main';
|
||||
import { startup } from './startup';
|
||||
|
||||
${Object.keys(views).map(x => `import { ${x} } from '${pathWithoutExt(views[x])}'`).join(';\n')};
|
||||
import getViews from './views';
|
||||
|
||||
const serverInitializationPromise = startup();
|
||||
|
||||
const builtinViews: Record<string, (...props: any[]) => React.JSX.Element> = {
|
||||
${Object.keys(views).map(x => ` "${x}": ${x}`).join(',\n')}
|
||||
};
|
||||
|
||||
main(builtinViews, serverInitializationPromise);
|
||||
getViews().then(builtinViews => {
|
||||
main(builtinViews, serverInitializationPromise);
|
||||
});
|
||||
`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user