katanakit-js 2.1.6 → 2.12.9

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 (152) hide show
  1. package/README.md +73 -385
  2. package/dist/adapters/astro/astro.service.d.ts +103 -15
  3. package/dist/adapters/astro/astro.service.d.ts.map +1 -1
  4. package/dist/adapters/astro/astro.service.js +145 -75
  5. package/dist/adapters/astro/astro.service.js.map +1 -1
  6. package/dist/adapters/astro/index.d.ts +1 -1
  7. package/dist/adapters/astro/index.d.ts.map +1 -1
  8. package/dist/adapters/astro/index.js +1 -1
  9. package/dist/adapters/astro/index.js.map +1 -1
  10. package/dist/adapters/astro/rss.service.d.ts +85 -105
  11. package/dist/adapters/astro/rss.service.d.ts.map +1 -1
  12. package/dist/adapters/astro/rss.service.js +172 -168
  13. package/dist/adapters/astro/rss.service.js.map +1 -1
  14. package/dist/adapters/astro/seo.service.d.ts +10 -0
  15. package/dist/adapters/astro/seo.service.d.ts.map +1 -0
  16. package/dist/adapters/astro/seo.service.js +3 -0
  17. package/dist/adapters/astro/seo.service.js.map +1 -0
  18. package/dist/adapters/express/app.d.ts +30 -1
  19. package/dist/adapters/express/app.d.ts.map +1 -1
  20. package/dist/adapters/express/app.js +31 -3
  21. package/dist/adapters/express/app.js.map +1 -1
  22. package/dist/adapters/express/index.d.ts +2 -2
  23. package/dist/adapters/express/index.d.ts.map +1 -1
  24. package/dist/adapters/express/index.js +2 -2
  25. package/dist/adapters/express/index.js.map +1 -1
  26. package/dist/adapters/express/main.js +2 -2
  27. package/dist/adapters/express/main.js.map +1 -1
  28. package/dist/adapters/express/products.controller.d.ts +67 -8
  29. package/dist/adapters/express/products.controller.d.ts.map +1 -1
  30. package/dist/adapters/express/products.controller.js +105 -49
  31. package/dist/adapters/express/products.controller.js.map +1 -1
  32. package/dist/adapters/express/server.d.ts +37 -13
  33. package/dist/adapters/express/server.d.ts.map +1 -1
  34. package/dist/adapters/express/server.js +118 -53
  35. package/dist/adapters/express/server.js.map +1 -1
  36. package/dist/adapters/nuxt/nuxt.service.d.ts +8 -6
  37. package/dist/adapters/nuxt/nuxt.service.d.ts.map +1 -1
  38. package/dist/adapters/nuxt/nuxt.service.js +34 -10
  39. package/dist/adapters/nuxt/nuxt.service.js.map +1 -1
  40. package/dist/adapters/vue/index.d.ts +2 -0
  41. package/dist/adapters/vue/index.d.ts.map +1 -0
  42. package/dist/adapters/vue/index.js +2 -0
  43. package/dist/adapters/vue/index.js.map +1 -0
  44. package/dist/adapters/vue/vue.service.d.ts +44 -0
  45. package/dist/adapters/vue/vue.service.d.ts.map +1 -0
  46. package/dist/adapters/vue/vue.service.js +85 -0
  47. package/dist/adapters/vue/vue.service.js.map +1 -0
  48. package/dist/config/index.d.ts +2 -1
  49. package/dist/config/index.d.ts.map +1 -1
  50. package/dist/config/index.js +1 -1
  51. package/dist/config/index.js.map +1 -1
  52. package/dist/config/seo-meta.types.d.ts +177 -0
  53. package/dist/config/seo-meta.types.d.ts.map +1 -0
  54. package/dist/config/seo-meta.types.js +11 -0
  55. package/dist/config/seo-meta.types.js.map +1 -0
  56. package/dist/config/seo.service.d.ts +41 -58
  57. package/dist/config/seo.service.d.ts.map +1 -1
  58. package/dist/config/seo.service.js +468 -136
  59. package/dist/config/seo.service.js.map +1 -1
  60. package/dist/config/site.config.d.ts +10 -50
  61. package/dist/config/site.config.d.ts.map +1 -1
  62. package/dist/config/site.config.js +8 -36
  63. package/dist/config/site.config.js.map +1 -1
  64. package/dist/core/index.d.ts +1 -3
  65. package/dist/core/index.d.ts.map +1 -1
  66. package/dist/core/index.js +1 -3
  67. package/dist/core/index.js.map +1 -1
  68. package/dist/core/services/dates.service.d.ts +149 -22
  69. package/dist/core/services/dates.service.d.ts.map +1 -1
  70. package/dist/core/services/dates.service.js +201 -54
  71. package/dist/core/services/dates.service.js.map +1 -1
  72. package/dist/core/services/error.service.d.ts +32 -20
  73. package/dist/core/services/error.service.d.ts.map +1 -1
  74. package/dist/core/services/error.service.js +44 -32
  75. package/dist/core/services/error.service.js.map +1 -1
  76. package/dist/core/services/formatter.service.d.ts +245 -35
  77. package/dist/core/services/formatter.service.d.ts.map +1 -1
  78. package/dist/core/services/formatter.service.js +281 -57
  79. package/dist/core/services/formatter.service.js.map +1 -1
  80. package/dist/core/services/generator.service.d.ts +115 -26
  81. package/dist/core/services/generator.service.d.ts.map +1 -1
  82. package/dist/core/services/generator.service.js +191 -56
  83. package/dist/core/services/generator.service.js.map +1 -1
  84. package/dist/core/services/geometry.service.d.ts +369 -39
  85. package/dist/core/services/geometry.service.d.ts.map +1 -1
  86. package/dist/core/services/geometry.service.js +424 -66
  87. package/dist/core/services/geometry.service.js.map +1 -1
  88. package/dist/core/services/http.service.d.ts +244 -21
  89. package/dist/core/services/http.service.d.ts.map +1 -1
  90. package/dist/core/services/http.service.js +419 -98
  91. package/dist/core/services/http.service.js.map +1 -1
  92. package/dist/core/services/logger.service.d.ts +95 -29
  93. package/dist/core/services/logger.service.d.ts.map +1 -1
  94. package/dist/core/services/logger.service.js +167 -41
  95. package/dist/core/services/logger.service.js.map +1 -1
  96. package/dist/core/services/reactive.service.d.ts +146 -19
  97. package/dist/core/services/reactive.service.d.ts.map +1 -1
  98. package/dist/core/services/reactive.service.js +278 -137
  99. package/dist/core/services/reactive.service.js.map +1 -1
  100. package/dist/core/services/timing.service.d.ts +142 -20
  101. package/dist/core/services/timing.service.d.ts.map +1 -1
  102. package/dist/core/services/timing.service.js +324 -185
  103. package/dist/core/services/timing.service.js.map +1 -1
  104. package/dist/core/services/utils.service.d.ts +228 -43
  105. package/dist/core/services/utils.service.d.ts.map +1 -1
  106. package/dist/core/services/utils.service.js +305 -125
  107. package/dist/core/services/utils.service.js.map +1 -1
  108. package/dist/infrastructure/dom/dom.service.d.ts +307 -44
  109. package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
  110. package/dist/infrastructure/dom/dom.service.js +408 -129
  111. package/dist/infrastructure/dom/dom.service.js.map +1 -1
  112. package/dist/infrastructure/index.d.ts +0 -3
  113. package/dist/infrastructure/index.d.ts.map +1 -1
  114. package/dist/infrastructure/index.js +0 -3
  115. package/dist/infrastructure/index.js.map +1 -1
  116. package/dist/infrastructure/observer/observer.service.d.ts +124 -31
  117. package/dist/infrastructure/observer/observer.service.d.ts.map +1 -1
  118. package/dist/infrastructure/observer/observer.service.js +227 -131
  119. package/dist/infrastructure/observer/observer.service.js.map +1 -1
  120. package/dist/infrastructure/sensors/sensors.service.d.ts +154 -22
  121. package/dist/infrastructure/sensors/sensors.service.d.ts.map +1 -1
  122. package/dist/infrastructure/sensors/sensors.service.js +264 -112
  123. package/dist/infrastructure/sensors/sensors.service.js.map +1 -1
  124. package/dist/infrastructure/storage/storage.service.d.ts +123 -45
  125. package/dist/infrastructure/storage/storage.service.d.ts.map +1 -1
  126. package/dist/infrastructure/storage/storage.service.js +236 -66
  127. package/dist/infrastructure/storage/storage.service.js.map +1 -1
  128. package/dist/infrastructure/theme/theme.service.d.ts +93 -29
  129. package/dist/infrastructure/theme/theme.service.d.ts.map +1 -1
  130. package/dist/infrastructure/theme/theme.service.js +198 -96
  131. package/dist/infrastructure/theme/theme.service.js.map +1 -1
  132. package/dist/infrastructure/viewport/viewport.service.d.ts +233 -35
  133. package/dist/infrastructure/viewport/viewport.service.d.ts.map +1 -1
  134. package/dist/infrastructure/viewport/viewport.service.js +358 -139
  135. package/dist/infrastructure/viewport/viewport.service.js.map +1 -1
  136. package/dist/infrastructure/worker/worker.service.d.ts +84 -38
  137. package/dist/infrastructure/worker/worker.service.d.ts.map +1 -1
  138. package/dist/infrastructure/worker/worker.service.js +234 -133
  139. package/dist/infrastructure/worker/worker.service.js.map +1 -1
  140. package/dist/prisma/index.d.ts +2 -0
  141. package/dist/prisma/index.d.ts.map +1 -0
  142. package/dist/prisma/index.js +2 -0
  143. package/dist/prisma/index.js.map +1 -0
  144. package/dist/prisma/schema.json +11 -33
  145. package/dist/prisma/use-prisma.d.ts +68 -0
  146. package/dist/prisma/use-prisma.d.ts.map +1 -0
  147. package/dist/prisma/use-prisma.js +82 -0
  148. package/dist/prisma/use-prisma.js.map +1 -0
  149. package/dist/types/index.d.ts +20 -12
  150. package/dist/types/index.d.ts.map +1 -1
  151. package/package.json +124 -115
  152. package/CHANGELOG.md +0 -96
