rlz-engine 1.0.54 → 1.0.56

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.
Files changed (137) hide show
  1. package/README.md +225 -0
  2. package/dist/back/auth/admin-secret.d.ts +4 -0
  3. package/dist/back/auth/admin-secret.js +86 -0
  4. package/dist/back/auth/admin-secret.js.map +1 -0
  5. package/dist/back/auth/cookies.d.ts +12 -0
  6. package/dist/back/auth/cookies.js +20 -0
  7. package/dist/back/auth/cookies.js.map +1 -0
  8. package/dist/back/auth/csrf.d.ts +8 -0
  9. package/dist/back/auth/csrf.js +47 -0
  10. package/dist/back/auth/csrf.js.map +1 -0
  11. package/dist/back/auth/model.d.ts +7 -3
  12. package/dist/back/auth/module.d.ts +14 -0
  13. package/dist/back/auth/module.js +121 -0
  14. package/dist/back/auth/module.js.map +1 -0
  15. package/dist/back/auth/rate-limit.d.ts +11 -0
  16. package/dist/back/auth/rate-limit.js +59 -0
  17. package/dist/back/auth/rate-limit.js.map +1 -0
  18. package/dist/back/auth/session.d.ts +22 -0
  19. package/dist/back/auth/session.js +55 -0
  20. package/dist/back/auth/session.js.map +1 -0
  21. package/dist/back/auth/storage.d.ts +9 -9
  22. package/dist/back/auth/storage.js +39 -36
  23. package/dist/back/auth/storage.js.map +1 -1
  24. package/dist/back/auth/utils.d.ts +10 -8
  25. package/dist/back/auth/utils.js +43 -56
  26. package/dist/back/auth/utils.js.map +1 -1
  27. package/dist/back/certificate/adm-rpc.d.ts +5 -0
  28. package/dist/back/certificate/adm-rpc.js +52 -0
  29. package/dist/back/certificate/adm-rpc.js.map +1 -0
  30. package/dist/back/certificate/module.d.ts +13 -0
  31. package/dist/back/certificate/module.js +19 -0
  32. package/dist/back/certificate/module.js.map +1 -0
  33. package/dist/back/cli/cli-engine.d.ts +25 -0
  34. package/dist/back/cli/cli-engine.js +68 -0
  35. package/dist/back/cli/cli-engine.js.map +1 -0
  36. package/dist/back/http/ajv-formats.d.ts +2 -0
  37. package/dist/back/http/ajv-formats.js +14 -0
  38. package/dist/back/http/ajv-formats.js.map +1 -0
  39. package/dist/back/http/module.d.ts +7 -0
  40. package/dist/back/http/module.js +34 -0
  41. package/dist/back/http/module.js.map +1 -0
  42. package/dist/back/http/server.d.ts +22 -0
  43. package/dist/back/http/server.js +118 -0
  44. package/dist/back/http/server.js.map +1 -0
  45. package/dist/back/logger/adm-rpc.d.ts +2 -0
  46. package/dist/back/logger/adm-rpc.js +50 -0
  47. package/dist/back/logger/adm-rpc.js.map +1 -0
  48. package/dist/back/logger/audit-logger.d.ts +97 -0
  49. package/dist/back/logger/audit-logger.js +155 -0
  50. package/dist/back/logger/audit-logger.js.map +1 -0
  51. package/dist/back/logger/cli.d.ts +2 -0
  52. package/dist/back/logger/cli.js +43 -0
  53. package/dist/back/logger/cli.js.map +1 -0
  54. package/dist/back/logger/format.d.ts +3 -0
  55. package/dist/back/logger/format.js +27 -0
  56. package/dist/back/logger/format.js.map +1 -0
  57. package/dist/back/logger/module.d.ts +14 -0
  58. package/dist/back/logger/module.js +24 -0
  59. package/dist/back/logger/module.js.map +1 -0
  60. package/dist/back/logger/sqlite-storage.d.ts +27 -0
  61. package/dist/back/logger/sqlite-storage.js +169 -0
  62. package/dist/back/logger/sqlite-storage.js.map +1 -0
  63. package/dist/back/logger/system-logger.d.ts +27 -0
  64. package/dist/back/logger/system-logger.js +82 -0
  65. package/dist/back/logger/system-logger.js.map +1 -0
  66. package/dist/back/module/composer.d.ts +34 -0
  67. package/dist/back/module/composer.js +57 -0
  68. package/dist/back/module/composer.js.map +1 -0
  69. package/dist/back/rpc/gen.d.ts +2 -1
  70. package/dist/back/rpc/gen.js +38 -17
  71. package/dist/back/rpc/gen.js.map +1 -1
  72. package/dist/back/rpc/module.d.ts +14 -0
  73. package/dist/back/rpc/module.js +43 -0
  74. package/dist/back/rpc/module.js.map +1 -0
  75. package/dist/back/rpc/rpc.d.ts +53 -6
  76. package/dist/back/rpc/rpc.js +72 -29
  77. package/dist/back/rpc/rpc.js.map +1 -1
  78. package/dist/back/storage/db.js +5 -3
  79. package/dist/back/storage/db.js.map +1 -1
  80. package/dist/back/storage/model.d.ts +2 -2
  81. package/dist/back/storage/model.js +2 -2
  82. package/dist/back/storage/model.js.map +1 -1
  83. package/dist/back/storage/sync.d.ts +5 -2
  84. package/dist/back/storage/sync.js +1 -3
  85. package/dist/back/storage/sync.js.map +1 -1
  86. package/dist/client/adm/admin.d.ts +17 -0
  87. package/dist/client/adm/admin.js +62 -0
  88. package/dist/client/adm/admin.js.map +1 -0
  89. package/dist/client/adm/audit-logs.d.ts +5 -0
  90. package/dist/client/adm/audit-logs.js +68 -0
  91. package/dist/client/adm/audit-logs.js.map +1 -0
  92. package/dist/client/adm/certificate.d.ts +5 -0
  93. package/dist/client/adm/certificate.js +48 -0
  94. package/dist/client/adm/certificate.js.map +1 -0
  95. package/dist/client/config.d.ts +2 -0
  96. package/dist/client/config.js +7 -0
  97. package/dist/client/config.js.map +1 -1
  98. package/dist/client/rpc.d.ts +4 -4
  99. package/dist/client/rpc.js +19 -7
  100. package/dist/client/rpc.js.map +1 -1
  101. package/dist/client/screens/404.js.map +1 -1
  102. package/dist/client/screens/SignupSigninScreen.d.ts +13 -1
  103. package/dist/client/screens/SignupSigninScreen.js +41 -37
  104. package/dist/client/screens/SignupSigninScreen.js.map +1 -1
  105. package/dist/client/state/auth.d.ts +13 -7
  106. package/dist/client/state/auth.js +24 -19
  107. package/dist/client/state/auth.js.map +1 -1
  108. package/dist/client/sync.d.ts +7 -2
  109. package/dist/client/sync.js +5 -3
  110. package/dist/client/sync.js.map +1 -1
  111. package/dist/client/widgets/ItemsSelect.js +15 -8
  112. package/dist/client/widgets/ItemsSelect.js.map +1 -1
  113. package/package.json +87 -77
  114. package/dist/back/auth/controllers.d.ts +0 -7
  115. package/dist/back/auth/controllers.js +0 -39
  116. package/dist/back/auth/controllers.js.map +0 -1
  117. package/dist/back/esbuild-plugin-pino.d.ts +0 -6
  118. package/dist/back/esbuild-plugin-pino.js +0 -87
  119. package/dist/back/esbuild-plugin-pino.js.map +0 -1
  120. package/dist/back/logger.d.ts +0 -7
  121. package/dist/back/logger.js +0 -43
  122. package/dist/back/logger.js.map +0 -1
  123. package/dist/back/server.d.ts +0 -17
  124. package/dist/back/server.js +0 -94
  125. package/dist/back/server.js.map +0 -1
  126. package/dist/client/api/api.d.ts +0 -22
  127. package/dist/client/api/api.js +0 -87
  128. package/dist/client/api/api.js.map +0 -1
  129. package/dist/client/api/auth.d.ts +0 -5
  130. package/dist/client/api/auth.js +0 -22
  131. package/dist/client/api/auth.js.map +0 -1
  132. package/dist/shared/api/auth.d.ts +0 -19
  133. package/dist/shared/api/auth.js +0 -17
  134. package/dist/shared/api/auth.js.map +0 -1
  135. package/dist/shared/api/sync.d.ts +0 -21
  136. package/dist/shared/api/sync.js +0 -22
  137. package/dist/shared/api/sync.js.map +0 -1
