Skip to content

Commit 1d86fcc

Browse files
committed
init
0 parents  commit 1d86fcc

File tree

11 files changed

+5600
-0
lines changed

11 files changed

+5600
-0
lines changed

.githooks/pre-commit

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
npx --no-install lint-staged

.github/release.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- 'Type: Meta'
5+
- 'Type: Question'
6+
- 'Type: Release'
7+
8+
categories:
9+
- title: Security Fixes
10+
labels: ['Type: Security']
11+
- title: Breaking Changes
12+
labels: ['Type: Breaking Change']
13+
- title: Features
14+
labels: ['Type: Feature']
15+
- title: Bug Fixes
16+
labels: ['Type: Bug']
17+
- title: Documentation
18+
labels: ['Type: Documentation']
19+
- title: Refactoring
20+
labels: ['Type: Refactoring']
21+
- title: Testing
22+
labels: ['Type: Testing']
23+
- title: Maintenance
24+
labels: ['Type: Maintenance']
25+
- title: CI
26+
labels: ['Type: CI']
27+
- title: Dependency Updates
28+
labels: ['Type: Dependencies', "dependencies"]
29+
- title: Other Changes
30+
labels: ['*']

.github/workflows/test.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: test
2+
on: [push, pull_request]
3+
permissions:
4+
contents: read
5+
jobs:
6+
test:
7+
name: "Test on Node.js ${{ matrix.node-version }}"
8+
runs-on: ubuntu-latest
9+
strategy:
10+
matrix:
11+
node-version: [20,22]
12+
steps:
13+
- name: checkout
14+
uses: actions/checkout@v4
15+
- name: setup Node.js ${{ matrix.node-version }}
16+
uses: actions/setup-node@v4
17+
with:
18+
cache: "npm"
19+
node-version: ${{ matrix.node-version }}
20+
- name: Install
21+
run: npm ci
22+
- name: Test
23+
run: npm test

