Skip to content

Latest commit

 

History

History
67 lines (36 loc) · 2.91 KB

CONTRIBUTE.md

File metadata and controls

67 lines (36 loc) · 2.91 KB

Contribute

The documentation needed to read in order to contribute in the project.

Tech Stacks | Packages

  • babel: is a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript that can be run by older JavaScript engines.

  • commitlint: A specification for adding human and machine readable meaning to commit messages.

  • eslint: ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.

  • husky: Git hooks made easy. Husky can prevent bad git commit, git push and more 🐶 woof!

  • image-size: A Node module to get dimensions of any image file.

  • jest: Delightful JavaScript Testing.

  • lint-staged: Run linters against staged git files and don't let 💩 slip into your code base!

  • standard-version: A utility for versioning using semver and CHANGELOG generation powered by Conventional Commits.

  • ts-jest: is a TypeScript preprocessor with source map support for Jest that lets you use Jest to test projects written in TypeScript.

  • typescript: is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript.

  • file-type: Detect the file type of a Buffer/Uint8Array/ArrayBuffer. The file type is detected by checking the magic number of the buffer.

  • read-chunk: Read a chunk from a file. Because the built-in way requires way too much boilerplate.

Development

Docker Setup

  • Make sure the docker compose is installed.

  • The source code also support docker setup and there is a docker-compose.yml prepared to kick in.

  • Rename the env-sample to .env and fillup the content of the said file.

  • Once the required files are now ready, execute the docker-compose up -d command.

Preparing Production Build

  • Transpile the typescript code: npm run build:tsc

  • Generate latest release tag: npm run build:production

Publishing

  • Before publishing make sure to create a latest git tag with name using sematic versioning.

  • To submit on Github Packages:

    
    $ npm login --registry=https://npm.pkg.github.com/
    > Username: USERNAME
    > Password: TOKEN
    > Email: PUBLIC-EMAIL-ADDRESS
    
    $ npm publish
    > SUCESS!
    
    
  • To submit on npm regular registry just run: npm publish