Skip to content

Commit 14723c3

Browse files
authored
Initial commit
0 parents  commit 14723c3

26 files changed

+24374
-0
lines changed

.env

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Local env vars for debugging
2+
TS_NODE_IGNORE="false"
3+
TS_NODE_FILES="true"

.eslintignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
src/types/global.d.ts

.eslintrc.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
module.exports = {
2+
root: true,
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint', 'node', 'prettier'],
5+
parserOptions: {
6+
tsconfigRootDir: __dirname,
7+
project: ['./tsconfig.json'],
8+
},
9+
extends: [
10+
'eslint:recommended',
11+
'plugin:node/recommended',
12+
'plugin:@typescript-eslint/eslint-recommended',
13+
'plugin:@typescript-eslint/recommended',
14+
'plugin:@typescript-eslint/recommended-requiring-type-checking',
15+
'plugin:prettier/recommended',
16+
],
17+
rules: {
18+
'prettier/prettier': 'warn',
19+
'node/no-missing-import': 'off',
20+
'node/no-empty-function': 'off',
21+
'node/no-unsupported-features/es-syntax': 'off',
22+
'node/no-missing-require': 'off',
23+
'node/shebang': 'off',
24+
'@typescript-eslint/no-use-before-define': 'off',
25+
quotes: ['warn', 'single', { avoidEscape: true }],
26+
'node/no-unpublished-import': 'off',
27+
'@typescript-eslint/no-unsafe-assignment': 'off',
28+
'@typescript-eslint/no-var-requires': 'off',
29+
'@typescript-eslint/ban-ts-comment': 'off',
30+
'@typescript-eslint/no-explicit-any': 'off',
31+
},
32+
};

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Set the repository to show as TypeScript rather than JS in GitHub
2+
*.js linguist-detectable=false

.github/ISSUE_TEMPLATE/bug_report.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: "🐛 Bug Report"
3+
about: Report a reproducible bug or regression.
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## Current Behavior
11+
12+
<!-- Describe how the issue manifests. -->
13+
14+
## Expected Behavior
15+
16+
<!-- Describe what the desired behavior would be. -->
17+
18+
## Steps to Reproduce the Problem
19+
20+
1.
21+
1.
22+
1.
23+
24+
## Environment
25+
26+
- Version: <!-- Version set in package.json -->
27+
- Platform: <!-- Win/Mac/Linux -->
28+
- Node.js Version: <!-- Output of running `node -v` -->
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: 🌈 Feature request
3+
about: Suggest an amazing new idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
## Feature Request
11+
12+
**Is your feature request related to a problem? Please describe.**
13+
<!-- A clear and concise description of what the problem is. Ex. I have an issue when [...] -->
14+
15+
**Describe the solution you'd like**
16+
<!-- A clear and concise description of what you want to happen. Add any considered drawbacks. -->
17+
18+
**Describe alternatives you've considered**
19+
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
20+
21+
## Are you willing to resolve this issue by submitting a Pull Request?
22+
23+
<!--
24+
Remember that first-time contributors are welcome! 🙌
25+
-->
26+
27+
- [ ] Yes, I have the time, and I know how to start.
28+
- [ ] Yes, I have the time, but I don't know how to start. I would need guidance.
29+
- [ ] No, I don't have the time, although I believe I could do it if I had the time...
30+
- [ ] No, I don't have the time and I wouldn't even know how to start.
31+
32+
<!--
33+
👋 Have a great day and thank you for the feature request!
34+
-->