.gitignore

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
### Generated by gibo (https://github.com/simonwhitaker/gibo)
2+
### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Node.gitignore
3+
4+
# Logs
5+
logs
6+
*.log
7+
npm-debug.log*
8+
yarn-debug.log*
9+
yarn-error.log*
10+
lerna-debug.log*
11+
.pnpm-debug.log*
12+
13+
# Diagnostic reports (https://nodejs.org/api/report.html)
14+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15+
16+
# Runtime data
17+
pids
18+
*.pid
19+
*.seed
20+
*.pid.lock
21+
22+
# Directory for instrumented libs generated by jscoverage/JSCover
23+
lib-cov
24+
25+
# Coverage directory used by tools like istanbul
26+
coverage
27+
*.lcov
28+
29+
# nyc test coverage
30+
.nyc_output
31+
32+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33+
.grunt
34+
35+
# Bower dependency directory (https://bower.io/)
36+
bower_components
37+
38+
# node-waf configuration
39+
.lock-wscript
40+
41+
# Compiled binary addons (https://nodejs.org/api/addons.html)
42+
build/Release
43+
44+
# Dependency directories
45+
node_modules/
46+
jspm_packages/
47+
48+
# Snowpack dependency directory (https://snowpack.dev/)
49+
web_modules/
50+
51+
# TypeScript cache
52+
*.tsbuildinfo
53+
54+
# Optional npm cache directory
55+
.npm
56+
57+
# Optional eslint cache
58+
.eslintcache
59+
60+
# Optional stylelint cache
61+
.stylelintcache
62+
63+
# Microbundle cache
64+
.rpt2_cache/
65+
.rts2_cache_cjs/
66+
.rts2_cache_es/
67+
.rts2_cache_umd/
68+
69+
# Optional REPL history
70+
.node_repl_history
71+
72+
# Output of 'npm pack'
73+
*.tgz
74+
75+
# Yarn Integrity file
76+
.yarn-integrity
77+
78+
# dotenv environment variable files
79+
.env
80+
.env.development.local
81+
.env.test.local
82+
.env.production.local
83+
.env.local
84+
85+
# parcel-bundler cache (https://parceljs.org/)
86+
.cache
87+
.parcel-cache
88+
89+
# Next.js build output
90+
.next
91+
out
92+
93+
# Nuxt.js build / generate output
94+
.nuxt
95+
dist
96+
97+
# Gatsby files
98+
.cache/
99+
# Comment in the public line in if your project uses Gatsby and not Next.js
100+
# https://nextjs.org/blog/next-9-1#public-directory-support
101+
# public
102+
103+
# vuepress build output
104+
.vuepress/dist
105+
106+
# vuepress v2.x temp and cache directory
107+
.temp
108+
.cache
109+
110+
# Docusaurus cache and generated files
111+
.docusaurus
112+
113+
# Serverless directories
114+
.serverless/
115+
116+
# FuseBox cache
117+
.fusebox/
118+
119+
# DynamoDB Local files
120+
.dynamodb/
121+
122+
# TernJS port file
123+
.tern-port
124+
125+
# Stores VSCode versions used for testing VSCode extensions
126+
.vscode-test
127+
128+
# yarn v2
129+
.yarn/cache
130+
.yarn/unplugged
131+
.yarn/build-state.yml
132+
.yarn/install-state.gz
133+
.pnp.*
134+
### Generated by gibo (https://github.com/simonwhitaker/gibo)
135+
### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Global/JetBrains.gitignore
136+
137+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
138+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
139+
140+
# User-specific stuff
141+
.idea/**/workspace.xml
142+
.idea/**/tasks.xml
143+
.idea/**/usage.statistics.xml
144+
.idea/**/dictionaries
145+
.idea/**/shelf
146+
147+
# AWS User-specific
148+
.idea/**/aws.xml
149+
150+
# Generated files
151+
.idea/**/contentModel.xml
152+
153+
# Sensitive or high-churn files
154+
.idea/**/dataSources/
155+
.idea/**/dataSources.ids
156+
.idea/**/dataSources.local.xml
157+
.idea/**/sqlDataSources.xml
158+
.idea/**/dynamic.xml
159+
.idea/**/uiDesigner.xml
160+
.idea/**/dbnavigator.xml
161+
162+
# Gradle
163+
.idea/**/gradle.xml
164+
.idea/**/libraries
165+
166+
# Gradle and Maven with auto-import
167+
# When using Gradle or Maven with auto-import, you should exclude module files,
168+
# since they will be recreated, and may cause churn. Uncomment if using
169+
# auto-import.
170+
# .idea/artifacts
171+
# .idea/compiler.xml
172+
# .idea/jarRepositories.xml
173+
# .idea/modules.xml
174+
# .idea/*.iml
175+
# .idea/modules
176+
# *.iml
177+
# *.ipr
178+
179+
# CMake
180+
cmake-build-*/
181+
182+
# Mongo Explorer plugin
183+
.idea/**/mongoSettings.xml
184+
185+
# File-based project format
186+
*.iws
187+
188+
# IntelliJ
189+
out/
190+
191+
# mpeltonen/sbt-idea plugin
192+
.idea_modules/
193+
194+
# JIRA plugin
195+
atlassian-ide-plugin.xml
196+
197+
# Cursive Clojure plugin
198+
.idea/replstate.xml
199+
200+
# SonarLint plugin
201+
.idea/sonarlint/
202+
203+
# Crashlytics plugin (for Android Studio and IntelliJ)
204+
com_crashlytics_export_strings.xml
205+
crashlytics.properties
206+
crashlytics-build.properties
207+
fabric.properties
208+
209+
# Editor-based Rest Client
210+
.idea/httpRequests
211+
212+
# Android studio 3.1+ serialized cache file
213+
.idea/caches/build_file_checksums.ser
214+
### Generated by gibo (https://github.com/simonwhitaker/gibo)
215+
### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Global/VisualStudioCode.gitignore
216+
217+
.vscode/*
218+
!.vscode/settings.json
219+
!.vscode/tasks.json
220+
!.vscode/launch.json
221+
!.vscode/extensions.json
222+
!.vscode/*.code-snippets
223+
224+
# Local History for Visual Studio Code
225+
.history/
226+
227+
# Built Visual Studio Code Extensions
228+
*.vsix
229+
# Build files
230+
/lib
231+
/module

LICENSE

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

0 commit comments

Comments
 (0)