Skip to content

Commit 9afbf8d

Browse files
committed
Initial commit.
Sets the following up infrastructure: - npm packages - webpack powered by babel - Flow Type checker - electron and the dev server - mocha+chai tests
0 parents  commit 9afbf8d

File tree

8 files changed

+837
-0
lines changed

8 files changed

+837
-0
lines changed

.babelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"presets": ["es2015", "react"],
3+
"plugins": ["transform-flow-strip-types"]
4+
}

.flowconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[ignore]
2+
.*/node_modules/fbjs/.*
3+
4+
[include]
5+
6+
[libs]
7+
src/domain/
8+
9+
[options]

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
6+
# Builds
7+
build
8+
9+
# Dependencies
10+
node_modules
11+
12+
# webpack generated files
13+
.tmp

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Wys
2+
An off-line budgeting and personal finance application.
3+
4+
## Development
5+
In one terminal run:
6+
```
7+
npm run watch
8+
```
9+
10+
In another run:
11+
```
12+
npm start
13+
```
14+
15+
Type checking can be done with the [Flow](https://flowtype.org/) type checker.
16+
17+
## License
18+
Wys is licensed under the [GPLv3](LICENSE).
19+
```
20+
Copyright (C) 2016 Ryan Plessner
21+
22+
This program is free software: you can redistribute it and/or modify
23+
it under the terms of the GNU General Public License as published by
24+
the Free Software Foundation, either version 3 of the License, or
25+
(at your option) any later version.
26+
27+
Wys is distributed in the hope that it will be useful,
28+
but WITHOUT ANY WARRANTY; without even the implied warranty of
29+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30+
GNU General Public License for more details.
31+
32+
You should have received a copy of the GNU General Public License
33+
along with Wys. If not, see <http://www.gnu.org/licenses/>.
34+
```

package.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"name": "wys",
3+
"version": "0.1.0",
4+
"main": "main.js",
5+
"license" : "GPL-3.0",
6+
7+
"scripts": {
8+
"start": "ENVIRONMENT=DEV electron .",
9+
"build": "webpack",
10+
"watch": "webpack-dev-server --hot --inline --display-error-details",
11+
"test": "mocha-webpack --webpack-config webpack.config-test.js \"test/**/*.test.js\""
12+
},
13+
"devDependencies": {
14+
"babel-core": "^6.13.2",
15+
"babel-loader": "^6.2.4",
16+
"babel-plugin-transform-flow-strip-types": "^6.14.0",
17+
"babel-preset-es2015": "^6.13.2",
18+
"babel-preset-react": "^6.11.1",
19+
"chai": "^3.5.0",
20+
"chai-as-promised": "^6.0.0",
21+
"css-loader": "^0.23.1",
22+
"electron-prebuilt": "^1.3.3",
23+
"mocha": "^3.1.0",
24+
"mocha-webpack": "^0.6.0",
25+
"node-sass": "^3.8.0",
26+
"sass-loader": "^4.0.0",
27+
"source-map-support": "^0.4.3",
28+
"style-loader": "^0.13.1",
29+
"webpack": "^1.13.1",
30+
"webpack-dev-server": "1.14.0",
31+
"webpack-node-externals": "^1.5.4"
32+
},
33+
"dependencies": {
34+
"bluebird": "^3.4.6",
35+
"nedb": "^1.8.0",
36+
"ramda": "^0.22.1",
37+
"react": "^15.3.0",
38+
"react-dom": "^15.3.0",
39+
"react-redux": "^4.4.5",
40+
"redux": "^3.5.2",
41+
"redux-thunk": "^2.1.0",
42+
"uuid": "^2.0.2"
43+
}
44+
}

webpack.config-test.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var nodeExternals = require('webpack-node-externals');
2+
3+
module.exports = {
4+
target: 'node', // in order to ignore built-in modules like path, fs, etc.
5+
externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
6+
devtool: 'source-map',
7+
8+
module: {
9+
loaders: [
10+
{
11+
test: /\.jsx?$/,
12+
loaders: ['babel-loader'],
13+
exclude: /node_modules/
14+
}
15+
]
16+
},
17+
18+
resolve: {
19+
extensions: ['', '.js', '.jsx'],
20+
},
21+
};

webpack.config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
var webpack = require('webpack');
2+
3+
module.exports = {
4+
context: __dirname + '/src',
5+
entry: './index.js',
6+
7+
output: {
8+
filename: 'bundle.js',
9+
path: __dirname + '/build',
10+
publicPath: 'http://localhost:8080/build/'
11+
},
12+
13+
module: {
14+
loaders: [
15+
{
16+
test: /\.jsx?$/,
17+
loaders: ['babel-loader'],
18+
exclude: /node_modules/
19+
},
20+
{
21+
test: /\.scss$/,
22+
loader: 'style-loader!css-loader!sass-loader'
23+
},
24+
{
25+
test: /\.css$/,
26+
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader'
27+
},
28+
{
29+
test: /\.png|\.svg$/,
30+
loaders: ['file-loader']
31+
}
32+
]
33+
},
34+
35+
resolve: {
36+
extensions: ['', '.js', '.jsx'],
37+
},
38+
};

0 commit comments

Comments
 (0)