Studio
Opened this issue · 1 comments
Studio
GUI for ULT and other npm based projects
Tasks
- List projects
- Terminal tabs
- Embedded terminals
- New project dialog
- Release version dialog
- Change branch dropdown
- Run platforms action
- Test platforms action
- Deploy platforms action
Features
List projects
Show list of added projects on disk. Must have valid package.json file and be a git repository. Scrape name, version from package.json. Scrape icon from known locations. List platforms available depending on dependencies.
Create new project
Show the create project dialog. Prompt below items, create new terminal tab, run
npx ult [name]
, show output in embedded terminal.
- name text field
- base select (
default
,minimal
)- platforms multi-select (
web
,android
,windows
,macos
,ios
)
Add existing project
Show add existing project dialog. Allow either git or local folder as input. For local folder, on web use native filesystem api, on desktop use native folder picker. For git use js-git on web, installed git on desktop.
Change branch
Show current branch, list all branches & tags, accept commit hash
Release version
Click on the version to show the release dialog. Prompt below items:
- version text field
- changelog text area
- channel select (
alpha
,beta
,production
)
Run platform
When clicking run button in toolbar show tooltip with available platforms in color, disabled greyed out. When clicking them, launch an embedded terminal and run the respective command.
Terminal tabs
List webpack and metro tabs first if they are running. Click close button in tab terminates the process. Show add button after open tabs. List npm scripts or blank terminal in tooltip when clicking add button.
This project will reside in: https://github.com/kat-tax/my-ult