Contributing
Thanks for being interested in contributing to this project!
Development
Setup
Clone the repo that you want to contribute into, to your local machine and install the dependencies.
pnpm install pnpm install Run the tests to make sure everything is working.
pnpm test pnpm test We use
pnpm git:add && pnpm commit pnpm git:add && pnpm commit Contributing
Existing functions
Feel free to enhance the existing functions. You can add more tests, more examples, or even more features.
New functions
There are some notes for adding new functions
Before you start working, it's better to discuss the function you want to add in
discord.Details explained in the
Function Foldersection.Try not to introduce 3rd-party dependencies in
@sveu/actions,@sveu/browseror@sveu/sharedas these package's is aimed to be as lightweight as possible.If you'd like to introduce 3rd-party dependencies, please contribute to
@sveu/extend.For
@sveu/extendcase, install the 3rd-party library you want to use,
pnpm add -D <library>.Add the package that you just installed to
peerDependenciesandpeerDependenciesMetainpackage.json.{ "peerDependencies": { "<library>": "*" }, "peerDependenciesMeta": { "<library>": { "optional": true } } }{ "peerDependencies": { "<library>": "*" }, "peerDependenciesMeta": { "<library>": { "optional": true } } }json
Please note you don't need to update packages' src/index.ts. It's automatically generated.
Project Structure
Function Folder
A function folder typically contains these 2 files:
index.ts # function source code itself
index.test.ts # vitest unit testing index.ts # function source code itself
index.test.ts # vitest unit testing for index.ts you should export the function with names.
// DO
export { myFunction }
// Do
export function myFunction() {}
// DON'T
export default myFunction
// DON'T
export default function myFunction() {} // DO
export { myFunction }
// Do
export function myFunction() {}
// DON'T
export default myFunction
// DON'T
export default function myFunction() {} Thanks
Thank you again for being interested in this project! You are awesome!