Compare commits

...

12 Commits

Author SHA1 Message Date
standardci
f4a743593d chore(release): publish new version
- @standardnotes/analytics@2.19.14
 - @standardnotes/api-gateway@1.46.9
 - @standardnotes/auth-server@1.87.4
 - @standardnotes/event-store@1.6.67
 - @standardnotes/files-server@1.9.13
 - @standardnotes/revisions-server@1.10.26
 - @standardnotes/scheduler-server@1.16.17
 - @standardnotes/syncing-server@1.29.12
 - @standardnotes/websockets-server@1.5.18
 - @standardnotes/workspace-server@1.19.21
2023-01-25 14:24:09 +00:00
Karol Sójko
f93e49ecf3 chore: upgrade node to 18.13.0 2023-01-25 15:21:26 +01:00
standardci
d6325a42ea chore(release): publish new version
- @standardnotes/api-gateway@1.46.8
 - @standardnotes/auth-server@1.87.3
2023-01-25 12:25:57 +00:00
Karol Sójko
ef997be219 refactor: generating authentication options 2023-01-25 13:24:02 +01:00
standardci
b6eadfcebc chore(release): publish new version
- @standardnotes/auth-server@1.87.2
 - @standardnotes/revisions-server@1.10.25
 - @standardnotes/syncing-server@1.29.11
 - @standardnotes/websockets-server@1.5.17
 - @standardnotes/workspace-server@1.19.20
2023-01-24 13:20:28 +00:00
Karol Sójko
e4c65ca631 fix(auth): add pseudo u2f params on non existing accounts 2023-01-24 14:17:59 +01:00
standardci
2d2342f9ee chore(release): publish new version
- @standardnotes/analytics@2.19.13
 - @standardnotes/auth-server@1.87.1
 - @standardnotes/common@1.46.5
 - @standardnotes/revisions-server@1.10.24
 - @standardnotes/syncing-server@1.29.10
 - @standardnotes/websockets-server@1.5.16
 - @standardnotes/workspace-server@1.19.19
2023-01-24 12:48:21 +00:00
Karol Sójko
60838a1b7e chore: replace ErrorTag with usage from @standardnotes/api 2023-01-24 13:46:20 +01:00
standardci
63401b7640 chore(release): publish new version
- @standardnotes/auth-server@1.87.0
2023-01-24 11:14:52 +00:00
Karol Sójko
6a5b669ec4 feat(auth): add U2F to MFA verification 2023-01-24 12:12:51 +01:00
standardci
ca201447d2 chore(release): publish new version
- @standardnotes/auth-server@1.86.4
2023-01-24 10:19:45 +00:00
Karol Sójko
f1d3117518 fix(auth): add cleanup of authenticator devices upon sign in with recovery codes 2023-01-24 11:17:51 +01:00
72 changed files with 1104 additions and 689 deletions

2
.nvmrc
View File

@@ -1 +1 @@
18.12.1
18.13.0

15
.pnp.cjs generated
View File

@@ -2734,10 +2734,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@standardnotes/api", [\
["npm:1.24.9", {\
"packageLocation": "./.yarn/cache/@standardnotes-api-npm-1.24.9-b92f13a962-73bfd0fe3b.zip/node_modules/@standardnotes/api/",\
["npm:1.24.10", {\
"packageLocation": "./.yarn/cache/@standardnotes-api-npm-1.24.10-63391538ba-1b9a97fdd8.zip/node_modules/@standardnotes/api/",\
"packageDependencies": [\
["@standardnotes/api", "npm:1.24.9"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/encryption", "npm:1.21.9"],\
@@ -2808,7 +2808,7 @@ const RAW_RUNTIME_STATE =
["@sentry/tracing", "npm:7.28.1"],\
["@simplewebauthn/server", "npm:7.0.0"],\
["@simplewebauthn/typescript-types", "npm:7.0.0"],\
["@standardnotes/api", "npm:1.24.9"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -3137,7 +3137,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/revisions-server", "workspace:packages/revisions"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.24.9"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -3316,6 +3316,7 @@ const RAW_RUNTIME_STATE =
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@sentry/node", "npm:7.28.1"],\
["@sentry/tracing", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -3415,7 +3416,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/websockets-server", "workspace:packages/websockets"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.24.9"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -3457,7 +3458,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/workspace-server", "workspace:packages/workspace"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.24.9"],\
["@standardnotes/api", "npm:1.24.10"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\

View File

@@ -6,5 +6,6 @@
"eslint.nodePath": ".yarn/sdks",
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
"typescript.enablePromptUseWorkspaceTsdk": true,
"terraform.languageServer.enable": false
}

View File

@@ -326,8 +326,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
endif
quiet_cmd_regen_makefile = ACTION Regenerating $@
cmd_regen_makefile = cd $(srcdir); /Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/karolsojko/Library/Caches/node-gyp/18.12.1" "-Dnode_gyp_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp" "-Dnode_lib_file=/Users/karolsojko/Library/Caches/node-gyp/18.12.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics/build/config.gypi -I/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/../../../../../../../../Library/Caches/node-gyp/18.12.1/include/node/common.gypi $(srcdir)/build/config.gypi $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/binding.gyp
cmd_regen_makefile = cd $(srcdir); /Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/karolsojko/Library/Caches/node-gyp/18.13.0" "-Dnode_gyp_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp" "-Dnode_lib_file=/Users/karolsojko/Library/Caches/node-gyp/18.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics/build/config.gypi -I/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/binding.gyp $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/build/config.gypi $(srcdir)/../../../../../../../../Library/Caches/node-gyp/18.13.0/include/node/common.gypi
$(call do_cmd,regen_makefile)
# "all" is a concatenation of the "all" targets from all the included

View File

