{"id":16278661,"url":"https://github.com/pixelass/pwa-example-app","last_synced_at":"2025-04-08T17:41:37.888Z","repository":{"id":98946549,"uuid":"517332560","full_name":"pixelass/pwa-example-app","owner":"pixelass","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-24T13:32:47.000Z","size":1282,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-14T13:50:37.597Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/pixelass.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2022-07-24T13:32:40.000Z","updated_at":"2022-07-24T13:32:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7160825-27ee-4b8e-8fb6-87164d629907","html_url":"https://github.com/pixelass/pwa-example-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"pixelass/pwa-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelass%2Fpwa-example-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelass%2Fpwa-example-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelass%2Fpwa-example-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelass%2Fpwa-example-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pixelass","download_url":"https://codeload.github.com/pixelass/pwa-example-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247895595,"owners_count":21014334,"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":[],"created_at":"2024-10-10T18:59:20.558Z","updated_at":"2025-04-08T17:41:37.882Z","avatar_url":"https://github.com/pixelass.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PWA Template\n\nA template for Next.js with PWA support and i18n.\n\n\u003cimg src=\"./docs/resources/next-logo.png\" alt=\"next logo\" width=\"50%\"/\u003e\u003cimg src=\"./docs/resources/pwa-logo.png\" alt=\"pwa logo\" width=\"50%\"/\u003e\n\n\u003c!-- toc --\u003e\n\n- [Libraries](#libraries)\n- [Personalize this template](#personalize-this-template)\n  - [Automatic (recommended)](#automatic-recommended)\n  - [Manual](#manual)\n- [Project Setup](#project-setup)\n  - [Set up Vercel](#set-up-vercel)\n    - [App](#app)\n    - [Storybook](#storybook)\n- [Getting started](#getting-started)\n- [Atomic design](#atomic-design)\n- [Behavior Driven Development](#behavior-driven-development)\n- [Test Driven Development](#test-driven-development)\n- [Commitlint](#commitlint)\n- [Commands](#commands)\n- [Skipping linters](#skipping-linters)\n\n\u003c!-- tocstop --\u003e\n\n## Libraries\n\n- [Storybook](https://storybook.js.org/)\n- [Cypress](https://cypress.io/)\n- [Jest](https://jestjs.io/)\n- [Commitlint](https://commitlint.js.org/)\n- [Stylelint](https://stylelint.io/)\n- [Eslint](https://eslint.org/)\n- [Prettier](https://prettier.io/)\n\nAdditional libraries:\n\n- [MUI](https://mui.com/)\n- [i18next](https://www.i18next.com/) ([next-i18next](https://github.com/isaachinman/next-i18next))\n\n## Personalize this template\n\n### Automatic (recommended)\n\nYou can use the `setup` script by running:\n\n```shell\nyarn run setup\n```\n\nA prompt will guide you through the setup and adjust all files accordingly.  \nAfter the setup all setup related configuration and files can be removed automatically.\n\n### Manual\n\n\u003e :warning: Warning\n\u003e\n\u003e Please remove `\"type\": \"module\"` from `package.json`.  \n\u003e next-i18next [is not compatible with esm](https://github.com/i18next/next-i18next/issues/1505).\n\n\u003cdetails\u003e\n\u003csummary\u003eView the manual steps\u003c/summary\u003e\n\nYou can adjust the template by searching for `/pwa[ -]template/i`. It should find all instances of\n\"pwa-template\" or \"PWA Template\". Additionally, you should adjust the colors in\n`public/manifest.json`.\n\nWe also advise to remove all setup related configuration and files:\n\n- Remove `scripts.setup` in from `package.json`\n- Remove `scripts.prebuild` in from `package.json`\n- Change `scripts.build` in `package.json` to \"next build\"\n- Change `scripts[\"storybook:build]` in `package.json` to \"storybook-build\"\n- Remove `devDependencies.boxen` in from `package.json`\n- Remove `devDependencies.chalk` in from `package.json`\n- Remove `devDependencies.fullname` in from `package.json`\n- Remove `devDependencies.inquirer` in from `package.json`\n- Remove `devDependencies.ora` in from `package.json`\n- Remove `- run: yarn run prebuild` in from `.github/workflows/Code_Quality.yml`\n- Remove `- run: yarn run prebuild` in from `.github/workflows/Run_Tests.yml`\n- Adjust `- if: …` in from `.github/workflows/Run_Cypress.yml` to end with\n  `github.event.deployment_status.environment == 'Preview – {project-name}'` where `{project-name}` is\n  the name of the Vercel project.\n- Remove `- run: yarn install` in from `.github/workflows/Run_Cypress.yml`\n- Remove `- run: yarn run prebuild` in from `.github/workflows/Run_Cypress.yml`\n- Delete the directory `scripts`.\n\nHere's a list of all files that should be adjusted:\n\n- `.github/workflows/Code_Quality.yml`\n- `.github/workflows/Run_Tests.yml`\n- `.github/workflows/Run_Cypress.yml`\n- `package.json`\n- `public/manifest.json`\n- `src/pages/_app.tsx`\n- `/src/pages/_document.tsx`\n- `src/ions/configs/emotion.ts`\n- `scripts` (deleted)\n\n\u003c/details\u003e\n\n## Project Setup\n\nThis project uses multiple Vercel deployments to make design/code reviews easier:\n\n- App Production\n- App Preview\n- Storybook Production\n- Storybook Preview\n\n### Set up Vercel\n\nPlease follow this guide: https://vercel.com/docs/concepts/git\n\n#### App\n\n1. The \"Project Name\" should match what you entered when you\n   [personalized this template](#personalize-this-template).\n2. Follow the default setup for Next.js.\n\n#### Storybook\n\n1. Adjust the \"Build and Output Settings\"\n   - BUILD COMMAND: `yarn run storybook:build`\n   - OUTPUT DIRECTORY: `./storybook-static`\n\n\u003cimg src=\"./docs/resources/vercel-storybook.png\" alt=\"Vercel Storybook settings\" width=\"600\"/\u003e\n\n## Getting started\n\n**Run the development server:**\n\n```shell\nyarn run dev\n```\n\n**Run storybook:**\n\n```shell\nyarn run storybook\n```\n\n## Atomic design\n\nWe use atomic design. You can read more about our decision in the\n[documentation](docs/ATOMIC_DESIGN.md).\n\n## Behavior Driven Development\n\nWe use behavior tests. You can read more about our decision in the\n[documentation](docs/BEHAVIOR_DRIVEN_DEVELOPMENT.md).\n\n## Test Driven Development\n\nWe use jest to write unit tests. Please look at the Documentation for [Jest](https://jestjs.io/)\nand [testing-library](https://testing-library.com/docs/react-testing-library/intro/).\n\n## Commitlint\n\nWe use commitlint to ensure conventional commit messages. You can read more about our decision in\nthe [documentation](docs/COMMITS.md).\n\n## Commands\n\n**Run the development server:**\n\n```shell\nyarn run dev\n```\n\n**Build:**\n\n```shell\nyarn run build\n```\n\n**Run storybook:**\n\n```shell\nyarn run storybook\n```\n\n**Build storybook:**\n\n```shell\nyarn run storybook:build\n```\n\n**Run cypress tests:**\n\n```shell\nyarn run cypress # local without server\n# yarn cypress:run # headless\n# yarn test:cypress # with server\n```\n\n**Run unit tests:**\n\n```shell\nyarn run jest\n# yarn jest:watch # watch\n# yarn test:jest # same as \"yarn jest\"\n```\n\n**Run all tests:**\n\n```shell\nyarn run test\n```\n\n**Run stylelint**\n\n```shell\nyarn run stylelint\n```\n\n**Run eslint**\n\n```shell\nyarn run eslint\n```\n\n**Run all linters**\n\n```shell\nyarn run lint\n```\n\n## Skipping linters\n\nIf you need to skip a linter you can add the `--no-verify` flag.\n\n\u003e :warning: Warning\n\u003e\n\u003e We strongly advise against skipping linters.\n\n```shell\n# Skipping pre-commit hooks\ngit commit README.md -m \"this is a dirty commit\" --no-verify\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelass%2Fpwa-example-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixelass%2Fpwa-example-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelass%2Fpwa-example-app/lists"}