├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md ├── commit-convention.md └── workflows │ └── release-tag.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.yaml ├── .vscode ├── extensions.json └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs └── LICENSE ├── eslint.config.mjs ├── package.json ├── packages ├── eslint-config-prettier │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── eslint-config-ts │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── eslint-base.js │ ├── eslint-recommended-type-checked.js │ ├── eslint-recommended.js │ ├── eslint-typescript.js │ ├── index.d.ts │ ├── index.js │ └── package.json ├── eslint-config │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── playground │ ├── README.md │ ├── index.html │ ├── package.json │ ├── src │ │ ├── global.d.ts │ │ ├── main.mts │ │ ├── preload.mts │ │ └── renderer.ts │ ├── tsconfig.node.json │ └── tsconfig.web.json ├── preload │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── rollup.config.ts │ ├── src │ │ ├── global.d.ts │ │ ├── index.ts │ │ └── types.ts │ └── tsconfig.json ├── tsconfig │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── tsconfig.web.json ├── typed-ipc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── rollup.config.ts │ ├── src │ │ ├── global.d.ts │ │ ├── main.ts │ │ ├── renderer.ts │ │ └── types.ts │ └── tsconfig.json └── utils │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── rollup.config.ts │ ├── src │ ├── app.ts │ ├── index.ts │ ├── is.ts │ ├── optimizer.ts │ └── platform.ts │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts └── verifyCommit.js ├── tsconfig.base.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: "\U0001F41E Bug Report" 2 | description: Report an issue with electron-toolkit 3 | labels: ['bug', 'triage'] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thanks for taking the time to fill out this bug report! 9 | - type: textarea 10 | id: bug-description 11 | attributes: 12 | label: Describe the bug 13 | description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks! 14 | placeholder: Bug description 15 | validations: 16 | required: true 17 | - type: input 18 | id: electron-toolkit-version 19 | attributes: 20 | label: Electron-Toolkit Version 21 | description: What version of Electron-Toolkit are you using? 22 | validations: 23 | required: true 24 | - type: input 25 | id: electron-version 26 | attributes: 27 | label: Electron Version 28 | description: What version of Electron are you using? 29 | validations: 30 | required: true 31 | - type: checkboxes 32 | id: checkboxes 33 | attributes: 34 | label: Validations 35 | description: Before submitting the issue, please make sure you do the following 36 | options: 37 | - label: Follow the [Code of Conduct](https://github.com/alex8088/electron-toolkit/blob/master/CODE_OF_CONDUCT.md). 38 | required: true 39 | - label: Read the [Contributing Guidelines](https://github.com/alex8088/electron-toolkit/blob/master/CONTRIBUTING.md). 40 | required: true 41 | - label: Read the [docs](https://github.com/alex8088/electron-toolkit#readme). 42 | required: true 43 | - label: Check that there isn't [already an issue](https://github.com/alex8088/electron-toolkit/issues) that reports the same bug to avoid creating a duplicate. 44 | required: true 45 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: "\U0001F680 New Feature Proposal" 2 | description: Propose a new feature to be added to electron-toolkit 3 | labels: ['enhancement'] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thanks for your interest in the project and taking the time to fill out this feature report! 9 | - type: textarea 10 | id: feature-description 11 | attributes: 12 | label: Clear and concise description of the problem 13 | description: 'As a developer using electron-toolkit I want [goal / wish] so that [benefit]. If you intend to submit a PR for this issue, tell us in the description. Thanks!' 14 | validations: 15 | required: true 16 | - type: textarea 17 | id: suggested-solution 18 | attributes: 19 | label: Suggested solution 20 | description: 'In module [xy] we could provide following implementation...' 21 | validations: 22 | required: true 23 | - type: textarea 24 | id: alternative 25 | attributes: 26 | label: Alternative 27 | description: Clear and concise description of any alternative solutions or features you've considered. 28 | - type: textarea 29 | id: additional-context 30 | attributes: 31 | label: Additional context 32 | description: Any other context or screenshots about the feature request here. 33 | - type: checkboxes 34 | id: checkboxes 35 | attributes: 36 | label: Validations 37 | description: Before submitting the issue, please make sure you do the following 38 | options: 39 | - label: Follow the [Code of Conduct](https://github.com/alex8088/electron-toolkit/blob/master/CODE_OF_CONDUCT.md). 40 | required: true 41 | - label: Read the [Contributing Guidelines](https://github.com/alex8088/electron-toolkit/blob/master/CONTRIBUTING.md). 42 | required: true 43 | - label: Read the [docs](https://github.com/alex8088/electron-toolkit#readme). 44 | required: true 45 | - label: Check that there isn't [already an issue](https://github.com/alex8088/electron-toolkit/issues) that reports the same bug to avoid creating a duplicate. 46 | required: true 47 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### Description 4 | 5 | 6 | 7 | ### Additional context 8 | 9 | 10 | 11 | --- 12 | 13 | ### What is the purpose of this pull request? 14 | 15 | - [ ] Bug fix 16 | - [ ] New Feature 17 | - [ ] Documentation update 18 | - [ ] Other 19 | 20 | ### Before submitting the PR, please make sure you do the following 21 | 22 | - [ ] Read the [Contributing Guidelines](https://github.com/alex8088/electron-toolkit/blob/master/CONTRIBUTING.md). 23 | - [ ] Read the [Pull Request Guidelines](https://github.com/alex8088/electron-toolkit/blob/master/CONTRIBUTING.md#pull-request) and follow the [Commit Convention](https://github.com/alex8088/electron-toolkit/blob/master/.github/commit-convention.md). 24 | - [ ] Provide a description in this PR that addresses **what** the PR is solving, or reference the issue that it solves (e.g. `fixes #123`). 25 | -------------------------------------------------------------------------------- /.github/commit-convention.md: -------------------------------------------------------------------------------- 1 | ## Git Commit Message Convention 2 | 3 | > This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular). 4 | 5 | #### TL;DR: 6 | 7 | Messages must be matched by the following regex: 8 | 9 | 10 | ```js 11 | /^(revert: )?(feat|fix|docs|dx|refactor|perf|test|workflow|build|ci|chore|types|wip|release|deps)(\(.+\))?: .{1,50}/ 12 | ``` 13 | 14 | #### Examples 15 | 16 | Appears under "Features" header, `dev` subheader: 17 | 18 | ``` 19 | feat(dev): add 'comments' option 20 | ``` 21 | 22 | Appears under "Bug Fixes" header, `dev` subheader, with a link to issue #28: 23 | 24 | ``` 25 | fix(dev): fix dev error 26 | 27 | close #28 28 | ``` 29 | 30 | Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: 31 | 32 | ``` 33 | perf(build): remove 'foo' option 34 | 35 | BREAKING CHANGE: The 'foo' option has been removed. 36 | ``` 37 | 38 | The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. 39 | 40 | ``` 41 | revert: feat(compiler): add 'comments' option 42 | 43 | This reverts commit 667ecc1654a317a13331b17617d973392f415f02. 44 | ``` 45 | 46 | ### Full Message Format 47 | 48 | A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: 49 | 50 | ``` 51 | (): 52 | 53 | 54 | 55 |