Benjamin Boudreau b8043a50c7 obfuscating code
2018-06-09 09:47:19 -04:00
2018-05-29 22:11:05 -04:00
2018-06-09 09:17:40 -04:00
2018-06-09 09:17:40 -04:00
2018-06-09 09:17:40 -04:00
2018-05-28 22:49:38 -04:00
2018-05-29 22:11:05 -04:00
2018-06-09 09:47:19 -04:00
2018-06-09 09:47:19 -04:00
2018-06-03 16:05:21 -04:00
2018-06-09 09:47:19 -04:00

Embeddable React Widget

CircleCI codecov Greenkeeper badge

Easy creation of an embeddable widget. - https://seriousben.github.io/embeddable-react-widget

Features

  • Full ES6/ES2015 support (with Babel)
  • Package fonts, css, json, javascripts together into one single package (with Webpack)
  • No css styling conflicts between the host page and the widget (with https://github.com/premasagar/cleanslate)
  • Bookmarklet supported for fast testing and demonstration
  • User theming of widget
  • Obfuscating of the widget code
  • Unit Tested with code coverage enabled
  • Continuous Integration ready

Running the widget

Install dependencies

$ npm install

Start the development server

$ npm start
... server running at http://localhost:8080/

Run tests

$ npm test
... test output

Production build

$ npm run build
... create files in /dist

Roadmap

  • Widget as react app - index.html works (webpack, babel, react)
  • React widget (widget builder)
  • Webpack changed to output a library
  • Add tests
  • Add circleci integration
  • Add codecov integration for codecoverage
  • Production Build
  • Minified
  • Add greenkeeper
  • Bookmarklet
  • Reset / Cleanslate / No-conflicts of styles
  • Obfuscation
  • Integrate eslint with webpack
  • Theming support
  • Storyboard and docs

Background

What is an embeddable widget?

  • Usable using a simple <script> tag
  • Configurable with code
  • Themable

Why not in an iframe?

  • Interaction between the frame and the hosting page is tricky and not recommended
  • You can only display content within the iframe
  • iframe and content resizing is impossible
  • iframe sandboxing can result in missing functionalities

Read more

Read more about about widgets, react and scoping of css.

Description
Public repo of the original developers internal version
Readme 10 MiB
Languages
JavaScript 74.9%
SCSS 23.7%
HTML 1.4%