Compare commits

..

1 Commits

Author SHA1 Message Date
Sabe Jones
89cf3bf201 chore: Bump version to &s 2016-05-26 02:50:12 +00:00
8987 changed files with 153972 additions and 263515 deletions

View File

@@ -1,3 +1,3 @@
{
"directory": "website/client-old/bower_components"
"directory": "website/client/bower_components"
}

View File

@@ -1,3 +0,0 @@
node_modules
.git
website

View File

@@ -0,0 +1,7 @@
option_settings:
- namespace: aws:elasticbeanstalk:command
option_name: Timeout
value: 1800
- namespace: aws:elb:policies
option_name: ConnectionSettingIdleTimeout
value: 900

View File

@@ -1,20 +1,6 @@
option_settings:
- namespace: aws:elasticbeanstalk:command
option_name: Timeout
value: 1800
- namespace: aws:elb:policies
option_name: ConnectionSettingIdleTimeout
value: 900
commands:
01_sym_node:
01_sym:
command: "ln -sf $(ls -td /opt/elasticbeanstalk/node-install/node-* | head -1)/bin/node /bin/node"
files:
"/opt/elasticbeanstalk/hooks/appdeploy/pre/41update_npm.sh" :
mode: "000775"
owner: root
group: users
content: |
$(ls -td /opt/elasticbeanstalk/node-install/node-* | head -1)/bin/npm install -g npm@4
container_commands:
01_makeBabel:
command: "touch /tmp/.babel.json"

View File

@@ -1,11 +0,0 @@
# top level config
root = true
# all files
[*]
charset = utf-8
end_of_line = lf # Unix-style
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

View File

@@ -1,23 +1,35 @@
# Compiled and vendored files
common/dist/
common/transpiled-babel/
coverage/
database_reports/
website/build/
website/transpiled-babel/
website/common/transpiled-babel/
dist/
dist-client/
# Not linted
migrations/*
website/client-old/
scripts/*
test/server_side/**/*
test/client-old/spec/**/*
# Temporarilly disabled. These should be removed when the linting errors are fixed TODO
website/common/script/content/index.js
website/common/browserify.js
test/content/**/*
Gruntfile.js
# The files in website/client/js should be moved out and browserified
website/client/
# Temporarilly disabled. These should be removed when the linting errors are fixed
common/script/content/index.js
common/script/public/**/*.js
website/server/**/api-v2/**/*.js
website/server/routes/payments.js
website/server/routes/pages.js
website/server/middlewares/apiThrottle.js
website/server/middlewares/forceRefresh.js
debug-scripts/*
scripts/*
tasks/*.js
gulpfile.js
gulp
Gruntfile.js
newrelic.js
test/api-legacy/**/*
test/common/simulations/**/*
test/content/**/*
test/server_side/**/*
test/spec/**/*

View File

@@ -1,10 +1,9 @@
{
"root": true,
"env": {
"node": true,
},
"extends": [
"habitrpg",
"habitrpg/esnext"
"habitrpg/server",
"habitrpg/babel"
],
"globals": {
"Promise": true
}
}

View File

