summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--.travis.yml16
-rw-r--r--CONTRIBUTING.md27
-rw-r--r--README.md3
-rw-r--r--nwb.config.js3
-rw-r--r--package.json24
-rw-r--r--public/.gitkeep0
-rw-r--r--src/App.css48
-rw-r--r--src/App.js19
-rw-r--r--src/index.css8
-rw-r--r--src/index.html13
-rw-r--r--src/index.js8
-rw-r--r--src/react.svg35
-rw-r--r--tests/.eslintrc5
-rw-r--r--tests/App-test.js23
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')
+ })
+ })
+})