Skip to content

Commit 5ea4e01

Browse files
authored
Initial commit
0 parents  commit 5ea4e01

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+9430
-0
lines changed

.czrc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"path": "@commitlint/cz-commitlint"
3+
}

.eslintrc.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": [
3+
"sznm/react",
4+
"plugin:react/jsx-runtime",
5+
"plugin:@next/next/recommended"
6+
]
7+
}

.github/workflows/release-please.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
on:
2+
workflow_dispatch:
3+
4+
name: release-please
5+
jobs:
6+
release-please:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: google-github-actions/release-please-action@v3
10+
with:
11+
release-type: node
12+
package-name: release-please-action

.github/workflows/release.yml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
with:
14+
fetch-depth: 0
15+
16+
- uses: actions/setup-node@v3
17+
with:
18+
node-version: 16.x
19+
20+
- run: npx changelogithub
21+
env:
22+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

.github/workflows/update-license.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Update License
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
# Update the license once a year on January 1
7+
- cron: '0 0 1 1 *'
8+
9+
jobs:
10+
update-license:
11+
uses: sozonome/workflows/.github/workflows/update-license.yml@main

.gitignore

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# vscode
9+
.vscode/settings.json
10+
11+
# testing
12+
/coverage
13+
14+
# next.js
15+
/.next/
16+
/out/
17+
18+
# production
19+
/build
20+
21+
# misc
22+
.DS_Store
23+
*.pem
24+
25+
# debug
26+
npm-debug.log*
27+
yarn-debug.log*
28+
yarn-error.log*
29+
.pnpm-debug.log*
30+
31+
# local env files
32+
.env.local
33+
.env.development.local
34+
.env.test.local
35+
.env.production.local
36+
37+
# vercel
38+
.vercel
39+
40+
**/public/workbox-*.js
41+
**/public/sw.js
42+
**/public/service-worker.js
43+
44+
# sitemap
45+
robots.txt
46+
sitemap*.xml
47+
48+
# TS
49+
*.tsbuildinfo
50+
51+
# Turbo
52+
.turbo

.husky/commit-msg

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
pnpm commitlint --edit $1

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
pnpm lint-staged

.husky/pre-push

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
pnpm check:turbo

.husky/prepare-commit-msg

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/sh
2+
[[ "$(uname -a)" = *"MINGW64"* ]] && exit 0
3+
. "$(dirname "$0")/_/husky.sh"
4+
5+
exec < /dev/tty && pnpm cz --hook || true

.lintstagedrc.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"src/**/*.{js,jsx,ts,tsx}": [
3+
"eslint --fix --max-warnings=0",
4+
"prettier --write"
5+
],
6+
"src/**/*.{json,css,scss,md}": ["prettier --write"]
7+
}

.npmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
enable-pre-post-scripts=true

.prettierrc.json

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"endOfLine": "lf",
3+
"semi": true,
4+
"singleQuote": true,
5+
"tabWidth": 2,
6+
"trailingComma": "es5",
7+
"plugins": ["prettier-plugin-tailwindcss"],
8+
"tailwindFunctions": ["clsx", "cn", "cva"]
9+
}

.versionrc

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"types": [
3+
{
4+
"type": "feat",
5+
"section": "Features"
6+
},
7+
{
8+
"type": "fix",
9+
"section": "Bug Fixes"
10+
},
11+
{
12+
"type": "refactor",
13+
"section": "Improvements"
14+
},
15+
{
16+
"type": "test",
17+
"section": "Tests",
18+
"hidden": true
19+
},
20+
{
21+
"type": "chore",
22+
"section": "Chores",
23+
"hidden": true
24+
},
25+
{
26+
"type": "build",
27+
"section": "Build System",
28+
"hidden": true
29+
},
30+
{
31+
"type": "revert",
32+
"section": "Reverts",
33+
"hidden": true
34+
},
35+
{
36+
"type": "ci",
37+
"hidden": true
38+
}
39+
]
40+
}

