From d12e2847a6397457a701b673fee4cacf3959484b Mon Sep 17 00:00:00 2001 From: Kumar McMillan Date: Tue, 13 Dec 2016 05:54:23 -1000 Subject: [PATCH] Example using React / ES6 (#155) --- react-es6-popup/.babelrc | 11 ++++ react-es6-popup/.gitignore | 5 ++ react-es6-popup/.npmrc | 1 + react-es6-popup/README.md | 54 ++++++++++++++++++ .../extension/images/Watermelon-48.png | Bin 0 -> 1125 bytes .../extension/images/Watermelon-96.png | Bin 0 -> 1974 bytes react-es6-popup/extension/manifest.json | 17 ++++++ react-es6-popup/extension/popup.css | 8 +++ react-es6-popup/extension/popup.html | 11 ++++ react-es6-popup/package.json | 25 ++++++++ react-es6-popup/screenshots/popup.png | Bin 0 -> 76908 bytes react-es6-popup/src/nested-component.js | 15 +++++ react-es6-popup/src/popup.js | 36 ++++++++++++ react-es6-popup/webpack.config.js | 48 ++++++++++++++++ 14 files changed, 231 insertions(+) create mode 100644 react-es6-popup/.babelrc create mode 100644 react-es6-popup/.gitignore create mode 100644 react-es6-popup/.npmrc create mode 100644 react-es6-popup/README.md create mode 100644 react-es6-popup/extension/images/Watermelon-48.png create mode 100644 react-es6-popup/extension/images/Watermelon-96.png create mode 100755 react-es6-popup/extension/manifest.json create mode 100755 react-es6-popup/extension/popup.css create mode 100755 react-es6-popup/extension/popup.html create mode 100644 react-es6-popup/package.json create mode 100644 react-es6-popup/screenshots/popup.png create mode 100644 react-es6-popup/src/nested-component.js create mode 100755 react-es6-popup/src/popup.js create mode 100644 react-es6-popup/webpack.config.js diff --git a/react-es6-popup/.babelrc b/react-es6-popup/.babelrc new file mode 100644 index 0000000..ffd1d11 --- /dev/null +++ b/react-es6-popup/.babelrc @@ -0,0 +1,11 @@ +{ + "presets": [ + "es2015", + "stage-2", + "react" + ], + "plugins": [ + "transform-class-properties", + "transform-es2015-modules-commonjs" + ] +} diff --git a/react-es6-popup/.gitignore b/react-es6-popup/.gitignore new file mode 100644 index 0000000..20ccaa9 --- /dev/null +++ b/react-es6-popup/.gitignore @@ -0,0 +1,5 @@ +# Ignore build artifacts and other files. +.DS_Store +yarn.lock +extension/dist +node_modules diff --git a/react-es6-popup/.npmrc b/react-es6-popup/.npmrc new file mode 100644 index 0000000..a00908d --- /dev/null +++ b/react-es6-popup/.npmrc @@ -0,0 +1 @@ +save-prefix='' diff --git a/react-es6-popup/README.md b/react-es6-popup/README.md new file mode 100644 index 0000000..5fa69cf --- /dev/null +++ b/react-es6-popup/README.md @@ -0,0 +1,54 @@ +# React / ES6 Popup Example + +## What it does + +This is an example of creating a browser action +[popup](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Add_a_button_to_the_toolbar#Adding_a_popup) +UI in [React][react] and [ES6](http://es6-features.org/) JavaScript. + +## What it shows + +* How to bundle [React][react] and any other [NodeJS][nodejs] module into an + extension. +* How to transpile code that is not supported natively in + a browser such as + [import / export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) + syntax and [JSX](https://facebook.github.io/react/docs/jsx-in-depth.html). +* How to continuously build code as you edit files. +* How to customize [web-ext][web-ext] for your extension's specific needs. +* How to structure your code in reusable ES6 modules. + +## Usage + +First, you need to change into the example subdirectory and install all +[NodeJS][nodejs] dependencies with [npm](http://npmjs.com/) or +[yarn](https://yarnpkg.com/): + + npm install + +Start the continuous build process to transpile the code into something that +can run in Firefox or Chrome: + + npm run build + +This creates a WebExtension in the `extension` subdirectory. +Any time you edit a file, it will be rebuilt automatically. + +In another shell window, run the extension in Firefox using a wrapper +around [web-ext][web-ext]: + + npm start + +Any time you edit a file, [web-ext][web-ext] will reload the extension +in Firefox. To see the popup, click the watermelon icon from the browser bar. +Here is what it looks like: + +![popup screenshot](screenshots/popup.png "React popup screenshot") + +[react]: https://facebook.github.io/react/ +[nodejs]: https://nodejs.org/en/ +[web-ext]: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext + +## Icons + +The icon for this extension is provided by [icons8](https://icons8.com/). diff --git a/react-es6-popup/extension/images/Watermelon-48.png b/react-es6-popup/extension/images/Watermelon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..2821b3f6c83592b126bb891b811c9dcf39c2a5b4 GIT binary patch literal 1125 zcmV-r1e*JaP)-%60}Ifw})na`5l>s1L1jh$ZEcdmY=#cdeV92 zX%z&CS+knGDtK@N;luSC zSit&@j5|_j&hwe=;dS5D9@r<1PJ>T5Iau)YgVr%<5|Dj9jRh#L$BP2!xGmrh+5#Z= z_#nc0A;Nhf>i3!i97e~nfaSICbpb1u!-FFTs*45D*M|k%?dvmlqv8L$5#E_4X4`Uj z(zT93NI5w;XbV&nu(~;i3)wdC)i}8yoST3~!53H_!*A^+&PPDC@LIdmK zx_}7hJ+p96I)~uzKjUSiUw84IRj^veAc(#`kbC+KgIUVS!ECRuY@aW6@))_bmjJPN zh^agGGr0xN?sj7TFgo7QK2JuTgimJ`Kug#3+X$_$+X(%-Pyge5Ol&B8f#nTpV>o@) zn>x~q@YOp%3>DUQWWx*Izq$uU!((+vJs%Sd1)I()@c7LH(RJ!P{|XYlA|M7L_b-8( znl`*h7xLlyjheuZyGP1`Z|x-@_VZVbgQqBp3dx=eJff5OpZ@grwn;=ftH7@I0CLJ* zIE;?N(eM~vo#XBi{5c;J4YLjD>pL}CG~MjQeQSsCIu00000NkvXXu0mjfxt$zF literal 0 HcmV?d00001 diff --git a/react-es6-popup/extension/images/Watermelon-96.png b/react-es6-popup/extension/images/Watermelon-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4f4f16d70c21879ead27487e2a1dcaf5ece1dd GIT binary patch literal 1974 zcmV;n2TAyeP)`gMlm0Ie`UEV1bH|W88Y! zu^lHrE`r&r^>Y;jULOSJgD-|bDu7#H|8Y%PFKPXJhQ{lIzoOuReyyL?aF8QkjFE-5BoVIOwz#x@X2amXa<`k!S#Rc4wf+ zUz=PHeAZ&EpFQvK-{)U#LrE)~e$WQH;k!r?LR(&%iZTt6d@eiXgu}sB&oiPI&_*^2NXvWocJLX8|Ed$%m3wIR4~I zl?9pB0xZ;!FUH~Q7*Yh!y++9_U><1wj=DuEg-oP78xaV?Q0sTr4KhK#(kytnJ(*ODX&NfZEcsB<3P)Y&#hJ7i7raTAY4XKD zSrke3L?Qb_*&-j8hL&E9&<&fSBK72NRXE_!3J3A$W1fDbKUDB_Kn?lpre?TdtA`#( z9rQTr;D)UpVx`Wsx}m|@D~0O~k&+)Pb%L+P7AHP2d^HV3;{E;m9YSx28Pb}UoPd=4 zaCysxQ7;!H-xGc0l@%cHYrj+guh!gT9i-&1o0_r2_c-cc$W~7zz}xXbGK-pLRV z%|1V)0thT<%~i&sHTgIJBGG`c1<(We1uKAF$S+6%^h7>R07KS*Y>*!=Z-Jl9c9^KO z!GOIE#_B&NZb4NEkndekCduEbaKL?Q0}R;F3o%j={{8lA;|q}Kk-u(g1`mdOHC~Y6 zSHjuK`Fmwf7_CQpK@+t$qVG9a`rf!+P__$htkek$Orxv-OO;JT-(grcG?(4ZR)qs5 zYR_%y$7Vax|D9BKB3sa*eBKYxTdRqjK}OsW%NO#YM8%%4z;0;GD-p6u{$82#7NgoQ z)TxMUk9?244hHOX;H$Ag=yDU$o-ZzN=Yj_A+4JjMP%hGrucjfX)46YLNLdKfR%G6t zjLTKdU#e_MtKUxyT=&C2`67SLhLVy`(v$C%IpMw)y?PCow;&f?YU=~`bo8B%^5b;0 z+6{CiZ$=#9II&Rszv1$hjEw$d`++^wW%?l{f3M6LH_U#(jBY4ty+Tj6HRQ_` zO;j3^8`%p?qpFdu6sM*(r0)}n24G~dUEl7f8uDYMPFb%W<ozbisFxj&snmUQLn zv7@`2SgA8Xhzg!*NHqV!p?bulbcUL$l|1DU*m0i3Z?s zc1-gEeNx?twUr6dj`mhF$FuX&hnidV5WUoH_%6Kh--MIuPTdlZEVz0g|4aZ&pWMTJ z_tR&vvpYlll83WnaMabCRpO7jdQ}m>vpXZ(YU+l35hxJ`?%5%d@$8|T5Od2ORkJ}_w4;x_@OFF!h>TQb)m6AAtg`wFin$L*f+Hley zZeHYjQYg&^F*Qv;y$&z8Cv!sj%k4=Jo^;_-P25t}g{zqfoE2zh1^2>8IE6qy0SHtmH+mPX%tF%0VJTq97xS?J&3Of#BLOgf_<^v^kzMTg1PI zHpk(|=ik8GvIj;M+sOz&AMrt5?crtWrQKL7v#07*qo IM6N<$g5n9q4*&oF literal 0 HcmV?d00001 diff --git a/react-es6-popup/extension/manifest.json b/react-es6-popup/extension/manifest.json new file mode 100755 index 0000000..5126bdd --- /dev/null +++ b/react-es6-popup/extension/manifest.json @@ -0,0 +1,17 @@ +{ + "manifest_version": 2, + "name": "react-es6-popup-example", + "version": "1.0", + + "browser_action": { + "browser_style": true, + "default_icon": { + "48": "images/Watermelon-48.png", + "96": "images/Watermelon-96.png" + }, + "default_title": "React Example", + "default_popup": "popup.html" + }, + + "permissions": ["activeTab"] +} diff --git a/react-es6-popup/extension/popup.css b/react-es6-popup/extension/popup.css new file mode 100755 index 0000000..1b048c9 --- /dev/null +++ b/react-es6-popup/extension/popup.css @@ -0,0 +1,8 @@ +body { + width: 400px; + padding: 1em; +} + +h1, h2 { + border-bottom: 1px solid; +} diff --git a/react-es6-popup/extension/popup.html b/react-es6-popup/extension/popup.html new file mode 100755 index 0000000..a005aa0 --- /dev/null +++ b/react-es6-popup/extension/popup.html @@ -0,0 +1,11 @@ + + + + + + + +
+ + + diff --git a/react-es6-popup/package.json b/react-es6-popup/package.json new file mode 100644 index 0000000..e4930ae --- /dev/null +++ b/react-es6-popup/package.json @@ -0,0 +1,25 @@ +{ + "name": "react-es6-popup-example", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build": "webpack -w -v --display-error-details --progress --colors", + "start": "web-ext run -s extension/" + }, + "author": "", + "license": "MPL-2.0", + "devDependencies": { + "babel-core": "6.20.0", + "babel-loader": "6.2.9", + "babel-plugin-transform-class-properties": "6.19.0", + "babel-plugin-transform-object-rest-spread": "6.20.2", + "babel-preset-es2015": "6.18.0", + "babel-preset-react": "6.16.0", + "babel-preset-stage-2": "6.18.0", + "react": "15.4.1", + "react-dom": "15.4.1", + "web-ext": "1.6.0", + "webpack": "1.14.0" + } +} diff --git a/react-es6-popup/screenshots/popup.png b/react-es6-popup/screenshots/popup.png new file mode 100644 index 0000000000000000000000000000000000000000..933d43546c1ebc0ea361328479aaa5cc18ce1426 GIT binary patch literal 76908 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 z

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 z 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%0D1P%cqbuj8d*y*_>8;TFwT5iW**)d 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 literal 0 HcmV?d00001 diff --git a/react-es6-popup/src/nested-component.js b/react-es6-popup/src/nested-component.js new file mode 100644 index 0000000..1ca1496 --- /dev/null +++ b/react-es6-popup/src/nested-component.js @@ -0,0 +1,15 @@ +import React from 'react'; + +export default class Nested extends React.Component { + render() { + return ( +

+

Nested Component

+

+ This is an example of a nested component that was imported via + import / export syntax. +

+
+ ); + } +} diff --git a/react-es6-popup/src/popup.js b/react-es6-popup/src/popup.js new file mode 100755 index 0000000..045a618 --- /dev/null +++ b/react-es6-popup/src/popup.js @@ -0,0 +1,36 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; + +import Nested from './nested-component'; + +class Popup extends React.Component { + constructor(props) { + super(props); + this.state = {activeTab: null}; + } + + componentDidMount() { + // Get the active tab and store it in component state. + chrome.tabs.query({active: true}, tabs => { + this.setState({activeTab: tabs[0]}); + }); + } + + render() { + const {activeTab} = this.state; + return ( +
+

React Component

+

+ This is an example of a popup UI in React. +

+

+ Active tab: {activeTab ? activeTab.url : '[waiting for result]'} +

+ +
+ ); + } +} + +ReactDOM.render(, document.getElementById('app')); diff --git a/react-es6-popup/webpack.config.js b/react-es6-popup/webpack.config.js new file mode 100644 index 0000000..c6decf7 --- /dev/null +++ b/react-es6-popup/webpack.config.js @@ -0,0 +1,48 @@ +const path = require('path'); +const webpack = require('webpack'); + +module.exports = { + entry: { + // Each entry in here would declare a file that needs to be transpiled + // and included in the extension source. + // For example, you could add a background script like: + // background: './src/background.js', + popup: './src/popup.js', + }, + output: { + // This copies each source entry into the extension dist folder named + // after its entry config key. + path: 'extension/dist', + filename: '[name].js', + }, + module: { + // This transpiles all code (except for third party modules) using Babel. + loaders: [{ + exclude: /node_modules/, + test: /\.js$/, + // Babel options are in .babelrc + loaders: ['babel'], + }], + }, + resolve: { + // This allows you to import modules just like you would in a NodeJS app. + extensions: ['', '.js', '.jsx'], + root: [ + path.resolve(__dirname), + ], + modulesDirectories: [ + 'src', + 'node_modules', + ], + }, + plugins: [ + // Since some NodeJS modules expect to be running in Node, it is helpful + // to set this environment var to avoid reference errors. + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + }), + ], + // This will expose source map files so that errors will point to your + // original source files instead of the transpiled files. + devtool: 'sourcemap', +};