@chanomhub/sdk 1.0.1

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 (66) hide show
  1. package/README.md +79 -0
  2. package/dist/__tests__/client.test.d.ts +2 -0
  3. package/dist/__tests__/client.test.d.ts.map +1 -0
  4. package/dist/__tests__/client.test.js +55 -0
  5. package/dist/__tests__/client.test.js.map +1 -0
  6. package/dist/__tests__/imageUrl.test.d.ts +2 -0
  7. package/dist/__tests__/imageUrl.test.d.ts.map +1 -0
  8. package/dist/__tests__/imageUrl.test.js +89 -0
  9. package/dist/__tests__/imageUrl.test.js.map +1 -0
  10. package/dist/__tests__/mocks/handlers.d.ts +2 -0
  11. package/dist/__tests__/mocks/handlers.d.ts.map +1 -0
  12. package/dist/__tests__/mocks/handlers.js +104 -0
  13. package/dist/__tests__/mocks/handlers.js.map +1 -0
  14. package/dist/__tests__/mocks/server.d.ts +2 -0
  15. package/dist/__tests__/mocks/server.d.ts.map +1 -0
  16. package/dist/__tests__/mocks/server.js +7 -0
  17. package/dist/__tests__/mocks/server.js.map +1 -0
  18. package/dist/__tests__/setup.d.ts +2 -0
  19. package/dist/__tests__/setup.d.ts.map +1 -0
  20. package/dist/__tests__/setup.js +8 -0
  21. package/dist/__tests__/setup.js.map +1 -0
  22. package/dist/client.d.ts +25 -0
  23. package/dist/client.d.ts.map +1 -0
  24. package/dist/client.js +73 -0
  25. package/dist/client.js.map +1 -0
  26. package/dist/config.d.ts +19 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +12 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/index.d.ts +81 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +112 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/next.d.ts +30 -0
  35. package/dist/next.d.ts.map +1 -0
  36. package/dist/next.js +84 -0
  37. package/dist/next.js.map +1 -0
  38. package/dist/repositories/articleRepository.d.ts +30 -0
  39. package/dist/repositories/articleRepository.d.ts.map +1 -0
  40. package/dist/repositories/articleRepository.js +265 -0
  41. package/dist/repositories/articleRepository.js.map +1 -0
  42. package/dist/repositories/index.d.ts +5 -0
  43. package/dist/repositories/index.d.ts.map +1 -0
  44. package/dist/repositories/index.js +9 -0
  45. package/dist/repositories/index.js.map +1 -0
  46. package/dist/transforms/imageUrl.d.ts +17 -0
  47. package/dist/transforms/imageUrl.d.ts.map +1 -0
  48. package/dist/transforms/imageUrl.js +70 -0
  49. package/dist/transforms/imageUrl.js.map +1 -0
  50. package/dist/types/article.d.ts +87 -0
  51. package/dist/types/article.d.ts.map +1 -0
  52. package/dist/types/article.js +6 -0
  53. package/dist/types/article.js.map +1 -0
  54. package/dist/types/common.d.ts +67 -0
  55. package/dist/types/common.d.ts.map +1 -0
  56. package/dist/types/common.js +6 -0
  57. package/dist/types/common.js.map +1 -0
  58. package/dist/types/index.d.ts +6 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +22 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/vitest.config.d.ts +3 -0
  63. package/dist/vitest.config.d.ts.map +1 -0
  64. package/dist/vitest.config.js +16 -0
  65. package/dist/vitest.config.js.map +1 -0
  66. package/package.json +49 -0
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Image URL Transformation
4
+ *
5
+ * Transforms filename-only URLs to full CDN URLs
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.resolveImageUrl = resolveImageUrl;
9
+ exports.transformImageUrlsDeep = transformImageUrlsDeep;
10
+ /**
11
+ * Resolves an image URL.
12
+ * - If it's just a filename (e.g., "abc.jpg"), prepends the CDN base URL
13
+ * - If it's already a full URL, returns it as-is
14
+ * - Handles null/undefined gracefully
15
+ */
16
+ function resolveImageUrl(imageUrl, cdnUrl) {
17
+ if (!imageUrl)
18
+ return null;
19
+ // Already a full URL - return as-is
20
+ if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://')) {
21
+ return imageUrl;
22
+ }
23
+ // Filename only - prepend CDN base URL
24
+ return `${cdnUrl}/${imageUrl}`;
25
+ }
26
+ /** Known image field names */
27
+ const IMAGE_FIELDS = new Set([
28
+ 'mainImage',
29
+ 'backgroundImage',
30
+ 'coverImage',
31
+ 'image',
32
+ ]);
33
+ /**
34
+ * Deep transforms all image URLs in an object/array recursively.
35
+ */
36
+ function transformImageUrlsDeep(data, cdnUrl) {
37
+ if (data === null || data === undefined)
38
+ return data;
39
+ if (Array.isArray(data)) {
40
+ return data.map(item => transformImageUrlsDeep(item, cdnUrl));
41
+ }
42
+ if (typeof data === 'object') {
43
+ const result = {};
44
+ for (const [key, value] of Object.entries(data)) {
45
+ // Transform known image URL fields
46
+ if (IMAGE_FIELDS.has(key) && typeof value === 'string') {
47
+ result[key] = resolveImageUrl(value, cdnUrl);
48
+ }
49
+ // Transform image objects with url property (e.g., images: [{ url: 'abc.jpg' }])
50
+ else if (key === 'images' && Array.isArray(value)) {
51
+ result[key] = value.map(img => {
52
+ if (img && typeof img === 'object' && 'url' in img) {
53
+ return { ...img, url: resolveImageUrl(img.url, cdnUrl) };
54
+ }
55
+ return img;
56
+ });
57
+ }
58
+ // Recursively transform nested objects
59
+ else if (value !== null && typeof value === 'object') {
60
+ result[key] = transformImageUrlsDeep(value, cdnUrl);
61
+ }
62
+ else {
63
+ result[key] = value;
64
+ }
65
+ }
66
+ return result;
67
+ }
68
+ return data;
69
+ }
70
+ //# sourceMappingURL=imageUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageUrl.js","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAQH,0CAUC;AAaD,wDAqCC;AAlED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,QAAmC,EAAE,MAAc;IAC/E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,oCAAoC;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,uCAAuC;IACvC,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,8BAA8B;AAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IACzB,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,OAAO;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,sBAAsB,CAAI,IAAO,EAAE,MAAc;IAC7D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;YACzE,mCAAmC;YACnC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,iFAAiF;iBAC5E,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;wBACjD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAa,EAAE,MAAM,CAAC,EAAE,CAAC;oBACvE,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC,CAAC,CAAC;YACP,CAAC;YACD,uCAAuC;iBAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBACI,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QAED,OAAO,MAAW,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Chanomhub SDK - Article Types
3
+ */
4
+ import type { ArticleStatus } from '../config';
5
+ import type { Author, Download, OfficialDownloadSource, Mod, NamedEntity, ImageObject } from './common';
6
+ /** Full Article type */
7
+ export interface Article {
8
+ id: number;
9
+ title: string;
10
+ slug: string;
11
+ description: string;
12
+ body: string;
13
+ ver: string | null;
14
+ creators: NamedEntity[];
15
+ tags: NamedEntity[];
16
+ platforms: NamedEntity[];
17
+ categories: NamedEntity[];
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ status: ArticleStatus;
21
+ engine: {
22
+ id: string;
23
+ name: string;
24
+ };
25
+ mainImage: string | null;
26
+ backgroundImage: string | null;
27
+ coverImage: string | null;
28
+ images: ImageObject[];
29
+ author: Author;
30
+ favorited: boolean;
31
+ favoritesCount: number;
32
+ sequentialCode: string | null;
33
+ downloads?: Download[];
34
+ mods: Mod[];
35
+ officialDownloadSources?: OfficialDownloadSource[];
36
+ version?: string;
37
+ }
38
+ /** Partial article for list views */
39
+ export interface ArticleListItem {
40
+ id: number;
41
+ title: string;
42
+ slug: string;
43
+ description: string;
44
+ ver: string | null;
45
+ createdAt: string;
46
+ updatedAt: string;
47
+ mainImage: string | null;
48
+ coverImage?: string | null;
49
+ favoritesCount: number;
50
+ favorited?: boolean;
51
+ status?: ArticleStatus;
52
+ engine?: {
53
+ id: string;
54
+ name: string;
55
+ };
56
+ sequentialCode: string | null;
57
+ author: {
58
+ name: string;
59
+ image: string | null;
60
+ };
61
+ tags?: NamedEntity[];
62
+ platforms?: NamedEntity[];
63
+ categories?: NamedEntity[];
64
+ creators?: NamedEntity[];
65
+ images?: ImageObject[];
66
+ }
67
+ /** Article filter options */
68
+ export interface ArticleFilter {
69
+ tag?: string;
70
+ platform?: string;
71
+ category?: string;
72
+ author?: string;
73
+ favorited?: boolean;
74
+ }
75
+ /** Article list options */
76
+ export interface ArticleListOptions {
77
+ limit?: number;
78
+ offset?: number;
79
+ status?: ArticleStatus;
80
+ filter?: ArticleFilter;
81
+ }
82
+ /** Article with downloads response */
83
+ export interface ArticleWithDownloads {
84
+ article: Article | null;
85
+ downloads: Download[] | null;
86
+ }
87
+ //# sourceMappingURL=article.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK - Article Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Chanomhub SDK - Common Types
3
+ */
4
+ /** Pagination options */
5
+ export interface ListOptions {
6
+ limit?: number;
7
+ offset?: number;
8
+ }
9
+ /** GraphQL response wrapper */
10
+ export interface GraphQLResponse<T> {
11
+ data: T | null;
12
+ errors?: Array<{
13
+ message: string;
14
+ path?: string[];
15
+ }>;
16
+ }
17
+ /** Author type */
18
+ export interface Author {
19
+ id?: number;
20
+ name: string;
21
+ bio: string | null;
22
+ image: string | null;
23
+ backgroundImage: string | null;
24
+ following?: boolean;
25
+ socialMediaLinks?: Array<{
26
+ platform: string;
27
+ url: string;
28
+ }>;
29
+ }
30
+ /** Download link type */
31
+ export interface Download {
32
+ id: number;
33
+ name: string;
34
+ url: string;
35
+ isActive: boolean;
36
+ vipOnly: boolean;
37
+ createdAt?: string;
38
+ }
39
+ /** Official download source */
40
+ export interface OfficialDownloadSource {
41
+ id: string;
42
+ name: string;
43
+ url: string;
44
+ status: string;
45
+ }
46
+ /** Mod type */
47
+ export interface Mod {
48
+ name: string;
49
+ description: string;
50
+ creditTo: string;
51
+ downloadLink: string;
52
+ version: string;
53
+ status: string;
54
+ categories: NamedEntity[];
55
+ images: ImageObject[];
56
+ }
57
+ /** Named entity (tag, category, platform, etc.) */
58
+ export interface NamedEntity {
59
+ id: string;
60
+ name: string;
61
+ }
62
+ /** Image object */
63
+ export interface ImageObject {
64
+ id?: string;
65
+ url: string;
66
+ }
67
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yBAAyB;AACzB,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,kBAAkB;AAClB,MAAM,WAAW,MAAM;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,yBAAyB;AACzB,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAe;AACf,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,mBAAmB;AACnB,MAAM,WAAW,WAAW;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK - Common Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../types/common.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Chanomhub SDK - Types Index
3
+ */
4
+ export * from './common';
5
+ export * from './article';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK - Types Index
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./common"), exports);
21
+ __exportStar(require("./article"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,4CAA0B"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
3
+ //# sourceMappingURL=vitest.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAEA,wBAWG"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("vitest/config");
4
+ exports.default = (0, config_1.defineConfig)({
5
+ test: {
6
+ globals: true,
7
+ environment: 'node',
8
+ include: ['**/*.{test,spec}.{ts,tsx}'],
9
+ setupFiles: ['./__tests__/setup.ts'],
10
+ coverage: {
11
+ provider: 'v8',
12
+ reporter: ['text', 'json', 'html'],
13
+ },
14
+ },
15
+ });
16
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAE7C,kBAAe,IAAA,qBAAY,EAAC;IACxB,IAAI,EAAE;QACF,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,2BAA2B,CAAC;QACtC,UAAU,EAAE,CAAC,sBAAsB,CAAC;QACpC,QAAQ,EAAE;YACN,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SACrC;KACJ;CACJ,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@chanomhub/sdk",
3
+ "version": "1.0.1",
4
+ "description": "ChanomHub SDK",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/Chanomhub/chanomhub-sdk.git"
10
+ },
11
+ "publishConfig": {
12
+ "registry": "https://registry.npmjs.org",
13
+ "access": "public"
14
+ },
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "./next": {
21
+ "types": "./dist/next.d.ts",
22
+ "default": "./dist/next.js"
23
+ }
24
+ },
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "prepare": "npm run build",
28
+ "prepublishOnly": "npm run build",
29
+ "test": "vitest run",
30
+ "test:watch": "vitest",
31
+ "test:coverage": "vitest run --coverage"
32
+ },
33
+ "files": [
34
+ "dist"
35
+ ],
36
+ "keywords": [],
37
+ "author": "",
38
+ "license": "ISC",
39
+ "devDependencies": {
40
+ "@types/node": "^25.0.3",
41
+ "msw": "^2.12.4",
42
+ "next": "^16.1.0",
43
+ "typescript": "^5.9.3",
44
+ "vitest": "^4.0.16"
45
+ },
46
+ "peerDependencies": {
47
+ "next": ">=13.0.0"
48
+ }
49
+ }