@@ -1,32 +1,37 @@
1
1
  import { create } from 'zustand';
2
2
  import { persist } from 'zustand/middleware';
3
- import { cacheLastResult } from './cached.js';
3
+ import { setCsrfToken } from '../config.js';
4
4
  const AUTH_ID_KEY = 'AUTH_ID';
5
5
  const AUTH_NAME_KEY = 'AUTH_NAME';
6
6
  const AUTH_EMAIL_KEY = 'AUTH_EMAIL';
7
- const AUTH_TEMP_PASSWORD_KEY = 'AUTH_TEMP_PASSWORD';
8
7
  localStorage.removeItem(AUTH_ID_KEY);
9
8
  localStorage.removeItem(AUTH_NAME_KEY);
10
9
  localStorage.removeItem(AUTH_EMAIL_KEY);
11
- localStorage.removeItem(AUTH_TEMP_PASSWORD_KEY);
12
- // eslint-disable-next-line @typescript-eslint/naming-convention
13
- const makeAuthParam = cacheLastResult(function makeAuthParam(id, tempPassword) {
14
- if (id === null || tempPassword === null) {
15
- return null;
16
- }
17
- return { userId: id, tempPassword };
18
- });
19
- // eslint-disable-next-line @typescript-eslint/naming-convention
20
- export const useAuthState = create()(persist((set, get) => ({
10
+ export const useAuthState = create()(persist((set) => ({
21
11
  id: null,
22
12
  name: null,
23
13
  email: null,
24
- tempPassword: null,
25
- getAuthParam: () => {
26
- const { id, tempPassword } = get();
27
- return makeAuthParam(id, tempPassword);
14
+ csrfToken: null,
15
+ login: (id, name, email, csrfToken) => {
16
+ setCsrfToken(csrfToken);
17
+ set({ id, name, email, csrfToken });
28
18
  },
29
- login: (id, name, email, tempPassword) => set({ id, name, email, tempPassword }),
30
- logout: () => set({ id: null, name: null, email: null, tempPassword: null })
31
- }), { name: 'AUTH' }));
19
+ logout: () => {
20
+ setCsrfToken(null);
21
+ set({ id: null, name: null, email: null, csrfToken: null });
22
+ }
23
+ }), {
24
+ name: 'AUTH',
25
+ version: 2,
26
+ partialize: ({ id, name, email }) => ({ id, name, email }),
27
+ migrate: (persistedState) => {
28
+ const oldState = persistedState;
29
+ return {
30
+ id: typeof oldState.id === 'string' ? oldState.id : null,
31
+ name: typeof oldState.name === 'string' ? oldState.name : null,
32
+ email: typeof oldState.email === 'string' ? oldState.email : null,
33
+ csrfToken: null
34
+ };
35
+ }
36
+ }));
32
37
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/state/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,MAAM,aAAa,GAAG,WAAW,CAAA;AACjC,MAAM,cAAc,GAAG,YAAY,CAAA;AACnC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;AAEnD,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACpC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACtC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AACvC,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAY/C,gEAAgE;AAChE,MAAM,aAAa,GAAG,eAAe,CACjC,SAAS,aAAa,CAAC,EAAiB,EAAE,YAA2B;IACjE,IAAI,EAAE,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACvC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAA;AACvC,CAAC,CACJ,CAAA;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAa,CAC3C,OAAO,CACH,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAElB,YAAY,EAAE,GAAG,EAAE;QACf,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,CAAA;QAElC,OAAO,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;IACD,KAAK,EAAE,CAAC,EAAU,EAAE,IAAY,EAAE,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAChH,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;CAC/E,CAAC,EACF,EAAE,IAAI,EAAE,MAAM,EAAE,CACnB,CACJ,CAAA"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/state/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,MAAM,aAAa,GAAG,WAAW,CAAA;AACjC,MAAM,cAAc,GAAG,YAAY,CAAA;AAEnC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACpC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACtC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAWvC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAa,CAC3C,OAAO,CACH,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QAClC,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,EAAE,GAAG,EAAE;QACT,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;CACJ,CAAC,EACF;IACI,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC1D,OAAO,EAAE,CAAC,cAAc,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,cAAoC,CAAA;QACrD,OAAO;YACH,EAAE,EAAE,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACxD,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC9D,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACjE,SAAS,EAAE,IAAI;SAClB,CAAA;IACL,CAAC;CACJ,CACJ,CACJ,CAAA"}
@@ -1,10 +1,15 @@
1
1
  import { DateTime } from 'luxon';