package/package.json CHANGED
@@ -1,117 +1,126 @@
1
1
  {
2
- "name": "katanakit-js",
3
- "version": "2.1.6",
4
- "description": "KatanaKit — a sharp, framework-agnostic TypeScript service toolkit organized with hexagonal architecture.",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./adapters/express": {
15
- "types": "./dist/adapters/express/index.d.ts",
16
- "import": "./dist/adapters/express/index.js"
17
- },
18
- "./adapters/nuxt": {
19
- "types": "./dist/adapters/nuxt/index.d.ts",
20
- "import": "./dist/adapters/nuxt/index.js"
21
- }
22
- },
23
- "files": [
24
- "dist"
25
- ],
26
- "sideEffects": false,
27
- "engines": {
28
- "node": ">=22.18.0"
29
- },
30
- "publishConfig": {
31
- "access": "public"
32
- },
33
- "scripts": {
34
- "build": "tsc -p tsconfig.json",
35
- "dev": "bun run src/adapters/express/main.ts",
36
- "start": "bun run src/adapters/express/main.ts",
37
- "typecheck": "tsc --noEmit",
38
- "test": "vitest run",
39
- "test:watch": "vitest",
40
- "lint": "biome lint ./src",
41
- "lint:fix": "biome lint --write ./src",
42
- "format": "biome format ./src",
43
- "format:fix": "biome format --write ./src",
44
- "check": "biome check ./src",
45
- "check:fix": "biome check --write ./src",
46
- "prepublishOnly": "bun run check && bun run test && bun run build",
47
- "publish:patch": "npm version patch --no-git-tag-version && npm publish",
48
- "publish:minor": "npm version minor --no-git-tag-version && npm publish",
49
- "publish:major": "npm version major --no-git-tag-version && npm publish",
50
- "publish:beta": "npm version prerelease --no-git-tag-version && npm publish --tag beta"
51
- },
52
- "repository": {
53
- "type": "git",
54
- "url": "git@github.com:senseikatana/katanakit-js.git"
55
- },
56
- "keywords": [
57
- "api",
58
- "fetch",
59
- "http-client",
60
- "url-builder",
61
- "typescript",
62
- "hexagonal-architecture",
63
- "astro",
64
- "express",
65
- "nuxt",
66
- "singleton",
67
- "observer",
68
- "factory"
69
- ],
70
- "author": "senseikatana - Sergio Jurado",
71
- "license": "MIT",
72
- "bugs": {
73
- "url": "https://github.com/senseikatana/katanakit-js.git/issues"
74
- },
75
- "homepage": "https://github.com/senseikatana/katanakit-js.git#readme",
76
- "dependencies": {
77
- "@js-temporal/polyfill": "^0.5.1"
78
- },
79
- "peerDependencies": {
80
- "@prisma/orm-postgres": ">=8.0.0-rc.0",
81
- "cors": ">=2.8.0",
82
- "dotenv": ">=16.0.0",
83
- "express": ">=5.0.0"
84
- },
85
- "peerDependenciesMeta": {
86
- "@prisma/orm-postgres": {
87
- "optional": true
88
- },
89
- "cors": {
90
- "optional": true
91
- },
92
- "dotenv": {
93
- "optional": true
94
- },
95
- "express": {
96
- "optional": true
97
- }
98
- },
99
- "devDependencies": {
100
- "@biomejs/biome": "^2.5.12",
101
- "@prisma/cli-engine": "0.3.0",
102
- "@prisma/client": "^7.10.0",
103
- "@prisma/extension-accelerate": "^3.0.1",
104
- "@prisma/orm-postgres": "8.0.0-rc.8",
105
- "@types/bun": "latest",
106
- "@types/cors": "^2.8.19",
107
- "@types/express": "^5.0.6",
108
- "@types/node": "^26.4.1",
109
- "cors": "^2.8.6",
110
- "dotenv": "^17.4.2",
111
- "express": "^5.2.1",
112
- "prisma": "8.0.0-rc.12",
113
- "typescript": "^7.0.2",
114
- "vite": "^8.2.2",
115
- "vitest": "^5.0.0"
116
- }
2
+ "name": "katanakit-js",
3
+ "version": "2.12.9",
4
+ "description": "KatanaKit — a sharp, framework-agnostic TypeScript service toolkit organized with hexagonal architecture.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./adapters/express": {
16
+ "types": "./dist/adapters/express/index.d.ts",
17
+ "import": "./dist/adapters/express/index.js",
18
+ "default": "./dist/adapters/express/index.js"
19
+ },
20
+ "./adapters/nuxt": {
21
+ "types": "./dist/adapters/nuxt/index.d.ts",
22
+ "import": "./dist/adapters/nuxt/index.js",
23
+ "default": "./dist/adapters/nuxt/index.js"
24
+ },
25
+ "./adapters/vue": {
26
+ "types": "./dist/adapters/vue/index.d.ts",
27
+ "import": "./dist/adapters/vue/index.js",
28
+ "default": "./dist/adapters/vue/index.js"
29
+ },
30
+ "./adapters/astro": {
31
+ "types": "./dist/adapters/astro/index.d.ts",
32
+ "import": "./dist/adapters/astro/index.js",
33
+ "default": "./dist/adapters/astro/index.js"
34
+ },
35
+ "./prisma": {
36
+ "types": "./dist/prisma/index.d.ts",
37
+ "import": "./dist/prisma/index.js",
38
+ "default": "./dist/prisma/index.js"
39
+ },
40
+ "./package.json": "./package.json"
41
+ },
42
+ "files": [
43
+ "dist"
44
+ ],
45
+ "sideEffects": false,
46
+ "engines": {
47
+ "node": ">=22.18.0"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "scripts": {
53
+ "dev": "tsx src/adapters/express/main.ts",
54
+ "check": "biome check ./src && tsc --noEmit && vitest run",
55
+ "fix": "biome check --write ./src && tsc --noEmit && vitest run",
56
+ "build": "yarn run check && tsc -p tsconfig.json",
57
+ "release": "yarn build && npm version",
58
+ "docs": "yarn --cwd docs"
59
+ },
60
+ "repository": {
61
+ "type": "git",
62
+ "url": "git@github.com:senseikatana/katanakit-js.git"
63
+ },
64
+ "keywords": [
65
+ "api",
66
+ "fetch",
67
+ "http-client",
68
+ "url-builder",
69
+ "typescript",
70
+ "hexagonal-architecture",
71
+ "astro",
72
+ "express",
73
+ "nuxt",
74
+ "vue",
75
+ "singleton",
76
+ "observer",
77
+ "factory"
78
+ ],
79
+ "author": "senseikatana - Sergio Jurado",
80
+ "license": "MIT",
81
+ "bugs": {
82
+ "url": "https://senseikatana.github.io/katanakit-js/issues"
83
+ },
84
+ "unpkg": "./dist/index.js",
85
+ "jsdelivr": "./dist/index.js",
86
+ "dependencies": {
87
+ "@js-temporal/polyfill": "^0.5.1",
88
+ "@prisma/orm-postgres": "^8.0.0-rc.8"
89
+ },
90
+ "peerDependencies": {
91
+ "cors": ">=2.8.0",
92
+ "dotenv": ">=16.0.0",
93
+ "express": ">=5.0.0",
94
+ "vue": ">=3.0.0"
95
+ },
96
+ "peerDependenciesMeta": {
97
+ "cors": {
98
+ "optional": true
99
+ },
100
+ "dotenv": {
101
+ "optional": true
102
+ },
103
+ "express": {
104
+ "optional": true
105
+ },
106
+ "vue": {
107
+ "optional": true
108
+ }
109
+ },
110
+ "devDependencies": {
111
+ "@biomejs/biome": "^2.5.12",
112
+ "@types/bun": "^1.4.1",
113
+ "@types/cors": "^2.8.19",
114
+ "@types/express": "^5.0.6",
115
+ "@types/node": "^26.5.0",
116
+ "cors": "^2.8.6",
117
+ "dotenv": "^17.4.2",
118
+ "express": "^5.2.1",
119
+ "prisma": "^8.0.0-rc.13",
120
+ "tsx": "^4.23.13",
121
+ "typescript": "^7.0.2",
122
+ "vite": "^8.2.2",
123
+ "vitest": "^5.0.0",
124
+ "vue": "^3.5.42"
125
+ }
117
126
  }
