Skip to content

er1c/scala-js-browser-extension-example

Repository files navigation

Scala.js Browser Extension Example

Example web browser extension in Scala.

This project uses:

Example

sbt universal:packageBin
cd plugin/target/universal/
unzip plugin-0.1.0-SNAPSHOT.zip

The extracted plugin-0.1.0-SNAPSHOT folder can be loaded into chrome via chrome://extensions/ and use Load Unpacked (ensure developer mode is turned on).

TODO

  • Fix CI workflow
  • Generate index.html dynamically based upon fastOptJS vs fullOptJS.
  • Split scala-js dependencies into separate .js files to improve compilation speed.
  • Look into unit testing via mockzilla-webextension
  • Verify Firefox compatibility
  • Add background script example
  • Figure out npm run dev equivalent workflow
  • Figure out/understand asset-manifest.json usage

References

Original React inspiration from Chrome Extension Kit

Contributing

The scala-js-browser-extension-example project welcomes contributions from anybody wishing to participate. All code or documentation that is provided must be licensed with the same license that scala-js-browser-extension-example is licensed with (Apache 2.0, see LICENCE).

People are expected to follow the Scala Code of Conduct when discussing scala-js-browser-extension-example on GitHub, Gitter channel, or other venues.

Feel free to open an issue if you notice a bug, have an idea for a feature, or have a question about the code. Pull requests are also gladly accepted. For more information, check out the contributor guide.

Copyright

Copyright 2022 Eric Peters & scala-js-browser-extension-example contributors.

License

All code in this repository is licensed under the Apache License, Version 2.0. See LICENCE.

About

Example web browser extension written in Scala

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published