From 895e635521db9f35b2a704dde43c358b3260e9e8 Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:56:10 -0600 Subject: [PATCH 1/9] add .npmrc --- .npmrc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..5015c5f --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +package-lock=false +//registry.npmjs.org/:_authToken=${NPM_TOKEN} From 5bb77f2a3879326144ab2b0c1400a3b681d916b2 Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:56:24 -0600 Subject: [PATCH 2/9] remove travis.yml --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2d26206..0000000 --- a/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - 0.6 From 69333cfd06e85b6c326aa9a7ffb9ee6e74ce3542 Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:56:58 -0600 Subject: [PATCH 3/9] package.json - remove engines property --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 272f2b8..667a7c6 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,5 @@ "scripts": { "test": "NODE_PATH=./lib mocha --ui exports" }, "devDependencies": { "mocha": "0.12.x" - }, - "engines": { "node": "0.6.x" } + } } From 6286b22180eb6bee199b1e125030eb3443bca5de Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:57:29 -0600 Subject: [PATCH 4/9] bump mocha to v11.5.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 667a7c6..5ef0b30 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,6 @@ }, "scripts": { "test": "NODE_PATH=./lib mocha --ui exports" }, "devDependencies": { - "mocha": "0.12.x" + "mocha": "^11.5.0" } } From 8814971538916951fc74ede675013e40f9ecb50d Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:58:26 -0600 Subject: [PATCH 5/9] package.json update formating --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ef0b30..3e96755 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ "type": "git", "url": "https://github.com/daaku/nodejs-dotaccess" }, - "scripts": { "test": "NODE_PATH=./lib mocha --ui exports" }, + "scripts": { + "test": "NODE_PATH=./lib mocha --ui exports" + }, "devDependencies": { "mocha": "^11.5.0" } From a10b84bf224b42e34729bcf75adf16b91abf6f1b Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 14:58:40 -0600 Subject: [PATCH 6/9] .gitignore -- add .idea --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 656402b..d8ef0ce 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /lib-cov/ /node_modules/ /npm-debug.log +.idea From 207f9a04dadff8aecc3c0fd206a211f92011de01 Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 15:03:02 -0600 Subject: [PATCH 7/9] add eslint and run --- .eslintrc.js | 11 ++++ lib/dotaccess.js | 60 +++++++++++----------- package.json | 8 +++ test/dotaccess.js | 128 +++++++++++++++++++++++----------------------- 4 files changed, 113 insertions(+), 94 deletions(-) create mode 100644 .eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..11ed0fa --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,11 @@ +module.exports = { + env: { + es2023: true, + node: true, + mocha: true + }, + extends: ['semistandard', 'eslint:recommended'], + rules: { + complexity: ['error', 13] // eventually get down to 10 or less + } +}; diff --git a/lib/dotaccess.js b/lib/dotaccess.js index bbfcfef..5b23a65 100644 --- a/lib/dotaccess.js +++ b/lib/dotaccess.js @@ -1,44 +1,44 @@ -module.exports.set = set -module.exports.unset = unset -module.exports.get = get +module.exports.set = set; +module.exports.unset = unset; +module.exports.get = get; -function parts(key) { - if (Array.isArray(key)) return key - return key.split('.') +function parts (key) { + if (Array.isArray(key)) return key; + return key.split('.'); } -function lookup(obj, key) { - key = parts(key) - var lastKey = key.pop() - for (var i=0, l=key.length; i Date: Tue, 27 May 2025 15:04:39 -0600 Subject: [PATCH 8/9] address manual lint concerns --- lib/dotaccess.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/dotaccess.js b/lib/dotaccess.js index 5b23a65..72fa88b 100644 --- a/lib/dotaccess.js +++ b/lib/dotaccess.js @@ -20,16 +20,12 @@ function lookup (obj, key) { } function set (obj, key, value, overwrite) { - const objectAndKey = lookup(obj, key); - var obj = objectAndKey[0]; - var key = objectAndKey[1]; + [obj, key] = lookup(obj, key); if (overwrite || !(key in obj)) obj[key] = value; } function unset (obj, key) { - const objectAndKey = lookup(obj, key); - var obj = objectAndKey[0]; - var key = objectAndKey[1]; + [obj, key] = lookup(obj, key); return delete obj[key]; } From 699492cce39700daf366539769b345da936a8bf6 Mon Sep 17 00:00:00 2001 From: johnrb2 Date: Tue, 27 May 2025 15:08:48 -0600 Subject: [PATCH 9/9] add github configuration --- .github/workflows/test.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..a0fed21 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,23 @@ + +name: Node.js CI +on: push +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [20.x] + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - name: Run tests + run: npx nyc@latest --reporter=lcov npm test + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }}