├── .env.example ├── .env.test ├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── validate.yml ├── .gitignore ├── .npmrc ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── app ├── entry.client.tsx ├── entry.server.tsx ├── env.server.ts ├── library │ ├── README.md │ ├── icon │ │ ├── Icon.tsx │ │ ├── README.md │ │ └── icons │ │ │ ├── icon.svg │ │ │ └── types.ts │ ├── language-switcher │ │ ├── LanguageSwitcher.tsx │ │ ├── README.md │ │ └── index.ts │ └── link │ │ ├── Link.browser.test.tsx │ │ ├── README.md │ │ ├── index.ts │ │ ├── link.tsx │ │ └── useEnhancedTo.ts ├── localization │ ├── README.md │ ├── i18n.server.test.ts │ ├── i18n.server.ts │ ├── i18n.ts │ └── resource.ts ├── root.tsx ├── routes.ts ├── routes │ ├── $.tsx │ ├── _index.browser.test.tsx │ ├── _index.tsx │ ├── resource.locales.ts │ ├── robots[.]txt.ts │ ├── sitemap-index[.]xml.ts │ └── sitemap.$lang[.]xml.ts ├── server │ ├── context.ts │ └── index.ts ├── services │ └── client-hints.tsx ├── tailwind.css └── utils │ ├── README.md │ ├── css.test.ts │ ├── css.ts │ ├── dates.ts │ └── http.ts ├── biome.json ├── env.d.ts ├── knip.json ├── lefthook.yml ├── package.json ├── pnpm-lock.yaml ├── public ├── banner.png ├── base-stack.png ├── favicon.ico └── logo.png ├── react-router.config.ts ├── resources ├── icons │ └── ghost.svg └── locales │ ├── bs │ └── common.json │ └── en │ └── common.json ├── scripts ├── README.md ├── cleanup.ts └── setup.ts ├── tests ├── README.md └── setup.browser.tsx ├── tsconfig.json ├── vite.config.ts ├── vitest.config.ts └── vitest.workspace.ts /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.env.example -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- 1 | # Add your env variables here 2 | APP_DEPLOYMENT_ENV="staging" 3 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/validate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.github/workflows/validate.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.npmrc -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/README.md -------------------------------------------------------------------------------- /app/entry.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/entry.client.tsx -------------------------------------------------------------------------------- /app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/entry.server.tsx -------------------------------------------------------------------------------- /app/env.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/env.server.ts -------------------------------------------------------------------------------- /app/library/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/README.md -------------------------------------------------------------------------------- /app/library/icon/Icon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/icon/Icon.tsx -------------------------------------------------------------------------------- /app/library/icon/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/icon/README.md -------------------------------------------------------------------------------- /app/library/icon/icons/icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/icon/icons/icon.svg -------------------------------------------------------------------------------- /app/library/icon/icons/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/icon/icons/types.ts -------------------------------------------------------------------------------- /app/library/language-switcher/LanguageSwitcher.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/language-switcher/LanguageSwitcher.tsx -------------------------------------------------------------------------------- /app/library/language-switcher/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/language-switcher/README.md -------------------------------------------------------------------------------- /app/library/language-switcher/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/language-switcher/index.ts -------------------------------------------------------------------------------- /app/library/link/Link.browser.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/link/Link.browser.test.tsx -------------------------------------------------------------------------------- /app/library/link/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/link/README.md -------------------------------------------------------------------------------- /app/library/link/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./link" 2 | -------------------------------------------------------------------------------- /app/library/link/link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/link/link.tsx -------------------------------------------------------------------------------- /app/library/link/useEnhancedTo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/library/link/useEnhancedTo.ts -------------------------------------------------------------------------------- /app/localization/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/localization/README.md -------------------------------------------------------------------------------- /app/localization/i18n.server.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/localization/i18n.server.test.ts -------------------------------------------------------------------------------- /app/localization/i18n.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/localization/i18n.server.ts -------------------------------------------------------------------------------- /app/localization/i18n.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/localization/i18n.ts -------------------------------------------------------------------------------- /app/localization/resource.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/localization/resource.ts -------------------------------------------------------------------------------- /app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/root.tsx -------------------------------------------------------------------------------- /app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes.ts -------------------------------------------------------------------------------- /app/routes/$.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/$.tsx -------------------------------------------------------------------------------- /app/routes/_index.browser.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/_index.browser.test.tsx -------------------------------------------------------------------------------- /app/routes/_index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/_index.tsx -------------------------------------------------------------------------------- /app/routes/resource.locales.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/resource.locales.ts -------------------------------------------------------------------------------- /app/routes/robots[.]txt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/robots[.]txt.ts -------------------------------------------------------------------------------- /app/routes/sitemap-index[.]xml.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/sitemap-index[.]xml.ts -------------------------------------------------------------------------------- /app/routes/sitemap.$lang[.]xml.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/routes/sitemap.$lang[.]xml.ts -------------------------------------------------------------------------------- /app/server/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/server/context.ts -------------------------------------------------------------------------------- /app/server/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/server/index.ts -------------------------------------------------------------------------------- /app/services/client-hints.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/services/client-hints.tsx -------------------------------------------------------------------------------- /app/tailwind.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/tailwind.css -------------------------------------------------------------------------------- /app/utils/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/utils/README.md -------------------------------------------------------------------------------- /app/utils/css.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/utils/css.test.ts -------------------------------------------------------------------------------- /app/utils/css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/utils/css.ts -------------------------------------------------------------------------------- /app/utils/dates.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/utils/dates.ts -------------------------------------------------------------------------------- /app/utils/http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/app/utils/http.ts -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/biome.json -------------------------------------------------------------------------------- /env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/env.d.ts -------------------------------------------------------------------------------- /knip.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/knip.json -------------------------------------------------------------------------------- /lefthook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/lefthook.yml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /public/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/public/banner.png -------------------------------------------------------------------------------- /public/base-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/public/base-stack.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/public/logo.png -------------------------------------------------------------------------------- /react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/react-router.config.ts -------------------------------------------------------------------------------- /resources/icons/ghost.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/resources/icons/ghost.svg -------------------------------------------------------------------------------- /resources/locales/bs/common.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/resources/locales/bs/common.json -------------------------------------------------------------------------------- /resources/locales/en/common.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/resources/locales/en/common.json -------------------------------------------------------------------------------- /scripts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/scripts/README.md -------------------------------------------------------------------------------- /scripts/cleanup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/scripts/cleanup.ts -------------------------------------------------------------------------------- /scripts/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/scripts/setup.ts -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/setup.browser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/tests/setup.browser.tsx -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/vite.config.ts -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/vitest.config.ts -------------------------------------------------------------------------------- /vitest.workspace.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forge-42/base-stack/HEAD/vitest.workspace.ts --------------------------------------------------------------------------------