Skip to content

Commit

Permalink
Merge pull request #18 from smashingboxes/refactor/folders-style-yarn
Browse files Browse the repository at this point in the history
Initial restructure
  • Loading branch information
mweslander authored Jan 12, 2017
2 parents 597633d + 62581d7 commit a816465
Show file tree
Hide file tree
Showing 39 changed files with 6,431 additions and 454 deletions.
280 changes: 1 addition & 279 deletions .eslintrc

Large diffs are not rendered by default.

169 changes: 169 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
"rules": {
"at-rule-blacklist": null,
"at-rule-empty-line-before": ["always", {
"except": ["blockless-group", "first-nested"],
"ignore": ["after-comment"]
}],
"at-rule-name-case": "lower",
"at-rule-name-newline-after": "always-multi-line",
"at-rule-name-space-after": "always",
"at-rule-no-unknown": [true, {
"ignoreAtRules": ["define-mixin", "each", "for", "mixin"]
}],
"at-rule-no-vendor-prefix": true,
"at-rule-semicolon-newline-after": "always",
"at-rule-whitelist": null,
"block-closing-brace-empty-line-before": "never",
"block-closing-brace-newline-after": "always",
"block-closing-brace-newline-before": "always-multi-line",
"block-closing-brace-space-after": null,
"block-closing-brace-space-before": "always-single-line",
"block-no-empty": true,
"block-no-single-line": null,
"block-opening-brace-newline-after": "always-multi-line",
"block-opening-brace-newline-before": null,
"block-opening-brace-space-after": "always-single-line",
"block-opening-brace-space-before": "always",
"color-hex-case": "lower",
"color-hex-length": "short",
"color-named": "never",
"color-no-hex": null,
"color-no-invalid-hex": true,
"comment-empty-line-before": null,
"comment-no-empty": true,
"comment-whitespace-inside": null,
"custom-media-pattern": null,
"custom-property-empty-line-before": "never",
"custom-property-no-outside-root": null,
"custom-property-pattern": null,
"declaration-bang-space-after": "never",
"declaration-bang-space-before": "always",
"declaration-block-no-duplicate-properties": true,
"declaration-block-no-shorthand-property-overrides": true,
"declaration-block-properties-order": "alphabetical",
"declaration-block-semicolon-newline-after": "always-multi-line",
"declaration-block-semicolon-newline-before": "never-multi-line",
"declaration-block-semicolon-space-after": "always-single-line",
"declaration-block-semicolon-space-before": "never",
"declaration-block-single-line-max-declarations": 1,
"declaration-block-trailing-semicolon": "always",
"declaration-colon-newline-after": null,
"declaration-colon-space-after": "always",
"declaration-colon-space-before": "never",
"declaration-empty-line-before": "never",
"declaration-no-important": null,
"declaration-property-unit-blacklist": null,
"declaration-property-unit-whitelist": null,
"declaration-property-value-blacklist": null,
"declaration-property-value-whitelist": null,
"font-family-name-quotes": "always-unless-keyword",
"font-weight-notation": "numeric",
"function-blacklist": null,
"function-calc-no-unspaced-operator": true,
"function-comma-newline-after": "never-multi-line",
"function-comma-newline-before": "never-multi-line",
"function-comma-space-after": "always",
"function-comma-space-before": "never",
"function-linear-gradient-no-nonstandard-direction": true,
"function-parentheses-newline-inside": "never-multi-line",
"function-parentheses-space-inside": "never",
"function-url-no-scheme-relative": true,
"function-url-quotes": "always",
"function-whitelist": null,
"function-whitespace-after": "always",
"indentation": 2,
"keyframe-declaration-no-important": true,
"length-zero-no-unit": true,
"max-empty-lines": 1,
"max-line-length": null,
"max-nesting-depth": [ 4, {
"ignore": ["at-rules-without-declaration-blocks"]
}],
"media-feature-colon-space-after": "always",
"media-feature-colon-space-before": "never",
"media-feature-name-case": "lower",
"media-feature-name-no-vendor-prefix": true,
"media-feature-no-missing-punctuation": true,
"media-feature-parentheses-space-inside": "never",
"media-feature-range-operator-space-after": "always",
"media-feature-range-operator-space-before": "always",
"media-query-list-comma-newline-after": "always-multi-line",
"media-query-list-comma-newline-before": "never-multi-line",
"media-query-list-comma-space-after": "always-single-line",
"media-query-list-comma-space-before": "never",
"no-browser-hacks": null,
"no-descending-specificity": null,
"no-duplicate-selectors": null,
"no-eol-whitespace": true,
"no-extra-semicolons": true,
"no-invalid-double-slash-comments": true,
"no-missing-end-of-source-newline": true,
"no-unknown-animations": true,
"no-unsupported-browser-features": [null, {
"browsers": "> 1%, last 2 versions, ie >= 10"
}],
"number-leading-zero": "always",
"number-max-precision": 3,
"number-no-trailing-zeros": true,
"property-blacklist": null,
"property-no-unknown": [true, {
"ignoreProperties": [
"-webkit-overflow-scroll"
]
}],
"property-no-vendor-prefix": true,
"property-whitelist": null,
"rule-nested-empty-line-before": ["always-multi-line", {
"except": ["first-nested"],
"ignore": ["after-comment"]
}],
"root-no-standard-properties": null,
"rule-non-nested-empty-line-before": ["always-multi-line", {
"ignore": ["after-comment"]
}],
"selector-attribute-brackets-space-inside": "never",
"selector-attribute-operator-blacklist": null,
"selector-attribute-operator-space-after": "never",
"selector-attribute-operator-space-before": "never",
"selector-attribute-operator-whitelist": null,
"selector-attribute-quotes": "always",
"selector-class-pattern": null,
"selector-combinator-space-after": "always",
"selector-combinator-space-before": "always",
"selector-id-pattern": "always",
"selector-list-comma-newline-after": "always-multi-line",
"selector-list-comma-newline-before": "never-multi-line",
"selector-list-comma-space-after": "always-single-line",
"selector-list-comma-space-before": "never",
"selector-max-compound-selectors": 3,
"selector-max-empty-lines": 0,
"selector-max-specificity": "0,4,1",
"selector-no-attribute": null,
"selector-no-combinator": null,
"selector-no-id": true,
"selector-no-type": null,
"selector-no-universal": null,
"selector-no-vendor-prefix": true,
"selector-pseudo-class-blacklist": null,
"selector-pseudo-class-no-unknown": [true, {
"ignorePseudoClasses": ["container"],
}],
"selector-pseudo-class-whitelist": null,
"selector-pseudo-element-colon-notation": "double",
"selector-pseudo-element-no-unknown": [true, {
"ignorePseudoElements": ["ms-expand"]
}],
"selector-root-no-composition": true,
"selector-type-case": "lower",
"selector-type-no-unknown": null,
"string-no-newline": true,
"string-quotes": "double",
"time-no-imperceptible": true,
"unit-blacklist": null,
"unit-whitelist": null,
"value-list-comma-newline-after": "always-multi-line",
"value-list-comma-newline-before": "never-multi-line",
"value-list-comma-space-after": "always-single-line",
"value-list-comma-space-before": "never",
"value-no-vendor-prefix": true
}
5 changes: 1 addition & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ addons:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
before_script:
- npm rebuild node-sass
script:
- npm run lint
- NODE_ENV=test node --require babel-core/register node_modules/karma/bin/karma start --single-run
- npm run test
- npm run build
118 changes: 60 additions & 58 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,84 +1,86 @@
{
"name": "web-boilerplate",
"version": "1.0.0",
"version": "1.1.0",
"description": "A template for new front-end projects.",
"main": "index.js",
"scripts": {
"pretest": "npm run lint",
"test": "NODE_ENV=test karma start",
"lint": "npm run lint:css && npm run lint:js",
"lint:css": "stylelint 'src/css/**/*.css' || true",
"lint:js": "eslint --format 'node_modules/eslint-friendly-formatter' --ext .js,.jsx ./src",
"lint:dev": "npm run lint -- -w",
"pretest": "npm run lint:css && npm run lint:js",
"test": "NODE_ENV=test mocha --compilers jsx:babel-register --opts 'support/mocha.opts' 'src/**/*.spec.*'",
"test:dev": "npm test -- -w",
"build": "webpack -d --progress --colors",
"build-production": "NODE_ENV=production webpack -p --progress --colors",
"lint": "eslint --format 'node_modules/eslint-friendly-formatter' src/**/*.jsx",
"build:production": "NODE_ENV=production webpack -p --progress --colors",
"start": "webpack-dev-server -d"
},
"repository": {
"type": "git",
"url": "git+https://github.com/smashingboxes/web-boilerplate.git"
},
"author": "Zach Kuhn",
"author": "Smashing Boxes",
"private": true,
"license": "UNLICENSED",
"bugs": {
"url": "https://github.com/smashingboxes/web-boilerplate/issues"
},
"homepage": "https://github.com/smashingboxes/web-boilerplate#readme",
"dependencies": {
"axios": "^0.15.3",
"normalize.css": "^5.0.0",
"react": "^15.4.1",
"react-dom": "^15.4.1",
"react-redux": "^5.0.1",
"react-router": "^3.0.0",
"redbox-react": "^1.3.3",
"redux": "^3.6.0",
"redux-thunk": "^2.1.0",
"sanitize.css": "^4.1.0"
},
"devDependencies": {
"babel-core": "^6.14.0",
"babel-eslint": "^6.1.2",
"babel-istanbul-loader": "^0.1.0",
"babel-loader": "^6.2.1",
"babel-polyfill": "^6.9.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-stage-2": "^6.3.13",
"babel-register": "^6.14.0",
"babel-core": "^6.21.0",
"babel-loader": "^6.2.10",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-2": "^6.18.0",
"babel-register": "^6.18.0",
"chai": "^3.5.0",
"chai-enzyme": "^0.5.0",
"cheerio": "^0.20.0",
"clean-webpack-plugin": "^0.1.8",
"css-loader": "^0.23.1",
"enzyme": "^2.3.0",
"es6-promise": "^3.1.2",
"eslint": "^3.3.1",
"eslint-friendly-formatter": "^2.0.5",
"eslint-loader": "^1.2.1",
"eslint-plugin-react": "^6.1.2",
"chai-enzyme": "^0.6.1",
"cheerio": "^0.22.0",
"clean-webpack-plugin": "^0.1.14",
"css-loader": "^0.26.1",
"enzyme": "^2.7.0",
"es6-promise": "^4.0.5",
"eslint": "^3.12.2",
"eslint-config-smashing-boxes": "^1.1.0",
"eslint-friendly-formatter": "^2.0.6",
"eslint-loader": "^1.6.1",
"eslint-plugin-react": "^6.8.0",
"faker": "^3.1.0",
"file-loader": "^0.8.5",
"html-webpack-plugin": "^2.8.1",
"file-loader": "^0.9.0",
"html-webpack-plugin": "^2.24.1",
"json-loader": "^0.5.4",
"karma": "^1.1.1",
"karma-coverage": "^1.0.0",
"karma-mocha": "^1.0.1",
"karma-mocha-reporter": "^2.0.3",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sinon-chai": "^1.2.3",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^1.7.0",
"lolex": "^1.4.0",
"mocha": "^3.0.0-0",
"node-sass": "^3.4.2",
"phantomjs-prebuilt": "^2.1.3",
"postcss-loader": "^0.9.1",
"react-addons-test-utils": "^15.2.1",
"resolve-url-loader": "^1.4.3",
"sass-loader": "^3.1.2",
"sinon": "^1.17.3",
"lolex": "^1.5.2",
"mocha": "^3.2.0",
"postcss-apply": "^0.4.0",
"postcss-assets": "^4.1.0",
"postcss-cssnext": "^2.9.0",
"postcss-hexrgba": "^0.2.1",
"postcss-import": "^9.0.0",
"postcss-loader": "^1.2.1",
"postcss-nested": "^1.0.0",
"postcss-reporter": "^3.0.0",
"precss": "^1.4.0",
"react-addons-test-utils": "^15.4.1",
"resolve-url-loader": "^1.6.1",
"sinon": "^1.17.6",
"sinon-chai": "^2.8.0",
"style-loader": "^0.13.0",
"style-loader": "^0.13.1",
"stylelint": "^7.7.0",
"url-loader": "^0.5.7",
"webpack": "^1.12.12",
"webpack-dev-server": "^1.14.1",
"webpack-hot-middleware": "^2.9.1"
},
"dependencies": {
"autoprefixer": "^6.3.1",
"lost": "^6.7.1",
"react": "^15.2.1",
"react-dom": "^15.2.1",
"react-redux": "^4.4.1",
"react-router": "^2.4.1",
"redbox-react": "^1.3.0",
"redux": "^3.3.1"
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2",
"webpack-hot-middleware": "^2.13.2"
}
}
14 changes: 8 additions & 6 deletions src/Routes.jsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import React from 'react';
import { Route, Router, browserHistory } from 'react-router';
import HelloWorld from './hello-world/HelloWorld';
import { Route, Router, browserHistory as history } from 'react-router';
import AppContainer from './containers/AppContainer';

export default () => {
function Routes() {
return (
<Router history={browserHistory}>
<Route path="/" component={HelloWorld} />
<Router history={history}>
<Route path="/" component={AppContainer} />
</Router>
);
};
}

export default Routes;
12 changes: 12 additions & 0 deletions src/actions/helloWorldActions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function setName(name) {
return {
type: 'SET_NAME',
payload: {
name
}
};
}

module.exports = {
setName
};
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ describe('Hello World Actions', () => {
const name = faker.name.firstName();
expect(actions.setName(name)).to.eql({
type: 'SET_NAME',
name
})
payload: { name }
});
});
});
});
22 changes: 22 additions & 0 deletions src/components/App.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import React, { PropTypes } from 'react';

import Greeting from './Greeting';
import NameTaker from './NameTaker';

const propTypes = {
name: PropTypes.string.isRequired,
onSubmit: PropTypes.func.isRequired
};

function App({ name, onSubmit }) {
return (
<div>
<Greeting name={name} />
<NameTaker name={name} onSubmit={onSubmit} />
</div>
);
}

App.propTypes = propTypes;

export default App;
Loading

0 comments on commit a816465

Please sign in to comment.