fiddle

GitHub

:electron: πŸš€ The easiest way to get started with Electron

RAW Doc

CONTRIBUTING

Contributing to Electron Fiddle

Electron Fiddle is a community-driven project, overseen by the Electron Ecosystem Working
Group
. As such, we welcome
and encourage all sorts of contributions. They include, but are not limited to:

- Constructive feedback
- Bug reports / technical issues
- Documentation changes
- Feature requests
- Pull requests

We strongly suggest that before filing an issue, you search through the existing issues to see
if it has already been filed by someone else.

This project is a part of the Electron ecosystem. As such, all contributions to this project follow
Electron's code of conduct
where appropriate.

Contribution Suggestions

We use the label good first issue in the issue tracker to denote fairly-well-scoped-out bugs or feature requests that the community can pick up and work on. If any of those labeled issues do not have enough information, please feel free to ask constructive questions. (This applies to any open issue.)

Filing Pull Requests

Here are some things to keep in mind as you file pull requests to fix bugs, add new features, etc.:

- If you're unfamiliar with forking, branching, and pull requests, please see GitHub's extensive
documentation
.
- GitHub Actions is used to make sure that any new or changed code meets the project's
style guidelines, and that the project's test suite passes for each new commit.
- Unless it's impractical, please write tests for your changes. This will help us so that we can
spot regressions much easier.
- When creating commit messages and pull request titles, please adhere to the conventional
commits
standard.
- Please do not bump the version number in your pull requests, the maintainers will do that.
Feel free to indicate whether the changes require a major, minor, or patch version bump, as
prescribed by the semantic versioning specification.

Running Fiddle From Source

1. Clone the Electron Fiddle repository locally.

sh
git clone https://github.com/electron/fiddle.git

2. Change directory to where Fiddle has been cloned.

sh
cd fiddle

3. Install dependencies.

sh
yarn

4. Start Fiddle and explore!

sh
yarn start

Running Tests

sh
yarn test

Note that console calls, e.g. console.log(), are mocked out during tests
to avoid noise in the test reports. If you want this verbosity, e.g. if
you're debugging or writing new tests, it can be enabled by setting the
environment variable FIDDLE_VERBOSE_TESTS when running.

Release Process

Note: Releasing is only available to contributors who have write

access to the electron/fiddle repository.

First, create a new branch for your release.

Then, run the yarn version
command with the corresponding major, minor, or patch positional argument.

After running the command, you should have a commit updating the version field in
the package.json file. Create a new tag corresponding to this new value with the git tag command.

Then, you'll want to commit the version bump change onto the main branch. Push
your commit upstream and open a new pull request.

Finally, push your tag to the GitHub repository with git push origin <tag_name>.
CI will automatically draft a new release. Check that all the expected files are present,
that installers work, and then publish the release.

---

README

<img src="https://user-images.githubusercontent.com/378023/49785546-4b7f7000-fd64-11e8-8033-a52c73a07fbf.png" width="60px" align="center" alt="Electron Fiddle icon"> Electron Fiddle

[](https://github.com/electron/fiddle/actions/workflows/test.yml)
[](https://coveralls.io/github/electron/fiddle?branch=main)
[](https://discord.com/invite/APGC3k5yaH)

Electron Fiddle lets you create and play with small Electron experiments. It
greets you with a quick-start template after opening – change a few things,
choose the version of Electron you want to run it with, and play around. Then,
save your Fiddle either as a GitHub Gist or to a local folder. Once published
on GitHub, anyone can quickly try your Fiddle out by just entering it in the
address bar.

Download Fiddle now!

<img src="https://user-images.githubusercontent.com/8198408/183111969-f25e202f-b7d8-45d2-ae89-89df965c6c8f.png" width="880px" alt="Electron Fiddle screenshot">

Features

Explore Electron

<img width="1493" alt="Screenshot: Electron App running" src="https://user-images.githubusercontent.com/8198408/183112940-370c7535-1d71-40f3-ba8f-fad5f60ed2e9.png">

Try Electron without installing any dependencies:Β Fiddle includes everything
you'll need to explore the platform. It also includes examples for every API
available in Electron, so if you want to quickly see what a
[BrowserView][BrowserView] is or how the [desktopCapturer][desktopCapturer]
works, Fiddle has got you covered.

Code with Types

Fiddle includes Microsoft's excellent Monaco Editor, the same editor powering
Visual Studio Code. It also installs the type definitions for the currently
selected version of Electron automatically, ensuring that you always have
all Electron APIs only a few keystrokes away.

Compile and Package

<img width="895" alt="Screenshot: Fiddle's Tasks Menu" src="https://user-images.githubusercontent.com/8198408/183113871-5774174a-da63-4d9b-87fa-239512c843e6.png">

Fiddle can automatically turn your experiment into binaries you can share with
your friends, coworkers, or grandparents. It does so thanks to
[electron-forge][electron-forge], allowing you to package your fiddle as an
app for Windows, macOS, or Linux.

Start with Fiddle, Continue Wherever

<img width="1916" alt="Screenshot: Visual Studio Code with Fiddle Export" src="https://user-images.githubusercontent.com/8198408/183117021-25c044a8-5a3b-4ff0-97ea-b6ae16d488ea.png">

Fiddle is not an IDE – it is however an excellent starting point. Once your
fiddle has grown up, export it as a project with or without
[electron-forge][electron-forge]. Then, use your favorite editor and take on
the world!

Contributing

Electron Fiddle is a community-driven project that welcomes all sorts of contributions. Please check out our Contributing Guide for more details.

License

MIT, please see the LICENSE file for full details.

When using the Electron or other GitHub logos, be sure to follow the GitHub
logo guidelines
.

[BrowserView]: https://electronjs.org/docs/latest/api/browser-view
[desktopCapturer]: https://electronjs.org/docs/latest/api/desktop-capturer
[electron-forge]: https://electronforge.io/

---

SECURITY

Reporting Security Issues

The Electron team and community take security bugs in Electron seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.

To report a security issue, please use the GitHub Security Advisory "Report a Vulnerability" tab.

The Electron team will send a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.

Report security bugs in third-party modules to the person or team maintaining the module. You can also report a vulnerability through the npm contact form by selecting "I'm reporting a security vulnerability".

Escalation

If you do not receive an acknowledgement of your report within 6 business days, or if you cannot find a private security contact for the project, you may escalate to the OpenJS Foundation CNA at [email protected].

If the project acknowledges your report but does not provide any further response or engagement within 14 days, escalation is also appropriate.

The Electron Security Notification Process

For context on Electron's security notification process, please see the Notifications section of the Security WG's Membership and Notifications Governance document.

Learning More About Security

To learn more about securing an Electron application, please see the security tutorial.

---