Skip to content

Commit 00a34dc

Browse files
svix-luchotasn
authored andcommitted
Initial commit
Signed-off-by: Tom Hacohen <tom@stosb.com>
0 parents  commit 00a34dc

File tree

139 files changed

+13624
-0
lines changed

Some content is hidden

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

139 files changed

+13624
-0
lines changed

.eslintrc.js

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
module.exports = {
2+
env: {
3+
"shared-node-browser": true,
4+
es6: true,
5+
},
6+
ignorePatterns: ["**/generated/**", "**/*.stories.tsx", "**/*.test.*"],
7+
parser: "@typescript-eslint/parser",
8+
parserOptions: {
9+
project: ["./tsconfig.json"],
10+
sourceType: "module",
11+
ecmaFeatures: {
12+
jsx: true,
13+
},
14+
},
15+
settings: {
16+
react: {
17+
version: "detect",
18+
},
19+
},
20+
plugins: ["@typescript-eslint", "react-hooks"],
21+
extends: [
22+
"eslint:recommended",
23+
"plugin:react/recommended",
24+
"plugin:@typescript-eslint/eslint-recommended",
25+
"plugin:@typescript-eslint/recommended",
26+
"plugin:@next/next/recommended",
27+
],
28+
rules: {
29+
"@typescript-eslint/explicit-function-return-type": "off",
30+
"@typescript-eslint/no-use-before-define": "off",
31+
"@typescript-eslint/no-unnecessary-condition": 1,
32+
"@typescript-eslint/no-non-null-assertion": "off",
33+
"@typescript-eslint/no-explicit-any": "off",
34+
"@typescript-eslint/explicit-module-boundary-types": "off",
35+
"@typescript-eslint/member-delimiter-style": [
36+
"error",
37+
{
38+
multiline: {
39+
delimiter: "semi",
40+
requireLast: true,
41+
},
42+
singleline: {
43+
delimiter: "semi",
44+
requireLast: false,
45+
},
46+
},
47+
],
48+
"@typescript-eslint/no-unused-vars": [
49+
"warn",
50+
{
51+
vars: "all",
52+
args: "all",
53+
ignoreRestSiblings: true,
54+
argsIgnorePattern: "^_",
55+
varsIgnorePattern: "^_",
56+
},
57+
],
58+
59+
"react/display-name": "off",
60+
"react/no-unescaped-entities": "off",
61+
"react/jsx-tag-spacing": [
62+
"error",
63+
{
64+
closingSlash: "never",
65+
beforeSelfClosing: "always",
66+
afterOpening: "never",
67+
beforeClosing: "never",
68+
},
69+
],
70+
"react/jsx-boolean-value": ["error", "never"],
71+
"react/jsx-curly-spacing": ["error", { when: "never", children: true }],
72+
"react/jsx-equals-spacing": ["error", "never"],
73+
"react/jsx-indent-props": 0,
74+
"react/jsx-curly-brace-presence": ["error", "never"],
75+
"react/jsx-key": ["error", { checkFragmentShorthand: true }],
76+
"react/jsx-indent": 0,
77+
"react/void-dom-elements-no-children": ["error"],
78+
"react/no-unknown-property": ["error"],
79+
"react/react-in-jsx-scope": "off",
80+
"react-hooks/rules-of-hooks": "error",
81+
"react-hooks/exhaustive-deps": "warn",
82+
83+
quotes: "off",
84+
"@typescript-eslint/quotes": [
85+
"error",
86+
"double",
87+
{ allowTemplateLiterals: true, avoidEscape: true },
88+
],
89+
semi: "off",
90+
"@typescript-eslint/semi": ["error", "always", { omitLastInOneLineBlock: true }],
91+
"comma-dangle": [
92+
"error",
93+
{
94+
arrays: "always-multiline",
95+
objects: "always-multiline",
96+
imports: "always-multiline",
97+
exports: "always-multiline",
98+
functions: "never",
99+
},
100+
],
101+
"comma-spacing": ["error"],
102+
eqeqeq: ["error", "smart"],
103+
indent: "off",
104+
"@typescript-eslint/indent": 0,
105+
"no-multi-spaces": "error",
106+
"object-curly-spacing": ["error", "always"],
107+
"arrow-parens": "error",
108+
"arrow-spacing": "error",
109+
"key-spacing": "error",
110+
"keyword-spacing": "error",
111+
"func-call-spacing": "off",
112+
"@typescript-eslint/func-call-spacing": ["error"],
113+
"space-before-function-paren": [
114+
"error",
115+
{
116+
anonymous: "always",
117+
named: "never",
118+
asyncArrow: "always",
119+
},
120+
],
121+
"space-in-parens": ["error", "never"],
122+
"space-before-blocks": "error",
123+
curly: ["error", "all"],
124+
"space-infix-ops": "error",
125+
"consistent-return": "error",
126+
"jsx-quotes": ["error"],
127+
"array-bracket-spacing": "error",
128+
"brace-style": "off",
129+
"@typescript-eslint/brace-style": ["error", "1tbs", { allowSingleLine: true }],
130+
"no-useless-constructor": "off",
131+
"@typescript-eslint/strict-boolean-expressions": [
132+
"warn",
133+
{
134+
allowAny: true,
135+
allowNullableBoolean: true,
136+
allowNullableString: true,
137+
allowString: true,
138+
allowNullableObject: true,
139+
},
140+
],
141+
"@typescript-eslint/no-useless-constructor": "warn",
142+
},
143+
};