2
- import { API_COMPARISON_OBJECT_SCHEMA_V0, ApiItemsResponseV0 } from '../shared/api/sync.js';
2
+ export interface SyncComparisonObject {
3
+ id: string;
4
+ lastModified: string;
5
+ }
3
6
  export declare function syncItems<T extends {
4
7
  id: string;
5
8
  lastModified: DateTime<true>;
6
9
  }>({ getRemoteLastModified, localItems, pushRemote, getRemote, pushLocal, lastSyncDate }: {
7
- getRemoteLastModified: () => Promise<ApiItemsResponseV0<typeof API_COMPARISON_OBJECT_SCHEMA_V0>>;
10
+ getRemoteLastModified: () => Promise<{
11
+ items: readonly SyncComparisonObject[];
12
+ }>;
8
13
  localItems: readonly T[];
9
14
  pushRemote: (items: readonly T[]) => Promise<void>;
10
15
  getRemote: (ids: readonly string[]) => Promise<T[]>;
@@ -2,7 +2,7 @@ import { DateTime } from 'luxon';
2
2
  import { toValidDateTime } from '../shared/utils/datetime.js';
3
3
  export async function syncItems({ getRemoteLastModified, localItems, pushRemote, getRemote, pushLocal, lastSyncDate }) {
4
4
  const remoteItems = (await getRemoteLastModified()).items;
5
- const remoteItemsMap = Object.fromEntries(remoteItems.map(i => [i.id, toValidDateTime(DateTime.fromISO(i.lastModified, { zone: 'utc' }))]));
5
+ const remoteItemsMap = Object.fromEntries(remoteItems.map((i) => [i.id, toValidDateTime(DateTime.fromISO(i.lastModified, { zone: 'utc' }))]));
6
6
  const itemsToGet = [];
7
7
  const itemsToPush = [];
8
8
  for (const i of localItems) {
@@ -22,17 +22,19 @@ export async function syncItems({ getRemoteLastModified, localItems, pushRemote,
22
22
  }
23
23
  itemsToGet.push(i.id);
24
24
  }
25
- const knownItems = new Set(localItems.map(i => i.id));
25
+ const knownItems = new Set(localItems.map((i) => i.id));
26
26
  for (const { id } of remoteItems) {
27
27
  if (!knownItems.has(id)) {
28
28
  itemsToGet.push(id);
29
29
  }
30
30
  }
31
+ // Push local edits before applying fetched remote versions so the two directions
32
+ // remain explicit and the caller can persist remote results after uploads finish.
31
33
  if (itemsToPush.length > 0) {
32
34
  await pushRemote(itemsToPush);
33
35
  }
34
36
  if (itemsToGet.length > 0) {
35
- pushLocal((await getRemote(itemsToGet)));
37
+ pushLocal(await getRemote(itemsToGet));
36
38
  }
37
39
  }
38
40
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/client/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAyD,EACpF,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EAQf;IACG,MAAM,WAAW,GAAG,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAA;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CACnG,CAAA;IAED,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAQ,EAAE,CAAA;IAE3B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnB,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;gBACzD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC;YACD,SAAQ;QACZ,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACZ,CAAC;QAED,IAAI,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,SAAQ;QACZ,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,CAAC,WAAW,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/client/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAO7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAyD,EACpF,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EAQf;IACG,MAAM,WAAW,GAAG,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAA;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CACrG,CAAA;IAED,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAQ,EAAE,CAAA;IAE3B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnB,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;gBACzD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC;YACD,SAAQ;QACZ,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACZ,CAAC;QAED,IAAI,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,SAAQ;QACZ,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,CAAC,WAAW,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1C,CAAC;AACL,CAAC"}
@@ -5,7 +5,8 @@ import { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';
5
5
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
6
6
  import { useResizeDetector } from 'react-resize-detector';
7
7
  const A = styled('a')({
8
- fontSize: '0', cursor: 'pointer'
8
+ fontSize: '0',
9
+ cursor: 'pointer'
9
10
  });
10
11
  export function ItemsSelect(props) {
11
12
  const { height, ref } = useResizeDetector();
@@ -29,14 +30,16 @@ export function ItemsSelect(props) {
29
30
  };
30
31
  }
31
32
  }, [carouselApi, onSelect]);
32
- const onSelectedChangeContainer = useMemo(() => { return { v: props.onSelectedChange }; }, []);
33
+ const onSelectedChangeContainer = useMemo(() => {
34
+ return { v: props.onSelectedChange };
35
+ }, []);
33
36
  onSelectedChangeContainer.v = props.onSelectedChange;
34
37
  const items = useMemo(() => {
35
38
  const items = filter === null
36
39
  ? props.items
37
40
  : (() => {
38
41
  const re = new RegExp(filter, 'i');
39
- return props.items.filter(i => re.test(i.label));
42
+ return props.items.filter((i) => re.test(i.label));
40
43
  })();
41
44
  return items.map((i) => {
42
45
  const fontStyle = typeof i === 'string' ? undefined : i.fontStyle;
@@ -44,7 +47,7 @@ export function ItemsSelect(props) {
44
47
  const chip = React.createElement(Chip, { key: i.value, color: 'primary', size: 'small', label: i.label, sx: { fontStyle } });
45
48
  if (props.selectZero || (props.selectMany && selected.size > 1)) {
46
49
  return (React.createElement(A, { key: i.value, onClick: () => {
47
- onSelectedChangeContainer.v(props.selected.filter(s => s !== i.value));
50
+ onSelectedChangeContainer.v(props.selected.filter((s) => s !== i.value));
48
51
  } }, chip));
49
52
  }
50
53
  return chip;
@@ -65,9 +68,11 @@ export function ItemsSelect(props) {
65
68
  React.createElement(InputLabel, null, 'Filter'),
66
69
  React.createElement(FilledInput, { fullWidth: true, size: 'small', value: filter ?? '', onChange: (ev) => {
67
70
  setFilter(ev.target.value === '' ? null : ev.target.value);
68
- }, endAdornment: (React.createElement(InputAdornment, { position: 'end' },
69
- React.createElement(IconButton, { disabled: filter === null, onClick: () => { setFilter(null); }, edge: 'end' },
70
- React.createElement(ClearIcon, null)))) })),
71
+ }, endAdornment: React.createElement(InputAdornment, { position: 'end' },
72
+ React.createElement(IconButton, { disabled: filter === null, onClick: () => {
73
+ setFilter(null);
74
+ }, edge: 'end' },
75
+ React.createElement(ClearIcon, null))) })),
71
76
  React.createElement(Box, { sx: { overflow: 'hidden' }, ref: carouselRef },
72
77
  React.createElement(Stack, { direction: 'row' },
73
78
  React.createElement(Box, { sx: { height: pageHeight, overflow: 'hidden', flex: '0 0 100%' } },
@@ -79,7 +84,9 @@ export function ItemsSelect(props) {
79
84
  })))),
80
85
  React.createElement(Stack, { direction: 'row', sx: { justifyContent: 'center', gap: 1, mt: 1, height: 10 } }, pages > 1
81
86
  ? Array.from(Iterator.range(pages).map((p) => {
82
- return (React.createElement(A, { key: p, onClick: () => { carouselApi?.scrollTo(p); } },
87
+ return (React.createElement(A, { key: p, onClick: () => {
88
+ carouselApi?.scrollTo(p);
89
+ } },
83
90
  React.createElement(Box, { sx: {
84
91
  width: 10,
85
92
  height: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"ItemsSelect.js","sourceRoot":"","sources":["../../../src/client/widgets/ItemsSelect.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemsSelect.js","sourceRoot":"","sources":["../../../src/client/widgets/ItemsSelect.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,78 +1,88 @@
1
1
  {
2
- "name": "rlz-engine",
3
- "version": "1.0.54",
4
- "description": "Deps and tools for my style of development",
5
- "author": "Dmitry Maslennikov <maslennikovdm@gmail.com>",
6
- "license": "ISC",
7
- "homepage": "https://github.com/rlz/rlz-engine",
8
- "bugs": {
9
- "url": "https://github.com/rlz/rlz-engine/issues"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/rlz/rlz-engine.git"
14
- },
15
- "type": "module",
16
- "exports": {
17
- "./back/*": "./dist/back/*",
18
- "./client/*": "./dist/client/*",
19
- "./shared/*": "./dist/shared/*"
20
- },
21
- "files": [
22
- "dist"
23
- ],
24
- "devDependencies": {
25
- "@stylistic/eslint-plugin": "^5.10.0",
26
- "@types/luxon": "^3.7.4",
27
- "@types/node": "^26.2.0",
28
- "@types/react": "^19.2.18",
29
- "@types/react-dom": "^19.2.4",
30
- "@typescript-eslint/parser": "^8.67.0",
31
- "eslint": "^10.8.1",
32
- "eslint-plugin-simple-import-sort": "^14.0.0",
33
- "tsx": "^4.23.12",
34
- "typescript": "^6.0.3",
35
- "typescript-eslint": "^8.67.0"
36
- },
37
- "dependencies": {
38
- "@emotion/react": "^11.14.0",
39
- "@emotion/styled": "^11.14.1",
40
- "@fastify/compress": "^9.2.0",
41
- "@fastify/cors": "^11.3.0",
42
- "@fastify/response-validation": "^3.0.4",
43
- "@fastify/sensible": "^6.0.5",
44
- "@fastify/static": "^10.1.3",
45
- "@fontsource/roboto": "^5.3.0",
46
- "@mui/icons-material": "^9.3.1",
47
- "@mui/material": "^9.3.1",
48
- "@types/react-router-dom": "^5.3.3",
49
- "acme-client": "^5.4.0",
50
- "ajv": "^8.20.0",
51
- "ajv-formats": "^3.0.1",
52
- "cmd-ts": "^0.15.0",
53
- "embla-carousel-react": "^8.6.0",
54
- "embla-carousel-wheel-gestures": "^8.1.0",
55
- "fastify": "^5.12.1",
56
- "fastify-acme": "^1.0.17",
57
- "fastify-plugin": "^6.0.0",
58
- "immer": "^11.1.18",
59
- "iterator-helpers-polyfill": "^3.0.1",
60
- "luxon": "^3.7.2",
61
- "mongodb": "^7.5.0",
62
- "pino": "^10.3.1",
63
- "pino-pretty": "^13.1.3",
64
- "react-resize-detector": "^12.3.0",
65
- "react-router-dom": "^7.18.2",
66
- "uuidv7": "^1.2.1",
67
- "zod": "^4.4.3",
68
- "zod-to-ts": "^2.1.0",
69
- "zustand": "^5.0.15"
70
- },
71
- "peerDependencies": {
72
- "react": "^19.0.0",
73
- "react-dom": "^19.0.0"
74
- },
75
- "scripts": {
76
- "build": "tsc --sourceMap"
77
- }
78
- }
2
+ "name": "rlz-engine",
3
+ "version": "1.0.56",
4
+ "description": "Deps and tools for my style of development",
5
+ "engines": {
6
+ "node": ">=22.13.0"
7
+ },
8
+ "scripts": {
9
+ "test": "npm run test:types && vitest run",
10
+ "test:all": "MONGODB_TEST_URI=mongodb://127.0.0.1:27017 npm test",
11
+ "test:coverage": "npm run test:types && vitest run --coverage",
12
+ "test:types": "tsc -p tsconfig.test.json",
13
+ "build": "tsc --sourceMap",
14
+ "lint": "oxlint --type-aware",
15
+ "format": "oxfmt",
16
+ "format:check": "oxfmt --check",
17
+ "prepack": "rm -rf dist && tsc --sourceMap"
18
+ },
19
+ "author": "Dmitry Maslennikov <maslennikovdm@gmail.com>",
20
+ "license": "ISC",
21
+ "homepage": "https://github.com/rlz/rlz-engine",
22
+ "bugs": {
23
+ "url": "https://github.com/rlz/rlz-engine/issues"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/rlz/rlz-engine.git"
28
+ },
29
+ "type": "module",
30
+ "exports": {
31
+ "./back/*": "./dist/back/*",
32
+ "./client/*": "./dist/client/*",
33
+ "./shared/*": "./dist/shared/*"
34
+ },
35
+ "files": [
36
+ "dist"
37
+ ],
38
+ "devDependencies": {
39
+ "@types/luxon": "^3.7.4",
40
+ "@types/node": "^26.2.0",
41
+ "@types/react": "^19.2.18",
42
+ "@types/react-dom": "^19.2.4",
43
+ "@typescript/native": "npm:typescript@^7.0.2",
44
+ "@vitest/coverage-v8": "^5.0.5",
45
+ "oxfmt": "^0.73.0",
46
+ "oxlint": "^1.88.0",
47
+ "oxlint-tsgolint": "^7.0.2004",
48
+ "tsx": "^4.23.12",
49
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
50
+ "vitest": "^5.0.3"
51
+ },
52
+ "dependencies": {
53
+ "@emotion/react": "^11.14.0",
54
+ "@emotion/styled": "^11.14.1",
55
+ "@fastify/compress": "^9.2.0",
56
+ "@fastify/cookie": "^11.1.3",
57
+ "@fastify/cors": "^11.3.0",
58
+ "@fastify/response-validation": "^3.0.4",
59
+ "@fastify/sensible": "^6.0.5",
60
+ "@fastify/static": "^10.1.3",
61
+ "@fontsource/roboto": "^5.3.0",
62
+ "@mui/icons-material": "^9.3.1",
63
+ "@mui/material": "^9.3.1",
64
+ "@types/react-router-dom": "^5.3.3",
65
+ "acme-client": "^5.4.0",
66
+ "ajv": "^8.20.0",
67
+ "ajv-formats": "^3.0.1",
68
+ "cmd-ts": "^0.15.0",
69
+ "embla-carousel-react": "^8.6.0",
70
+ "embla-carousel-wheel-gestures": "^8.1.0",
71
+ "fastify": "^5.12.1",
72
+ "fastify-acme": "^1.0.17",
73
+ "fastify-plugin": "^6.0.0",
74
+ "iterator-helpers-polyfill": "^3.0.1",
75
+ "luxon": "^3.7.2",
76
+ "mongodb": "^7.5.0",
77
+ "react-resize-detector": "^12.3.0",
78
+ "react-router-dom": "^7.18.2",
79
+ "uuidv7": "^1.2.1",
80
+ "zod": "^4.4.3",
81
+ "zod-to-ts": "^2.1.0",
82
+ "zustand": "^5.0.15"
83
+ },
84
+ "peerDependencies": {
85
+ "react": "^19.0.0",
86
+ "react-dom": "^19.0.0"
87
+ }
88
+ }
@@ -1,7 +0,0 @@
1
- import { FastifyInstance, RawServerBase } from 'fastify';
2
- import { AuthStorage } from './storage.js';
3
- interface AuthEndpointsOpts {
4
- storage: AuthStorage;
5
- }
6
- export declare const AUTH_API: <T extends RawServerBase>(app: FastifyInstance<T>, { storage }: AuthEndpointsOpts) => Promise<void>;
7
- export {};
@@ -1,39 +0,0 @@
1
- import { httpErrors } from '@fastify/sensible';
2
- import fastifyPlugin from 'fastify-plugin';
3
- import { API_AUTH_RESPONSE_SCHEMA_V0, API_SIGNIN_REQUEST_SCHEMA_V0, API_SIGNUP_REQUEST_SCHEMA_V0 } from '../../shared/api/auth.js';
4
- import { logout, signin, signup } from './utils.js';
5
- export const AUTH_API = fastifyPlugin(async function authApi(app, { storage }) {
6
- app.post('/api/v0/signup', {
7
- schema: {
8
- body: API_SIGNUP_REQUEST_SCHEMA_V0.toJSONSchema({ target: 'draft-07' }),
9
- response: { 200: API_AUTH_RESPONSE_SCHEMA_V0.toJSONSchema({ target: 'draft-07' }) }
10
- }
11
- }, async (req, _resp) => {
12
- const body = API_SIGNUP_REQUEST_SCHEMA_V0.parse(req.body);
13
- return await signup(storage, body.name, body.email, body.password);
14
- });
15
- app.post('/api/v0/signin', {
16
- schema: {
17
- body: API_SIGNIN_REQUEST_SCHEMA_V0.toJSONSchema({ target: 'draft-07' }),
18
- response: { 200: API_AUTH_RESPONSE_SCHEMA_V0.toJSONSchema({ target: 'draft-07' }) }
19
- }
20
- }, async (req, _resp) => {
21
- const body = API_SIGNIN_REQUEST_SCHEMA_V0.parse(req.body);
22
- const r = await signin(storage, body.name, body.password);
23
- if (r === null) {
24
- return httpErrors.unauthorized();
25
- }
26
- return r;
27
- });
28
- app.post('/api/v0/logout', {}, async (req, resp) => {
29
- await storage.auth(req.headers);
30
- const authHeader = req.headers.authorization;
31
- if (authHeader === undefined) {
32
- throw httpErrors.forbidden();
33
- }
34
- const [userId, tempPassword] = authHeader.split(':');
35
- await logout(storage, userId, tempPassword);
36
- return resp.code(204).send();
37
- });
38
- });
39
- //# sourceMappingURL=controllers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../../src/back/auth/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AAElI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAMnD,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CACjC,KAAK,UAAU,OAAO,CAA0B,GAAuB,EAAE,EAAE,OAAO,EAAqB;IACnG,GAAG,CAAC,IAAI,CACJ,gBAAgB,EAChB;QACI,MAAM,EAAE;YACJ,IAAI,EAAE,4BAA4B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACvE,QAAQ,EAAE,EAAE,GAAG,EAAE,2BAA2B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;SACtF;KACJ,EACD,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzD,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtE,CAAC,CACJ,CAAA;IAED,GAAG,CAAC,IAAI,CACJ,gBAAgB,EAChB;QACI,MAAM,EAAE;YACJ,IAAI,EAAE,4BAA4B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACvE,QAAQ,EAAE,EAAE,GAAG,EAAE,2BAA2B,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;SACtF;KACJ,EACD,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACb,OAAO,UAAU,CAAC,YAAY,EAAE,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,CAAA;IACZ,CAAC,CACJ,CAAA;IAED,GAAG,CAAC,IAAI,CACJ,gBAAgB,EAChB,EACC,EACD,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAChB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAA;QAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,CAAC,SAAS,EAAE,CAAA;QAChC,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEpD,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC,CACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
@@ -1,6 +0,0 @@
1
- import type { Plugin } from 'esbuild';
2
- type PinoWorkersPluginOptions = {
3
- transports?: string[];
4
- };
5
- export declare function esbuildPluginPino(options?: PinoWorkersPluginOptions): Plugin;
6
- export {};
@@ -1,87 +0,0 @@
1
- import { createRequire } from 'node:module';
2
- import path from 'node:path';
3
- import { build as esbuildBuild } from 'esbuild';
4
- const REQUIRE = createRequire(import.meta.url);
5
- export function esbuildPluginPino(options = {}) {
6
- return {
7
- name: 'pino-workers',
8
- setup(build) {
9
- const outdir = build.initialOptions.outdir;
10
- if (!outdir) {
11
- throw new Error('pinoWorkersPlugin requires "outdir" to be set');
12
- }
13
- const extraEntries = resolveExtraEntries(outdir, options.transports ?? []);
14
- injectBundlerOverrides(build.initialOptions, extraEntries);
15
- build.onEnd(async (result) => {
16
- if (result.errors.length > 0) {
17
- return;
18
- }
19
- await Promise.all(extraEntries.map(entry => esbuildBuild(makeBuildOptions(build.initialOptions, entry))));
20
- });
21
- }
22
- };
23
- }
24
- function resolveExtraEntries(outdir, transports) {
25
- const transportEntries = Array.from(new Set(['pino/file', ...transports])).map(transport => ({
26
- entryPoint: REQUIRE.resolve(transport),
27
- outfile: path.join(outdir, `${sanitizeTransportName(transport)}.js`),
28
- overrideKey: transport
29
- }));
30
- return [
31
- {
32
- entryPoint: REQUIRE.resolve('thread-stream/lib/worker.js'),
33
- outfile: path.join(outdir, 'thread-stream-worker.js'),
34
- overrideKey: 'thread-stream-worker'
35
- },
36
- {
37
- entryPoint: REQUIRE.resolve('pino/lib/worker.js'),
38
- outfile: path.join(outdir, 'pino-worker.js'),
39
- overrideKey: 'pino-worker'
40
- },
41
- ...transportEntries
42
- ];
43
- }
44
- function makeBuildOptions(initialOptions, entry) {
45
- return {
46
- bundle: true,
47
- define: initialOptions.define,
48
- external: initialOptions.external,
49
- format: initialOptions.format ?? 'cjs',
50
- keepNames: initialOptions.keepNames,
51
- minify: initialOptions.minify,
52
- outfile: entry.outfile,
53
- platform: initialOptions.platform ?? 'node',
54
- sourcemap: initialOptions.sourcemap,
55
- target: initialOptions.target,
56
- entryPoints: [entry.entryPoint]
57
- };
58
- }
59
- function sanitizeTransportName(transport) {
60
- return transport.replace(/[@/\\]/g, '-');
61
- }
62
- function injectBundlerOverrides(initialOptions, extraEntries) {
63
- const existingBanner = initialOptions.banner?.js;
64
- const overrideLines = extraEntries.map((entry) => {
65
- const relativePath = `./${path.basename(entry.outfile)}`;
66
- return `${JSON.stringify(entry.overrideKey)}: pinoBundlerAbsolutePath(${JSON.stringify(relativePath)})`;
67
- });
68
- const banner = [
69
- existingBanner,
70
- 'function pinoBundlerAbsolutePath(path) {',
71
- ' try {',
72
- ' return require(\'path\').join((process.cwd() + require(\'path\').sep + \'dist\').replace(/\\\\/g, \'/\'), path)',
73
- ' } catch {',
74
- ' return new Function(\'p\', \'return new URL(p, import.meta.url).pathname\')(path)',
75
- ' }',
76
- '}',
77
- 'globalThis.__bundlerPathsOverrides = {',
78
- ' ...(globalThis.__bundlerPathsOverrides || {}),',
79
- ` ${overrideLines.join(',\n ')}`,
80
- '};'
81
- ].filter(Boolean).join('\n');
82
- initialOptions.banner = {
83
- ...initialOptions.banner,
84
- js: banner
85
- };
86
- }
87
- //# sourceMappingURL=esbuild-plugin-pino.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"esbuild-plugin-pino.js","sourceRoot":"","sources":["../../src/back/esbuild-plugin-pino.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { WritableDraft } from 'immer';
2
- import { Logger, LoggerOptions } from 'pino';
3
- export interface LoggerConfig {
4
- debug?: boolean;
5
- }
6
- export declare function logger(name: string, config?: LoggerConfig, optionsRecipe?: (draft: WritableDraft<LoggerOptions>) => WritableDraft<LoggerOptions>): Logger;
7
- export declare function loggerOptions(name: string, { debug }?: LoggerConfig): LoggerOptions;
@@ -1,43 +0,0 @@
1
- import { produce } from 'immer';
2
- import { pino } from 'pino';
3
- import { PRODUCTION } from './config.js';
4
- export function logger(name, config, optionsRecipe) {
5
- const options = optionsRecipe === undefined
6
- ? loggerOptions(name, config)
7
- : produce(loggerOptions(name, config), optionsRecipe);
8
- return pino(options);
9
- }
10
- export function loggerOptions(name, { debug = false } = {}) {
11
- if (PRODUCTION) {
12
- return {
13
- name,
14
- transport: {
15
- targets: [
16
- {
17
- level: debug ? 'debug' : 'info',
18
- target: 'pino/file',
19
- options: { destination: 1 }
20
- }
21
- // {
22
- // level: 'info',
23
- // target: 'pino-'
24
- // }
25
- ]
26
- },
27
- level: debug ? 'debug' : 'info'
28
- };
29
- }
30
- return {
31
- name,
32
- transport: {
33
- targets: [
34
- {
35
- level: 'trace',
36
- target: 'pino-pretty'
37
- }
38
- ]
39
- },
40
- level: debug ? 'trace' : 'info'
41
- };
42
- }
43
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/back/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAyB,IAAI,EAAE,MAAM,MAAM,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAMxC,MAAM,UAAU,MAAM,CAClB,IAAY,EACZ,MAAqB,EACrB,aAAqF;IAErF,MAAM,OAAO,GAAG,aAAa,KAAK,SAAS;QACvC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CAAA;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,EAAE,KAAK,GAAG,KAAK,KAAmB,EAAE;IAC5E,IAAI,UAAU,EAAE,CAAC;QACb,OAAO;YACH,IAAI;YACJ,SAAS,EAAE;gBACP,OAAO,EAAE;oBACL;wBACI,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBAC/B,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;qBAC9B;oBACD,IAAI;oBACJ,qBAAqB;oBACrB,sBAAsB;oBACtB,IAAI;iBACP;aACJ;YACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SAClC,CAAA;IACL,CAAC;IAED,OAAO;QACH,IAAI;QACJ,SAAS,EAAE;YACP,OAAO,EAAE;gBACL;oBACI,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,aAAa;iBACxB;aACJ;SACJ;QACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAClC,CAAA;AACL,CAAC"}