{"id":19052000,"url":"https://github.com/lourot/vike-react-styled-components-grommet","last_synced_at":"2025-04-24T01:25:54.543Z","repository":{"id":208323245,"uuid":"717094103","full_name":"lourot/vike-react-styled-components-grommet","owner":"lourot","description":"🔨 Vike + styled-components + grommet example","archived":false,"fork":false,"pushed_at":"2025-04-14T13:43:26.000Z","size":421,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T14:53:05.999Z","etag":null,"topics":["full-stack","node","react","react-ssr","server-rendering","ssr","static-site-generator","styled-components","vite","vite-plugin","vite-ssr","vitejs","web-framework"],"latest_commit_sha":null,"homepage":"https://vike.dev","language":"TypeScript","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/lourot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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,"zenodo":null},"funding":{"github":"AurelienLourot"}},"created_at":"2023-11-10T14:44:35.000Z","updated_at":"2025-04-14T13:43:23.000Z","dependencies_parsed_at":"2024-02-26T20:52:56.837Z","dependency_job_id":"18e4911d-2b77-4f26-a4e3-b7bd1c103fc2","html_url":"https://github.com/lourot/vike-react-styled-components-grommet","commit_stats":null,"previous_names":["vikejs/vike-react-styled-components-grommet","aurelienlourot/vike-react-styled-components-grommet","lourot/vike-react-styled-components-grommet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lourot%2Fvike-react-styled-components-grommet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lourot%2Fvike-react-styled-components-grommet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lourot%2Fvike-react-styled-components-grommet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lourot%2Fvike-react-styled-components-grommet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lourot","download_url":"https://codeload.github.com/lourot/vike-react-styled-components-grommet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250542639,"owners_count":21447746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["full-stack","node","react","react-ssr","server-rendering","ssr","static-site-generator","styled-components","vite","vite-plugin","vite-ssr","vitejs","web-framework"],"created_at":"2024-11-08T23:20:30.682Z","updated_at":"2025-04-24T01:25:54.504Z","avatar_url":"https://github.com/lourot.png","language":"TypeScript","funding_links":["https://github.com/sponsors/AurelienLourot"],"categories":[],"sub_categories":[],"readme":"# Vike + styled-components + grommet example\n\nThis is an example of integrating [Vike](https://vike.dev) with [styled-components](https://styled-components.com/)\nand [grommet](https://v2.grommet.io/).\n\nThis was born out of the following discussions:\n\n- https://github.com/vikejs/vike/issues/1217\n- https://github.com/tdonhauser/vite-ssr-styled-components-grommet/pull/1\n- https://github.com/grommet/grommet/issues/6976\n\nSpecial thanks to [tdonhauser](https://github.com/tdonhauser) for initially digging into this.\n\nRun it with:\n\n```bash\npnpm install\npnpm run dev\n```\n\nFollow the initial commits in this repo one by one in order to understand how this is built:\n\n- First, an empty [vike-react](https://github.com/vikejs/vike-react) project was scaffolded using\n  [Bati](https://batijs.github.io/).\n- Then, in order to be able to modify [onRenderHtml()](https://vike.dev/onRenderHtml), which is encapsulated in\n  vike-react, we copied it in this repository. This process is called \"ejecting\" `onRenderHtml()`.\n- We then added styled-components to the project, which required to extend `onRenderHtml()`.\n- Finally added grommet.\n\nAs you can see, server-side rendering works: the initial HTML delivered by `onRenderHtml()` contains the styles of the\nstyled-components and grommet components and we don't experience any\n[FOUC](https://en.wikipedia.org/wiki/Flash_of_unstyled_content).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flourot%2Fvike-react-styled-components-grommet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flourot%2Fvike-react-styled-components-grommet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flourot%2Fvike-react-styled-components-grommet/lists"}