@@ -1,4 +1,4 @@
[//]: # (Before logging this issue, look through common problems at https://github.com/HabitRPG/habitrpg/issues If you find your issue there, read at least the first post to see if there is a workaround for you)
[//]: # (Before logging this issue, look through common problems at https://github.com/HabitRPG/habitrpg/issue If you find your issue there, read at least the first post to see if there is a workaround for you)
[//]: # (Github is primarily used for reporting bugs. If you have a feature request, use "Help > Request a Feature" so that the feature request can be vetted by the larger Habitica community)

View File

@@ -9,6 +9,5 @@ Fixes put_issue_url_here
[//]: # (Put User ID in here - found in Settings -> API)
----
UUID:

25
.gitignore vendored
View File

@@ -1,19 +1,18 @@
.DS_Store
website/client-old/gen
website/client-old/common
website/client-old/apidoc
website/client-old/js/habitrpg-shared.js*
website/client-old/css/habitrpg-shared.css
website/client/gen
website/client/common
website/client/apidoc
website/transpiled-babel/
website/common/transpiled-babel/
common/transpiled-babel/
node_modules
*.swp
.idea*
config.json
npm-debug.log*
lib
website/client-old/bower_components
website/client-old/new-stuff.html
website/client/bower_components
website/client/new-stuff.html
website/build
newrelic_agent.log
.bower-tmp
.bower-registry
@@ -26,16 +25,14 @@ src/*/*.map
src/*/*/*.map
test/*.js
test/*.map
website/client-old/docs
website/client/docs
*.sublime-workspace
coverage
coverage.html
common/dist/scripts/*
dist
dist-client
test/client/unit/coverage
test/client/e2e/reports
test/client-old/spec/mocks/translations.js
common/dist/sprites/habitrpg-shared.css
test/spec/mocks/translations.js
# Elastic Beanstalk Files
.elasticbeanstalk/*

View File

@@ -2,12 +2,9 @@ node_modules/**
.bower-cache/**
.bower-tmp/**
.bower-registry/**
website/client-old/**
website/client/**
website/views/**
website/build/**
dist/**
test/**
.git/**
Gruntfile.js
CHANGELOG.md

2
.nvmrc
View File

@@ -1 +1 @@
6
4.3.1

View File

@@ -1,33 +1,17 @@
language: node_js
node_js:
- '6'
sudo: required
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- '4.3.1'
before_install:
- $CXX --version
- npm install -g npm@4
- if [ $REQUIRES_SERVER ]; then sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10; echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list; sudo apt-get update; sudo apt-get install mongodb-org-server; fi
- "npm install -g npm@3"
- "npm install -g gulp"
- "sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10"
- "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list"
- "sudo apt-get update"
- "sudo apt-get install mongodb-org-server"
before_script:
- npm run test:build
- 'npm install -g grunt-cli mocha'
- cp config.json.example config.json
- if [ $REQUIRES_SERVER ]; then until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done; export DISPLAY=:99; fi
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
- "export DISPLAY=:99"
after_script:
- ./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js
script: npm run $TEST
env:
global:
- CXX=g++-4.8
- DISABLE_REQUEST_LOGGING=true
matrix:
- TEST="lint"
- TEST="test:api-v3" REQUIRES_SERVER=true
- TEST="test:sanity"
- TEST="test:content"
- TEST="test:common"
- TEST="test:karma"
- TEST="client:unit"
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"

View File

@@ -17,22 +17,19 @@ RUN apt-get install -y \
python
# Install NodeJS
RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
RUN apt-get install -y nodejs
# Install npm@latest
RUN curl -sL https://www.npmjs.org/install.sh | sh
# Clean up package management
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*
# Install global packages
RUN npm install -g gulp grunt-cli bower mocha
RUN npm install -g gulp grunt-cli bower
# Clone Habitica repo and install dependencies
WORKDIR /habitrpg
RUN git clone https://github.com/HabitRPG/habitica.git /habitrpg
RUN git clone https://github.com/HabitRPG/habitrpg.git /habitrpg
RUN npm install
RUN bower install --allow-root

View File

@@ -9,10 +9,10 @@ module.exports = function(grunt) {
karma: {
unit: {
configFile: 'test/client-old/spec/karma.conf.js'
configFile: 'karma.conf.js'
},
continuous: {
configFile: 'test/client-old/spec/karma.conf.js',
configFile: 'karma.conf.js',
singleRun: true,
autoWatch: false
}
@@ -28,11 +28,11 @@ module.exports = function(grunt) {
report: 'gzip'
},
files:{
"website/client-old/css/habitrpg-shared.css": [
"website/assets/sprites/dist/spritesmith*.css",
"website/assets/sprites/css/backer.css",
"website/assets/sprites/css/Mounts.css",
"website/assets/sprites/css/index.css"
"common/dist/sprites/habitrpg-shared.css": [
"common/dist/sprites/spritesmith*.css",
"common/css/backer.css",
"common/css/Mounts.css",
"common/css/index.css"
]
}
}
@@ -43,11 +43,11 @@ module.exports = function(grunt) {
options: {
compress: false, // AFTER
'include css': true,
paths: ['website/client-old']
paths: ['website/client']
},
files: {
'website/build/app.css': ['website/client-old/css/index.styl'],
'website/build/static.css': ['website/client-old/css/static.styl']
'website/build/app.css': ['website/client/css/index.styl'],
'website/build/static.css': ['website/client/css/static.styl']
}
}
},
@@ -55,13 +55,13 @@ module.exports = function(grunt) {
copy: {
build: {
files: [
{expand: true, cwd: 'website/client-old/', src: 'favicon.ico', dest: 'website/build/'},
{expand: true, cwd: 'website/client-old/', src: 'favicon_192x192.png', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/dist/', src: 'spritesmith*.png', dest: 'website/build/static/sprites'},
{expand: true, cwd: 'website/assets/sprites/', src: 'backer-only/*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/', src: 'npc_ian.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/assets/sprites/', src: 'quest_*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/client-old/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'website/build/'}
{expand: true, cwd: 'website/client/', src: 'favicon.ico', dest: 'website/build/'},
{expand: true, cwd: 'website/client/', src: 'favicon_192x192.png', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/dist/sprites/spritesmith*.png', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/backer-only/*.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/npc_ian.gif', dest: 'website/build/'},
{expand: true, cwd: '', src: 'common/img/sprites/quest_*.gif', dest: 'website/build/'},
{expand: true, cwd: 'website/client/', src: 'bower_components/bootstrap/dist/fonts/*', dest: 'website/build/'}
]
}
},
@@ -77,9 +77,10 @@ module.exports = function(grunt) {
'website/build/*.css',
'website/build/favicon.ico',
'website/build/favicon_192x192.png',
'website/build/*.png',
'website/build/static/sprites/*.png',
'website/build/*.gif',
'website/build/common/dist/sprites/*.png',
'website/build/common/img/sprites/backer-only/*.gif',
'website/build/common/img/sprites/npc_ian.gif',
'website/build/common/img/sprites/quest_*.gif',
'website/build/bower_components/bootstrap/dist/fonts/*'
],
dest: 'website/build/*.css'
@@ -87,9 +88,9 @@ module.exports = function(grunt) {
}
});
//Load build files from client-old/manifest.json
grunt.registerTask('loadManifestFiles', 'Load all build files from client-old/manifest.json', function(){
var files = grunt.file.readJSON('./website/client-old/manifest.json');
//Load build files from client/manifest.json
grunt.registerTask('loadManifestFiles', 'Load all build files from client/manifest.json', function(){
var files = grunt.file.readJSON('./website/client/manifest.json');
var uglify = {};
var cssmin = {};
@@ -100,7 +101,7 @@ module.exports = function(grunt) {
_.each(files[key].js, function(val){
var path = "./";
if( val.indexOf('common/') == -1)
path = './website/client-old/';
path = './website/client/';
js.push(path + val);
});
@@ -109,7 +110,7 @@ module.exports = function(grunt) {
_.each(files[key].css, function(val){
var path = "./";
if( val.indexOf('common/') == -1) {
path = (val == 'app.css' || val == 'static.css') ? './website/build/' : './website/client-old/';
path = (val == 'app.css' || val == 'static.css') ? './website/build/' : './website/client/';
}
css.push(path + val)
});
@@ -121,13 +122,21 @@ module.exports = function(grunt) {
grunt.config.set('cssmin.build.files', cssmin);
// Rewrite urls to relative path
grunt.config.set('cssmin.build.options', {'target': 'website/client-old/css/whatever-css.css'});
grunt.config.set('cssmin.build.options', {'target': 'website/client/css/whatever-css.css'});
});
// Register tasks.
grunt.registerTask('build:prod', ['loadManifestFiles', 'clean:build', 'uglify', 'stylus', 'cssmin', 'copy:build', 'hashres']);
grunt.registerTask('build:dev', ['cssmin', 'stylus']);
grunt.registerTask('build:test', ['build:dev']);
grunt.registerTask('build:test', ['test:prepare:translations', 'build:dev']);
grunt.registerTask('test:prepare:translations', function() {
var i18n = require('./website/server/libs/api-v3/i18n'),
fs = require('fs');
fs.writeFileSync('test/spec/mocks/translations.js',
"if(!window.env) window.env = {};\n" +
"window.env.translations = " + JSON.stringify(i18n.translations['en']) + ';');
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-uglify');
@@ -137,6 +146,6 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-hashres');
if (process.env.NODE_ENV !== 'production') grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-karma');
};

View File

@@ -2,9 +2,8 @@
This Source Code is subject to the terms of the GNU General Public License, v. 3.0.
If a copy of the GPL was not distributed with this file, You can obtain one at http://www.gnu.org/licenses/gpl-3.0.txt
* Assets and content designed for Mozilla BrowserQuest are licensed under CC-BY-SA 3.0:
* Assets and content designed for Mozilla BrowserQuest is licensed under CC-BY-SA 3.0:
http://creativecommons.org/licenses/by-sa/3.0/
* Assets and content designed for HabitRPG are licensed under CC-BY-NC-SA 3.0:
http://creativecommons.org/licenses/by-nc-sa/3.0/
* Assets and content designed for HabitRPG is licensed under CC-BY-NC-SA 3.0:
http://creativecommons.org/licenses/by-nc-sa/3.0/

View File

@@ -1,4 +1,4 @@
Habitica [![Build Status](https://travis-ci.org/HabitRPG/habitica.svg?branch=develop)](https://travis-ci.org/HabitRPG/habitica) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Coverage Status](https://coveralls.io/repos/github/HabitRPG/habitica/badge.svg?branch=develop)](https://coveralls.io/github/HabitRPG/habitica?branch=develop) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE)
Habitica [![Build Status](https://travis-ci.org/HabitRPG/habitrpg.svg?branch=develop)](https://travis-ci.org/HabitRPG/habitrpg) [![Code Climate](https://codeclimate.com/github/HabitRPG/habitrpg.svg)](https://codeclimate.com/github/HabitRPG/habitrpg) [![Coverage Status](https://coveralls.io/repos/HabitRPG/habitrpg/badge.svg?branch=develop)](https://coveralls.io/r/HabitRPG/habitrpg?branch=develop) [![Bountysource](https://api.bountysource.com/badge/tracker?tracker_id=68393)](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE)
===============
[Habitica](https://habitica.com) is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.
@@ -10,3 +10,21 @@ For an introduction to the technologies used and how the software is organized,
To set up a local install of Habitica for development and testing, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally), which contains instructions for Windows, *nix / Mac OS, and Vagrant.
Then read [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths) for additional instructions and useful tips.
## Debug Scripts
In the `./debug-scripts/` folder, there are a few files. Here's a sample:
```bash
grant-all-equipment.js
grant-all-mounts.js
grant-all-pets.js
```
You can run them by doing:
```bash
node debug-scripts/name-of-script.js
```
If there are more arguments required to make the script work, it will print out the usage and an explanation of what the script does.

View File

@@ -6,7 +6,7 @@ VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "virtualbox" do |v|
v.memory = 4096
v.memory = 768
v.cpus = 1
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end

View File

@@ -9,12 +9,13 @@
"ignore": [
"**/.*",
"node_modules",
"website/client-old/bower_components",
"website/client/bower_components",
"test",
"tests"
],
"dependencies": {
"Angular-At-Directive": "snicker/Angular-At-Directive#c27bae207aa06d1e",
"BrowserQuest": "browserquest/BrowserQuest#c3a960b03031dad5d",
"angular": "1.3.9",
"angular-bootstrap": "0.13.0",
"angular-filter": "0.5.1",
@@ -30,21 +31,18 @@
"bootstrap-tour": "0.10.1",
"css-social-buttons": "samcollins/css-social-buttons#v1.1.1 ",
"github-buttons": "mdo/github-buttons#v3.0.0",
"hello": "1.13.4",
"hello": "1.5.0",
"jquery": "2.1.0",
"jquery-colorbox": "1.4.36",
"jquery-ui": "1.10.3",
"jquery.cookie": "1.4.0",
"js-emoji": "snicker/js-emoji#f25d8a303f",
"ngInfiniteScroll": "1.1.0",
"ngInfiniteScroll": "1.0.0",
"pnotify": "1.3.1",
"sticky": "1.0.3",
"sticky": "*",
"swagger-ui": "wordnik/swagger-ui#v2.0.24",
"smart-app-banner": "78ef9c0679723b25be1a0ae04f7b4aef7cbced4f",
"habitica-markdown": "1.2.2",
"pusher-js-auth": "^2.0.0",
"pusher-websocket-iso": "pusher#^3.2.0",
"taggle": "^1.11.1"
"habitica-markdown": "^1.1.0"
},
"devDependencies": {
"angular-mocks": "1.3.9"

4
common/.eslintrc Normal file
View File

@@ -0,0 +1,4 @@
{
"extends": "habitrpg/browser"
}

16
common/README.md Normal file
View File

@@ -0,0 +1,16 @@
# Common
Shared resources useful for the multiple Habitica repositories, that way all the repositories remain in-sync with common characteristics. Includes things like:
* Assets - sprites, images, etc
* CSS - especially, esp. sprite-sheet mapping
* Algorithms - level up algorithm, scoring functions, etc
* View helper functions that may come in handy for multiple client MVCs
* Item definitions - weapons, armor, pets
## Compiling spritesheets
Because of some wonkiness with Heroku, the spritesheet compilation is not part of the production build process and must be done manually when new images are added by running:
``` bash
npm run sprites
```

Some files were not shown because too many files have changed in this diff Show More