Skip to content

Commit c0f0af9

Browse files
committed
Initial commit
0 parents  commit c0f0af9

31 files changed

+14438
-0
lines changed

.editorconfig

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 2
7+
indent_style = space
8+
insert_final_newline = true
9+
max_line_length = 100
10+
trim_trailing_whitespace = true
11+
12+
[COMMIT_EDITMSG]
13+
max_line_length = 72

.eslintrc.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
root: true
2+
extends: remcohaszing
3+
rules:
4+
'@typescript-eslint/no-invalid-void-type': off
5+
'@typescript-eslint/no-namespace': off
6+
'@typescript-eslint/no-redeclare': off
7+
import/no-extraneous-dependencies: off

.github/workflows/ci.yaml

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: ci
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: [main]
7+
tags: ['*']
8+
9+
jobs:
10+
eslint:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-node@v4
15+
with:
16+
node-version: 22
17+
- run: npm ci
18+
- run: npx eslint .
19+
20+
pack:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: actions/setup-node@v4
25+
with:
26+
node-version: 22
27+
- run: npm ci
28+
- run: npm pack
29+
- uses: actions/upload-artifact@v4
30+
with:
31+
name: package
32+
path: '*.tgz'
33+
34+
prettier:
35+
runs-on: ubuntu-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: actions/setup-node@v4
39+
with:
40+
node-version: 22
41+
- run: npm ci
42+
- run: npx prettier --check .
43+
44+
remark:
45+
runs-on: ubuntu-latest
46+
steps:
47+
- uses: actions/checkout@v4
48+
- uses: actions/setup-node@v4
49+
with:
50+
node-version: 22
51+
- run: npm ci
52+
- run: npx remark --frail .
53+
54+
test:
55+
runs-on: ubuntu-latest
56+
steps:
57+
- uses: actions/checkout@v4
58+
- uses: actions/setup-node@v4
59+
with:
60+
node-version: 22
61+
- run: npm ci
62+
- run: npx playwright install --with-deps chromium
63+
- run: npm test
64+
- uses: codecov/codecov-action@v4
65+
66+
release:
67+
runs-on: ubuntu-latest
68+
needs:
69+
- eslint
70+
- pack
71+
- prettier
72+
- remark
73+
- test
74+
if: startsWith(github.ref, 'refs/tags/')
75+
permissions:
76+
id-token: write
77+
steps:
78+
- uses: actions/setup-node@v4
79+
with:
80+
node-version: 22
81+
registry-url: https://registry.npmjs.org
82+
- uses: actions/download-artifact@v4
83+
with: { name: package }
84+
- run: npm publish *.tgz --provenance --access public
85+
env:
86+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
__screenshots__/
2+
coverage/
3+
dist/
4+
node_modules/
5+
*.tsbuildinfo

.prettierrc.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
proseWrap: always
2+
semi: false
3+
singleQuote: true
4+
trailingComma: none

.remarkrc.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
plugins:
2+
- remark-preset-remcohaszing

LICENSE.md

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

0 commit comments

Comments
 (0)