socket
A Node.js Implementation of the Cloudflare Socket API
Contributing
Requirements:
- Node.js v18.x
- pnpm v8.6.12 (recommend using corepack)
The formatting, linting, and typechecking of this repo are based off of @vercel/style-guide.
Building
This project uses TypeScript for building. This must be manually executed using:
pnpm build
Output will be in the dist
folder.
Formatting
This project uses prettier for formatting. Code is formatted automatically when you commit, and you can run the formatter manually using:
pnpm format
All files (except those listed in .prettierignore) will be formatted.
Prettier is configured by .prettierrc.js. It is based on @vercel/style-guide/prettier.
Linting
This project uses eslint for linting. Code is linted automatically when you commit, and you can run the linter manually using:
pnpm lint
All files (except those listed in .eslintignore) will be linted.
ESLint is configured by .eslintrc.js. It is based on @vercel/style-guide/eslint/node
Testing
This project uses node-tap for testing. Run tests using:
pnpm test
Only test files matching the pattern test/*.test.ts
will be executed.
Testing utility functions should be stored in test/utils.ts
and be well documented.
Type Checking
To manually type-check the repo without producing a build, use:
pnpm type-check
This project uses TypeScript. There exists multiple TypeScript config files; each serves a different purpose.