From 4afdd80d801240a234f72170d830e30b7cf51c88 Mon Sep 17 00:00:00 2001 From: Sergey Romanenko Date: Tue, 18 Jan 2022 21:19:38 +0300 Subject: [PATCH] fix(core): fix issue with file path --- CHANGELOG.md | 4 ++++ index.js | 13 +++++++++++-- package.json | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9897164..ead4999 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ + +# [1.0.1](https://github.com/faker-javascript/firstname) (2022-01-18) +* Fix issue with file path. + # [1.0.0](https://github.com/faker-javascript/firstname) (2022-01-18) * Initial release diff --git a/index.js b/index.js index 2769d9b..3ed7c42 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,18 @@ +import path from 'node:path'; import {loadJsonFileSync} from 'load-json-file'; export default function firstName(options) { options = options || {}; const gender = options.gender === undefined ? 'female' : options.gender; const locale = options.locale === undefined ? 'en_US' : options.locale; - const firtnames = loadJsonFileSync(`./locales/${locale}/${gender}.json`); - return firtnames[Math.floor(Math.random() * firtnames.length)]; + const filePath = `./locales/${locale}/${gender}.json`; + let firstnames = []; + + try { + firstnames = loadJsonFileSync(filePath); + } catch { + firstnames = loadJsonFileSync(path.resolve('node_modules/@fakerjs/firstname/', filePath)); + } + + return firstnames[Math.floor(Math.random() * firstnames.length)]; } diff --git a/package.json b/package.json index b352c8c..0865ff2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fakerjs/firstname", - "version": "1.0.0", + "version": "1.0.1", "description": "Firstname package provides functionality to generate a fake first name value.", "license": "MIT", "repository": "faker-javascript/firstname",