diff options
| author | Shinigami <[email protected]> | 2022-01-18 20:10:01 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-01-18 20:10:01 +0100 |
| commit | ccf119deeb6c6d4c942544d83b515cddc5681ba3 (patch) | |
| tree | 0d7fa2d7ba58729a576d0eff0a32695f0113116a | |
| parent | 3c90061a6d6c334d0c653b55939d648774a6b5d4 (diff) | |
| download | faker-ccf119deeb6c6d4c942544d83b515cddc5681ba3.tar.xz faker-ccf119deeb6c6d4c942544d83b515cddc5681ba3.zip | |
feat!: support tree-shaking (#152)
38 files changed, 122 insertions, 120 deletions
diff --git a/build/gulp-tasks/browser.js b/build/gulp-tasks/browser.js index fb903cab..bace8617 100644 --- a/build/gulp-tasks/browser.js +++ b/build/gulp-tasks/browser.js @@ -6,30 +6,29 @@ */ const browserify = require('browserify'); -const source = require('vinyl-source-stream'); +const source = require('vinyl-source-stream'); const buffer = require('vinyl-buffer'); const uglify = require('gulp-uglify'); const rename = require('gulp-rename'); const { src, dest } = require('gulp'); const files = { - jsMain: './index.js', - jsOutput: 'faker.js' -} + jsMain: './lib/index.js', + jsOutput: 'faker.js', +}; -module.exports = function browser () { +module.exports = function browser() { return browserify(files.jsMain, { standalone: 'faker', - debug: true + debug: true, }) - .bundle() - .pipe(source(files.jsOutput)) - .pipe(buffer()) - .pipe(dest("examples/browser/js")) - .pipe(dest('dist/')) - .pipe(rename({ extname: ".min.js" })) - .pipe(uglify()) - .pipe(dest("examples/browser/js")) - .pipe(dest('dist/')); + .bundle() + .pipe(source(files.jsOutput)) + .pipe(buffer()) + .pipe(dest('examples/browser/js')) + .pipe(dest('dist/')) + .pipe(rename({ extname: '.min.js' })) + .pipe(uglify()) + .pipe(dest('examples/browser/js')) + .pipe(dest('dist/')); }; - diff --git a/examples/node/generateMultiLevelMultiLocaleJSON.js b/examples/node/generateMultiLevelMultiLocaleJSON.js index b4a06765..0603ad6b 100644 --- a/examples/node/generateMultiLevelMultiLocaleJSON.js +++ b/examples/node/generateMultiLevelMultiLocaleJSON.js @@ -1,31 +1,39 @@ -// This example shows the generation of a multilevel object and JSON document using various faker.js features
-// including name, address, company, date and commerce namespaces, moustache expressions and random element production
-// Using the helper function arr, randomly sized collections of elements are produced in the document.
-
-var faker = require('../../index');
-var fs = require('fs');
-// produce array with random number of empty elements
-const arr = (maxNumberOfElements) => new Array(faker.datatype.number({min: 1, max: maxNumberOfElements})).fill()
-
-const locales = ["nl","es","de","fr","en_AU"]
-const company =
- { "name" : faker.company.companyName()
- , "country" : faker.address.country()
- , "departments" : arr(8).map(() => { faker.locale = faker.random.arrayElement(locales)
- return { "name" : faker.commerce.department()
- , "location" : faker.fake("{{address.city}} ({{address.country}})")
- , "employees": arr(20).map(() => {
- return { "name" : faker.fake("{{name.firstName}} {{name.lastName}}")
- , "job" : faker.name.jobTitle()
- , "hiredate" : faker.date.past(12).toISOString().split('T')[0]
- , "salary" : faker.datatype.number(700, 9000)
- }
- })
- }
- })
- }
-
- console.log(JSON.stringify(company))
- fs.writeFile(__dirname + '/companyDataSet.json', JSON.stringify(company), function() {
- console.log("dataSet generated successfully!");
- });
\ No newline at end of file +// This example shows the generation of a multilevel object and JSON document using various faker.js features +// including name, address, company, date and commerce namespaces, moustache expressions and random element production +// Using the helper function arr, randomly sized collections of elements are produced in the document. + +var faker = require('../../lib').faker; +var fs = require('fs'); +// produce array with random number of empty elements +const arr = (maxNumberOfElements) => + new Array(faker.datatype.number({ min: 1, max: maxNumberOfElements })).fill(); + +const locales = ['nl', 'es', 'de', 'fr', 'en_AU']; +const company = { + name: faker.company.companyName(), + country: faker.address.country(), + departments: arr(8).map(() => { + faker.locale = faker.random.arrayElement(locales); + return { + name: faker.commerce.department(), + location: faker.fake('{{address.city}} ({{address.country}})'), + employees: arr(20).map(() => { + return { + name: faker.fake('{{name.firstName}} {{name.lastName}}'), + job: faker.name.jobTitle(), + hiredate: faker.date.past(12).toISOString().split('T')[0], + salary: faker.datatype.number(700, 9000), + }; + }), + }; + }), +}; + +console.log(JSON.stringify(company)); +fs.writeFile( + __dirname + '/companyDataSet.json', + JSON.stringify(company), + function () { + console.log('dataSet generated successfully!'); + } +); diff --git a/examples/node/generateSet.js b/examples/node/generateSet.js index bd0be031..b690cd7c 100644 --- a/examples/node/generateSet.js +++ b/examples/node/generateSet.js @@ -1,19 +1,26 @@ var fs = require('fs'); -var faker = require('../../index'); - +var faker = require('../../lib').faker; // generate dataSet as example -fs.writeFile(__dirname + '/dataSet.json', JSON.stringify(faker.helpers.userCard()), function() { - console.log("dataSet generated successfully!"); -}); +fs.writeFile( + __dirname + '/dataSet.json', + JSON.stringify(faker.helpers.userCard()), + function () { + console.log('dataSet generated successfully!'); + } +); // generate bigDataSet as example var bigSet = []; -for(var i = 20; i >= 0; i--){ +for (var i = 20; i >= 0; i--) { bigSet.push(faker.helpers.userCard()); -}; +} -fs.writeFile(__dirname + '/bigDataSet.json', JSON.stringify(bigSet), function() { - console.log("bigDataSet generated successfully!"); -}); +fs.writeFile( + __dirname + '/bigDataSet.json', + JSON.stringify(bigSet), + function () { + console.log('bigDataSet generated successfully!'); + } +); diff --git a/examples/node/generators.js b/examples/node/generators.js index 03c991fe..d6c70a0c 100644 --- a/examples/node/generators.js +++ b/examples/node/generators.js @@ -1,14 +1,11 @@ -var faker = require('../../index'); +var faker = require('../../lib').faker; -faker.locale = "en"; +faker.locale = 'en'; console.log(faker.fake('{{random.uuid}}, {{name.firstName}} {{name.suffix}}')); - return; - console.log(faker.fake('{{finance.currencyName}} - {{finance.amount}}')); - -console.log(faker.fake('{{name.firstName}} {{name.lastName}}'));
\ No newline at end of file +console.log(faker.fake('{{name.firstName}} {{name.lastName}}')); diff --git a/examples/node/minimal-usage.js b/examples/node/minimal-usage.js index 9feeb8e9..e335abb0 100755 --- a/examples/node/minimal-usage.js +++ b/examples/node/minimal-usage.js @@ -1,17 +1,17 @@ #!/usr/bin/env node -var faker = require('../../index'); -faker.locale = "fi"; +var faker = require('../../lib').faker; +faker.locale = 'fi'; //console.log(faker.lorem.sentences()) -console.log(faker.name.findName()) +console.log(faker.name.findName()); return; //console.log(faker.address) -console.log(faker.internet.email()) -console.log(faker.date.recent()) +console.log(faker.internet.email()); +console.log(faker.date.recent()); console.log(faker.helpers.contextualCard()); -faker.locale = "uk"; +faker.locale = 'uk'; -console.log(faker.helpers.contextualCard());
\ No newline at end of file +console.log(faker.helpers.contextualCard()); diff --git a/examples/node/unique-values.js b/examples/node/unique-values.js index 3c346612..bdbf5edf 100644 --- a/examples/node/unique-values.js +++ b/examples/node/unique-values.js @@ -1,19 +1,18 @@ -var faker = require('../../index'); +var faker = require('../../lib').faker; var emails = {}; var conflicts = 0; // emails estimated: 1,055,881 // full names estimated: 1,185,139 for (var i = 0; i < 100000; i++) { - // call function with no arguments var email = faker.unique(faker.internet.email); // or with function arguments as argument array - // var email = faker.unique(faker.internet.email, [null, null, 'marak.com']); + // var email = faker.unique(faker.internet.email, [null, null, 'marak.com']); // or with custom options for maxTime as milliseconds or maxRetries - // var email = faker.unique(faker.internet.email, [null, null, 'marak.com'], { maxRetries: 1, maxTime: 50 }); + // var email = faker.unique(faker.internet.email, [null, null, 'marak.com'], { maxRetries: 1, maxTime: 50 }); if (typeof emails[email] === 'undefined') { // found a unique new item @@ -26,4 +25,4 @@ for (var i = 0; i < 100000; i++) { console.log('total conflicts', conflicts); // should be zero using faker.unique() console.log('total uniques generated', Object.keys(emails).length); -// console.log(emails);
\ No newline at end of file +// console.log(emails); diff --git a/index.d.ts b/index.d.ts deleted file mode 100644 index 9a883c7e..00000000 --- a/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Faker } from './lib'; -declare const faker: Faker; -export = faker; diff --git a/index.js b/index.js deleted file mode 100644 index 524ef7da..00000000 --- a/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; -// since we are requiring the top level of faker, load all locales by default -var Faker = require('./lib'); -var faker = new Faker({ locales: require('./lib/locales') }); -module.exports = faker; diff --git a/index.ts b/index.ts deleted file mode 100644 index fd90f2b2..00000000 --- a/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -// since we are requiring the top level of faker, load all locales by default -import { Faker } from './lib'; -const faker: Faker = new Faker({ locales: require('./lib/locales') }); -export = faker; diff --git a/package.json b/package.json index a36c878a..43a8321d 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "url": "https://github.com/faker-js/faker.git" }, "license": "MIT", - "main": "index.js", + "main": "lib/index.js", "scripts": { "browser": "gulp browser", "build": "tsc", diff --git a/src/index.ts b/src/index.ts index d864155c..c19e9567 100644 --- a/src/index.ts +++ b/src/index.ts @@ -271,5 +271,9 @@ export class Faker { } } -export default Faker; -module.exports = Faker; +// since we are requiring the top level of faker, load all locales by default +export const faker: Faker = new Faker({ + locales: require('./locales'), +}); + +export default faker; diff --git a/test/address.unit.js b/test/address.unit.js index 93582e8f..95334a61 100644 --- a/test/address.unit.js +++ b/test/address.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('address.js', function () { diff --git a/test/all.functional.js b/test/all.functional.js index 2c42790d..36ddad42 100644 --- a/test/all.functional.js +++ b/test/all.functional.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } var functionalHelpers = require('./support/function-helpers.js'); diff --git a/test/animal.unit.js b/test/animal.unit.js index 14da123b..17d7aa8a 100644 --- a/test/animal.unit.js +++ b/test/animal.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('animal.js', function () { diff --git a/test/commerce.unit.js b/test/commerce.unit.js index fd065a3a..5df8d400 100644 --- a/test/commerce.unit.js +++ b/test/commerce.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { - var assert = require('assert'), - sinon = require('sinon'), - faker = require('../index'); + var assert = require('assert'); + var sinon = require('sinon'); + var faker = require('../lib').faker; } describe('commerce.js', function () { diff --git a/test/company.unit.js b/test/company.unit.js index 16147dea..eccadb9f 100644 --- a/test/company.unit.js +++ b/test/company.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('company.js', function () { diff --git a/test/database.unit.js b/test/database.unit.js index 48321d3f..78420fcb 100644 --- a/test/database.unit.js +++ b/test/database.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('database.js', function () { diff --git a/test/datatype.unit.js b/test/datatype.unit.js index a48f3141..3efa6b39 100644 --- a/test/datatype.unit.js +++ b/test/datatype.unit.js @@ -2,7 +2,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); var _ = require('lodash'); - var faker = require('../index'); + var faker = require('../lib').faker; var mersenne = require('../vendor/mersenne'); } diff --git a/test/date.unit.js b/test/date.unit.js index 9a014e28..88bbcac3 100644 --- a/test/date.unit.js +++ b/test/date.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('date.js', function () { diff --git a/test/fake.unit.js b/test/fake.unit.js index 65ea1c7c..75741e61 100644 --- a/test/fake.unit.js +++ b/test/fake.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('fake.js', function () { diff --git a/test/finance.unit.js b/test/finance.unit.js index f1ae94a2..117a3a80 100644 --- a/test/finance.unit.js +++ b/test/finance.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } faker.seed(1234); diff --git a/test/finance_iban.unit.js b/test/finance_iban.unit.js index 76979d52..df3141ed 100644 --- a/test/finance_iban.unit.js +++ b/test/finance_iban.unit.js @@ -1,6 +1,6 @@ if (typeof module !== 'undefined') { var assert = require('assert'); - var faker = require('../index'); + var faker = require('../lib').faker; } function getAnIbanByCountry(countryCode) { diff --git a/test/git.unit.js b/test/git.unit.js index ac3cd828..e5603bef 100644 --- a/test/git.unit.js +++ b/test/git.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('git.js', function () { diff --git a/test/helpers.unit.js b/test/helpers.unit.js index 47bae5bb..b25daa22 100644 --- a/test/helpers.unit.js +++ b/test/helpers.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('helpers.js', function () { diff --git a/test/image.unit.js b/test/image.unit.js index 0c43a98a..46678db8 100644 --- a/test/image.unit.js +++ b/test/image.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('image.js', function () { diff --git a/test/internet.unit.js b/test/internet.unit.js index a73699f1..12333067 100644 --- a/test/internet.unit.js +++ b/test/internet.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('internet.js', function () { diff --git a/test/locales.unit.js b/test/locales.unit.js index c107d168..d81386fc 100644 --- a/test/locales.unit.js +++ b/test/locales.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } // TODO: make some tests for getting / setting locales diff --git a/test/lorem.unit.js b/test/lorem.unit.js index d04d8d29..e3c9f0ef 100644 --- a/test/lorem.unit.js +++ b/test/lorem.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('lorem.js', function () { @@ -123,7 +123,7 @@ describe('lorem.js', function () { assert.ok(typeof sentence === 'string'); var parts = sentence.split(' '); assert.strictEqual(parts.length, 14); // requested 10 plus stubbed 4. - assert.ok(faker.random.number.calledWith(4)); // random.number should be called with the 'range' we passed. + assert.ok(faker.random.number.calledWith(4)); // random.number should be called with the 'range' we passed. assert.ok(faker.lorem.words.calledWith(14)); faker.lorem.words.restore(); diff --git a/test/music.unit.js b/test/music.unit.js index 2a947c00..e7d1d97b 100644 --- a/test/music.unit.js +++ b/test/music.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('music.js', function () { diff --git a/test/name.unit.js b/test/name.unit.js index 529ea7db..040cac47 100644 --- a/test/name.unit.js +++ b/test/name.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } function assertInArray(value, array) { diff --git a/test/phone_number.unit.js b/test/phone_number.unit.js index cfafdc5f..7cb3af41 100644 --- a/test/phone_number.unit.js +++ b/test/phone_number.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('phone_number.js', function () { diff --git a/test/random.unit.js b/test/random.unit.js index c6312025..c57a8dbc 100644 --- a/test/random.unit.js +++ b/test/random.unit.js @@ -2,7 +2,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); var _ = require('lodash'); - var faker = require('../index'); + var faker = require('../lib').faker; var mersenne = new (require('../lib/mersenne').Mersenne)(); } diff --git a/test/support/function-helpers.js b/test/support/function-helpers.js index 0e2e4d39..f8dfe68e 100644 --- a/test/support/function-helpers.js +++ b/test/support/function-helpers.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../../index'); + var faker = require('../../lib').faker; } var functionHelpers = {}; diff --git a/test/system.unit.js b/test/system.unit.js index 388b11da..ee279750 100644 --- a/test/system.unit.js +++ b/test/system.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('system.js', function () { diff --git a/test/time.unit.js b/test/time.unit.js index 02f2add8..3c4a0650 100644 --- a/test/time.unit.js +++ b/test/time.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } faker.seed(1234); diff --git a/test/unique.unit.js b/test/unique.unit.js index 35531d42..d500243e 100644 --- a/test/unique.unit.js +++ b/test/unique.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('unique.js', function () { diff --git a/test/vehicle.unit.js b/test/vehicle.unit.js index dff7f465..8a065e68 100644 --- a/test/vehicle.unit.js +++ b/test/vehicle.unit.js @@ -1,7 +1,7 @@ if (typeof module !== 'undefined') { var assert = require('assert'); var sinon = require('sinon'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('vehicle.js', function () { diff --git a/test/word.unit.js b/test/word.unit.js index 7f8a80a8..9dc4755c 100644 --- a/test/word.unit.js +++ b/test/word.unit.js @@ -1,6 +1,6 @@ if (typeof module !== 'undefined') { var assert = require('assert'); - var faker = require('../index'); + var faker = require('../lib').faker; } describe('word.js', function () { |
