Compare commits

...

108 Commits

Author SHA1 Message Date
standardci
145b4401af chore(release): publish new version
- @standardnotes/analytics@2.21.0
 - @standardnotes/api-gateway@1.49.1
 - @standardnotes/auth-server@1.89.0
 - @standardnotes/domain-events-infra@1.9.71
 - @standardnotes/domain-events@2.108.0
 - @standardnotes/event-store@1.7.3
 - @standardnotes/files-server@1.10.4
 - @standardnotes/revisions-server@1.12.5
 - @standardnotes/scheduler-server@1.17.4
 - @standardnotes/syncing-server@1.31.6
 - @standardnotes/time@1.14.2
 - @standardnotes/websockets-server@1.6.4
 - @standardnotes/workspace-server@1.20.4
2023-02-23 11:42:37 +00:00
Karol Sójko
17bd50c263 fix(auth): add safety buffer for session access token age ttl 2023-02-23 12:27:19 +01:00
Karol Sójko
4cb79de685 chore: add running e2e test suite on a schedule 2023-02-23 11:59:45 +01:00
Karol Sójko
28ab0b8e46 chore: fix server ci setup 2023-02-23 11:44:26 +01:00
Karol Sójko
6911802b87 feat(analytics): add listening on session created and refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
5b98924561 feat(auth): add publishing session created and session refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
f13944badc fix(auth): mark sessions that are longer than configured as expired 2023-02-23 11:18:10 +01:00
standardci
af41e6497d chore(release): publish new version
- @standardnotes/proxy-server@1.1.6
2023-02-23 09:14:53 +00:00
Karol Sójko
b1122a3da5 fix(proxy): make healthcheck endpoint accessible at all times 2023-02-23 10:00:08 +01:00
standardci
b17fddda63 chore(release): publish new version
- @standardnotes/proxy-server@1.1.5
2023-02-22 19:05:43 +00:00
Mo
20dc020596 refactor: proxy server 2023-02-22 12:51:23 -06:00
standardci
b53291650f chore(release): publish new version
- @standardnotes/proxy-server@1.1.4
2023-02-22 18:27:14 +00:00
Mo
b83d84e519 refactor: proxy lib 2023-02-22 12:11:12 -06:00
standardci
14794d1a5f chore(release): publish new version
- @standardnotes/proxy-server@1.1.3
2023-02-22 17:33:33 +00:00
Mo
6b130ef045 refactor: proxy improvements 2023-02-22 11:19:37 -06:00
standardci
25a6126ef4 chore(release): publish new version
- @standardnotes/proxy-server@1.1.2
2023-02-22 16:52:30 +00:00
Mo
a2df09fb5b refactor: proxy param 2023-02-22 10:38:18 -06:00
Mo
465b2741fb refactor: proxy server error handling 2023-02-22 10:35:33 -06:00
standardci
724dc5c86c chore(release): publish new version
- @standardnotes/proxy-server@1.1.1
2023-02-22 16:25:25 +00:00
Aman Harwara
f4208c19a7 refactor: proxy error response (#452) 2023-02-22 21:36:32 +05:30
Karol Sójko
6fed293716 chore: remove deploying worker workflow from proxy server 2023-02-22 13:40:30 +01:00
standardci
29ffaf04c4 chore(release): publish new version
- @standardnotes/api-gateway@1.49.0
 - @standardnotes/proxy-server@1.1.0
2023-02-22 12:33:59 +00:00
Karol Sójko
bc9182f214 fix(api-gateway): proxy endpoint for request passing 2023-02-22 13:19:17 +01:00
Karol Sójko
91c70a51a0 fix(proxy): prevent from passing auth tokens to proxy destination 2023-02-22 13:14:09 +01:00
Karol Sójko
dfe30d7f5e feat(proxy): add proxy server 2023-02-22 13:03:04 +01:00
mfridge
815d5460e7 Do not grant localstack access to host's docker.sock (#448)
* Do not grant localstack access to host's docker.sock

* Remove access to host's docker socket as requested by @karolsojko
2023-02-22 12:15:34 +01:00
standardci
8a63c6768b chore(release): publish new version
- @standardnotes/syncing-server@1.31.5
2023-02-22 11:06:01 +00:00
Karol Sójko
f7c29848f1 fix(syncing-server): numbering of the backup emails 2023-02-22 11:48:08 +01:00
standardci
78b9426c1c chore(release): publish new version
- @standardnotes/syncing-server@1.31.4
2023-02-21 11:08:01 +00:00
Karol Sójko
87b22ac684 fix(syncing-server): creating email backup attachment files 2023-02-21 11:45:54 +01:00
standardci
46c30d197a chore(release): publish new version
- @standardnotes/analytics@2.20.3
 - @standardnotes/api-gateway@1.48.3
 - @standardnotes/auth-server@1.88.3
 - @standardnotes/domain-events-infra@1.9.70
 - @standardnotes/domain-events@2.107.1
 - @standardnotes/event-store@1.7.2
 - @standardnotes/files-server@1.10.3
 - @standardnotes/revisions-server@1.12.4
 - @standardnotes/scheduler-server@1.17.3
 - @standardnotes/syncing-server@1.31.3
 - @standardnotes/websockets-server@1.6.3
 - @standardnotes/workspace-server@1.20.3
2023-02-21 10:03:46 +00:00
Karol Sójko
36b8354350 chore: remove unused revisions ownership event 2023-02-21 10:47:59 +01:00
Karol Sójko
b6702c7182 chore: remove unused content size recalculation event 2023-02-21 10:45:32 +01:00
standardci
09d7f608cd chore(release): publish new version
- @standardnotes/analytics@2.20.2
 - @standardnotes/api-gateway@1.48.2
 - @standardnotes/auth-server@1.88.2
 - @standardnotes/domain-events-infra@1.9.69
 - @standardnotes/domain-events@2.107.0
 - @standardnotes/event-store@1.7.1
 - @standardnotes/files-server@1.10.2
 - @standardnotes/revisions-server@1.12.3
 - @standardnotes/scheduler-server@1.17.2
 - @standardnotes/syncing-server@1.31.2
 - @standardnotes/websockets-server@1.6.2
 - @standardnotes/workspace-server@1.20.2
2023-02-20 06:31:30 +00:00
Karol Sójko
d023a27377 fix(event-store): add handling of email sent events 2023-02-20 07:14:24 +01:00
Karol Sójko
190595febf feat(domain-events): add email sent event 2023-02-20 07:13:23 +01:00
standardci
b25edec26c chore(release): publish new version
- @standardnotes/revisions-server@1.12.2
2023-02-17 10:18:28 +00:00
Karol Sójko
85d0c12dad fix(revisions): initial migration to check if user_uuid exists on table 2023-02-17 11:01:37 +01:00
Karol Sójko
25c98ef078 chore: fix path for syncing server revisions dumps 2023-02-16 15:17:00 +01:00
Karol Sójko
af51baea9a chore: fix upload volume path on example docker compose file 2023-02-16 15:06:31 +01:00
Karol Sójko
e97b16606c chore: fix db migrations path in self hosting setup 2023-02-16 13:26:51 +01:00
Karol Sójko
5ff9e43899 chore: fix default public files server url 2023-02-16 11:39:41 +01:00
Karol Sójko
d3a49e109c chore: change the localstack bootstrap path in the example docker compose file 2023-02-16 09:06:07 +01:00
Karol Sójko
e3dbff6996 chore: change the env file name in the example docker compose file 2023-02-16 09:04:18 +01:00
Karol Sójko
d9f5410afd chore: add mounted volume for file uploads 2023-02-15 17:37:25 +01:00
standardci
0568c8f563 chore(release): publish new version
- @standardnotes/analytics@2.20.1
 - @standardnotes/api-gateway@1.48.1
 - @standardnotes/auth-server@1.88.1
 - @standardnotes/domain-core@1.11.3
 - @standardnotes/files-server@1.10.1
 - @standardnotes/revisions-server@1.12.1
 - @standardnotes/scheduler-server@1.17.1
 - @standardnotes/syncing-server@1.31.1
 - @standardnotes/websockets-server@1.6.1
 - @standardnotes/workspace-server@1.20.1
2023-02-15 10:23:04 +00:00
Karol Sójko
16043a7d68 fix(domain-core): remove unnecessary dependencies 2023-02-15 11:07:37 +01:00
standardci
f24ee61d11 chore(release): publish new version
- @standardnotes/analytics@2.20.0
 - @standardnotes/event-store@1.7.0
 - @standardnotes/scheduler-server@1.17.0
 - @standardnotes/websockets-server@1.6.0
 - @standardnotes/workspace-server@1.20.0
2023-02-15 07:49:09 +00:00
Karol Sójko
881a6967ac feat: optimize memory on server utilities 2023-02-15 08:34:56 +01:00
standardci
a93f66c6ac chore(release): publish new version
- @standardnotes/api-gateway@1.48.0
 - @standardnotes/auth-server@1.88.0
 - @standardnotes/files-server@1.10.0
 - @standardnotes/revisions-server@1.12.0
 - @standardnotes/syncing-server@1.31.0
2023-02-15 07:27:56 +00:00
Karol Sójko
fdf4b29ae2 feat: optimize memory usage (#444)
* fix(syncing-server): optimize memory usge

* fix: optimize remaining self hostable services
2023-02-15 08:14:37 +01:00
standardci
d5f6ca0d2e chore(release): publish new version
- @standardnotes/api-gateway@1.47.1
 - @standardnotes/auth-server@1.87.15
 - @standardnotes/files-server@1.9.18
 - @standardnotes/revisions-server@1.11.6
 - @standardnotes/syncing-server@1.30.2
2023-02-14 07:13:34 +00:00
Karol Sójko
12d9ccf28c chore: switch to node pnp initializing 2023-02-14 07:59:31 +01:00
Karol Sójko
ffc270cc6f chore: fix remove yarn pnp overhead on wait-for scripts 2023-02-14 07:59:30 +01:00
Karol Sójko
61e2e58297 chore: fix remove yarn pnp initializing from bundled packages 2023-02-14 07:59:30 +01:00
standardci
b68ede1f63 chore(release): publish new version
- @standardnotes/revisions-server@1.11.5
2023-02-13 11:11:12 +00:00
Karol Sójko
d333c1393c fix(revisions): api gateway middleware binding 2023-02-13 11:56:56 +01:00
Karol Sójko
35d6f2f961 Revert "fix(revisions): add missing inversify annotation for api gateway auth middleware"
This reverts commit 3d619a0c61.
2023-02-13 11:56:30 +01:00
Karol Sójko
3d619a0c61 fix(revisions): add missing inversify annotation for api gateway auth middleware 2023-02-13 11:53:51 +01:00
standardci
bda812f170 chore(release): publish new version
- @standardnotes/revisions-server@1.11.4
2023-02-13 10:40:48 +00:00
Karol Sójko
826719bb67 fix(revisions): missing api gateway middleware 2023-02-13 11:26:45 +01:00
standardci
631101eae5 chore(release): publish new version
- @standardnotes/syncing-server@1.30.1
2023-02-13 10:06:28 +00:00
Karol Sójko
fa0b9bf935 fix(syncing-server): worker container configuration 2023-02-13 10:52:06 +01:00
standardci
708af5e83c chore(release): publish new version
- @standardnotes/api-gateway@1.47.0
 - @standardnotes/syncing-server@1.30.0
2023-02-13 09:28:02 +00:00
Karol Sójko
993d31167b feat(syncing-server): refactor container config into server and worker (#443)
* feat(syncing-server): refactor container config into server and worker

* fix(syncing-server): yarn lock

* fix(api-gateway): add client update response on v1 revision endpoints

* fix(syncing-server): linter issue
2023-02-13 10:12:32 +01:00
standardci
ac5fc7d28a chore(release): publish new version
- @standardnotes/revisions-server@1.11.3
2023-02-13 08:18:04 +00:00
Karol Sójko
73f3fad13d Revert "fix(revisions): remove inversify.js in favour of simple di container implementation (#442)"
This reverts commit 89ee103303.
2023-02-13 09:02:37 +01:00
standardci
85e0e2165f chore(release): publish new version
- @standardnotes/revisions-server@1.11.2
2023-02-10 14:44:29 +00:00
Karol Sójko
89ee103303 fix(revisions): remove inversify.js in favour of simple di container implementation (#442) 2023-02-10 15:28:03 +01:00
standardci
6b313947c3 chore(release): publish new version
- @standardnotes/revisions-server@1.11.1
2023-02-10 12:20:38 +00:00
Karol Sójko
fba8e6ce35 chore: rearrange workflow deps 2023-02-10 13:05:48 +01:00
Karol Sójko
622c024547 fix(revisions): remove missing middleware binding 2023-02-10 13:00:18 +01:00
Karol Sójko
2c51d92bab chore: reduce Docker image size 2023-02-10 12:58:20 +01:00
Karol Sójko
11ef2ef708 chore: fix publishing flow 2023-02-10 12:57:38 +01:00
standardci
df793e07fd chore(release): publish new version
- @standardnotes/revisions-server@1.11.0
2023-02-10 08:11:48 +00:00
Karol Sójko
bae6eea3aa Merge pull request #440 from standardnotes/split_containers
feat(revisions): refactor container to split worker and server containers
2023-02-10 08:20:08 +01:00
Karol Sójko
be17b67cc1 fix(revisions): remove the interval ping 2023-02-10 08:04:51 +01:00
Karol Sójko
645a24d29b fix(revisions): controller bindings 2023-02-10 07:58:26 +01:00
Karol Sójko
64962ce632 fix: yarn lock file 2023-02-10 06:59:36 +01:00
Karol Sójko
5120883691 feat(revisions): refactor container to split worker and server containers 2023-02-10 06:58:51 +01:00
standardci
0b4570ebee chore(release): publish new version
- @standardnotes/api-gateway@1.46.13
 - @standardnotes/auth-server@1.87.14
 - @standardnotes/files-server@1.9.17
 - @standardnotes/revisions-server@1.10.30
2023-02-09 11:02:48 +00:00
Karol Sójko
5bbdc7e426 fix: performance of startup sequence in supervisor controlled self-hosting setup 2023-02-09 11:23:51 +01:00
standardci
a1d60630a0 chore(release): publish new version
- @standardnotes/api-gateway@1.46.12
 - @standardnotes/auth-server@1.87.13
 - @standardnotes/files-server@1.9.16
 - @standardnotes/revisions-server@1.10.29
 - @standardnotes/syncing-server@1.29.15
2023-02-09 10:05:20 +00:00
Karol Sójko
e96fd6d69e fix: optimize memory usage 2023-02-09 10:23:10 +01:00
Karol Sójko
1423b3fc35 chore: change workflow name 2023-02-08 11:52:52 +01:00
Karol Sójko
fd10b4d585 chore: fix supervisor startup sequence 2023-02-08 11:37:21 +01:00
Karol Sójko
8a79437668 chore: fix startup procedure for self hosting 2023-02-08 11:02:05 +01:00
Karol Sójko
85a87dc40a chore: change container names 2023-02-07 15:15:40 +01:00
Karol Sójko
95aa0a0024 chore: add e2e test suite triggerable externally 2023-02-07 14:19:11 +01:00
Karol Sójko
d0c44d1376 chore: add example local setup 2023-02-07 14:12:29 +01:00
Karol Sójko
b0e31ff305 chore: fix deployment workflows 2023-02-07 11:18:43 +01:00
Karol Sójko
f11569ac53 chore: fix missing exposed ports in setup 2023-02-07 10:46:36 +01:00
Karol Sójko
fbf7a61bc9 chore: fix build cache on publishing workflow 2023-02-07 10:26:59 +01:00
Karol Sójko
2265165fa3 chore: fix publishing workflow 2023-02-07 10:25:43 +01:00
Karol Sójko
b216b17ef5 chore: adjust number of output lines on error logs 2023-02-07 10:22:04 +01:00
Karol Sójko
b2c7b924ac chore: remove creating .env file for ci 2023-02-07 09:45:00 +01:00
Karol Sójko
1349f950c9 chore: fix ci setup for docker compose 2023-02-07 09:42:40 +01:00
Karol Sójko
f1c398a3a4 chore: fix .env file 2023-02-07 09:37:07 +01:00
Karol Sójko
369231ff11 chore: fix mysql character set 2023-02-07 09:35:29 +01:00
Karol Sójko
271dee5be6 chore: fix env vars for infra host bindings 2023-02-07 08:40:55 +01:00
Karol Sójko
a0c8f40e7b chore: fix redis host binding 2023-02-07 07:51:53 +01:00
Karol Sójko
4db0aef0ff chore: switch to docker compose setup on e2e workflow 2023-02-07 07:35:10 +01:00
Karol Sójko
5ed9bd243f chore: add logs to e2e procedure 2023-02-07 07:15:20 +01:00
Karol Sójko
2c53306f5a chore: fix is-available script with a timeout 2023-02-07 07:09:38 +01:00
Karol Sójko
a3624357dc chore: simplify building process for e2e testing purposes 2023-02-07 07:00:22 +01:00
Karol Sójko
afe0be31f2 chore: fix waiting for self hosted setup to startup 2023-02-07 06:55:36 +01:00
Karol Sójko
71854b704d chore: add published ports to e2e test suite 2023-02-06 16:15:34 +01:00
Karol Sójko
0907773d6f chore: fix required steps for docker buildx 2023-02-06 15:41:49 +01:00
268 changed files with 3551 additions and 3377 deletions

View File

@@ -1,14 +1,3 @@
###########
# General #
###########
EXPOSED_PORT=3000
#########
# FILES #
#########
EXPOSED_FILES_SERVER_PORT=3042
PUBLIC_FILES_SERVER_URL=http://localhost:3042
######
# DB #
######
@@ -19,7 +8,6 @@ DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
DB_DEBUG_LEVEL=all
DB_MIGRATIONS_PATH=dist/migrations/*.js
#########
# CACHE #

21
.github/ci.env vendored Normal file
View File

@@ -0,0 +1,21 @@
PUBLIC_FILES_SERVER_URL=http://localhost:3125
DB_HOST=db
DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
REDIS_PORT=6379
REDIS_HOST=cache
AUTH_SERVER_ACCESS_TOKEN_AGE=4
AUTH_SERVER_REFRESH_TOKEN_AGE=10
AUTH_SERVER_EPHEMERAL_SESSION_AGE=300
SYNCING_SERVER_REVISIONS_FREQUENCY=5
AUTH_SERVER_LOG_LEVEL=debug
SYNCING_SERVER_LOG_LEVEL=debug
FILES_SERVER_LOG_LEVEL=debug
REVISIONS_SERVER_LOG_LEVEL=debug
API_GATEWAY_LOG_LEVEL=debug
MYSQL_DATABASE=standard_notes_db
MYSQL_USER=std_notes_user
MYSQL_PASSWORD=changeme123
MYSQL_ROOT_PASSWORD=changeme123

View File

@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: analytics
workspace_name: "@standardnotes/analytics"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest

View File

@@ -17,7 +17,6 @@ jobs:
with:
service_name: api-gateway
workspace_name: "@standardnotes/api-gateway"
e2e_tag_parameter_name: api_gateway_image_tag
deploy_worker: false
package_path: packages/api-gateway
secrets: inherit

View File

@@ -17,7 +17,6 @@ jobs:
with:
service_name: auth
workspace_name: "@standardnotes/auth-server"
e2e_tag_parameter_name: auth_image_tag
package_path: packages/auth
secrets: inherit

View File

@@ -6,9 +6,6 @@ on:
service_name:
required: true
type: string
bundle_dir:
required: true
type: string
package_path:
required: true
type: string
@@ -32,13 +29,17 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ inputs.bundle_dir }}
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
@@ -53,7 +54,7 @@ jobs:
- name: Bundle
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ inputs.bundle_dir }}
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
- name: Login to Docker Hub
uses: docker/login-action@v2
@@ -85,8 +86,8 @@ jobs:
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: ${{ inputs.bundle_dir }}
file: ${{ inputs.bundle_dir }}/${{ inputs.package_path }}/Dockerfile
context: ${{ steps.bundle-dir.outputs.temp_dir }}
file: ${{ steps.bundle-dir.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |

View File

@@ -2,6 +2,11 @@ name: Reusable Run E2E Test Suite Workflow
on:
workflow_call:
inputs:
snjs_image_tag:
type: string
default: latest
description: The Docker image tag used for SNJS container
secrets:
DOCKER_USERNAME:
required: true
@@ -18,39 +23,9 @@ jobs:
services:
snjs:
image: standardnotes/snjs
image: standardnotes/snjs:${{ inputs.snjs_image_tag }}
ports:
- 9001:9001
db:
image: mysql:8
env:
MYSQL_DATABASE: standard_notes_db
MYSQL_USER: std_notes_user
MYSQL_PASSWORD: changeme123
MYSQL_ROOT_PASSWORD: changeme123
ports:
- 3306:3306
cache:
image: redis:6.0-alpine
ports:
- 6379:6379
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
env:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
options: >-
--name "mock-event-publisher"
steps:
- uses: actions/checkout@v3
@@ -61,41 +36,11 @@ jobs:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build Docker image for E2E testing
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: standardnotes/server:${{ github.sha }}
- name: Run Server
run: docker run -d standardnotes/server:${{ github.sha }}
env:
EXPOSED_PORT: 3123
EXPOSED_FILES_SERVER_PORT: 3125
PUBLIC_FILES_SERVER_URL: http://localhost:3125
DB_HOST: localhost
DB_PORT: 3306
DB_USERNAME: std_notes_user
DB_PASSWORD: changeme123
DB_DATABASE: standard_notes_db
REDIS_PORT: 6379
REDIS_HOST: localhost
AUTH_SERVER_ACCESS_TOKEN_AGE: 4
AUTH_SERVER_REFRESH_TOKEN_AGE: 10
AUTH_SERVER_EPHEMERAL_SESSION_AGE: 300
SYNCING_SERVER_REVISIONS_FREQUENCY: 5
AUTH_SERVER_LOG_LEVEL: debug
SYNCING_SERVER_LOG_LEVEL: debug
FILES_SERVER_LOG_LEVEL: debug
REVISIONS_SERVER_LOG_LEVEL: debug
API_GATEWAY_LOG_LEVEL: debug
run: docker compose -f docker-compose.ci.yml up -d
- name: Wait for server to start
run: docker/wait-for.sh localhost 3123
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
- name: Run E2E Test Suite
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html

View File

@@ -13,16 +13,9 @@ on:
required: true
jobs:
e2e:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
secrets: inherit
publish:
runs-on: ubuntu-latest
needs: e2e
steps:
- uses: actions/checkout@v3

View File

@@ -17,9 +17,6 @@ on:
required: false
default: true
type: boolean
e2e_tag_parameter_name:
required: false
type: string
package_path:
required: true
type: string
@@ -36,177 +33,11 @@ on:
required: true
jobs:
build:
runs-on: ubuntu-latest
outputs:
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build ${{ inputs.package_path }}
- name: Bundle
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Lint
run: yarn lint:${{ inputs.service_name }}
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Test
run: yarn test ${{ inputs.package_path }}
e2e:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Bundle
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ needs.build.outputs.temp_dir }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Publish Docker image for E2E testing
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: ${{ needs.build.outputs.temp_dir }}
file: ${{ needs.build.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: standardnotes/${{ inputs.service_name }}:${{ github.sha }}
- name: Run E2E test suite
uses: convictional/trigger-workflow-and-wait@master
with:
owner: standardnotes
repo: self-hosted
github_token: ${{ secrets.CI_PAT_TOKEN }}
workflow_file_name: testing-with-updating-client-and-server.yml
wait_interval: 30
client_payload: '{"${{ inputs.e2e_tag_parameter_name }}": "${{ github.sha }}"}'
propagate_failure: true
trigger_workflow: true
wait_workflow: true
publish:
needs: [ build, test, lint, e2e ]
name: Publish Docker Image
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
with:
service_name: ${{ inputs.service_name }}
bundle_dir: ${{ needs.build.outputs.temp_dir }}
package_path: ${{ inputs.package_path }}
workspace_name: ${{ inputs.workspace_name }}
secrets: inherit

View File

@@ -1,164 +0,0 @@
name: Reusable Server Utility Workflow
on:
workflow_call:
inputs:
service_name:
required: true
type: string
workspace_name:
required: true
type: string
deploy_web:
required: false
default: true
type: boolean
deploy_worker:
required: false
default: true
type: boolean
package_path:
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
CI_PAT_TOKEN:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
jobs:
build:
runs-on: ubuntu-latest
outputs:
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build ${{ inputs.package_path }}
- name: Bundle
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Lint
run: yarn lint:${{ inputs.service_name }}
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Test
run: yarn test ${{ inputs.package_path }}
publish:
needs: [ build, test, lint ]
name: Publish Docker Image
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
with:
service_name: ${{ inputs.service_name }}
bundle_dir: ${{ needs.build.outputs.temp_dir }}
package_path: ${{ inputs.package_path }}
workspace_name: ${{ inputs.workspace_name }}
secrets: inherit
deploy-web:
if: ${{ inputs.deploy_web }}
needs: publish
name: Deploy Web
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit
deploy-worker:
if: ${{ inputs.deploy_worker }}
needs: publish
name: Deploy Worker
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}-worker
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit

19
.github/workflows/e2e-test-suite.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: E2E Test Suite On Self Hosted Server
on:
schedule:
- cron: '0 */12 * * *'
workflow_dispatch:
inputs:
snjs_image_tag:
type: string
default: latest
description: The Docker image tag used for SNJS container
jobs:
e2e:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
with:
snjs_image_tag: ${{ inputs.snjs_image_tag || 'latest' }}
secrets: inherit

View File

@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: event-store
workspace_name: "@standardnotes/event-store"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest

View File

@@ -17,7 +17,6 @@ jobs:
with:
service_name: files
workspace_name: "@standardnotes/files-server"
e2e_tag_parameter_name: files_image_tag
package_path: packages/files
secrets: inherit

View File

@@ -94,3 +94,81 @@ jobs:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
secrets: inherit
legacy_e2e:
needs: build
name: Legacy E2E
strategy:
matrix:
application:
- { "service_name": "api-gateway", "workspace_name": "@standardnotes/api-gateway", "e2e_tag_parameter_name": "api_gateway_image_tag", "package_path": "packages/api-gateway" }
- { "service_name": "auth", "workspace_name": "@standardnotes/auth-server", "e2e_tag_parameter_name": "auth_image_tag", "package_path": "packages/auth" }
- { "service_name": "files", "workspace_name": "@standardnotes/files-server", "e2e_tag_parameter_name": "files_image_tag", "package_path": "packages/files" }
- { "service_name": "revisions", "workspace_name": "@standardnotes/revisions-server", "e2e_tag_parameter_name": "revisions_image_tag", "package_path": "packages/revisions"}
- { "service_name": "syncing-server-js", "workspace_name": "@standardnotes/syncing-server", "e2e_tag_parameter_name": "syncing_server_js_image_tag", "package_path": "packages/syncing-server" }
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ matrix.application.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.legacy_e2e.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Bundle
run: yarn workspace ${{ matrix.application.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Publish Docker image for E2E testing
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: ${{ steps.bundle-dir.outputs.temp_dir }}
file: ${{ steps.bundle-dir.outputs.temp_dir }}/${{ matrix.application.package_path }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: standardnotes/${{ matrix.application.service_name }}:${{ github.sha }}
- name: Run E2E test suite
uses: convictional/trigger-workflow-and-wait@master
with:
owner: standardnotes
repo: self-hosted
github_token: ${{ secrets.CI_PAT_TOKEN }}
workflow_file_name: testing-with-updating-client-and-server.yml
wait_interval: 30
client_payload: '{"${{ matrix.application.e2e_tag_parameter_name }}": "${{ github.sha }}"}'
propagate_failure: true
trigger_workflow: true
wait_workflow: true

22
.github/workflows/proxy.yml vendored Normal file
View File

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

View File

@@ -5,9 +5,106 @@ on:
branches: [ main ]
jobs:
release_and_publish:
build:
if: contains(github.event.head_commit.message, 'chore(release)') == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Lint
run: yarn lint
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Test
run: yarn test
e2e:
needs: build
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
secrets: inherit
publish-self-hosting:
needs: [ test, lint, e2e ]
name: Publish Self Hosting Docker Image
uses: standardnotes/server/.github/workflows/common-self-hosting.yml@main
secrets: inherit
publish-services:
needs: [ test, lint, e2e ]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
@@ -34,7 +131,8 @@ jobs:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build packages
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Bump version
@@ -44,11 +142,3 @@ jobs:
run: yarn publish
env:
NODE_AUTH_TOKEN: ${{ secrets.CI_NPM_TOKEN }}
publish-self-hosting:
needs: release_and_publish
name: Publish Self Hosting Docker Image
uses: standardnotes/server/.github/workflows/common-self-hosting.yml@main
secrets: inherit

View File

@@ -17,7 +17,6 @@ jobs:
with:
service_name: revisions
workspace_name: "@standardnotes/revisions-server"
e2e_tag_parameter_name: revisions_image_tag
package_path: packages/revisions
secrets: inherit

View File

@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: scheduler
workspace_name: "@standardnotes/scheduler-server"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest

View File

@@ -17,7 +17,6 @@ jobs:
with:
service_name: syncing-server-js
workspace_name: "@standardnotes/syncing-server"
e2e_tag_parameter_name: syncing_server_js_image_tag
package_path: packages/syncing-server
secrets: inherit

View File

@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: websockets
workspace_name: "@standardnotes/websockets-server"
@@ -21,7 +21,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
steps:

View File

@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: workspace
workspace_name: "@standardnotes/workspace-server"
@@ -21,7 +21,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
steps:

2
.gitignore vendored
View File

@@ -23,3 +23,5 @@ data/*
logs/*
!logs/.gitkeep
docker-compose.yml

142
.pnp.cjs generated
View File

@@ -53,6 +53,10 @@ const RAW_RUNTIME_STATE =
"name": "@standardnotes/predicates",\
"reference": "workspace:packages/predicates"\
},\
{\
"name": "@standardnotes/proxy-server",\
"reference": "workspace:packages/proxy"\
},\
{\
"name": "@standardnotes/revisions-server",\
"reference": "workspace:packages/revisions"\
@@ -103,6 +107,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/event-store", ["workspace:packages/event-store"]],\
["@standardnotes/files-server", ["workspace:packages/files"]],\
["@standardnotes/predicates", ["workspace:packages/predicates"]],\
["@standardnotes/proxy-server", ["workspace:packages/proxy"]],\
["@standardnotes/revisions-server", ["workspace:packages/revisions"]],\
["@standardnotes/scheduler-server", ["workspace:packages/scheduler"]],\
["@standardnotes/security", ["workspace:packages/security"]],\
@@ -4257,8 +4262,6 @@ const RAW_RUNTIME_STATE =
["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.48.2"],\
["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["reflect-metadata", "npm:0.1.13"],\
["shallow-equal-object", "npm:1.1.1"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
["uuid", "npm:9.0.0"]\
@@ -4463,6 +4466,22 @@ const RAW_RUNTIME_STATE =
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/proxy-server", [\
["workspace:packages/proxy", {\
"packageLocation": "./packages/proxy/",\
"packageDependencies": [\
["@standardnotes/proxy-server", "workspace:packages/proxy"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/node", "npm:18.14.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["eslint", "npm:8.32.0"],\
["eslint-plugin-prettier", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.2.1"],\
["newrelic", "npm:9.8.0"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"]\
],\
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/responses", [\
["npm:1.13.4", {\
"packageLocation": "./.yarn/cache/@standardnotes-responses-npm-1.13.4-70cbd72561-4803ee14bd.zip/node_modules/@standardnotes/responses/",\
@@ -4507,7 +4526,6 @@ const RAW_RUNTIME_STATE =
["@types/dotenv", "npm:8.2.0"],\
["@types/express", "npm:4.17.14"],\
["@types/inversify-express-utils", "npm:2.0.0"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/newrelic", "npm:9.4.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
@@ -4516,17 +4534,15 @@ const RAW_RUNTIME_STATE =
["eslint", "npm:8.32.0"],\
["eslint-plugin-prettier", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.2.1"],\
["express", "npm:4.18.2"],\
["helmet", "npm:6.0.0"],\
["inversify", "npm:6.0.1"],\
["inversify-express-utils", "npm:6.4.3"],\
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["mysql2", "npm:3.0.1"],\
["newrelic", "npm:9.8.0"],\
["npm-check-updates", "npm:16.0.1"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
["typeorm", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.3.10"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
["winston", "npm:3.8.2"]\
],\
@@ -4691,7 +4707,6 @@ const RAW_RUNTIME_STATE =
["@types/dotenv", "npm:8.2.0"],\
["@types/express", "npm:4.17.14"],\
["@types/inversify-express-utils", "npm:2.0.0"],\
["@types/ioredis", "npm:5.0.0"],\
["@types/jest", "npm:29.1.1"],\
["@types/jsonwebtoken", "npm:9.0.1"],\
["@types/newrelic", "npm:9.4.0"],\
@@ -4708,7 +4723,6 @@ const RAW_RUNTIME_STATE =
["helmet", "npm:6.0.0"],\
["inversify", "npm:6.0.1"],\
["inversify-express-utils", "npm:6.4.3"],\
["ioredis", "npm:5.2.4"],\
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
["jsonwebtoken", "npm:9.0.0"],\
["mysql2", "npm:3.0.1"],\
@@ -4718,7 +4732,7 @@ const RAW_RUNTIME_STATE =
["prettyjson", "npm:1.2.5"],\
["reflect-metadata", "npm:0.1.13"],\
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
["typeorm", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10"],\
["typeorm", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.3.10"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
["ua-parser-js", "npm:1.0.32"],\
["uuid", "npm:9.0.0"],\
@@ -5258,6 +5272,13 @@ const RAW_RUNTIME_STATE =
["@types/node", "npm:18.11.9"]\
],\
"linkType": "HARD"\
}],\
["npm:18.14.0", {\
"packageLocation": "./.yarn/cache/@types-node-npm-18.14.0-ddc1a221d2-d17dff07c7.zip/node_modules/@types/node/",\
"packageDependencies": [\
["@types/node", "npm:18.14.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/nodemailer", [\
@@ -13341,15 +13362,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\
}]\
]],\
["shallow-equal-object", [\
["npm:1.1.1", {\
"packageLocation": "./.yarn/cache/shallow-equal-object-npm-1.1.1-a41b289b2e-9e5e0cd10b.zip/node_modules/shallow-equal-object/",\
"packageDependencies": [\
["shallow-equal-object", "npm:1.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["shebang-command", [\
["npm:2.0.0", {\
"packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-5907a8d5fa.zip/node_modules/shebang-command/",\
@@ -14489,6 +14501,100 @@ const RAW_RUNTIME_STATE =
],\
"linkType": "SOFT"\
}],\
["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.3.10", {\
"packageLocation": "./.yarn/__virtual__/typeorm-virtual-6480afe6bc/0/cache/typeorm-npm-0.3.10-4667857f33-749e1a6777.zip/node_modules/typeorm/",\
"packageDependencies": [\
["typeorm", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.3.10"],\
["@google-cloud/spanner", null],\
["@sap/hana-client", null],\
["@sqltools/formatter", "npm:1.2.5"],\
["@types/better-sqlite3", null],\
["@types/google-cloud__spanner", null],\
["@types/hdb-pool", null],\
["@types/ioredis", null],\
["@types/mongodb", null],\
["@types/mssql", null],\
["@types/mysql2", null],\
["@types/oracledb", null],\
["@types/pg", null],\
["@types/pg-native", null],\
["@types/pg-query-stream", null],\
["@types/redis", null],\
["@types/sap__hana-client", null],\
["@types/sql.js", null],\
["@types/sqlite3", null],\
["@types/ts-node", null],\
["@types/typeorm-aurora-data-api-driver", null],\
["app-root-path", "npm:3.1.0"],\
["better-sqlite3", null],\
["buffer", "npm:6.0.3"],\
["chalk", "npm:4.1.2"],\
["cli-highlight", "npm:2.1.11"],\
["date-fns", "npm:2.29.3"],\
["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
["dotenv", "npm:16.0.3"],\
["glob", "npm:7.2.3"],\
["hdb-pool", null],\
["ioredis", null],\
["js-yaml", "npm:4.1.0"],\
["mkdirp", "npm:1.0.4"],\
["mongodb", null],\
["mssql", null],\
["mysql2", "npm:3.0.1"],\
["oracledb", null],\
["pg", null],\
["pg-native", null],\
["pg-query-stream", null],\
["redis", null],\
["reflect-metadata", "npm:0.1.13"],\
["sha.js", "npm:2.4.11"],\
["sql.js", null],\
["sqlite3", null],\
["ts-node", null],\
["tslib", "npm:2.4.0"],\
["typeorm-aurora-data-api-driver", null],\
["uuid", "npm:8.3.2"],\
["xml2js", "npm:0.4.23"],\
["yargs", "npm:17.5.1"]\
],\
"packagePeers": [\
"@google-cloud/spanner",\
"@sap/hana-client",\
"@types/better-sqlite3",\
"@types/google-cloud__spanner",\
"@types/hdb-pool",\
"@types/ioredis",\
"@types/mongodb",\
"@types/mssql",\
"@types/mysql2",\
"@types/oracledb",\
"@types/pg-native",\
"@types/pg-query-stream",\
"@types/pg",\
"@types/redis",\
"@types/sap__hana-client",\
"@types/sql.js",\
"@types/sqlite3",\
"@types/ts-node",\
"@types/typeorm-aurora-data-api-driver",\
"better-sqlite3",\
"hdb-pool",\
"ioredis",\
"mongodb",\
"mssql",\
"mysql2",\
"oracledb",\
"pg-native",\
"pg-query-stream",\
"pg",\
"redis",\
"sql.js",\
"sqlite3",\
"ts-node",\
"typeorm-aurora-data-api-driver"\
],\
"linkType": "HARD"\
}],\
["virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:0.3.10", {\
"packageLocation": "./.yarn/__virtual__/typeorm-virtual-a38286c9d5/0/cache/typeorm-npm-0.3.10-4667857f33-749e1a6777.zip/node_modules/typeorm/",\
"packageDependencies": [\

Binary file not shown.

View File

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

View File

@@ -1 +1 @@
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch x86_64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch arm64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -26,4 +26,22 @@ RUN yarn install --immutable
RUN CI=true yarn build
RUN mkdir -p \
/opt/bundled/syncing-server \
/opt/bundled/auth \
/opt/bundled/files \
/opt/bundled/revisions \
/opt/bundled/api-gateway \
/opt/shared/uploads
RUN yarn workspace @standardnotes/syncing-server bundle --no-compress --output-directory /opt/bundled/syncing-server
RUN yarn workspace @standardnotes/auth-server bundle --no-compress --output-directory /opt/bundled/auth
RUN yarn workspace @standardnotes/files-server bundle --no-compress --output-directory /opt/bundled/files
RUN yarn workspace @standardnotes/revisions-server bundle --no-compress --output-directory /opt/bundled/revisions
RUN yarn workspace @standardnotes/api-gateway bundle --no-compress --output-directory /opt/bundled/api-gateway
WORKDIR /opt/bundled
RUN rm -rf /opt/server
ENTRYPOINT ["docker-entrypoint.sh"]

74
docker-compose.ci.yml Normal file
View File

@@ -0,0 +1,74 @@
services:
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
environment:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
networks:
- standardnotes_self_hosted
server:
build: .
env_file: .github/ci.env
container_name: server-ci
ports:
- 3123:3000
- 3125:3104
volumes:
- ./logs:/var/lib/server/logs
networks:
- standardnotes_self_hosted
localstack:
image: localstack/localstack:1.3
container_name: localstack-ci
expose:
- 4566
restart: unless-stopped
environment:
- SERVICES=sns,sqs
- HOSTNAME_EXTERNAL=localstack
- LS_LOG=warn
volumes:
- ./docker/localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
networks:
- standardnotes_self_hosted
db:
image: mysql:8
container_name: db-ci
env_file: .github/ci.env
expose:
- 3306
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/import:/docker-entrypoint-initdb.d
networks:
- standardnotes_self_hosted
cache:
image: redis:6.0-alpine
container_name: cache-ci
volumes:
- ./data/redis/:/data
expose:
- 6379
restart: unless-stopped
networks:
- standardnotes_self_hosted
networks:
standardnotes_self_hosted:
name: standardnotes_self_hosted

View File

@@ -0,0 +1,61 @@
services:
server:
image: standardnotes/server
env_file: .env
container_name: server_self_hosted
ports:
- 3000:3000
- 3125:3104
volumes:
- ./logs:/var/lib/server/logs
- ./uploads:/opt/bundled/files/packages/files/dist/uploads
networks:
- standardnotes_self_hosted
localstack:
image: localstack/localstack:1.3
container_name: localstack_self_hosted
expose:
- 4566
restart: unless-stopped
environment:
- SERVICES=sns,sqs
- HOSTNAME_EXTERNAL=localstack
- LS_LOG=warn
volumes:
- ./localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
networks:
- standardnotes_self_hosted
db:
image: mysql:8
container_name: db_self_hosted
environment:
- MYSQL_DATABASE=standard_notes_db
- MYSQL_USER=std_notes_user
- MYSQL_ROOT_PASSWORD=changeme123
- MYSQL_PASSWORD=changeme123
expose:
- 3306
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/import:/docker-entrypoint-initdb.d
networks:
- standardnotes_self_hosted
cache:
image: redis:6.0-alpine
container_name: cache_self_hosted
volumes:
- ./data/redis/:/data
expose:
- 6379
restart: unless-stopped
networks:
- standardnotes_self_hosted
networks:
standardnotes_self_hosted:
name: standardnotes_self_hosted

View File

@@ -1,49 +0,0 @@
services:
server:
build: .
env_file: .env
container_name: server-self-hosted
ports:
- ${EXPOSED_PORT}:3000
volumes:
- ./logs:/var/lib/server/logs
localstack:
image: localstack/localstack:1.3
container_name: localstack-self-hosted
expose:
- 4566
restart: unless-stopped
environment:
- SERVICES=sns,sqs
- DOCKER_HOST=unix:///var/run/docker.sock
- HOSTNAME_EXTERNAL=localstack
- LS_LOG=warn
volumes:
- ./docker/localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
- /var/run/docker.sock:/var/run/docker.sock
db:
image: mysql:8
container_name: db-self-hosted
environment:
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
expose:
- 3306
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/import:/docker-entrypoint-initdb.d
cache:
image: redis:6.0-alpine
container_name: cache-self-hosted
volumes:
- ./data/redis/:/data
expose:
- 6379
restart: unless-stopped

View File

@@ -16,11 +16,7 @@ if [ -z "$AUTH_SERVER_PORT" ]; then
export AUTH_SERVER_PORT=3103
fi
if [ -z "$EXPOSED_FILES_SERVER_PORT" ]; then
export FILES_SERVER_PORT=3104
else
export FILES_SERVER_PORT=$EXPOSED_FILES_SERVER_PORT
fi
export FILES_SERVER_PORT=3104
if [ -z "$REVISIONS_SERVER_PORT" ]; then
export REVISIONS_SERVER_PORT=3105
@@ -48,9 +44,7 @@ fi
if [ -z "$DB_DEBUG_LEVEL" ]; then
export DB_DEBUG_LEVEL="all"
fi
if [ -z "$DB_MIGRATIONS_PATH" ]; then
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
fi
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
#########
# CACHE #
@@ -61,11 +55,11 @@ if [ -z "$REDIS_PORT" ]; then
fi
if [ -z "$REDIS_HOST" ]; then
export REDIS_URL="redis://cache"
else
export REDIS_URL="redis://$REDIS_HOST"
export REDIS_HOST="cache"
fi
export REDIS_URL="redis://$REDIS_HOST"
##########
# SHARED #
##########
@@ -182,7 +176,7 @@ if [ -z "$AUTH_SERVER_U2F_REQUIRE_USER_VERIFICATION" ]; then
export AUTH_SERVER_U2F_REQUIRE_USER_VERIFICATION=false
fi
printenv | grep AUTH_SERVER_ | sed 's/AUTH_SERVER_//g' > /opt/server/packages/auth/.env
printenv | grep AUTH_SERVER_ | sed 's/AUTH_SERVER_//g' > /opt/bundled/auth/packages/auth/.env
##################
# SYNCING SERVER #
@@ -239,11 +233,9 @@ export SYNCING_SERVER_NEW_RELIC_ENABLED=false
export SYNCING_SERVER_NEW_RELIC_APP_NAME="Syncing Server JS"
export SYNCING_SERVER_NEW_RELIC_NO_CONFIG_FILE=true
if [ -z "$SYNCING_SERVER_FILE_UPLOAD_PATH" ]; then
export SYNCING_SERVER_FILE_UPLOAD_PATH="data/uploads"
fi
export SYNCING_SERVER_FILE_UPLOAD_PATH="/opt/shared/uploads"
printenv | grep SYNCING_SERVER_ | sed 's/SYNCING_SERVER_//g' > /opt/server/packages/syncing-server/.env
printenv | grep SYNCING_SERVER_ | sed 's/SYNCING_SERVER_//g' > /opt/bundled/syncing-server/packages/syncing-server/.env
################
@@ -293,7 +285,7 @@ if [ -z "$FILES_SERVER_SQS_ENDPOINT" ]; then
export FILES_SERVER_SQS_ENDPOINT="http://localstack:4566"
fi
printenv | grep FILES_SERVER_ | sed 's/FILES_SERVER_//g' > /opt/server/packages/files/.env
printenv | grep FILES_SERVER_ | sed 's/FILES_SERVER_//g' > /opt/bundled/files/packages/files/.env
#############
# REVISIONS #
@@ -339,7 +331,7 @@ if [ -z "$REVISIONS_SERVER_SQS_ENDPOINT" ]; then
export REVISIONS_SERVER_SQS_ENDPOINT="http://localstack:4566"
fi
printenv | grep REVISIONS_SERVER_ | sed 's/REVISIONS_SERVER_//g' > /opt/server/packages/revisions/.env
printenv | grep REVISIONS_SERVER_ | sed 's/REVISIONS_SERVER_//g' > /opt/bundled/revisions/packages/revisions/.env
###############
# API GATEWAY #
@@ -360,15 +352,14 @@ export API_GATEWAY_AUTH_SERVER_URL=http://localhost:$AUTH_SERVER_PORT
export API_GATEWAY_WORKSPACE_SERVER_URL=http://localhost:3004
export API_GATEWAY_REVISIONS_SERVER_URL=http://localhost:3005
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
export API_GATEWAY_FILES_SERVER_URL=http://localhost:$FILES_SERVER_PORT
else
export API_GATEWAY_FILES_SERVER_URL=$PUBLIC_FILES_SERVER_URL
export PUBLIC_FILES_SERVER_URL=http://localhost:3125
fi
export API_GATEWAY_FILES_SERVER_URL=$PUBLIC_FILES_SERVER_URL
printenv | grep API_GATEWAY_ | sed 's/API_GATEWAY_//g' > /opt/server/packages/api-gateway/.env
printenv | grep API_GATEWAY_ | sed 's/API_GATEWAY_//g' > /opt/bundled/api-gateway/packages/api-gateway/.env
# Run supervisor
supervisord -c /etc/supervisord.conf
exec "$@"
exec "$@"

30
docker/is-available.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
WAIT_FOR_URL="$1"
shift
LOGS_PATH="$1"
shift
attempt=0
while [ $attempt -le 120 ]; do
attempt=$(( $attempt + 1 ))
echo "# Waiting for all services to be up (attempt: $attempt) ..."
ping_api_gateway_result=`curl -s $WAIT_FOR_URL | grep "Welcome"`
if [ "$?" -eq "0" ]; then
sleep 2 # for warmup
echo "# All services are up!"
exit 0
break
fi
sleep 2
done
echo "# Failed to wait for all services to be up!"
echo "# Errors:"
tail -n 50 $LOGS_PATH/*.err
echo "# Logs:"
tail -n 50 $LOGS_PATH/*.log
exit 1

View File

@@ -1,75 +1,75 @@
[supervisord]
nodaemon=true
logfile=/tmp/supervisord.log
[program:api-gateway]
directory=/opt/server
command=yarn start:api-gateway
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/api-gateway.log
stderr_logfile=/var/lib/server/logs/api-gateway.err
[program:auth]
directory=/opt/server
command=yarn start:auth
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/auth.log
stderr_logfile=/var/lib/server/logs/auth.err
[program:auth-worker]
directory=/opt/server
command=yarn start:auth-worker
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/auth-worker.log
stderr_logfile=/var/lib/server/logs/auth-worker.err
logfile=/var/lib/server/logs/supervisord.log
[program:syncing-server]
directory=/opt/server
command=yarn start:syncing-server
directory=/opt/bundled/syncing-server/packages/syncing-server
command=/opt/bundled/syncing-server/packages/syncing-server/supervisor/supervisor-server.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/syncing-server.log
stderr_logfile=/var/lib/server/logs/syncing-server.err
[program:syncing-server-worker]
directory=/opt/server
command=yarn start:syncing-server-worker
directory=/opt/bundled/syncing-server/packages/syncing-server
command=/opt/bundled/syncing-server/packages/syncing-server/supervisor/supervisor-worker.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/syncing-server-worker.log
stderr_logfile=/var/lib/server/logs/syncing-server-worker.err
[program:auth]
directory=/opt/bundled/auth/packages/auth
command=/opt/bundled/auth/packages/auth/supervisor/supervisor-server.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/auth.log
stderr_logfile=/var/lib/server/logs/auth.err
[program:auth-worker]
directory=/opt/bundled/auth/packages/auth
command=/opt/bundled/auth/packages/auth/supervisor/supervisor-worker.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/auth-worker.log
stderr_logfile=/var/lib/server/logs/auth-worker.err
[program:files]
directory=/opt/server
command=yarn start:files
directory=/opt/bundled/files/packages/files
command=/opt/bundled/files/packages/files/supervisor/supervisor-server.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/files.log
stderr_logfile=/var/lib/server/logs/files.err
[program:files-worker]
directory=/opt/server
command=yarn start:files-worker
directory=/opt/bundled/files/packages/files
command=/opt/bundled/files/packages/files/supervisor/supervisor-worker.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/files-worker.log
stderr_logfile=/var/lib/server/logs/files-worker.err
[program:revisions]
directory=/opt/server
command=yarn start:revisions
directory=/opt/bundled/revisions/packages/revisions
command=/opt/bundled/revisions/packages/revisions/supervisor/supervisor-server.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/revisions.log
stderr_logfile=/var/lib/server/logs/revisions.err
[program:revisions-worker]
directory=/opt/server
command=yarn start:revisions-worker
directory=/opt/bundled/revisions/packages/revisions
command=/opt/bundled/revisions/packages/revisions/supervisor/supervisor-worker.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/revisions-worker.log
stderr_logfile=/var/lib/server/logs/revisions-worker.err
stderr_logfile=/var/lib/server/logs/revisions-worker.err
[program:api-gateway]
directory=/opt/bundled/api-gateway/packages/api-gateway
command=/opt/bundled/api-gateway/packages/api-gateway/supervisor/supervisor-server.sh
autostart=true
autorestart=true
stdout_logfile=/var/lib/server/logs/api-gateway.log
stderr_logfile=/var/lib/server/logs/api-gateway.err

View File

@@ -12,38 +12,8 @@
},
"scripts": {
"lint": "yarn workspaces foreach -p -j 10 --verbose run lint",
"lint:auth": "yarn workspace @standardnotes/auth-server lint",
"lint:scheduler": "yarn workspace @standardnotes/scheduler-server lint",
"lint:syncing-server-js": "yarn workspace @standardnotes/syncing-server lint",
"lint:files": "yarn workspace @standardnotes/files-server lint",
"lint:api-gateway": "yarn workspace @standardnotes/api-gateway lint",
"lint:event-store": "yarn workspace @standardnotes/event-store lint",
"lint:websockets": "yarn workspace @standardnotes/websockets-server lint",
"lint:workspace": "yarn workspace @standardnotes/workspace-server lint",
"lint:analytics": "yarn workspace @standardnotes/analytics lint",
"lint:revisions": "yarn workspace @standardnotes/revisions-server lint",
"clean": "yarn workspaces foreach -p --verbose run clean",
"setup:env": "cp .env.sample .env && yarn workspaces foreach -p --verbose run setup:env",
"wait-for:cache": "docker/wait-for.sh $REDIS_HOST $REDIS_PORT",
"wait-for:db": "docker/wait-for.sh $DB_HOST $DB_PORT",
"wait-for:infra": "yarn wait-for:db && yarn wait-for:cache",
"wait-for:auth": "docker/wait-for.sh localhost $AUTH_SERVER_PORT",
"wait-for:syncing-server": "docker/wait-for.sh localhost $SYNCING_SERVER_PORT",
"wait-for:files": "docker/wait-for.sh localhost $FILES_SERVER_PORT",
"wait-for:revisions": "docker/wait-for.sh localhost $REVISIONS_SERVER_PORT",
"start:auth": "yarn wait-for:infra && yarn workspace @standardnotes/auth-server start",
"start:auth-worker": "yarn wait-for:infra && yarn workspace @standardnotes/auth-server worker",
"start:scheduler": "yarn workspace @standardnotes/scheduler-server worker",
"start:syncing-server": "yarn wait-for:infra && yarn workspace @standardnotes/syncing-server start",
"start:syncing-server-worker": "yarn wait-for:infra && yarn workspace @standardnotes/syncing-server worker",
"start:files": "yarn wait-for:infra && yarn workspace @standardnotes/files-server start",
"start:files-worker": "yarn wait-for:infra && yarn workspace @standardnotes/files-server worker",
"start:api-gateway": "yarn wait-for:auth && yarn wait-for:syncing-server && yarn wait-for:files && yarn wait-for:revisions && yarn workspace @standardnotes/api-gateway start",
"start:websockets": "yarn workspace @standardnotes/websockets-server start",
"start:workspace": "yarn workspace @standardnotes/workspace-server start",
"start:analytics": "yarn workspace @standardnotes/analytics worker",
"start:revisions": "yarn wait-for:infra && yarn workspace @standardnotes/revisions-server start",
"start:revisions-worker": "yarn wait-for:infra && yarn workspace @standardnotes/revisions-server worker",
"release": "lerna version --conventional-graduate --conventional-commits --yes -m \"chore(release): publish new version\"",
"publish": "lerna publish from-git --yes --no-verify-access --loglevel verbose",
"postversion": "./scripts/push-tags-one-by-one.sh",

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.0](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.3...@standardnotes/analytics@2.21.0) (2023-02-23)
### Features
* **analytics:** add listening on session created and refreshed events ([6911802](https://github.com/standardnotes/server/commit/6911802b8743d5d21fe1dcc3006e1d8d699fa94d))
## [2.20.3](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.2...@standardnotes/analytics@2.20.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/analytics
## [2.20.2](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.1...@standardnotes/analytics@2.20.2) (2023-02-20)
**Note:** Version bump only for package @standardnotes/analytics
## [2.20.1](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.0...@standardnotes/analytics@2.20.1) (2023-02-15)
**Note:** Version bump only for package @standardnotes/analytics
# [2.20.0](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.16...@standardnotes/analytics@2.20.0) (2023-02-15)
### Features
* optimize memory on server utilities ([881a696](https://github.com/standardnotes/server/commit/881a6967aca57d68795af0792114f848ddddf120))
## [2.19.16](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.15...@standardnotes/analytics@2.19.16) (2023-02-06)
**Note:** Version bump only for package @standardnotes/analytics

View File

@@ -8,10 +8,10 @@ ENV NODE_ENV production
RUN corepack enable
WORKDIR /workspace
COPY ./ /workspace
WORKDIR /workspace/packages/analytics
ENTRYPOINT [ "/workspace/packages/analytics/docker/entrypoint.sh" ]
CMD [ "start-worker" ]

View File

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

View File

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

View File

@@ -6,12 +6,12 @@ COMMAND=$1 && shift 1
case "$COMMAND" in
'start-worker' )
echo "[Docker] Starting Worker..."
yarn workspace @standardnotes/analytics worker
node docker/entrypoint-worker.js
;;
'report' )
echo "[Docker] Starting Usage Report Generation..."
yarn workspace @standardnotes/analytics report
node docker/entrypoint-report.js
;;
* )

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,6 +3,60 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.49.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.0...@standardnotes/api-gateway@1.49.1) (2023-02-23)
**Note:** Version bump only for package @standardnotes/api-gateway
# [1.49.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.3...@standardnotes/api-gateway@1.49.0) (2023-02-22)
### Bug Fixes
* **api-gateway:** proxy endpoint for request passing ([bc9182f](https://github.com/standardnotes/api-gateway/commit/bc9182f214c5386c5f1dd0bcbafbce34d413b6e8))
### Features
* **proxy:** add proxy server ([dfe30d7](https://github.com/standardnotes/api-gateway/commit/dfe30d7f5e8598ec1886db0e061b7d593cc27e29))
## [1.48.3](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.2...@standardnotes/api-gateway@1.48.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.48.2](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.1...@standardnotes/api-gateway@1.48.2) (2023-02-20)
**Note:** Version bump only for package @standardnotes/api-gateway
## [1.48.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.0...@standardnotes/api-gateway@1.48.1) (2023-02-15)
**Note:** Version bump only for package @standardnotes/api-gateway
# [1.48.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.47.1...@standardnotes/api-gateway@1.48.0) (2023-02-15)
### Features
* optimize memory usage ([#444](https://github.com/standardnotes/api-gateway/issues/444)) ([fdf4b29](https://github.com/standardnotes/api-gateway/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
## [1.47.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.47.0...@standardnotes/api-gateway@1.47.1) (2023-02-14)
**Note:** Version bump only for package @standardnotes/api-gateway
# [1.47.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.13...@standardnotes/api-gateway@1.47.0) (2023-02-13)
### Features
* **syncing-server:** refactor container config into server and worker ([#443](https://github.com/standardnotes/api-gateway/issues/443)) ([993d311](https://github.com/standardnotes/api-gateway/commit/993d31167b8b0ac11e3df530d2d1ee566940df6e))
## [1.46.13](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.12...@standardnotes/api-gateway@1.46.13) (2023-02-09)
### Bug Fixes
* performance of startup sequence in supervisor controlled self-hosting setup ([5bbdc7e](https://github.com/standardnotes/api-gateway/commit/5bbdc7e426c436b17dc130e3c6d9163080561c76))
## [1.46.12](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.11...@standardnotes/api-gateway@1.46.12) (2023-02-09)
### Bug Fixes
* optimize memory usage ([e96fd6d](https://github.com/standardnotes/api-gateway/commit/e96fd6d69e1252842b5c91b1bedefa36e5d4a232))
## [1.46.11](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.10...@standardnotes/api-gateway@1.46.11) (2023-02-06)
**Note:** Version bump only for package @standardnotes/api-gateway

View File

@@ -8,10 +8,10 @@ ENV NODE_ENV production
RUN corepack enable
WORKDIR /workspace
COPY ./ /workspace
WORKDIR /workspace/packages/api-gateway
ENTRYPOINT [ "/workspace/packages/api-gateway/docker/entrypoint.sh" ]
CMD [ "start-web" ]

View File

@@ -22,6 +22,7 @@ import '../src/Controller/v1/SubscriptionInvitesController'
import '../src/Controller/v1/WorkspacesController'
import '../src/Controller/v1/InvitesController'
import '../src/Controller/v1/AuthenticatorsController'
import '../src/Controller/v1/ProxyController'
import '../src/Controller/v2/PaymentsControllerV2'
import '../src/Controller/v2/ActionsControllerV2'

View File

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

View File

@@ -4,16 +4,9 @@ set -e
COMMAND=$1 && shift 1
case "$COMMAND" in
'start-local' )
echo "Building the project..."
yarn workspace @standardnotes/api-gateway build
echo "Starting Web..."
yarn workspace @standardnotes/api-gateway start
;;
'start-web' )
echo "Starting Web..."
yarn workspace @standardnotes/api-gateway start
node docker/entrypoint-server.js
;;
* )

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,35 +1,41 @@
import { Request, Response } from 'express'
import { inject } from 'inversify'
import { BaseHttpController, controller, httpDelete, httpGet } from 'inversify-express-utils'
import { BaseHttpController, controller, httpDelete, httpGet, results } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/items/:item_id/revisions', TYPES.AuthMiddleware)
export class RevisionsController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@httpGet('/')
async getRevisions(request: Request, response: Response): Promise<void> {
await this.httpService.callSyncingServer(request, response, `items/${request.params.item_id}/revisions`)
async getRevisions(): Promise<results.JsonResult> {
return this.json(
{
error: {
message: 'Please update your client application.',
},
},
410,
)
}
@httpGet('/:id')
async getRevision(request: Request, response: Response): Promise<void> {
await this.httpService.callSyncingServer(
request,
response,
`items/${request.params.item_id}/revisions/${request.params.id}`,
async getRevision(): Promise<results.JsonResult> {
return this.json(
{
error: {
message: 'Please update your client application.',
},
},
410,
)
}
@httpDelete('/:id')
async deleteRevision(request: Request, response: Response): Promise<void> {
await this.httpService.callSyncingServer(
request,
response,
`items/${request.params.item_id}/revisions/${request.params.id}`,
async deleteRevision(): Promise<results.JsonResult> {
return this.json(
{
error: {
message: 'Please update your client application.',
},
},
410,
)
}
}

View File

@@ -20,6 +20,7 @@ export class HttpService implements HttpServiceInterface {
@inject(TYPES.WEB_SOCKET_SERVER_URL) private webSocketServerUrl: string,
@inject(TYPES.REVISIONS_SERVER_URL) private revisionsServerUrl: string,
@inject(TYPES.EMAIL_SERVER_URL) private emailServerUrl: string,
@inject(TYPES.PROXY_SERVER_URL) private proxyServerUrl: string,
@inject(TYPES.HTTP_CALL_TIMEOUT) private httpCallTimeout: number,
@inject(TYPES.CrossServiceTokenCache) private crossServiceTokenCache: CrossServiceTokenCacheInterface,
@inject(TYPES.Logger) private logger: Logger,
@@ -111,6 +112,21 @@ export class HttpService implements HttpServiceInterface {
await this.callServer(this.webSocketServerUrl, request, response, endpoint, payload)
}
async callProxyServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void> {
if (!this.proxyServerUrl) {
this.logger.debug('Proxy Server URL not defined. Skipped request to Proxy.')
return
}
await this.callServer(this.proxyServerUrl, request, response, endpoint, payload)
}
async callPaymentsServer(
request: Request,
response: Response,

View File

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

View File

@@ -0,0 +1,6 @@
#!/bin/bash
set -euo pipefail
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
node docker/entrypoint-server.js

View File

@@ -0,0 +1,13 @@
#!/bin/bash
WAIT_FOR_HOST="$1"
shift
WAIT_FOR_PORT="$1"
shift
while ! nc -vz $WAIT_FOR_HOST $WAIT_FOR_PORT; do
echo "$WAIT_FOR_HOST:$WAIT_FOR_PORT is unavailable yet - waiting for it to start"
sleep 10
done
echo "$WAIT_FOR_HOST:$WAIT_FOR_PORT is up. Proceeding to startup."

View File

@@ -3,6 +3,51 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.89.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.3...@standardnotes/auth-server@1.89.0) (2023-02-23)
### Bug Fixes
* **auth:** add safety buffer for session access token age ttl ([17bd50c](https://github.com/standardnotes/server/commit/17bd50c263520c4936bf674070e46f0ea0b5cfb1))
* **auth:** mark sessions that are longer than configured as expired ([f13944b](https://github.com/standardnotes/server/commit/f13944badc0e04f153626d0d6ace6f8f6d57e533))
### Features
* **auth:** add publishing session created and session refreshed events ([5b98924](https://github.com/standardnotes/server/commit/5b9892456158819831f1f2dcf349ac861d699a94))
## [1.88.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.2...@standardnotes/auth-server@1.88.3) (2023-02-21)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.88.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.1...@standardnotes/auth-server@1.88.2) (2023-02-20)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.88.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.0...@standardnotes/auth-server@1.88.1) (2023-02-15)
**Note:** Version bump only for package @standardnotes/auth-server
# [1.88.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.15...@standardnotes/auth-server@1.88.0) (2023-02-15)
### Features
* optimize memory usage ([#444](https://github.com/standardnotes/server/issues/444)) ([fdf4b29](https://github.com/standardnotes/server/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
## [1.87.15](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.14...@standardnotes/auth-server@1.87.15) (2023-02-14)
**Note:** Version bump only for package @standardnotes/auth-server
## [1.87.14](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.13...@standardnotes/auth-server@1.87.14) (2023-02-09)
### Bug Fixes
* performance of startup sequence in supervisor controlled self-hosting setup ([5bbdc7e](https://github.com/standardnotes/server/commit/5bbdc7e426c436b17dc130e3c6d9163080561c76))
## [1.87.13](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.12...@standardnotes/auth-server@1.87.13) (2023-02-09)
### Bug Fixes
* optimize memory usage ([e96fd6d](https://github.com/standardnotes/server/commit/e96fd6d69e1252842b5c91b1bedefa36e5d4a232))
## [1.87.12](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.11...@standardnotes/auth-server@1.87.12) (2023-02-06)
**Note:** Version bump only for package @standardnotes/auth-server

View File

@@ -8,10 +8,10 @@ ENV NODE_ENV production
RUN corepack enable
WORKDIR /workspace
COPY ./ /workspace
WORKDIR /workspace/packages/auth
ENTRYPOINT [ "/workspace/packages/auth/docker/entrypoint.sh" ]
CMD [ "start-web" ]

View File

@@ -1,74 +0,0 @@
import 'reflect-metadata'
import 'newrelic'
import { Logger } from 'winston'
import * as dayjs from 'dayjs'
import * as utc from 'dayjs/plugin/utc'
import { ContainerConfigLoader } from '../src/Bootstrap/Container'
import TYPES from '../src/Bootstrap/Types'
import { Env } from '../src/Bootstrap/Env'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { DomainEventFactoryInterface } from '../src/Domain/Event/DomainEventFactoryInterface'
import { UserRepositoryInterface } from '../src/Domain/User/UserRepositoryInterface'
import { Stream } from 'stream'
const requestRecalculation = async (
userRepository: UserRepositoryInterface,
domainEventFactory: DomainEventFactoryInterface,
domainEventPublisher: DomainEventPublisherInterface,
logger: Logger,
): Promise<void> => {
const stream = await userRepository.streamAll()
return new Promise((resolve, reject) => {
stream
.pipe(
new Stream.Transform({
objectMode: true,
transform: async (rawUserData, _encoding, callback) => {
try {
await domainEventPublisher.publish(
domainEventFactory.createUserContentSizeRecalculationRequestedEvent(rawUserData.user_uuid),
)
} catch (error) {
logger.error(`Could not process user ${rawUserData.user_uuid}: ${(error as Error).message}`)
}
callback()
},
}),
)
.on('finish', resolve)
.on('error', reject)
})
}
const container = new ContainerConfigLoader()
void container.load().then((container) => {
dayjs.extend(utc)
const env: Env = new Env()
env.load()
const logger: Logger = container.get(TYPES.Logger)
logger.info('Starting content size recalculation requests ...')
const userRepository: UserRepositoryInterface = container.get(TYPES.UserRepository)
const domainEventFactory: DomainEventFactoryInterface = container.get(TYPES.DomainEventFactory)
const domainEventPublisher: DomainEventPublisherInterface = container.get(TYPES.DomainEventPublisher)
Promise.resolve(requestRecalculation(userRepository, domainEventFactory, domainEventPublisher, logger))
.then(() => {
logger.info('content size recalculation requesting complete')
process.exit(0)
})
.catch((error) => {
logger.error(`Could not finish content size recalculation requesting : ${error.message}`)
process.exit(1)
})
})

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,65 +4,55 @@ set -e
COMMAND=$1 && shift 1
case "$COMMAND" in
'start-local' )
echo "[Docker] Starting Web..."
yarn workspace @standardnotes/auth-server start:local
;;
'start-web' )
echo "[Docker] Starting Web..."
yarn workspace @standardnotes/auth-server start
node docker/entrypoint-server.js
;;
'start-worker' )
echo "[Docker] Starting Worker..."
yarn workspace @standardnotes/auth-server worker
node docker/entrypoint-worker.js
;;
'cleanup' )
echo "[Docker] Starting Cleanup..."
yarn workspace @standardnotes/auth-server cleanup
node docker/entrypoint-cleanup.js
;;
'stats' )
echo "[Docker] Starting Persisting Stats..."
yarn workspace @standardnotes/auth-server stats
node docker/entrypoint-stats.js
;;
'email-daily-backup' )
echo "[Docker] Starting Email Daily Backup..."
yarn workspace @standardnotes/auth-server daily-backup:email
node docker/entrypoint-backup.js email daily
;;
'email-weekly-backup' )
echo "[Docker] Starting Email Weekly Backup..."
yarn workspace @standardnotes/auth-server weekly-backup:email
node docker/entrypoint-backup.js email weekly
;;
'email-backup' )
echo "[Docker] Starting Email Backup For Single User..."
EMAIL=$1 && shift 1
yarn workspace @standardnotes/auth-server user-email-backup $EMAIL
node docker/entrypoint-user-email-backup.js $EMAIL
;;
'dropbox-daily-backup' )
echo "[Docker] Starting Dropbox Daily Backup..."
yarn workspace @standardnotes/auth-server daily-backup:dropbox
node docker/entrypoint-backup.js dropbox daily
;;
'google-drive-daily-backup' )
echo "[Docker] Starting Google Drive Daily Backup..."
yarn workspace @standardnotes/auth-server daily-backup:google_drive
node docker/entrypoint-backup.js google_drive daily
;;
'one-drive-daily-backup' )
echo "[Docker] Starting One Drive Daily Backup..."
yarn workspace @standardnotes/auth-server daily-backup:one_drive
;;
'content-recalculation' )
echo "[Docker] Starting Content Size Recalculation..."
yarn workspace @standardnotes/auth-server content-recalculation
node docker/entrypoint-backup.js one_drive daily
;;
* )

View File

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

View File

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

View File

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

View File

@@ -16,10 +16,11 @@ import {
DomainEventService,
WebSocketMessageRequestedEvent,
ExitDiscountApplyRequestedEvent,
UserContentSizeRecalculationRequestedEvent,
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { Predicate, PredicateVerificationResult } from '@standardnotes/predicates'
import { TimerInterface } from '@standardnotes/time'
@@ -32,6 +33,36 @@ import { DomainEventFactoryInterface } from './DomainEventFactoryInterface'
export class DomainEventFactory implements DomainEventFactoryInterface {
constructor(@inject(TYPES.Timer) private timer: TimerInterface) {}
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent {
return {
type: 'SESSION_CREATED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent {
return {
type: 'SESSION_REFRESHED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createStatisticPersistenceRequestedEvent(dto: {
statisticMeasureName: string
value: number
@@ -70,23 +101,6 @@ export class DomainEventFactory implements DomainEventFactoryInterface {
}
}
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent {
return {
type: 'USER_CONTENT_SIZE_RECALCULATION_REQUESTED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: {
userUuid,
},
}
}
createExitDiscountApplyRequestedEvent(dto: {
userEmail: string
discountCode: string

View File

@@ -14,15 +14,15 @@ import {
PredicateVerifiedEvent,
WebSocketMessageRequestedEvent,
ExitDiscountApplyRequestedEvent,
UserContentSizeRecalculationRequestedEvent,
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierType'
export interface DomainEventFactoryInterface {
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent
createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: JSONString }): WebSocketMessageRequestedEvent
createEmailRequestedEvent(dto: {
userEmail: string
@@ -94,4 +94,6 @@ export interface DomainEventFactoryInterface {
value: number
date: number
}): StatisticPersistenceRequestedEvent
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent
}

View File

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

View File

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

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