@@ -1,65 +1,65 @@
cmd_Release/obj.target/native_metrics/src/GCBinder.o := c++ -o Release/obj.target/native_metrics/src/GCBinder.o ../src/GCBinder.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/src -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/GCBinder.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/GCBinder.o := c++ -o Release/obj.target/native_metrics/src/GCBinder.o ../src/GCBinder.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/GCBinder.o.d.raw -c
Release/obj.target/native_metrics/src/GCBinder.o: ../src/GCBinder.cpp \
../src/GCBinder.hpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -78,64 +78,64 @@ Release/obj.target/native_metrics/src/GCBinder.o: ../src/GCBinder.cpp \
../src/GCBinder.cpp:
../src/GCBinder.hpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -1,66 +1,66 @@
cmd_Release/obj.target/native_metrics/src/LoopChecker.o := c++ -o Release/obj.target/native_metrics/src/LoopChecker.o ../src/LoopChecker.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/src -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/LoopChecker.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/LoopChecker.o := c++ -o Release/obj.target/native_metrics/src/LoopChecker.o ../src/LoopChecker.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/LoopChecker.o.d.raw -c
Release/obj.target/native_metrics/src/LoopChecker.o: \
../src/LoopChecker.cpp \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
../src/LoopChecker.hpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -77,66 +77,66 @@ Release/obj.target/native_metrics/src/LoopChecker.o: \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_scriptorigin.h \
../src/Metric.hpp
../src/LoopChecker.cpp:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
../src/LoopChecker.hpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -1,65 +1,65 @@
cmd_Release/obj.target/native_metrics/src/native_metrics.o := c++ -o Release/obj.target/native_metrics/src/native_metrics.o ../src/native_metrics.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/src -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/native_metrics.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/native_metrics.o := c++ -o Release/obj.target/native_metrics/src/native_metrics.o ../src/native_metrics.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/native_metrics.o.d.raw -c
Release/obj.target/native_metrics/src/native_metrics.o: \
../src/native_metrics.cpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -77,64 +77,64 @@ Release/obj.target/native_metrics/src/native_metrics.o: \
../src/GCBinder.hpp ../src/Metric.hpp ../src/LoopChecker.hpp
../src/native_metrics.cpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node/node_object_wrap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -19,19 +19,25 @@
"error_on_warn": "false",
"force_dynamic_crt": 0,
"host_arch": "x64",
"icu_data_in": "../../deps/icu-tmp/icudt71l.dat",
"icu_data_in": "../../deps/icu-tmp/icudt72l.dat",
"icu_endianness": "l",
"icu_gyp_path": "tools/icu/icu-generic.gyp",
"icu_path": "deps/icu-small",
"icu_small": "false",
"icu_ver_major": "71",
"icu_ver_major": "72",
"is_debug": 0,
"libdir": "lib",
"llvm_version": "11.0",
"napi_build_version": "8",
"node_builtin_shareable_builtins": [
"deps/cjs-module-lexer/lexer.js",
"deps/cjs-module-lexer/dist/lexer.js",
"deps/undici/undici.js"
],
"node_byteorder": "little",
"node_debug_lib": "false",
"node_enable_d8": "false",
"node_enable_v8_vtunejit": "false",
"node_fipsinstall": "false",
"node_install_corepack": "true",
"node_install_npm": "true",
@@ -131,6 +137,7 @@
"lib/internal/error_serdes.js",
"lib/internal/errors.js",
"lib/internal/event_target.js",
"lib/internal/file.js",
"lib/internal/fixed_queue.js",
"lib/internal/freelist.js",
"lib/internal/freeze_intrinsics.js",
@@ -139,6 +146,7 @@
"lib/internal/fs/dir.js",
"lib/internal/fs/promises.js",
"lib/internal/fs/read_file_context.js",
"lib/internal/fs/recursive_watch.js",
"lib/internal/fs/rimraf.js",
"lib/internal/fs/streams.js",
"lib/internal/fs/sync_write_stream.js",
@@ -168,6 +176,7 @@
"lib/internal/main/test_runner.js",
"lib/internal/main/watch_mode.js",
"lib/internal/main/worker_thread.js",
"lib/internal/mime.js",
"lib/internal/modules/cjs/helpers.js",
"lib/internal/modules/cjs/loader.js",
"lib/internal/modules/esm/assert.js",
@@ -254,7 +263,11 @@
"lib/internal/test/binding.js",
"lib/internal/test/transfer.js",
"lib/internal/test_runner/harness.js",
"lib/internal/test_runner/mock.js",
"lib/internal/test_runner/runner.js",
"lib/internal/test_runner/tap_checker.js",
"lib/internal/test_runner/tap_lexer.js",
"lib/internal/test_runner/tap_parser.js",
"lib/internal/test_runner/tap_stream.js",
"lib/internal/test_runner/test.js",
"lib/internal/test_runner/utils.js",
@@ -278,6 +291,7 @@
"lib/internal/v8_prof_polyfill.js",
"lib/internal/v8_prof_processor.js",
"lib/internal/validators.js",
"lib/internal/vm.js",
"lib/internal/vm/module.js",
"lib/internal/wasm_web_api.js",
"lib/internal/watch_mode/files_watcher.js",
@@ -378,8 +392,8 @@
"v8_use_siphash": 1,
"want_separate_host_toolset": 0,
"xcode_version": "11.0",
"nodedir": "/Users/karolsojko/Library/Caches/node-gyp/18.12.1",
"nodedir": "/Users/karolsojko/Library/Caches/node-gyp/18.13.0",
"standalone_static_library": 1,
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.12.1 darwin x64"
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin x64"
}
}

View File

