Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 2.61 KB

contributing.md

File metadata and controls

55 lines (33 loc) · 2.61 KB

Contributing to Cloud Document Converter

There are many ways to contribute to the Cloud Document Converter project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

After cloning and building the repo, check out the issues list. Issues labeled help wanted are good issues to submit a PR for. Issues labeled good first issue are great candidates to pick up if you are in the code for the first time. If you are contributing significant changes, or if the issue is already assigned to a specific month milestone, please discuss with the assignee of the issue first before starting to work on the issue.

Prerequisites

In order to download necessary tools, clone the repository, and install dependencies via pnpm, you need network access.

You'll need the following tools:

Development container

Alternatively, you can avoid local dependency installation as this repository includes a Visual Studio Code Dev Containers development container.

For Dev Containers, use the Dev Containers: Clone Repository in Container Volume command which creates a Docker volume for better disk I/O on macOS and Windows.

Development Setup

You will need Node.js with minimum version as specified in the .node-version file, and PNPM with minimum version as specified in the "packageManager" field in package.json.

After cloning the repo, run:

$ pnpm i # install the dependencies of the project

Build and Run

Build

cd apps/chrome-extension
npx turbo run build # build chrome extension

# pnpm run build:firefox # build firefox extension

Run

web-ext is a command-line tool designed to speed up and simplify development.

cd apps/chrome-extension
npx web-ext run --source-dir dist --target chromium # 

# npx web-ext run --source-dir dist-firefox # 

After making changes to the source files, you need to rebuild the project manually。The web-ext run command watches our dist files and tells Chromium/Firefox to reload the extension after you rebuild the project.