.gitignore

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
# testing
9+
/coverage
10+
11+
# next.js
12+
/.next/
13+
/out/
14+
15+
# production
16+
/build
17+
18+
# misc
19+
.DS_Store
20+
*.pem
21+
22+
# debug
23+
npm-debug.log*
24+
yarn-debug.log*
25+
yarn-error.log*
26+
.pnpm-debug.log*
27+
28+
# local env files
29+
.env*.local
30+
31+
# vercel
32+
.vercel
33+
34+
# typescript
35+
*.tsbuildinfo
36+
next-env.d.ts

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
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).
2+
3+
## Getting Started
4+
5+
First, run the development server:
6+
7+
```bash
8+
npm run dev
9+
# or
10+
yarn dev
11+
# or
12+
pnpm dev
13+
```
14+
15+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
16+
17+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
18+
19+
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
20+
21+
## Learn More
22+
23+
To learn more about Next.js, take a look at the following resources:
24+
25+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
26+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
27+
28+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
29+
30+
## Deploy on Vercel
31+
32+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
33+
34+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

next.config.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/** @type {import('next').NextConfig} */
2+
const removeImports = require("next-remove-imports")();
3+
module.exports = removeImports({
4+
experimental: { esmExternals: true },
5+
async redirects() {
6+
return [
7+
{
8+
source: '/debugger/:path*',
9+
destination: '/verify/:path*',
10+
permanent: true,
11+
},
12+
{
13+
source: '/curl/:path*',
14+
destination: '/simulate/:path*',
15+
permanent: true,
16+
},
17+
{
18+
source: '/build/:path*',
19+
destination: '/simulate/:path*',
20+
permanent: true,
21+
},
22+
{
23+
source: '/verify/standard',
24+
destination: '/verify',
25+
permanent: true,
26+
},
27+
{
28+
source: '/simulate/standard',
29+
destination: '/simulate',
30+
permanent: true,
31+
},
32+
];
33+
}
34+
});

package.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"name": "standard-webhooks",
3+
"version": "0.1.0",
4+
"private": true,
5+
"scripts": {
6+
"dev": "next dev",
7+
"build": "next build",
8+
"start": "next start",
9+
"lint:eslint": "eslint --ext .js,.jsx,.ts,.tsx src",
10+
"lint": "prettier src --check && yarn run lint:eslint --max-warnings=0",
11+
"lint:fix": "prettier src --write && yarn run lint:eslint --fix"
12+
},
13+
"dependencies": {
14+
"@chakra-ui/icons": "^2.0.19",
15+
"@chakra-ui/next-js": "^2.1.3",
16+
"@chakra-ui/react": "^2.6.1",
17+
"@codemirror/lang-json": "^6.0.1",
18+
"@emotion/react": "^11.11.0",
19+
"@emotion/styled": "^11.11.0",
20+
"@fontsource/merriweather": "^5.0.2",
21+
"@types/node": "20.2.3",
22+
"@types/react": "18.2.6",
23+
"@types/react-dom": "18.2.4",
24+
"@uiw/codemirror-themes": "^4.20.2",
25+
"@uiw/react-codemirror": "^4.20.2",
26+
"framer-motion": "^10.12.12",
27+
"next": "13.4.3",
28+
"next-remove-imports": "^1.0.11",
29+
"react": "18.2.0",
30+
"react-dom": "18.2.0",
31+
"react-hook-form": "^7.43.9",
32+
"react-icons": "^4.10.1",
33+
"svix": "^0.85.1"
34+
},
35+
"devDependencies": {
36+
"@next/eslint-plugin-next": "^13.4.4",
37+
"@typescript-eslint/eslint-plugin": "^5.59.7",
38+
"@typescript-eslint/parser": "^5.59.7",
39+
"autoprefixer": "^10.4.15",
40+
"eslint": "^8.41.0",
41+
"eslint-config-next": "13.4.3",
42+
"postcss": "^8.4.29",
43+
"prettier": "2.4.1",
44+
"tailwindcss": "^3.3.3",
45+
"typescript": "^5.0.4"
46+
},
47+
"main": "index.js",
48+
"author": "svix-lucho <lucho@svix.com>",
49+
"license": "MIT"
50+
}

postcss.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
}

public/logo192.png

21.7 KB
Loading

public/logo512.png

40.8 KB
Loading

public/next.svg

Lines changed: 1 addition & 0 deletions
Loading

public/vercel.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)