@spring-systems/core 0.8.6 → 0.8.7

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 (97) hide show
  1. package/dist/adapters/index.js +1 -56
  2. package/dist/auth/index.js +1 -19
  3. package/dist/chunk-3OMNT22N.js +1 -0
  4. package/dist/chunk-4KRUU6MS.js +1 -0
  5. package/dist/chunk-6J2VFOKL.js +1 -0
  6. package/dist/chunk-7P4BJDQR.js +1 -0
  7. package/dist/chunk-AMXSATFF.js +1 -0
  8. package/dist/chunk-BMIRKMVX.js +1 -0
  9. package/dist/chunk-EVDFSWPU.js +1 -0
  10. package/dist/chunk-F3VXVDPQ.js +1 -0
  11. package/dist/chunk-GSQE2NEY.js +1 -0
  12. package/dist/chunk-HUASNNWD.js +1 -0
  13. package/dist/chunk-ICKHSEIX.js +1 -0
  14. package/dist/chunk-JRHMAY5G.js +1 -0
  15. package/dist/chunk-MNLYYTGZ.js +7 -0
  16. package/dist/chunk-OOVZTF74.js +1 -0
  17. package/dist/chunk-PNDXLNCU.js +1 -0
  18. package/dist/chunk-R3XYEEGR.js +1 -0
  19. package/dist/chunk-RKLYBW3O.js +1 -0
  20. package/dist/chunk-RVQHSQYF.js +3 -0
  21. package/dist/chunk-UT6X6RQM.js +1 -0
  22. package/dist/chunk-Y6DB43IE.js +3 -0
  23. package/dist/chunk-YMSSF2ZU.js +1 -0
  24. package/dist/config/index.js +1 -109
  25. package/dist/devtools/index.js +1 -67
  26. package/dist/errors/index.js +1 -21
  27. package/dist/events/index.js +1 -12
  28. package/dist/i18n/index.js +1 -7
  29. package/dist/index.js +1 -42
  30. package/dist/instance/index.js +1 -37
  31. package/dist/logger/index.js +1 -27
  32. package/dist/middleware/index.js +1 -23
  33. package/dist/plugins/index.js +1 -16
  34. package/dist/testing/index.js +1 -171
  35. package/dist/types/index.js +1 -72
  36. package/dist/utils/index.d.ts +1 -0
  37. package/dist/utils/index.js +1 -772
  38. package/dist/validation/index.js +1 -147
  39. package/package.json +137 -136
  40. package/dist/adapters/index.js.map +0 -1
  41. package/dist/auth/index.js.map +0 -1
  42. package/dist/chunk-2PJWFA5S.js +0 -393
  43. package/dist/chunk-2PJWFA5S.js.map +0 -1
  44. package/dist/chunk-EFUBAQCV.js +0 -94
  45. package/dist/chunk-EFUBAQCV.js.map +0 -1
  46. package/dist/chunk-F2SIMWZ5.js +0 -173
  47. package/dist/chunk-F2SIMWZ5.js.map +0 -1
  48. package/dist/chunk-F7WUQJH7.js +0 -399
  49. package/dist/chunk-F7WUQJH7.js.map +0 -1
  50. package/dist/chunk-GON7Q32Q.js +0 -176
  51. package/dist/chunk-GON7Q32Q.js.map +0 -1
  52. package/dist/chunk-GXU75LQX.js +0 -182
  53. package/dist/chunk-GXU75LQX.js.map +0 -1
  54. package/dist/chunk-HFELOXDQ.js +0 -110
  55. package/dist/chunk-HFELOXDQ.js.map +0 -1
  56. package/dist/chunk-KX32MU3I.js +0 -190
  57. package/dist/chunk-KX32MU3I.js.map +0 -1
  58. package/dist/chunk-MEWPYTWC.js +0 -284
  59. package/dist/chunk-MEWPYTWC.js.map +0 -1
  60. package/dist/chunk-N2L4TUC4.js +0 -34
  61. package/dist/chunk-N2L4TUC4.js.map +0 -1
  62. package/dist/chunk-NQQIVCLX.js +0 -47
  63. package/dist/chunk-NQQIVCLX.js.map +0 -1
  64. package/dist/chunk-OSSX443T.js +0 -146
  65. package/dist/chunk-OSSX443T.js.map +0 -1
  66. package/dist/chunk-PT4DIYUK.js +0 -78
  67. package/dist/chunk-PT4DIYUK.js.map +0 -1
  68. package/dist/chunk-QAVWXARR.js +0 -51
  69. package/dist/chunk-QAVWXARR.js.map +0 -1
  70. package/dist/chunk-RRWKDFAB.js +0 -143
  71. package/dist/chunk-RRWKDFAB.js.map +0 -1
  72. package/dist/chunk-RUCXSQEY.js +0 -42
  73. package/dist/chunk-RUCXSQEY.js.map +0 -1
  74. package/dist/chunk-S6RPCN5H.js +0 -64
  75. package/dist/chunk-S6RPCN5H.js.map +0 -1
  76. package/dist/chunk-S7MKRNMI.js +0 -153
  77. package/dist/chunk-S7MKRNMI.js.map +0 -1
  78. package/dist/chunk-SQB4F3EF.js +0 -55
  79. package/dist/chunk-SQB4F3EF.js.map +0 -1
  80. package/dist/chunk-UDT2RPX2.js +0 -43
  81. package/dist/chunk-UDT2RPX2.js.map +0 -1
  82. package/dist/chunk-VRMVN2UM.js +0 -17
  83. package/dist/chunk-VRMVN2UM.js.map +0 -1
  84. package/dist/config/index.js.map +0 -1
  85. package/dist/devtools/index.js.map +0 -1
  86. package/dist/errors/index.js.map +0 -1
  87. package/dist/events/index.js.map +0 -1
  88. package/dist/i18n/index.js.map +0 -1
  89. package/dist/index.js.map +0 -1
  90. package/dist/instance/index.js.map +0 -1
  91. package/dist/logger/index.js.map +0 -1
  92. package/dist/middleware/index.js.map +0 -1
  93. package/dist/plugins/index.js.map +0 -1
  94. package/dist/testing/index.js.map +0 -1
  95. package/dist/types/index.js.map +0 -1
  96. package/dist/utils/index.js.map +0 -1
  97. package/dist/validation/index.js.map +0 -1
