Compare commits

..

1 Commits

Author SHA1 Message Date
Matteo Pagliazzi
ab959ec249 chore: Bump version to 3.4.0 2016-05-27 11:04:09 +02:00
7676 changed files with 149075 additions and 186773 deletions

View File

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

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@3
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,27 +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
webpack
test/client/e2e
test/client/unit/index.js
test/client/unit/karma.conf.js
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/es6",
"habitrpg"
"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)

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

View File

@@ -25,7 +25,6 @@ RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*
# Install global packages
RUN npm install -g npm@3
RUN npm install -g gulp grunt-cli bower
# Clone Habitica repo and install dependencies

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/'},
{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,8 +77,10 @@ module.exports = function(grunt) {
'website/build/*.css',
'website/build/favicon.ico',
'website/build/favicon_192x192.png',
'website/build/*.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'
@@ -86,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 = {};
@@ -99,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);
});
@@ -108,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)
});
@@ -120,7 +122,7 @@ 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.
@@ -129,9 +131,9 @@ module.exports = function(grunt) {
grunt.registerTask('build:test', ['test:prepare:translations', 'build:dev']);
grunt.registerTask('test:prepare:translations', function() {
var i18n = require('./website/server/libs/i18n'),
var i18n = require('./website/server/libs/api-v3/i18n'),
fs = require('fs');
fs.writeFileSync('test/client-old/spec/mocks/translations.js',
fs.writeFileSync('test/spec/mocks/translations.js',
"if(!window.env) window.env = {};\n" +
"window.env.translations = " + JSON.stringify(i18n.translations['en']) + ';');
});
@@ -144,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/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 [![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,7 +31,7 @@
"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",
@@ -38,13 +39,10 @@
"js-emoji": "snicker/js-emoji#f25d8a303f",
"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
```

60
common/css/backer.css Normal file
View File

@@ -0,0 +1,60 @@
/* These sprites are oversized until a move to 105 avatar box happens*/
/* Backer */
.weapon_special_0, .head_special_0 {
width: 105px;
height: 105px;
margin-left: -3px;
margin-top: -18px;
}
.slim_armor_special_0, .broad_armor_special_0, .shield_special_0 {
width: 90px;
height: 90px;
}
/* Critical */
.weapon_special_critical {
background: url("/common/img/sprites/backer-only/weapon_special_critical.gif") no-repeat;
width: 90px;
height: 90px;
margin-left:-12px;
margin-top:12px;
}
/* This is oversized until a move to 105 avatar box happens*/
.weapon_special_1 {
margin-left: -12px;
}
.broad_armor_special_1, .slim_armor_special_1, .head_special_1 {
width: 90px;
height: 90px;
}
.head_special_0 {
background: url("/common/img/sprites/backer-only/BackerOnly-Equip-ShadeHelmet.gif") no-repeat;
}
.head_special_1 {
background: url("/common/img/sprites/backer-only/ContributorOnly-Equip-CrystalHelmet.gif") no-repeat;
margin-top: 3px;
}
.broad_armor_special_0,.slim_armor_special_0 {
background: url("/common/img/sprites/backer-only/BackerOnly-Equip-ShadeArmor.gif") no-repeat;
}
.broad_armor_special_1,.slim_armor_special_1 {
background: url("/common/img/sprites/backer-only/ContributorOnly-Equip-CrystalArmor.gif") no-repeat;
}
.shield_special_0 {
background: url("/common/img/sprites/backer-only/BackerOnly-Shield-TormentedSkull.gif") no-repeat;
}
.weapon_special_0 {
background: url("/common/img/sprites/backer-only/BackerOnly-Weapon-DarkSoulsBlade.gif") no-repeat;
}
.Pet-Wolf-Cerberus {
width: 105px;
height: 72px;
background: url("/common/img/sprites/backer-only/BackerOnly-Pet-CerberusPup.gif") no-repeat;
}

View File

@@ -1,13 +1,13 @@
{{#sprites}}
.{{name}} {
background-image: url(/{{{escaped_image}}});
background-image: url({{{escaped_image}}});
background-position: {{px.offset_x}} {{px.offset_y}};
width: {{px.width}};
height: {{px.height}};
}
{{#if custom}}
.customize-option.{{name}} {
background-image: url(/{{{escaped_image}}});
background-image: url({{{escaped_image}}});
background-position: {{custom.px.offset_x}} {{custom.px.offset_y}};
width: {{custom.px.width}};
height: {{custom.px.height}};

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