Skip to content

Commit 71e498f

Browse files
authored
Initial commit
0 parents  commit 71e498f

34 files changed

+4183
-0
lines changed

.editorconfig

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Unix-style newlines with a newline ending every file
7+
[*]
8+
end_of_line = lf
9+
insert_final_newline = true
10+
charset = utf-8
11+
12+
[*.{html,xml,svg,js,css,php}]
13+
indent_style = tab
14+
trim_trailing_whitespace = true
15+
max_line_length = 80
16+
17+
[*.{md,markdown,yml,json}]
18+
indent_style = space
19+
indent_size = 2
20+
21+
[*.{yml,json}]
22+
trim_trailing_whitespace = true
23+
24+
[*.{md,markdown}]
25+
trim_trailing_whitespace = false
26+
27+
[*.{js,php}]
28+
quote_type = single
29+
spaces_around_operators = true
30+
spaces_around_brackets = true
31+
32+
[*.{html,xml,svg,css}]
33+
quote_type = double

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @shgysk8zer0

.github/CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq)

.github/CONTRIBUTING.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Contributing to the project
2+
3+
Due to Content-Security-Policy, use of `eval` and inline scripts are **prohibited**.
4+
Further, this project uses [native JavaScript modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/),
5+
so be sure to familiarize yourself with the syntax. It also uses [classes](https://hacks.mozilla.org/2015/07/es6-in-depth-classes/)
6+
and many other [ES6](https://hacks.mozilla.org/category/es6-in-depth/) features,
7+
so you should be familiar with them.
8+
9+
## Issues
10+
`ISSUE_TEMPALTE.md` will be used to pre-fill any issues created. Logs and detailed
11+
descriptions are extremely helpful and may be required. **DO NOT** report any
12+
issues relating to browser compatibility. Only modern browsers are supported, and
13+
it is your responsibility to deal with vendor prefixes and polyfills. The included
14+
polyfills are deprecated and will be moved to another repository. I suggest that
15+
you look into [Polyfill.io](https://polyfill.io).
16+
17+
## Pull requests
18+
Please use an open issue and reference that issue in the pull request, as suggested
19+
in `PULL_REQUEST_TEMPLATE.md` (will be pre-filled when opening a pull request).
20+
When you open a pull request, it **MUST** pass test/linting or it cannot be merged.
21+
22+
It is also suggested that you label your branches according to the issue and label,
23+
so a bug reported in issue 14 becomes a branch named `bug/14` and a feature requested
24+
in issue 42 becomes `feature/42`. Do not work directly on master branch, as your
25+
pull request may not end up being accepted, causing your fork to divert.
26+
27+
## Testing
28+
All JavaScript **MUST** pass Eslint according to the rules defined in `.eslintrc`
29+
and have an extension of `.js`. Tests are run using either `eslint` command directly
30+
or by running `npm test`.
31+
32+
### Linting rules
33+
- Single quotes
34+
- Semicolons required
35+
- Indent using tabs (align using spaces)
36+
- No `require` function. This uses native modules only
37+
38+
> Tabs require fewer characters and can be adjusted by altering tab width. A developer
39+
> can increase/decrease indentation just by altering tab width, without making
40+
> any changes to the code itself. Since spaces are still to be used for alignment,
41+
> I see zero benefit to using 2 or 4 space characters instead of a single tab.
42+
43+
Since this project minifies and packages all JavaScript using Babel & Webpack,
44+
all script **MUST NOT** execute any code, but only import/export functions,
45+
classes, etc. Modules which do not export anything, however, are the only exception
46+
to this rule.
47+
48+
The simple rule is: if it exports, it **MUST NOT** have side effects. If it has
49+
side effects, it **MUST NOT** export.

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: shgysk8zer0
2+
liberapay: shgysk8zer0
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: Report a bug
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
1. Go to '...'
15+
2. Click on '....'
16+
3. Scroll down to '....'
17+
4. See error
18+
19+
**Expected behavior**
20+
A clear and concise description of what you expected to happen.
21+
22+
**Screenshots**
23+
If applicable, add screenshots to help explain your problem.
24+
25+
**Desktop (please complete the following information):**
26+
- OS: [e.g. iOS]
27+
- Browser: [e.g. chrome, safari]
28+
- Version: [e.g. 22]
29+
30+
**Smartphone (please complete the following information):**
31+
- Device: [e.g. iPhone6]
32+
- OS: [e.g. iOS8.1]
33+
- Browser: [e.g. stock browser, safari]
34+
- Version: [e.g. 22]
35+
36+
**Additional context**
37+
Add any other context about the problem here.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: Request a feature
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Description and issue
2+
3+
> Please add relevant sections (Added, removed, changed, fixed) to `CHANGELOG.md`
4+
5+
## List of significant changes made
6+
-
7+
-

.github/dependabot.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: npm
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
day: thursday
8+
time: '08:00'
9+
timezone: America/Los_Angeles
10+
open-pull-requests-limit: 10
11+
reviewers:
12+
- shgysk8zer0
13+
assignees:
14+
- shgysk8zer0
15+
labels:
16+
- dependencies
17+
- javascript
18+
- package-ecosystem: github-actions
19+
directory: /
20+
schedule:
21+
interval: weekly
22+
day: thursday
23+
time: '08:00'
24+
timezone: America/Los_Angeles
25+
open-pull-requests-limit: 10
26+
reviewers:
27+
- shgysk8zer0
28+
assignees:
29+
- shgysk8zer0
30+
labels:
31+
- dependencies
32+
- github-actions

.github/linters/.eslintrc.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
#############################
3+
#############################
4+
## JavaScript Linter rules ##
5+
#############################
6+
#############################
7+
8+
############
9+
# Env Vars #
10+
############
11+
env:
12+
browser: true
13+
es6: true
14+
jest: true
15+
16+
###############
17+
# Global Vars #
18+
###############
19+
globals:
20+
Atomics: readonly
21+
SharedArrayBuffer: readonly
22+
ga: readonly
23+
24+
###############
25+
# Parser vars #
26+
###############
27+
parser: '@typescript-eslint/parser'
28+
parserOptions:
29+
ecmaVersion: 2018
30+
sourceType: module
31+
32+
###########
33+
# Plugins #
34+
###########
35+
plugins:
36+
- '@typescript-eslint'
37+
38+
#########
39+
# Rules #
40+
#########
41+
rules:
42+
indent:
43+
- 2
44+
- tab
45+
quotes:
46+
- 2
47+
- single
48+
semi:
49+
- 2
50+
- always
51+
no-console: 0
52+
# async-await/space-after-async: 2
53+
# async-await/space-after-await: 2
54+
generator-star-spacing:
55+
- error
56+
- before: false
57+
after: true
58+
anonymous: neither
59+
method:
60+
before: true
61+
after: false
62+
63+
##############################
64+
# Overrides for JSON parsing #
65+
##############################
66+
overrides:
67+
68+
# JSON files
69+
- files:
70+
- "*.json"
71+
extends:
72+
- plugin:jsonc/recommended-with-json
73+
parser: jsonc-eslint-parser
74+
parserOptions:
75+
jsonSyntax: JSON
76+
77+
# JSONC files
78+
- files:
79+
- "*.jsonc"
80+
extends:
81+
- plugin:jsonc/recommended-with-jsonc
82+
parser: jsonc-eslint-parser
83+
parserOptions:
84+
jsonSyntax: JSONC
85+
86+
# JSON5 files
87+
- files:
88+
- "*.json5"
89+
extends:
90+
- plugin:jsonc/recommended-with-json5
91+
parser: jsonc-eslint-parser
92+
parserOptions:
93+
jsonSyntax: JSON5

0 commit comments

Comments
 (0)