Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(init): browser extension project initialization
- 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