diff --git a/.gitignore b/.gitignore
index 7edb33a7f..f877040a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,11 +12,11 @@ REVISION
/.idea
lib-cov
node_modules/
+reports/
/npm-debug.log
/coverage
/.npm
-
# meteor specific
.build*
-versions.json
+versions.json
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
index 00a17f82d..bd7cccd52 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,5 +1,8 @@
.npm/
-build/
+build/*
+build/build/*
+!build/build/faker.js
+!build/build/faker.min.js
doc/
examples/
meteor/
diff --git a/.travis.yml b/.travis.yml
index f9bfca441..6fdb8c4b6 100755
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,10 @@
sudo: false
language: node_js
node_js:
+ - "10"
+ - "9"
+ - "8"
+ - "7"
- "6"
- "6.1"
- "5"
diff --git a/CODE_OF_MERIT.MD b/CODE_OF_MERIT.MD
new file mode 100644
index 000000000..1e4f8e0ac
--- /dev/null
+++ b/CODE_OF_MERIT.MD
@@ -0,0 +1,52 @@
+# Code of Merit
+
+1. The project creators, lead developers, core team, constitute
+the managing members of the project and have final say in every decision
+of the project, technical or otherwise, including overruling previous decisions.
+There are no limitations to this decisional power.
+
+2. Contributions are an expected result of your membership on the project.
+Don't expect others to do your work or help you with your work forever.
+
+3. All members have the same opportunities to seek any challenge they want
+within the project.
+
+4. Authority or position in the project will be proportional
+to the accrued contribution. Seniority must be earned.
+
+5. Software is evolutive: the better implementations must supersede lesser
+implementations. Technical advantage is the primary evaluation metric.
+
+6. This is a space for technical prowess; topics outside of the project
+will not be tolerated.
+
+7. Non technical conflicts will be discussed in a separate space. Disruption
+of the project will not be allowed.
+
+8. Individual characteristics, including but not limited to,
+body, sex, sexual preference, race, language, religion, nationality,
+or political preferences are irrelevant in the scope of the project and
+will not be taken into account concerning your value or that of your contribution
+to the project.
+
+9. Discuss or debate the idea, not the person.
+
+10. There is no room for ambiguity: Ambiguity will be met with questioning;
+further ambiguity will be met with silence. It is the responsibility
+of the originator to provide requested context.
+
+11. If something is illegal outside the scope of the project, it is illegal
+in the scope of the project. This Code of Merit does not take precedence over
+governing law.
+
+12. This Code of Merit governs the technical procedures of the project not the
+activities outside of it.
+
+13. Participation on the project equates to agreement of this Code of Merit.
+
+14. No objectives beyond the stated objectives of this project are relevant
+to the project. Any intent to deviate the project from its original purpose
+of existence will constitute grounds for remedial action which may include
+expulsion from the project.
+
+This document is the Code of Merit (http://code-of-merit.org), version 1.0.
\ No newline at end of file
diff --git a/Readme.md b/Readme.md
index 5e7201bae..386da88fe 100644
--- a/Readme.md
+++ b/Readme.md
@@ -6,7 +6,7 @@
[![npm version](https://badge.fury.io/js/faker.svg)](http://badge.fury.io/js/faker)
-[![OpenCollective](https://opencollective.com/fakerjs/backers/badge.svg)](#backers)
+[![OpenCollective](https://opencollective.com/fakerjs/backers/badge.svg)](#backers)
[![OpenCollective](https://opencollective.com/fakerjs/sponsors/badge.svg)](#sponsors)
## Demo
@@ -208,6 +208,7 @@ This will interpolate the format string with the value of methods `name.lastName
* phoneFormats
* random
* number
+ * float
* arrayElement
* objectElement
* uuid
@@ -259,6 +260,7 @@ faker.locale = "de";
* en_IE
* en_IND
* en_US
+ * en_ZA
* en_au_ocker
* es
* es_MX
@@ -275,6 +277,7 @@ faker.locale = "de";
* nl
* pl
* pt_BR
+ * pt_PT
* ru
* sk
* sv
@@ -287,7 +290,7 @@ faker.locale = "de";
### Individual Localization Packages
-As of vesion `v3.0.0` faker.js supports incremental loading of locales.
+As of vesion `v3.0.0` faker.js supports incremental loading of locales.
By default, requiring `faker` will include *all* locale data.
@@ -475,4 +478,3 @@ Become a sponsor and get your logo on our README on Github with a link to your s
-
diff --git a/build/src/docs.md b/build/src/docs.md
index e173c05e5..653a0fea5 100644
--- a/build/src/docs.md
+++ b/build/src/docs.md
@@ -24,22 +24,22 @@ curl http://faker.hook.io?property=name.findName&locale=de
## Usage
### Browser
-
+```html
-
+```
### Node.js
-
+```js
var faker = require('faker');
var randomName = faker.name.findName(); // Rowan Nikolaus
var randomEmail = faker.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = faker.helpers.createCard(); // random contact card containing many properties
-
+```
## API
diff --git a/examples/browser/js/jquery.js b/examples/browser/js/jquery.js
index 7c2430802..49d1fcfbe 100644
--- a/examples/browser/js/jquery.js
+++ b/examples/browser/js/jquery.js
@@ -1,154 +1,2 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b