Compare commits

..

71 Commits

Author SHA1 Message Date
standardci 2f9d8e776f chore(release): publish new version
- @standardnotes/analytics@2.21.7
 - @standardnotes/api-gateway@1.49.10
 - @standardnotes/auth-server@1.95.3
 - @standardnotes/domain-events-infra@1.10.1
 - @standardnotes/event-store@1.7.9
 - @standardnotes/files-server@1.10.11
 - @standardnotes/revisions-server@1.12.14
 - @standardnotes/scheduler-server@1.17.11
 - @standardnotes/syncing-server@1.32.7
 - @standardnotes/websockets-server@1.6.12
2023-04-21 12:29:01 +00:00
Karol Sójko 9503f0d963 chore(deps): upgrade newrelic deps 2023-04-21 14:11:47 +02:00
standardci 32aff3e3f4 chore(release): publish new version
- @standardnotes/analytics@2.21.6
 - @standardnotes/api-gateway@1.49.9
 - @standardnotes/auth-server@1.95.2
 - @standardnotes/domain-events-infra@1.10.0
 - @standardnotes/domain-events@2.109.0
 - @standardnotes/event-store@1.7.8
 - @standardnotes/files-server@1.10.10
 - @standardnotes/revisions-server@1.12.13
 - @standardnotes/scheduler-server@1.17.10
 - @standardnotes/syncing-server@1.32.6
 - @standardnotes/websockets-server@1.6.11
