{"id":43655842,"url":"https://github.com/outwatch/example-mill-vite","last_synced_at":"2026-02-04T20:35:18.164Z","repository":{"id":231143043,"uuid":"780968192","full_name":"outwatch/example-mill-vite","owner":"outwatch","description":"Outwatch Web-Frontend Example using Vite and Mill","archived":false,"fork":false,"pushed_at":"2024-05-22T10:30:36.000Z","size":47,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-22T11:31:29.251Z","etag":null,"topics":["outwatch"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outwatch.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-02T13:59:20.000Z","updated_at":"2024-06-02T21:15:21.384Z","dependencies_parsed_at":"2024-05-22T11:31:10.319Z","dependency_job_id":null,"html_url":"https://github.com/outwatch/example-mill-vite","commit_stats":null,"previous_names":["outwatch/example-mill-vite"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/outwatch/example-mill-vite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outwatch%2Fexample-mill-vite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outwatch%2Fexample-mill-vite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outwatch%2Fexample-mill-vite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outwatch%2Fexample-mill-vite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outwatch","download_url":"https://codeload.github.com/outwatch/example-mill-vite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outwatch%2Fexample-mill-vite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29095456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T20:17:23.003Z","status":"ssl_error","status_checked_at":"2026-02-04T20:16:36.396Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["outwatch"],"created_at":"2026-02-04T20:35:17.688Z","updated_at":"2026-02-04T20:35:18.156Z","avatar_url":"https://github.com/outwatch.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Outwatch Frontend Example\n\nA [github-template](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository) for [outwatch](https://github.com/outwatch/outwatch).\n\nTechnologies used:\n- [Outwatch](https://github.com/outwatch/outwatch/) functional web-frontend library\n- [Scala 3](https://www.scala-lang.org/) programming language, compiled to javascript using [ScalaJS](https://www.scala-js.org/)\n- [Mill](https://mill-build.com) build tool\n- [Vite](https://vitejs.dev) hot reloading and bundling\n- [devbox](https://www.jetpack.io/devbox) for a reproducible dev environment\n- [direnv](https://direnv.net/) to automatically load dev environment when entering project directory\n\n\n## Getting Started\n\n1. Setup on your system:\n   - [devbox](https://www.jetpack.io/devbox)\n   - [direnv](https://direnv.net/)\n\n   If you don't want to spend the time to setup those, skip to the manual setup section.\n1. Clone the example\n    ```shell\n    # if you want to just get the template locally without creating a github repo:\n    git clone --depth 1 https://github.com/outwatch/example-mill-vite my-first-outwatch-project\n\n    # OR: create new repo on github based on this template (using github-cli)\n    gh repo create my-first-outwatch-project --template outwatch/example-mill-vite --public --clone\n\n\n    cd my-first-outwatch-project\n    ```\n1. Allow direnv to enter the dev environment when entering the project directory\n    ```shell\n    direnv allow\n    ```\n    Which will load [.envrc](.envrc) and install the packages from [devbox.json](devbox.json).\n1. Start the dev server\n    ```shell\n    devbox services up\n    ```\n   The services are defined in [process-compose.yml](process-compose.yml).\n1. Point your browser to \u003chttp://localhost:5173\u003e\n1. Edit [FrontendMain.scala](frontend/src/main/scala/frontend/FrontendMain.scala) to see hot reloading.\n1. Production build:\n   ```shell\n   mill frontend.fullLinkJS \u0026\u0026 npx vite build\n   ```\n\n\n## Manual Setup without devbox or direnv\n\n1. Install:\n    - [Mill](https://mill-build.com)\n    - [NodeJS](https://nodejs.org) (provides `npm`)\n1. Run:\n    ```shell\n    npm install\n\n    # for automatically recompiling Scala sources to Javascript\n    mill --watch frontend.fastLinkJS\n\n    # in another terminal\n    # to start the devserver with hot reloading\n    npx vite dev\n    ```\n1. Point your browser to \u003chttp://localhost:5173\u003e\n1. Edit [FrontendMain.scala](frontend/src/main/scala/frontend/FrontendMain.scala) to see hot reloading.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutwatch%2Fexample-mill-vite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutwatch%2Fexample-mill-vite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutwatch%2Fexample-mill-vite/lists"}