Skip to content

Commit

Permalink
Added webpack
Browse files Browse the repository at this point in the history
  • Loading branch information
mmmoli committed Oct 14, 2015
1 parent 3634db6 commit 136a1e1
Show file tree
Hide file tree
Showing 8 changed files with 365 additions and 2 deletions.
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# EditorConfig: http://EditorConfig.org
# all files defaults
[**]
# Unix-style newlines with a newline ending
end_of_line = lf
insert_final_newline = true
# Set default charset
charset = utf-8
# 4 space indentation
indent_style = space
indent_size = 4
# trim whitespaces
trim_trailing_whitespace = true
# always insert final newline
insert_final_newline = true

# 2 spaces indent for config files
[{package.json}]
indent_style = space
indent_size = 2
252 changes: 252 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
{
// I want to use babel-eslint for parsing!
"parser": "babel-eslint",
"env": {
// I write for browser
"browser": true,
// in CommonJS
"node": true,
// use ES6
"es6": true
},
"ecmaProperties": {
// enable JSX support
"jsx": true
},
"plugins": [
// enable react plugin
"react"
],
"globals": {
"__WEBPACK__": true
},
// To give you an idea how to override rule options
"rules": {
// Possible Errors
"comma-dangle": 0,
"no-console": 2,
"no-debugger": 1,
"no-dupe-keys": 2,
"no-dupe-args": 2,
"no-empty": 2,
"no-extra-boolean-cast": 2,
"no-extra-semi": 2,
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"quote-props": [
2,
"consistent-as-needed",
{
"keywords": true
}
],
"no-sparse-arrays": 2,
"no-unreachable": 2,
"use-isnan": 2,
"valid-jsdoc": 2,
"valid-typeof": 2,
// Best Practices
"consistent-return": 1,
"curly": 2,
"default-case": 2,
"dot-notation": 2,
"eqeqeq": 2,
"no-alert": 2,
"no-caller": 2,
"no-else-return": 2,
"no-eq-null": 2,
"no-eval": 2,
"no-extend-native": 2,
"no-floating-decimal": 2,
"no-implied-eval": 2,
"no-iterator": 2,
"no-labels": 2,
"no-loop-func": 1,
"no-lone-blocks": 2,
"no-multi-spaces": 2,
"no-native-reassign": 2,
"no-new": 2,
"no-new-func": 2,
"no-new-wrappers": 2,
"no-proto": 2,
"no-redeclare": 2,
"no-return-assign": 2,
"no-script-url": 2,
"no-self-compare": 2,
"no-sequences": 2,
"no-throw-literal": 2,
"no-unused-expressions": 2,
"no-void": 2,
"radix": 2,
"yoda": 0,
// Strict Mode
"strict": 0,
// Variables
"no-catch-shadow": 2,
"no-delete-var": 2,
"no-shadow": 2,
"no-shadow-restricted-names": 2,
"no-undef": 2,
"no-unused-vars": [
2,
{
"vars": "all",
"args": "after-used"
}
],
"no-use-before-define": 2,
// Node
"handle-callback-err": 2,
"no-new-require": 2,
"no-path-concat": 2,
// Stylistic Issues
"indent": 2,
// 4 spaces
"camelcase": 0,
"comma-spacing": [
2,
{
"before": false,
"after": true
}
],
"comma-style": [
2,
"last"
],
"eol-last": 2,
"func-style": [
2,
"expression"
],
"max-nested-callbacks": [
2,
3
],
"no-array-constructor": 2,
"no-mixed-spaces-and-tabs": 2,
"no-multiple-empty-lines": [
1,
{
"max": 2
}
],
"no-nested-ternary": 2,
"no-new-object": 2,
"semi-spacing": [
2,
{
"before": false,
"after": true
}
],
"no-spaced-func": 2,
"no-trailing-spaces": 2,
"no-underscore-dangle": 2,
"no-extra-parens": [
2,
"functions"
],
"quote-props": [
1,
"as-needed"
],
"quotes": [
1,
"single"
],
"semi": [
2,
"always"
],
"semi-spacing": [
2,
{
"before": false,
"after": true
}
],
"space-before-function-paren": [
1,
{
"anonymous": "never",
"named": "never"
}
],
"space-after-keywords": [
1,
"always"
],
"space-before-blocks": [
1,
"always"
],
"object-curly-spacing": [
1,
"never"
],
"array-bracket-spacing": [
1,
"never"
],
"computed-property-spacing": [
1,
"never"
],
"space-in-parens": [
1,
"never"
],
"key-spacing": [
1,
{
"beforeColon": false,
"afterColon": true
}
],
"object-curly-spacing": [
1,
"never"
],
"space-infix-ops": 2,
// complexity rules
"max-depth": [
2,
3
],
"max-statements": [
1,
20
],
"complexity": [
1,
3
],
"max-len": [
2,
120
],
"max-params": [
2,
2
],
// jsx rules
"react/jsx-quotes": 1,
"react/jsx-no-undef": 1,
"react/jsx-uses-react": 1,
"react/jsx-uses-vars": 1,
"react/no-did-mount-set-state": 1,
"react/no-did-update-set-state": 1,
"react/no-multi-comp": 1,
"react/react-in-jsx-scope": 1,
"react/self-closing-comp": 1,
"react/wrap-multilines": 1,
// ES6
"prefer-const": 2,
"object-shorthand": [
2,
"always"
],
"no-var": 2
}
}
10 changes: 10 additions & 0 deletions build/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Worklife – Camden</title>
</head>
<body>
Display
<script src="/worklife-camden.js"></script></body>
</html>
2 changes: 2 additions & 0 deletions build/worklife-camden.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 16 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"description": "Climb.social display for Worklife – Camden",
"main": "src/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server --content-base src/",
"build": "webpack -p"
},
"repository": {
"type": "git",
Expand All @@ -20,5 +22,17 @@
"bugs": {
"url": "https://github.com/Climb-social/worklife-camden-display/issues"
},
"homepage": "https://github.com/Climb-social/worklife-camden-display#readme"
"homepage": "https://github.com/Climb-social/worklife-camden-display#readme",
"devDependencies": {
"babel-core": "^5.8.25",
"babel-eslint": "^4.1.3",
"babel-loader": "^5.3.2",
"eslint": "^1.6.0",
"eslint-loader": "^1.1.0",
"eslint-plugin-react": "^3.5.1",
"html-webpack-plugin": "^1.6.2",
"json-loader": "^0.5.3",
"webpack": "^1.12.2",
"webpack-dev-server": "^1.12.0"
}
}
10 changes: 10 additions & 0 deletions src/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Worklife – Camden</title>
</head>
<body>
Display
</body>
</html>
3 changes: 3 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/**
* Created by michele on 14/10/15.
*/
52 changes: 52 additions & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
devtool: 'inline-source-map',
debug: true,
context: path.resolve(__dirname),
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'build'),
publicPath: '/',
filename: 'worklife-camden.js'
},
resolve: {
root: path.resolve(__dirname),
extensions: ['', '.js', '.jsx'],
modulesDirectories: ['node_modules']
},
node: {
fs: 'empty'
},
eslint: {
configFile: path.join(__dirname, '.eslintrc')
},
module: {
preLoaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'eslint'
}
],
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {stage: 0}
}
]
},
externals: {
'react': 'React'
},
plugins: [
new HtmlWebpackPlugin({
inject: true,
template: 'src/index.html'
})
]
};

0 comments on commit 136a1e1

Please sign in to comment.