Compare commits

..

30 Commits

Author SHA1 Message Date
standardci
74e1380df8 chore(release): publish new version
- @standardnotes/api-gateway@1.49.3
2023-02-24 07:35:22 +00:00
Karol Sójko
dfa5187ff7 fix(api-gateywa): remove stale proxy references 2023-02-24 08:21:22 +01:00
Karol Sójko
c99c4425cd chore: update yarn lock 2023-02-24 08:14:33 +01:00
Karol Sójko
2d8919a079 chore: remove proxy service 2023-02-24 08:14:17 +01:00
standardci
f638287213 chore(release): publish new version
- @standardnotes/analytics@2.21.1
 - @standardnotes/api-gateway@1.49.2
 - @standardnotes/auth-server@1.89.1
 - @standardnotes/common@1.46.6
 - @standardnotes/domain-events-infra@1.9.72
 - @standardnotes/domain-events@2.108.1
 - @standardnotes/event-store@1.7.4
 - @standardnotes/files-server@1.10.5
 - @standardnotes/revisions-server@1.12.6
 - @standardnotes/scheduler-server@1.17.5
 - @standardnotes/syncing-server@1.31.7
 - @standardnotes/websockets-server@1.6.5
2023-02-23 13:01:18 +00:00
Karol Sójko
991d885b63 chore: fix faulty import 2023-02-23 13:47:06 +01:00
Karol Sójko
bb17efa817 chore: fix yarn lock 2023-02-23 13:35:06 +01:00
Karol Sójko
deec29c1b4 chore: remove workspaces from code base 2023-02-23 13:30:39 +01:00
Karol Sójko
9d872008a7 fix(analytics): add general activity metric to mixpanel 2023-02-23 13:21:12 +01:00
standardci
145b4401af chore(release): publish new version
- @standardnotes/analytics@2.21.0
 - @standardnotes/api-gateway@1.49.1
 - @standardnotes/auth-server@1.89.0
 - @standardnotes/domain-events-infra@1.9.71
 - @standardnotes/domain-events@2.108.0
 - @standardnotes/event-store@1.7.3
 - @standardnotes/files-server@1.10.4
 - @standardnotes/revisions-server@1.12.5
 - @standardnotes/scheduler-server@1.17.4
 - @standardnotes/syncing-server@1.31.6
 - @standardnotes/time@1.14.2
 - @standardnotes/websockets-server@1.6.4
 - @standardnotes/workspace-server@1.20.4
2023-02-23 11:42:37 +00:00
Karol Sójko
17bd50c263 fix(auth): add safety buffer for session access token age ttl 2023-02-23 12:27:19 +01:00
Karol Sójko
4cb79de685 chore: add running e2e test suite on a schedule 2023-02-23 11:59:45 +01:00
Karol Sójko
28ab0b8e46 chore: fix server ci setup 2023-02-23 11:44:26 +01:00
Karol Sójko
6911802b87 feat(analytics): add listening on session created and refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
5b98924561 feat(auth): add publishing session created and session refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
f13944badc fix(auth): mark sessions that are longer than configured as expired 2023-02-23 11:18:10 +01:00
standardci
af41e6497d chore(release): publish new version
- @standardnotes/proxy-server@1.1.6
2023-02-23 09:14:53 +00:00
Karol Sójko
b1122a3da5 fix(proxy): make healthcheck endpoint accessible at all times 2023-02-23 10:00:08 +01:00
standardci
b17fddda63 chore(release): publish new version
- @standardnotes/proxy-server@1.1.5
2023-02-22 19:05:43 +00:00
Mo
20dc020596 refactor: proxy server 2023-02-22 12:51:23 -06:00
standardci
b53291650f chore(release): publish new version
- @standardnotes/proxy-server@1.1.4
2023-02-22 18:27:14 +00:00
Mo
b83d84e519 refactor: proxy lib 2023-02-22 12:11:12 -06:00
standardci
14794d1a5f chore(release): publish new version
- @standardnotes/proxy-server@1.1.3
2023-02-22 17:33:33 +00:00
Mo
6b130ef045 refactor: proxy improvements 2023-02-22 11:19:37 -06:00
standardci
25a6126ef4 chore(release): publish new version
- @standardnotes/proxy-server@1.1.2
2023-02-22 16:52:30 +00:00
Mo
a2df09fb5b refactor: proxy param 2023-02-22 10:38:18 -06:00
Mo
465b2741fb refactor: proxy server error handling 2023-02-22 10:35:33 -06:00
standardci
724dc5c86c chore(release): publish new version
- @standardnotes/proxy-server@1.1.1
2023-02-22 16:25:25 +00:00
Aman Harwara
f4208c19a7 refactor: proxy error response (#452) 2023-02-22 21:36:32 +05:30
Karol Sójko
6fed293716 chore: remove deploying worker workflow from proxy server 2023-02-22 13:40:30 +01:00
198 changed files with 857 additions and 4713 deletions

View File

@@ -95,11 +95,6 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/packages/workspace"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:

View File

@@ -26,23 +26,6 @@ jobs:
image: standardnotes/snjs:${{ inputs.snjs_image_tag }}
ports:
- 9001:9001
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
env:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
options: >-
--name "mock-event-publisher"
steps:
- uses: actions/checkout@v3
@@ -59,8 +42,5 @@ jobs:
- name: Wait for server to start
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
- name: Connect external containers to self-hosted network
run: docker network connect --alias mock-event-publisher standardnotes_self_hosted mock-event-publisher
- name: Run E2E Test Suite
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html

View File

@@ -1,6 +1,8 @@
name: E2E Test Suite On Self Hosted Server
on:
schedule:
- cron: '0 */12 * * *'
workflow_dispatch:
inputs:
snjs_image_tag:
@@ -13,5 +15,5 @@ jobs:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
with:
snjs_image_tag: ${{ inputs.snjs_image_tag }}
snjs_image_tag: ${{ inputs.snjs_image_tag || 'latest' }}
secrets: inherit

View File

@@ -1,21 +0,0 @@
name: Proxy Server
concurrency:
group: proxy_server
cancel-in-progress: true
on:
push:
tags:
- '*standardnotes/proxy-server*'
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: proxy
workspace_name: "@standardnotes/proxy-server"
package_path: packages/proxy
secrets: inherit

View File

@@ -1,47 +0,0 @@
name: Workspace Server
concurrency:
group: workspace
cancel-in-progress: true
on:
push:
tags:
- '*standardnotes/workspace-server*'
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: workspace
workspace_name: "@standardnotes/workspace-server"
package_path: packages/workspace
secrets: inherit
newrelic:
needs: call_server_application_workflow
runs-on: ubuntu-latest
steps:
- name: Create New Relic deployment marker for Web
uses: newrelic/deployment-marker-action@v1
with:
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_WORKSPACE_WEB_PROD }}
revision: "${{ github.sha }}"
description: "Automated Deployment via Github Actions"
user: "${{ github.actor }}"
- name: Create New Relic deployment marker for Worker
uses: newrelic/deployment-marker-action@v1
with:
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_WORKSPACE_WORKER_PROD }}
revision: "${{ github.sha }}"
description: "Automated Deployment via Github Actions"
user: "${{ github.actor }}"

103
.pnp.cjs generated
View File

