Compare commits

...

98 Commits

Author SHA1 Message Date
standardci 1493b7c478 chore(release): publish new version
- @standardnotes/analytics@2.34.14
 - @standardnotes/api-gateway@1.89.15
 - @standardnotes/auth-server@1.177.13
 - @standardnotes/files-server@1.37.8
 - @standardnotes/home-server@1.22.38
 - @standardnotes/revisions-server@1.51.14
 - @standardnotes/scheduler-server@1.27.19
 - @standardnotes/syncing-server@1.130.0
 - @standardnotes/time@1.19.0
 - @standardnotes/websockets-server@1.22.10
2024-01-04 11:33:36 +00:00
Karol Sójko efd816a627 feat: add storing item saving and modifying metrics (#1013)
* feat: add storing item saving and modifying metrics

* fix: missing region in cloudwatch client

* fix: metric store binding
2024-01-04 12:13:02 +01:00
standardci f24c4c27fc chore(release): publish new version
- @standardnotes/analytics@2.34.13
 - @standardnotes/api-gateway@1.89.14
 - @standardnotes/auth-server@1.177.12
 - @standardnotes/domain-events-infra@1.23.1
 - @standardnotes/files-server@1.37.7
 - @standardnotes/home-server@1.22.37
 - @standardnotes/revisions-server@1.51.13
 - @standardnotes/scheduler-server@1.27.18
 - @standardnotes/syncing-server@1.129.11
 - @standardnotes/websockets-server@1.22.9
2024-01-03 10:06:22 +00:00
Karol Sójko 88a5de766c fix(domain-events-infra): increase default span ratio 2024-01-03 10:45:35 +01:00
Karol Sójko a0e523e64c fix(syncing-server): add opentelemetry sdk shutdown 2024-01-03 10:41:31 +01:00
standardci 69ce3eb2a8 chore(release): publish new version
- @standardnotes/analytics@2.34.12
 - @standardnotes/api-gateway@1.89.13
 - @standardnotes/auth-server@1.177.11
 - @standardnotes/domain-events-infra@1.23.0
 - @standardnotes/files-server@1.37.6
 - @standardnotes/home-server@1.22.36
 - @standardnotes/revisions-server@1.51.12
 - @standardnotes/scheduler-server@1.27.17
 - @standardnotes/syncing-server@1.129.10
 - @standardnotes/websockets-server@1.22.8
2024-01-03 09:33:26 +00:00
Karol Sójko 99b8273e2d feat(domain-events-infra): add grpc opentelemetry instrumentation 2024-01-03 10:11:04 +01:00
Karol Sójko a95b6d61e7 chore: upgrade aws-sdk 2024-01-03 10:06:19 +01:00
Karol Sójko 1a349e1641 chore: upgrade opentelemetry deps 2024-01-03 10:05:50 +01:00
Karol Sójko f1b6fa55df fix(syncing-server): enable opentelemetry 2024-01-03 10:05:25 +01:00
standardci 6c95ab8a1c chore(release): publish new version
- @standardnotes/api-gateway@1.89.12
 - @standardnotes/auth-server@1.177.10
 - @standardnotes/home-server@1.22.35
 - @standardnotes/syncing-server@1.129.9
2024-01-02 10:14:36 +00:00
Karol Sójko 5987b0899c fix: adjust grpc keepalive parameters 2024-01-02 10:54:07 +01:00
standardci 664a92132b chore(release): publish new version
- @standardnotes/auth-server@1.177.9
 - @standardnotes/home-server@1.22.34
2023-12-29 10:29:32 +00:00
Karol Sójko 26b13ed6d4 fix(auth): adding user roles upon renewal of shared subscription (#1012)
* fix(auth): adding user roles upon renewal of shared subscription

* feat(auth): add procedure to fix roles on shared subscriptions
2023-12-29 11:07:51 +01:00
standardci be7c66b145 chore(release): publish new version
- @standardnotes/analytics@2.34.11
 - @standardnotes/api-gateway@1.89.11
 - @standardnotes/auth-server@1.177.8
 - @standardnotes/domain-events-infra@1.22.10
 - @standardnotes/domain-events@2.139.3
 - @standardnotes/files-server@1.37.5
 - @standardnotes/home-server@1.22.33
 - @standardnotes/revisions-server@1.51.11
 - @standardnotes/scheduler-server@1.27.16
 - @standardnotes/syncing-server@1.129.8
 - @standardnotes/websockets-server@1.22.7
2023-12-29 07:16:40 +00:00
Karol Sójko 7e8d7f6874 fix: cleanup revision requests 2023-12-29 07:55:16 +01:00
standardci c1805ee2ac chore(release): publish new version
- @standardnotes/auth-server@1.177.7
 - @standardnotes/home-server@1.22.32
2023-12-28 15:59:49 +00:00
Karol Sójko eff1d642cf fix(auth): missing return statement in lock middleware 2023-12-28 16:39:38 +01:00
standardci a05d7afe00 chore(release): publish new version
- @standardnotes/api-gateway@1.89.10
 - @standardnotes/home-server@1.22.31
2023-12-28 15:13:45 +00:00
Karol Sójko c2650646d1 fix(api-gateway): log severity 2023-12-28 15:53:26 +01:00
standardci f73e4adf5a chore(release): publish new version
- @standardnotes/api-gateway@1.89.9
 - @standardnotes/auth-server@1.177.6
 - @standardnotes/grpc@1.4.1
 - @standardnotes/home-server@1.22.30
 - @standardnotes/syncing-server@1.129.7
2023-12-28 14:42:08 +00:00
Karol Sójko 7c67a5a0f9 fix: retry grpc calls upon service unavailable response (#1011)
* fix: retry grpc calls upon service unavailable response

* fix: retry grpc calls for session verification
2023-12-28 15:21:40 +01:00
standardci 6dde9209af chore(release): publish new version
- @standardnotes/analytics@2.34.10
 - @standardnotes/api-gateway@1.89.8
 - @standardnotes/auth-server@1.177.5
 - @standardnotes/domain-events-infra@1.22.9
 - @standardnotes/files-server@1.37.4
 - @standardnotes/home-server@1.22.29
 - @standardnotes/revisions-server@1.51.10
 - @standardnotes/scheduler-server@1.27.15
 - @standardnotes/syncing-server@1.129.6
 - @standardnotes/websockets-server@1.22.6
2023-12-28 13:33:52 +00:00
Karol Sójko 264fd4c36e chore: upgrade node version to 20.10.0 (#1010)
* chore: upgrade node version to 20.10.0

* fix specs

* fix pip system managed packages
2023-12-28 14:13:07 +01:00
standardci 4c0bc82090 chore(release): publish new version
- @standardnotes/analytics@2.34.9
 - @standardnotes/api-gateway@1.89.7
 - @standardnotes/auth-server@1.177.4
 - @standardnotes/common@1.52.2
 - @standardnotes/domain-events-infra@1.22.8
 - @standardnotes/domain-events@2.139.2
 - @standardnotes/files-server@1.37.3
 - @standardnotes/home-server@1.22.28
 - @standardnotes/revisions-server@1.51.9
 - @standardnotes/scheduler-server@1.27.14
 - @standardnotes/security@1.17.3
 - @standardnotes/settings@1.23.2
 - @standardnotes/sncrypto-node@1.16.2
 - @standardnotes/syncing-server@1.129.5
 - @standardnotes/time@1.18.2
 - @standardnotes/websockets-server@1.22.5
2023-12-28 10:26:09 +00:00
Karol Sójko f3598fa5a1 chore: upgrade reflect-metadata package (#1009) 2023-12-28 11:05:06 +01:00
standardci 8097d7239d chore(release): publish new version
- @standardnotes/analytics@2.34.8
 - @standardnotes/api-gateway@1.89.6
 - @standardnotes/auth-server@1.177.3
 - @standardnotes/domain-events-infra@1.22.7
 - @standardnotes/domain-events@2.139.1
 - @standardnotes/files-server@1.37.2
 - @standardnotes/home-server@1.22.27
 - @standardnotes/revisions-server@1.51.8
 - @standardnotes/scheduler-server@1.27.13
 - @standardnotes/syncing-server@1.129.4
 - @standardnotes/websockets-server@1.22.4
2023-12-26 11:09:32 +00:00
Karol Sójko 7962b245b5 fix: stop revisions propagation (#1008) 2023-12-26 11:40:09 +01:00
standardci ce0450becf chore(release): publish new version
- @standardnotes/api-gateway@1.89.5
 - @standardnotes/auth-server@1.177.2
 - @standardnotes/home-server@1.22.26
 - @standardnotes/syncing-server@1.129.3
2023-12-22 14:03:05 +00:00
Karol Sójko 0762ed1127 fix: logs severity 2023-12-22 14:42:41 +01:00
standardci 3563a0b64a chore(release): publish new version
- @standardnotes/api-gateway@1.89.4
 - @standardnotes/auth-server@1.177.1
 - @standardnotes/home-server@1.22.25
2023-12-22 11:50:04 +00:00
Karol Sójko 0342cdcfc0 fix(auth): specs issue 2023-12-22 12:19:44 +01:00
Karol Sójko b1cb6a1d21 fix: case sensitive typo 2023-12-22 12:14:58 +01:00
standardci 615e4184f6 chore(release): publish new version
- @standardnotes/api-gateway@1.89.3
 - @standardnotes/home-server@1.22.24
 - @standardnotes/syncing-server@1.129.2
2023-12-22 10:35:31 +00:00
Karol Sójko 54091f23da fix: add more readonly access debug logs 2023-12-22 11:14:54 +01:00
Karol Sójko e4a8324db2 fix(api-gateway): add debug log for operating on readonly access 2023-12-22 11:08:46 +01:00
standardci 01bb55be39 chore(release): publish new version
- @standardnotes/api-gateway@1.89.2
 - @standardnotes/home-server@1.22.23
2023-12-21 15:35:54 +00:00
Karol Sójko e551a364f6 fix(api-gateway): missing readonly access for demo when utilizing grpc workflow (#1005) 2023-12-21 16:14:55 +01:00
standardci 7e65f85377 chore(release): publish new version
- @standardnotes/files-server@1.37.1
 - @standardnotes/home-server@1.22.22
2023-12-14 12:29:00 +00:00
Karol Sójko e6a21606a3 fix(files): list files command 2023-12-14 13:08:18 +01:00
standardci f275b48770 chore(release): publish new version
- @standardnotes/analytics@2.34.7
 - @standardnotes/api-gateway@1.89.1
 - @standardnotes/auth-server@1.177.0
 - @standardnotes/domain-events-infra@1.22.6
 - @standardnotes/domain-events@2.139.0
 - @standardnotes/files-server@1.37.0
 - @standardnotes/home-server@1.22.21
 - @standardnotes/revisions-server@1.51.7
 - @standardnotes/scheduler-server@1.27.12
 - @standardnotes/syncing-server@1.129.1
 - @standardnotes/websockets-server@1.22.3
2023-12-14 11:51:47 +00:00
Karol Sójko de4fcf9a4c feat: add procedure for recalculating file quota for user (#980)
* fix(auth): safe guard file upload bytes used to be positive intiger

* feat: add procedure for recalculating file quota for user

* add more meta to logs
2023-12-14 12:31:19 +01:00
standardci a1455d281f chore(release): publish new version
- @standardnotes/api-gateway@1.89.0
 - @standardnotes/auth-server@1.176.5
 - @standardnotes/home-server@1.22.20
 - @standardnotes/syncing-server@1.129.0
2023-12-12 12:18:49 +00:00
Karol Sójko cfbe2bbac6 fix(auth): add user uuid context to sign in emails log context 2023-12-12 12:58:11 +01:00
Karol Sójko 398c10ce4b feat(syncing-server): add extended revisions frequency for free users (#965) 2023-12-12 12:42:31 +01:00
standardci c7d21b092d chore(release): publish new version
- @standardnotes/auth-server@1.176.4
 - @standardnotes/home-server@1.22.19
2023-12-11 13:20:06 +00:00
Karol Sójko 031fa71e7d fix(auth): generate new recovery codes when enabling mfa (#964) 2023-12-11 13:59:57 +01:00
standardci 948e843ad6 chore(release): publish new version
- @standardnotes/analytics@2.34.6
 - @standardnotes/api-gateway@1.88.4
 - @standardnotes/auth-server@1.176.3
 - @standardnotes/domain-events-infra@1.22.5
 - @standardnotes/domain-events@2.138.2
 - @standardnotes/files-server@1.36.6
 - @standardnotes/home-server@1.22.18
 - @standardnotes/revisions-server@1.51.6
 - @standardnotes/scheduler-server@1.27.11
 - @standardnotes/syncing-server@1.128.2
 - @standardnotes/websockets-server@1.22.2
2023-12-11 11:25:27 +00:00
Karol Sójko 7b0ea0a069 fix(syncing-server): add user uuid for the emails requesting backup 2023-12-11 12:05:16 +01:00
standardci 8887b6e642 chore(release): publish new version
- @standardnotes/auth-server@1.176.2
 - @standardnotes/home-server@1.22.17
 - @standardnotes/syncing-server@1.128.1
2023-12-11 10:15:36 +00:00
Karol Sójko 597ff13393 fix(syncing-server): logs meta for email with backup requested 2023-12-11 10:55:16 +01:00
Karol Sójko 4ab61b94a4 fix(auth): error log meta on triggering email backups 2023-12-11 10:52:17 +01:00
standardci e19652d62a chore(release): publish new version
- @standardnotes/api-gateway@1.88.3
 - @standardnotes/home-server@1.22.16
2023-12-08 16:15:29 +00:00
Karol Sójko a341e78909 fix(api-gateway): add extra meta to logs 2023-12-08 16:55:18 +01:00
standardci 48e52ac48c chore(release): publish new version
- @standardnotes/home-server@1.22.15
 - @standardnotes/syncing-server@1.128.0
2023-12-08 12:30:03 +00:00
Karol Sójko 6dbb87708f feat(syncing-server): send websocket event to shared vault members upon items change in shared vault (#961) 2023-12-08 13:09:35 +01:00
standardci d15d51eae6 chore(release): publish new version
- @standardnotes/api-gateway@1.88.2
 - @standardnotes/home-server@1.22.14
2023-12-07 13:48:28 +00:00
Karol Sójko 0058368681 fix(api-gateway): add userId to logs in error handler if possible 2023-12-07 14:28:12 +01:00
standardci 746c821698 chore(release): publish new version
- @standardnotes/analytics@2.34.5
 - @standardnotes/api-gateway@1.88.1
 - @standardnotes/auth-server@1.176.1
 - @standardnotes/files-server@1.36.5
 - @standardnotes/home-server@1.22.13
 - @standardnotes/revisions-server@1.51.5
 - @standardnotes/scheduler-server@1.27.10
 - @standardnotes/syncing-server@1.127.9
 - @standardnotes/websockets-server@1.22.1
2023-12-07 13:03:23 +00:00
Karol Sójko 3f2d8c902c fix(auth): logger meta on disabling settings 2023-12-07 13:43:21 +01:00
Karol Sójko 3637db2563 fix(api-gateway): response header on grpc websocket connection validation 2023-12-07 13:41:28 +01:00
Karol Sójko 8ac84c59af fix: logs meta 2023-12-07 13:39:30 +01:00
Karol Sójko a2b1323568 fix: logger meta information 2023-12-07 13:29:36 +01:00
standardci d35391288d chore(release): publish new version
- @standardnotes/api-gateway@1.88.0
 - @standardnotes/auth-server@1.176.0
 - @standardnotes/grpc@1.4.0
 - @standardnotes/home-server@1.22.12
 - @standardnotes/syncing-server@1.127.8
 - @standardnotes/websockets-server@1.22.0
2023-12-07 12:18:19 +00:00
Karol Sójko d5c1b76de0 feat: replace websocket connection validation with grpc (#954)
* feat: replace websocket connection validation with grpc

* fix(api-gateway): error logs metadata details

* fix binding

* fix logs severity on websockets

* add user uuid to grpc call error logs
2023-12-07 12:58:07 +01:00
standardci 4600a49e88 chore(release): publish new version
- @standardnotes/websockets-server@1.21.4
2023-12-07 10:22:00 +00:00
Karol Sójko 96a2a67aa6 fix(websockets): remove connection trace when it is gone (#953) 2023-12-07 11:01:47 +01:00
standardci bb380b5794 chore(release): publish new version
- @standardnotes/api-gateway@1.87.7
 - @standardnotes/auth-server@1.175.1
 - @standardnotes/grpc@1.3.2
 - @standardnotes/home-server@1.22.11
 - @standardnotes/syncing-server@1.127.7
2023-12-07 06:10:08 +00:00
Karol Sójko 47004fd20a chore: upgrade grpc-js 2023-12-07 06:49:47 +01:00
standardci c9bf024109 chore(release): publish new version
- @standardnotes/api-gateway@1.87.6
 - @standardnotes/home-server@1.22.10
 - @standardnotes/websockets-server@1.21.3
2023-12-06 15:02:30 +00:00
Karol Sójko 529795d393 fix(api-gateway): add grpc logs for internal errors 2023-12-06 15:42:12 +01:00
Karol Sójko 79ae07623f fix(websockets): change error message on unknown errors 2023-12-05 14:58:48 +01:00
Micah Zoltu 6bdb524489 Adds support for loading environment vars from file. (#938)
* Adds support for loading environment from file.
2023-12-05 12:19:30 +01:00
standardci 480693fb9f chore(release): publish new version
- @standardnotes/auth-server@1.175.0
 - @standardnotes/home-server@1.22.9
2023-12-04 12:18:52 +00:00
Karol Sójko e150930072 feat(auth): add renewal of shared subscriptions (#952) 2023-12-04 12:58:14 +01:00
standardci edd92ef81a chore(release): publish new version
- @standardnotes/analytics@2.34.4
 - @standardnotes/api-gateway@1.87.5
 - @standardnotes/auth-server@1.174.4
 - @standardnotes/domain-events-infra@1.22.4
 - @standardnotes/files-server@1.36.4
 - @standardnotes/home-server@1.22.8
 - @standardnotes/revisions-server@1.51.4
 - @standardnotes/scheduler-server@1.27.9
 - @standardnotes/syncing-server@1.127.6
 - @standardnotes/websockets-server@1.21.2
2023-12-01 12:44:11 +00:00
Karol Sójko 49cd5be352 fix: upgrade aws deps (#946) 2023-12-01 13:23:18 +01:00
standardci b1665779b5 chore(release): publish new version
- @standardnotes/api-gateway@1.87.4
 - @standardnotes/home-server@1.22.7
 - @standardnotes/syncing-server@1.127.5
2023-12-01 08:53:10 +00:00
Karol Sójko a82192db42 fix(api-gateway): home server home page (#949)
* feat: add home server home page message

* fix: upgrade yarn
2023-12-01 09:32:56 +01:00
Karol Sójko 589b740f49 fix(syncing-server): remove the dice roll on whether to inform the client on items changed (#950) 2023-12-01 09:24:20 +01:00
Karol Sójko 3c10de3e5d fix: localstack version in docker compose example 2023-11-30 13:45:59 +01:00
standardci 41a04062c9 chore(release): publish new version
- @standardnotes/home-server@1.22.6
 - @standardnotes/syncing-server@1.127.4
2023-11-30 11:36:39 +00:00
Karol Sójko db9d10c302 fix: upgrade localstack to latest version 2023-11-30 12:16:08 +01:00
Karol Sójko 5596d04040 fix: add outputing docker compose logs 2023-11-30 11:33:10 +01:00
Karol Sójko 341f69e301 Revert "chore: upgrade deps"
This reverts commit ef0464690b.
2023-11-30 10:49:55 +01:00
Karol Sójko ef0464690b chore: upgrade deps 2023-11-30 10:06:56 +01:00
Karol Sójko 199ebeb4ea fix(syncing-server): increase chances for notifying of items change to 70% 2023-11-30 09:54:47 +01:00
standardci c949670d4c chore(release): publish new version
- @standardnotes/home-server@1.22.5
 - @standardnotes/syncing-server@1.127.3
2023-11-29 08:55:04 +00:00
Karol Sójko 9dcd583b58 fix(syncing-server): dice roll specs 2023-11-29 09:32:14 +01:00
Karol Sójko 097e320490 fix(syncing-server): increase chances for notifying of items change 2023-11-29 07:54:43 +01:00
standardci c9bfda91f4 chore(release): publish new version
- @standardnotes/home-server@1.22.4
 - @standardnotes/syncing-server@1.127.2
2023-11-28 10:43:30 +00:00
Karol Sójko 2d6a3ebf45 fix(syncing-server): add debug logs about sending items changed event 2023-11-28 11:21:54 +01:00
standardci d0d4bd23fb chore(release): publish new version
- @standardnotes/analytics@2.34.3
 - @standardnotes/api-gateway@1.87.3
 - @standardnotes/auth-server@1.174.3
 - @standardnotes/domain-events-infra@1.22.3
 - @standardnotes/domain-events@2.138.1
 - @standardnotes/files-server@1.36.3
 - @standardnotes/home-server@1.22.3
 - @standardnotes/revisions-server@1.51.3
 - @standardnotes/scheduler-server@1.27.8
 - @standardnotes/security@1.17.2
 - @standardnotes/syncing-server@1.127.1
 - @standardnotes/websockets-server@1.21.1
2023-11-28 10:08:27 +00:00
Karol Sójko edb0a768d0 fix(auth): pass session uuid to web sockets controller 2023-11-28 10:46:39 +01:00
Karol Sójko 4cc647ac07 fix(api-gateway): add session to response locals from web socket middleware 2023-11-28 10:44:56 +01:00
Karol Sójko bcd1d830e6 fix: pass session uuid to websockets token 2023-11-28 10:39:25 +01:00
standardci 2597324876 chore(release): publish new version
- @standardnotes/analytics@2.34.2
 - @standardnotes/api-gateway@1.87.2
 - @standardnotes/auth-server@1.174.2
 - @standardnotes/domain-events-infra@1.22.2
 - @standardnotes/domain-events@2.138.0
 - @standardnotes/files-server@1.36.2
 - @standardnotes/home-server@1.22.2
 - @standardnotes/revisions-server@1.51.2
 - @standardnotes/scheduler-server@1.27.7
 - @standardnotes/syncing-server@1.127.0
 - @standardnotes/websockets-server@1.21.0
2023-11-28 08:53:10 +00:00
Karol Sójko 69b404f5d4 feat: send event to client upon items change on server (#941)
* feat(websockets): persist connections in mysql

* fix: add sending event to client upon items changed on server

* fix payload

* fix: add cathcing errors

* fix: send changed items event only on a 10% dice roll
2023-11-28 09:31:42 +01:00
470 changed files with 9463 additions and 5561 deletions
+7
View File
@@ -46,6 +46,13 @@ jobs:
CACHE_TYPE: redis
SERVICE_PROXY_TYPE: ${{ matrix.service_proxy_type }}
- name: Output Server Logs to File
run: docker compose -f docker-compose.ci.yml logs -f > logs/docker-compose.log 2>&1 &
env:
DB_TYPE: mysql
CACHE_TYPE: redis
SERVICE_PROXY_TYPE: ${{ matrix.service_proxy_type }}
- name: Wait for server to start
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
+1 -1
View File
@@ -1 +1 @@
20.6.1
20.10.0
Generated
+1455 -1965
View File
File diff suppressed because it is too large Load Diff
+81 -46
View File
@@ -1,9 +1,9 @@
import fs from 'fs';
import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url';
import path from 'path';
import moduleExports, { Module } from 'module';
import { createHash } from 'crypto';
import { EOL } from 'os';
import moduleExports, { isBuiltin } from 'module';
import assert from 'assert';
const SAFE_TIME = 456789e3;
@@ -16,14 +16,16 @@ const PortablePath = {
const npath = Object.create(path);
const ppath = Object.create(path.posix);
npath.cwd = () => process.cwd();
ppath.cwd = () => toPortablePath(process.cwd());
ppath.resolve = (...segments) => {
if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
return path.posix.resolve(...segments);
} else {
return path.posix.resolve(ppath.cwd(), ...segments);
}
};
ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd;
if (process.platform === `win32`) {
ppath.resolve = (...segments) => {
if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
return path.posix.resolve(...segments);
} else {
return path.posix.resolve(ppath.cwd(), ...segments);
}
};
}
const contains = function(pathUtils, from, to) {
from = pathUtils.normalize(from);
to = pathUtils.normalize(to);
@@ -37,17 +39,13 @@ const contains = function(pathUtils, from, to) {
return null;
}
};
npath.fromPortablePath = fromPortablePath;
npath.toPortablePath = toPortablePath;
npath.contains = (from, to) => contains(npath, from, to);
ppath.contains = (from, to) => contains(ppath, from, to);
const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
function fromPortablePath(p) {
if (process.platform !== `win32`)
return p;
function fromPortablePathWin32(p) {
let portablePathMatch, uncPortablePathMatch;
if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
p = portablePathMatch[1];
@@ -57,9 +55,7 @@ function fromPortablePath(p) {
return p;
return p.replace(/\//g, `\\`);
}
function toPortablePath(p) {
if (process.platform !== `win32`)
return p;
function toPortablePathWin32(p) {
p = p.replace(/\\/g, `/`);
let windowsPathMatch, uncWindowsPathMatch;
if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
@@ -68,6 +64,10 @@ function toPortablePath(p) {
p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
return p;
}
const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p;
const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p;
npath.fromPortablePath = fromPortablePath;
npath.toPortablePath = toPortablePath;
function convertPath(targetPathUtils, sourcePath) {
return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
}
@@ -902,6 +902,12 @@ class ProxiedFS extends FakeFS {
}
}
function direntToPortable(dirent) {
const portableDirent = dirent;
if (typeof dirent.path === `string`)
portableDirent.path = npath.toPortablePath(dirent.path);
return portableDirent;
}
class NodeFS extends BasePortableFakeFS {
constructor(realFs = fs) {
super();
@@ -1228,15 +1234,31 @@ class NodeFS extends BasePortableFakeFS {
async readdirPromise(p, opts) {
return await new Promise((resolve, reject) => {
if (opts) {
this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
if (opts.recursive && process.platform === `win32`) {
if (opts.withFileTypes) {
this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject));
} else {
this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject));
}
} else {
this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
}
} else {
this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject));
this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
}
});
}
readdirSync(p, opts) {
if (opts) {
return this.realFs.readdirSync(npath.fromPortablePath(p), opts);
if (opts.recursive && process.platform === `win32`) {
if (opts.withFileTypes) {
return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable);
} else {
return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath);
}
} else {
return this.realFs.readdirSync(npath.fromPortablePath(p), opts);
}
} else {
return this.realFs.readdirSync(npath.fromPortablePath(p));
}
@@ -1372,10 +1394,8 @@ class VirtualFS extends ProxiedFS {
const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13;
const HAS_LAZY_LOADED_TRANSLATORS = major > 19 || major === 19 && minor >= 3;
const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3;
const builtinModules = new Set(Module.builtinModules || Object.keys(process.binding(`natives`)));
const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request);
function readPackageScope(checkPath) {
const rootSeparatorIndex = checkPath.indexOf(npath.sep);
let separatorIndex;
@@ -1963,7 +1983,7 @@ async function resolvePrivateRequest(specifier, issuer, context, nextResolve) {
}
async function resolve$1(originalSpecifier, context, nextResolve) {
const { findPnpApi } = moduleExports;
if (!findPnpApi || isBuiltinModule(originalSpecifier))
if (!findPnpApi || isBuiltin(originalSpecifier))
return nextResolve(originalSpecifier, context, nextResolve);
let specifier = originalSpecifier;
const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0);
@@ -2022,31 +2042,46 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
if (!HAS_LAZY_LOADED_TRANSLATORS) {
const binding = process.binding(`fs`);
const originalfstat = binding.fstat;
const ZIP_MASK = 4278190080;
const ZIP_MAGIC = 704643072;
binding.fstat = function(...args) {
const [fd, useBigint, req] = args;
if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) {
const originalReadFile = binding.readFileUtf8 || binding.readFileSync;
if (originalReadFile) {
binding[originalReadFile.name] = function(...args) {
try {
const stats = fs.fstatSync(fd);
return new Float64Array([
stats.dev,
stats.mode,
stats.nlink,
stats.uid,
stats.gid,
stats.rdev,
stats.blksize,
stats.ino,
stats.size,
stats.blocks
]);
return fs.readFileSync(args[0], {
encoding: `utf8`,
flag: args[1]
});
} catch {
}
}
return originalfstat.apply(this, args);
};
return originalReadFile.apply(this, args);
};
} else {
const binding2 = process.binding(`fs`);
const originalfstat = binding2.fstat;
const ZIP_MASK = 4278190080;
const ZIP_MAGIC = 704643072;
binding2.fstat = function(...args) {
const [fd, useBigint, req] = args;
if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) {
try {
const stats = fs.fstatSync(fd);
return new Float64Array([
stats.dev,
stats.mode,
stats.nlink,
stats.uid,
stats.gid,
stats.rdev,
stats.blksize,
stats.ino,
stats.size,
stats.blocks
]);
} catch {
}
}
return originalfstat.apply(this, args);
};
}
}
const resolve = resolve$1;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

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