Skip to content
This repository was archived by the owner on Jan 2, 2022. It is now read-only.

Commit fb2a5b5

Browse files
committed
Initial commit
0 parents  commit fb2a5b5

File tree

13 files changed

+5226
-0
lines changed

13 files changed

+5226
-0
lines changed

.dependabot/config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 1
2+
3+
update_configs:
4+
- package_manager: 'javascript'
5+
directory: '/'
6+
update_schedule: 'live'
7+
automerged_updates:
8+
- match:
9+
dependency_type: 'all'
10+
update_type: 'semver:patch'

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
indent_style = tab
5+
indent_size = 2
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
11+
[*.yml]
12+
indent_style = space
13+
14+
[*.yaml]
15+
indent_style = space

.github/FUNDING.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: pizzafox
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/workflows/ci.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name: CI
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
name: Build
8+
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout git repository
13+
uses: actions/checkout@v1
14+
with:
15+
fetch-depth: 0
16+
- name: Setup Node.js for use with Actions
17+
uses: actions/setup-node@v1
18+
with:
19+
node-version: '12.14.1'
20+
- name: Install Yarn
21+
run: curl -o- -L https://yarnpkg.com/install.sh | bash
22+
- name: Get yarn cache
23+
id: yarn-cache
24+
run: echo "::set-output name=dir::$(yarn cache dir)"
25+
- name: Cache dependencies
26+
uses: actions/cache@v1
27+
with:
28+
path: ${{ steps.yarn-cache.outputs.dir }}
29+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
30+
restore-keys: |
31+
${{ runner.os }}-yarn-
32+
- name: Install dependencies with Yarn
33+
run: yarn install
34+
- name: Compile TypeScript
35+
run: yarn run build
36+
- name: Upload compiled TypeScript
37+
uses: actions/upload-artifact@v1
38+
with:
39+
name: tsc_output
40+
path: tsc_output
41+
lint:
42+
name: Lint
43+
44+
runs-on: ubuntu-latest
45+
46+
steps:
47+
- name: Checkout git repository
48+
uses: actions/checkout@v1
49+
with:
50+
fetch-depth: 0
51+
- name: Setup Node.js for use with Actions
52+
uses: actions/setup-node@v1
53+
with:
54+
node-version: '12.14.1'
55+
- name: Install Yarn
56+
run: curl -o- -L https://yarnpkg.com/install.sh | bash
57+
- name: Get yarn cache
58+
id: yarn-cache
59+
run: echo "::set-output name=dir::$(yarn cache dir)"
60+
- name: Cache dependencies
61+
uses: actions/cache@v1
62+
with:
63+
path: ${{ steps.yarn-cache.outputs.dir }}
64+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
65+
restore-keys: |
66+
${{ runner.os }}-yarn-
67+
- name: Install dependencies with Yarn
68+
run: yarn install
69+
- name: Lint with XO
70+
run: yarn run xo
71+
style:
72+
name: Check style
73+
74+
runs-on: ubuntu-latest
75+
76+
steps:
77+
- name: Checkout git repository
78+
uses: actions/checkout@v1
79+
with:
80+
fetch-depth: 0
81+
- name: Setup Node.js for use with Actions
82+
uses: actions/setup-node@v1
83+
with:
84+
node-version: '12.14.1'
85+
- name: Install Yarn
86+
run: curl -o- -L https://yarnpkg.com/install.sh | bash
87+
- name: Get yarn cache
88+
id: yarn-cache
89+
run: echo "::set-output name=dir::$(yarn cache dir)"
90+
- name: Cache dependencies
91+
uses: actions/cache@v1
92+
with:
93+
path: ${{ steps.yarn-cache.outputs.dir }}
94+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
95+
restore-keys: |
96+
${{ runner.os }}-yarn-
97+
- name: Install dependencies with Yarn
98+
run: yarn install
99+
- name: Check style with Prettier
100+
run: yarn run style
101+
test:
102+
name: Run unit tests
103+
104+
runs-on: ubuntu-latest
105+
106+
steps:
107+
- name: Checkout git repository
108+
uses: actions/checkout@v1
109+
with:
110+
fetch-depth: 0
111+
- name: Setup Node.js for use with Actions
112+
uses: actions/setup-node@v1
113+
with:
114+
node-version: '12.14.1'
115+
- name: Install Yarn
116+
run: curl -o- -L https://yarnpkg.com/install.sh | bash
117+
- name: Get yarn cache
118+
id: yarn-cache
119+
run: echo "::set-output name=dir::$(yarn cache dir)"
120+
- name: Cache dependencies
121+
uses: actions/cache@v1
122+
with:
123+
path: ${{ steps.yarn-cache.outputs.dir }}
124+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
125+
restore-keys: |
126+
${{ runner.os }}-yarn-
127+
- name: Install dependencies with Yarn
128+
run: yarn install
129+
- name: Run tests
130+
run: yarn run test
131+
- name: Submit test coverage
132+
uses: codecov/codecov-action@v1
133+
with:
134+
token: ${{ secrets.CODECOV_TOKEN }}

.gitignore

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
2+
# Created by https://www.gitignore.io/api/node,linux,macos,windows,visualstudiocode
3+
# Edit at https://www.gitignore.io/?templates=node,linux,macos,windows,visualstudiocode
4+
5+
### Linux ###
6+
*~
7+
8+
# temporary files which can be created if a process still has a handle open of a deleted file
9+
.fuse_hidden*
10+
11+
# KDE directory preferences
12+
.directory
13+
14+
# Linux trash folder which might appear on any partition or disk
15+
.Trash-*
16+
17+
# .nfs files are created when an open file is removed but is still being accessed
18+
.nfs*
19+
20+
### macOS ###
21+
# General
22+
.DS_Store
23+
.AppleDouble
24+
.LSOverride
25+
26+
# Icon must end with two \r
27+
Icon
28+
29+
# Thumbnails
30+
._*
31+
32+
# Files that might appear in the root of a volume
33+
.DocumentRevisions-V100
34+
.fseventsd
35+
.Spotlight-V100
36+
.TemporaryItems
37+
.Trashes
38+
.VolumeIcon.icns
39+
.com.apple.timemachine.donotpresent
40+
41+
# Directories potentially created on remote AFP share
42+
.AppleDB
43+
.AppleDesktop
44+
Network Trash Folder
45+
Temporary Items
46+
.apdisk
47+
48+
### Node ###
49+
# Logs
50+
logs
51+
*.log
52+
npm-debug.log*
53+
yarn-debug.log*
54+
yarn-error.log*
55+
lerna-debug.log*
56+
57+
# Diagnostic reports (https://nodejs.org/api/report.html)
58+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
59+
60+
# Runtime data
61+
pids
62+
*.pid
63+
*.seed
64+
*.pid.lock
65+
66+
# Directory for instrumented libs generated by jscoverage/JSCover
67+
lib-cov
68+
69+
# Coverage directory used by tools like istanbul
70+
coverage
71+
*.lcov
72+
73+
# nyc test coverage
74+
.nyc_output
75+
76+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
77+
.grunt
78+
79+
# Bower dependency directory (https://bower.io/)
80+
bower_components
81+
82+
# node-waf configuration
83+
.lock-wscript
84+
85+
# Compiled binary addons (https://nodejs.org/api/addons.html)
86+
build/Release
87+
88+
# Dependency directories
89+
node_modules/
90+
jspm_packages/
91+
92+
# TypeScript v1 declaration files
93+
typings/
94+
95+
# TypeScript cache
96+
*.tsbuildinfo
97+
98+
# Optional npm cache directory
99+
.npm
100+
101+
# Optional eslint cache
102+
.eslintcache
103+
104+
# Optional REPL history
105+
.node_repl_history
106+
107+
# Output of 'npm pack'
108+
*.tgz
109+
110+
# Yarn Integrity file
111+
.yarn-integrity
112+
113+
# dotenv environment variables file
114+
.env
115+
.env.test
116+
117+
# parcel-bundler cache (https://parceljs.org/)
118+
.cache
119+
120+
# next.js build output
121+
.next
122+
123+
# nuxt.js build output
124+
.nuxt
125+
126+
# react / gatsby
127+
public/
128+
129+
# vuepress build output
130+
.vuepress/dist
131+
132+
# Serverless directories
133+
.serverless/
134+
135+
# FuseBox cache
136+
.fusebox/
137+
138+
# DynamoDB Local files
139+
.dynamodb/
140+
141+
### VisualStudioCode ###
142+
.vscode/*
143+
!.vscode/settings.json
144+
!.vscode/tasks.json
145+
!.vscode/launch.json
146+
!.vscode/extensions.json
147+
148+
### VisualStudioCode Patch ###
149+
# Ignore all local history of files
150+
.history
151+
152+
### Windows ###
153+
# Windows thumbnail cache files
154+
Thumbs.db
155+
Thumbs.db:encryptable
156+
ehthumbs.db
157+
ehthumbs_vista.db
158+
159+
# Dump file
160+
*.stackdump
161+
162+
# Folder config file
163+
[Dd]esktop.ini
164+
165+
# Recycle Bin used on file shares
166+
$RECYCLE.BIN/
167+
168+
# Windows Installer files
169+
*.cab
170+
*.msi
171+
*.msix
172+
*.msm
173+
*.msp
174+
175+
# Windows shortcuts
176+
*.lnk
177+
178+
# End of https://www.gitignore.io/api/node,linux,macos,windows,visualstudiocode
179+
180+
# TypeScript compiler output
181+
tsc_output

.prettierrc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"arrowParens": "avoid",
3+
"bracketSpacing": false,
4+
"endOfLine": "lf",
5+
"jsxBracketSameLine": false,
6+
"jsxSingleQuote": true,
7+
"printWidth": 120,
8+
"semi": true,
9+
"singleQuote": true,
10+
"tabWidth": 2,
11+
"trailingComma": "none",
12+
"useTabs": true
13+
}

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"editor.codeActionsOnSave": {
3+
"source.organizeImports": false
4+
},
5+
"typescript.tsdk": "node_modules\\typescript\\lib"
6+
}

0 commit comments

Comments
 (0)