mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-12 23:48:57 +00:00
cba70a62ae
This commit implements a Sketchfab-style single-object viewer as a minimal proof-of-concept. ### `@storyteller/studio-web` This is a new package to house web components for interfacing with the `@storyteller/studio` WASM library. It currently includes a single component, `<sts-viewer />`, which is exported from `@storyteller/studio-web/viewer`. ### `react-frontend` This is a new application intended as a proof-of-concept and testbed for React interop with `@storyteller/studio-web`. Web components are currently a little bit fiddly to use in a React application. `react-frontend/src/app/studio-viewer.tsx` demonstrates how a React-idiomatic component can be written as a thin wrapper around a web component, and `react-frontend/src/app/app.tsx` demonstrates that wrapper component in use.
72 lines
1.7 KiB
JSON
72 lines
1.7 KiB
JSON
{
|
|
"name": "react-frontend",
|
|
"$schema": "../node_modules/nx/schemas/project-schema.json",
|
|
"sourceRoot": "react-frontend/src",
|
|
"projectType": "application",
|
|
"targets": {
|
|
"build": {
|
|
"executor": "@nx/vite:build",
|
|
"outputs": ["{options.outputPath}"],
|
|
"defaultConfiguration": "production",
|
|
"options": {
|
|
"outputPath": "dist/react-frontend"
|
|
},
|
|
"configurations": {
|
|
"development": {
|
|
"mode": "development"
|
|
},
|
|
"production": {
|
|
"mode": "production"
|
|
}
|
|
}
|
|
},
|
|
"serve": {
|
|
"executor": "@nx/vite:dev-server",
|
|
"defaultConfiguration": "development",
|
|
"dependsOn": [
|
|
{
|
|
"projects": ["studio"],
|
|
"target": "build:web"
|
|
}
|
|
],
|
|
"options": {
|
|
"buildTarget": "react-frontend:build"
|
|
},
|
|
"configurations": {
|
|
"development": {
|
|
"buildTarget": "react-frontend:build:development",
|
|
"hmr": true
|
|
},
|
|
"production": {
|
|
"buildTarget": "react-frontend:build:production",
|
|
"hmr": false
|
|
}
|
|
}
|
|
},
|
|
"preview": {
|
|
"executor": "@nx/vite:preview-server",
|
|
"defaultConfiguration": "development",
|
|
"options": {
|
|
"buildTarget": "react-frontend:build"
|
|
},
|
|
"configurations": {
|
|
"development": {
|
|
"buildTarget": "react-frontend:build:development"
|
|
},
|
|
"production": {
|
|
"buildTarget": "react-frontend:build:production"
|
|
}
|
|
}
|
|
},
|
|
"test": {
|
|
"executor": "@nx/vite:test",
|
|
"outputs": ["{options.reportsDirectory}"],
|
|
"options": {
|
|
"passWithNoTests": true,
|
|
"reportsDirectory": "../coverage/react-frontend"
|
|
}
|
|
}
|
|
},
|
|
"tags": []
|
|
}
|