package/CHANGELOG.md DELETED
@@ -1,96 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project are documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [2.1.4] - Unreleased
9
-
10
- Current development version. This is the first release published under the
11
- **`katanakit-js`** npm name (previous development releases were published as
12
- `katanakit-dev`).
13
-
14
- ### Added
15
-
16
- - **Nuxt adapter** — new `katanakit-js/adapters/nuxt` subpath exporting three
17
- pure helpers that bridge KatanaKit Safe Results to Nuxt/Nitro server routes:
18
- `useUnwrap(result, context?)`, `useSafeResponse(result)` and
19
- `useEventResponse(event, result)`. They avoid a hard dependency on `h3`
20
- (which ships with Nuxt).
21
- - **Site config and SEO module** — new `src/config/` layer with
22
- `siteConfig`/`SiteConfig` and pure SEO helpers (`useGenerateMetaTags`,
23
- `useHeadTags`, `useTitle`, `useRssHeadLink`), re-exported from the main
24
- barrel. Includes HTML/attribute escaping and JSON-LD breakout protection.
25
- - **`publish:*` scripts** — `publish:patch`, `publish:minor`, `publish:major`
26
- and `publish:beta` (tagged `beta`) with a `prepublishOnly` gate that runs
27
- Biome, tests and the build before publishing.
28
- - New Vitest suites for RSS, Nuxt and SEO services (57 tests across 7 files).
29
-
30
- ### Changed
31
-
32
- - **Renamed the npm package** from `katanakit-dev` to **`katanakit-js`**
33
- (version bumped to 2.1.4). The `exports` map now exposes the root entry plus
34
- two framework subpaths: `katanakit-js/adapters/express` and
35
- `katanakit-js/adapters/nuxt`.
36
- - **Restructured dependencies** — only `@js-temporal/polyfill` remains a
37
- runtime dependency; `express`, `cors`, `dotenv` and `@prisma/orm-postgres`
38
- are now **optional peer dependencies** installed only by consumers that use
39
- the Express adapter or the Prisma layer.
40
- - Upgraded the toolchain: Biome to v2 (migrated `biome.json` schema), Vitest to
41
- v5, TypeScript to v7; Node engine floor raised to `>=22.18.0`.
42
- - Hardened the Express reference adapter: CORS defaults to the comma-separated
43
- `CORS_ORIGINS` allow-list (localhost fallback), `x-powered-by` is disabled
44
- and JSON/urlencoded bodies are capped at 100 kb.
45
-
46
- ### Fixed
47
-
48
- - **Pure ESM `.js` exports** — all relative imports in `src/` now use explicit
49
- `.js` extensions (`module: nodenext`), so Node's ESM loader and bundlers
50
- resolve the emitted `dist/` correctly.
51
- - **`WorkerService` pool correlation** — `useRunPool` now correlates responses
52
- by echoing a `taskId` from the worker blob, fixing concurrent race
53
- conditions.
54
- - **`useEncrypt` salt** — generates a random 128-bit salt when none is provided
55
- instead of relying on a fixed default.
56
- - **SEO JSON-LD escaping** — `<`, `>` and `&` are escaped inside the
57
- `application/ld+json` script to prevent `</script>` breakout.
58
-
59
- ## [2.0.0] - 2026-09-03
60
-
61
- Developed and published as `katanakit-dev`.
62
-
63
- ### Changed
64
-
65
- - **Reorganized the project with hexagonal architecture** into `types/`,
66
- `core/services/` (ports + pure services), `infrastructure/` (browser/runtime
67
- adapters), `adapters/` (Astro + Express) and `prisma/`, replacing the previous
68
- flat `helpers/`/`api/` layout.
69
- - Exposed the public API through barrel files (`src/index.ts` and per-layer
70
- `index.ts`).
71
-
72
- ### Added
73
-
74
- - Added `biome.json` and `vitest.config.ts`; wired `typecheck`, `build`, `test`,
75
- `lint`, `format` and `check` scripts.
76
- - Added Vitest unit tests for the HTTP client, logger, storage, geometry, errors
77
- and reactive signals.
78
- - Added English documentation (`README.md`, `CONTRIBUTING.md`, `docs/`,
79
- `SECURITY.md`).
80
-
81
- ### Fixed
82
-
83
- - Fixed TypeScript compile errors: broken imports, broken singleton guards
84
- (`TimingService` and `ViewportService`), the `FIND_ENTRY` scope bug in
85
- `AstroService`, and Express `Request`/`Response` typing.
86
- - Removed all side effects on import (top-level `fetch` to dummyjson.com,
87
- `console.log` calls, storage writes and timers).
88
- - Fixed the Express server: `listen` now uses the configured port/host, the user
89
- router is mounted, and handler `(req, res)` argument order is correct.
90
- - Fixed the logger call sites (level is now the first argument of `useLog`).
91
-
92
- ### Removed
93
-
94
- - Removed duplicate type definitions (unified in `src/types/`), dead code, empty
95
- files and the broken signals draft.
96
- - Moved demos to `examples/` and dropped the obsolete `wiki/` documentation.