.vscode/extensions.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"dsznajder.es7-react-js-snippets",
5+
"mhutchie.git-graph",
6+
"oderwat.indent-rainbow"
7+
]
8+
}

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021 Agustinus Nathaniel
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<img src="https://og.sznm.dev/api/generate?heading=nextarter-tailwind&text=Next.js+(App+Router)+template+with+TailwindCSS+and+TypeScript+setup.&template=color&center=true&height=320" />
2+
3+
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/git?s=https://github.com/sozonome/nextarter-tailwind) [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/sozonome/nextarter-tailwind)
4+
5+
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/sozonome/nextarter-tailwind)
6+
7+
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app), added with [**TailwindCSS**](https://tailwindcss.com) and [**TypeScript**](https://www.typescriptlang.org) setup.
8+
Start developing right away!
9+
10+
## 🔋⚡ Super Battery Packed template
11+
12+
- 🚀 **Next.js 13 (App Router)** - **React 18**
13+
- ⛓️ **TypeScript**
14+
- **TailwindCSS** v3 - with base shadcn/ui setup
15+
- recommended to extend with one of these:
16+
- [shadcn/ui](https://ui.shadcn.com/)
17+
- [tremor](https://www.tremor.so/)
18+
- [flowbite-react](https://www.flowbite-react.com/)
19+
- [daisyUI](https://daisyui.com/)
20+
- [Headless UI](https://headlessui.com/)
21+
- [NextUI v2](https://github.com/nextui-org/nextui/discussions/1035)
22+
- ✔️ **toolings** for linting, formatting, and conventions configured
23+
- `eslint`, `prettier`, `husky`, `lint-staged`, `commitlint`, `commitizen`, and `standard-version`
24+
- `pre-commit`, `pre-push`, `commit-msg`, `prepare-commit-msg` hook configured
25+
- 📱 **PWA-ready** - `next-pwa` configured, enabled by default, just disable it through `next.config.js`
26+
- 🔎 SEO optimization configured - with `next-seo` and `next-sitemap`.
27+
- you'll need to reconfigure or tinker with it to get it right according to your needs, but it's there if you need it.
28+
- 🎨 basic responsive layout configured - don't need it? just remove it 😃
29+
- 🤖 **Automatic Dependency Update** with [Renovate](https://renovatebot.com/)
30+
- 🏎️ **Turbo** setup
31+
32+
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=sozonome_nextarter-tailwind&metric=alert_status)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-tailwind) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=sozonome_nextarter-tailwind&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-tailwind) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=sozonome_nextarter-tailwind&metric=bugs)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-tailwind) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=sozonome_nextarter-tailwind&metric=code_smells)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-tailwind) [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=sozonome_nextarter-tailwind&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-tailwind)
33+
34+
## Getting Started
35+
36+
You can either click `Use this template` button on this repository and clone the repo or directly from your terminal:
37+
38+
```bash
39+
npx degit sozonome/nextarter-tailwind <APP_NAME>
40+
```
41+
42+
Install packages:
43+
44+
```bash
45+
pnpm i
46+
```
47+
48+
Then, run the development server:
49+
50+
```bash
51+
pnpm dev
52+
```
53+
54+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
55+
56+
You can start editing the page by modifying `src/pages/index.tsx`. The page auto-updates as you edit the file.
57+
58+
## References
59+
60+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
61+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
62+
- [TailwindCSS](https://tailwindcss.com)
63+
- [headless UI](https://headlessui.dev/)
64+
- [TypeScript](https://www.typescriptlang.org)

commitlint.config.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/** @type {import('@commitlint/types').UserConfig} */
2+
const CommitLintConfiguration = {
3+
extends: ["@commitlint/config-conventional"],
4+
// add your own scope here if needed
5+
// "scope-enum": [2, "always", ["components", "pages", "utils"]],
6+
"scope-case": [2, "always", "kebab-case"],
7+
};
8+
9+
module.exports = CommitLintConfiguration;

components.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "default",
4+
"rsc": true,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "tailwind.config.js",
8+
"css": "src/lib/styles/globals.css",
9+
"baseColor": "gray",
10+
"cssVariables": true
11+
},
12+
"aliases": {
13+
"components": "@/lib/components",
14+
"utils": "@/lib/styles/utils"
15+
}
16+
}

netlify.toml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[build]
2+
command = 'pnpm build'
3+
4+
[build.environment]
5+
NODE_VERSION="18"

next-env.d.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/// <reference types="next" />
2+
/// <reference types="next/image-types/global" />
3+
4+
// NOTE: This file should not be edited
5+
// see https://nextjs.org/docs/basic-features/typescript for more information.

next-sitemap.config.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/** @type {import('next-sitemap').IConfig} */
2+
const NextSitemapConfig = {
3+
siteUrl: "https://nextarter-tailwind.sznm.dev",
4+
generateRobotsTxt: true,
5+
};
6+
7+
module.exports = NextSitemapConfig;

next.config.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const withPWA = require('next-pwa')({
2+
dest: 'public',
3+
disable: process.env.NODE_ENV === 'development',
4+
// add your own icons to src/app/manifest.ts
5+
// to re-generate manifest.json, you can visit https://tomitm.github.io/appmanifest/
6+
});
7+
8+
/** @type {import('next').NextConfig} */
9+
module.exports = withPWA({
10+
reactStrictMode: true,
11+
eslint: {
12+
dirs: ['src'],
13+
},
14+
});

0 commit comments

Comments
 (0)