@@ -51,13 +51,13 @@ CFLAGS_OBJC_Debug :=
CFLAGS_OBJCC_Debug :=
INCS_Debug := \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/v8/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -107,13 +107,13 @@ CFLAGS_OBJC_Release :=
CFLAGS_OBJCC_Release :=
INCS_Release := \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.12.1/deps/v8/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.19.14](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.13...@standardnotes/analytics@2.19.14) (2023-01-25)
**Note:** Version bump only for package @standardnotes/analytics
## [2.19.13](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.12...@standardnotes/analytics@2.19.13) (2023-01-24)
**Note:** Version bump only for package @standardnotes/analytics
## [2.19.12](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.11...@standardnotes/analytics@2.19.12) (2023-01-20)
**Note:** Version bump only for package @standardnotes/analytics

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/analytics",
"version": "2.19.12",
"version": "2.19.14",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.46.9](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.8...@standardnotes/api-gateway@1.46.9) (2023-01-25)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.46.8](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.7...@standardnotes/api-gateway@1.46.8) (2023-01-25)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.46.7](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.6...@standardnotes/api-gateway@1.46.7) (2023-01-20)
**Note:** Version bump only for package @standardnotes/api-gateway

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api-gateway",
"version": "1.46.7",
"version": "1.46.9",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -5,13 +5,13 @@ import { controller, BaseHttpController, httpPost, httpGet, httpDelete } from 'i
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/authenticators', TYPES.AuthMiddleware)
@controller('/v1/authenticators')
export class AuthenticatorsController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@httpDelete('/:authenticatorId')
@httpDelete('/:authenticatorId', TYPES.AuthMiddleware)
async delete(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(
request,
@@ -21,12 +21,12 @@ export class AuthenticatorsController extends BaseHttpController {
)
}
@httpGet('/')
@httpGet('/', TYPES.AuthMiddleware)
async list(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(request, response, 'authenticators/', request.body)
}
@httpGet('/generate-registration-options')
@httpGet('/generate-registration-options', TYPES.AuthMiddleware)
async generateRegistrationOptions(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(
request,
@@ -36,7 +36,7 @@ export class AuthenticatorsController extends BaseHttpController {
)
}
@httpGet('/generate-authentication-options')
@httpPost('/generate-authentication-options')
async generateAuthenticationOptions(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(
request,
@@ -46,13 +46,8 @@ export class AuthenticatorsController extends BaseHttpController {
)
}
@httpPost('/verify-registration')
@httpPost('/verify-registration', TYPES.AuthMiddleware)
async verifyRegistration(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(request, response, 'authenticators/verify-registration', request.body)
}
@httpPost('/verify-authentication')
async verifyAuthentication(request: Request, response: Response): Promise<void> {
await this.httpService.callAuthServer(request, response, 'authenticators/verify-authentication', request.body)
}
}

View File

@@ -3,6 +3,36 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.87.4](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.3...@standardnotes/auth-server@1.87.4) (2023-01-25)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.87.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.2...@standardnotes/auth-server@1.87.3) (2023-01-25)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.87.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.1...@standardnotes/auth-server@1.87.2) (2023-01-24)
### Bug Fixes
* **auth:** add pseudo u2f params on non existing accounts ([e4c65ca](https://github.com/standardnotes/server/commit/e4c65ca631938d8b1d635a40e463d5544051e4a1))
## [1.87.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.0...@standardnotes/auth-server@1.87.1) (2023-01-24)
**Note:** Version bump only for package @standardnotes/auth-server
# [1.87.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.86.4...@standardnotes/auth-server@1.87.0) (2023-01-24)
### Features
* **auth:** add U2F to MFA verification ([6a5b669](https://github.com/standardnotes/server/commit/6a5b669ec47d3fd71fec3e362d66480d91c544d0))
## [1.86.4](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.86.3...@standardnotes/auth-server@1.86.4) (2023-01-24)
### Bug Fixes
* **auth:** add cleanup of authenticator devices upon sign in with recovery codes ([f1d3117](https://github.com/standardnotes/server/commit/f1d311751832a2abdbe124cede7f020b28cbcd9d))
## [1.86.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.86.2...@standardnotes/auth-server@1.86.3) (2023-01-24)
### Reverts

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/auth-server",
"version": "1.86.3",
"version": "1.87.4",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -38,7 +38,7 @@
"@sentry/node": "^7.28.1",
"@sentry/tracing": "^7.28.1",
"@simplewebauthn/server": "^7.0.0",
"@standardnotes/api": "^1.24.9",
"@standardnotes/api": "^1.24.10",
"@standardnotes/common": "workspace:*",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:*",

View File

@@ -589,8 +589,10 @@ export class ContainerConfigLoader {
.bind<GenerateAuthenticatorAuthenticationOptions>(TYPES.GenerateAuthenticatorAuthenticationOptions)
.toConstantValue(
new GenerateAuthenticatorAuthenticationOptions(
container.get(TYPES.UserRepository),
container.get(TYPES.AuthenticatorRepository),
container.get(TYPES.AuthenticatorChallengeRepository),
container.get(TYPES.PSEUDO_KEY_PARAMS_KEY),
),
)
container
@@ -665,6 +667,7 @@ export class ContainerConfigLoader {
container.get(TYPES.IncreaseLoginAttempts),
container.get(TYPES.ClearLoginAttempts),
container.get(TYPES.DeleteSetting),
container.get(TYPES.AuthenticatorRepository),
),
)
container.bind<DeleteAccount>(TYPES.DeleteAccount).to(DeleteAccount)
@@ -707,7 +710,6 @@ export class ContainerConfigLoader {
container.get(TYPES.GenerateAuthenticatorRegistrationOptions),
container.get(TYPES.VerifyAuthenticatorRegistrationResponse),
container.get(TYPES.GenerateAuthenticatorAuthenticationOptions),
container.get(TYPES.VerifyAuthenticatorAuthenticationResponse),
container.get(TYPES.ListAuthenticators),
container.get(TYPES.DeleteAuthenticator),
container.get(TYPES.AuthenticatorHttpMapper),

View File

@@ -6,20 +6,17 @@ import { DeleteAuthenticator } from '../Domain/UseCase/DeleteAuthenticator/Delet
import { GenerateAuthenticatorAuthenticationOptions } from '../Domain/UseCase/GenerateAuthenticatorAuthenticationOptions/GenerateAuthenticatorAuthenticationOptions'
import { GenerateAuthenticatorRegistrationOptions } from '../Domain/UseCase/GenerateAuthenticatorRegistrationOptions/GenerateAuthenticatorRegistrationOptions'
import { ListAuthenticators } from '../Domain/UseCase/ListAuthenticators/ListAuthenticators'
import { VerifyAuthenticatorAuthenticationResponse } from '../Domain/UseCase/VerifyAuthenticatorAuthenticationResponse/VerifyAuthenticatorAuthenticationResponse'
import { VerifyAuthenticatorRegistrationResponse } from '../Domain/UseCase/VerifyAuthenticatorRegistrationResponse/VerifyAuthenticatorRegistrationResponse'
import { AuthenticatorHttpProjection } from '../Infra/Http/Projection/AuthenticatorHttpProjection'
import { DeleteAuthenticatorRequestParams } from '../Infra/Http/Request/DeleteAuthenticatorRequestParams'
import { GenerateAuthenticatorAuthenticationOptionsRequestParams } from '../Infra/Http/Request/GenerateAuthenticatorAuthenticationOptionsRequestParams'
import { GenerateAuthenticatorRegistrationOptionsRequestParams } from '../Infra/Http/Request/GenerateAuthenticatorRegistrationOptionsRequestParams'
import { ListAuthenticatorsRequestParams } from '../Infra/Http/Request/ListAuthenticatorsRequestParams'
import { VerifyAuthenticatorAuthenticationResponseRequestParams } from '../Infra/Http/Request/VerifyAuthenticatorAuthenticationResponseRequestParams'
import { VerifyAuthenticatorRegistrationResponseRequestParams } from '../Infra/Http/Request/VerifyAuthenticatorRegistrationResponseRequestParams'
import { DeleteAuthenticatorResponse } from '../Infra/Http/Response/DeleteAuthenticatorResponse'
import { GenerateAuthenticatorAuthenticationOptionsResponse } from '../Infra/Http/Response/GenerateAuthenticatorAuthenticationOptionsResponse'
import { GenerateAuthenticatorRegistrationOptionsResponse } from '../Infra/Http/Response/GenerateAuthenticatorRegistrationOptionsResponse'
import { ListAuthenticatorsResponse } from '../Infra/Http/Response/ListAuthenticatorsResponse'
import { VerifyAuthenticatorAuthenticationResponseResponse } from '../Infra/Http/Response/VerifyAuthenticatorAuthenticationResponseResponse'
import { VerifyAuthenticatorRegistrationResponseResponse } from '../Infra/Http/Response/VerifyAuthenticatorRegistrationResponseResponse'
export class AuthenticatorsController {
@@ -27,7 +24,6 @@ export class AuthenticatorsController {
private generateAuthenticatorRegistrationOptions: GenerateAuthenticatorRegistrationOptions,
private verifyAuthenticatorRegistrationResponse: VerifyAuthenticatorRegistrationResponse,
private generateAuthenticatorAuthenticationOptions: GenerateAuthenticatorAuthenticationOptions,
private verifyAuthenticatorAuthenticationResponse: VerifyAuthenticatorAuthenticationResponse,
private listAuthenticators: ListAuthenticators,
private deleteAuthenticator: DeleteAuthenticator,
private authenticatorHttpMapper: MapperInterface<Authenticator, AuthenticatorHttpProjection>,
@@ -117,7 +113,7 @@ export class AuthenticatorsController {
params: GenerateAuthenticatorAuthenticationOptionsRequestParams,
): Promise<GenerateAuthenticatorAuthenticationOptionsResponse> {
const result = await this.generateAuthenticatorAuthenticationOptions.execute({
userUuid: params.userUuid,
username: params.username,
})
if (result.isFailed()) {
@@ -136,29 +132,4 @@ export class AuthenticatorsController {
data: { options: result.getValue() },
}
}
async verifyAuthenticationResponse(
params: VerifyAuthenticatorAuthenticationResponseRequestParams,
): Promise<VerifyAuthenticatorAuthenticationResponseResponse> {
const result = await this.verifyAuthenticatorAuthenticationResponse.execute({
userUuid: params.userUuid,
authenticatorResponse: params.authenticatorResponse,
})
if (result.isFailed()) {
return {
status: HttpStatusCode.Unauthorized,
data: {
error: {
message: result.getError(),
},
},
}
}
return {
status: HttpStatusCode.Success,
data: { success: result.getValue() },
}
}
}

View File

@@ -4,7 +4,7 @@ import { BaseHttpController, controller, httpPost, results } from 'inversify-exp
import { Request, Response } from 'express'
import TYPES from '../Bootstrap/Types'
import { CreateListedAccount } from '../Domain/UseCase/CreateListedAccount/CreateListedAccount'
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
@controller('/listed')
export class ListedController extends BaseHttpController {

View File

@@ -1,4 +1,4 @@
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { Request, Response } from 'express'
import { inject } from 'inversify'
import {

View File

@@ -1,4 +1,4 @@
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { Request, Response } from 'express'
import { inject } from 'inversify'
import {

View File

@@ -1,5 +1,5 @@
import { CrossServiceTokenData, TokenEncoderInterface } from '@standardnotes/security'
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { SettingName } from '@standardnotes/settings'
import { Request, Response } from 'express'
import { inject } from 'inversify'

View File

@@ -1,5 +1,6 @@
import { Request, Response } from 'express'
import { inject } from 'inversify'
import { ErrorTag } from '@standardnotes/api'
import {
BaseHttpController,
controller,
@@ -18,7 +19,6 @@ import { GetUserSubscription } from '../Domain/UseCase/GetUserSubscription/GetUs
import { ClearLoginAttempts } from '../Domain/UseCase/ClearLoginAttempts'
import { IncreaseLoginAttempts } from '../Domain/UseCase/IncreaseLoginAttempts'
import { ChangeCredentials } from '../Domain/UseCase/ChangeCredentials/ChangeCredentials'
import { ErrorTag } from '@standardnotes/common'
@controller('/users')
export class UsersController extends BaseHttpController {

View File

@@ -8,12 +8,12 @@ import {
results,
} from 'inversify-express-utils'
import { CreateValetTokenPayload } from '@standardnotes/responses'
import { ErrorTag } from '@standardnotes/api'
import { ValetTokenOperation } from '@standardnotes/security'
import { Uuid } from '@standardnotes/domain-core'
import TYPES from '../Bootstrap/Types'
import { CreateValetToken } from '../Domain/UseCase/CreateValetToken/CreateValetToken'
import { ErrorTag } from '@standardnotes/common'
import { ValetTokenOperation } from '@standardnotes/security'
import { Uuid } from '@standardnotes/domain-core'
@controller('/valet-tokens', TYPES.ApiGatewayAuthMiddleware)
export class ValetTokenController extends BaseHttpController {

View File

@@ -8,4 +8,5 @@ export interface AuthenticatorRepositoryInterface {
findByUserUuidAndCredentialId(userUuid: Uuid, credentialId: Buffer): Promise<Authenticator | null>
save(authenticator: Authenticator): Promise<void>
remove(authenticator: Authenticator): Promise<void>
removeByUserUuid(userUuid: Uuid): Promise<void>
}

View File

@@ -4,14 +4,22 @@ import { Authenticator } from '../../Authenticator/Authenticator'
import { AuthenticatorChallenge } from '../../Authenticator/AuthenticatorChallenge'
import { AuthenticatorChallengeRepositoryInterface } from '../../Authenticator/AuthenticatorChallengeRepositoryInterface'
import { AuthenticatorRepositoryInterface } from '../../Authenticator/AuthenticatorRepositoryInterface'
import { User } from '../../User/User'
import { UserRepositoryInterface } from '../../User/UserRepositoryInterface'
import { GenerateAuthenticatorAuthenticationOptions } from './GenerateAuthenticatorAuthenticationOptions'
describe('GenerateAuthenticatorAuthenticationOptions', () => {
let userRepository: UserRepositoryInterface
let authenticatorRepository: AuthenticatorRepositoryInterface
let authenticatorChallengeRepository: AuthenticatorChallengeRepositoryInterface
const createUseCase = () =>
new GenerateAuthenticatorAuthenticationOptions(authenticatorRepository, authenticatorChallengeRepository)
new GenerateAuthenticatorAuthenticationOptions(
userRepository,
authenticatorRepository,
authenticatorChallengeRepository,
'pseudo-key-params-key',
)
beforeEach(() => {
const authenticator = Authenticator.create({
@@ -31,13 +39,33 @@ describe('GenerateAuthenticatorAuthenticationOptions', () => {
authenticatorChallengeRepository = {} as jest.Mocked<AuthenticatorChallengeRepositoryInterface>
authenticatorChallengeRepository.save = jest.fn()
userRepository = {} as jest.Mocked<UserRepositoryInterface>
userRepository.findOneByEmail = jest.fn().mockReturnValue({
uuid: '00000000-0000-0000-0000-000000000000',
} as jest.Mocked<User>)
})
it('should return error if userUuid is invalid', async () => {
it('should return error if username is invalid', async () => {
const useCase = createUseCase()
const result = await useCase.execute({
userUuid: 'invalid',
username: '',
})
expect(result.isFailed()).toBe(true)
expect(result.getError()).toBe('Could not generate authenticator registration options: Username cannot be empty')
})
it('should return error if user uuid is not valid', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue({
uuid: 'invalid',
} as jest.Mocked<User>)
const useCase = createUseCase()
const result = await useCase.execute({
username: 'test@test.te',
})
expect(result.isFailed()).toBe(true)
@@ -46,6 +74,18 @@ describe('GenerateAuthenticatorAuthenticationOptions', () => {
)
})
it('should return pseudo options if user is not found', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
const useCase = createUseCase()
const result = await useCase.execute({
username: 'test@test.te',
})
expect(result.isFailed()).toBe(false)
})
it('should return error if authenticator challenge is invalid', async () => {
const mock = jest.spyOn(AuthenticatorChallenge, 'create')
mock.mockReturnValue(Result.fail('Oops'))
@@ -53,7 +93,7 @@ describe('GenerateAuthenticatorAuthenticationOptions', () => {
const useCase = createUseCase()
const result = await useCase.execute({
userUuid: '00000000-0000-0000-0000-000000000000',
username: 'test@test.te',
})
expect(result.isFailed()).toBe(true)
@@ -66,7 +106,7 @@ describe('GenerateAuthenticatorAuthenticationOptions', () => {
const useCase = createUseCase()
const result = await useCase.execute({
userUuid: '00000000-0000-0000-0000-000000000000',
username: 'test@test.te',
})
expect(result.isFailed()).toBe(false)

View File

@@ -1,19 +1,50 @@
import { Result, UseCaseInterface, Uuid } from '@standardnotes/domain-core'
import * as crypto from 'crypto'
import { Result, UseCaseInterface, Username, Uuid } from '@standardnotes/domain-core'
import { generateAuthenticationOptions } from '@simplewebauthn/server'
import { GenerateAuthenticatorAuthenticationOptionsDTO } from './GenerateAuthenticatorAuthenticationOptionsDTO'
import { AuthenticatorRepositoryInterface } from '../../Authenticator/AuthenticatorRepositoryInterface'
import { AuthenticatorChallengeRepositoryInterface } from '../../Authenticator/AuthenticatorChallengeRepositoryInterface'
import { AuthenticatorChallenge } from '../../Authenticator/AuthenticatorChallenge'
import { UserRepositoryInterface } from '../../User/UserRepositoryInterface'
export class GenerateAuthenticatorAuthenticationOptions implements UseCaseInterface<Record<string, unknown>> {
constructor(
private userRepository: UserRepositoryInterface,
private authenticatorRepository: AuthenticatorRepositoryInterface,
private authenticatorChallengeRepository: AuthenticatorChallengeRepositoryInterface,
private pseudoKeyParamsKey: string,
) {}
async execute(dto: GenerateAuthenticatorAuthenticationOptionsDTO): Promise<Result<Record<string, unknown>>> {
const userUuidOrError = Uuid.create(dto.userUuid)
const usernameOrError = Username.create(dto.username)
if (usernameOrError.isFailed()) {
return Result.fail(`Could not generate authenticator registration options: ${usernameOrError.getError()}`)
}
const username = usernameOrError.getValue()
const user = await this.userRepository.findOneByEmail(username.value)
if (user === null) {
const credentialIdHash = crypto
.createHash('sha256')
.update(`u2f-selector-${dto.username}${this.pseudoKeyParamsKey}`)
.digest('base64url')
const options = generateAuthenticationOptions({
allowCredentials: [
{
id: Buffer.from(credentialIdHash),
type: 'public-key',
transports: [],
},
],
userVerification: 'preferred',
})
return Result.ok(options)
}
const userUuidOrError = Uuid.create(user.uuid)
if (userUuidOrError.isFailed()) {
return Result.fail(`Could not generate authenticator registration options: ${userUuidOrError.getError()}`)
}

View File

@@ -1,3 +1,3 @@
export interface GenerateAuthenticatorAuthenticationOptionsDTO {
userUuid: string
username: string
}

View File

@@ -2,6 +2,7 @@ import { Result } from '@standardnotes/domain-core'
import { AuthResponse20200115 } from '../../Auth/AuthResponse20200115'
import { AuthResponseFactory20200115 } from '../../Auth/AuthResponseFactory20200115'
import { AuthenticatorRepositoryInterface } from '../../Authenticator/AuthenticatorRepositoryInterface'
import { CrypterInterface } from '../../Encryption/CrypterInterface'
import { Setting } from '../../Setting/Setting'
import { SettingServiceInterface } from '../../Setting/SettingServiceInterface'
@@ -24,6 +25,7 @@ describe('SignInWithRecoveryCodes', () => {
let increaseLoginAttempts: IncreaseLoginAttempts
let clearLoginAttempts: ClearLoginAttempts
let deleteSetting: DeleteSetting
let authenticatorRepository: AuthenticatorRepositoryInterface
const createUseCase = () =>
new SignInWithRecoveryCodes(
@@ -36,12 +38,13 @@ describe('SignInWithRecoveryCodes', () => {
increaseLoginAttempts,
clearLoginAttempts,
deleteSetting,
authenticatorRepository,
)
beforeEach(() => {
userRepository = {} as jest.Mocked<UserRepositoryInterface>
userRepository.findOneByEmail = jest.fn().mockReturnValue({
uuid: '1-2-3',
uuid: '00000000-0000-0000-0000-000000000000',
encryptedPassword: '$2a$11$K3g6XoTau8VmLJcai1bB0eD9/YvBSBRtBhMprJOaVZ0U3SgasZH3a',
} as jest.Mocked<User>)
@@ -69,6 +72,9 @@ describe('SignInWithRecoveryCodes', () => {
deleteSetting = {} as jest.Mocked<DeleteSetting>
deleteSetting.execute = jest.fn()
authenticatorRepository = {} as jest.Mocked<AuthenticatorRepositoryInterface>
authenticatorRepository.removeByUserUuid = jest.fn()
})
it('should return error if password is not provided', async () => {
@@ -209,6 +215,24 @@ describe('SignInWithRecoveryCodes', () => {
expect(result.getError()).toBe('Could not sign in with recovery codes: Oops')
})
it('should return error if user has an invalid uuid', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue({
uuid: '1-2-3',
encryptedPassword: '$2a$11$K3g6XoTau8VmLJcai1bB0eD9/YvBSBRtBhMprJOaVZ0U3SgasZH3a',
} as jest.Mocked<User>)
const result = await createUseCase().execute({
userAgent: 'user-agent',
username: 'test@test.te',
password: 'qweqwe123123',
codeVerifier: 'code-verifier',
recoveryCodes: 'foo',
})
expect(result.isFailed()).toBe(true)
expect(result.getError()).toBe('Invalid user uuid')
})
it('should return auth response', async () => {
const result = await createUseCase().execute({
userAgent: 'user-agent',
@@ -220,6 +244,7 @@ describe('SignInWithRecoveryCodes', () => {
expect(clearLoginAttempts.execute).toHaveBeenCalled()
expect(deleteSetting.execute).toHaveBeenCalled()
expect(authenticatorRepository.removeByUserUuid).toHaveBeenCalled()
expect(result.isFailed()).toBe(false)
})
})

View File

@@ -1,5 +1,5 @@
import * as bcrypt from 'bcryptjs'
import { Result, UseCaseInterface, Username, Validator } from '@standardnotes/domain-core'
import { Result, UseCaseInterface, Username, Uuid, Validator } from '@standardnotes/domain-core'
import { SettingName } from '@standardnotes/settings'
import { ApiVersion } from '@standardnotes/api'
@@ -15,6 +15,7 @@ import { AuthResponseFactory20200115 } from '../../Auth/AuthResponseFactory20200
import { IncreaseLoginAttempts } from '../IncreaseLoginAttempts'
import { ClearLoginAttempts } from '../ClearLoginAttempts'
import { DeleteSetting } from '../DeleteSetting/DeleteSetting'
import { AuthenticatorRepositoryInterface } from '../../Authenticator/AuthenticatorRepositoryInterface'
export class SignInWithRecoveryCodes implements UseCaseInterface<AuthResponse20200115> {
constructor(
@@ -27,6 +28,7 @@ export class SignInWithRecoveryCodes implements UseCaseInterface<AuthResponse202
private increaseLoginAttempts: IncreaseLoginAttempts,
private clearLoginAttempts: ClearLoginAttempts,
private deleteSetting: DeleteSetting,
private authenticatorRepository: AuthenticatorRepositoryInterface,
) {}
async execute(dto: SignInWithRecoveryCodesDTO): Promise<Result<AuthResponse20200115>> {
@@ -65,6 +67,14 @@ export class SignInWithRecoveryCodes implements UseCaseInterface<AuthResponse202
return Result.fail('Could not find user')
}
const userUuidOrError = Uuid.create(user.uuid)
if (userUuidOrError.isFailed()) {
await this.increaseLoginAttempts.execute({ email: username.value })
return Result.fail('Invalid user uuid')
}
const userUuid = userUuidOrError.getValue()
const passwordMatches = await bcrypt.compare(dto.password, user.encryptedPassword)
if (!passwordMatches) {
await this.increaseLoginAttempts.execute({ email: username.value })
@@ -110,6 +120,8 @@ export class SignInWithRecoveryCodes implements UseCaseInterface<AuthResponse202
userUuid: user.uuid,
})
await this.authenticatorRepository.removeByUserUuid(userUuid)
await this.clearLoginAttempts.execute({ email: username.value })
return Result.ok(authResponse as AuthResponse20200115)

View File

@@ -1,14 +1,19 @@
import 'reflect-metadata'
import { authenticator } from 'otplib'
import { SettingName } from '@standardnotes/settings'
import { SelectorInterface } from '@standardnotes/security'
import { Result, UseCaseInterface } from '@standardnotes/domain-core'
import { User } from '../User/User'
import { UserRepositoryInterface } from '../User/UserRepositoryInterface'
import { VerifyMFA } from './VerifyMFA'
import { Setting } from '../Setting/Setting'
import { SettingServiceInterface } from '../Setting/SettingServiceInterface'
import { SettingName } from '@standardnotes/settings'
import { SelectorInterface } from '@standardnotes/security'
import { LockRepositoryInterface } from '../User/LockRepositoryInterface'
import { AuthenticatorRepositoryInterface } from '../Authenticator/AuthenticatorRepositoryInterface'
import { VerifyMFA } from './VerifyMFA'
import { Logger } from 'winston'
import { Authenticator } from '../Authenticator/Authenticator'
describe('VerifyMFA', () => {
let user: User
@@ -17,13 +22,27 @@ describe('VerifyMFA', () => {
let settingService: SettingServiceInterface
let booleanSelector: SelectorInterface<boolean>
let lockRepository: LockRepositoryInterface
let authenticatorRepository: AuthenticatorRepositoryInterface
let verifyAuthenticatorAuthenticationResponse: UseCaseInterface<boolean>
let logger: Logger
const pseudoKeyParamsKey = 'foobar'
const createVerifyMFA = () =>
new VerifyMFA(userRepository, settingService, booleanSelector, lockRepository, pseudoKeyParamsKey)
new VerifyMFA(
userRepository,
settingService,
booleanSelector,
lockRepository,
pseudoKeyParamsKey,
authenticatorRepository,
verifyAuthenticatorAuthenticationResponse,
logger,
)
beforeEach(() => {
user = {} as jest.Mocked<User>
user = {
uuid: '00000000-0000-0000-0000-000000000000',
} as jest.Mocked<User>
userRepository = {} as jest.Mocked<UserRepositoryInterface>
userRepository.findOneByEmail = jest.fn().mockReturnValue(user)
@@ -42,164 +61,283 @@ describe('VerifyMFA', () => {
settingService = {} as jest.Mocked<SettingServiceInterface>
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(setting)
authenticatorRepository = {} as jest.Mocked<AuthenticatorRepositoryInterface>
authenticatorRepository.findByUserUuid = jest.fn().mockReturnValue([])
verifyAuthenticatorAuthenticationResponse = {} as jest.Mocked<UseCaseInterface<boolean>>
verifyAuthenticatorAuthenticationResponse.execute = jest.fn().mockReturnValue(Result.ok())
logger = {} as jest.Mocked<Logger>
logger.debug = jest.fn()
})
it('should pass MFA verification if user has no MFA enabled', async () => {
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(null)
describe('2FA', () => {
it('should pass MFA verification if user has no MFA enabled', async () => {
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should pass MFA verification if user has MFA deleted', async () => {
setting = {
name: SettingName.MfaSecret,
value: null,
} as jest.Mocked<Setting>
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(setting)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should pass MFA verification if user is not found and pseudo mfa is not required', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if user is not found and pseudo mfa is required', async () => {
booleanSelector.select = jest.fn().mockReturnValue(true)
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: false,
errorTag: 'mfa-required',
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: expect.stringMatching(/^mfa_/) },
})
})
it('should pass MFA verification if mfa key is correctly encrypted', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).toHaveBeenCalledWith('test@test.te', expect.any(String))
})
it('should pass MFA verification without locking otp', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: false,
}),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if otp is already used within lock out period', async () => {
lockRepository.isOTPLocked = jest.fn().mockReturnValue(true)
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage:
'The two-factor authentication code you entered has been already utilized. Please try again in a while.',
errorPayload: { mfa_key: 'mfa_1-2-3' },
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if mfa is not correct', async () => {
setting = {
name: SettingName.MfaSecret,
value: 'shhhh2',
} as jest.Mocked<Setting>
settingService = {} as jest.Mocked<SettingServiceInterface>
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(setting)
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': 'test' },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage: 'The two-factor authentication code you entered is incorrect. Please try again.',
errorPayload: { mfa_key: 'mfa_1-2-3' },
})
})
it('should not pass MFA verification if no mfa param is found in the request', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { foo: 'bar' },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-required',
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: expect.stringMatching(/^mfa_/) },
})
})
it('should throw an error if the error is not handled mfa validation error', async () => {
settingService.findSettingWithDecryptedValue = jest.fn().mockImplementation(() => {
throw new Error('oops!')
})
let error = null
try {
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': 'test' },
preventOTPFromFurtherUsage: true,
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
} catch (caughtError) {
error = caughtError
}
expect(error).not.toBeNull()
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should pass MFA verification if user has MFA deleted', async () => {
setting = {
name: SettingName.MfaSecret,
value: null,
} as jest.Mocked<Setting>
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(setting)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should pass MFA verification if user is not found and pseudo mfa is not required', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if user is not found and pseudo mfa is required', async () => {
booleanSelector.select = jest.fn().mockReturnValueOnce(true).mockReturnValueOnce(false)
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: false,
errorTag: 'mfa-required',
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: expect.stringMatching(/^mfa_/) },
})
})
it('should pass MFA verification if mfa key is correctly encrypted', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).toHaveBeenCalledWith('test@test.te', expect.any(String))
})
it('should pass MFA verification without locking otp', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: false,
}),
).toEqual({
success: true,
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if otp is already used within lock out period', async () => {
lockRepository.isOTPLocked = jest.fn().mockReturnValue(true)
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': authenticator.generate('shhhh') },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage:
'The two-factor authentication code you entered has been already utilized. Please try again in a while.',
errorPayload: { mfa_key: 'mfa_1-2-3' },
})
expect(lockRepository.lockSuccessfullOTP).not.toHaveBeenCalled()
})
it('should not pass MFA verification if mfa is not correct', async () => {
setting = {
name: SettingName.MfaSecret,
value: 'shhhh2',
} as jest.Mocked<Setting>
settingService = {} as jest.Mocked<SettingServiceInterface>
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(setting)
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': 'test' },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage: 'The two-factor authentication code you entered is incorrect. Please try again.',
errorPayload: { mfa_key: 'mfa_1-2-3' },
})
})
it('should not pass MFA verification if no mfa param is found in the request', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { foo: 'bar' },
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-required',
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: expect.stringMatching(/^mfa_/) },
})
})
it('should throw an error if the error is not handled mfa validation error', async () => {
settingService.findSettingWithDecryptedValue = jest.fn().mockImplementation(() => {
throw new Error('oops!')
})
let error = null
try {
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: { 'mfa_1-2-3': 'test' },
preventOTPFromFurtherUsage: true,
})
} catch (caughtError) {
error = caughtError
}
expect(error).not.toBeNull()
})
})
describe('U2F', () => {
beforeEach(() => {
settingService.findSettingWithDecryptedValue = jest.fn().mockReturnValue(null)
authenticatorRepository.findByUserUuid = jest.fn().mockReturnValue([{} as jest.Mocked<Authenticator>])
})
it('should not pass if user is not found and pseudo u2f is required', async () => {
booleanSelector.select = jest.fn().mockReturnValueOnce(false).mockReturnValueOnce(true)
userRepository.findOneByEmail = jest.fn().mockReturnValue(null)
expect(
await createVerifyMFA().execute({ email: 'test@test.te', requestParams: {}, preventOTPFromFurtherUsage: true }),
).toEqual({
success: false,
errorTag: 'u2f-required',
errorMessage: 'Please authenticate with your U2F device.',
})
})
it('should not pass if the user has an invalid uuid', async () => {
userRepository.findOneByEmail = jest.fn().mockReturnValue({ uuid: 'invalid' } as jest.Mocked<User>)
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: {},
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorMessage: 'User UUID is invalid.',
})
})
it('should not pass if the request is missing authenticator response', async () => {
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: {},
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'u2f-required',
errorMessage: 'Please authenticate with your U2F device.',
})
})
it('should not pass if the authenticator response verification fails', async () => {
verifyAuthenticatorAuthenticationResponse.execute = jest.fn().mockReturnValue(Result.fail('oops!'))
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: {
authenticator_response: {
id: Buffer.from([1]),
},
},
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage: 'Could not verify U2F device.',
})
})
it('should not pass if the authenticator is not verified', async () => {
verifyAuthenticatorAuthenticationResponse.execute = jest.fn().mockReturnValue(Result.ok(false))
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: {
authenticator_response: {
id: Buffer.from([1]),
},
},
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: false,
errorTag: 'mfa-invalid',
errorMessage: 'Could not verify U2F device.',
})
})
it('should pass if the authenticator is verified', async () => {
verifyAuthenticatorAuthenticationResponse.execute = jest.fn().mockReturnValue(Result.ok(true))
expect(
await createVerifyMFA().execute({
email: 'test@test.te',
requestParams: {
authenticator_response: {
id: Buffer.from([1]),
},
},
preventOTPFromFurtherUsage: true,
}),
).toEqual({
success: true,
})
})
})
})

View File

@@ -1,19 +1,24 @@
import * as crypto from 'crypto'
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { SettingName } from '@standardnotes/settings'
import { v4 as uuidv4 } from 'uuid'
import { inject, injectable } from 'inversify'
import { authenticator } from 'otplib'
import { SelectorInterface } from '@standardnotes/security'
import { UseCaseInterface as DomainUseCaseInterface, Uuid } from '@standardnotes/domain-core'
import TYPES from '../../Bootstrap/Types'
import { MFAValidationError } from '../Error/MFAValidationError'
import { UserRepositoryInterface } from '../User/UserRepositoryInterface'
import { SettingServiceInterface } from '../Setting/SettingServiceInterface'
import { LockRepositoryInterface } from '../User/LockRepositoryInterface'
import { AuthenticatorRepositoryInterface } from '../Authenticator/AuthenticatorRepositoryInterface'
import { UseCaseInterface } from './UseCaseInterface'
import { VerifyMFADTO } from './VerifyMFADTO'
import { VerifyMFAResponse } from './VerifyMFAResponse'
import { SettingServiceInterface } from '../Setting/SettingServiceInterface'
import { SelectorInterface } from '@standardnotes/security'
import { LockRepositoryInterface } from '../User/LockRepositoryInterface'
import { Logger } from 'winston'
import { Setting } from '../Setting/Setting'
@injectable()
export class VerifyMFA implements UseCaseInterface {
@@ -23,6 +28,10 @@ export class VerifyMFA implements UseCaseInterface {
@inject(TYPES.BooleanSelector) private booleanSelector: SelectorInterface<boolean>,
@inject(TYPES.LockRepository) private lockRepository: LockRepositoryInterface,
@inject(TYPES.PSEUDO_KEY_PARAMS_KEY) private pseudoKeyParamsKey: string,
@inject(TYPES.AuthenticatorRepository) private authenticatorRepository: AuthenticatorRepositoryInterface,
@inject(TYPES.VerifyAuthenticatorAuthenticationResponse)
private verifyAuthenticatorAuthenticationResponse: DomainUseCaseInterface<boolean>,
@inject(TYPES.Logger) private logger: Logger,
) {}
async execute(dto: VerifyMFADTO): Promise<VerifyMFAResponse> {
@@ -33,39 +42,109 @@ export class VerifyMFA implements UseCaseInterface {
.createHash('sha256')
.update(`mfa-selector-${dto.email}${this.pseudoKeyParamsKey}`)
.digest('hex')
const u2fSelectorHash = crypto
.createHash('sha256')
.update(`u2f-selector-${dto.email}${this.pseudoKeyParamsKey}`)
.digest('hex')
const isPseudoMFARequired = this.booleanSelector.select(mfaSelectorHash, [true, false])
return isPseudoMFARequired
? {
success: false,
errorTag: ErrorTag.MfaRequired,
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: `mfa_${uuidv4()}` },
}
: {
success: true,
}
const isPseudoU2FRequired = this.booleanSelector.select(u2fSelectorHash, [true, false])
if (isPseudoMFARequired) {
return {
success: false,
errorTag: ErrorTag.MfaRequired,
errorMessage: 'Please enter your two-factor authentication code.',
errorPayload: { mfa_key: `mfa_${uuidv4()}` },
}
}
if (isPseudoU2FRequired) {
return {
success: false,
errorTag: ErrorTag.U2FRequired,
errorMessage: 'Please authenticate with your U2F device.',
}
}
return {
success: true,
}
}
const userUuidOrError = Uuid.create(user.uuid)
if (userUuidOrError.isFailed()) {
return {
success: false,
errorMessage: 'User UUID is invalid.',
}
}
const userUuid = userUuidOrError.getValue()
let u2fEnabled = false
const u2fAuthenticators = await this.authenticatorRepository.findByUserUuid(userUuid)
if (u2fAuthenticators.length > 0) {
u2fEnabled = true
}
const mfaSecret = await this.settingService.findSettingWithDecryptedValue({
userUuid: user.uuid,
settingName: SettingName.MfaSecret,
})
if (mfaSecret === null || mfaSecret.value === null) {
const twoFactorEnabled = mfaSecret !== null && mfaSecret.value !== null
if (u2fEnabled === false && twoFactorEnabled === false) {
return {
success: true,
}
}
const verificationResult = await this.verifyMFASecret(
dto.email,
mfaSecret.value,
dto.requestParams,
dto.preventOTPFromFurtherUsage,
)
if (u2fEnabled) {
if (!dto.requestParams.authenticator_response) {
return {
success: false,
errorTag: ErrorTag.U2FRequired,
errorMessage: 'Please authenticate with your U2F device.',
}
}
return verificationResult
const verificationResultOrError = await this.verifyAuthenticatorAuthenticationResponse.execute({
userUuid: userUuid.value,
authenticatorResponse: dto.requestParams.authenticator_response,
})
if (verificationResultOrError.isFailed()) {
this.logger.debug(`Could not verify U2F authentication: ${verificationResultOrError.getError()}`)
return {
success: false,
errorTag: ErrorTag.MfaInvalid,
errorMessage: 'Could not verify U2F device.',
}
}
const verificationResult = verificationResultOrError.getValue()
if (verificationResult === false) {
return {
success: false,
errorTag: ErrorTag.MfaInvalid,
errorMessage: 'Could not verify U2F device.',
}
}
return {
success: true,
}
} else {
const verificationResult = await this.verifyMFASecret(
dto.email,
(mfaSecret as Setting).value as string,
dto.requestParams,
dto.preventOTPFromFurtherUsage,
)
return verificationResult
}
} catch (error) {
if (error instanceof MFAValidationError) {
return {

View File

@@ -1,3 +1,3 @@
export interface GenerateAuthenticatorAuthenticationOptionsRequestParams {
userUuid: string
username: string
}

View File

@@ -1,4 +1,5 @@
import { Request, Response } from 'express'
import { ErrorTag } from '@standardnotes/api'
import {
BaseHttpController,
controller,
@@ -16,7 +17,6 @@ import { VerifyMFA } from '../../Domain/UseCase/VerifyMFA'
import { IncreaseLoginAttempts } from '../../Domain/UseCase/IncreaseLoginAttempts'
import { Logger } from 'winston'
import { GetUserKeyParams } from '../../Domain/UseCase/GetUserKeyParams/GetUserKeyParams'
import { ErrorTag } from '@standardnotes/common'
import { inject } from 'inversify'
import { AuthController } from '../../Controller/AuthController'

View File

@@ -12,13 +12,13 @@ import {
import TYPES from '../../Bootstrap/Types'
import { AuthenticatorsController } from '../../Controller/AuthenticatorsController'
@controller('/authenticators', TYPES.ApiGatewayAuthMiddleware)
@controller('/authenticators')
export class InversifyExpressAuthenticatorsController extends BaseHttpController {
constructor(@inject(TYPES.AuthenticatorsController) private authenticatorsController: AuthenticatorsController) {
super()
}
@httpGet('/')
@httpGet('/', TYPES.ApiGatewayAuthMiddleware)
async list(_request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.authenticatorsController.list({
userUuid: response.locals.user.uuid,
@@ -27,7 +27,7 @@ export class InversifyExpressAuthenticatorsController extends BaseHttpController
return this.json(result.data, result.status)
}
@httpDelete('/:authenticatorId')
@httpDelete('/:authenticatorId', TYPES.ApiGatewayAuthMiddleware)
async delete(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.authenticatorsController.delete({
userUuid: response.locals.user.uuid,
@@ -37,7 +37,7 @@ export class InversifyExpressAuthenticatorsController extends BaseHttpController
return this.json(result.data, result.status)
}
@httpGet('/generate-registration-options')
@httpGet('/generate-registration-options', TYPES.ApiGatewayAuthMiddleware)
async generateRegistrationOptions(_request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.authenticatorsController.generateRegistrationOptions({
username: response.locals.user.email,
@@ -47,7 +47,7 @@ export class InversifyExpressAuthenticatorsController extends BaseHttpController
return this.json(result.data, result.status)
}
@httpPost('/verify-registration')
@httpPost('/verify-registration', TYPES.ApiGatewayAuthMiddleware)
async verifyRegistration(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.authenticatorsController.verifyRegistrationResponse({
userUuid: response.locals.user.uuid,
@@ -58,20 +58,10 @@ export class InversifyExpressAuthenticatorsController extends BaseHttpController
return this.json(result.data, result.status)
}
@httpGet('/generate-authentication-options')
async generateAuthenticationOptions(_request: Request, response: Response): Promise<results.JsonResult> {
@httpPost('/generate-authentication-options')
async generateAuthenticationOptions(request: Request): Promise<results.JsonResult> {
const result = await this.authenticatorsController.generateAuthenticationOptions({
userUuid: response.locals.user.uuid,
})
return this.json(result.data, result.status)
}
@httpPost('/verify-authentication')
async verifyAuthentication(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.authenticatorsController.verifyAuthenticationResponse({
userUuid: response.locals.user.uuid,
authenticatorResponse: request.body,
username: request.body.username,
})
return this.json(result.data, result.status)

View File

@@ -1,4 +1,4 @@
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { TokenDecoderInterface, WebSocketConnectionTokenData } from '@standardnotes/security'
import { Request } from 'express'
import { inject } from 'inversify'

View File

@@ -11,6 +11,14 @@ export class MySQLAuthenticatorRepository implements AuthenticatorRepositoryInte
private mapper: MapperInterface<Authenticator, TypeORMAuthenticator>,
) {}
async removeByUserUuid(userUuid: Uuid): Promise<void> {
await this.ormRepository
.createQueryBuilder()
.delete()
.where('user_uuid = :userUuid', { userUuid: userUuid.value })
.execute()
}
async findById(id: UniqueEntityId): Promise<Authenticator | null> {
const persistence = await this.ormRepository
.createQueryBuilder('authenticator')

View File

@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.46.5](https://github.com/standardnotes/server/compare/@standardnotes/common@1.46.4...@standardnotes/common@1.46.5) (2023-01-24)
**Note:** Version bump only for package @standardnotes/common
## [1.46.4](https://github.com/standardnotes/server/compare/@standardnotes/common@1.46.3...@standardnotes/common@1.46.4) (2023-01-20)
**Note:** Version bump only for package @standardnotes/common

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/common",
"version": "1.46.4",
"version": "1.46.5",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -1,12 +0,0 @@
/* istanbul ignore file */
export enum ErrorTag {
MfaInvalid = 'mfa-invalid',
MfaRequired = 'mfa-required',
RefreshTokenInvalid = 'invalid-refresh-token',
RefreshTokenExpired = 'expired-refresh-token',
AccessTokenExpired = 'expired-access-token',
ParametersInvalid = 'invalid-parameters',
RevokedSession = 'revoked-session',
AuthInvalid = 'invalid-auth',
ReadOnlyAccess = 'read-only-access',
}

View File

@@ -6,7 +6,6 @@ export * from './DataType/JSONString'
export * from './DataType/MicrosecondsTimestamp'
export * from './DataType/ApplicationIdentifier'
export * from './Email/EmailMessageIdentifier'
export * from './Error/ErrorTag'
export * from './KeyParams/AnyKeyParamsContent'
export * from './KeyParams/BaseKeyParams'
export * from './KeyParams/KeyParamsContent001'

View File

@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.6.67](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.6.66...@standardnotes/event-store@1.6.67) (2023-01-25)
**Note:** Version bump only for package @standardnotes/event-store
## [1.6.66](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.6.65...@standardnotes/event-store@1.6.66) (2023-01-20)
**Note:** Version bump only for package @standardnotes/event-store

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/event-store",
"version": "1.6.66",
"version": "1.6.67",
"description": "Event Store Service",
"private": true,
"main": "dist/src/index.js",

View File

@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.9.13](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.12...@standardnotes/files-server@1.9.13) (2023-01-25)
**Note:** Version bump only for package @standardnotes/files-server
## [1.9.12](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.11...@standardnotes/files-server@1.9.12) (2023-01-20)
**Note:** Version bump only for package @standardnotes/files-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files-server",
"version": "1.9.12",
"version": "1.9.13",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.10.26](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.10.25...@standardnotes/revisions-server@1.10.26) (2023-01-25)
**Note:** Version bump only for package @standardnotes/revisions-server
## [1.10.25](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.10.24...@standardnotes/revisions-server@1.10.25) (2023-01-24)
### Bug Fixes
* **auth:** add pseudo u2f params on non existing accounts ([e4c65ca](https://github.com/standardnotes/server/commit/e4c65ca631938d8b1d635a40e463d5544051e4a1))
## [1.10.24](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.10.23...@standardnotes/revisions-server@1.10.24) (2023-01-24)
**Note:** Version bump only for package @standardnotes/revisions-server
## [1.10.23](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.10.22...@standardnotes/revisions-server@1.10.23) (2023-01-23)
**Note:** Version bump only for package @standardnotes/revisions-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/revisions-server",
"version": "1.10.23",
"version": "1.10.26",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -25,7 +25,7 @@
"dependencies": {
"@newrelic/winston-enricher": "^4.0.0",
"@sentry/node": "^7.28.1",
"@standardnotes/api": "^1.24.9",
"@standardnotes/api": "^1.24.10",
"@standardnotes/common": "workspace:^",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:*",

View File

@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.16.17](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.16.16...@standardnotes/scheduler-server@1.16.17) (2023-01-25)
**Note:** Version bump only for package @standardnotes/scheduler-server
## [1.16.16](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.16.15...@standardnotes/scheduler-server@1.16.16) (2023-01-20)
**Note:** Version bump only for package @standardnotes/scheduler-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/scheduler-server",
"version": "1.16.16",
"version": "1.16.17",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.29.12](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.29.11...@standardnotes/syncing-server@1.29.12) (2023-01-25)
**Note:** Version bump only for package @standardnotes/syncing-server
## [1.29.11](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.29.10...@standardnotes/syncing-server@1.29.11) (2023-01-24)
### Bug Fixes
* **auth:** add pseudo u2f params on non existing accounts ([e4c65ca](https://github.com/standardnotes/syncing-server-js/commit/e4c65ca631938d8b1d635a40e463d5544051e4a1))
## [1.29.10](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.29.9...@standardnotes/syncing-server@1.29.10) (2023-01-24)
**Note:** Version bump only for package @standardnotes/syncing-server
## [1.29.9](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.29.8...@standardnotes/syncing-server@1.29.9) (2023-01-20)
**Note:** Version bump only for package @standardnotes/syncing-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/syncing-server",
"version": "1.29.9",
"version": "1.29.12",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -29,6 +29,7 @@
"@newrelic/winston-enricher": "^4.0.0",
"@sentry/node": "^7.28.1",
"@sentry/tracing": "^7.28.1",
"@standardnotes/api": "^1.24.10",
"@standardnotes/common": "workspace:*",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:*",

View File

@@ -6,7 +6,7 @@ import TYPES from '../Bootstrap/Types'
import { ProjectorInterface } from '../Projection/ProjectorInterface'
import { Revision } from '../Domain/Revision/Revision'
import { RevisionServiceInterface } from '../Domain/Revision/RevisionServiceInterface'
import { ErrorTag } from '@standardnotes/common'
import { ErrorTag } from '@standardnotes/api'
import { RevisionProjection } from '../Projection/RevisionProjection'
import { MapperInterface } from '@standardnotes/domain-core'
import { RevisionMetadata } from '../Domain/Revision/RevisionMetadata'

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.5.18](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.17...@standardnotes/websockets-server@1.5.18) (2023-01-25)
**Note:** Version bump only for package @standardnotes/websockets-server
## [1.5.17](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.16...@standardnotes/websockets-server@1.5.17) (2023-01-24)
### Bug Fixes
* **auth:** add pseudo u2f params on non existing accounts ([e4c65ca](https://github.com/standardnotes/server/commit/e4c65ca631938d8b1d635a40e463d5544051e4a1))
## [1.5.16](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.15...@standardnotes/websockets-server@1.5.16) (2023-01-24)
**Note:** Version bump only for package @standardnotes/websockets-server
## [1.5.15](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.14...@standardnotes/websockets-server@1.5.15) (2023-01-23)
**Note:** Version bump only for package @standardnotes/websockets-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/websockets-server",
"version": "1.5.15",
"version": "1.5.18",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -24,7 +24,7 @@
"dependencies": {
"@newrelic/winston-enricher": "^4.0.0",
"@sentry/node": "^7.28.1",
"@standardnotes/api": "^1.24.9",
"@standardnotes/api": "^1.24.10",
"@standardnotes/common": "workspace:^",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:^",

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.19.21](https://github.com/standardnotes/server/compare/@standardnotes/workspace-server@1.19.20...@standardnotes/workspace-server@1.19.21) (2023-01-25)
**Note:** Version bump only for package @standardnotes/workspace-server
## [1.19.20](https://github.com/standardnotes/server/compare/@standardnotes/workspace-server@1.19.19...@standardnotes/workspace-server@1.19.20) (2023-01-24)
### Bug Fixes
* **auth:** add pseudo u2f params on non existing accounts ([e4c65ca](https://github.com/standardnotes/server/commit/e4c65ca631938d8b1d635a40e463d5544051e4a1))
## [1.19.19](https://github.com/standardnotes/server/compare/@standardnotes/workspace-server@1.19.18...@standardnotes/workspace-server@1.19.19) (2023-01-24)
**Note:** Version bump only for package @standardnotes/workspace-server
## [1.19.18](https://github.com/standardnotes/server/compare/@standardnotes/workspace-server@1.19.17...@standardnotes/workspace-server@1.19.18) (2023-01-23)
**Note:** Version bump only for package @standardnotes/workspace-server

View File

@@ -1,4 +1,4 @@
FROM node:18.12.1-alpine
FROM node:18.13.0-alpine
RUN apk add --update \
curl \

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/workspace-server",
"version": "1.19.18",
"version": "1.19.21",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -24,7 +24,7 @@
"dependencies": {
"@newrelic/winston-enricher": "^4.0.0",
"@sentry/node": "^7.28.1",
"@standardnotes/api": "^1.24.9",
"@standardnotes/api": "^1.24.10",
"@standardnotes/common": "workspace:*",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:^",

View File

@@ -2005,9 +2005,9 @@ __metadata:
languageName: unknown
linkType: soft
"@standardnotes/api@npm:^1.24.9":
version: 1.24.9
resolution: "@standardnotes/api@npm:1.24.9"
"@standardnotes/api@npm:^1.24.10":
version: 1.24.10
resolution: "@standardnotes/api@npm:1.24.10"
dependencies:
"@standardnotes/common": "npm:^1.46.4"
"@standardnotes/domain-core": "npm:^1.11.1"
@@ -2017,7 +2017,7 @@ __metadata:
"@standardnotes/security": "npm:^1.7.5"
"@standardnotes/utils": "npm:1.16.3"
reflect-metadata: "npm:^0.1.13"
checksum: 73bfd0fe3b045cf227404b42f4ea42c7ac581b1896ecb777febbce8d34faa3434ef2f7aa769930ab2e1a69abfc3140df1aa7699b2b45516d75c2eea82ceee038
checksum: 1b9a97fdd8f2951dac9f9c8d730b23825e4093a3c882004128e618f43de64d1c9050f3de0609bd0ff3999a8bfce2d203a2bce36d2132be3cd42ea7f310509620
languageName: node
linkType: hard
@@ -2032,7 +2032,7 @@ __metadata:
"@sentry/tracing": "npm:^7.28.1"
"@simplewebauthn/server": "npm:^7.0.0"
"@simplewebauthn/typescript-types": "npm:^7.0.0"
"@standardnotes/api": "npm:^1.24.9"
"@standardnotes/api": "npm:^1.24.10"
"@standardnotes/common": "workspace:*"
"@standardnotes/domain-core": "workspace:^"
"@standardnotes/domain-events": "workspace:*"
@@ -2342,7 +2342,7 @@ __metadata:
dependencies:
"@newrelic/winston-enricher": "npm:^4.0.0"
"@sentry/node": "npm:^7.28.1"
"@standardnotes/api": "npm:^1.24.9"
"@standardnotes/api": "npm:^1.24.10"
"@standardnotes/common": "workspace:^"
"@standardnotes/domain-core": "workspace:^"
"@standardnotes/domain-events": "workspace:*"
@@ -2509,6 +2509,7 @@ __metadata:
"@newrelic/winston-enricher": "npm:^4.0.0"
"@sentry/node": "npm:^7.28.1"
"@sentry/tracing": "npm:^7.28.1"
"@standardnotes/api": "npm:^1.24.10"
"@standardnotes/common": "workspace:*"
"@standardnotes/domain-core": "workspace:^"
"@standardnotes/domain-events": "workspace:*"
@@ -2604,7 +2605,7 @@ __metadata:
dependencies:
"@newrelic/winston-enricher": "npm:^4.0.0"
"@sentry/node": "npm:^7.28.1"
"@standardnotes/api": "npm:^1.24.9"
"@standardnotes/api": "npm:^1.24.10"
"@standardnotes/common": "workspace:^"
"@standardnotes/domain-core": "workspace:^"
"@standardnotes/domain-events": "workspace:^"
@@ -2644,7 +2645,7 @@ __metadata:
dependencies:
"@newrelic/winston-enricher": "npm:^4.0.0"
"@sentry/node": "npm:^7.28.1"
"@standardnotes/api": "npm:^1.24.9"
"@standardnotes/api": "npm:^1.24.10"
"@standardnotes/common": "workspace:*"
"@standardnotes/domain-core": "workspace:^"
"@standardnotes/domain-events": "workspace:^"