diff options
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | .travis.yml | 16 | ||||
-rw-r--r-- | CONTRIBUTING.md | 27 | ||||
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | nwb.config.js | 3 | ||||
-rw-r--r-- | package.json | 24 | ||||
-rw-r--r-- | public/.gitkeep | 0 | ||||
-rw-r--r-- | src/App.css | 48 | ||||
-rw-r--r-- | src/App.js | 19 | ||||
-rw-r--r-- | src/index.css | 8 | ||||
-rw-r--r-- | src/index.html | 13 | ||||
-rw-r--r-- | src/index.js | 8 | ||||
-rw-r--r-- | src/react.svg | 35 | ||||
-rw-r--r-- | tests/.eslintrc | 5 | ||||
-rw-r--r-- | tests/App-test.js | 23 |
15 files changed, 236 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95c5d52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/coverage +/dist +/node_modules +npm-debug.log* diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..06e30d9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,16 @@ +sudo: false + +language: node_js +node_js: + - 8 + +before_install: + - npm install codecov.io coveralls + +after_success: + - cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js + - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +branches: + only: + - master diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..dd641ce --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,27 @@ +## Prerequisites + +[Node.js](http://nodejs.org/) >= 6 must be installed. + +## Installation + +- Running `npm install` in the app's root directory will install everything you need for development. + +## Development Server + +- `npm start` will run the app's development server at [http://localhost:3000](http://localhost:3000) with hot module reloading. + +## Running Tests + +- `npm test` will run the tests once. + +- `npm run test:coverage` will run the tests and produce a coverage report in `coverage/`. + +- `npm run test:watch` will run the tests on every change. + +## Building + +- `npm run build` creates a production build by default. + + To create a development build, set the `NODE_ENV` environment variable to `development` while running this command. + +- `npm run clean` will delete built resources. diff --git a/README.md b/README.md new file mode 100644 index 0000000..73f395d --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# fcked-rt + +Describe fcked-rt here. diff --git a/nwb.config.js b/nwb.config.js new file mode 100644 index 0000000..89ee4a9 --- /dev/null +++ b/nwb.config.js @@ -0,0 +1,3 @@ +module.exports = { + type: 'react-app' +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b6f25e0 --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "fcked-rt", + "version": "1.0.0", + "description": "Describe fcked-rt here", + "private": true, + "scripts": { + "build": "nwb build-react-app", + "clean": "nwb clean-app", + "start": "nwb serve-react-app", + "test": "nwb test-react", + "test:coverage": "nwb test-react --coverage", + "test:watch": "nwb test-react --server" + }, + "dependencies": { + "react": "^16.12.0", + "react-dom": "^16.12.0" + }, + "devDependencies": { + "nwb": "0.23.x" + }, + "author": "", + "license": "MIT", + "repository": "" +} diff --git a/public/.gitkeep b/public/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/public/.gitkeep diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..3837551 --- /dev/null +++ b/src/App.css @@ -0,0 +1,48 @@ +.App { + height: 100%; + min-height: 400px; + text-align: center; + display: flex; + flex-direction: column; + justify-content: stretch; +} + +.App-flex { + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} + +.App-heading { + background-color: #222; + color: #f8f8f8; + font-size: 6vh; + box-shadow: 0px 4px 4vh 4px rgba(34,34,34,0.9); + z-index: 2; +} + +.App-react { + color: #00d8ff; + text-decoration: overline underline; +} + +.App-logo { + max-height: 30vh; + max-width: 30vh; +} + +.App-instructions { + background-color: #f8f8f8; + color: #222; + font-size: 3vh; + line-height: 1.5; + padding: 0 1em; +} + +.App-instructions code { + background-color: #222; + color: #00d8ff; + padding: .2em .3em; + border-radius: .2em; +} diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..b890840 --- /dev/null +++ b/src/App.js @@ -0,0 +1,19 @@ +import './App.css' + +import React, {Component} from 'react' + +class App extends Component { + render() { + return <div className="App"> + <div className="App-heading App-flex"> + <h2>Welcome to <span className="App-react">React</span></h2> + </div> + <div className="App-instructions App-flex"> + <img className="App-logo" src={require('./react.svg')}/> + <p>Edit <code>src/App.js</code> and save to hot reload your changes.</p> + </div> + </div> + } +} + +export default App diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..8f8b785 --- /dev/null +++ b/src/index.css @@ -0,0 +1,8 @@ +html, body, #app { + height: 100%; +} +body { + font-family: sans-serif; + margin: 0; + padding: 0; +} diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..d0bdd15 --- /dev/null +++ b/src/index.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta http-equiv="x-ua-compatible" content="ie=edge"> + <title>fcked-rt</title> + <meta name="description" content=""> + </head> + <body> + <div id="app"></div> + </body> +</html> diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..6223095 --- /dev/null +++ b/src/index.js @@ -0,0 +1,8 @@ +import './index.css' + +import React from 'react' +import {render} from 'react-dom' + +import App from './App' + +render(<App/>, document.querySelector('#app')) diff --git a/src/react.svg b/src/react.svg new file mode 100644 index 0000000..467e1dc --- /dev/null +++ b/src/react.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"> +<g> + <path fill="#61DAFB" d="M666.3,296.5c0-32.5-40.7-63.3-103.1-82.4c14.4-63.6,8-114.2-20.2-130.4c-6.5-3.8-14.1-5.6-22.4-5.6v22.3 + c4.6,0,8.3,0.9,11.4,2.6c13.6,7.8,19.5,37.5,14.9,75.7c-1.1,9.4-2.9,19.3-5.1,29.4c-19.6-4.8-41-8.5-63.5-10.9 + c-13.5-18.5-27.5-35.3-41.6-50c32.6-30.3,63.2-46.9,84-46.9l0-22.3c0,0,0,0,0,0c-27.5,0-63.5,19.6-99.9,53.6 + c-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7,0,51.4,16.5,84,46.6c-14,14.7-28,31.4-41.3,49.9c-22.6,2.4-44,6.1-63.6,11 + c-2.3-10-4-19.7-5.2-29c-4.7-38.2,1.1-67.9,14.6-75.8c3-1.8,6.9-2.6,11.5-2.6l0-22.3c0,0,0,0,0,0c-8.4,0-16,1.8-22.6,5.6 + c-28.1,16.2-34.4,66.7-19.9,130.1c-62.2,19.2-102.7,49.9-102.7,82.3c0,32.5,40.7,63.3,103.1,82.4c-14.4,63.6-8,114.2,20.2,130.4 + c6.5,3.8,14.1,5.6,22.5,5.6c27.5,0,63.5-19.6,99.9-53.6c36.4,33.8,72.4,53.2,99.9,53.2c8.4,0,16-1.8,22.6-5.6 + c28.1-16.2,34.4-66.7,19.9-130.1C625.8,359.7,666.3,328.9,666.3,296.5z M536.1,229.8c-3.7,12.9-8.3,26.2-13.5,39.5 + c-4.1-8-8.4-16-13.1-24c-4.6-8-9.5-15.8-14.4-23.4C509.3,224,523,226.6,536.1,229.8z M490.3,336.3c-7.8,13.5-15.8,26.3-24.1,38.2 + c-14.9,1.3-30,2-45.2,2c-15.1,0-30.2-0.7-45-1.9c-8.3-11.9-16.4-24.6-24.2-38c-7.6-13.1-14.5-26.4-20.8-39.8 + c6.2-13.4,13.2-26.8,20.7-39.9c7.8-13.5,15.8-26.3,24.1-38.2c14.9-1.3,30-2,45.2-2c15.1,0,30.2,0.7,45,1.9 + c8.3,11.9,16.4,24.6,24.2,38c7.6,13.1,14.5,26.4,20.8,39.8C504.7,309.8,497.8,323.2,490.3,336.3z M522.6,323.3 + c5.4,13.4,10,26.8,13.8,39.8c-13.1,3.2-26.9,5.9-41.2,8c4.9-7.7,9.8-15.6,14.4-23.7C514.2,339.4,518.5,331.3,522.6,323.3z + M421.2,430c-9.3-9.6-18.6-20.3-27.8-32c9,0.4,18.2,0.7,27.5,0.7c9.4,0,18.7-0.2,27.8-0.7C439.7,409.7,430.4,420.4,421.2,430z + M346.8,371.1c-14.2-2.1-27.9-4.7-41-7.9c3.7-12.9,8.3-26.2,13.5-39.5c4.1,8,8.4,16,13.1,24C337.1,355.7,341.9,363.5,346.8,371.1z + M420.7,163c9.3,9.6,18.6,20.3,27.8,32c-9-0.4-18.2-0.7-27.5-0.7c-9.4,0-18.7,0.2-27.8,0.7C402.2,183.3,411.5,172.6,420.7,163z + M346.7,221.9c-4.9,7.7-9.8,15.6-14.4,23.7c-4.6,8-8.9,16-13,24c-5.4-13.4-10-26.8-13.8-39.8C318.6,226.7,332.4,224,346.7,221.9z + M256.2,347.1c-35.4-15.1-58.3-34.9-58.3-50.6c0-15.7,22.9-35.6,58.3-50.6c8.6-3.7,18-7,27.7-10.1c5.7,19.6,13.2,40,22.5,60.9 + c-9.2,20.8-16.6,41.1-22.2,60.6C274.3,354.2,264.9,350.8,256.2,347.1z M310,490c-13.6-7.8-19.5-37.5-14.9-75.7 + c1.1-9.4,2.9-19.3,5.1-29.4c19.6,4.8,41,8.5,63.5,10.9c13.5,18.5,27.5,35.3,41.6,50c-32.6,30.3-63.2,46.9-84,46.9 + C316.8,492.6,313,491.7,310,490z M547.2,413.8c4.7,38.2-1.1,67.9-14.6,75.8c-3,1.8-6.9,2.6-11.5,2.6c-20.7,0-51.4-16.5-84-46.6 + c14-14.7,28-31.4,41.3-49.9c22.6-2.4,44-6.1,63.6-11C544.3,394.8,546.1,404.5,547.2,413.8z M585.7,347.1c-8.6,3.7-18,7-27.7,10.1 + c-5.7-19.6-13.2-40-22.5-60.9c9.2-20.8,16.6-41.1,22.2-60.6c9.9,3.1,19.3,6.5,28.1,10.2c35.4,15.1,58.3,34.9,58.3,50.6 + C644,312.2,621.1,332.1,585.7,347.1z"/> + <polygon fill="#61DAFB" points="320.8,78.4 320.8,78.4 320.8,78.4 "/> + <circle fill="#61DAFB" cx="420.9" cy="296.5" r="45.7"/> + <polygon fill="#61DAFB" points="520.5,78.1 520.5,78.1 520.5,78.1 "/> +</g> +</svg> diff --git a/tests/.eslintrc b/tests/.eslintrc new file mode 100644 index 0000000..7eeefc3 --- /dev/null +++ b/tests/.eslintrc @@ -0,0 +1,5 @@ +{ + "env": { + "mocha": true + } +} diff --git a/tests/App-test.js b/tests/App-test.js new file mode 100644 index 0000000..367dfea --- /dev/null +++ b/tests/App-test.js @@ -0,0 +1,23 @@ +import expect from 'expect' +import React from 'react' +import {render, unmountComponentAtNode} from 'react-dom' + +import App from 'src/App' + +describe('App component', () => { + let node + + beforeEach(() => { + node = document.createElement('div') + }) + + afterEach(() => { + unmountComponentAtNode(node) + }) + + it('displays a welcome message', () => { + render(<App/>, node, () => { + expect(node.textContent).toContain('Welcome to React') + }) + }) +}) |