fundus 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/{CrIZjnDr.js → BYFtzj-6.js} +1 -1
- package/build/client/_app/immutable/chunks/BYFtzj-6.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYFtzj-6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bpdn9KsZ.js +1 -0
- package/build/client/_app/immutable/chunks/Bpdn9KsZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bpdn9KsZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BpsKkIFc.js → C84Cb3FT.js} +1 -1
- package/build/client/_app/immutable/chunks/C84Cb3FT.js.br +2 -0
- package/build/client/_app/immutable/chunks/C84Cb3FT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{lw3KP4og.js → ShJqQdc9.js} +1 -1
- package/build/client/_app/immutable/chunks/ShJqQdc9.js.br +0 -0
- package/build/client/_app/immutable/chunks/ShJqQdc9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{ZGU9Utak.js → qKhm3_BR.js} +1 -1
- package/build/client/_app/immutable/chunks/qKhm3_BR.js.br +0 -0
- package/build/client/_app/immutable/chunks/{ZGU9Utak.js.gz → qKhm3_BR.js.gz} +0 -0
- package/build/client/_app/immutable/entry/{app.D-lO1MC-.js → app.xp6XP32Y.js} +2 -2
- package/build/client/_app/immutable/entry/app.xp6XP32Y.js.br +0 -0
- package/build/client/_app/immutable/entry/app.xp6XP32Y.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Du4Vvers.js +1 -0
- package/build/client/_app/immutable/entry/start.Du4Vvers.js.br +1 -0
- package/build/client/_app/immutable/entry/start.Du4Vvers.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.BPGg3A-F.js → 0.C1JztY6C.js} +1 -1
- package/build/client/_app/immutable/nodes/0.C1JztY6C.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.C1JztY6C.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.-VJ5Mlss.js → 1.DBrMEpGF.js} +1 -1
- package/build/client/_app/immutable/nodes/1.DBrMEpGF.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.DBrMEpGF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.Dhyvb4bF.js → 2.DePWJalQ.js} +1 -1
- package/build/client/_app/immutable/nodes/2.DePWJalQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DePWJalQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.D9Fgsq-b.js → 3.CoDFK3_e.js} +1 -1
- package/build/client/_app/immutable/nodes/3.CoDFK3_e.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CoDFK3_e.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.DErtysFP.js → 4.B-qjHb3h.js} +1 -1
- package/build/client/_app/immutable/nodes/4.B-qjHb3h.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B-qjHb3h.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/handler.js +7 -7
- package/build/index.js +7 -7
- package/build/server/chunks/chunks/{context.js-BIgcUcEl.js → context.js-4TO_atTF.js} +79 -4
- package/build/server/chunks/chunks/context.js-4TO_atTF.js.map +1 -0
- package/build/server/chunks/chunks/{exports.js-bhKV7cEL.js → exports.js-D4wm01VC.js} +2 -2
- package/build/server/chunks/chunks/{exports.js-bhKV7cEL.js.map → exports.js-D4wm01VC.js.map} +1 -1
- package/build/server/chunks/chunks/{internal.js-7MmaxxwZ.js → internal.js-C1qRAVdt.js} +3 -3
- package/build/server/chunks/chunks/{internal.js-7MmaxxwZ.js.map → internal.js-C1qRAVdt.js.map} +1 -1
- package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
- package/build/server/chunks/chunks/{shared.js-B0m3s2U9.js → shared.js-WozvTiX9.js} +2 -2
- package/build/server/chunks/chunks/{shared.js-B0m3s2U9.js.map → shared.js-WozvTiX9.js.map} +1 -1
- package/build/server/chunks/chunks/{utils.js-BXV0zq44.js → utils.js-UxJ7asYr.js} +3 -3
- package/build/server/chunks/chunks/{utils.js-BXV0zq44.js.map → utils.js-UxJ7asYr.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-DbEPdkbO.js → _server.ts.js-Aa7zYzUB.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-DbEPdkbO.js.map → _server.ts.js-Aa7zYzUB.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BzA96yBM.js → _server.ts.js-CM73kt1H.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BzA96yBM.js.map → _server.ts.js-CM73kt1H.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-fQAXFRLh.js → _server.ts.js-CyiEsjc3.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-fQAXFRLh.js.map → _server.ts.js-CyiEsjc3.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/_id_/retag/{_server.ts.js-RTBrlhk5.js → _server.ts.js-Cpt_vVY0.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/_id_/retag/{_server.ts.js-RTBrlhk5.js.map → _server.ts.js-Cpt_vVY0.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-Baz4gPRd.js → _server.ts.js-BVdeCRy0.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-Baz4gPRd.js.map → _server.ts.js-BVdeCRy0.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CnqdPxWQ.js → _server.ts.js-QEa0nYZE.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-CnqdPxWQ.js.map → _server.ts.js-QEa0nYZE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-bvrtSRDz.js → _server.ts.js-Dk0sFdoM.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-bvrtSRDz.js.map → _server.ts.js-Dk0sFdoM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-CO8RZm3e.js +69 -0
- package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-CO8RZm3e.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-cgYcVXgU.js → _server.ts.js-8RzyUK6g.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-cgYcVXgU.js.map → _server.ts.js-8RzyUK6g.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DbXw3YEr.js → _server.ts.js-YWliM590.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-DbXw3YEr.js.map → _server.ts.js-YWliM590.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-D0PEYlzG.js → _server.ts.js-CeXmOrwN.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-D0PEYlzG.js.map → _server.ts.js-CeXmOrwN.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-Dt9Wfgs7.js → _server.ts.js-DQaLSdGl.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-Dt9Wfgs7.js.map → _server.ts.js-DQaLSdGl.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BBuZYakQ.js → _server.ts.js-BE_nYFP_.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-BBuZYakQ.js.map → _server.ts.js-BE_nYFP_.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DQ_CWMTu.js → _server.ts.js-BGxvZ4EV.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-DQ_CWMTu.js.map → _server.ts.js-BGxvZ4EV.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-B3TVoDCl.js → _server.ts.js-Cvwr9a0l.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-B3TVoDCl.js.map → _server.ts.js-Cvwr9a0l.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js--2C2x6Q0.js → _server.ts.js-DEMDXHsR.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js--2C2x6Q0.js.map → _server.ts.js-DEMDXHsR.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-DD2Hz15k.js → _server.ts.js-DoeEIUoG.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-DD2Hz15k.js.map → _server.ts.js-DoeEIUoG.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-Ei98ilB5.js → _server.ts.js-0hMtYoB1.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-Ei98ilB5.js.map → _server.ts.js-0hMtYoB1.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-NNuDGwyK.js → _server.ts.js-B4YWmlkC.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-NNuDGwyK.js.map → _server.ts.js-B4YWmlkC.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-6_Wl_k0H.js → _server.ts.js-dNLtLO2U.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-6_Wl_k0H.js.map → _server.ts.js-dNLtLO2U.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-Dft0Zgh3.js → _server.ts.js-BtCkf-hk.js} +2 -2
- package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-Dft0Zgh3.js.map → _server.ts.js-BtCkf-hk.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-rlV0QRQS.js → _server.ts.js-CozrPtRv.js} +2 -2
- package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-rlV0QRQS.js.map → _server.ts.js-CozrPtRv.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-C345JVQ2.js → hooks.server.js-Cnsi5KsE.js} +2 -2
- package/build/server/chunks/entries/{hooks.server.js-C345JVQ2.js.map → hooks.server.js-Cnsi5KsE.js.map} +1 -1
- package/build/server/chunks/{handler-C_S3CtEF.js → handler-Cy1Egoop.js} +5 -5
- package/build/server/chunks/{handler-C_S3CtEF.js.map → handler-Cy1Egoop.js.map} +1 -1
- package/build/server/chunks/{index.js-CSCxgyyg.js → index.js-BThzb8OA.js} +5 -5
- package/build/server/chunks/{index.js-CSCxgyyg.js.map → index.js-BThzb8OA.js.map} +1 -1
- package/build/server/chunks/{manifest.js-CO6AjAUm.js → manifest.js-oxAZ63GO.js} +35 -28
- package/build/server/chunks/manifest.js-oxAZ63GO.js.map +1 -0
- package/build/server/chunks/nodes/{0.js-CRc8onmc.js → 0.js-CWkqtXV6.js} +2 -2
- package/build/server/chunks/nodes/{0.js-CRc8onmc.js.map → 0.js-CWkqtXV6.js.map} +1 -1
- package/build/server/chunks/nodes/1.js-CwYk7wO6.js +7 -0
- package/build/server/chunks/nodes/{1.js-CZm_Doa7.js.map → 1.js-CwYk7wO6.js.map} +1 -1
- package/build/server/chunks/nodes/{2.js-B92vn1Hu.js → 2.js-CH87hyHV.js} +2 -2
- package/build/server/chunks/nodes/{2.js-B92vn1Hu.js.map → 2.js-CH87hyHV.js.map} +1 -1
- package/build/server/chunks/nodes/3.js-CSO0quMy.js +7 -0
- package/build/server/chunks/nodes/{3.js-C14BP7Jm.js.map → 3.js-CSO0quMy.js.map} +1 -1
- package/build/server/chunks/nodes/4.js-Dc4P-6cG.js +7 -0
- package/build/server/chunks/nodes/{4.js-BLNdVCa1.js.map → 4.js-Dc4P-6cG.js.map} +1 -1
- package/dist/server/context.d.ts +3 -0
- package/dist/server/context.js +2 -1
- package/dist/server/library-watcher.d.ts +8 -0
- package/dist/server/library-watcher.js +96 -0
- package/package.json +1 -1
- package/build/client/_app/immutable/chunks/Bly9uffh.js +0 -1
- package/build/client/_app/immutable/chunks/Bly9uffh.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bly9uffh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BpsKkIFc.js.br +0 -2
- package/build/client/_app/immutable/chunks/BpsKkIFc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrIZjnDr.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrIZjnDr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ZGU9Utak.js.br +0 -0
- package/build/client/_app/immutable/chunks/lw3KP4og.js.br +0 -0
- package/build/client/_app/immutable/chunks/lw3KP4og.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.D-lO1MC-.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D-lO1MC-.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BrSEFrid.js +0 -1
- package/build/client/_app/immutable/entry/start.BrSEFrid.js.br +0 -1
- package/build/client/_app/immutable/entry/start.BrSEFrid.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BPGg3A-F.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BPGg3A-F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.-VJ5Mlss.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.-VJ5Mlss.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Dhyvb4bF.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Dhyvb4bF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.D9Fgsq-b.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.D9Fgsq-b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DErtysFP.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DErtysFP.js.gz +0 -0
- package/build/server/chunks/chunks/context.js-BIgcUcEl.js.map +0 -1
- package/build/server/chunks/manifest.js-CO6AjAUm.js.map +0 -1
- package/build/server/chunks/nodes/1.js-CZm_Doa7.js +0 -7
- package/build/server/chunks/nodes/3.js-C14BP7Jm.js +0 -7
- package/build/server/chunks/nodes/4.js-BLNdVCa1.js +0 -7
package/build/handler.js
CHANGED
|
@@ -2,9 +2,9 @@ import './shims.js';
|
|
|
2
2
|
import 'node:fs';
|
|
3
3
|
import 'node:path';
|
|
4
4
|
import 'node:process';
|
|
5
|
-
export { h as handler } from './server/chunks/handler-
|
|
6
|
-
import './server/chunks/index.js-
|
|
7
|
-
import './server/chunks/manifest.js-
|
|
5
|
+
export { h as handler } from './server/chunks/handler-Cy1Egoop.js';
|
|
6
|
+
import './server/chunks/index.js-BThzb8OA.js';
|
|
7
|
+
import './server/chunks/manifest.js-oxAZ63GO.js';
|
|
8
8
|
import './env.js';
|
|
9
9
|
import 'node:buffer';
|
|
10
10
|
import 'node:crypto';
|
|
@@ -12,12 +12,12 @@ import 'node:http';
|
|
|
12
12
|
import 'node:timers';
|
|
13
13
|
import 'node:querystring';
|
|
14
14
|
import 'node:stream';
|
|
15
|
-
import './server/chunks/chunks/shared.js-
|
|
16
|
-
import './server/chunks/chunks/internal.js-
|
|
15
|
+
import './server/chunks/chunks/shared.js-WozvTiX9.js';
|
|
16
|
+
import './server/chunks/chunks/internal.js-C1qRAVdt.js';
|
|
17
17
|
import 'node:module';
|
|
18
|
-
import './server/chunks/chunks/utils.js-
|
|
18
|
+
import './server/chunks/chunks/utils.js-UxJ7asYr.js';
|
|
19
19
|
import 'node:url';
|
|
20
20
|
import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
|
|
21
|
-
import './server/chunks/chunks/exports.js-
|
|
21
|
+
import './server/chunks/chunks/exports.js-D4wm01VC.js';
|
|
22
22
|
import './server/chunks/chunks/routing.js-y-tryuip.js';
|
|
23
23
|
//# sourceMappingURL=handler.js.map
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import http from 'node:http';
|
|
2
2
|
import fs__default from 'node:fs';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
-
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-
|
|
4
|
+
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-Cy1Egoop.js';
|
|
5
5
|
import { env, timeout_env } from './env.js';
|
|
6
6
|
import { rm } from 'node:fs/promises';
|
|
7
7
|
import './shims.js';
|
|
@@ -11,15 +11,15 @@ import 'node:path';
|
|
|
11
11
|
import 'node:timers';
|
|
12
12
|
import 'node:querystring';
|
|
13
13
|
import 'node:stream';
|
|
14
|
-
import './server/chunks/chunks/shared.js-
|
|
15
|
-
import './server/chunks/chunks/internal.js-
|
|
14
|
+
import './server/chunks/chunks/shared.js-WozvTiX9.js';
|
|
15
|
+
import './server/chunks/chunks/internal.js-C1qRAVdt.js';
|
|
16
16
|
import 'node:module';
|
|
17
|
-
import './server/chunks/chunks/utils.js-
|
|
18
|
-
import './server/chunks/index.js-
|
|
17
|
+
import './server/chunks/chunks/utils.js-UxJ7asYr.js';
|
|
18
|
+
import './server/chunks/index.js-BThzb8OA.js';
|
|
19
19
|
import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
|
|
20
|
-
import './server/chunks/chunks/exports.js-
|
|
20
|
+
import './server/chunks/chunks/exports.js-D4wm01VC.js';
|
|
21
21
|
import './server/chunks/chunks/routing.js-y-tryuip.js';
|
|
22
|
-
import './server/chunks/manifest.js-
|
|
22
|
+
import './server/chunks/manifest.js-oxAZ63GO.js';
|
|
23
23
|
import 'node:url';
|
|
24
24
|
|
|
25
25
|
const path = env('SOCKET_PATH', false);
|
|
@@ -4,8 +4,8 @@ import { c as collectAllReferences, a as assetIdError, b as computeLibraryMember
|
|
|
4
4
|
import { v as validateDependencyList, f as formatRequiredBy } from './dependencies.js-pUkjICr5.js';
|
|
5
5
|
import { v as verifyStableRawFile, c as classifyRawDirectory } from './raw-reconciliation2.js-Bo1jJgvd.js';
|
|
6
6
|
import { createRequire } from 'node:module';
|
|
7
|
-
import { isAbsolute, resolve,
|
|
8
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
7
|
+
import { isAbsolute, resolve, basename, dirname, join, extname, relative, sep } from 'node:path';
|
|
8
|
+
import { existsSync, watch, readFileSync } from 'node:fs';
|
|
9
9
|
import { createJiti } from 'jiti';
|
|
10
10
|
import { readFile, realpath } from 'node:fs/promises';
|
|
11
11
|
import { execFile } from 'node:child_process';
|
|
@@ -212,6 +212,80 @@ async function loadConfig(projectRoot) {
|
|
|
212
212
|
};
|
|
213
213
|
}
|
|
214
214
|
//#endregion
|
|
215
|
+
//#region src/lib/server/library-watcher.ts
|
|
216
|
+
/**
|
|
217
|
+
* Watches the library file and the raw directory for out-of-band changes — the
|
|
218
|
+
* CLI writing the library, or another process moving/renaming/deleting raw
|
|
219
|
+
* files — and notifies subscribers so the editor can reconcile without waiting
|
|
220
|
+
* for a window-focus refresh.
|
|
221
|
+
*
|
|
222
|
+
* Watching starts on the first subscriber and stops on the last, so a process
|
|
223
|
+
* that never subscribes (the CLI builds its own `FundusOperations`) never opens
|
|
224
|
+
* a file-system watch. A change the editor itself caused also fires here; the
|
|
225
|
+
* resulting reconcile is idempotent and coalesced, so a redundant refresh costs
|
|
226
|
+
* one no-op request — and that same property syncs edits made in one browser
|
|
227
|
+
* tab to every other open tab.
|
|
228
|
+
*/
|
|
229
|
+
/** How long to collect burst file-system events into a single notification. */
|
|
230
|
+
var DEBOUNCE_MS = 200;
|
|
231
|
+
var LibraryWatcher = class {
|
|
232
|
+
#specs;
|
|
233
|
+
#listeners = /* @__PURE__ */ new Set();
|
|
234
|
+
#watchers = [];
|
|
235
|
+
#debounce = null;
|
|
236
|
+
constructor(config) {
|
|
237
|
+
const libraryName = basename(config.library);
|
|
238
|
+
this.#specs = [{
|
|
239
|
+
dir: dirname(config.library),
|
|
240
|
+
recursive: false,
|
|
241
|
+
accept: (filename) => filename === null || filename === libraryName
|
|
242
|
+
}, {
|
|
243
|
+
dir: resolve(config.rawDir),
|
|
244
|
+
recursive: true,
|
|
245
|
+
accept: () => true
|
|
246
|
+
}];
|
|
247
|
+
}
|
|
248
|
+
/** Register a listener, starting the watch on the first and stopping on the last. */
|
|
249
|
+
subscribe(listener) {
|
|
250
|
+
this.#listeners.add(listener);
|
|
251
|
+
if (this.#listeners.size === 1) this.#start();
|
|
252
|
+
return () => {
|
|
253
|
+
if (!this.#listeners.delete(listener)) return;
|
|
254
|
+
if (this.#listeners.size === 0) this.#stop();
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
#start() {
|
|
258
|
+
for (const spec of this.#specs) try {
|
|
259
|
+
const watcher = watch(spec.dir, {
|
|
260
|
+
recursive: spec.recursive,
|
|
261
|
+
persistent: false
|
|
262
|
+
}, (_event, filename) => {
|
|
263
|
+
if (spec.accept(typeof filename === "string" ? filename : null)) this.#schedule();
|
|
264
|
+
});
|
|
265
|
+
watcher.on("error", () => {});
|
|
266
|
+
this.#watchers.push(watcher);
|
|
267
|
+
} catch {}
|
|
268
|
+
}
|
|
269
|
+
#stop() {
|
|
270
|
+
if (this.#debounce) {
|
|
271
|
+
clearTimeout(this.#debounce);
|
|
272
|
+
this.#debounce = null;
|
|
273
|
+
}
|
|
274
|
+
for (const watcher of this.#watchers) watcher.close();
|
|
275
|
+
this.#watchers = [];
|
|
276
|
+
}
|
|
277
|
+
#schedule() {
|
|
278
|
+
if (this.#debounce) clearTimeout(this.#debounce);
|
|
279
|
+
this.#debounce = setTimeout(() => {
|
|
280
|
+
this.#debounce = null;
|
|
281
|
+
for (const listener of [...this.#listeners]) try {
|
|
282
|
+
listener();
|
|
283
|
+
} catch {}
|
|
284
|
+
}, DEBOUNCE_MS);
|
|
285
|
+
this.#debounce.unref?.();
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
//#endregion
|
|
215
289
|
//#region src/lib/server/raw-safety.ts
|
|
216
290
|
function rawSafetyIssueKey(issue) {
|
|
217
291
|
return `${issue.kind}|${issue.assetId ?? ""}|${issue.path}`;
|
|
@@ -2401,9 +2475,10 @@ async function createFundusContext() {
|
|
|
2401
2475
|
const config = await loadConfig(projectRoot);
|
|
2402
2476
|
return {
|
|
2403
2477
|
config,
|
|
2404
|
-
operations: new FundusOperations(config)
|
|
2478
|
+
operations: new FundusOperations(config),
|
|
2479
|
+
watcher: new LibraryWatcher(config)
|
|
2405
2480
|
};
|
|
2406
2481
|
}
|
|
2407
2482
|
|
|
2408
2483
|
export { getFundusContext as g, initializeFundusContext as i };
|
|
2409
|
-
//# sourceMappingURL=context.js-
|
|
2484
|
+
//# sourceMappingURL=context.js-4TO_atTF.js.map
|