Skip to content

Latest commit

 

History

History
86 lines (51 loc) · 2.77 KB

CONTRIBUTING.md

File metadata and controls

86 lines (51 loc) · 2.77 KB

Furigana Maker Contributing Guide

Hi! We're Really excited that you are interested in contributing to Furigana Maker. Before submitting your contribution, please make sure to take a moment and Read through the following guidelines:

Pull Request Guidelines

  • Checkout a topic branch from the relevant branch, e.g. main, and merge back against that branch.

  • If adding a new feature:

    • Provide a convincing Reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
  • If fixing bug:

    • Provide a detailed description of the bug in the PR. Live demo preferred.
  • It's OK to have multiple small commits as you work on the PR - GitHub can automatically squash them before merging.

  • Commit messages must be matched by the following regex, see Conventional Commits for more information.

/^(build|chore|ci|website|feat|fix|perf|refactor|revert|style|test)(\(.+\))?: .{1,100}/

Development Setup

Important

The exact node version used by this project is located in the .nvmrc file. If you are using nvm, you can run nvm use to switch to the correct version.

You will need pnpm:

corepack enable pnpm

After cloning the repo, run:

pnpm install

Please read WXT Documentation for more information on how to develop and test the extension.

Setup Dev Environment

Chrome/Edge

pnpm run dev

After executing the above command, visit chrome extensions page chrome://extensions/, and click Load unpacked button, then select the .output/chrome-mv3 folder in the project root directory, and try modifying the source code. You'll get live update.

Get build target(.zip)

This zip command will package the directory generated by the pnpm run build command into a zip file suitable for the browser extension store.

Chrome/Edge: .output/chrome-mv3.zip

pnpm run zip

E2E Test

In order to test browser extensions, playwright needs to use the headless=new mode, which can cause the behavior of playwright test and playwright test --ui to be inconsistent at times, be sure to use playwright test to ensure that the test passes.

pnpm test:e2e

Lint

pnpm run lint:fix

You may see a message saying "These CSS classes should be sorted", please ignore it.

This project integrates biome (linter and formatter) in git hook, which will trigger automatic fix of this error when committing, then you need to use git commit --amend.