From d873d02d2b1792b47cfea2086da650e03125ca67 Mon Sep 17 00:00:00 2001 From: Leo Nesfield Date: Tue, 3 Mar 2020 12:46:48 +0000 Subject: [PATCH 01/10] fix on node 12 (hopefully) --- addon.cpp | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addon.cpp b/addon.cpp index 7365c79..e56a94d 100644 --- a/addon.cpp +++ b/addon.cpp @@ -15,8 +15,8 @@ NAN_METHOD(getIconForExtension) return; } - v8::String::Utf8Value extension{info[0]->ToString()}; - auto size = static_cast(info[1]->Int32Value()); + Nan::Utf8String extension{info[0]}; + auto size = static_cast(info[1]->Int32Value(Nan::GetCurrentContext()).FromJust()); auto callback = new Nan::Callback(info[2].As()); Nan::AsyncQueueWorker( new SystemIconAsyncWorker(*extension, size, callback)); @@ -36,8 +36,8 @@ NAN_METHOD(getIconForPath) return; } - v8::String::Utf8Value path{info[0]->ToString()}; - auto size = static_cast(info[1]->Int32Value()); + Nan::Utf8String path{info[0]}; + auto size = static_cast(info[1]->Int32Value(Nan::GetCurrentContext()).FromJust()); auto callback = new Nan::Callback(info[2].As()); Nan::AsyncQueueWorker( new SystemIconAsyncWorker(*path, size, callback)); diff --git a/package.json b/package.json index 70f75dd..efb6c26 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "bindings": "~1.3.0", - "nan": "~2.8.0" + "nan": "~2.14.0" }, "engines": { "node": ">=6.0.0" From f0efa20ab8312014d43f97ac008a27b38453a2a4 Mon Sep 17 00:00:00 2001 From: Lance Date: Mon, 5 Oct 2020 14:52:01 -0700 Subject: [PATCH 02/10] Updating git ignore, adding test for mac brave updating modules removing node restriction --- .gitignore | 73 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 22 ++++++++------ package.json | 9 +++--- test.js | 13 +++++++++ 4 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 test.js diff --git a/.gitignore b/.gitignore index 34b23da..2ffd93b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,75 @@ /build/ /node_modules/ +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + diff --git a/package-lock.json b/package-lock.json index 75c0171..020e2a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,16 +5,22 @@ "requires": true, "dependencies": { "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" } } } diff --git a/package.json b/package.json index efb6c26..956ce1f 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,9 @@ "url": "https://github.com/mtojo/node-system-icon/issues" }, "dependencies": { - "bindings": "~1.3.0", + "bindings": "~1.5.0", "nan": "~2.14.0" }, - "engines": { - "node": ">=6.0.0" - }, "homepage": "https://github.com/mtojo/node-system-icon", "keywords": [ "file", @@ -28,7 +25,9 @@ "url": "https://github.com/mtojo/node-system-icon.git" }, "scripts": { - "install": "node-gyp rebuild" + "install": "node-gyp rebuild", + "rebuild": "node-gyp rebuild", + "test": "node test.js" }, "os": [ "darwin", diff --git a/test.js b/test.js new file mode 100644 index 0000000..0d5bf4c --- /dev/null +++ b/test.js @@ -0,0 +1,13 @@ +const system = require("./index"); +const {writeFileSync} = require('fs'); + +// const {getIconForPath, ICON_SIZE_MEDIUM} = require('system-icon'); + + +system.getIconForPath("/Applications/Brave Browser.app", system.ICON_SIZE_MEDIUM, (err, result) => { + if (err) { + console.error(err); + } else { + writeFileSync("icon.png", result); + } +}); From 85d1788942945774c07a8f453c526524fa9fe8e6 Mon Sep 17 00:00:00 2001 From: Lance Date: Wed, 7 Oct 2020 18:21:13 -0700 Subject: [PATCH 03/10] Adding Linux to Supported OS Adding Linux to Supported OS --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 956ce1f..2f25ba5 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ }, "os": [ "darwin", - "win32" + "win32", + "linux" ] } From 85badeee2247ba46239bae34cb9b9b07a2c9d0c2 Mon Sep 17 00:00:00 2001 From: Lance Date: Thu, 8 Oct 2020 11:50:59 -0700 Subject: [PATCH 04/10] Removing Semicolon on macro --- addon.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addon.cpp b/addon.cpp index e56a94d..b390113 100644 --- a/addon.cpp +++ b/addon.cpp @@ -60,4 +60,4 @@ NAN_MODULE_INIT(init) Nan::New(static_cast(IconSize::ExtraLarge))); } -NODE_MODULE(system_icon, init); +NODE_MODULE(system_icon, init) //DONT ADD A SEMI COLON THIS IS NOT A FUNCTION CALL IT IS A MACRO From 1019dd8163ae2528c1e569cf5a2ef4c68664f45f Mon Sep 17 00:00:00 2001 From: Lance Date: Thu, 8 Oct 2020 15:08:59 -0700 Subject: [PATCH 05/10] Removing windows build settings --- binding.gyp | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/binding.gyp b/binding.gyp index 2a4ed36..9d3eeea 100644 --- a/binding.gyp +++ b/binding.gyp @@ -7,26 +7,6 @@ ], }], ], - 'msbuild_settings': { - 'ClCompile': { - 'WarningLevel': 'Level3', - 'Optimization': 'Full', - 'FunctionLevelLinking': 'true', - }, - 'Lib': { - 'LinkTimeCodeGeneration': 'true', - }, - }, - 'msvs_settings': { - 'VCCLCompilerTool': { - 'WarningLevel': '3', - 'Optimization': '3', - 'EnableFunctionLevelLinking': 'true', - }, - 'VCLibrarianTool': { - 'LinkTimeCodeGeneration': 'true', - }, - }, 'xcode_settings': { 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', 'CLANG_CXX_LIBRARY': 'libc++', From 57efd4f694cef3668ca7026e1a90ef4f1b2f47ae Mon Sep 17 00:00:00 2001 From: Leo Nesfield Date: Fri, 9 Oct 2020 12:31:55 +0100 Subject: [PATCH 06/10] I hope this works --- .github/workflows/node.js.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/node.js.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..ff697e1 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,29 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: macos-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - run: npm run build --if-present + - run: npm test From 1366bd6f83cd9cc46d6bcbaf6225d9a1ed552a4e Mon Sep 17 00:00:00 2001 From: Leo Nesfield Date: Fri, 9 Oct 2020 12:34:15 +0100 Subject: [PATCH 07/10] update package jason --- package-lock.json | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75c0171..66fd7e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,14 +7,12 @@ "bindings": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", - "dev": true + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" } } } From c6971b560ea1f1c7596ebd5e3dd6b5d7317405b0 Mon Sep 17 00:00:00 2001 From: Leo Nesfield Date: Fri, 9 Oct 2020 12:36:14 +0100 Subject: [PATCH 08/10] Update workflow to use more versions --- .github/workflows/node.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index ff697e1..78bcb45 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [12.x] + node-version: [10.x,12.x,14.x] steps: - uses: actions/checkout@v2 From 1981851b24a5131f33cb175a3cbb5d899fe0adb7 Mon Sep 17 00:00:00 2001 From: Lance Date: Fri, 9 Oct 2020 11:05:22 -0700 Subject: [PATCH 09/10] Deleting Linux. There was left in by mistake. --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 2f25ba5..956ce1f 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ }, "os": [ "darwin", - "win32", - "linux" + "win32" ] } From f1337e05ae12804f876ddbe5d8c66470a1c2b4da Mon Sep 17 00:00:00 2001 From: Leo Nesfield Date: Fri, 9 Oct 2020 20:57:39 +0100 Subject: [PATCH 10/10] Fix merge conflicts --- package-lock.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b938969..020e2a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,6 @@ "requires": true, "dependencies": { "bindings": { -<<<<<<< HEAD "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", @@ -17,11 +16,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" -======= - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" ->>>>>>> origin/master }, "nan": { "version": "2.14.1",