Skip to content

Commit c171751

Browse files
committed
Initial commit of backpressure logic
1 parent 7a67144 commit c171751

File tree

15 files changed

+2876
-0
lines changed

15 files changed

+2876
-0
lines changed

.eslintrc.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
module.exports = {
2+
parser: "@typescript-eslint/parser",
3+
plugins: ["@typescript-eslint"],
4+
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
5+
env: {
6+
node: true,
7+
es6: true,
8+
},
9+
parserOptions: {
10+
ecmaVersion: 2020,
11+
sourceType: "module",
12+
},
13+
rules: {
14+
"no-console": "off",
15+
"@typescript-eslint/explicit-function-return-type": "warn",
16+
"@typescript-eslint/no-unused-vars": "error",
17+
},
18+
};

.github/workflows/lint.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
lint:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: "20"
20+
cache: "npm"
21+
22+
- name: Install dependencies
23+
run: make install
24+
25+
- name: Run linting
26+
run: make lint
27+
28+
- name: Build
29+
run: make build

.gitignore

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# Logs
2+
3+
logs
4+
_.log
5+
npm-debug.log_
6+
yarn-debug.log*
7+
yarn-error.log*
8+
lerna-debug.log*
9+
.pnpm-debug.log*
10+
11+
# Diagnostic reports (https://nodejs.org/api/report.html)
12+
13+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
14+
15+
# Runtime data
16+
17+
pids
18+
_.pid
19+
_.seed
20+
\*.pid.lock
21+
22+
# Directory for instrumented libs generated by jscoverage/JSCover
23+
24+
lib-cov
25+
26+
# Coverage directory used by tools like istanbul
27+
28+
coverage
29+
\*.lcov
30+
31+
# nyc test coverage
32+
33+
.nyc_output
34+
35+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
36+
37+
.grunt
38+
39+
# Bower dependency directory (https://bower.io/)
40+
41+
bower_components
42+
43+
# node-waf configuration
44+
45+
.lock-wscript
46+
47+
# Compiled binary addons (https://nodejs.org/api/addons.html)
48+
49+
build/Release
50+
51+
# Dependency directories
52+
53+
node_modules/
54+
jspm_packages/
55+
56+
# Snowpack dependency directory (https://snowpack.dev/)
57+
58+
web_modules/
59+
60+
# TypeScript cache
61+
62+
\*.tsbuildinfo
63+
64+
# Optional npm cache directory
65+
66+
.npm
67+
68+
# Optional eslint cache
69+
70+
.eslintcache
71+
72+
# Optional stylelint cache
73+
74+
.stylelintcache
75+
76+
# Microbundle cache
77+
78+
.rpt2_cache/
79+
.rts2_cache_cjs/
80+
.rts2_cache_es/
81+
.rts2_cache_umd/
82+
83+
# Optional REPL history
84+
85+
.node_repl_history
86+
87+
# Output of 'npm pack'
88+
89+
\*.tgz
90+
91+
# Yarn Integrity file
92+
93+
.yarn-integrity
94+
95+
# dotenv environment variable files
96+
97+
.env
98+
.env.development.local
99+
.env.test.local
100+
.env.production.local
101+
.env.local
102+
103+
# parcel-bundler cache (https://parceljs.org/)
104+
105+
.cache
106+
.parcel-cache
107+
108+
# Next.js build output
109+
110+
.next
111+
out
112+
113+
# Nuxt.js build / generate output
114+
115+
.nuxt
116+
dist
117+
118+
# Gatsby files
119+
120+
.cache/
121+
122+
# Comment in the public line in if your project uses Gatsby and not Next.js
123+
124+
# https://nextjs.org/blog/next-9-1#public-directory-support
125+
126+
# public
127+
128+
# vuepress build output
129+
130+
.vuepress/dist
131+
132+
# vuepress v2.x temp and cache directory
133+
134+
.temp
135+
.cache
136+
137+
# Docusaurus cache and generated files
138+
139+
.docusaurus
140+
141+
# Serverless directories
142+
143+
.serverless/
144+
145+
# FuseBox cache
146+
147+
.fusebox/
148+
149+
# DynamoDB Local files
150+
151+
.dynamodb/
152+
153+
# TernJS port file
154+
155+
.tern-port
156+
157+
# Stores VSCode versions used for testing VSCode extensions
158+
159+
.vscode-test
160+
161+
# yarn v2
162+
163+
.yarn/cache
164+
.yarn/unplugged
165+
.yarn/build-state.yml
166+
.yarn/install-state.gz
167+
.pnp.\*
168+
169+
# wrangler project
170+
171+
.dev.vars
172+
173+
.wrangler

CONTRIBUTING.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Contributing
2+
3+
Contributions of any size are always welcome! Please view the README's [Development](README.md#installation) section for info on how to build and test your code. Pull Requests are linted and tested in CI, but custom tests are always preferred.
4+
5+
Please note we have a code of conduct, please follow it in all your interactions with the project.
6+
7+
## Pull Request Process
8+
9+
1. Ensure any install or build dependencies are removed before the end of the layer when doing a
10+
build.
11+
2. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
12+
do not have permission to do that, you may request the second reviewer to merge it for you.
13+
14+
## Code of Conduct
15+
16+
### Our Pledge
17+
18+
In the interest of fostering an open and welcoming environment, we as
19+
contributors and maintainers pledge to making participation in our project and
20+
our community a harassment-free experience for everyone, regardless of age, body
21+
size, disability, ethnicity, gender identity and expression, level of experience,
22+
nationality, personal appearance, race, religion, or sexual identity and
23+
orientation.
24+
25+
### Our Standards
26+
27+
Examples of behavior that contributes to creating a positive environment
28+
include:
29+
30+
- Using welcoming and inclusive language
31+
- Being respectful of differing viewpoints and experiences
32+
- Gracefully accepting constructive criticism
33+
- Focusing on what is best for the community
34+
- Showing empathy towards other community members
35+
36+
Examples of unacceptable behavior by participants include:
37+
38+
- The use of sexualized language or imagery and unwelcome sexual attention or
39+
advances
40+
- Trolling, insulting/derogatory comments, and personal or political attacks
41+
- Public or private harassment
42+
- Publishing others' private information, such as a physical or electronic
43+
address, without explicit permission
44+
- Other conduct which could reasonably be considered inappropriate in a
45+
professional setting

Makefile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.PHONY: install
2+
install:
3+
npm install
4+
5+
.PHONY: lint
6+
lint:
7+
npm run lint
8+
9+
.PHONY: lint-fix
10+
lint-fix:
11+
npm run lint:fix
12+
13+
.PHONY: build
14+
build:
15+
npm run build

0 commit comments

Comments
 (0)