{"id":17743940,"url":"https://github.com/narigo/sveltekit-boilerplate","last_synced_at":"2026-03-10T14:32:34.518Z","repository":{"id":42671817,"uuid":"421970084","full_name":"Narigo/sveltekit-boilerplate","owner":"Narigo","description":"A boilerplate for SvelteKit apps","archived":false,"fork":false,"pushed_at":"2022-03-29T00:57:52.000Z","size":22911,"stargazers_count":15,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-30T17:22:26.365Z","etag":null,"topics":["storybook","svelte"],"latest_commit_sha":null,"homepage":"https://sveltekit-boilerplate.narigo.dev","language":"Svelte","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/Narigo.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}},"created_at":"2021-10-27T20:51:20.000Z","updated_at":"2025-07-29T10:21:47.000Z","dependencies_parsed_at":"2022-09-08T17:00:14.247Z","dependency_job_id":null,"html_url":"https://github.com/Narigo/sveltekit-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/Narigo/sveltekit-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narigo%2Fsveltekit-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narigo%2Fsveltekit-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narigo%2Fsveltekit-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narigo%2Fsveltekit-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Narigo","download_url":"https://codeload.github.com/Narigo/sveltekit-boilerplate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narigo%2Fsveltekit-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30337236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T12:41:07.687Z","status":"ssl_error","status_checked_at":"2026-03-10T12:41:06.728Z","response_time":106,"last_error":"SSL_read: 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":["storybook","svelte"],"created_at":"2024-10-26T06:22:18.473Z","updated_at":"2026-03-10T14:32:34.490Z","avatar_url":"https://github.com/Narigo.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Svelte component library boilerplate\n\nThis boilerplate features:\n\n- [SvelteKit](https://kit.svelte.dev/)\n- component based development ([Storybook](https://storybook.js.org/))\n- type-safety ([TypeScript](https://www.typescriptlang.org/))\n- auto-formatting ([prettier](https://prettier.io/))\n- [code-linting](#running-checks) ([eslint](https://eslint.org/))\n- [unit and component tests](#running-unit-tests-jest) ([Jest](https://jestjs.io/) with [testing-library](https://testing-library.com/))\n- [browser tests](#running-browser-tests-playwright) ([Playwright](https://playwright.dev/) for Storybook and integration)\n- [CI tests for pull requests](.github/workflows/run-checks.yml) ([GitHub actions](https://github.com/features/actions))\n- [auto-deployment for static pages and Storybook](.github/workflows/publish-docs.yml) (on [GitHub pages](https://pages.github.com/))\n\n## Git workflow\n\n1. Clone or fork the repository\n2. Change `./static/CNAME` to your domain or remove it\n3. Manage access and disallow push to main (allow only pull requests)\n4. Create a branch with your feature\n5. Create a pull request for your feature and let the CI check whether everything still works\n6. Merge if checks are green 🙂\n\n## Development\n\nAfter cloning the repository, you can either run `npm` commands directly or use a Docker container to run the commands in it. Docker can be used to create a more reproducible environment, but it's really optional. The accompanied `docker-compose.yml` file can be used to start a bash in a container.\n\nThe optional command to run the everything in a container would be:\n\n```\ndocker-compose run --service-ports app bash\n```\n\nFirst of all, install the necessary dependencies:\n\n```\nnpm ci\n```\n\n### Storybook\n\nTo build components in isolation, Storybook in development mode can be started through:\n\n```\nnpm run storybook\n```\n\n### Component library\n\nBuilding a component library with this boilerplate can be build by running:\n\n```\nnpm run package\n```\n\n### Code checks\n\nThis boilerplate features linter checks, automatic formatting, unit and integration tests. All of this will be checked when a pull-request is merged.\n\n### Running checks\n\nGitHub actions will run various checks on pull requests. The checks are svelte-check, prettier and eslint. They can be run locally by using the two appropriate scripts.\n\nSvelte-check can be run with:\n\n```\nnpm run check\n```\n\nTo run the linter and format checker:\n\n```\nnpm run lint\n```\n\n### Running unit tests (Jest)\n\nThere are two commands. One for running the tests once and one that runs all tests while watching for changes.\n\nTo do a single test run:\n\n```\nnpm run test\n```\n\nTo watch changes and run tests:\n\n```\nnpm run test:watch\n```\n\n### Running browser tests (Playwright)\n\nThe following commands allow running and seeing integration tests with Playwright.\n\n\u003e **Note:** If you're using the Docker approach: Playwright can't open a browser from within the container. Instead, a browser in the container is necessary and it needs to run in there. With the `DISPLAY` variable set, it's possible to forward the browser windows to another machine (the host machine).\n\n\u003e **Note for MacOS users:** This boilerplate features some helpers for MacOSX, if you're running through Docker. It needs XQuartz installed on the host machine and the helper scripts can be used to run it. Use `./playwright.sh` to get a shell inside a Docker container that can run the following commands.\n\nA single run of all tests of the storybook components:\n\n```\nnpm run ci:test:storybook\n```\n\nStart the server and open Playwright in debug mode to check the tests for the storybook components:\n\n```\nnpm run test:watch:storybook\n```\n\nA single run of all end-to-end/integration tests:\n\n```\nnpm run ci:test:integration\n```\n\nStart the server and open Playwright with all end-to-end/integration tests in debug mode:\n\n```\nnpm run test:watch:integration\n```\n\nThere is another special command to run all test commands once sequentially:\n\n```\nnpm run ci:test\n```\n\nThe last command can be used to run all the test suites manually before pushing it and letting the CI check all tests automatically.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnarigo%2Fsveltekit-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnarigo%2Fsveltekit-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnarigo%2Fsveltekit-boilerplate/lists"}