From 3f8b5d7c24d087bdb3cf591677dac907a402ca32 Mon Sep 17 00:00:00 2001 From: recursive-beast Date: Mon, 1 Apr 2024 13:31:57 +0000 Subject: [PATCH 1/5] install commander --- package-lock.json | 14 ++++++++++++++ package.json | 1 + 2 files changed, 15 insertions(+) diff --git a/package-lock.json b/package-lock.json index ba4d1a1..342bc4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@notionhq/client": "^0.4.13", + "commander": "^12.0.0", "lodash": "^4.17.21", "luxon": "^1.27.0", "sugar": "^2.0.6" @@ -56,6 +57,14 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "engines": { + "node": ">=18" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -174,6 +183,11 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==" + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", diff --git a/package.json b/package.json index 6581173..5ef2cd1 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ }, "dependencies": { "@notionhq/client": "^0.4.13", + "commander": "^12.0.0", "lodash": "^4.17.21", "luxon": "^1.27.0", "sugar": "^2.0.6" From 28933e263239e172ed61ce82e805618828187da4 Mon Sep 17 00:00:00 2001 From: recursive-beast Date: Mon, 1 Apr 2024 13:38:23 +0000 Subject: [PATCH 2/5] npm audit fix --- package-lock.json | 76 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 64 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 342bc4c..8b1a734 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,9 +92,9 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/luxon": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.27.0.tgz", - "integrity": "sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==", + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz", + "integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==", "engines": { "node": "*" } @@ -119,11 +119,22 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/sugar": { @@ -144,6 +155,25 @@ "engines": { "node": ">= 0.8.23" } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } }, "dependencies": { @@ -209,9 +239,9 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "luxon": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.27.0.tgz", - "integrity": "sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==" + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz", + "integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==" }, "mime-db": { "version": "1.48.0", @@ -227,9 +257,12 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "sugar": { "version": "2.0.6", @@ -243,6 +276,25 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/sugar-core/-/sugar-core-2.0.6.tgz", "integrity": "sha512-YmLFysR3Si6RImqL1+aB6JH81EXxvXn5iXhPf2PsjfoUYEwCxFDYCQY+zC3WqviuGWzxFaSkkJvkUE05Y03L5Q==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } } } From d44510ea52e704f85d3fad2ba3628fba0b5e5e47 Mon Sep 17 00:00:00 2001 From: recursive-beast Date: Mon, 1 Apr 2024 13:42:33 +0000 Subject: [PATCH 3/5] use current system node binary --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index d1b2581..901692b 100755 --- a/index.js +++ b/index.js @@ -1,4 +1,4 @@ -#!/usr/bin/node --unhandled-rejections=strict +#!/usr/bin/env node --unhandled-rejections=strict // https://developers.notion.com/reference/ process.on('uncaughtException', (error) => { From 493e3559c295a5c63f33001af57139cd9bbd2c1f Mon Sep 17 00:00:00 2001 From: recursive-beast Date: Mon, 1 Apr 2024 13:49:42 +0000 Subject: [PATCH 4/5] setup index.js so it can run as a global bin --- package-lock.json | 7 +++++-- package.json | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b1a734..2244613 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "node-starter", + "name": "notion-cli", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "node-starter", + "name": "notion-cli", "version": "0.0.0", "dependencies": { "@notionhq/client": "^0.4.13", @@ -13,6 +13,9 @@ "lodash": "^4.17.21", "luxon": "^1.27.0", "sugar": "^2.0.6" + }, + "bin": { + "notion-cli": "index.js" } }, "node_modules/@notionhq/client": { diff --git a/package.json b/package.json index 5ef2cd1..921bc08 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,9 @@ { - "name": "node-starter", + "name": "notion-cli", "version": "0.0.0", + "bin": "index.js", "scripts": { + "setup": "npm i && npm link", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { From 12f0b1c14261a744c6ac6184bc5ed287ff4a6ae6 Mon Sep 17 00:00:00 2001 From: recursive-beast Date: Thu, 4 Apr 2024 23:48:46 +0000 Subject: [PATCH 5/5] fix: script hangs when run as executable --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 901692b..3cf869a 100755 --- a/index.js +++ b/index.js @@ -1,9 +1,10 @@ -#!/usr/bin/env node --unhandled-rejections=strict +#!/usr/bin/env node // https://developers.notion.com/reference/ process.on('uncaughtException', (error) => { console.log('uncaughtException'); console.error(error); + process.exit(1); }); const fs = require('fs');