Skip to content

Commit

Permalink
feat: initial update
Browse files Browse the repository at this point in the history
  • Loading branch information
Nagi-ovo committed Apr 13, 2024
0 parents commit 72c4768
Show file tree
Hide file tree
Showing 260 changed files with 34,949 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# View & likes tracking
DATABASE_URL="postgresql://clarence:@localhost:5432/theodorusclarence"
DIRECT_DATABASE_URL="postgresql://clarence:@localhost:5432/theodorusclarence"
IP_ADDRESS_SALT=

# Dev.to Credentials for getting views
DEVTO_KEY=

# Spotify Credentials
# used for /api/spotify widget
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SPOTIFY_REFRESH_TOKEN=

# Dev tools page hidden route
ADMIN_PASSWORD=admin

# Revue Subscription (Unused)
REVUE_TOKEN=

# Client .envs
# These envs are feature flagged in constants/env.ts. No need to fill them in if you won't use it
NEXT_PUBLIC_FEEDBACK_FISH_ID=
NEXT_PUBLIC_GISCUS_REPO=
NEXT_PUBLIC_GISCUS_REPO_ID=
NEXT_PUBLIC_BLOCK_DOMAIN_WHITELIST="theodorusclarence.com"
NEXT_PUBLIC_UMAMI_WEBSITE_ID=

# Used for remote refresh in development
remoteRefreshPort="8080"

# Feature flags
# NEXT_PUBLIC_FLAG_COMMENT="true"
# NEXT_PUBLIC_FLAG_CONTENT_META="true"
# NEXT_PUBLIC_FLAG_SPOTIFY="true"
# NEXT_PUBLIC_FLAG_NEWSLETTER="true"
# NEXT_PUBLIC_FLAG_SAY_HELLO="true"
# NEXT_PUBLIC_FLAG_FEEDBACK="true"
# NEXT_PUBLIC_META_BLOCK_DOMAIN="true"
84 changes: 84 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
plugins: ['@typescript-eslint', 'simple-import-sort', 'unused-imports'],
extends: [
'eslint:recommended',
'next',
'next/core-web-vitals',
'plugin:@typescript-eslint/recommended',
'plugin:@tanstack/eslint-plugin-query/recommended',
'prettier',
],
rules: {
'no-unused-vars': 'off',
'no-console': 'warn',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'react/no-unescaped-entities': 'off',
'react/display-name': 'off',
'react/no-unknown-property': ['error', { ignore: ['jsx'] }],
'react/jsx-curly-brace-presence': [
'warn',
{ props: 'never', children: 'never' },
],
'@typescript-eslint/no-var-requires': 'off',

//#region //*=========== Unused Import ===========
'@typescript-eslint/no-unused-vars': 'off',
'unused-imports/no-unused-imports': 'warn',
'unused-imports/no-unused-vars': [
'warn',
{
vars: 'all',
varsIgnorePattern: '^_',
args: 'after-used',
argsIgnorePattern: '^_',
},
],
//#endregion //*======== Unused Import ===========

//#region //*=========== Sort Import ===========
'simple-import-sort/exports': 'warn',
'simple-import-sort/imports': [
'warn',
{
groups: [
// ext library & side effect imports
['^@?\\w', '^\\u0000'],
// {s}css files
['^.+\\.s?css$'],
// Lib and hooks
['^@/lib', '^@/hooks'],
// static data
['^@/data'],
// components
['^@/components'],
// Other imports
['^@/'],
// relative paths up until 3 level
[
'^\\./?$',
'^\\.(?!/?$)',
'^\\.\\./?$',
'^\\.\\.(?!/?$)',
'^\\.\\./\\.\\./?$',
'^\\.\\./\\.\\.(?!/?$)',
'^\\.\\./\\.\\./\\.\\./?$',
'^\\.\\./\\.\\./\\.\\.(?!/?$)',
],
['^@/types'],
// other that didnt fit in
['^'],
],
},
],
//#endregion //*======== Sort Import ===========
},
globals: {
React: true,
JSX: true,
},
};
9 changes: 9 additions & 0 deletions .github/issue-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# https://github.com/robvanderleek/create-issue-branch#option-2-configure-github-action

# ex: i4-lower_camel_upper
branchName: 'i${issue.number}-${issue.title,}'
branches:
- label: epic
skip: true
- label: debt
skip: true
35 changes: 35 additions & 0 deletions .github/unused/cypress.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Cypress End to End
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on: [deployment_status]

concurrency:
group: ${{ github.job }}-${{ github.ref }}
cancel-in-progress: true

jobs:
cypress-run:
if: ${{ github.event.deployment_status.state == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Print URL 🖨
run: echo Testing URL ${{ github.event.deployment_status.target_url }}

- name: Print GitHub env variables 🖨
run: npx @bahmutov/print-env GITHUB

- name: ⬇️ Checkout repo
uses: actions/checkout@v2
# Install NPM dependencies, cache them correctly
# and run all Cypress tests
- name: Cypress run
uses: cypress-io/github-action@v5
with:
record: true
spec: |
cypress/e2e/ta
env:
CYPRESS_BASE_URL: ${{ github.event.deployment_status.target_url }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
#
# Required Config
# Add CYPRESS_RECORD_KEY to github secrets
14 changes: 14 additions & 0 deletions .github/workflows/create-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Create Branch from Issue

on:
issues:
types: [assigned]

jobs:
create_issue_branch_job:
runs-on: ubuntu-latest
steps:
- name: Create Issue Branch
uses: robvanderleek/create-issue-branch@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 14 additions & 0 deletions .github/workflows/issue-autolink.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Issue Autolink'
on:
pull_request:
types: [opened]

jobs:
issue-links:
runs-on: ubuntu-latest
steps:
- uses: tkt-actions/[email protected]
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
branch-prefix: 'i'
resolve: 'true'
41 changes: 41 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Code Check
on:
push:
branches:
- main
pull_request: {}

concurrency:
group: ${{ github.job }}-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: ⬣ ESLint, ʦ TypeScript, and 💅 Prettier
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v2

- name: 🤌 Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8

- name: ⎔ Setup node
uses: actions/setup-node@v3
with:
node-version: 20
cache: 'pnpm'

- name: 📥 Download deps
run: pnpm install --frozen-lockfile

- name: 🔬 Lint
run: pnpm run lint:strict

- name: 🔎 Type check
run: pnpm run typecheck

- name: 💅 Prettier check
run: pnpm run format:check
17 changes: 17 additions & 0 deletions .github/workflows/purge-cache.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Purge Cache
on: [deployment_status]

concurrency:
group: ${{ github.job }}-${{ github.ref }}
cancel-in-progress: true

jobs:
purge-everything:
if: ${{ github.event.deployment_status.state == 'success' && github.event.deployment_status.environment == 'Production' }}
runs-on: ubuntu-latest
steps:
- name: Purge cache
uses: jakejarvis/cloudflare-purge-action@master
env:
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
13 changes: 13 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: release-please
on:
push:
branches:
- main
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
with:
release-type: node
package-name: release-please-action
49 changes: 49 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# vercel
.vercel

# next-sitemap
robots.txt
sitemap.xml

# cypress
cypress/videos
cypress/screenshots

# rss
rss.xml

# scripts
scripts/out
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit "$1"
4 changes: 4 additions & 0 deletions .husky/post-merge
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

pnpm install
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
40 changes: 40 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
.next
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local

# vercel
.vercel

# changelog
CHANGELOG.md

pnpm-lock.yaml
7 changes: 7 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
arrowParens: 'always',
singleQuote: true,
jsxSingleQuote: true,
tabWidth: 2,
semi: true,
};
Loading

0 comments on commit 72c4768

Please sign in to comment.