.github/PULL_REQUEST_TEMPLATE.md

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!--
2+
😀 Wonderful! Thank you for opening a pull request.
3+
4+
Please fill in the information below to expedite the review
5+
and (hopefully) merge of your change.
6+
-->
7+
8+
### Description of change
9+
10+
<!--
11+
Please be clear and concise what the change is intended to do,
12+
why this change is needed, and how you've verified that it
13+
corrects what you intended.
14+
15+
In some cases it may be helpful to include the current behavior
16+
and the new behavior.
17+
18+
If the change is related to an open issue, you can link it here.
19+
If you include `Fixes #0000` (replacing `0000` with the issue number)
20+
when this is merged it will automatically mark the issue as fixed and
21+
close it.
22+
-->
23+
24+
### Pull-Request Checklist
25+
26+
<!--
27+
Please make sure to review and check all of the following.
28+
29+
If an item is not applicable, you can add "N/A" to the end.
30+
-->
31+
32+
- [ ] Code is up-to-date with the `main` branch
33+
- [ ] `npm run lint` passes with this change
34+
- [ ] `npm run test` passes with this change
35+
- [ ] This pull request links relevant issues as `Fixes #0000`
36+
- [ ] There are new or updated unit tests validating the change
37+
- [ ] Documentation has been updated to reflect this change
38+
- [ ] The new commits follow conventions outlined in the [conventional commit spec](https://www.conventionalcommits.org/en/v1.0.0/)
39+
40+
<!--
41+
🎉 Thank you for contributing!
42+
-->

.github/workflows/codeql-analysis.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Reusable workflow for code analysis; to eject, you can replace this file with
2+
# https://github.com/ryansonshine/ryansonshine/blob/main/.github/workflows/codeql-analysis.yml
3+
name: "CodeQL"
4+
5+
permissions:
6+
security-events: write
7+
actions: read
8+
contents: read
9+
10+
on:
11+
push:
12+
branches: [main]
13+
pull_request:
14+
# The branches below must be a subset of the branches above
15+
branches: [main]
16+
schedule:
17+
- cron: "36 7 * * 6"
18+
19+
jobs:
20+
analyze:
21+
uses: ryansonshine/ryansonshine/.github/workflows/codeql-analysis.yml@main

.github/workflows/pr.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Reusable workflow for PRs; to eject, you can replace this file with
2+
# https://github.com/ryansonshine/ryansonshine/blob/main/.github/workflows/pr.yml
3+
name: Pull Request
4+
5+
on: [pull_request]
6+
7+
jobs:
8+
build:
9+
uses: ryansonshine/ryansonshine/.github/workflows/pr.yml@main

.github/workflows/release.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Reusable workflow for releases; to eject, you can replace this file with
2+
# https://github.com/ryansonshine/ryansonshine/blob/main/.github/workflows/release.yml
3+
name: Release
4+
on:
5+
push:
6+
branches:
7+
- main
8+
jobs:
9+
release:
10+
permissions:
11+
contents: write
12+
issues: write
13+
pull-requests: write
14+
uses: ryansonshine/ryansonshine/.github/workflows/release.yml@main
15+
secrets:
16+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

.gitignore

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
9+
# Diagnostic reports (https://nodejs.org/api/report.html)
10+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11+
12+
# Runtime data
13+
pids
14+
*.pid
15+
*.seed
16+
*.pid.lock
17+
18+
# Directory for instrumented libs generated by jscoverage/JSCover
19+
lib-cov
20+
21+
# Coverage directory used by tools like istanbul
22+
coverage
23+
*.lcov
24+
25+
# nyc test coverage
26+
.nyc_output
27+
28+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29+
.grunt
30+
31+
# Bower dependency directory (https://bower.io/)
32+
bower_components
33+
34+
# node-waf configuration
35+
.lock-wscript
36+
37+
# Compiled binary addons (https://nodejs.org/api/addons.html)
38+
build/Release
39+
40+
# Dependency directories
41+
node_modules/
42+
jspm_packages/
43+
44+
# Snowpack dependency directory (https://snowpack.dev/)
45+
web_modules/
46+
47+
# TypeScript cache
48+
*.tsbuildinfo
49+
50+
# Optional npm cache directory
51+
.npm
52+
53+
# Optional eslint cache
54+
.eslintcache
55+
56+
# Microbundle cache
57+
.rpt2_cache/
58+
.rts2_cache_cjs/
59+
.rts2_cache_es/
60+
.rts2_cache_umd/
61+
62+
# Optional REPL history
63+
.node_repl_history
64+
65+
# Output of 'npm pack'
66+
*.tgz
67+
68+
# Yarn Integrity file
69+
.yarn-integrity
70+
71+
# dotenv environment variables file
72+
.env.test
73+
.env.local
74+
75+
# parcel-bundler cache (https://parceljs.org/)
76+
.cache
77+
.parcel-cache
78+
79+
# Next.js build output
80+
.next
81+
out
82+
83+
# Nuxt.js build / generate output
84+
.nuxt
85+
dist
86+
87+
# Gatsby files
88+
.cache/
89+
# Comment in the public line in if your project uses Gatsby and not Next.js
90+
# https://nextjs.org/blog/next-9-1#public-directory-support
91+
# public
92+
93+
# vuepress build output
94+
.vuepress/dist
95+
96+
# Serverless directories
97+
.serverless/
98+
99+
# FuseBox cache
100+
.fusebox/
101+
102+
# DynamoDB Local files
103+
.dynamodb/
104+
105+
# TernJS port file
106+
.tern-port
107+
108+
# Stores VSCode versions used for testing VSCode extensions
109+
.vscode-test
110+
111+
# yarn v2
112+
.yarn/cache
113+
.yarn/unplugged
114+
.yarn/build-state.yml
115+
.yarn/install-state.gz
116+
.pnp.*
117+
118+
# Compiled code
119+
lib/

.husky/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
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+
npx lint-staged

.husky/prepare-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+
exec </dev/tty && node_modules/.bin/cz --hook || true

.prettierrc

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"singleQuote": true,
3+
"trailingComma": "es5",
4+
"arrowParens": "avoid",
5+
"printWidth": 80
6+
}

.vscode/launch.json

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Current TS File",
9+
"type": "node",
10+
"request": "launch",
11+
"runtimeExecutable": "node",
12+
"args": ["${relativeFile}"],
13+
"runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"],
14+
"envFile": "${workspaceFolder}/.env",
15+
"cwd": "${workspaceRoot}",
16+
"internalConsoleOptions": "openOnSessionStart",
17+
"skipFiles": ["<node_internals>/**", "node_modules/**"]
18+
},
19+
{
20+
"name": "Debug Jest Tests",
21+
"type": "node",
22+
"request": "launch",
23+
"runtimeArgs": [
24+
"--inspect-brk",
25+
"${workspaceRoot}/node_modules/.bin/jest",
26+
"--runInBand"
27+
],
28+
"envFile": "${workspaceFolder}/.env",
29+
"console": "integratedTerminal",
30+
"internalConsoleOptions": "neverOpen",
31+
"port": 9229,
32+
"disableOptimisticBPs": true,
33+
"windows": {
34+
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
35+
}
36+
},
37+
{
38+
"name": "Debug Jest Current File",
39+
"type": "node",
40+
"request": "launch",
41+
"program": "${workspaceFolder}/node_modules/.bin/jest",
42+
"args": ["${relativeFile}", "--config", "jest.config.js"],
43+
"console": "integratedTerminal",
44+
"internalConsoleOptions": "neverOpen",
45+
"port": 9229,
46+
"disableOptimisticBPs": true,
47+
"windows": {
48+
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
49+
}
50+
}
51+
]
52+
}

.vscode/settings.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"editor.formatOnSave": true,
3+
"[typescript]": {
4+
"editor.defaultFormatter": "esbenp.prettier-vscode"
5+
}
6+
}

0 commit comments

Comments
 (0)