/runmycode-ext

Compile and run C, C++, Java, Nodejs, Python, Ruby, Go and PHP code online, directly from Github, Gitlab, Bitbucket, and GoByExample.

Primary LanguageJavaScriptMIT LicenseMIT

RunMyCode Online WebExtension

Compile and run C, C++, Java, Nodejs, Python, Ruby, Go and PHP code online, directly from Github, Gitlab, Bitbucket and more - https://runmycode.online

RunMyCode Online Screenshot

How to Use

  1. Install the extension: Chrome, Firefox, Opera
  2. On extension install, RunMyCode Online will open in a new tab and prompt you to authenticate to get a key.
  3. On authenticating with any the of providers, you will be redirected to dashboard page and extension will be auto-configured with your key.
  4. Now you can go to any supported language code page on Github or Gitlab and you will see a colored Run button added to left of usual action buttons (see screenshot above). For example, you can test the extension with this Ruby code on Github.
  5. Clicking that Run button will open a runner where you can input any command line args and then press the big orange Run button to run the code on the page.
  6. You can also edit the code using the web editor on Github or Gitlab and make it run through the same Run button as above.

Supported Websites

All the supported version control sites have support for running standalone code from view, edit and new file pages.

  1. Github
  2. Gitlab
  3. BitBucket
  4. Github Gist
  5. Gitlab Snippets
  6. BitBucket Snippets
  7. Go by Example
  8. Xahlee
  9. Learn To Solve It
  10. Tutorials Point

Supported Languages

Language is detected based on the file extension. So for executing Python3 code, you will need py3 extension, cpp for C++.

  1. C (GCC 7.2)
  2. C++ (GCC 7.2)
  3. Java 8
  4. Node.js 6.10
  5. Python 2.7
  6. Python 3.6
  7. Ruby 2.2
  8. Go 1.7
  9. PHP 7
  10. Kotlin
  11. Scala

Supported Browsers

Latest versions of following browsers:

  1. Chrome
  2. Firefox
  3. Opera - Use this Opera extension to install the Chrome version.

Edge has a non-standard WebExtension implementation

Permissions Requested by Extension

Starting with v2.0.0, RMCO only asks permission for GitHub by default. All other websites are optional and can be allowed on demand.

  1. Optional permissions for the above supported websites to allow extension to run code directly from there
  2. runmycode.online - To auto-configure the extension
  3. api.runmycode.online - To run code from the extension
  4. tabs - For detecting url change and page loading complete for single page apps like Github, Bitbucket
  5. storage - To store API URL and Key as extension options

Developing the Extension

Building

Build generates manifest.json, creates a directory dist/<browser> and puts all the extension relevant files there.

  • Build for all supported browsers: npm run build
  • Build for a specific browser: npm run build -- chrome|firefox|opera|edge

Credits

Icomoon.io for the icon.
Intelli-Octo for the initial code scraping code.

License

MIT