@@ -1,147 +1 @@
1
- import {
2
- clearValidators,
3
- getRegisteredValidators,
4
- getValidator,
5
- interpretValidation,
6
- registerValidator
7
- } from "../chunk-RRWKDFAB.js";
8
- import "../chunk-QAVWXARR.js";
9
- import {
10
- getContentRes
11
- } from "../chunk-NQQIVCLX.js";
12
- import "../chunk-N2L4TUC4.js";
13
- import "../chunk-RUCXSQEY.js";
14
- import "../chunk-KX32MU3I.js";
15
- import "../chunk-EFUBAQCV.js";
16
- import "../chunk-PT4DIYUK.js";
17
-
18
- // src/validation/field-validators.ts
19
- function isPhoneNumber(str) {
20
- if (!/^[+]?[()/0-9. -]+$/.test(str)) return false;
21
- const digits = str.replace(/\D/g, "");
22
- if (digits.length < 7 || digits.length > 15) return false;
23
- if (str.startsWith("+") && !/^\+\d/.test(str)) return false;
24
- if (/\+.*\+/.test(str)) return false;
25
- if (!str.startsWith("+") && str.includes("+")) return false;
26
- return true;
27
- }
28
- function validatePhoneNumber(value, required = false) {
29
- const input = typeof value === "string" ? value.trim() : "";
30
- if (required && input.length === 0) {
31
- return getContentRes("admin-fill-value");
32
- }
33
- if (input.length === 0) {
34
- return "";
35
- }
36
- if (input.includes(";")) {
37
- const parts = input.split(";").map((x) => x.trim()).filter((x) => x.length > 0);
38
- if (required && parts.length === 0) {
39
- return getContentRes("admin-fill-value");
40
- }
41
- for (const part of parts) {
42
- if (!isPhoneNumber(part)) {
43
- return getContentRes("admin-invalid-phone-number-format");
44
- }
45
- }
46
- return "";
47
- }
48
- if (!isPhoneNumber(input)) {
49
- return getContentRes("admin-invalid-phone-number-format");
50
- }
51
- return "";
52
- }
53
- function isEmailAddress(str) {
54
- return /^[a-zA-Z0-9](?:[a-zA-Z0-9._+-]*[a-zA-Z0-9])?@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/.test(
55
- str
56
- );
57
- }
58
- function isMultipleEmailAddress(str) {
59
- if (str == null) {
60
- return false;
61
- }
62
- const parts = str.split(/[,;\s]+/).filter((p) => p.includes("@"));
63
- return parts.length >= 2;
64
- }
65
- function validateEmailAddress(value, required = false) {
66
- const input = typeof value === "string" ? value.trim() : "";
67
- if (required && input.length === 0) {
68
- return getContentRes("admin-fill-value");
69
- }
70
- if (input.length === 0) {
71
- return "";
72
- }
73
- if (input.includes(";")) {
74
- const parts = input.split(";").map((x) => x.trim()).filter((x) => x.length > 0);
75
- if (required && parts.length === 0) {
76
- return getContentRes("admin-fill-value");
77
- }
78
- for (const part of parts) {
79
- if (isMultipleEmailAddress(part)) {
80
- return getContentRes("admin-email-contains-multiple-addresses");
81
- }
82
- if (!isEmailAddress(part)) {
83
- return getContentRes("admin-invalid-email-format");
84
- }
85
- }
86
- return "";
87
- }
88
- if (isMultipleEmailAddress(input)) {
89
- return getContentRes("admin-email-contains-multiple-addresses");
90
- }
91
- if (!isEmailAddress(input)) {
92
- return getContentRes("admin-invalid-email-format");
93
- }
94
- return "";
95
- }
96
- function isAbsoluteUrl(str) {
97
- if (!str) return false;
98
- const s = String(str).trim();
99
- if (!s || /\s/.test(s)) return false;
100
- try {
101
- const url = new URL(s);
102
- const protocolOk = url.protocol === "http:" || url.protocol === "https:";
103
- if (!protocolOk) return false;
104
- if (!url.hostname) return false;
105
- return true;
106
- } catch {
107
- return false;
108
- }
109
- }
110
- function validateAbsoluteUrl(value, required = false) {
111
- const input = typeof value === "string" ? value.trim() : "";
112
- if (required && input.length === 0) {
113
- return getContentRes("admin-fill-value");
114
- }
115
- if (input.length === 0) {
116
- return "";
117
- }
118
- if (!isAbsoluteUrl(input)) {
119
- return getContentRes("admin-invalid-url-format");
120
- }
121
- return "";
122
- }
123
- function validatePasswordStrength(value) {
124
- if (!value) return getContentRes("admin-fill-value");
125
- if (value.length < 8) return getContentRes("admin-password-min-length");
126
- if (!/[A-Z]/.test(value)) return getContentRes("admin-password-uppercase");
127
- if (!/[a-z]/.test(value)) return getContentRes("admin-password-lowercase");
128
- if (!/[0-9]/.test(value)) return getContentRes("admin-password-digit");
129
- if (!/[^A-Za-z0-9]/.test(value)) return getContentRes("admin-password-special-char");
130
- return "";
131
- }
132
- export {
133
- clearValidators,
134
- getRegisteredValidators,
135
- getValidator,
136
- interpretValidation,
137
- isAbsoluteUrl,
138
- isEmailAddress,
139
- isMultipleEmailAddress,
140
- isPhoneNumber,
141
- registerValidator,
142
- validateAbsoluteUrl,
143
- validateEmailAddress,
144
- validatePasswordStrength,
145
- validatePhoneNumber
146
- };
147
- //# sourceMappingURL=index.js.map
1
+ import{a as u,b as m,c as d,d as p,e as c}from"../chunk-AMXSATFF.js";import"../chunk-ICKHSEIX.js";import{b as n}from"../chunk-7P4BJDQR.js";import"../chunk-HUASNNWD.js";import"../chunk-YMSSF2ZU.js";import"../chunk-EVDFSWPU.js";import"../chunk-JRHMAY5G.js";import"../chunk-OOVZTF74.js";function a(t){if(!/^[+]?[()/0-9. -]+$/.test(t))return!1;let e=t.replace(/\D/g,"");return!(e.length<7||e.length>15||t.startsWith("+")&&!/^\+\d/.test(t)||/\+.*\+/.test(t)||!t.startsWith("+")&&t.includes("+"))}function h(t,e=!1){let r=typeof t=="string"?t.trim():"";if(e&&r.length===0)return n("admin-fill-value");if(r.length===0)return"";if(r.includes(";")){let s=r.split(";").map(i=>i.trim()).filter(i=>i.length>0);if(e&&s.length===0)return n("admin-fill-value");for(let i of s)if(!a(i))return n("admin-invalid-phone-number-format");return""}return a(r)?"":n("admin-invalid-phone-number-format")}function l(t){return/^[a-zA-Z0-9](?:[a-zA-Z0-9._+-]*[a-zA-Z0-9])?@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/.test(t)}function o(t){return t==null?!1:t.split(/[,;\s]+/).filter(r=>r.includes("@")).length>=2}function A(t,e=!1){let r=typeof t=="string"?t.trim():"";if(e&&r.length===0)return n("admin-fill-value");if(r.length===0)return"";if(r.includes(";")){let s=r.split(";").map(i=>i.trim()).filter(i=>i.length>0);if(e&&s.length===0)return n("admin-fill-value");for(let i of s){if(o(i))return n("admin-email-contains-multiple-addresses");if(!l(i))return n("admin-invalid-email-format")}return""}return o(r)?n("admin-email-contains-multiple-addresses"):l(r)?"":n("admin-invalid-email-format")}function f(t){if(!t)return!1;let e=String(t).trim();if(!e||/\s/.test(e))return!1;try{let r=new URL(e);return!(!(r.protocol==="http:"||r.protocol==="https:")||!r.hostname)}catch{return!1}}function b(t,e=!1){let r=typeof t=="string"?t.trim():"";return e&&r.length===0?n("admin-fill-value"):r.length===0||f(r)?"":n("admin-invalid-url-format")}function x(t){return t?t.length<8?n("admin-password-min-length"):/[A-Z]/.test(t)?/[a-z]/.test(t)?/[0-9]/.test(t)?/[^A-Za-z0-9]/.test(t)?"":n("admin-password-special-char"):n("admin-password-digit"):n("admin-password-lowercase"):n("admin-password-uppercase"):n("admin-fill-value")}export{p as clearValidators,d as getRegisteredValidators,m as getValidator,c as interpretValidation,f as isAbsoluteUrl,l as isEmailAddress,o as isMultipleEmailAddress,a as isPhoneNumber,u as registerValidator,b as validateAbsoluteUrl,A as validateEmailAddress,x as validatePasswordStrength,h as validatePhoneNumber};
package/package.json CHANGED
@@ -1,145 +1,146 @@
1
1
  {
2
- "name": "@spring-systems/core",
3
- "version": "0.8.6",
4
- "description": "Core types, utilities, and configuration for the Spring Systems framework",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "files": [
9
- "dist",
10
- "README.md",
11
- "LICENSE",
12
- "CHANGELOG.md"
13
- ],
14
- "license": "UNLICENSED",
15
- "author": "Spring Systems",
16
- "publishConfig": {
17
- "access": "restricted"
18
- },
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://bitbucket.org/springsystems-projects/spring-framework-frontend.git",
22
- "directory": "packages/core"
23
- },
24
- "homepage": "https://bitbucket.org/springsystems-projects/spring-framework-frontend/src/main/packages/core#readme",
25
- "bugs": {
26
- "url": "https://bitbucket.org/springsystems-projects/spring-framework-frontend/issues"
27
- },
28
- "keywords": [
29
- "spring-systems",
30
- "typescript",
31
- "framework",
32
- "core",
33
- "event-bus",
34
- "middleware",
35
- "configuration"
36
- ],
37
- "engines": {
38
- "node": ">=22.0.0"
39
- },
40
- "sideEffects": false,
41
- "exports": {
42
- ".": {
43
- "types": "./dist/index.d.ts",
44
- "import": "./dist/index.js",
45
- "default": "./dist/index.js"
2
+ "name": "@spring-systems/core",
3
+ "version": "0.8.7",
4
+ "description": "Core types, utilities, and configuration for the Spring Systems framework",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "LICENSE",
12
+ "CHANGELOG.md"
13
+ ],
14
+ "license": "UNLICENSED",
15
+ "author": "Spring Systems",
16
+ "publishConfig": {
17
+ "access": "restricted"
46
18
  },
47
- "./types": {
48
- "types": "./dist/types/index.d.ts",
49
- "import": "./dist/types/index.js",
50
- "default": "./dist/types/index.js"
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://bitbucket.org/springsystems-projects/spring-framework-frontend.git",
22
+ "directory": "packages/core"
51
23
  },
52
- "./utils": {
53
- "types": "./dist/utils/index.d.ts",
54
- "import": "./dist/utils/index.js",
55
- "default": "./dist/utils/index.js"
24
+ "homepage": "https://bitbucket.org/springsystems-projects/spring-framework-frontend/src/main/packages/core#readme",
25
+ "bugs": {
26
+ "url": "https://bitbucket.org/springsystems-projects/spring-framework-frontend/issues"
56
27
  },
57
- "./config": {
58
- "types": "./dist/config/index.d.ts",
59
- "import": "./dist/config/index.js",
60
- "default": "./dist/config/index.js"
28
+ "keywords": [
29
+ "spring-systems",
30
+ "typescript",
31
+ "framework",
32
+ "core",
33
+ "event-bus",
34
+ "middleware",
35
+ "configuration"
36
+ ],
37
+ "engines": {
38
+ "node": ">=22.0.0"
61
39
  },
62
- "./validation": {
63
- "types": "./dist/validation/index.d.ts",
64
- "import": "./dist/validation/index.js",
65
- "default": "./dist/validation/index.js"
40
+ "sideEffects": false,
41
+ "exports": {
42
+ ".": {
43
+ "types": "./dist/index.d.ts",
44
+ "import": "./dist/index.js",
45
+ "default": "./dist/index.js"
46
+ },
47
+ "./types": {
48
+ "types": "./dist/types/index.d.ts",
49
+ "import": "./dist/types/index.js",
50
+ "default": "./dist/types/index.js"
51
+ },
52
+ "./utils": {
53
+ "types": "./dist/utils/index.d.ts",
54
+ "import": "./dist/utils/index.js",
55
+ "default": "./dist/utils/index.js"
56
+ },
57
+ "./config": {
58
+ "types": "./dist/config/index.d.ts",
59
+ "import": "./dist/config/index.js",
60
+ "default": "./dist/config/index.js"
61
+ },
62
+ "./validation": {
63
+ "types": "./dist/validation/index.d.ts",
64
+ "import": "./dist/validation/index.js",
65
+ "default": "./dist/validation/index.js"
66
+ },
67
+ "./logger": {
68
+ "types": "./dist/logger/index.d.ts",
69
+ "import": "./dist/logger/index.js",
70
+ "default": "./dist/logger/index.js"
71
+ },
72
+ "./auth": {
73
+ "types": "./dist/auth/index.d.ts",
74
+ "import": "./dist/auth/index.js",
75
+ "default": "./dist/auth/index.js"
76
+ },
77
+ "./adapters": {
78
+ "types": "./dist/adapters/index.d.ts",
79
+ "import": "./dist/adapters/index.js",
80
+ "default": "./dist/adapters/index.js"
81
+ },
82
+ "./plugins": {
83
+ "types": "./dist/plugins/index.d.ts",
84
+ "import": "./dist/plugins/index.js",
85
+ "default": "./dist/plugins/index.js"
86
+ },
87
+ "./events": {
88
+ "types": "./dist/events/index.d.ts",
89
+ "import": "./dist/events/index.js",
90
+ "default": "./dist/events/index.js"
91
+ },
92
+ "./middleware": {
93
+ "types": "./dist/middleware/index.d.ts",
94
+ "import": "./dist/middleware/index.js",
95
+ "default": "./dist/middleware/index.js"
96
+ },
97
+ "./errors": {
98
+ "types": "./dist/errors/index.d.ts",
99
+ "import": "./dist/errors/index.js",
100
+ "default": "./dist/errors/index.js"
101
+ },
102
+ "./i18n": {
103
+ "types": "./dist/i18n/index.d.ts",
104
+ "import": "./dist/i18n/index.js",
105
+ "default": "./dist/i18n/index.js"
106
+ },
107
+ "./instance": {
108
+ "types": "./dist/instance/index.d.ts",
109
+ "import": "./dist/instance/index.js",
110
+ "default": "./dist/instance/index.js"
111
+ },
112
+ "./testing": {
113
+ "types": "./dist/testing/index.d.ts",
114
+ "import": "./dist/testing/index.js",
115
+ "default": "./dist/testing/index.js"
116
+ },
117
+ "./devtools": {
118
+ "types": "./dist/devtools/index.d.ts",
119
+ "import": "./dist/devtools/index.js",
120
+ "default": "./dist/devtools/index.js"
121
+ }
66
122
  },
67
- "./logger": {
68
- "types": "./dist/logger/index.d.ts",
69
- "import": "./dist/logger/index.js",
70
- "default": "./dist/logger/index.js"
123
+ "scripts": {
124
+ "build": "tsup",
125
+ "dev": "tsup --watch",
126
+ "typecheck": "tsc --noEmit",
127
+ "test": "vitest run",
128
+ "check:circular": "madge --circular --extensions ts,tsx --ts-config ../../tsconfig.base.json ./src",
129
+ "lint": "eslint src/",
130
+ "check:exports": "node scripts/check-exports.mjs",
131
+ "prepack": "pnpm run build && pnpm check:exports"
71
132
  },
72
- "./auth": {
73
- "types": "./dist/auth/index.d.ts",
74
- "import": "./dist/auth/index.js",
75
- "default": "./dist/auth/index.js"
133
+ "dependencies": {
134
+ "dayjs": "^1.11.19",
135
+ "sanitize-html": "^2.17.1"
76
136
  },
77
- "./adapters": {
78
- "types": "./dist/adapters/index.d.ts",
79
- "import": "./dist/adapters/index.js",
80
- "default": "./dist/adapters/index.js"
81
- },
82
- "./plugins": {
83
- "types": "./dist/plugins/index.d.ts",
84
- "import": "./dist/plugins/index.js",
85
- "default": "./dist/plugins/index.js"
86
- },
87
- "./events": {
88
- "types": "./dist/events/index.d.ts",
89
- "import": "./dist/events/index.js",
90
- "default": "./dist/events/index.js"
91
- },
92
- "./middleware": {
93
- "types": "./dist/middleware/index.d.ts",
94
- "import": "./dist/middleware/index.js",
95
- "default": "./dist/middleware/index.js"
96
- },
97
- "./errors": {
98
- "types": "./dist/errors/index.d.ts",
99
- "import": "./dist/errors/index.js",
100
- "default": "./dist/errors/index.js"
101
- },
102
- "./i18n": {
103
- "types": "./dist/i18n/index.d.ts",
104
- "import": "./dist/i18n/index.js",
105
- "default": "./dist/i18n/index.js"
106
- },
107
- "./instance": {
108
- "types": "./dist/instance/index.d.ts",
109
- "import": "./dist/instance/index.js",
110
- "default": "./dist/instance/index.js"
111
- },
112
- "./testing": {
113
- "types": "./dist/testing/index.d.ts",
114
- "import": "./dist/testing/index.js",
115
- "default": "./dist/testing/index.js"
116
- },
117
- "./devtools": {
118
- "types": "./dist/devtools/index.d.ts",
119
- "import": "./dist/devtools/index.js",
120
- "default": "./dist/devtools/index.js"
137
+ "devDependencies": {
138
+ "@types/jsdom": "^28.0.0",
139
+ "@types/sanitize-html": "^2.16.1",
140
+ "@vitest/coverage-v8": "^4.0.18",
141
+ "jsdom": "^25.0.1",
142
+ "tsup": "^8.5.1",
143
+ "typescript": "^5.9.3",
144
+ "vitest": "^4.0.18"
121
145
  }
122
- },
123
- "dependencies": {
124
- "dayjs": "^1.11.19",
125
- "sanitize-html": "^2.17.1"
126
- },
127
- "devDependencies": {
128
- "@types/jsdom": "^28.0.0",
129
- "@types/sanitize-html": "^2.16.1",
130
- "@vitest/coverage-v8": "^4.0.18",
131
- "jsdom": "^25.0.1",
132
- "tsup": "^8.5.1",
133
- "typescript": "^5.9.3",
134
- "vitest": "^4.0.18"
135
- },
136
- "scripts": {
137
- "build": "tsup",
138
- "dev": "tsup --watch",
139
- "typecheck": "tsc --noEmit",
140
- "test": "vitest run",
141
- "check:circular": "madge --circular --extensions ts,tsx --ts-config ../../tsconfig.base.json ./src",
142
- "lint": "eslint src/",
143
- "check:exports": "node scripts/check-exports.mjs"
144
- }
145
- }
146
+ }
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}