Skip to content

Commit

Permalink
chore(init): browser extension project initialization
Browse files Browse the repository at this point in the history
- Initialized the project with essential configuration files and licensing.
- Added `.gitignore` tailored for a Node.js and TypeScript project, including common development tools and environments like Visual Studio Code, macOS, and testing frameworks.
- Created `.swcrc` for SWC compiler configuration to use CommonJS modules, enable decorators, and set the compilation target to ES2022 with minification enabled.
- Setup `.webextensiontoolboxrc` for building Chrome extensions with SWC, including source maps and auto-reload capabilities.
- Included a `LICENCE` file specifying the project is under the BSD 3-Clause License.
- Prepared `package.json` with project metadata, including name, version, description, and initial dependencies for development, such as TypeScript, ESLint, SWC, and the WebExtension toolbox.
- Configured `tsconfig.json` for TypeScript with strict type checking, ESNext as the module system, and excluding tests and node_modules from the compilation.
- Introduced GitHub Actions workflows for auto-assigning reviewers and PR management.
- Added `auto-assign.yaml` configuration for automatically adding reviewers and assignees to PRs.
- Set up `auto-assign.yaml` workflow to trigger on issue and PR events, ensuring team members are automatically assigned for review.
- Implemented `release-please.yaml` workflow for automated release management and versioning based on conventional commits.
- Configured `release-please` to manage versioning and changelog generation, ensuring a consistent release process.
- Prepared `.release-please-config.json` with customized settings for release-please action, including commit message patterns and changelog sections tailored to the project's needs.
- Initialized `.release-please-manifest.json` to track the project's version history and facilitate automated releases.

This commit establishes the foundational setup for developing a Chrome extension focused on optimizing the invoice selection process for Xero's Accounts Receivable page. The setup includes essential configurations for TypeScript development, code linting and formatting, and build tools tailored for web extension development. By specifying the project's licensing and initial metadata, it clarifies the usage rights and provides a clear description of the extension's purpose and functionality.

GitHub Actions workflows significantly automates the process of assigning team members to pull requests and managing releases. By automating these aspects, the project streamlines its development workflow, ensuring that code reviews are promptly addressed and that releases follow a consistent, version-controlled process. This setup not only improves operational efficiency but also contributes to maintaining high code quality and project stability.
  • Loading branch information
tsdevau committed Mar 18, 2024
0 parents commit 44909c0
Show file tree
Hide file tree
Showing 12 changed files with 7,049 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .github/auto-assign.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Set to true to add reviewers to pull requests
addReviewers: true

# Set to true to add assignees to pull requests
addAssignees: true

# A list of reviewers to be added to pull requests (GitHub user name)
reviewers:
- tsdevau

# A number of reviewers added to the pull request
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 0
# A list of assignees, overrides reviewers if set
# assignees:
# - tsdevau

# A number of assignees to add to the pull request
# Set to 0 to add all of the assignees.
# Uses numberOfReviewers if unset.
# numberOfAssignees: 2

# A list of keywords to be skipped the process that add reviewers if pull requests include it
# skipKeywords:
# - wip
16 changes: 16 additions & 0 deletions .github/workflows/auto-assign.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
on:
issues:
types: [opened, reopened, unassigned]
pull_request:
types: [opened, reopened, unassigned, ready_for_review, review_requested]

name: Auto Assign

jobs:
add-reviews:
name: Assign Assignee and Reviewers
runs-on: ubuntu-latest
steps:
- uses: kentaro-m/auto-assign-action@v2.0.0
with:
configuration-path: .github/auto-assign.yaml
19 changes: 19 additions & 0 deletions .github/workflows/release-please.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

name: release-please

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
with:
config-file: ".release-please-config.json"
token: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 44909c0

Please sign in to comment.