@@ -53,10 +53,6 @@ const RAW_RUNTIME_STATE =
"name": "@standardnotes/predicates",\
"reference": "workspace:packages/predicates"\
},\
{\
"name": "@standardnotes/proxy-server",\
"reference": "workspace:packages/proxy"\
},\
{\
"name": "@standardnotes/revisions-server",\
"reference": "workspace:packages/revisions"\
@@ -88,10 +84,6 @@ const RAW_RUNTIME_STATE =
{\
"name": "@standardnotes/websockets-server",\
"reference": "workspace:packages/websockets"\
},\
{\
"name": "@standardnotes/workspace-server",\
"reference": "workspace:packages/workspace"\
}\
],\
"enableTopLevelFallback": true,\
@@ -107,7 +99,6 @@ const RAW_RUNTIME_STATE =
["@standardnotes/event-store", ["workspace:packages/event-store"]],\
["@standardnotes/files-server", ["workspace:packages/files"]],\
["@standardnotes/predicates", ["workspace:packages/predicates"]],\
["@standardnotes/proxy-server", ["workspace:packages/proxy"]],\
["@standardnotes/revisions-server", ["workspace:packages/revisions"]],\
["@standardnotes/scheduler-server", ["workspace:packages/scheduler"]],\
["@standardnotes/security", ["workspace:packages/security"]],\
@@ -116,8 +107,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/sncrypto-node", ["workspace:packages/sncrypto-node"]],\
["@standardnotes/syncing-server", ["workspace:packages/syncing-server"]],\
["@standardnotes/time", ["workspace:packages/time"]],\
["@standardnotes/websockets-server", ["workspace:packages/websockets"]],\
["@standardnotes/workspace-server", ["workspace:packages/workspace"]]\
["@standardnotes/websockets-server", ["workspace:packages/websockets"]]\
],\
"fallbackPool": [\
],\
@@ -4466,23 +4456,6 @@ const RAW_RUNTIME_STATE =
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/proxy-server", [\
["workspace:packages/proxy", {\
"packageLocation": "./packages/proxy/",\
"packageDependencies": [\
["@standardnotes/proxy-server", "workspace:packages/proxy"],\
["@types/http-proxy", "npm:1.17.9"],\
["@types/newrelic", "npm:9.4.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["eslint", "npm:8.32.0"],\
["eslint-plugin-prettier", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.2.1"],\
["http-proxy", "npm:1.18.1"],\
["newrelic", "npm:9.8.0"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"]\
],\
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/responses", [\
["npm:1.13.4", {\
"packageLocation": "./.yarn/cache/@standardnotes-responses-npm-1.13.4-70cbd72561-4803ee14bd.zip/node_modules/@standardnotes/responses/",\
@@ -4827,49 +4800,6 @@ const RAW_RUNTIME_STATE =
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/workspace-server", [\
["workspace:packages/workspace", {\
"packageLocation": "./packages/workspace/",\
"packageDependencies": [\
["@standardnotes/workspace-server", "workspace:packages/workspace"],\
["@aws-sdk/client-sns", "npm:3.259.0"],\
["@aws-sdk/client-sqs", "npm:3.259.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@sentry/node", "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"],\
["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\
["@standardnotes/models", "npm:1.42.11"],\
["@standardnotes/security", "workspace:packages/security"],\
["@standardnotes/time", "workspace:packages/time"],\
["@types/cors", "npm:2.8.12"],\
["@types/express", "npm:4.17.14"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["cors", "npm:2.8.5"],\
["dotenv", "npm:16.0.1"],\
["eslint", "npm:8.32.0"],\
["eslint-plugin-prettier", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.2.1"],\
["express", "npm:4.18.2"],\
["inversify", "npm:6.0.1"],\
["inversify-express-utils", "npm:6.4.3"],\
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
["winston", "npm:3.8.2"]\
],\
"linkType": "SOFT"\
}]\
]],\
["@szmarczak/http-timer", [\
["npm:5.0.1", {\
"packageLocation": "./.yarn/cache/@szmarczak-http-timer-npm-5.0.1-52261e5986-67236cba79.zip/node_modules/@szmarczak/http-timer/",\
@@ -5098,16 +5028,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["@types/http-proxy", [\
["npm:1.17.9", {\
"packageLocation": "./.yarn/cache/@types-http-proxy-npm-1.17.9-fa2f5ce316-3ee577db82.zip/node_modules/@types/http-proxy/",\
"packageDependencies": [\
["@types/http-proxy", "npm:1.17.9"],\
["@types/node", "npm:18.0.3"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/inversify-express-utils", [\
["npm:2.0.0", {\
"packageLocation": "./.yarn/cache/@types-inversify-express-utils-npm-2.0.0-e78182955d-9841bfddff.zip/node_modules/@types/inversify-express-utils/",\
@@ -9346,18 +9266,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["http-proxy", [\
["npm:1.18.1", {\
"packageLocation": "./.yarn/cache/http-proxy-npm-1.18.1-a313c479c5-5d681e4231.zip/node_modules/http-proxy/",\
"packageDependencies": [\
["http-proxy", "npm:1.18.1"],\
["eventemitter3", "npm:4.0.7"],\
["follow-redirects", "virtual:4b63965ac1b2157b91a1875529bea3b0bbc3068d3676d1bef28bff5cf6689705374a86cc3832f95ba8d934037a93cc0e09c3662c13ca0e747800d7ca279a53c0#npm:1.15.2"],\
["requires-port", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["http-proxy-agent", [\
["npm:5.0.0", {\
"packageLocation": "./.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-b59a9b4bdd.zip/node_modules/http-proxy-agent/",\
@@ -13050,15 +12958,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["requires-port", [\
["npm:1.0.0", {\
"packageLocation": "./.yarn/cache/requires-port-npm-1.0.0-fd036b488a-28a1064f04.zip/node_modules/requires-port/",\
"packageDependencies": [\
["requires-port", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["resolve", [\
["patch:resolve@npm%3A1.22.1#optional!builtin<compat/resolve>::version=1.22.1&hash=07638b", {\
"packageLocation": "./.yarn/cache/resolve-patch-bc26c25fbb-a6f214b97d.zip/node_modules/resolve/",\

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.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
cmd_regen_makefile = cd $(srcdir); /Users/mo/Desktop/sn/dev/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/mo/Library/Caches/node-gyp/18.13.0" "-Dnode_gyp_dir=/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp" "-Dnode_lib_file=/Users/mo/Library/Caches/node-gyp/18.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/mo/Desktop/sn/dev/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/mo/Desktop/sn/dev/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics/build/config.gypi -I/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi -I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/binding.gyp $(srcdir)/build/config.gypi $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.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 +1 @@
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch x86_64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch arm64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o

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.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
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/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/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 arm64 -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.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 \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/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.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:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/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.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
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/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/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 arm64 -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.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/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/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.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 \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/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.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/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/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.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:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/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.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
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/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/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 arm64 -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.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 \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/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.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:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/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

@@ -5,9 +5,12 @@
"default_configuration": "Release",
"defines": [],
"include_dirs": [],
"libraries": []
"libraries": [],
"msvs_configuration_platform": "ARM64",
"xcode_configuration_platform": "arm64"
},
"variables": {
"arm_fpu": "neon",
"asan": 0,
"coverage": "false",
"dcheck_always_on": 0,
@@ -18,7 +21,7 @@
"enable_pgo_use": "false",
"error_on_warn": "false",
"force_dynamic_crt": 0,
"host_arch": "x64",
"host_arch": "arm64",
"icu_data_in": "../../deps/icu-tmp/icudt72l.dat",
"icu_endianness": "l",
"icu_gyp_path": "tools/icu/icu-generic.gyp",
@@ -27,7 +30,7 @@
"icu_ver_major": "72",
"is_debug": 0,
"libdir": "lib",
"llvm_version": "11.0",
"llvm_version": "12.0",
"napi_build_version": "8",
"node_builtin_shareable_builtins": [
"deps/cjs-module-lexer/lexer.js",
@@ -371,7 +374,7 @@
"openssl_quic": "true",
"ossfuzz": "false",
"shlib_suffix": "108.dylib",
"target_arch": "x64",
"target_arch": "arm64",
"v8_enable_31bit_smis_on_64bit_arch": 0,
"v8_enable_gdbjit": 0,
"v8_enable_hugepage": 0,
@@ -382,7 +385,6 @@
"v8_enable_object_print": 1,
"v8_enable_pointer_compression": 0,
"v8_enable_shared_ro_heap": 1,
"v8_enable_short_builtin_calls": 1,
"v8_enable_webassembly": 1,
"v8_no_strict_aliasing": 1,
"v8_optimized_debug": 1,
@@ -391,9 +393,9 @@
"v8_trace_maps": 0,
"v8_use_siphash": 1,
"want_separate_host_toolset": 0,
"xcode_version": "11.0",
"nodedir": "/Users/karolsojko/Library/Caches/node-gyp/18.13.0",
"xcode_version": "12.0",
"nodedir": "/Users/mo/Library/Caches/node-gyp/18.13.0",
"standalone_static_library": 1,
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin x64"
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin arm64"
}
}

View File

@@ -26,7 +26,7 @@ CFLAGS_Debug := \
-O0 \
-gdwarf-2 \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-Wall \
-Wendif-labels \
-W \
@@ -51,13 +51,13 @@ CFLAGS_OBJC_Debug :=
CFLAGS_OBJCC_Debug :=
INCS_Debug := \
-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/Users/mo/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/src \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -82,7 +82,7 @@ CFLAGS_Release := \
-O3 \
-gdwarf-2 \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-Wall \
-Wendif-labels \
-W \
@@ -107,13 +107,13 @@ CFLAGS_OBJC_Release :=
CFLAGS_OBJCC_Release :=
INCS_Release := \
-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/Users/mo/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/src \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -152,7 +152,7 @@ LDFLAGS_Debug := \
-undefined dynamic_lookup \
-Wl,-search_paths_first \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-L$(builddir) \
-stdlib=libc++
@@ -164,7 +164,7 @@ LDFLAGS_Release := \
-undefined dynamic_lookup \
-Wl,-search_paths_first \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-L$(builddir) \
-stdlib=libc++

View File

@@ -1,4 +1,22 @@
services:
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
environment:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
networks:
- standardnotes_self_hosted
server:
build: .
env_file: .github/ci.env

View File

@@ -349,7 +349,6 @@ export API_GATEWAY_NEW_RELIC_NO_CONFIG_FILE=true
export API_GATEWAY_SYNCING_SERVER_JS_URL=http://localhost:$SYNCING_SERVER_PORT
export API_GATEWAY_AUTH_SERVER_URL=http://localhost:$AUTH_SERVER_PORT
export API_GATEWAY_WORKSPACE_SERVER_URL=http://localhost:3004
export API_GATEWAY_REVISIONS_SERVER_URL=http://localhost:3005
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
export PUBLIC_FILES_SERVER_URL=http://localhost:3125

View File

@@ -91,13 +91,6 @@ TOPIC_CREATED_RESULT=$(create_topic ${SCHEDULER_TOPIC_NAME})
echo "created topic: $TOPIC_CREATED_RESULT"
SCHEDULER_TOPIC_ARN=$(get_topic_arn_from_name $SCHEDULER_TOPIC_NAME)
WORKSPACE_TOPIC_NAME="workspace-local-topic"
echo "creating topic $WORKSPACE_TOPIC_NAME"
TOPIC_CREATED_RESULT=$(create_topic ${WORKSPACE_TOPIC_NAME})
echo "created topic: $TOPIC_CREATED_RESULT"
WORKSPACE_TOPIC_ARN=$(get_topic_arn_from_name $WORKSPACE_TOPIC_NAME)
QUEUE_NAME="analytics-local-queue"
echo "creating queue $QUEUE_NAME"
@@ -182,13 +175,6 @@ QUEUE_URL=$(create_queue ${QUEUE_NAME})
echo "created queue: $QUEUE_URL"
SCHEDULER_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
QUEUE_NAME="workspace-local-queue"
echo "creating queue $QUEUE_NAME"
QUEUE_URL=$(create_queue ${QUEUE_NAME})
echo "created queue: $QUEUE_URL"
WORKSPACE_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
echo "all topics are:"
echo "$(get_all_topics)"

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.21.1](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.0...@standardnotes/analytics@2.21.1) (2023-02-23)
### Bug Fixes
* **analytics:** add general activity metric to mixpanel ([9d87200](https://github.com/standardnotes/server/commit/9d872008a7df7ccdd9afe7e7d99ccb0f12680319))
# [2.21.0](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.3...@standardnotes/analytics@2.21.0) (2023-02-23)
### Features
* **analytics:** add listening on session created and refreshed events ([6911802](https://github.com/standardnotes/server/commit/6911802b8743d5d21fe1dcc3006e1d8d699fa94d))
## [2.20.3](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.2...@standardnotes/analytics@2.20.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/analytics

View File

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

View File

@@ -55,6 +55,8 @@ import { StatisticMeasureRepositoryInterface } from '../Domain/Statistics/Statis
import { StatisticPersistenceRequestedEventHandler } from '../Domain/Handler/StatisticPersistenceRequestedEventHandler'
import { SNSClient, SNSClientConfig } from '@aws-sdk/client-sns'
import { SQSClient, SQSClientConfig } from '@aws-sdk/client-sqs'
import { SessionCreatedEventHandler } from '../Domain/Handler/SessionCreatedEventHandler'
import { SessionRefreshedEventHandler } from '../Domain/Handler/SessionRefreshedEventHandler'
// eslint-disable-next-line @typescript-eslint/no-var-requires
const newrelicFormatter = require('@newrelic/winston-enricher')
@@ -186,6 +188,8 @@ export class ContainerConfigLoader {
.to(AccountDeletionRequestedEventHandler)
container.bind<PaymentFailedEventHandler>(TYPES.PaymentFailedEventHandler).to(PaymentFailedEventHandler)
container.bind<PaymentSuccessEventHandler>(TYPES.PaymentSuccessEventHandler).to(PaymentSuccessEventHandler)
container.bind<SessionCreatedEventHandler>(TYPES.SessionCreatedEventHandler).to(SessionCreatedEventHandler)
container.bind<SessionRefreshedEventHandler>(TYPES.SessionRefreshedEventHandler).to(SessionRefreshedEventHandler)
container
.bind<SubscriptionCancelledEventHandler>(TYPES.SubscriptionCancelledEventHandler)
.to(SubscriptionCancelledEventHandler)
@@ -234,6 +238,8 @@ export class ContainerConfigLoader {
['SUBSCRIPTION_REACTIVATED', container.get(TYPES.SubscriptionReactivatedEventHandler)],
['REFUND_PROCESSED', container.get(TYPES.RefundProcessedEventHandler)],
['STATISTIC_PERSISTENCE_REQUESTED', container.get(TYPES.StatisticPersistenceRequestedEventHandler)],
['SESSION_CREATED', container.get(TYPES.SessionCreatedEventHandler)],
['SESSION_REFRESHED', container.get(TYPES.SessionRefreshedEventHandler)],
])
container

View File

@@ -37,6 +37,8 @@ const TYPES = {
SubscriptionReactivatedEventHandler: Symbol.for('SubscriptionReactivatedEventHandler'),
RefundProcessedEventHandler: Symbol.for('RefundProcessedEventHandler'),
StatisticPersistenceRequestedEventHandler: Symbol.for('StatisticPersistenceRequestedEventHandler'),
SessionCreatedEventHandler: Symbol.for('SessionCreatedEventHandler'),
SessionRefreshedEventHandler: Symbol.for('SessionRefreshedEventHandler'),
// Maps
RevenueModificationMap: Symbol.for('RevenueModificationMap'),
// Services

View File

@@ -0,0 +1,28 @@
import { SessionCreatedEvent, DomainEventHandlerInterface } from '@standardnotes/domain-events'
import { inject, injectable, optional } from 'inversify'
import { Mixpanel } from 'mixpanel'
import TYPES from '../../Bootstrap/Types'
import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId'
@injectable()
export class SessionCreatedEventHandler implements DomainEventHandlerInterface {
constructor(
@inject(TYPES.GetUserAnalyticsId) private getUserAnalyticsId: GetUserAnalyticsId,
@inject(TYPES.MixpanelClient) @optional() private mixpanelClient: Mixpanel | null,
) {}
async handle(event: SessionCreatedEvent): Promise<void> {
const { analyticsId } = await this.getUserAnalyticsId.execute({ userUuid: event.payload.userUuid })
if (this.mixpanelClient !== null) {
this.mixpanelClient.track(event.type, {
distinct_id: analyticsId.toString(),
})
this.mixpanelClient.track('GENERAL_ACTIVITY', {
distinct_id: analyticsId.toString(),
})
}
}
}

View File

@@ -0,0 +1,28 @@
import { SessionRefreshedEvent, DomainEventHandlerInterface } from '@standardnotes/domain-events'
import { inject, injectable, optional } from 'inversify'
import { Mixpanel } from 'mixpanel'
import TYPES from '../../Bootstrap/Types'
import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId'
@injectable()
export class SessionRefreshedEventHandler implements DomainEventHandlerInterface {
constructor(
@inject(TYPES.GetUserAnalyticsId) private getUserAnalyticsId: GetUserAnalyticsId,
@inject(TYPES.MixpanelClient) @optional() private mixpanelClient: Mixpanel | null,
) {}
async handle(event: SessionRefreshedEvent): Promise<void> {
const { analyticsId } = await this.getUserAnalyticsId.execute({ userUuid: event.payload.userUuid })
if (this.mixpanelClient !== null) {
this.mixpanelClient.track(event.type, {
distinct_id: analyticsId.toString(),
})
this.mixpanelClient.track('GENERAL_ACTIVITY', {
distinct_id: analyticsId.toString(),
})
}
}
}

View File

@@ -6,7 +6,6 @@ PORT=3000
SYNCING_SERVER_JS_URL=http://syncing_server_js:3000
AUTH_SERVER_URL=http://auth:3000
WORKSPACE_SERVER_URL=http://workspace:3000
WEB_SOCKET_SERVER_URL=http://websockets:3000
PAYMENTS_SERVER_URL=http://payments:3000
FILES_SERVER_URL=http://files:3000

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.49.3](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.2...@standardnotes/api-gateway@1.49.3) (2023-02-24)
### Bug Fixes
* **api-gateywa:** remove stale proxy references ([dfa5187](https://github.com/standardnotes/api-gateway/commit/dfa5187ff73833bf981d273da79f78ae0309a493))
## [1.49.2](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.1...@standardnotes/api-gateway@1.49.2) (2023-02-23)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.0...@standardnotes/api-gateway@1.49.1) (2023-02-23)
**Note:** Version bump only for package @standardnotes/api-gateway
# [1.49.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.3...@standardnotes/api-gateway@1.49.0) (2023-02-22)
### Bug Fixes

View File

@@ -19,10 +19,7 @@ import '../src/Controller/v1/TokensController'
import '../src/Controller/v1/OfflineController'
import '../src/Controller/v1/FilesController'
import '../src/Controller/v1/SubscriptionInvitesController'
import '../src/Controller/v1/WorkspacesController'
import '../src/Controller/v1/InvitesController'
import '../src/Controller/v1/AuthenticatorsController'
import '../src/Controller/v1/ProxyController'
import '../src/Controller/v2/PaymentsControllerV2'
import '../src/Controller/v2/ActionsControllerV2'

View File

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

View File

@@ -59,9 +59,7 @@ export class ContainerConfigLoader {
container.bind(TYPES.PAYMENTS_SERVER_URL).toConstantValue(env.get('PAYMENTS_SERVER_URL', true))
container.bind(TYPES.FILES_SERVER_URL).toConstantValue(env.get('FILES_SERVER_URL', true))
container.bind(TYPES.AUTH_JWT_SECRET).toConstantValue(env.get('AUTH_JWT_SECRET'))
container.bind(TYPES.WORKSPACE_SERVER_URL).toConstantValue(env.get('WORKSPACE_SERVER_URL', true))
container.bind(TYPES.WEB_SOCKET_SERVER_URL).toConstantValue(env.get('WEB_SOCKET_SERVER_URL', true))
container.bind(TYPES.PROXY_SERVER_URL).toConstantValue(env.get('PROXY_SERVER_URL', true))
container
.bind(TYPES.HTTP_CALL_TIMEOUT)
.toConstantValue(env.get('HTTP_CALL_TIMEOUT', true) ? +env.get('HTTP_CALL_TIMEOUT', true) : 60_000)

View File

@@ -9,9 +9,7 @@ const TYPES = {
FILES_SERVER_URL: Symbol.for('FILES_SERVER_URL'),
REVISIONS_SERVER_URL: Symbol.for('REVISIONS_SERVER_URL'),
EMAIL_SERVER_URL: Symbol.for('EMAIL_SERVER_URL'),
WORKSPACE_SERVER_URL: Symbol.for('WORKSPACE_SERVER_URL'),
WEB_SOCKET_SERVER_URL: Symbol.for('WEB_SOCKET_SERVER_URL'),
PROXY_SERVER_URL: Symbol.for('PROXY_SERVER_URL'),
AUTH_JWT_SECRET: Symbol.for('AUTH_JWT_SECRET'),
HTTP_CALL_TIMEOUT: Symbol.for('HTTP_CALL_TIMEOUT'),
VERSION: Symbol.for('VERSION'),

View File

@@ -1,23 +0,0 @@
import { inject } from 'inversify'
import { Request, Response } from 'express'
import { controller, BaseHttpController, httpPost } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/invites', TYPES.AuthMiddleware)
export class InvitesController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@httpPost('/:inviteUuid/accept')
async accept(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(
request,
response,
`invites/${request.params.inviteUuid}/accept`,
request.body,
)
}
}

View File

@@ -1,18 +0,0 @@
import { Request, Response } from 'express'
import { inject } from 'inversify'
import { all, BaseHttpController, controller } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/proxy')
export class ProxyController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@all('*', TYPES.AuthMiddleware)
async createToken(request: Request, response: Response): Promise<void> {
await this.httpService.callProxyServer(request, response, request.path.replace('/v1/proxy', ''), request.body)
}
}

View File

@@ -1,53 +0,0 @@
import { inject } from 'inversify'
import { Request, Response } from 'express'
import { controller, BaseHttpController, httpPost, httpGet } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/workspaces', TYPES.AuthMiddleware)
export class WorkspacesController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@httpPost('/')
async create(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(request, response, 'workspaces', request.body)
}
@httpGet('/:workspaceUuid/users')
async listWorkspaceUsers(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(
request,
response,
`workspaces/${request.params.workspaceUuid}/users`,
request.body,
)
}
@httpPost('/:workspaceUuid/users/:userUuid/keyshare')
async initiateKeyshare(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(
request,
response,
`workspaces/${request.params.workspaceUuid}/users/${request.params.userUuid}/keyshare`,
request.body,
)
}
@httpGet('/')
async listWorkspaces(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(request, response, 'workspaces', request.body)
}
@httpPost('/:workspaceUuid/invites')
async invite(request: Request, response: Response): Promise<void> {
await this.httpService.callWorkspaceServer(
request,
response,
`workspaces/${request.params.workspaceUuid}/invites`,
request.body,
)
}
}

View File

@@ -16,11 +16,9 @@ export class HttpService implements HttpServiceInterface {
@inject(TYPES.SYNCING_SERVER_JS_URL) private syncingServerJsUrl: string,
@inject(TYPES.PAYMENTS_SERVER_URL) private paymentsServerUrl: string,
@inject(TYPES.FILES_SERVER_URL) private filesServerUrl: string,
@inject(TYPES.WORKSPACE_SERVER_URL) private workspaceServerUrl: string,
@inject(TYPES.WEB_SOCKET_SERVER_URL) private webSocketServerUrl: string,
@inject(TYPES.REVISIONS_SERVER_URL) private revisionsServerUrl: string,
@inject(TYPES.EMAIL_SERVER_URL) private emailServerUrl: string,
@inject(TYPES.PROXY_SERVER_URL) private proxyServerUrl: string,
@inject(TYPES.HTTP_CALL_TIMEOUT) private httpCallTimeout: number,
@inject(TYPES.CrossServiceTokenCache) private crossServiceTokenCache: CrossServiceTokenCacheInterface,
@inject(TYPES.Logger) private logger: Logger,
@@ -82,21 +80,6 @@ export class HttpService implements HttpServiceInterface {
await this.callServer(this.emailServerUrl, request, response, endpoint, payload)
}
async callWorkspaceServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void> {
if (!this.workspaceServerUrl) {
response.status(400).send({ message: 'Workspace Server not configured' })
return
}
await this.callServer(this.workspaceServerUrl, request, response, endpoint, payload)
}
async callWebSocketServer(
request: Request,
response: Response,
@@ -112,21 +95,6 @@ export class HttpService implements HttpServiceInterface {
await this.callServer(this.webSocketServerUrl, request, response, endpoint, payload)
}
async callProxyServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void> {
if (!this.proxyServerUrl) {
this.logger.debug('Proxy Server URL not defined. Skipped request to Proxy.')
return
}
await this.callServer(this.proxyServerUrl, request, response, endpoint, payload)
}
async callPaymentsServer(
request: Request,
response: Response,

View File

@@ -43,22 +43,10 @@ export interface HttpServiceInterface {
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
callWorkspaceServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
callWebSocketServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
callProxyServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
}

View File

@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.89.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.89.0...@standardnotes/auth-server@1.89.1) (2023-02-23)
**Note:** Version bump only for package @standardnotes/auth-server
# [1.89.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.3...@standardnotes/auth-server@1.89.0) (2023-02-23)
### Bug Fixes
* **auth:** add safety buffer for session access token age ttl ([17bd50c](https://github.com/standardnotes/server/commit/17bd50c263520c4936bf674070e46f0ea0b5cfb1))
* **auth:** mark sessions that are longer than configured as expired ([f13944b](https://github.com/standardnotes/server/commit/f13944badc0e04f153626d0d6ace6f8f6d57e533))
### Features
* **auth:** add publishing session created and session refreshed events ([5b98924](https://github.com/standardnotes/server/commit/5b9892456158819831f1f2dcf349ac861d699a94))
## [1.88.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.2...@standardnotes/auth-server@1.88.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/auth-server

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/auth-server",
"version": "1.88.3",
"version": "1.89.1",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -9,6 +9,8 @@ import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { KeyParamsFactoryInterface } from '../User/KeyParamsFactoryInterface'
import { User } from '../User/User'
import { AuthResponseFactory20200115 } from './AuthResponseFactory20200115'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
describe('AuthResponseFactory20200115', () => {
let sessionService: SessionServiceInterface
@@ -18,13 +20,24 @@ describe('AuthResponseFactory20200115', () => {
let sessionPayload: SessionBody
let logger: Logger
let tokenEncoder: TokenEncoderInterface<SessionTokenData>
let domainEventFactory: DomainEventFactoryInterface
let domainEventPublisher: DomainEventPublisherInterface
const createFactory = () =>
new AuthResponseFactory20200115(sessionService, keyParamsFactory, userProjector, tokenEncoder, logger)
new AuthResponseFactory20200115(
sessionService,
keyParamsFactory,
userProjector,
tokenEncoder,
domainEventFactory,
domainEventPublisher,
logger,
)
beforeEach(() => {
logger = {} as jest.Mocked<Logger>
logger.debug = jest.fn()
logger.error = jest.fn()
sessionPayload = {
access_token: 'access_token',
@@ -52,6 +65,12 @@ describe('AuthResponseFactory20200115', () => {
tokenEncoder = {} as jest.Mocked<TokenEncoderInterface<SessionTokenData>>
tokenEncoder.encodeToken = jest.fn().mockReturnValue('foobar')
domainEventFactory = {} as jest.Mocked<DomainEventFactoryInterface>
domainEventFactory.createSessionCreatedEvent = jest.fn().mockReturnValue({})
domainEventPublisher = {} as jest.Mocked<DomainEventPublisherInterface>
domainEventPublisher.publish = jest.fn()
})
it('should create a 20161215 auth response if user does not support sessions', async () => {
@@ -82,6 +101,37 @@ describe('AuthResponseFactory20200115', () => {
readonlyAccess: false,
})
expect(response).toEqual({
key_params: {
key1: 'value1',
key2: 'value2',
},
session: {
access_token: 'access_token',
refresh_token: 'refresh_token',
access_expiration: 123,
refresh_expiration: 234,
readonly_access: false,
},
user: {
foo: 'bar',
},
})
expect(domainEventPublisher.publish).toHaveBeenCalled()
})
it('should create a 20200115 auth response even if publishing the domain event fails', async () => {
domainEventPublisher.publish = jest.fn().mockRejectedValue(new Error('test'))
user.supportsSessions = jest.fn().mockReturnValue(true)
const response = await createFactory().createResponse({
user,
apiVersion: '20200115',
userAgent: 'Google Chrome',
ephemeralSession: false,
readonlyAccess: false,
})
expect(response).toEqual({
key_params: {
key1: 'value1',

View File

@@ -3,18 +3,22 @@ import {
SessionTokenData,
TokenEncoderInterface,
} from '@standardnotes/security'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { ProtocolVersion } from '@standardnotes/common'
import { SessionBody } from '@standardnotes/responses'
import { inject, injectable } from 'inversify'
import { Logger } from 'winston'
import TYPES from '../../Bootstrap/Types'
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { KeyParamsFactoryInterface } from '../User/KeyParamsFactoryInterface'
import { User } from '../User/User'
import { AuthResponseFactory20190520 } from './AuthResponseFactory20190520'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
import { AuthResponse20161215 } from './AuthResponse20161215'
import { AuthResponse20200115 } from './AuthResponse20200115'
import { AuthResponseFactory20190520 } from './AuthResponseFactory20190520'
@injectable()
export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
@@ -23,6 +27,8 @@ export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
@inject(TYPES.KeyParamsFactory) private keyParamsFactory: KeyParamsFactoryInterface,
@inject(TYPES.UserProjector) userProjector: ProjectorInterface<User>,
@inject(TYPES.SessionTokenEncoder) protected override tokenEncoder: TokenEncoderInterface<SessionTokenData>,
@inject(TYPES.DomainEventFactory) private domainEventFactory: DomainEventFactoryInterface,
@inject(TYPES.DomainEventPublisher) private domainEventPublisher: DomainEventPublisherInterface,
@inject(TYPES.Logger) logger: Logger,
) {
super(userProjector, tokenEncoder, logger)
@@ -67,6 +73,16 @@ export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
return this.sessionService.createNewEphemeralSessionForUser(dto)
}
return this.sessionService.createNewSessionForUser(dto)
const session = this.sessionService.createNewSessionForUser(dto)
try {
await this.domainEventPublisher.publish(
this.domainEventFactory.createSessionCreatedEvent({ userUuid: dto.user.uuid }),
)
} catch (error) {
this.logger.error(`Failed to publish session created event: ${(error as Error).message}`)
}
return session
}
}

View File

@@ -19,6 +19,8 @@ import {
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { Predicate, PredicateVerificationResult } from '@standardnotes/predicates'
import { TimerInterface } from '@standardnotes/time'
@@ -31,6 +33,36 @@ import { DomainEventFactoryInterface } from './DomainEventFactoryInterface'
export class DomainEventFactory implements DomainEventFactoryInterface {
constructor(@inject(TYPES.Timer) private timer: TimerInterface) {}
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent {
return {
type: 'SESSION_CREATED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent {
return {
type: 'SESSION_REFRESHED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createStatisticPersistenceRequestedEvent(dto: {
statisticMeasureName: string
value: number

View File

@@ -17,6 +17,8 @@ import {
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierType'
@@ -92,4 +94,6 @@ export interface DomainEventFactoryInterface {
value: number
date: number
}): StatisticPersistenceRequestedEvent
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent
}

View File

@@ -1,5 +1,4 @@
import 'reflect-metadata'
import * as dayjs from 'dayjs'
import { Session } from '../Session/Session'
@@ -7,28 +6,35 @@ import { User } from '../User/User'
import { AuthenticateUser } from './AuthenticateUser'
import { RevokedSession } from '../Session/RevokedSession'
import { AuthenticationMethodResolverInterface } from '../Auth/AuthenticationMethodResolverInterface'
import { TimerInterface } from '@standardnotes/time'
describe('AuthenticateUser', () => {
let user: User
let session: Session
let revokedSession: RevokedSession
let authenticationMethodResolver: AuthenticationMethodResolverInterface
let timer: TimerInterface
const accessTokenAge = 3600
const createUseCase = () => new AuthenticateUser(authenticationMethodResolver)
const createUseCase = () => new AuthenticateUser(authenticationMethodResolver, timer, accessTokenAge)
beforeEach(() => {
user = {} as jest.Mocked<User>
user.supportsSessions = jest.fn().mockReturnValue(false)
session = {} as jest.Mocked<Session>
session.accessExpiration = dayjs.utc().add(1, 'day').toDate()
session.refreshExpiration = dayjs.utc().add(1, 'day').toDate()
session.accessExpiration = new Date(123)
session.refreshExpiration = new Date(234)
revokedSession = {} as jest.Mocked<RevokedSession>
revokedSession.uuid = '1-2-3'
authenticationMethodResolver = {} as jest.Mocked<AuthenticationMethodResolverInterface>
authenticationMethodResolver.resolve = jest.fn()
timer = {} as jest.Mocked<TimerInterface>
timer.getUTCDate = jest.fn().mockReturnValue(new Date(100))
timer.getUTCDateNSecondsAhead = jest.fn().mockReturnValue(new Date(100 + accessTokenAge))
})
it('should authenticate a user based on a JWT token', async () => {
@@ -107,7 +113,22 @@ describe('AuthenticateUser', () => {
})
it('should not authenticate a user from a session token if session is expired', async () => {
session.accessExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(200))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({
type: 'session_token',
session,
user,
})
const response = await createUseCase().execute({ token: 'test' })
expect(response.success).toBeFalsy()
})
it('should not authenticate a user from a session token if session is longer than configured', async () => {
timer.getUTCDateNSecondsAhead = jest.fn().mockReturnValue(new Date(20))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({
@@ -122,7 +143,7 @@ describe('AuthenticateUser', () => {
})
it('should not authenticate a user from a session token if refresh token is expired', async () => {
session.refreshExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(500))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({

View File

@@ -1,9 +1,10 @@
import { TimerInterface } from '@standardnotes/time'
import * as crypto from 'crypto'
import * as dayjs from 'dayjs'
import { inject, injectable } from 'inversify'
import TYPES from '../../Bootstrap/Types'
import { AuthenticationMethodResolverInterface } from '../Auth/AuthenticationMethodResolverInterface'
import { Session } from '../Session/Session'
import { AuthenticateUserDTO } from './AuthenticateUserDTO'
import { AuthenticateUserResponse } from './AuthenticateUserResponse'
@@ -14,6 +15,8 @@ export class AuthenticateUser implements UseCaseInterface {
constructor(
@inject(TYPES.AuthenticationMethodResolver)
private authenticationMethodResolver: AuthenticationMethodResolverInterface,
@inject(TYPES.Timer) private timer: TimerInterface,
@inject(TYPES.ACCESS_TOKEN_AGE) private accessTokenAge: number,
) {}
async execute(dto: AuthenticateUserDTO): Promise<AuthenticateUserResponse> {
@@ -69,14 +72,14 @@ export class AuthenticateUser implements UseCaseInterface {
}
}
if (session.refreshExpiration < dayjs.utc().toDate()) {
if (session.refreshExpiration < this.timer.getUTCDate()) {
return {
success: false,
failureType: 'INVALID_AUTH',
}
}
if (session.accessExpiration < dayjs.utc().toDate()) {
if (this.sessionIsExpired(session)) {
return {
success: false,
failureType: 'EXPIRED_TOKEN',
@@ -93,4 +96,17 @@ export class AuthenticateUser implements UseCaseInterface {
session: authenticationMethod.session,
}
}
private sessionIsExpired(session: Session): boolean {
const sessionIsExpired = session.accessExpiration < this.timer.getUTCDate()
const freshlyCreatedSessionSafetyBufferSeconds = 10
const currentConfigurationAccessTokenExpiration = this.timer.getUTCDateNSecondsAhead(
this.accessTokenAge + freshlyCreatedSessionSafetyBufferSeconds,
)
const sessionIsLongerThanCurrentConfiguration = session.accessExpiration > currentConfigurationAccessTokenExpiration
return sessionIsExpired || sessionIsLongerThanCurrentConfiguration
}
}

View File

@@ -1,20 +1,28 @@
import 'reflect-metadata'
import * as dayjs from 'dayjs'
import { Session } from '../Session/Session'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { RefreshSessionToken } from './RefreshSessionToken'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { TimerInterface } from '@standardnotes/time'
import { Logger } from 'winston'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
describe('RefreshSessionToken', () => {
let sessionService: SessionServiceInterface
let session: Session
let domainEventFactory: DomainEventFactoryInterface
let domainEventPublisher: DomainEventPublisherInterface
let timer: TimerInterface
let logger: Logger
const createUseCase = () => new RefreshSessionToken(sessionService)
const createUseCase = () =>
new RefreshSessionToken(sessionService, domainEventFactory, domainEventPublisher, timer, logger)
beforeEach(() => {
session = {} as jest.Mocked<Session>
session.uuid = '1-2-3'
session.refreshExpiration = dayjs.utc().add(1, 'day').toDate()
session.refreshExpiration = new Date(123)
sessionService = {} as jest.Mocked<SessionServiceInterface>
sessionService.isRefreshTokenValid = jest.fn().mockReturnValue(true)
@@ -25,6 +33,18 @@ describe('RefreshSessionToken', () => {
access_expiration: 123,
refresh_expiration: 234,
})
domainEventFactory = {} as jest.Mocked<DomainEventFactoryInterface>
domainEventFactory.createSessionRefreshedEvent = jest.fn().mockReturnValue({})
domainEventPublisher = {} as jest.Mocked<DomainEventPublisherInterface>
domainEventPublisher.publish = jest.fn()
timer = {} as jest.Mocked<TimerInterface>
timer.getUTCDate = jest.fn().mockReturnValue(new Date(100))
logger = {} as jest.Mocked<Logger>
logger.error = jest.fn()
})
it('should refresh session token', async () => {
@@ -44,6 +64,29 @@ describe('RefreshSessionToken', () => {
refresh_expiration: 234,
},
})
expect(domainEventPublisher.publish).toHaveBeenCalled()
})
it('should refresh a session token even if publishing domain event fails', async () => {
domainEventPublisher.publish = jest.fn().mockRejectedValue(new Error('test'))
const result = await createUseCase().execute({
accessToken: '123',
refreshToken: '234',
})
expect(sessionService.refreshTokens).toHaveBeenCalledWith(session)
expect(result).toEqual({
success: true,
sessionPayload: {
access_token: 'token1',
refresh_token: 'token2',
access_expiration: 123,
refresh_expiration: 234,
},
})
})
it('should not refresh a session token if session is not found', async () => {
@@ -77,7 +120,7 @@ describe('RefreshSessionToken', () => {
})
it('should not refresh a session token if refresh token is expired', async () => {
session.refreshExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(200))
const result = await createUseCase().execute({
accessToken: '123',

View File

@@ -1,14 +1,24 @@
import * as dayjs from 'dayjs'
import { inject, injectable } from 'inversify'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { TimerInterface } from '@standardnotes/time'
import { Logger } from 'winston'
import TYPES from '../../Bootstrap/Types'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
import { RefreshSessionTokenResponse } from './RefreshSessionTokenResponse'
import { RefreshSessionTokenDTO } from './RefreshSessionTokenDTO'
@injectable()
export class RefreshSessionToken {
constructor(@inject(TYPES.SessionService) private sessionService: SessionServiceInterface) {}
constructor(
@inject(TYPES.SessionService) private sessionService: SessionServiceInterface,
@inject(TYPES.DomainEventFactory) private domainEventFactory: DomainEventFactoryInterface,
@inject(TYPES.DomainEventPublisher) private domainEventPublisher: DomainEventPublisherInterface,
@inject(TYPES.Timer) private timer: TimerInterface,
@inject(TYPES.Logger) private logger: Logger,
) {}
async execute(dto: RefreshSessionTokenDTO): Promise<RefreshSessionTokenResponse> {
const session = await this.sessionService.getSessionFromToken(dto.accessToken)
@@ -28,7 +38,7 @@ export class RefreshSessionToken {
}
}
if (session.refreshExpiration < dayjs.utc().toDate()) {
if (session.refreshExpiration < this.timer.getUTCDate()) {
return {
success: false,
errorTag: 'expired-refresh-token',
@@ -38,6 +48,14 @@ export class RefreshSessionToken {
const sessionPayload = await this.sessionService.refreshTokens(session)
try {
await this.domainEventPublisher.publish(
this.domainEventFactory.createSessionRefreshedEvent({ userUuid: session.userUuid }),
)
} catch (error) {
this.logger.error(`Failed to publish session refreshed event: ${(error as Error).message}`)
}
return {
success: true,
sessionPayload,

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.6](https://github.com/standardnotes/server/compare/@standardnotes/common@1.46.5...@standardnotes/common@1.46.6) (2023-02-23)
**Note:** Version bump only for package @standardnotes/common
## [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

View File

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

View File

@@ -26,7 +26,6 @@ export enum EmailMessageIdentifier {
REFUND_NOTICE = 'REFUND_NOTICE',
REFUND_REQUESTED = 'REFUND_REQUESTED',
RATE_ADJUSTMENT_NOTICE = 'RATE_ADJUSTMENT_NOTICE',
WORKSPACE_INVITE_CREATED = 'WORKSPACE_INVITE_CREATED',
EXIT_DISCOUNT = 'EXIT_DISCOUNT',
SUBSCRIPTION_CANCELLED = 'SUBSCRIPTION_CANCELLED',
}

View File

@@ -1,6 +0,0 @@
export enum WorkspaceAccessLevel {
Owner = 'owner',
Admin = 'admin',
ReadOnly = 'read-only',
WriteAndRead = 'write-and-read',
}

View File

@@ -1,5 +0,0 @@
export enum WorkspaceType {
Root = 'root',
Team = 'team',
Private = 'private',
}

View File

@@ -1,4 +0,0 @@
export enum WorkspaceUserStatus {
Active = 'active',
PendingKeyshare = 'pending-keyshare',
}

View File

@@ -20,6 +20,3 @@ export * from './Subscription/SubscriptionName'
export * from './Type/Either'
export * from './Type/Only'
export * from './User/UserRequestType'
export * from './Workspace/WorkspaceAccessLevel'
export * from './Workspace/WorkspaceType'
export * from './Workspace/WorkspaceUserStatus'

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.9.72](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.71...@standardnotes/domain-events-infra@1.9.72) (2023-02-23)
**Note:** Version bump only for package @standardnotes/domain-events-infra
## [1.9.71](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.70...@standardnotes/domain-events-infra@1.9.71) (2023-02-23)
**Note:** Version bump only for package @standardnotes/domain-events-infra
## [1.9.70](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.69...@standardnotes/domain-events-infra@1.9.70) (2023-02-21)
**Note:** Version bump only for package @standardnotes/domain-events-infra

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/domain-events-infra",
"version": "1.9.70",
"version": "1.9.72",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.108.1](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.108.0...@standardnotes/domain-events@2.108.1) (2023-02-23)
**Note:** Version bump only for package @standardnotes/domain-events
# [2.108.0](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.107.1...@standardnotes/domain-events@2.108.0) (2023-02-23)
### Features
* **auth:** add publishing session created and session refreshed events ([5b98924](https://github.com/standardnotes/server/commit/5b9892456158819831f1f2dcf349ac861d699a94))
## [2.107.1](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.107.0...@standardnotes/domain-events@2.107.1) (2023-02-21)
**Note:** Version bump only for package @standardnotes/domain-events

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/domain-events",
"version": "2.107.1",
"version": "2.108.1",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -8,7 +8,6 @@ export enum DomainEventService {
ApiGateway = 'api-gateway',
Files = 'files',
Scheduler = 'scheduler',
Workspace = 'workspace',
Analytics = 'analytics',
Revisions = 'revisions',
Email = 'email',

View File

@@ -0,0 +1,7 @@
import { DomainEventInterface } from './DomainEventInterface'
import { SessionCreatedEventPayload } from './SessionCreatedEventPayload'
export interface SessionCreatedEvent extends DomainEventInterface {
type: 'SESSION_CREATED'
payload: SessionCreatedEventPayload
}

View File

@@ -0,0 +1,3 @@
export interface SessionCreatedEventPayload {
userUuid: string
}

View File

@@ -0,0 +1,7 @@
import { DomainEventInterface } from './DomainEventInterface'
import { SessionRefreshedEventPayload } from './SessionRefreshedEventPayload'
export interface SessionRefreshedEvent extends DomainEventInterface {
type: 'SESSION_REFRESHED'
payload: SessionRefreshedEventPayload
}

View File

@@ -0,0 +1,3 @@
export interface SessionRefreshedEventPayload {
userUuid: string
}

View File

@@ -1,7 +0,0 @@
import { DomainEventInterface } from './DomainEventInterface'
import { WorkspaceInviteAcceptedEventPayload } from './WorkspaceInviteAcceptedEventPayload'
export interface WorkspaceInviteAcceptedEvent extends DomainEventInterface {
type: 'WORKSPACE_INVITE_ACCEPTED'
payload: WorkspaceInviteAcceptedEventPayload
}

View File

@@ -1,5 +0,0 @@
export interface WorkspaceInviteAcceptedEventPayload {
inviterUuid: string
inviteeUuid: string
workspaceUuid: string
}

View File

@@ -54,6 +54,10 @@ export * from './Event/RefundProcessedEvent'
export * from './Event/RefundProcessedEventPayload'
export * from './Event/RevisionsCopyRequestedEvent'
export * from './Event/RevisionsCopyRequestedEventPayload'
export * from './Event/SessionCreatedEvent'
export * from './Event/SessionCreatedEventPayload'
export * from './Event/SessionRefreshedEvent'
export * from './Event/SessionRefreshedEventPayload'
export * from './Event/SharedSubscriptionInvitationCanceledEvent'
export * from './Event/SharedSubscriptionInvitationCanceledEventPayload'
export * from './Event/SharedSubscriptionInvitationCreatedEvent'
@@ -88,8 +92,6 @@ export * from './Event/UserRolesChangedEvent'
export * from './Event/UserRolesChangedEventPayload'
export * from './Event/WebSocketMessageRequestedEvent'
export * from './Event/WebSocketMessageRequestedEventPayload'
export * from './Event/WorkspaceInviteAcceptedEvent'
export * from './Event/WorkspaceInviteAcceptedEventPayload'
export * from './Handler/DomainEventHandlerInterface'
export * from './Handler/DomainEventMessageHandlerInterface'

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.7.4](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.3...@standardnotes/event-store@1.7.4) (2023-02-23)
**Note:** Version bump only for package @standardnotes/event-store
## [1.7.3](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.2...@standardnotes/event-store@1.7.3) (2023-02-23)
**Note:** Version bump only for package @standardnotes/event-store
## [1.7.2](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.1...@standardnotes/event-store@1.7.2) (2023-02-21)
**Note:** Version bump only for package @standardnotes/event-store

View File

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

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.10.5](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.4...@standardnotes/files-server@1.10.5) (2023-02-23)
**Note:** Version bump only for package @standardnotes/files-server
## [1.10.4](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.3...@standardnotes/files-server@1.10.4) (2023-02-23)
**Note:** Version bump only for package @standardnotes/files-server
## [1.10.3](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.2...@standardnotes/files-server@1.10.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/files-server

View File

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

View File

@@ -1 +0,0 @@
dist

View File

@@ -1,6 +0,0 @@
{
"extends": "../../.eslintrc",
"parserOptions": {
"project": "./linter.tsconfig.json"
}
}

View File

@@ -1,14 +0,0 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# 1.1.0 (2023-02-22)
### Bug Fixes
* **proxy:** prevent from passing auth tokens to proxy destination ([91c70a5](https://github.com/standardnotes/server/commit/91c70a51a067c606afc3570764367a6d60910ce3))
### Features
* **proxy:** add proxy server ([dfe30d7](https://github.com/standardnotes/server/commit/dfe30d7f5e8598ec1886db0e061b7d593cc27e29))

View File

@@ -1,17 +0,0 @@
FROM node:18.13.0-alpine
RUN apk add --update \
curl \
&& rm -rf /var/cache/apk/*
ENV NODE_ENV production
RUN corepack enable
COPY ./ /workspace
WORKDIR /workspace/packages/proxy
ENTRYPOINT [ "/workspace/packages/proxy/docker/entrypoint.sh" ]
CMD [ "start-web" ]

View File

@@ -1,50 +0,0 @@
import * as http from 'http'
import * as httpProxy from 'http-proxy'
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
const proxy = httpProxy.createProxyServer({
secure: false,
})
proxy.on('error', (error, _req, res) => {
console.error(error.message)
;(res as http.ServerResponse).writeHead(500, {
'Content-Type': 'text/plain',
})
res.end('Something went wrong. And we are reporting a custom error message.')
})
http
.createServer((req, res) => {
res.setHeader('Access-Control-Allow-Origin', '*')
res.setHeader('Access-Control-Request-Method', '*')
res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET')
res.setHeader('Access-Control-Allow-Headers', '*')
if (req.method === 'OPTIONS') {
res.writeHead(200)
res.end()
return
}
if (req.url === '/healthcheck') {
res.writeHead(200)
res.end()
return
}
delete req.headers.authorization
delete req.headers['x-auth-token']
delete req.headers['x-auth-offline-token']
const target = (req.url as string).slice(1)
req.url = target
proxy.web(req, res, {
target: target,
ignorePath: false,
prependPath: false,
toProxy: true,
})
})
.listen(3000)

View File

@@ -1,11 +0,0 @@
'use strict'
const path = require('path')
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
Object.defineProperty(exports, '__esModule', { value: true })
exports.default = index

View File

@@ -1,17 +0,0 @@
#!/bin/sh
set -e
COMMAND=$1 && shift 1
case "$COMMAND" in
'start-web' )
echo "[Docker] Starting Web..."
node docker/entrypoint-server.js
;;
* )
echo "Unknown command"
;;
esac
exec "$@"

View File

@@ -1,4 +0,0 @@
{
"extends": "./tsconfig.json",
"exclude": ["dist"]
}

View File

@@ -1,33 +0,0 @@
{
"name": "@standardnotes/proxy-server",
"version": "1.1.0",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
"private": true,
"description": "Proxy Server",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
"repository": "git@github.com:standardnotes/server.git",
"author": "Karol Sójko <karolsojko@standardnotes.com>",
"license": "AGPL-3.0-or-later",
"scripts": {
"clean": "rm -fr dist",
"build": "tsc --build",
"lint": "eslint . --ext .ts",
"lint:fix": "eslint . --ext .ts --fix",
"start": "yarn node dist/bin/server.js"
},
"dependencies": {
"@types/http-proxy": "^1.17.9",
"http-proxy": "^1.18.1",
"newrelic": "^9.8.0"
},
"devDependencies": {
"@types/newrelic": "^9.4.0",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"eslint": "^8.32.0",
"eslint-plugin-prettier": "^4.0.0",
"typescript": "^4.8.4"
}
}

View File

@@ -1,11 +0,0 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"composite": true,
"outDir": "./dist",
},
"include": [
"bin/**/*",
],
"references": []
}

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.12.6](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.5...@standardnotes/revisions-server@1.12.6) (2023-02-23)
**Note:** Version bump only for package @standardnotes/revisions-server
## [1.12.5](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.4...@standardnotes/revisions-server@1.12.5) (2023-02-23)
**Note:** Version bump only for package @standardnotes/revisions-server
## [1.12.4](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.3...@standardnotes/revisions-server@1.12.4) (2023-02-21)
**Note:** Version bump only for package @standardnotes/revisions-server

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/revisions-server",
"version": "1.12.4",
"version": "1.12.6",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

Some files were not shown because too many files have changed in this diff Show More