2023-04-21 08:19:39 +00:00
Karol Sójko 9b9f10d4ca feat(domain-events-infra): add SES email bounce notifications handler (#569)
* feat(domain-events-infra): add SES email bounce notifications handler

* fix(domain-events-infra): specs
2023-04-21 10:03:39 +02:00
standardci e4f0cc6b37 chore(release): publish new version
- @standardnotes/auth-server@1.95.1
2023-04-20 10:13:23 +00:00
Karol Sójko d211249086 fix(auth): add u2f permissions for pro users 2023-04-20 11:58:37 +02:00
Karol Sójko 0fc5db8aee fix(env): default u2f origins 2023-04-19 17:32:37 +02:00
standardci 0a2abef979 chore(release): publish new version
- @standardnotes/auth-server@1.95.0
2023-04-04 09:23:48 +00:00
Karol Sójko 8242f13aff feat(auth): add initial emergency access invitations model (#528) 2023-04-04 11:10:11 +02:00
standardci 7516ba7028 chore(release): publish new version
- @standardnotes/auth-server@1.94.1
2023-04-04 07:21:21 +00:00
Karol Sójko 3417407cbe fix(auth): change status code for updating a subscription setting without a subscription 2023-04-04 09:08:27 +02:00
standardci 720d046c00 chore(release): publish new version
- @standardnotes/auth-server@1.94.0
2023-04-03 14:08:48 +00:00
Karol Sójko b88f560b07 fix(auth): feature service specs 2023-04-03 15:53:04 +02:00
Karol Sójko 51b264ca13 feat(auth): feature entitlement check for u2f endpoints 2023-04-03 15:43:32 +02:00
standardci 0309aeab34 chore(release): publish new version
- @standardnotes/auth-server@1.93.14
2023-04-03 10:56:30 +00:00
Karol Sójko aca8d2948d fix(auth): relying party id 2023-04-03 12:43:05 +02:00
standardci 09596d2181 chore(release): publish new version
- @standardnotes/analytics@2.21.5
 - @standardnotes/api-gateway@1.49.8
 - @standardnotes/auth-server@1.93.13
 - @standardnotes/domain-events-infra@1.9.74
 - @standardnotes/event-store@1.7.7
 - @standardnotes/files-server@1.10.9
 - @standardnotes/revisions-server@1.12.12
 - @standardnotes/scheduler-server@1.17.9
 - @standardnotes/syncing-server@1.32.5
 - @standardnotes/websockets-server@1.6.10
2023-03-30 09:51:30 +00:00
Karol Sójko e87f7e1674 chore(deps): upgrade newrelic 2023-03-30 11:33:09 +02:00
Karol Sójko 4ad1cccc33 fix: disable newrelic on self-hosted by default 2023-03-30 11:32:56 +02:00
Karol Sójko 5d12648669 chore: fix service name in deployments 2023-03-27 11:26:29 +02:00
standardci 7e989720bf chore(release): publish new version
- @standardnotes/auth-server@1.93.12
2023-03-16 13:31:44 +00:00
Karol Sójko f8a2892811 fix(auth): persistence mapping for authenticators 2023-03-16 14:14:46 +01:00
Karol Sójko eaab23ec19 fix: persistent server keys between updates - fixes #476 (#481)
* fix: persistent server keys between updates - fixes #476

* fix: env vars for ci
2023-03-16 11:02:16 +01:00
standardci 36dcdf256f chore(release): publish new version
- @standardnotes/revisions-server@1.12.11
 - @standardnotes/syncing-server@1.32.4
2023-03-15 10:36:43 +00:00
Karol Sójko 10a596db65 fix(syncing-server): remove unused methods from auth http service 2023-03-15 11:20:24 +01:00
Karol Sójko c76302cf98 fix(revisions): add warning logs if a revision dump could not be found 2023-03-15 11:14:48 +01:00
standardci 176cf608ef chore(release): publish new version
- @standardnotes/auth-server@1.93.11
2023-03-10 14:12:51 +00:00
Karol Sójko f69073ba02 fix(auth): chage attestation type to none 2023-03-10 14:59:14 +01:00
standardci 09ecf9262a chore(release): publish new version
- @standardnotes/auth-server@1.93.10
2023-03-10 13:38:48 +00:00
Karol Sójko a3fc0d9120 fix(auth): attestation params and authenticator transports 2023-03-10 14:25:23 +01:00
standardci 0d5c3283d3 chore(release): publish new version
- @standardnotes/analytics@2.21.4
 - @standardnotes/api-gateway@1.49.7
 - @standardnotes/auth-server@1.93.9
 - @standardnotes/domain-events-infra@1.9.73
 - @standardnotes/event-store@1.7.6
 - @standardnotes/files-server@1.10.8
 - @standardnotes/revisions-server@1.12.10
 - @standardnotes/scheduler-server@1.17.8
 - @standardnotes/syncing-server@1.32.3
 - @standardnotes/websockets-server@1.6.9
2023-03-10 12:44:00 +00:00
Karol Sójko 7b486348ef chore: upgrade newrelic 2023-03-10 13:30:29 +01:00
standardci 25f752d6b5 chore(release): publish new version
- @standardnotes/auth-server@1.93.8
2023-03-10 08:11:17 +00:00
Karol Sójko 74e35a2d65 Revert "fix(auth): change supported algorithms on authenticator registration options"
This reverts commit 7db9ba03f3.
2023-03-10 08:56:56 +01:00
standardci 3532289575 chore(release): publish new version
- @standardnotes/auth-server@1.93.7
2023-03-10 06:21:38 +00:00
Karol Sójko 7db9ba03f3 fix(auth): change supported algorithms on authenticator registration options 2023-03-10 07:07:48 +01:00
standardci b0baaf9ea6 chore(release): publish new version
- @standardnotes/analytics@2.21.3
 - @standardnotes/api-gateway@1.49.6
 - @standardnotes/auth-server@1.93.6
 - @standardnotes/event-store@1.7.5
 - @standardnotes/files-server@1.10.7
 - @standardnotes/revisions-server@1.12.9
 - @standardnotes/scheduler-server@1.17.7
 - @standardnotes/syncing-server@1.32.2
 - @standardnotes/websockets-server@1.6.8
2023-03-09 12:43:53 +00:00
Karol Sójko b7c6dab3ad chore: upgrade node version to latest LTS 2023-03-09 13:30:16 +01:00
standardci 2daa145867 chore(release): publish new version
- @standardnotes/auth-server@1.93.5
2023-03-09 10:02:53 +00:00
Karol Sójko 4bd5fb22b4 fix(auth): remove migrate email settings procedure 2023-03-09 10:48:40 +01:00
standardci 78533a6045 chore(release): publish new version
- @standardnotes/auth-server@1.93.4
2023-03-09 06:25:32 +00:00
Karol Sójko e1c533a15e fix(auth): change response from verifying authenticator registration 2023-03-09 07:09:43 +01:00
standardci b6c2bb8023 chore(release): publish new version
- @standardnotes/auth-server@1.93.3
2023-03-09 05:59:55 +00:00
Karol Sójko c45653a50a fix(auth): remove authenticator names from server 2023-03-09 06:46:35 +01:00
Karol Sójko d827513b73 fix(auth): migrate encrypted sign in settings 2023-03-09 06:34:50 +01:00
standardci ad183ca621 chore(release): publish new version
- @standardnotes/auth-server@1.93.2
2023-03-08 13:22:34 +00:00
Karol Sójko 1d11c5a186 fix(auth): authentication options 2023-03-08 14:08:40 +01:00
standardci e84e78ec55 chore(release): publish new version
- @standardnotes/auth-server@1.93.1
2023-03-08 12:57:57 +00:00
Karol Sójko f91e4316ff fix(auth): migrate muted email notifications settings 2023-03-08 13:42:45 +01:00
standardci d54b812881 chore(release): publish new version
- @standardnotes/analytics@2.21.2
 - @standardnotes/api-gateway@1.49.5
 - @standardnotes/auth-server@1.93.0
 - @standardnotes/domain-core@1.12.0
 - @standardnotes/files-server@1.10.6
 - @standardnotes/revisions-server@1.12.8
 - @standardnotes/scheduler-server@1.17.6
 - @standardnotes/settings@1.20.1
 - @standardnotes/syncing-server@1.32.1
 - @standardnotes/websockets-server@1.6.7
2023-03-08 10:09:09 +00:00
Karol Sójko 28dc5ba2a4 fix(auth): setting name value objects in typeorm queries 2023-03-08 10:54:48 +01:00
Karol Sójko 979a320ca6 feat(domain-core): add internal team user role (#473)
* feat(domain-core): add internal team user role

* feat(auth): add internal team user role

* chore: upgrade @standardnotes/features

---------

Co-authored-by: Karol Sójko <karolsojko@protonmail.com>
2023-03-08 10:45:50 +01:00
standardci c46186b237 chore(release): publish new version
- @standardnotes/auth-server@1.92.0
 - @standardnotes/settings@1.20.0
 - @standardnotes/syncing-server@1.32.0
2023-03-08 09:35:54 +00:00
Karol Sójko 27cf093f85 feat: sign in setting refactor (#472)
* fix(auth): refactor setting names into domain core value objects

* fix(auth): refactor specs with setting name value objects

* feat(auth): move mute sign in emails to a subscription kind of setting

* feat(auth): add migration script to change sign in email settings to subscription settings

* chore: fix setting name usage

* fix(auth): upper casing setting names

---------

Co-authored-by: Karol Sójko <karolsojko@protonmail.com>
2023-03-08 10:22:27 +01:00
standardci ec0fb7e0b9 chore(release): publish new version
- @standardnotes/auth-server@1.91.2
2023-03-06 14:02:45 +00:00
Karol Sójko 90029456fe fix(auth): associate setting with sign in alerts permission 2023-03-06 14:48:21 +01:00
Karol Sójko b167b00075 fix(auth): remove sign in emails permission from free accounts 2023-03-06 14:44:50 +01:00
standardci b13fab76f3 chore(release): publish new version
- @standardnotes/auth-server@1.91.1
2023-03-06 13:28:57 +00:00
Karol Sójko 782a9d310d fix(auth): disable sign in emails on newly created accounts 2023-03-06 14:15:10 +01:00
standardci 537b1f2a29 chore(release): publish new version
- @standardnotes/auth-server@1.91.0
2023-03-06 10:00:13 +00:00
Karol Sójko 2fad6b62cb feat(auth): add cleanup of expired sessions 2023-03-06 10:43:53 +01:00
standardci bf173b4ede chore(release): publish new version
- @standardnotes/auth-server@1.90.1
2023-03-06 09:17:04 +00:00
Eric Pierce c52f038c76 fix: Adding support for redis databases with passwords (#468)
Redis databases with passwords can be supported by specifying the environment parameter REDIS_URL=redis://:$REDIS_PASSWORD@redis:6379
Without this change the redis URL will always be hardcoded without support for a password
2023-03-06 10:02:36 +01:00
mousta0x b12ba98a5c fix: revisions server url (#469) 2023-03-06 09:57:56 +01:00
Karol Sójko dbccdf342b fix(auth): prevent listing sessions on readonly access 2023-03-06 09:47:54 +01:00
standardci 49b6d029c4 chore(release): publish new version
- @standardnotes/auth-server@1.90.0
2023-03-02 14:10:08 +00:00
Karol Sójko d6469954ce feat(auth): add configurable list of readonly users (#462) 2023-03-02 14:51:52 +01:00
standardci 5f40550ad4 chore(release): publish new version
- @standardnotes/auth-server@1.89.7
2023-03-02 11:20:59 +00:00
Karol Sójko 79ccbdf100 fix(auth): function naming for more clarity 2023-03-02 12:07:17 +01:00
standardci 1983cfcab2 chore(release): publish new version
- @standardnotes/auth-server@1.89.6
2023-03-02 10:32:02 +00:00
Karol Sójko 753f86707f fix(auth): changing the updated_at property on sessions 2023-03-02 11:16:32 +01:00
212 changed files with 3505 additions and 1594 deletions
+8 -1
View File
@@ -7,7 +7,6 @@ DB_PORT=3306
DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
DB_DEBUG_LEVEL=all
#########
# CACHE #
@@ -15,3 +14,11 @@ DB_DEBUG_LEVEL=all
REDIS_PORT=6379
REDIS_HOST=cache
########
# KEYS #
########
AUTH_JWT_SECRET=
AUTH_SERVER_ENCRYPTION_SERVER_KEY=
VALET_TOKEN_SECRET=
+5
View File
@@ -3,6 +3,7 @@ DB_HOST=db
DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
DB_PORT=3306
REDIS_PORT=6379
REDIS_HOST=cache
AUTH_SERVER_ACCESS_TOKEN_AGE=4
@@ -19,3 +20,7 @@ MYSQL_DATABASE=standard_notes_db
MYSQL_USER=std_notes_user
MYSQL_PASSWORD=changeme123
MYSQL_ROOT_PASSWORD=changeme123
AUTH_JWT_SECRET=f95259c5e441f5a4646d76422cfb3df4c4488842901aa50b6c51b8be2e0040e9
AUTH_SERVER_ENCRYPTION_SERVER_KEY=1087415dfde3093797f9a7ca93a49e7d7aa1861735eb0d32aae9c303b8c3d060
VALET_TOKEN_SECRET=4b886819ebe1e908077c6cae96311b48a8416bd60cc91c03060e15bdf6b30d1f
+1 -1
View File
@@ -50,6 +50,6 @@ jobs:
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.task-def-prod.outputs.task-definition }}
service: ${{ inputs.service_name }}-prod
service: ${{ inputs.service_name }}
cluster: prod
wait-for-service-stability: true
+1 -1
View File
@@ -1 +1 @@
18.13.0
18.15.0
Generated
+119 -76
View File
@@ -123,13 +123,13 @@ const RAW_RUNTIME_STATE =
["@lerna-lite/run", "npm:1.6.0"],\
["@sentry/node", "npm:7.28.1"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/node", "npm:18.11.9"],\
["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.40.1"],\
["eslint", "npm:8.32.0"],\
["eslint-config-prettier", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.6.0"],\
["ini", "npm:3.0.0"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["npm-check-updates", "npm:16.0.1"],\
["prettier", "npm:2.7.1"],\
["ts-node", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:10.9.1"],\
@@ -2594,10 +2594,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@grpc/grpc-js", [\
["npm:1.8.4", {\
"packageLocation": "./.yarn/cache/@grpc-grpc-js-npm-1.8.4-287c8bdac8-6367a2ee38.zip/node_modules/@grpc/grpc-js/",\
["npm:1.8.13", {\
"packageLocation": "./.yarn/cache/@grpc-grpc-js-npm-1.8.13-59d4d0dc89-04d24ca840.zip/node_modules/@grpc/grpc-js/",\
"packageDependencies": [\
["@grpc/grpc-js", "npm:1.8.4"],\
["@grpc/grpc-js", "npm:1.8.13"],\
["@grpc/proto-loader", "npm:0.7.4"],\
["@types/node", "npm:18.0.3"]\
],\
@@ -2616,6 +2616,18 @@ const RAW_RUNTIME_STATE =
["yargs", "npm:16.2.0"]\
],\
"linkType": "HARD"\
}],\
["npm:0.7.5", {\
"packageLocation": "./.yarn/cache/@grpc-proto-loader-npm-0.7.5-53f472433f-e6461534eb.zip/node_modules/@grpc/proto-loader/",\
"packageDependencies": [\
["@grpc/proto-loader", "npm:0.7.5"],\
["@types/long", "npm:4.0.2"],\
["lodash.camelcase", "npm:4.3.0"],\
["long", "npm:4.0.0"],\
["protobufjs", "npm:7.1.2"],\
["yargs", "npm:16.2.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["@hexagon/base64", [\
@@ -3265,19 +3277,19 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@newrelic/aws-sdk", [\
["npm:5.0.0", {\
"packageLocation": "./.yarn/cache/@newrelic-aws-sdk-npm-5.0.0-7d9d10d58f-ed1dc3fa16.zip/node_modules/@newrelic/aws-sdk/",\
["npm:5.0.2", {\
"packageLocation": "./.yarn/cache/@newrelic-aws-sdk-npm-5.0.2-96d8663350-d99b851c78.zip/node_modules/@newrelic/aws-sdk/",\
"packageDependencies": [\
["@newrelic/aws-sdk", "npm:5.0.0"]\
["@newrelic/aws-sdk", "npm:5.0.2"]\
],\
"linkType": "SOFT"\
}],\
["virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:5.0.0", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-aws-sdk-virtual-b32c5d232e/0/cache/@newrelic-aws-sdk-npm-5.0.0-7d9d10d58f-ed1dc3fa16.zip/node_modules/@newrelic/aws-sdk/",\
["virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:5.0.2", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-aws-sdk-virtual-32f8e7f038/0/cache/@newrelic-aws-sdk-npm-5.0.2-96d8663350-d99b851c78.zip/node_modules/@newrelic/aws-sdk/",\
"packageDependencies": [\
["@newrelic/aws-sdk", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:5.0.0"],\
["@newrelic/aws-sdk", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:5.0.2"],\
["@types/newrelic", null],\
["newrelic", "npm:9.8.0"]\
["newrelic", "npm:10.0.0"]\
],\
"packagePeers": [\
"@types/newrelic",\
@@ -3287,19 +3299,19 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@newrelic/koa", [\
["npm:7.0.0", {\
"packageLocation": "./.yarn/cache/@newrelic-koa-npm-7.0.0-903c251b9f-0fc2298c8b.zip/node_modules/@newrelic/koa/",\
["npm:7.1.1", {\
"packageLocation": "./.yarn/cache/@newrelic-koa-npm-7.1.1-363bc0d9f3-b4fd860e8b.zip/node_modules/@newrelic/koa/",\
"packageDependencies": [\
["@newrelic/koa", "npm:7.0.0"]\
["@newrelic/koa", "npm:7.1.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:7.0.0", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-koa-virtual-cc6a41398f/0/cache/@newrelic-koa-npm-7.0.0-903c251b9f-0fc2298c8b.zip/node_modules/@newrelic/koa/",\
["virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:7.1.1", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-koa-virtual-d5ac9cc242/0/cache/@newrelic-koa-npm-7.1.1-363bc0d9f3-b4fd860e8b.zip/node_modules/@newrelic/koa/",\
"packageDependencies": [\
["@newrelic/koa", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:7.0.0"],\
["@newrelic/koa", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:7.1.1"],\
["@types/newrelic", null],\
["newrelic", "npm:9.8.0"]\
["newrelic", "npm:10.0.0"]\
],\
"packagePeers": [\
"@types/newrelic",\
@@ -3329,12 +3341,12 @@ const RAW_RUNTIME_STATE =
],\
"linkType": "SOFT"\
}],\
["virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:6.0.0", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-superagent-virtual-dc0653ca20/0/cache/@newrelic-superagent-npm-6.0.0-db8b77d0f3-b77997b792.zip/node_modules/@newrelic/superagent/",\
["virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:6.0.0", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-superagent-virtual-0d8a0615e8/0/cache/@newrelic-superagent-npm-6.0.0-db8b77d0f3-b77997b792.zip/node_modules/@newrelic/superagent/",\
"packageDependencies": [\
["@newrelic/superagent", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:6.0.0"],\
["@newrelic/superagent", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:6.0.0"],\
["@types/newrelic", null],\
["newrelic", "npm:9.8.0"]\
["newrelic", "npm:10.0.0"]\
],\
"packagePeers": [\
"@types/newrelic",\
@@ -3344,19 +3356,19 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@newrelic/winston-enricher", [\
["npm:4.0.0", {\
"packageLocation": "./.yarn/cache/@newrelic-winston-enricher-npm-4.0.0-ebaf2d0d28-3fc901cded.zip/node_modules/@newrelic/winston-enricher/",\
["npm:4.0.1", {\
"packageLocation": "./.yarn/cache/@newrelic-winston-enricher-npm-4.0.1-ef1230a3ce-e45880f6ec.zip/node_modules/@newrelic/winston-enricher/",\
"packageDependencies": [\
["@newrelic/winston-enricher", "npm:4.0.0"]\
["@newrelic/winston-enricher", "npm:4.0.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-winston-enricher-virtual-6b8c53ab3d/0/cache/@newrelic-winston-enricher-npm-4.0.0-ebaf2d0d28-3fc901cded.zip/node_modules/@newrelic/winston-enricher/",\
["virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1", {\
"packageLocation": "./.yarn/__virtual__/@newrelic-winston-enricher-virtual-c32d28b076/0/cache/@newrelic-winston-enricher-npm-4.0.1-ef1230a3ce-e45880f6ec.zip/node_modules/@newrelic/winston-enricher/",\
"packageDependencies": [\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@types/newrelic", "npm:9.4.0"],\
["newrelic", "npm:9.8.0"]\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@types/newrelic", "npm:9.13.0"],\
["newrelic", "npm:10.0.0"]\
],\
"packagePeers": [\
"@types/newrelic",\
@@ -4050,7 +4062,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/analytics", "workspace:packages/analytics"],\
["@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"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
@@ -4060,7 +4072,7 @@ const RAW_RUNTIME_STATE =
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/mixpanel", "npm:2.14.4"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/node", "npm:18.11.9"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["dayjs", "npm:1.11.6"],\
@@ -4072,7 +4084,7 @@ const RAW_RUNTIME_STATE =
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mixpanel", "npm:0.17.0"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
@@ -4104,7 +4116,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./packages/api-gateway/",\
"packageDependencies": [\
["@standardnotes/api-gateway", "workspace:packages/api-gateway"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -4116,7 +4128,7 @@ const RAW_RUNTIME_STATE =
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/jsonwebtoken", "npm:9.0.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/prettyjson", "npm:0.0.30"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["axios", "npm:1.1.3"],\
@@ -4132,7 +4144,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["jsonwebtoken", "npm:9.0.0"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["nodemon", "npm:2.0.20"],\
["npm-check-updates", "npm:16.0.1"],\
["prettyjson", "npm:1.2.5"],\
@@ -4153,7 +4165,7 @@ const RAW_RUNTIME_STATE =
["@aws-sdk/client-sqs", "npm:3.259.0"],\
["@cbor-extract/cbor-extract-linux-arm64", "npm:2.1.1"],\
["@cbor-extract/cbor-extract-linux-x64", "npm:2.1.1"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@sentry/tracing", "npm:7.28.1"],\
["@simplewebauthn/server", "npm:7.0.1"],\
@@ -4163,7 +4175,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\
["@standardnotes/features", "npm:1.58.4"],\
["@standardnotes/features", "npm:1.58.12"],\
["@standardnotes/predicates", "workspace:packages/predicates"],\
["@standardnotes/responses", "npm:1.13.9"],\
["@standardnotes/security", "workspace:packages/security"],\
@@ -4176,7 +4188,7 @@ const RAW_RUNTIME_STATE =
["@types/express", "npm:4.17.14"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/otplib", "npm:10.0.0"],\
["@types/prettyjson", "npm:0.0.30"],\
["@types/ua-parser-js", "npm:0.7.36"],\
@@ -4195,7 +4207,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["nodemon", "npm:2.0.20"],\
["npm-check-updates", "npm:16.0.1"],\
["otplib", "npm:12.0.1"],\
@@ -4286,12 +4298,12 @@ const RAW_RUNTIME_STATE =
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.48.2"],\
["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["reflect-metadata", "npm:0.1.13"],\
["sqs-consumer", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:6.2.1"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
@@ -4327,7 +4339,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/time", "workspace:packages/time"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/nodemailer", "npm:6.4.6"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["dotenv", "npm:16.0.1"],\
@@ -4337,7 +4349,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
@@ -4348,10 +4360,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@standardnotes/features", [\
["npm:1.58.4", {\
"packageLocation": "./.yarn/cache/@standardnotes-features-npm-1.58.4-a84962d125-a39afc145a.zip/node_modules/@standardnotes/features/",\
["npm:1.58.12", {\
"packageLocation": "./.yarn/cache/@standardnotes-features-npm-1.58.12-9778b78276-3fcd9a9488.zip/node_modules/@standardnotes/features/",\
"packageDependencies": [\
["@standardnotes/features", "npm:1.58.4"],\
["@standardnotes/features", "npm:1.58.12"],\
["@standardnotes/common", "workspace:packages/common"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/security", "workspace:packages/security"],\
@@ -4394,7 +4406,7 @@ const RAW_RUNTIME_STATE =
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/jsonwebtoken", "npm:9.0.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/prettyjson", "npm:0.0.30"],\
["@types/uuid", "npm:8.3.4"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
@@ -4413,7 +4425,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["jsonwebtoken", "npm:9.0.0"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["nodemon", "npm:2.0.20"],\
["npm-check-updates", "npm:16.0.1"],\
["prettyjson", "npm:1.2.5"],\
@@ -4476,7 +4488,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/revisions-server", "workspace:packages/revisions"],\
["@aws-sdk/client-s3", "npm:3.259.0"],\
["@aws-sdk/client-sqs", "npm:3.259.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.25.3"],\
["@standardnotes/common", "workspace:packages/common"],\
@@ -4491,7 +4503,7 @@ const RAW_RUNTIME_STATE =
["@types/express", "npm:4.17.14"],\
["@types/inversify-express-utils", "npm:2.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["cors", "npm:2.8.5"],\
["dotenv", "npm:16.0.1"],\
@@ -4502,7 +4514,7 @@ const RAW_RUNTIME_STATE =
["inversify-express-utils", "npm:6.4.3"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["npm-check-updates", "npm:16.0.1"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
@@ -4520,7 +4532,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/scheduler-server", "workspace:packages/scheduler"],\
["@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"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@standardnotes/domain-events", "workspace:packages/domain-events"],\
@@ -4529,7 +4541,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/time", "workspace:packages/time"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/node", "npm:18.11.9"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["dayjs", "npm:1.11.6"],\
@@ -4540,7 +4552,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["npm-check-updates", "npm:16.0.1"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
@@ -4581,13 +4593,13 @@ const RAW_RUNTIME_STATE =
["@lerna-lite/run", "npm:1.6.0"],\
["@sentry/node", "npm:7.28.1"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/node", "npm:18.11.9"],\
["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.40.1"],\
["eslint", "npm:8.32.0"],\
["eslint-config-prettier", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.6.0"],\
["ini", "npm:3.0.0"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["npm-check-updates", "npm:16.0.1"],\
["prettier", "npm:2.7.1"],\
["ts-node", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:10.9.1"],\
@@ -4601,6 +4613,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./packages/settings/",\
"packageDependencies": [\
["@standardnotes/settings", "workspace:packages/settings"],\
["@standardnotes/domain-core", "workspace:packages/domain-core"],\
["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.48.2"],\
["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\
["reflect-metadata", "npm:0.1.13"],\
@@ -4655,7 +4668,7 @@ const RAW_RUNTIME_STATE =
["@aws-sdk/client-s3", "npm:3.259.0"],\
["@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"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@sentry/tracing", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.25.3"],\
@@ -4673,7 +4686,7 @@ const RAW_RUNTIME_STATE =
["@types/inversify-express-utils", "npm:2.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/jsonwebtoken", "npm:9.0.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@types/prettyjson", "npm:0.0.30"],\
["@types/ua-parser-js", "npm:0.7.36"],\
["@types/uuid", "npm:8.3.4"],\
@@ -4690,7 +4703,7 @@ const RAW_RUNTIME_STATE =
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["jsonwebtoken", "npm:9.0.0"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["nodemon", "npm:2.0.20"],\
["npm-check-updates", "npm:16.0.1"],\
["prettyjson", "npm:1.2.5"],\
@@ -4754,7 +4767,7 @@ const RAW_RUNTIME_STATE =
"packageDependencies": [\
["@standardnotes/websockets-server", "workspace:packages/websockets"],\
["@aws-sdk/client-sqs", "npm:3.259.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\
["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
["@sentry/node", "npm:7.28.1"],\
["@standardnotes/api", "npm:1.25.3"],\
["@standardnotes/common", "workspace:packages/common"],\
@@ -4768,7 +4781,7 @@ const RAW_RUNTIME_STATE =
["@types/express", "npm:4.17.14"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/newrelic", "npm:9.13.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["axios", "npm:1.1.3"],\
["cors", "npm:2.8.5"],\
@@ -4781,7 +4794,7 @@ const RAW_RUNTIME_STATE =
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
@@ -5172,10 +5185,10 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["@types/newrelic", [\
["npm:9.4.0", {\
"packageLocation": "./.yarn/cache/@types-newrelic-npm-9.4.0-72a77bd5e6-adb12973e8.zip/node_modules/@types/newrelic/",\
["npm:9.13.0", {\
"packageLocation": "./.yarn/cache/@types-newrelic-npm-9.13.0-a283f22b65-d0269b05c4.zip/node_modules/@types/newrelic/",\
"packageDependencies": [\
["@types/newrelic", "npm:9.4.0"]\
["@types/newrelic", "npm:9.13.0"]\
],\
"linkType": "HARD"\
}]\
@@ -6375,6 +6388,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["bignumber.js", [\
["npm:9.1.1", {\
"packageLocation": "./.yarn/cache/bignumber.js-npm-9.1.1-5929e8d8dc-e44d008049.zip/node_modules/bignumber.js/",\
"packageDependencies": [\
["bignumber.js", "npm:9.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["binary-extensions", [\
["npm:2.2.0", {\
"packageLocation": "./.yarn/cache/binary-extensions-npm-2.2.0-180c33fec7-16cf7c0cfd.zip/node_modules/binary-extensions/",\
@@ -10497,6 +10519,16 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["json-bigint", [\
["npm:1.0.0", {\
"packageLocation": "./.yarn/cache/json-bigint-npm-1.0.0-8e35bcb143-6e40674d13.zip/node_modules/json-bigint/",\
"packageDependencies": [\
["json-bigint", "npm:1.0.0"],\
["bignumber.js", "npm:9.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["json-buffer", [\
["npm:3.0.1", {\
"packageLocation": "./.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-33bf05e079.zip/node_modules/json-buffer/",\
@@ -11470,22 +11502,23 @@ const RAW_RUNTIME_STATE =
}]\
]],\
["newrelic", [\
["npm:9.8.0", {\
"packageLocation": "./.yarn/cache/newrelic-npm-9.8.0-4c49b89cbc-ed3b893298.zip/node_modules/newrelic/",\
["npm:10.0.0", {\
"packageLocation": "./.yarn/cache/newrelic-npm-10.0.0-2e94dc408d-b5af478708.zip/node_modules/newrelic/",\
"packageDependencies": [\
["newrelic", "npm:9.8.0"],\
["newrelic", "npm:10.0.0"],\
["@contrast/fn-inspect", "npm:3.3.0"],\
["@grpc/grpc-js", "npm:1.8.4"],\
["@grpc/proto-loader", "npm:0.7.4"],\
["@newrelic/aws-sdk", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:5.0.0"],\
["@newrelic/koa", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:7.0.0"],\
["@grpc/grpc-js", "npm:1.8.13"],\
["@grpc/proto-loader", "npm:0.7.5"],\
["@newrelic/aws-sdk", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:5.0.2"],\
["@newrelic/koa", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:7.1.1"],\
["@newrelic/native-metrics", "npm:9.0.0"],\
["@newrelic/superagent", "virtual:4c49b89cbc97666c528d8405a7490a32a30cd8b65c1a61cb32c444f3a312dab1385405717f9866d113d67518b3d487f15de177279ba1a80f8958b28cad021846#npm:6.0.0"],\
["@newrelic/superagent", "virtual:2e94dc408d78a7f546b419c58b70581fdb1401ee1979fe214195b4cfca74499df9c9aa918c3214331583e314b7e767fec897581d1a684dcab7cc3bba5897fc45#npm:6.0.0"],\
["@tyriar/fibonacci-heap", "npm:2.0.9"],\
["concat-stream", "npm:2.0.0"],\
["https-proxy-agent", "npm:5.0.1"],\
["json-bigint", "npm:1.0.0"],\
["json-stringify-safe", "npm:5.0.1"],\
["readable-stream", "npm:3.6.0"],\
["readable-stream", "npm:3.6.2"],\
["semver", "npm:5.7.1"],\
["winston-transport", "npm:4.5.0"]\
],\
@@ -12833,6 +12866,16 @@ const RAW_RUNTIME_STATE =
["util-deprecate", "npm:1.0.2"]\
],\
"linkType": "HARD"\
}],\
["npm:3.6.2", {\
"packageLocation": "./.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-b1cbe0fea6.zip/node_modules/readable-stream/",\
"packageDependencies": [\
["readable-stream", "npm:3.6.2"],\
["inherits", "npm:2.0.4"],\
["string_decoder", "npm:1.3.0"],\
["util-deprecate", "npm:1.0.2"]\
],\
"linkType": "HARD"\
}]\
]],\
["readdirp", [\
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -326,8 +326,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
endif
quiet_cmd_regen_makefile = ACTION Regenerating $@
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)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/binding.gyp $(srcdir)/../../../../../../../../../../Library/Caches/node-gyp/18.13.0/include/node/common.gypi $(srcdir)/build/config.gypi
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.15.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.15.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.15.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/build/config.gypi $(srcdir)/../../../../../../../../Library/Caches/node-gyp/18.15.0/include/node/common.gypi $(srcdir)/binding.gyp
$(call do_cmd,regen_makefile)
# "all" is a concatenation of the "all" targets from all the included
@@ -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/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
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.15.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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 \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.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:
@@ -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/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
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.15.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h \
../src/LoopChecker.hpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.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 \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h:
../src/LoopChecker.hpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.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:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.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:
@@ -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/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
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.15.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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 \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.15.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/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:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.15.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:
@@ -84,7 +84,6 @@
"lib/internal/assert.js",
"lib/internal/assert/assertion_error.js",
"lib/internal/assert/calltracker.js",
"lib/internal/assert/snapshot.js",
"lib/internal/async_hooks.js",
"lib/internal/blob.js",
"lib/internal/blocklist.js",
@@ -265,15 +264,20 @@
"lib/internal/structured_clone.js",
"lib/internal/test/binding.js",
"lib/internal/test/transfer.js",
"lib/internal/test_runner/coverage.js",
"lib/internal/test_runner/harness.js",
"lib/internal/test_runner/mock.js",
"lib/internal/test_runner/reporter/dot.js",
"lib/internal/test_runner/reporter/spec.js",
"lib/internal/test_runner/reporter/tap.js",
"lib/internal/test_runner/runner.js",
"lib/internal/test_runner/tap_checker.js",
"lib/internal/test_runner/tap_lexer.js",
"lib/internal/test_runner/tap_parser.js",
"lib/internal/test_runner/tap_stream.js",
"lib/internal/test_runner/test.js",
"lib/internal/test_runner/tests_stream.js",
"lib/internal/test_runner/utils.js",
"lib/internal/test_runner/yaml_to_js.js",
"lib/internal/timers.js",
"lib/internal/tls/secure-context.js",
"lib/internal/tls/secure-pair.js",
@@ -394,8 +398,8 @@
"v8_use_siphash": 1,
"want_separate_host_toolset": 0,
"xcode_version": "12.0",
"nodedir": "/Users/mo/Library/Caches/node-gyp/18.13.0",
"nodedir": "/Users/karolsojko/Library/Caches/node-gyp/18.15.0",
"standalone_static_library": 1,
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin arm64"
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.15.0 darwin arm64"
}
}
@@ -51,13 +51,13 @@ CFLAGS_OBJC_Debug :=
CFLAGS_OBJCC_Debug :=
INCS_Debug := \
-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/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -107,13 +107,13 @@ CFLAGS_OBJC_Release :=
CFLAGS_OBJCC_Release :=
INCS_Release := \
-I/Users/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/Users/karolsojko/Library/Caches/node-gyp/18.15.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.15.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
+1 -1
View File
@@ -1,4 +1,4 @@
FROM node:18.13.0-alpine
FROM node:18.15.0-alpine
ENV NODE_ENV production
+33 -13
View File
@@ -22,24 +22,37 @@ if [ -z "$REVISIONS_SERVER_PORT" ]; then
export REVISIONS_SERVER_PORT=3105
fi
#############
# NEW RELIC #
#############
if [ -z "$NEW_RELIC_ENABLED" ]; then
export NEW_RELIC_ENABLED=false
fi
######
# DB #
######
if [ -z "$DB_HOST" ]; then
export DB_HOST="db"
echo "DB_HOST is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$DB_PORT" ]; then
export DB_PORT="3306"
echo "DB_PORT is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$DB_USERNAME" ]; then
export DB_USERNAME="std_notes_user"
echo "DB_USERNAME is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$DB_PASSWORD" ]; then
export DB_PASSWORD=$(openssl rand -hex 32)
echo "DB_PASSWORD is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$DB_DATABASE" ]; then
export DB_DATABASE="standard_notes_db"
echo "DB_DATABASE is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$DB_DEBUG_LEVEL" ]; then
export DB_DEBUG_LEVEL="all"
@@ -51,25 +64,31 @@ export DB_MIGRATIONS_PATH="dist/migrations/*.js"
#########
if [ -z "$REDIS_PORT" ]; then
export REDIS_PORT=6379
echo "REDIS_PORT is not set. Please set it in your .env file."
exit 1
fi
if [ -z "$REDIS_HOST" ]; then
export REDIS_HOST="cache"
echo "REDIS_HOST is not set. Please set it in your .env file."
exit 1
fi
export REDIS_URL="redis://$REDIS_HOST"
if [ -z "$REDIS_URL" ]; then
export REDIS_URL="redis://$REDIS_HOST"
fi
##########
# SHARED #
##########
if [ -z "$AUTH_JWT_SECRET" ]; then
export AUTH_JWT_SECRET=$(openssl rand -hex 32)
echo "AUTH_JWT_SECRET is not set. Please set it in your .env file. You can run 'openssl rand -hex 32' to generate a random string."
exit 1
fi
if [ -z "$VALET_TOKEN_SECRET" ]; then
export VALET_TOKEN_SECRET=$(openssl rand -base64 32)
echo "VALET_TOKEN_SECRET is not set. Please set it in your .env file. You can run 'openssl rand -hex 32' to generate a random string."
exit 1
fi
########
@@ -120,7 +139,8 @@ if [ -z "$AUTH_SERVER_EPHEMERAL_SESSION_AGE" ]; then
fi
if [ -z "$AUTH_SERVER_ENCRYPTION_SERVER_KEY" ]; then
export AUTH_SERVER_ENCRYPTION_SERVER_KEY=$(openssl rand -hex 32)
echo "AUTH_SERVER_ENCRYPTION_SERVER_KEY is not set. Please set it in your .env file. You can run 'openssl rand -hex 32' to generate a random string."
exit 1
fi
export AUTH_SERVER_SYNCING_SERVER_URL=http://localhost:$SYNCING_SERVER_PORT
@@ -170,7 +190,7 @@ if [ -z "$AUTH_SERVER_U2F_RELYING_PARTY_NAME" ]; then
export AUTH_SERVER_U2F_RELYING_PARTY_NAME="Standard Notes"
fi
if [ -z "$AUTH_SERVER_U2F_EXPECTED_ORIGIN" ]; then
export AUTH_SERVER_U2F_EXPECTED_ORIGIN="http://localhost,http://localhost:3001"
export AUTH_SERVER_U2F_EXPECTED_ORIGIN="http://localhost,http://localhost:3001,https://app.standardnotes.com,android:apk-key-hash:WD_EG0kMOAtW--nuRzgetO9T4DcZpVA_wfKdzY4okCo"
fi
if [ -z "$AUTH_SERVER_U2F_REQUIRE_USER_VERIFICATION" ]; then
export AUTH_SERVER_U2F_REQUIRE_USER_VERIFICATION=false
@@ -349,7 +369,7 @@ 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_REVISIONS_SERVER_URL=http://localhost:3005
export API_GATEWAY_REVISIONS_SERVER_URL=http://localhost:$REVISIONS_SERVER_PORT
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
export PUBLIC_FILES_SERVER_URL=http://localhost:3125
fi
+2 -2
View File
@@ -26,7 +26,7 @@
"@lerna-lite/list": "^1.5.1",
"@lerna-lite/run": "^1.5.1",
"@types/jest": "^29.1.1",
"@types/newrelic": "^9.4.0",
"@types/newrelic": "^9.13.0",
"@types/node": "^18.11.9",
"@typescript-eslint/parser": "^5.40.1",
"eslint": "^8.32.0",
@@ -40,6 +40,6 @@
"packageManager": "yarn@4.0.0-rc.25",
"dependencies": {
"@sentry/node": "^7.28.1",
"newrelic": "^9.8.0"
"newrelic": "^10.0.0"
}
}
+24
View File
@@ -3,6 +3,30 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.21.7](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.6...@standardnotes/analytics@2.21.7) (2023-04-21)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.6](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.5...@standardnotes/analytics@2.21.6) (2023-04-21)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.5](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.4...@standardnotes/analytics@2.21.5) (2023-03-30)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.4](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.3...@standardnotes/analytics@2.21.4) (2023-03-10)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.3](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.2...@standardnotes/analytics@2.21.3) (2023-03-09)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.2](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.1...@standardnotes/analytics@2.21.2) (2023-03-08)
**Note:** Version bump only for package @standardnotes/analytics
## [2.21.1](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.21.0...@standardnotes/analytics@2.21.1) (2023-02-23)
### Bug Fixes
+1 -1
View File
@@ -1,4 +1,4 @@
FROM node:18.13.0-alpine
FROM node:18.15.0-alpine
RUN apk add --update \
curl \
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/analytics",
"version": "2.21.1",
"version": "2.21.7",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -28,7 +28,7 @@
"@types/ioredis": "^5.0.0",
"@types/jest": "^29.1.1",
"@types/mixpanel": "^2.14.4",
"@types/newrelic": "^9.4.0",
"@types/newrelic": "^9.13.0",
"@types/node": "^18.11.9",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"eslint": "^8.32.0",
@@ -40,7 +40,7 @@
"dependencies": {
"@aws-sdk/client-sns": "^3.259.0",
"@aws-sdk/client-sqs": "^3.259.0",
"@newrelic/winston-enricher": "^4.0.0",
"@newrelic/winston-enricher": "^4.0.1",
"@sentry/node": "^7.28.1",
"@standardnotes/common": "workspace:*",
"@standardnotes/domain-core": "workspace:^",
@@ -53,7 +53,7 @@
"ioredis": "^5.2.4",
"mixpanel": "^0.17.0",
"mysql2": "^3.0.1",
"newrelic": "^9.8.0",
"newrelic": "^10.0.0",
"reflect-metadata": "^0.1.13",
"typeorm": "^0.3.10",
"winston": "^3.8.1"
+24
View File
@@ -3,6 +3,30 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.49.10](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.9...@standardnotes/api-gateway@1.49.10) (2023-04-21)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.9](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.8...@standardnotes/api-gateway@1.49.9) (2023-04-21)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.8](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.7...@standardnotes/api-gateway@1.49.8) (2023-03-30)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.7](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.6...@standardnotes/api-gateway@1.49.7) (2023-03-10)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.6](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.5...@standardnotes/api-gateway@1.49.6) (2023-03-09)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.5](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.4...@standardnotes/api-gateway@1.49.5) (2023-03-08)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.49.4](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.3...@standardnotes/api-gateway@1.49.4) (2023-02-25)
**Note:** Version bump only for package @standardnotes/api-gateway
+1 -1
View File
@@ -1,4 +1,4 @@
FROM node:18.13.0-alpine
FROM node:18.15.0-alpine
RUN apk add --update \
curl \
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api-gateway",
"version": "1.49.4",
"version": "1.49.10",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -20,7 +20,7 @@
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
},
"dependencies": {
"@newrelic/winston-enricher": "^4.0.0",
"@newrelic/winston-enricher": "^4.0.1",
"@sentry/node": "^7.28.1",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:*",
@@ -37,7 +37,7 @@
"inversify-express-utils": "^6.4.3",
"ioredis": "^5.2.4",
"jsonwebtoken": "^9.0.0",
"newrelic": "^9.8.0",
"newrelic": "^10.0.0",
"prettyjson": "^1.2.5",
"reflect-metadata": "0.1.13",
"winston": "^3.8.1"
@@ -48,7 +48,7 @@
"@types/ioredis": "^5.0.0",
"@types/jest": "^29.1.1",
"@types/jsonwebtoken": "^9.0.1",
"@types/newrelic": "^9.4.0",
"@types/newrelic": "^9.13.0",
"@types/prettyjson": "^0.0.30",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"eslint": "^8.32.0",
+174
View File
@@ -3,6 +3,180 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.95.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.95.2...@standardnotes/auth-server@1.95.3) (2023-04-21)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.95.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.95.1...@standardnotes/auth-server@1.95.2) (2023-04-21)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.95.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.95.0...@standardnotes/auth-server@1.95.1) (2023-04-20)
### Bug Fixes
* **auth:** add u2f permissions for pro users ([d211249](https://github.com/standardnotes/server/commit/d21124908652e89a7995c8f58e6b95394268967f))
# [1.95.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.94.1...@standardnotes/auth-server@1.95.0) (2023-04-04)
### Features
* **auth:** add initial emergency access invitations model ([#528](https://github.com/standardnotes/server/issues/528)) ([8242f13](https://github.com/standardnotes/server/commit/8242f13aff63ea9f3007308fe4f65973fa1478e1))
## [1.94.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.94.0...@standardnotes/auth-server@1.94.1) (2023-04-04)
### Bug Fixes
* **auth:** change status code for updating a subscription setting without a subscription ([3417407](https://github.com/standardnotes/server/commit/3417407cbe3b8e19069f6003e767d707e14b4501))
# [1.94.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.14...@standardnotes/auth-server@1.94.0) (2023-04-03)
### Bug Fixes
* **auth:** feature service specs ([b88f560](https://github.com/standardnotes/server/commit/b88f560b07de183d4101220626785d3ba994b44c))
### Features
* **auth:** feature entitlement check for u2f endpoints ([51b264c](https://github.com/standardnotes/server/commit/51b264ca13fffc66e2dc31e87b0934ba61a48435))
## [1.93.14](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.13...@standardnotes/auth-server@1.93.14) (2023-04-03)
### Bug Fixes
* **auth:** relying party id ([aca8d29](https://github.com/standardnotes/server/commit/aca8d2948da67b32445dc8da54b561ff08bf5c62))
## [1.93.13](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.12...@standardnotes/auth-server@1.93.13) (2023-03-30)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.93.12](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.11...@standardnotes/auth-server@1.93.12) (2023-03-16)
### Bug Fixes
* **auth:** persistence mapping for authenticators ([f8a2892](https://github.com/standardnotes/server/commit/f8a2892811ebb4d8f067e036fb9f54780a400535))
## [1.93.11](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.10...@standardnotes/auth-server@1.93.11) (2023-03-10)
### Bug Fixes
* **auth:** chage attestation type to none ([f69073b](https://github.com/standardnotes/server/commit/f69073ba029bfe15cb6855ff764aba96010c84da))
## [1.93.10](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.9...@standardnotes/auth-server@1.93.10) (2023-03-10)
### Bug Fixes
* **auth:** attestation params and authenticator transports ([a3fc0d9](https://github.com/standardnotes/server/commit/a3fc0d912032d209b78f6c5ba5b47805a491fb15))
## [1.93.9](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.8...@standardnotes/auth-server@1.93.9) (2023-03-10)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.93.8](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.7...@standardnotes/auth-server@1.93.8) (2023-03-10)
### Reverts
* Revert "fix(auth): change supported algorithms on authenticator registration options" ([74e35a2](https://github.com/standardnotes/server/commit/74e35a2d659f13def87869df29e863a2ce32910c))
## [1.93.7](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.6...@standardnotes/auth-server@1.93.7) (2023-03-10)
### Bug Fixes
* **auth:** change supported algorithms on authenticator registration options ([7db9ba0](https://github.com/standardnotes/server/commit/7db9ba03f3c14b83dc4344935499f48db800c87d))
## [1.93.6](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.5...@standardnotes/auth-server@1.93.6) (2023-03-09)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.93.5](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.4...@standardnotes/auth-server@1.93.5) (2023-03-09)
### Bug Fixes
* **auth:** remove migrate email settings procedure ([4bd5fb2](https://github.com/standardnotes/server/commit/4bd5fb22b447b0e0fdb136aa46ddc812c8b272cd))
## [1.93.4](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.3...@standardnotes/auth-server@1.93.4) (2023-03-09)
### Bug Fixes
* **auth:** change response from verifying authenticator registration ([e1c533a](https://github.com/standardnotes/server/commit/e1c533a15e33e215e90fbe15d2d4994605eaa1bd))
## [1.93.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.2...@standardnotes/auth-server@1.93.3) (2023-03-09)
### Bug Fixes
* **auth:** migrate encrypted sign in settings ([d827513](https://github.com/standardnotes/server/commit/d827513b73a57fbdb72c3112f32dc2a296103450))
* **auth:** remove authenticator names from server ([c45653a](https://github.com/standardnotes/server/commit/c45653a50a9d25de1e0fc86127ff6931dc98406d))
## [1.93.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.1...@standardnotes/auth-server@1.93.2) (2023-03-08)
### Bug Fixes
* **auth:** authentication options ([1d11c5a](https://github.com/standardnotes/server/commit/1d11c5a1865f81ca57d0ad4313cc3df497b4c445))
## [1.93.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.93.0...@standardnotes/auth-server@1.93.1) (2023-03-08)
### Bug Fixes
* **auth:** migrate muted email notifications settings ([f91e431](https://github.com/standardnotes/server/commit/f91e4316ff4993d032c016bb233b93a9f3356cf3))
# [1.93.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.92.0...@standardnotes/auth-server@1.93.0) (2023-03-08)
### Bug Fixes
* **auth:** setting name value objects in typeorm queries ([28dc5ba](https://github.com/standardnotes/server/commit/28dc5ba2a4e946b7aed86432da160c0be76f839d))
### Features
* **domain-core:** add internal team user role ([#473](https://github.com/standardnotes/server/issues/473)) ([979a320](https://github.com/standardnotes/server/commit/979a320ca666991ad2b023436f58c59ae168c768))
# [1.92.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.91.2...@standardnotes/auth-server@1.92.0) (2023-03-08)
### Features
* sign in setting refactor ([#472](https://github.com/standardnotes/server/issues/472)) ([27cf093](https://github.com/standardnotes/server/commit/27cf093f85d0f2e208f48e7c7ddcce36b341ffb7))
## [1.91.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.91.1...@standardnotes/auth-server@1.91.2) (2023-03-06)
### Bug Fixes
* **auth:** associate setting with sign in alerts permission ([9002945](https://github.com/standardnotes/server/commit/90029456fe6d654747d6b8b7ae106d3d58b3a3fe))
* **auth:** remove sign in emails permission from free accounts ([b167b00](https://github.com/standardnotes/server/commit/b167b0007555b3850ae274354b6c271fe0a1e47f))
## [1.91.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.91.0...@standardnotes/auth-server@1.91.1) (2023-03-06)
### Bug Fixes
* **auth:** disable sign in emails on newly created accounts ([782a9d3](https://github.com/standardnotes/server/commit/782a9d310dc2d2819a49540138ed10b36ebd0d94))
# [1.91.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.90.1...@standardnotes/auth-server@1.91.0) (2023-03-06)
### Features
* **auth:** add cleanup of expired sessions ([2fad6b6](https://github.com/standardnotes/server/commit/2fad6b62cbb5bec38a3171a996d3f9c4eedf7836))
## [1.90.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.90.0...@standardnotes/auth-server@1.90.1) (2023-03-06)
### Bug Fixes
* **auth:** prevent listing sessions on readonly access ([dbccdf3](https://github.com/standardnotes/server/commit/dbccdf342b52f81fb14f246784d5dc6def2ff3fc))
# [1.90.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.89.7...@standardnotes/auth-server@1.90.0) (2023-03-02)
### Features
* **auth:** add configurable list of readonly users ([#462](https://github.com/standardnotes/server/issues/462)) ([d646995](https://github.com/standardnotes/server/commit/d6469954ceb24580c465535e61588b04924734ab))
## [1.89.7](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.89.6...@standardnotes/auth-server@1.89.7) (2023-03-02)
### Bug Fixes
* **auth:** function naming for more clarity ([79ccbdf](https://github.com/standardnotes/server/commit/79ccbdf1000c699074b5271f3c04a30fcb1b3311))
## [1.89.6](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.89.5...@standardnotes/auth-server@1.89.6) (2023-03-02)
### Bug Fixes
* **auth:** changing the updated_at property on sessions ([753f867](https://github.com/standardnotes/server/commit/753f86707ffdbab0d04f49b42275dbb28589780b))
## [1.89.5](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.89.4...@standardnotes/auth-server@1.89.5) (2023-03-01)
**Note:** Version bump only for package @standardnotes/auth-server
+1 -1
View File
@@ -1,4 +1,4 @@
FROM node:18.13.0-alpine
FROM node:18.15.0-alpine
RUN apk add --update \
curl \
+12 -12
View File
@@ -32,36 +32,36 @@ const requestBackups = async (
): Promise<void> => {
let settingName: SettingName,
permissionName: PermissionName,
muteEmailsSettingName: SettingName,
muteEmailsSettingName: string,
muteEmailsSettingValue: string,
providerTokenSettingName: SettingName
switch (backupProvider) {
case 'email':
settingName = SettingName.EmailBackupFrequency
settingName = SettingName.create(SettingName.NAMES.EmailBackupFrequency).getValue()
permissionName = PermissionName.DailyEmailBackup
muteEmailsSettingName = SettingName.MuteFailedBackupsEmails
muteEmailsSettingName = SettingName.NAMES.MuteFailedBackupsEmails
muteEmailsSettingValue = MuteFailedBackupsEmailsOption.Muted
break
case 'dropbox':
settingName = SettingName.DropboxBackupFrequency
settingName = SettingName.create(SettingName.NAMES.DropboxBackupFrequency).getValue()
permissionName = PermissionName.DailyDropboxBackup
muteEmailsSettingName = SettingName.MuteFailedCloudBackupsEmails
muteEmailsSettingName = SettingName.NAMES.MuteFailedCloudBackupsEmails
muteEmailsSettingValue = MuteFailedCloudBackupsEmailsOption.Muted
providerTokenSettingName = SettingName.DropboxBackupToken
providerTokenSettingName = SettingName.create(SettingName.NAMES.DropboxBackupToken).getValue()
break
case 'one_drive':
settingName = SettingName.OneDriveBackupFrequency
settingName = SettingName.create(SettingName.NAMES.OneDriveBackupFrequency).getValue()
permissionName = PermissionName.DailyOneDriveBackup
muteEmailsSettingName = SettingName.MuteFailedCloudBackupsEmails
muteEmailsSettingName = SettingName.NAMES.MuteFailedCloudBackupsEmails
muteEmailsSettingValue = MuteFailedCloudBackupsEmailsOption.Muted
providerTokenSettingName = SettingName.OneDriveBackupToken
providerTokenSettingName = SettingName.create(SettingName.NAMES.OneDriveBackupToken).getValue()
break
case 'google_drive':
settingName = SettingName.GoogleDriveBackupFrequency
settingName = SettingName.create(SettingName.NAMES.GoogleDriveBackupFrequency).getValue()
permissionName = PermissionName.DailyGDriveBackup
muteEmailsSettingName = SettingName.MuteFailedCloudBackupsEmails
muteEmailsSettingName = SettingName.NAMES.MuteFailedCloudBackupsEmails
muteEmailsSettingValue = MuteFailedCloudBackupsEmailsOption.Muted
providerTokenSettingName = SettingName.GoogleDriveBackupToken
providerTokenSettingName = SettingName.create(SettingName.NAMES.GoogleDriveBackupToken).getValue()
break
default:
throw new Error(`Not handled backup provider: ${backupProvider}`)
+16 -8
View File
@@ -8,6 +8,17 @@ import { ContainerConfigLoader } from '../src/Bootstrap/Container'
import TYPES from '../src/Bootstrap/Types'
import { Env } from '../src/Bootstrap/Env'
import { CleanupSessionTraces } from '../src/Domain/UseCase/CleanupSessionTraces/CleanupSessionTraces'
import { CleanupExpiredSessions } from '../src/Domain/UseCase/CleanupExpiredSessions/CleanupExpiredSessions'
const cleanup = async (
cleanupSessionTraces: CleanupSessionTraces,
cleanupExpiredSessions: CleanupExpiredSessions,
): Promise<void> => {
const date = new Date()
await cleanupSessionTraces.execute({ date })
await cleanupExpiredSessions.execute({ date })
}
const container = new ContainerConfigLoader()
void container.load().then((container) => {
@@ -16,22 +27,19 @@ void container.load().then((container) => {
const logger: Logger = container.get(TYPES.Logger)
logger.info('Starting session traces cleanup')
logger.info('Starting sessions and session traces cleanup')
const cleanupSessionTraces: CleanupSessionTraces = container.get(TYPES.CleanupSessionTraces)
const cleanupExpiredSessions: CleanupExpiredSessions = container.get(TYPES.CleanupExpiredSessions)
Promise.resolve(
cleanupSessionTraces.execute({
date: new Date(),
}),
)
Promise.resolve(cleanup(cleanupSessionTraces, cleanupExpiredSessions))
.then(() => {
logger.info('Expired session traces cleaned.')
logger.info('Expired sessions and session traces cleaned.')
process.exit(0)
})
.catch((error) => {
logger.error(`Could not clean session traces: ${error.message}`)
logger.error(`Could not clean sessions and session traces: ${error.message}`)
process.exit(1)
})
+1 -1
View File
@@ -28,7 +28,7 @@ const requestBackups = async (
domainEventPublisher: DomainEventPublisherInterface,
): Promise<void> => {
const permissionName = PermissionName.DailyEmailBackup
const muteEmailsSettingName = SettingName.MuteFailedBackupsEmails
const muteEmailsSettingName = SettingName.NAMES.MuteFailedBackupsEmails
const muteEmailsSettingValue = MuteFailedBackupsEmailsOption.Muted
if (!backupEmail) {
@@ -34,7 +34,7 @@ export class moveMfaItemsToUserSettings1627638504691 implements MigrationInterfa
const setting = new Setting()
setting.uuid = item['uuid']
setting.name = SettingName.MfaSecret
setting.name = SettingName.NAMES.MfaSecret
setting.value = item['content']
if (item['deleted']) {
setting.value = null
@@ -0,0 +1,16 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class removeSignInEmailsOnFreeAcounts1678110075698 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
'DELETE FROM `role_permissions` WHERE role_uuid="23bf88ca-bee1-4a4c-adf0-b7a48749eea7" AND permission_uuid="2074d312-78bc-4533-b008-38e1232226c0"',
)
await queryRunner.query(
'DELETE FROM `role_permissions` WHERE role_uuid="bde42e26-628c-44e6-9d76-21b08954b0bf" AND permission_uuid="2074d312-78bc-4533-b008-38e1232226c0"',
)
}
public async down(): Promise<void> {
return
}
}
@@ -0,0 +1,26 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class addInternalTeamUserRole1678266947362 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// remove beta files user role and permission
await queryRunner.query('DELETE FROM `role_permissions` WHERE role_uuid="1cd9ee6e-bc95-4f32-957c-d8c41f94d4ef"')
await queryRunner.query('DELETE FROM `user_roles` WHERE role_uuid="1cd9ee6e-bc95-4f32-957c-d8c41f94d4ef"')
await queryRunner.query('DELETE FROM `roles` WHERE name="FILES_BETA_USER"')
await queryRunner.query('DELETE FROM `permissions` WHERE name="app:files-beta"')
// add internal team user role and permission
await queryRunner.query(
'INSERT INTO `roles` (uuid, name, version) VALUES ("9f8d2313-e8d0-48ad-b19c-026601d0ddf4", "INTERNAL_TEAM_USER", 1)',
)
await queryRunner.query(
'INSERT INTO `permissions` (uuid, name) VALUES ("fb13e7d3-936f-4ded-a543-e1650cc99dfd", "server:universal-second-factor")',
)
await queryRunner.query(
'INSERT INTO `role_permissions` (role_uuid, permission_uuid) VALUES ("9f8d2313-e8d0-48ad-b19c-026601d0ddf4", "fb13e7d3-936f-4ded-a543-e1650cc99dfd")',
)
}
public async down(): Promise<void> {
return
}
}
@@ -0,0 +1,13 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class removeAuthenticatorNamesFromServer1678340701766 implements MigrationInterface {
name = 'removeAuthenticatorNamesFromServer1678340701766'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query('ALTER TABLE `authenticators` DROP COLUMN `name`')
}
public async down(): Promise<void> {
return
}
}
@@ -0,0 +1,23 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class emergencyAccessInvitations1680597887475 implements MigrationInterface {
name = 'emergencyAccessInvitations1680597887475'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
'CREATE TABLE `emergency_access_invitations` (`uuid` varchar(36) NOT NULL, `grantor_uuid` varchar(36) NOT NULL, `grantee_uuid` varchar(36) NOT NULL, `status` varchar(36) NOT NULL, `expires_at` datetime NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`uuid`)) ENGINE=InnoDB',
)
await queryRunner.query(
'ALTER TABLE `emergency_access_invitations` ADD CONSTRAINT `grantor_uuid_fk` FOREIGN KEY (`grantor_uuid`) REFERENCES `users`(`uuid`) ON DELETE CASCADE ON UPDATE NO ACTION',
)
await queryRunner.query(
'ALTER TABLE `emergency_access_invitations` ADD CONSTRAINT `grantee_uuid_fk` FOREIGN KEY (`grantee_uuid`) REFERENCES `users`(`uuid`) ON DELETE CASCADE ON UPDATE NO ACTION',
)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query('ALTER TABLE `emergency_access_invitations` DROP FOREIGN KEY `grantee_uuid_fk`')
await queryRunner.query('ALTER TABLE `emergency_access_invitations` DROP FOREIGN KEY `grantor_uuid_fk`')
await queryRunner.query('DROP TABLE `emergency_access_invitations`')
}
}
@@ -0,0 +1,14 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class enableU2f1681984540867 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// add u2f permission for pro users
await queryRunner.query(
'INSERT INTO `role_permissions` (role_uuid, permission_uuid) VALUES ("8047edbb-a10a-4ff8-8d53-c2cae600a8e8", "fb13e7d3-936f-4ded-a543-e1650cc99dfd")',
)
}
public async down(): Promise<void> {
return
}
}
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/auth-server",
"version": "1.89.5",
"version": "1.95.3",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
@@ -36,16 +36,17 @@
"@aws-sdk/client-sqs": "^3.259.0",
"@cbor-extract/cbor-extract-linux-arm64": "^2.1.1",
"@cbor-extract/cbor-extract-linux-x64": "^2.1.1",
"@newrelic/winston-enricher": "^4.0.0",
"@newrelic/winston-enricher": "^4.0.1",
"@sentry/node": "^7.28.1",
"@sentry/tracing": "^7.28.1",
"@simplewebauthn/server": "^7.0.1",
"@simplewebauthn/typescript-types": "^7.0.0",
"@standardnotes/api": "^1.25.3",
"@standardnotes/common": "workspace:*",
"@standardnotes/domain-core": "workspace:^",
"@standardnotes/domain-events": "workspace:*",
"@standardnotes/domain-events-infra": "workspace:*",
"@standardnotes/features": "^1.58.4",
"@standardnotes/features": "^1.58.12",
"@standardnotes/predicates": "workspace:*",
"@standardnotes/responses": "^1.13.9",
"@standardnotes/security": "workspace:*",
@@ -63,7 +64,7 @@
"inversify-express-utils": "^6.4.3",
"ioredis": "^5.2.4",
"mysql2": "^3.0.1",
"newrelic": "^9.8.0",
"newrelic": "^10.0.0",
"otplib": "12.0.1",
"prettyjson": "^1.2.5",
"reflect-metadata": "0.1.13",
@@ -73,13 +74,12 @@
"winston": "^3.8.1"
},
"devDependencies": {
"@simplewebauthn/typescript-types": "^7.0.0",
"@types/bcryptjs": "^2.4.2",
"@types/cors": "^2.8.9",
"@types/express": "^4.17.14",
"@types/ioredis": "^5.0.0",
"@types/jest": "^29.1.1",
"@types/newrelic": "^9.4.0",
"@types/newrelic": "^9.13.0",
"@types/otplib": "^10.0.0",
"@types/prettyjson": "^0.0.30",
"@types/ua-parser-js": "^0.7.36",
+27 -5
View File
@@ -168,7 +168,6 @@ import { ListSharedSubscriptionInvitations } from '../Domain/UseCase/ListSharedS
import { UserSubscriptionServiceInterface } from '../Domain/Subscription/UserSubscriptionServiceInterface'
import { UserSubscriptionService } from '../Domain/Subscription/UserSubscriptionService'
import { SubscriptionSettingProjector } from '../Projection/SubscriptionSettingProjector'
import { GetSubscriptionSetting } from '../Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSetting'
import { SubscriptionSettingsAssociationService } from '../Domain/Setting/SubscriptionSettingsAssociationService'
import { SubscriptionSettingsAssociationServiceInterface } from '../Domain/Setting/SubscriptionSettingsAssociationServiceInterface'
import { PKCERepositoryInterface } from '../Domain/User/PKCERepositoryInterface'
@@ -216,6 +215,7 @@ import { DeleteAuthenticator } from '../Domain/UseCase/DeleteAuthenticator/Delet
import { GenerateRecoveryCodes } from '../Domain/UseCase/GenerateRecoveryCodes/GenerateRecoveryCodes'
import { SignInWithRecoveryCodes } from '../Domain/UseCase/SignInWithRecoveryCodes/SignInWithRecoveryCodes'
import { GetUserKeyParamsRecovery } from '../Domain/UseCase/GetUserKeyParamsRecovery/GetUserKeyParamsRecovery'
import { CleanupExpiredSessions } from '../Domain/UseCase/CleanupExpiredSessions/CleanupExpiredSessions'
// eslint-disable-next-line @typescript-eslint/no-var-requires
const newrelicFormatter = require('@newrelic/winston-enricher')
@@ -452,7 +452,7 @@ export class ContainerConfigLoader {
.toConstantValue(env.get('U2F_RELYING_PARTY_NAME', true) ?? 'Standard Notes')
container
.bind(TYPES.U2F_RELYING_PARTY_ID)
.toConstantValue(env.get('U2F_RELYING_PARTY_ID', true) ?? 'standardnotes.com')
.toConstantValue(env.get('U2F_RELYING_PARTY_ID', true) ?? 'app.standardnotes.com')
container
.bind(TYPES.U2F_EXPECTED_ORIGIN)
.toConstantValue(
@@ -463,6 +463,10 @@ export class ContainerConfigLoader {
container
.bind(TYPES.U2F_REQUIRE_USER_VERIFICATION)
.toConstantValue(env.get('U2F_REQUIRE_USER_VERIFICATION', true) === 'true')
container
.bind(TYPES.READONLY_USERS)
.toConstantValue(env.get('READONLY_USERS', true) ? env.get('READONLY_USERS', true).split(',') : [])
// Services
container.bind<UAParser>(TYPES.DeviceDetector).toConstantValue(new UAParser())
container.bind<SessionService>(TYPES.SessionService).to(SessionService)
@@ -559,6 +563,8 @@ export class ContainerConfigLoader {
container.get(TYPES.AuthenticatorChallengeRepository),
container.get(TYPES.U2F_RELYING_PARTY_NAME),
container.get(TYPES.U2F_RELYING_PARTY_ID),
container.get(TYPES.UserRepository),
container.get(TYPES.FeatureService),
),
)
container
@@ -570,6 +576,8 @@ export class ContainerConfigLoader {
container.get(TYPES.U2F_RELYING_PARTY_ID),
container.get(TYPES.U2F_EXPECTED_ORIGIN),
container.get(TYPES.U2F_REQUIRE_USER_VERIFICATION),
container.get(TYPES.UserRepository),
container.get(TYPES.FeatureService),
),
)
container
@@ -595,10 +603,22 @@ export class ContainerConfigLoader {
)
container
.bind<ListAuthenticators>(TYPES.ListAuthenticators)
.toConstantValue(new ListAuthenticators(container.get(TYPES.AuthenticatorRepository)))
.toConstantValue(
new ListAuthenticators(
container.get(TYPES.AuthenticatorRepository),
container.get(TYPES.UserRepository),
container.get(TYPES.FeatureService),
),
)
container
.bind<DeleteAuthenticator>(TYPES.DeleteAuthenticator)
.toConstantValue(new DeleteAuthenticator(container.get(TYPES.AuthenticatorRepository)))
.toConstantValue(
new DeleteAuthenticator(
container.get(TYPES.AuthenticatorRepository),
container.get(TYPES.UserRepository),
container.get(TYPES.FeatureService),
),
)
container
.bind<GenerateRecoveryCodes>(TYPES.GenerateRecoveryCodes)
.toConstantValue(
@@ -612,6 +632,9 @@ export class ContainerConfigLoader {
container
.bind<CleanupSessionTraces>(TYPES.CleanupSessionTraces)
.toConstantValue(new CleanupSessionTraces(container.get(TYPES.SessionTraceRepository)))
container
.bind<CleanupExpiredSessions>(TYPES.CleanupExpiredSessions)
.toConstantValue(new CleanupExpiredSessions(container.get(TYPES.SessionRepository)))
container.bind<AuthenticateUser>(TYPES.AuthenticateUser).to(AuthenticateUser)
container.bind<AuthenticateRequest>(TYPES.AuthenticateRequest).to(AuthenticateRequest)
container.bind<RefreshSessionToken>(TYPES.RefreshSessionToken).to(RefreshSessionToken)
@@ -683,7 +706,6 @@ export class ContainerConfigLoader {
container
.bind<ListSharedSubscriptionInvitations>(TYPES.ListSharedSubscriptionInvitations)
.to(ListSharedSubscriptionInvitations)
container.bind<GetSubscriptionSetting>(TYPES.GetSubscriptionSetting).to(GetSubscriptionSetting)
container.bind<VerifyPredicate>(TYPES.VerifyPredicate).to(VerifyPredicate)
container.bind<CreateCrossServiceToken>(TYPES.CreateCrossServiceToken).to(CreateCrossServiceToken)
container.bind<ProcessUserRequest>(TYPES.ProcessUserRequest).to(ProcessUserRequest)
@@ -12,6 +12,7 @@ import { UserSubscription } from '../Domain/Subscription/UserSubscription'
import { User } from '../Domain/User/User'
import { TypeORMAuthenticator } from '../Infra/TypeORM/TypeORMAuthenticator'
import { TypeORMAuthenticatorChallenge } from '../Infra/TypeORM/TypeORMAuthenticatorChallenge'
import { TypeORMEmergencyAccessInvitation } from '../Infra/TypeORM/TypeORMEmergencyAccessInvitation'
import { TypeORMSessionTrace } from '../Infra/TypeORM/TypeORMSessionTrace'
import { Env } from './Env'
@@ -72,6 +73,7 @@ export const AppDataSource = new DataSource({
TypeORMSessionTrace,
TypeORMAuthenticator,
TypeORMAuthenticatorChallenge,
TypeORMEmergencyAccessInvitation,
],
migrations: [env.get('DB_MIGRATIONS_PATH', true) ?? 'dist/migrations/*.js'],
migrationsRun: true,
+2 -1
View File
@@ -97,6 +97,7 @@ const TYPES = {
U2F_RELYING_PARTY_NAME: Symbol.for('U2F_RELYING_PARTY_NAME'),
U2F_EXPECTED_ORIGIN: Symbol.for('U2F_EXPECTED_ORIGIN'),
U2F_REQUIRE_USER_VERIFICATION: Symbol.for('U2F_REQUIRE_USER_VERIFICATION'),
READONLY_USERS: Symbol.for('READONLY_USERS'),
// use cases
AuthenticateUser: Symbol.for('AuthenticateUser'),
AuthenticateRequest: Symbol.for('AuthenticateRequest'),
@@ -131,12 +132,12 @@ const TYPES = {
DeclineSharedSubscriptionInvitation: Symbol.for('DeclineSharedSubscriptionInvitation'),
CancelSharedSubscriptionInvitation: Symbol.for('CancelSharedSubscriptionInvitation'),
ListSharedSubscriptionInvitations: Symbol.for('ListSharedSubscriptionInvitations'),
GetSubscriptionSetting: Symbol.for('GetSubscriptionSetting'),
VerifyPredicate: Symbol.for('VerifyPredicate'),
CreateCrossServiceToken: Symbol.for('CreateCrossServiceToken'),
ProcessUserRequest: Symbol.for('ProcessUserRequest'),
TraceSession: Symbol.for('TraceSession'),
CleanupSessionTraces: Symbol.for('CleanupSessionTraces'),
CleanupExpiredSessions: Symbol.for('CleanupExpiredSessions'),
PersistStatistics: Symbol.for('PersistStatistics'),
GenerateAuthenticatorRegistrationOptions: Symbol.for('GenerateAuthenticatorRegistrationOptions'),
VerifyAuthenticatorRegistrationResponse: Symbol.for('VerifyAuthenticatorRegistrationResponse'),
@@ -69,7 +69,7 @@ export class AdminController extends BaseHttpController {
const result = await this.doDeleteSetting.execute({
uuid,
userUuid,
settingName: SettingName.MfaSecret,
settingName: SettingName.NAMES.MfaSecret,
timestamp: updatedAt,
softDelete: true,
})
@@ -115,7 +115,7 @@ export class AdminController extends BaseHttpController {
const result = await this.doDeleteSetting.execute({
userUuid,
settingName: SettingName.EmailBackupFrequency,
settingName: SettingName.NAMES.EmailBackupFrequency,
})
if (result.success) {
@@ -34,6 +34,17 @@ export class AuthenticatorsController {
userUuid: params.userUuid,
})
if (result.isFailed()) {
return {
status: HttpStatusCode.Unauthorized,
data: {
error: {
message: result.getError(),
},
},
}
}
return {
status: HttpStatusCode.Success,
data: {
@@ -50,6 +61,17 @@ export class AuthenticatorsController {
authenticatorId: params.authenticatorId,
})
if (result.isFailed()) {
return {
status: HttpStatusCode.Unauthorized,
data: {
error: {
message: result.getError(),
},
},
}
}
return {
status: HttpStatusCode.Success,
data: {
@@ -88,7 +110,6 @@ export class AuthenticatorsController {
): Promise<HttpResponse<VerifyAuthenticatorRegistrationResponseResponseBody>> {
const result = await this.verifyAuthenticatorRegistrationResponse.execute({
userUuid: params.userUuid,
name: params.name,
attestationResponse: params.attestationResponse,
})
@@ -105,7 +126,7 @@ export class AuthenticatorsController {
return {
status: HttpStatusCode.Success,
data: { success: result.getValue() },
data: { id: result.getValue().toString() },
}
}
@@ -58,6 +58,10 @@ export class SessionsController extends BaseHttpController {
@httpGet('/', TYPES.AuthMiddleware, TYPES.SessionMiddleware)
async getSessions(_request: Request, response: Response): Promise<results.JsonResult> {
if (response.locals.readOnlyAccess) {
return this.json([])
}
const useCaseResponse = await this.getActiveSessionsForUser.execute({
userUuid: response.locals.user.uuid,
})
@@ -90,7 +90,7 @@ describe('SettingsController', () => {
const httpResponse = <results.JsonResult>await createController().getSetting(request, response)
const result = await httpResponse.executeAsync()
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'test' })
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'TEST' })
expect(result.statusCode).toEqual(200)
})
@@ -124,7 +124,7 @@ describe('SettingsController', () => {
const httpResponse = <results.JsonResult>await createController().getSetting(request, response)
const result = await httpResponse.executeAsync()
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'test' })
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'TEST' })
expect(result.statusCode).toEqual(400)
})
@@ -61,7 +61,7 @@ export class SettingsController extends BaseHttpController {
}
const { userUuid, settingName } = request.params
const result = await this.doGetSetting.execute({ userUuid, settingName })
const result = await this.doGetSetting.execute({ userUuid, settingName: settingName.toUpperCase() })
if (result.success) {
return this.json(result)
@@ -4,24 +4,24 @@ import * as express from 'express'
import { results } from 'inversify-express-utils'
import { User } from '../Domain/User/User'
import { GetSubscriptionSetting } from '../Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSetting'
import { SubscriptionSettingsController } from './SubscriptionSettingsController'
import { GetSetting } from '../Domain/UseCase/GetSetting/GetSetting'
describe('SubscriptionSettingsController', () => {
let getSubscriptionSetting: GetSubscriptionSetting
let getSetting: GetSetting
let request: express.Request
let response: express.Response
let user: User
const createController = () => new SubscriptionSettingsController(getSubscriptionSetting)
const createController = () => new SubscriptionSettingsController(getSetting)
beforeEach(() => {
user = {} as jest.Mocked<User>
user.uuid = '123'
getSubscriptionSetting = {} as jest.Mocked<GetSubscriptionSetting>
getSubscriptionSetting.execute = jest.fn()
getSetting = {} as jest.Mocked<GetSetting>
getSetting.execute = jest.fn()
request = {
headers: {},
@@ -41,12 +41,12 @@ describe('SubscriptionSettingsController', () => {
uuid: '1-2-3',
}
getSubscriptionSetting.execute = jest.fn().mockReturnValue({ success: true })
getSetting.execute = jest.fn().mockReturnValue({ success: true })
const httpResponse = <results.JsonResult>await createController().getSubscriptionSetting(request, response)
const result = await httpResponse.executeAsync()
expect(getSubscriptionSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', subscriptionSettingName: 'test' })
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'TEST' })
expect(result.statusCode).toEqual(200)
})
@@ -58,12 +58,12 @@ describe('SubscriptionSettingsController', () => {
uuid: '1-2-3',
}
getSubscriptionSetting.execute = jest.fn().mockReturnValue({ success: false })
getSetting.execute = jest.fn().mockReturnValue({ success: false })
const httpResponse = <results.JsonResult>await createController().getSubscriptionSetting(request, response)
const result = await httpResponse.executeAsync()
expect(getSubscriptionSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', subscriptionSettingName: 'test' })
expect(getSetting.execute).toHaveBeenCalledWith({ userUuid: '1-2-3', settingName: 'TEST' })
expect(result.statusCode).toEqual(400)
})
@@ -1,4 +1,3 @@
import { SubscriptionSettingName } from '@standardnotes/settings'
import { Request, Response } from 'express'
import { inject } from 'inversify'
import {
@@ -9,19 +8,19 @@ import {
results,
} from 'inversify-express-utils'
import TYPES from '../Bootstrap/Types'
import { GetSubscriptionSetting } from '../Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSetting'
import { GetSetting } from '../Domain/UseCase/GetSetting/GetSetting'
@controller('/users/:userUuid')
export class SubscriptionSettingsController extends BaseHttpController {
constructor(@inject(TYPES.GetSubscriptionSetting) private doGetSubscriptionSetting: GetSubscriptionSetting) {
constructor(@inject(TYPES.GetSetting) private doGetSetting: GetSetting) {
super()
}
@httpGet('/subscription-settings/:subscriptionSettingName', TYPES.ApiGatewayAuthMiddleware)
async getSubscriptionSetting(request: Request, response: Response): Promise<results.JsonResult> {
const result = await this.doGetSubscriptionSetting.execute({
const result = await this.doGetSetting.execute({
userUuid: response.locals.user.uuid,
subscriptionSettingName: request.params.subscriptionSettingName as SubscriptionSettingName,
settingName: request.params.subscriptionSettingName.toUpperCase(),
})
if (result.success) {
@@ -77,7 +77,7 @@ export class SubscriptionTokensController extends BaseHttpController {
const user = authenticateTokenResponse.user as User
let extensionKey = undefined
const extensionKeySetting = await this.settingService.findSettingWithDecryptedValue({
settingName: SettingName.ExtensionKey,
settingName: SettingName.create(SettingName.NAMES.ExtensionKey).getValue(),
userUuid: user.uuid,
})
if (extensionKeySetting !== null) {
@@ -6,7 +6,6 @@ describe('Authenticator', () => {
it('should create an entity', () => {
const entityOrError = Authenticator.create({
counter: 1,
name: 'my-key',
credentialBackedUp: true,
credentialDeviceType: 'singleDevice',
credentialId: Buffer.from('credentialId'),
@@ -1,7 +1,6 @@
import { Dates, Uuid } from '@standardnotes/domain-core'
export interface AuthenticatorProps {
name: string
userUuid: Uuid
credentialId: Uint8Array
credentialPublicKey: Uint8Array
@@ -0,0 +1,17 @@
import { Entity, Result, UniqueEntityId } from '@standardnotes/domain-core'
import { EmergencyAccessInvitationProps } from './EmergencyAccessInvitationProps'
export class EmergencyAccessInvitation extends Entity<EmergencyAccessInvitationProps> {
get id(): UniqueEntityId {
return this._id
}
private constructor(props: EmergencyAccessInvitationProps, id?: UniqueEntityId) {
super(props, id)
}
static create(props: EmergencyAccessInvitationProps, id?: UniqueEntityId): Result<EmergencyAccessInvitation> {
return Result.ok<EmergencyAccessInvitation>(new EmergencyAccessInvitation(props, id))
}
}
@@ -0,0 +1,11 @@
import { Dates, Uuid } from '@standardnotes/domain-core'
import { EmergencyAccessInvitationStatus } from './EmergencyAccessInvitationStatus'
export interface EmergencyAccessInvitationProps {
grantorUuid: Uuid
granteeUuid: Uuid
status: EmergencyAccessInvitationStatus
expiresAt: Date
dates: Dates
}
@@ -0,0 +1,30 @@
import { Result, ValueObject } from '@standardnotes/domain-core'
import { EmergencyAccessInvitationStatusProps } from './EmergencyAccessInvitationStatusProps'
export class EmergencyAccessInvitationStatus extends ValueObject<EmergencyAccessInvitationStatusProps> {
static readonly NAMES = {
Sent: 'sent',
Accepted: 'accepted',
Confirmed: 'confirmed',
Expired: 'expired',
Revoked: 'revoked',
}
get value(): string {
return this.props.value
}
private constructor(props: EmergencyAccessInvitationStatusProps) {
super(props)
}
static create(name: string): Result<EmergencyAccessInvitationStatus> {
const isValidName = Object.values(this.NAMES).includes(name)
if (!isValidName) {
return Result.fail<EmergencyAccessInvitationStatus>(`Invalid status name: ${name}`)
} else {
return Result.ok<EmergencyAccessInvitationStatus>(new EmergencyAccessInvitationStatus({ value: name }))
}
}
}
@@ -0,0 +1,3 @@
export interface EmergencyAccessInvitationStatusProps {
value: string
}
@@ -30,7 +30,7 @@ jest.mock('@standardnotes/features', () => {
const { GetFeatures } = jest.requireMock('@standardnotes/features')
import { FeatureService } from './FeatureService'
import { Permission, PermissionName } from '@standardnotes/features'
import { FeatureIdentifier, Permission, PermissionName } from '@standardnotes/features'
import { OfflineUserSubscriptionRepositoryInterface } from '../Subscription/OfflineUserSubscriptionRepositoryInterface'
import { TimerInterface } from '@standardnotes/time'
import { OfflineUserSubscription } from '../Subscription/OfflineUserSubscription'
@@ -201,6 +201,62 @@ describe('FeatureService', () => {
})
describe('online subscribers', () => {
it('should tell if a user is entitled to a feature', async () => {
expect(await createService().userIsEntitledToFeature(user, FeatureIdentifier.AutobiographyTheme)).toBe(true)
expect(await createService().userIsEntitledToFeature(user, FeatureIdentifier.DeprecatedBoldEditor)).toBe(false)
})
it('should tell if a user is not entitled to a feature because it is expired', async () => {
timer.getTimestampInMicroseconds = jest.fn().mockReturnValue(777)
expect(await createService().userIsEntitledToFeature(user, FeatureIdentifier.AutobiographyTheme)).toBe(false)
})
it('should tell if a user is entitled to a feature that does not expire', async () => {
const nonSubscriptionPermission = {
uuid: 'files-beta-permission-1-1-1',
name: 'files-beta' as PermissionName,
} as jest.Mocked<Permission>
GetFeatures.mockImplementation(() => [
{
identifier: 'org.standardnotes.theme-autobiography',
permission_name: PermissionName.AutobiographyTheme,
expires_at: 555,
},
{
identifier: 'org.standardnotes.bold-editor',
permission_name: PermissionName.BoldEditor,
expires_at: 777,
},
{
identifier: 'files-beta',
permission_name: 'files-beta' as PermissionName,
expires_at: undefined,
no_expire: true,
},
])
const nonSubscriptionRole = {
name: RoleName.NAMES.InternalTeamUser,
uuid: 'role-files-beta',
permissions: Promise.resolve([nonSubscriptionPermission]),
} as jest.Mocked<Role>
roleToSubscriptionMap.filterNonSubscriptionRoles = jest.fn().mockReturnValue([nonSubscriptionRole])
roleToSubscriptionMap.getSubscriptionNameForRoleName = jest
.fn()
.mockReturnValueOnce(SubscriptionName.PlusPlan)
.mockReturnValueOnce(SubscriptionName.ProPlan)
user = {
uuid: 'user-1-1-1',
roles: Promise.resolve([role1, role2, nonSubscriptionRole]),
subscriptions: Promise.resolve([subscription1, subscription2]),
} as jest.Mocked<User>
expect(await createService().userIsEntitledToFeature(user, 'files-beta')).toBe(true)
})
it('should return user features with `expires_at` field', async () => {
const features = await createService().getFeaturesForUser(user)
expect(features).toEqual(
@@ -321,7 +377,7 @@ describe('FeatureService', () => {
it('should return user features along with features related to non subscription roles', async () => {
const nonSubscriptionPermission = {
uuid: 'files-beta-permission-1-1-1',
name: PermissionName.FilesBeta,
name: 'files-beta' as PermissionName,
} as jest.Mocked<Permission>
GetFeatures.mockImplementation(() => [
@@ -336,14 +392,15 @@ describe('FeatureService', () => {
expires_at: 777,
},
{
permission_name: PermissionName.FilesBeta,
identifier: 'files-beta',
permission_name: 'files-beta' as PermissionName,
expires_at: undefined,
no_expire: true,
},
])
const nonSubscriptionRole = {
name: RoleName.NAMES.FilesBetaUser,
name: RoleName.NAMES.InternalTeamUser,
uuid: 'role-files-beta',
permissions: Promise.resolve([nonSubscriptionPermission]),
} as jest.Mocked<Role>
@@ -21,6 +21,25 @@ export class FeatureService implements FeatureServiceInterface {
@inject(TYPES.Timer) private timer: TimerInterface,
) {}
async userIsEntitledToFeature(user: User, featureIdentifier: string): Promise<boolean> {
const userFeatures = await this.getFeaturesForUser(user)
const feature = userFeatures.find((userFeature) => userFeature.identifier === featureIdentifier)
if (feature === undefined) {
return false
}
if (feature.no_expire) {
return true
}
const featureIsExpired =
feature.expires_at !== undefined && feature.expires_at < this.timer.getTimestampInMicroseconds()
return !featureIsExpired
}
async getFeaturesForOfflineUser(email: string): Promise<{ features: FeatureDescription[]; roles: string[] }> {
const userSubscriptions = await this.offlineUserSubscriptionRepository.findByEmail(
email,
@@ -4,5 +4,6 @@ import { User } from '../User/User'
export interface FeatureServiceInterface {
getFeaturesForUser(user: User): Promise<Array<FeatureDescription>>
userIsEntitledToFeature(user: User, featureIdentifier: string): Promise<boolean>
getFeaturesForOfflineUser(email: string): Promise<{ features: FeatureDescription[]; roles: string[] }>
}
@@ -27,13 +27,13 @@ export class EmailSubscriptionUnsubscribedEventHandler implements DomainEventHan
private getSettingNameFromLevel(level: string): string {
switch (level) {
case EmailLevel.LEVELS.FailedCloudBackup:
return SettingName.MuteFailedCloudBackupsEmails
return SettingName.NAMES.MuteFailedCloudBackupsEmails
case EmailLevel.LEVELS.FailedEmailBackup:
return SettingName.MuteFailedBackupsEmails
return SettingName.NAMES.MuteFailedBackupsEmails
case EmailLevel.LEVELS.Marketing:
return SettingName.MuteMarketingEmails
return SettingName.NAMES.MuteMarketingEmails
case EmailLevel.LEVELS.SignIn:
return SettingName.MuteSignInEmails
return SettingName.NAMES.MuteSignInEmails
default:
throw new Error(`Unknown level: ${level}`)
}
@@ -54,7 +54,7 @@ export class ExtensionKeyGrantedEventHandler implements DomainEventHandlerInterf
await this.settingService.createOrReplace({
user,
props: {
name: SettingName.ExtensionKey,
name: SettingName.NAMES.ExtensionKey,
unencryptedValue: event.payload.extensionKey,
serverEncryptionVersion: EncryptionVersion.Default,
sensitive: true,
@@ -1,5 +1,5 @@
import { DomainEventHandlerInterface, FileRemovedEvent } from '@standardnotes/domain-events'
import { SubscriptionSettingName } from '@standardnotes/settings'
import { SettingName } from '@standardnotes/settings'
import { inject, injectable } from 'inversify'
import { Logger } from 'winston'
@@ -38,7 +38,7 @@ export class FileRemovedEventHandler implements DomainEventHandlerInterface {
const bytesUsedSetting = await this.subscriptionSettingService.findSubscriptionSettingWithDecryptedValue({
userUuid: user.uuid,
userSubscriptionUuid: subscription.uuid,
subscriptionSettingName: SubscriptionSettingName.FileUploadBytesUsed,
subscriptionSettingName: SettingName.create(SettingName.NAMES.FileUploadBytesUsed).getValue(),
})
if (bytesUsedSetting === null) {
this.logger.warn(`Could not find bytes used setting for user with uuid: ${user.uuid}`)
@@ -51,7 +51,7 @@ export class FileRemovedEventHandler implements DomainEventHandlerInterface {
await this.subscriptionSettingService.createOrReplace({
userSubscription: subscription,
props: {
name: SubscriptionSettingName.FileUploadBytesUsed,
name: SettingName.NAMES.FileUploadBytesUsed,
unencryptedValue: (+bytesUsed - byteSize).toString(),
sensitive: false,
serverEncryptionVersion: EncryptionVersion.Unencrypted,
@@ -1,5 +1,5 @@
import { DomainEventHandlerInterface, FileUploadedEvent } from '@standardnotes/domain-events'
import { SubscriptionSettingName } from '@standardnotes/settings'
import { SettingName } from '@standardnotes/settings'
import { inject, injectable } from 'inversify'
import { Logger } from 'winston'
@@ -47,7 +47,7 @@ export class FileUploadedEventHandler implements DomainEventHandlerInterface {
const bytesUsedSetting = await this.subscriptionSettingService.findSubscriptionSettingWithDecryptedValue({
userUuid: (await subscription.user).uuid,
userSubscriptionUuid: subscription.uuid,
subscriptionSettingName: SubscriptionSettingName.FileUploadBytesUsed,
subscriptionSettingName: SettingName.create(SettingName.NAMES.FileUploadBytesUsed).getValue(),
})
if (bytesUsedSetting !== null) {
bytesUsed = bytesUsedSetting.value as string
@@ -56,7 +56,7 @@ export class FileUploadedEventHandler implements DomainEventHandlerInterface {
await this.subscriptionSettingService.createOrReplace({
userSubscription: subscription,
props: {
name: SubscriptionSettingName.FileUploadBytesUsed,
name: SettingName.NAMES.FileUploadBytesUsed,
unencryptedValue: (+bytesUsed + byteSize).toString(),
sensitive: false,
serverEncryptionVersion: EncryptionVersion.Unencrypted,
@@ -28,7 +28,7 @@ export class ListedAccountCreatedEventHandler implements DomainEventHandlerInter
let authSecrets: ListedAuthorSecretsData = [newSecret]
const listedAuthorSecretsSetting = await this.settingService.findSettingWithDecryptedValue({
settingName: SettingName.ListedAuthorSecrets,
settingName: SettingName.create(SettingName.NAMES.ListedAuthorSecrets).getValue(),
userUuid: user.uuid,
})
if (listedAuthorSecretsSetting !== null) {
@@ -40,7 +40,7 @@ export class ListedAccountCreatedEventHandler implements DomainEventHandlerInter
await this.settingService.createOrReplace({
user,
props: {
name: SettingName.ListedAuthorSecrets,
name: SettingName.NAMES.ListedAuthorSecrets,
unencryptedValue: JSON.stringify(authSecrets),
sensitive: false,
},
@@ -24,7 +24,7 @@ export class ListedAccountDeletedEventHandler implements DomainEventHandlerInter
}
const listedAuthorSecretsSetting = await this.settingService.findSettingWithDecryptedValue({
settingName: SettingName.ListedAuthorSecrets,
settingName: SettingName.create(SettingName.NAMES.ListedAuthorSecrets).getValue(),
userUuid: user.uuid,
})
if (listedAuthorSecretsSetting === null) {
@@ -43,7 +43,7 @@ export class ListedAccountDeletedEventHandler implements DomainEventHandlerInter
await this.settingService.createOrReplace({
user,
props: {
name: SettingName.ListedAuthorSecrets,
name: SettingName.NAMES.ListedAuthorSecrets,
unencryptedValue: JSON.stringify(filteredSecrets),
sensitive: false,
},
@@ -47,7 +47,7 @@ export class SubscriptionReassignedEventHandler implements DomainEventHandlerInt
await this.settingService.createOrReplace({
user,
props: {
name: SettingName.ExtensionKey,
name: SettingName.NAMES.ExtensionKey,
unencryptedValue: event.payload.extensionKey,
serverEncryptionVersion: EncryptionVersion.Default,
sensitive: true,
@@ -95,7 +95,7 @@ export class SubscriptionSyncRequestedEventHandler implements DomainEventHandler
await this.settingService.createOrReplace({
user,
props: {
name: SettingName.ExtensionKey,
name: SettingName.NAMES.ExtensionKey,
unencryptedValue: event.payload.extensionKey,
serverEncryptionVersion: EncryptionVersion.Default,
sensitive: true,
@@ -27,7 +27,7 @@ describe('RoleToSubscriptionMap', () => {
name: RoleName.NAMES.CoreUser,
} as jest.Mocked<Role>,
{
name: RoleName.NAMES.FilesBetaUser,
name: RoleName.NAMES.InternalTeamUser,
} as jest.Mocked<Role>,
{
name: RoleName.NAMES.PlusUser,
@@ -38,7 +38,7 @@ describe('RoleToSubscriptionMap', () => {
name: RoleName.NAMES.CoreUser,
},
{
name: RoleName.NAMES.FilesBetaUser,
name: RoleName.NAMES.InternalTeamUser,
},
])
})
@@ -49,7 +49,7 @@ describe('RoleToSubscriptionMap', () => {
name: RoleName.NAMES.CoreUser,
} as jest.Mocked<Role>,
{
name: RoleName.NAMES.FilesBetaUser,
name: RoleName.NAMES.InternalTeamUser,
} as jest.Mocked<Role>,
{
name: RoleName.NAMES.PlusUser,
@@ -12,7 +12,7 @@ export class RoleToSubscriptionMap implements RoleToSubscriptionMapInterface {
[RoleName.NAMES.ProUser, SubscriptionName.ProPlan],
])
private readonly nonSubscriptionRoles = [RoleName.NAMES.CoreUser, RoleName.NAMES.FilesBetaUser]
private readonly nonSubscriptionRoles = [RoleName.NAMES.CoreUser, RoleName.NAMES.InternalTeamUser]
filterNonSubscriptionRoles(roles: Role[]): Array<Role> {
return roles.filter((role) => this.nonSubscriptionRoles.includes(role.name))
@@ -12,4 +12,5 @@ export interface SessionRepositoryInterface {
save(session: Session): Promise<Session>
remove(session: Session): Promise<Session>
clearUserAgentByUserUuid(userUuid: string): Promise<void>
removeExpiredBefore(date: Date): Promise<void>
}
@@ -34,6 +34,7 @@ describe('SessionService', () => {
let cryptoNode: CryptoNode
let traceSession: TraceSession
let userSubscriptionRepository: UserSubscriptionRepositoryInterface
const readonlyUsers = ['demo@standardnotes.com']
const createService = () =>
new SessionService(
@@ -49,6 +50,7 @@ describe('SessionService', () => {
cryptoNode,
traceSession,
userSubscriptionRepository,
readonlyUsers,
)
beforeEach(() => {
@@ -59,6 +61,7 @@ describe('SessionService', () => {
session.apiVersion = ApiVersion.v20200115
session.hashedAccessToken = '4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce'
session.hashedRefreshToken = '4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce'
session.readonlyAccess = false
revokedSession = {} as jest.Mocked<RevokedSession>
revokedSession.uuid = '2e1e43'
@@ -182,6 +185,42 @@ describe('SessionService', () => {
})
})
it('should create new readonly session for a user that is readonly restricted', async () => {
const user = {} as jest.Mocked<User>
user.email = 'demo@standardnotes.com'
user.uuid = '123'
const sessionPayload = await createService().createNewSessionForUser({
user,
apiVersion: '003',
userAgent: 'Google Chrome',
readonlyAccess: false,
})
expect(sessionRepository.save).toHaveBeenCalledWith(expect.any(Session))
expect(sessionRepository.save).toHaveBeenCalledWith({
accessExpiration: expect.any(Date),
apiVersion: '003',
createdAt: expect.any(Date),
hashedAccessToken: expect.any(String),
hashedRefreshToken: expect.any(String),
refreshExpiration: expect.any(Date),
updatedAt: expect.any(Date),
userAgent: 'Google Chrome',
userUuid: '123',
uuid: expect.any(String),
readonlyAccess: true,
})
expect(sessionPayload).toEqual({
access_expiration: 123,
access_token: expect.any(String),
refresh_expiration: 123,
refresh_token: expect.any(String),
readonly_access: true,
})
})
it('should create new session for a user with disabled user agent logging', async () => {
const user = {} as jest.Mocked<User>
user.uuid = '123'
@@ -409,9 +448,9 @@ describe('SessionService', () => {
})
it('should determine if a refresh token is valid', async () => {
expect(createService().isRefreshTokenValid(session, '1:2:3')).toBeTruthy()
expect(createService().isRefreshTokenValid(session, '1:2:4')).toBeFalsy()
expect(createService().isRefreshTokenValid(session, '1:2')).toBeFalsy()
expect(createService().isRefreshTokenMatchingHashedSessionToken(session, '1:2:3')).toBeTruthy()
expect(createService().isRefreshTokenMatchingHashedSessionToken(session, '1:2:4')).toBeFalsy()
expect(createService().isRefreshTokenMatchingHashedSessionToken(session, '1:2')).toBeFalsy()
})
it('should return device info based on user agent', () => {
@@ -39,6 +39,7 @@ export class SessionService implements SessionServiceInterface {
@inject(TYPES.CryptoNode) private cryptoNode: CryptoNode,
@inject(TYPES.TraceSession) private traceSession: TraceSession,
@inject(TYPES.UserSubscriptionRepository) private userSubscriptionRepository: UserSubscriptionRepositoryInterface,
@inject(TYPES.READONLY_USERS) private readonlyUsers: string[],
) {}
async createNewSessionForUser(dto: {
@@ -113,7 +114,7 @@ export class SessionService implements SessionServiceInterface {
return sessionPayload
}
isRefreshTokenValid(session: Session, token: string): boolean {
isRefreshTokenMatchingHashedSessionToken(session: Session, token: string): boolean {
const tokenParts = token.split(':')
const refreshToken = tokenParts[2]
if (!refreshToken) {
@@ -268,7 +269,9 @@ export class SessionService implements SessionServiceInterface {
session.apiVersion = dto.apiVersion
session.createdAt = this.timer.getUTCDate()
session.updatedAt = this.timer.getUTCDate()
session.readonlyAccess = dto.readonlyAccess
const userIsReadonly = this.readonlyUsers.includes(dto.user.email)
session.readonlyAccess = userIsReadonly || dto.readonlyAccess
return session
}
@@ -302,13 +305,13 @@ export class SessionService implements SessionServiceInterface {
refresh_token: `${SessionService.SESSION_TOKEN_VERSION}:${session.uuid}:${refreshToken}`,
access_expiration: this.timer.convertStringDateToMilliseconds(accessTokenExpiration.toString()),
refresh_expiration: this.timer.convertStringDateToMilliseconds(refreshTokenExpiration.toString()),
readonly_access: false,
readonly_access: session.readonlyAccess,
}
}
private async isLoggingUserAgentEnabledOnSessions(user: User): Promise<boolean> {
const loggingSetting = await this.settingService.findSettingWithDecryptedValue({
settingName: SettingName.LogSessionUserAgent,
settingName: SettingName.create(SettingName.NAMES.LogSessionUserAgent).getValue(),
userUuid: user.uuid,
})

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