anilink-api-wrapper 2.3.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/anilist.d.ts CHANGED
@@ -1 +1 @@
1
- export { ANILIST_AUTHORIZE_URL, ANILIST_TOKEN_URL, AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCode, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkOptions, AniLinkRestError, AniLinkValidationError, AniListApi, AniListTokenResponse, ChunkPaginateOptions, ChunkPaginateResult, CrossLinkMedia, CrossLinkResult, PaginateOptions, PaginateResult, RateLimitInfo, RequestAuth, RequestAuthInput, RequestOptions, buildAuthorizationUrl, crossLink, getAccessToken, getTokenExpiry, paginate, paginateChunks, paginatePages, refreshAccessToken } from './AniLink.js';
1
+ export { ANILIST_AUTHORIZE_URL, ANILIST_TOKEN_URL, AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCode, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkOptions, AniLinkRestError, AniLinkValidationError, AniListApi, AniListTokenRefreshCallback, AniListTokenRefreshErrorCallback, AniListTokenResponse, ChunkPaginateOptions, ChunkPaginateResult, CrossLinkMedia, CrossLinkResult, CustomPageOptions, FuzzyDateOptions, MapExternalIdsOptions, MapExternalIdsResult, MapExternalIdsSource, PaginateOptions, PaginateResult, RateLimitInfo, RequestAuth, RequestAuthInput, RequestOptions, buildAuthorizationUrl, crossLink, fuzzyDate, fuzzyDateInt, getAccessToken, getTokenExpiry, mapExternalIds, paginate, paginateChunks, paginatePages, refreshAccessToken } from './AniLink.js';
package/dist/anilist.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { ANILIST_AUTHORIZE_URL, ANILIST_TOKEN_URL, AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, buildAuthorizationUrl, crossLink, getAccessToken, getTokenExpiry, paginate, paginateChunks, paginatePages, refreshAccessToken } from './AniLink.mjs';
2
- import 'node:crypto';
1
+ export { ANILIST_AUTHORIZE_URL, ANILIST_TOKEN_URL, AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, buildAuthorizationUrl, crossLink, fuzzyDate, fuzzyDateInt, getAccessToken, getTokenExpiry, mapExternalIds, paginate, paginateChunks, paginatePages, refreshAccessToken } from './AniLink.mjs';
3
2
  import 'node:http';
4
3
  import 'node:https';
5
4
  import 'axios';
5
+ import 'node:crypto';
package/dist/mal.d.ts CHANGED
@@ -1 +1 @@
1
- export { AniLink, AniLinkApiError, AniLinkAuthError, AniLinkCredentials, AniLinkError, AniLinkErrorCode, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, MAL_API_BASE_URL, MAL_API_REFERENCE, MAL_AUTHORIZE_URL, MAL_TOKEN_URL, M as MalAnime, a as MalAnimeListSort, b as MalAnimeListStatus, c as MalAnimeListStatusUpdate, d as MalAnimeListStatusValue, e as MalAnimeRankingResponse, f as MalAnimeSuggestionsResponse, MalAuthorizationCodeRequest, g as MalBroadcast, MalCredentials, h as MalManga, i as MalMangaListSort, j as MalMangaListStatus, k as MalMangaListStatusUpdate, l as MalMangaListStatusValue, m as MalPaging, n as MalPicture, o as MalRankingEntry, p as MalRankingType, MalRefreshTokenRequest, q as MalRequestOptions, r as MalSeason, s as MalSeasonalAnime, t as MalSeasonalAnimeResponse, u as MalSuggestion, MalTokenRefreshCallback, MalTokenResponse, v as MalUser, w as MalUserAnimeListEntry, x as MalUserAnimeListOptions, y as MalUserAnimeListResponse, z as MalUserMangaListEntry, A as MalUserMangaListOptions, B as MalUserMangaListResponse, C as MyAnimeListAnimeApi, MyAnimeListApi, D as MyAnimeListMangaApi, E as MyAnimeListUserApi, ProviderCredentials, RateLimitInfo, RequestAuth, RequestAuthInput, RequestOptions, buildMalAuthorizationUrl, buildMyAnimeListApi, getMalAccessToken, getMalTokenExpiry, refreshMalAccessToken } from './AniLink.js';
1
+ export { AniLink, AniLinkApiError, AniLinkAuthError, AniLinkCredentials, AniLinkError, AniLinkErrorCode, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, MAL_API_BASE_URL, MAL_API_REFERENCE, MAL_AUTHORIZE_URL, MAL_TOKEN_URL, M as MalAnime, a as MalAnimeDeleteParams, b as MalAnimeGetParams, c as MalAnimeListSort, d as MalAnimeListStatus, e as MalAnimeListStatusUpdate, f as MalAnimeListStatusUpdateParams, g as MalAnimeListStatusValue, h as MalAnimeRankingResponse, i as MalAnimeSearchEntry, j as MalAnimeSearchParams, k as MalAnimeSearchResponse, l as MalAnimeSuggestionsResponse, MalAuthorizationCodeRequest, m as MalBroadcast, MalCredentials, n as MalForumBoard, o as MalForumBoardsResponse, p as MalForumCategory, q as MalForumPoll, r as MalForumPollOption, s as MalForumPostCreator, t as MalForumSubboard, u as MalForumTopicCreator, v as MalForumTopicDetail, w as MalForumTopicParams, x as MalForumTopicPost, y as MalForumTopicResponse, z as MalForumTopicSort, A as MalForumTopicSummary, B as MalForumTopicsParams, C as MalForumTopicsResponse, D as MalManga, E as MalMangaDeleteParams, F as MalMangaGetParams, G as MalMangaListSort, H as MalMangaListStatus, I as MalMangaListStatusUpdate, J as MalMangaListStatusUpdateParams, K as MalMangaListStatusValue, L as MalMangaRankingEntry, N as MalMangaRankingParams, O as MalMangaRankingResponse, P as MalMangaRankingType, Q as MalMangaSearchEntry, R as MalMangaSearchParams, S as MalMangaSearchResponse, MalPage, MalPaginateOptions, MalPaginateResult, T as MalPaging, U as MalPicture, V as MalRankingEntry, W as MalRankingParams, X as MalRankingType, MalRefreshTokenRequest, Y as MalRequestOptions, Z as MalSeason, _ as MalSeasonalAnime, $ as MalSeasonalAnimeResponse, a0 as MalSeasonalParams, a1 as MalSuggestion, MalTokenRefreshCallback, MalTokenRefreshErrorCallback, MalTokenResponse, a2 as MalUser, a3 as MalUserAnimeListEntry, a4 as MalUserAnimeListParams, a5 as MalUserAnimeListResponse, a6 as MalUserGetParams, a7 as MalUserMangaListEntry, a8 as MalUserMangaListParams, a9 as MalUserMangaListResponse, aa as MyAnimeListAnimeApi, MyAnimeListApi, ab as MyAnimeListAuthApi, ac as MyAnimeListForumApi, ad as MyAnimeListMangaApi, ae as MyAnimeListUserApi, ProviderCredentials, RateLimitInfo, RequestAuth, RequestAuthInput, RequestOptions, buildMalAuthorizationUrl, buildMyAnimeListApi, getMalAccessToken, getMalTokenExpiry, malPaginate, malPaginatePages, refreshMalAccessToken } from './AniLink.js';
package/dist/mal.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, MAL_API_BASE_URL, MAL_API_REFERENCE, MAL_AUTHORIZE_URL, MAL_TOKEN_URL, buildMalAuthorizationUrl, buildMyAnimeListApi, getMalAccessToken, getMalTokenExpiry, refreshMalAccessToken } from './AniLink.mjs';
2
- import 'node:crypto';
1
+ export { AniLink, AniLinkApiError, AniLinkAuthError, AniLinkError, AniLinkErrorCodes, AniLinkGraphQLError, AniLinkNetworkError, AniLinkRestError, AniLinkValidationError, MAL_API_BASE_URL, MAL_API_REFERENCE, MAL_AUTHORIZE_URL, MAL_TOKEN_URL, buildMalAuthorizationUrl, buildMyAnimeListApi, getMalAccessToken, getMalTokenExpiry, malPaginate, malPaginatePages, refreshMalAccessToken } from './AniLink.mjs';
3
2
  import 'node:http';
4
3
  import 'node:https';
5
4
  import 'axios';
5
+ import 'node:crypto';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "anilink-api-wrapper",
3
- "version": "2.3.0",
4
- "description": "API wrapper for AniManga sites such as Anilist, MyAnimeList, Kitsu.",
3
+ "version": "3.1.0",
4
+ "description": "A typed TypeScript wrapper that unifies the AniList GraphQL and MyAnimeList REST APIs behind one calling convention: one params object and one options object per operation, with normalized errors, retries, pacing, and caching shared across providers.",
5
5
  "type": "module",
6
6
  "main": "dist/AniLink.mjs",
7
7
  "types": "./dist/AniLink.d.ts",
@@ -42,15 +42,15 @@
42
42
  "provenance": true
43
43
  },
44
44
  "scripts": {
45
- "postinstall": "node -e \"if(require('fs').existsSync('patches'))require('patch-package')\"",
45
+ "postinstall": "node -e \"const fs=require('fs');if(fs.existsSync('package-lock.json')){if(!fs.existsSync('patches/@stryker-mutator+vitest-runner+10.0.0.patch')){console.error('Required Stryker patch is missing; restore patches/@stryker-mutator+vitest-runner+10.0.0.patch before installing');process.exit(1)}require('patch-package')}\"",
46
46
  "typecheck": "tsc --noEmit",
47
- "typecheck:tests": "tsc --noEmit -p tsconfig.test.json",
47
+ "typecheck:tests": "vue-tsc --noEmit -p tsconfig.test.json",
48
48
  "test": "vitest run",
49
49
  "test:integration": "vitest run --config vitest.integration.config.mts",
50
50
  "test:package": "node scripts/package-smoke/run.mjs",
51
51
  "test:coverage": "vitest run --coverage",
52
52
  "mutation:test": "stryker run",
53
- "build": "rimraf dist && unbuild && node -e \"for (const f of require('fs').readdirSync('dist')) if (f.endsWith('.d.mts')) require('fs').rmSync('dist/' + f)\"",
53
+ "build": "rimraf dist && unbuild && node scripts/clean-declarations.mjs",
54
54
  "anilist:api:compare": "tsx scripts/api-compare/cli.ts compare --provider anilist",
55
55
  "anilist:api:update-schema": "tsx scripts/api-compare/cli.ts update-schema --provider anilist",
56
56
  "mal:api:compare": "tsx scripts/api-compare/cli.ts compare --provider mal",
@@ -62,24 +62,27 @@
62
62
  "facade:generate": "tsx scripts/generate-facade-groups.ts",
63
63
  "lint": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.{js,mjs,ts,vue}\"",
64
64
  "lint:fix": "eslint --fix \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.{js,mjs,ts,vue}\"",
65
- "format": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.{js,mjs,ts,vue,css}\"",
66
- "format:check": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.{js,mjs,ts,vue,css}\"",
67
- "docs:generate": "npm run docs:operations && npm run docs:llms && npm run docs:site && npm run docs:search-index",
65
+ "format": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.md\" \"docs-src/**/*.{js,mjs,ts,vue,css}\"",
66
+ "format:check": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\" scripts/ build.config.ts \"docs-src/**/*.md\" \"docs-src/**/*.{js,mjs,ts,vue,css}\"",
67
+ "docs:generate": "npm run docs:operations && npm run docs:llms && npm run docs:social-cards && npm run docs:site && npm run docs:search-index",
68
68
  "docs:serve": "npm run docs:generate && npx serve docs",
69
69
  "release": "semantic-release",
70
70
  "release:dry": "semantic-release --dry-run --no-ci",
71
71
  "prepublishOnly": "npm run build",
72
- "check": "npm run typecheck && npm run typecheck:tests && npm run lint && npm run test:coverage && npm run format:check && npm run jsdoc:check && npm run facade:generate -- --check && npm run interfaces:generate -- --check && npm run anilist:api:compare -- --strict && npm run mal:api:compare -- --strict && npm run build",
72
+ "check": "npm run typecheck && npm run typecheck:tests && npm run lint && npm run test:coverage && npm run format:check && npm run jsdoc:check && npm run facade:generate -- --check && npm run interfaces:generate -- --check && npm run docs:operations -- --check && npm run docs:llms -- --check && npm run docs:social-cards -- --check && npm run anilist:api:compare -- --strict && npm run mal:api:compare -- --strict && npm run build",
73
+ "check:fast": "npm run typecheck && npm run typecheck:tests && npm run lint && npm test",
73
74
  "docs:operations": "tsx scripts/generate-operation-reference.ts",
74
75
  "docs:llms": "tsx scripts/generate-llms-txt.ts",
75
- "docs:site": "vitepress build docs-src && typedoc",
76
+ "docs:social-cards": "tsx scripts/generate-social-cards.ts",
77
+ "docs:vitepress": "vitepress build docs-src",
78
+ "docs:typedoc": "typedoc",
79
+ "docs:site": "npm run docs:vitepress && npm run docs:typedoc",
76
80
  "docs:search-index": "tsx scripts/generate-search-index.ts",
77
81
  "docs:dev": "vitepress dev docs-src"
78
82
  },
79
83
  "keywords": [
80
84
  "anilist",
81
85
  "myanimelist",
82
- "kitsu",
83
86
  "api",
84
87
  "wrapper",
85
88
  "anilist-api",
@@ -90,32 +93,35 @@
90
93
  "author": "RLAlpha49",
91
94
  "license": "MIT",
92
95
  "devDependencies": {
93
- "@huggingface/transformers": "4.2.0",
94
- "@lucide/vue": "^1.41.0",
96
+ "@huggingface/transformers": "4.3.0",
97
+ "@lucide/vue": "^1.48.0",
95
98
  "@semantic-release/changelog": "^7.0.0",
96
99
  "@semantic-release/commit-analyzer": "^13.0.1",
97
100
  "@semantic-release/git": "^11.0.1",
98
- "@semantic-release/github": "^12.0.9",
99
- "@semantic-release/npm": "^13.1.5",
101
+ "@semantic-release/github": "^12.0.10",
102
+ "@semantic-release/npm": "^13.2.0",
100
103
  "@semantic-release/release-notes-generator": "^14.1.1",
101
104
  "@stryker-mutator/core": "^10.0.0",
102
105
  "@stryker-mutator/vitest-runner": "^10.0.0",
103
- "@types/node": "^22.20.1",
104
- "@typescript-eslint/eslint-plugin": "^8.69.0",
105
- "@typescript-eslint/parser": "^8.69.0",
106
- "@vitest/coverage-v8": "^5.0.0",
106
+ "@types/node": "^22.20.4",
107
+ "@typescript-eslint/eslint-plugin": "^8.71.0",
108
+ "@typescript-eslint/parser": "^8.71.0",
109
+ "@vitejs/plugin-vue": "^6.0.9",
110
+ "@vitest/coverage-v8": "^5.0.2",
111
+ "@vue/test-utils": "^2.5.1",
107
112
  "conventional-changelog-conventionalcommits": "^9.3.1",
108
- "eslint": "^10.10.0",
113
+ "eslint": "^10.11.0",
109
114
  "eslint-config-prettier": "^10.1.8",
110
- "eslint-plugin-security": "^4.0.1",
111
- "fast-check": "^4.9.0",
115
+ "eslint-plugin-security": "^4.1.0",
116
+ "fast-check": "^4.10.2",
112
117
  "graphql": "^17.0.2",
113
- "mermaid": "^11.17.2",
118
+ "happy-dom": "^20.14.5",
119
+ "mermaid": "^12.0.0",
114
120
  "patch-package": "^8.0.1",
115
- "prettier": "^3.9.6",
121
+ "prettier": "^3.9.9",
116
122
  "rimraf": "^6.1.3",
117
123
  "semantic-release": "^25.0.9",
118
- "tsx": "^4.23.13",
124
+ "tsx": "^4.23.15",
119
125
  "typedoc": "^0.28.20",
120
126
  "typedoc-plugin-llms-txt": "^0.1.2",
121
127
  "typedoc-plugin-mdn-links": "^5.1.1",
@@ -123,10 +129,23 @@
123
129
  "typescript": "^6.0.3",
124
130
  "unbuild": "^3.6.1",
125
131
  "vitepress": "^1.6.4",
126
- "vitest": "^5.0.0",
127
- "vue": "^3.5.42"
132
+ "vitest": "^5.0.2",
133
+ "vue": "^3.5.43",
134
+ "vue-tsc": "^3.3.11"
128
135
  },
129
136
  "dependencies": {
130
137
  "axios": "^1.20.0"
138
+ },
139
+ "overrides": {
140
+ "unbuild": {
141
+ "typescript": "$typescript"
142
+ }
143
+ },
144
+ "allowScripts": {
145
+ "esbuild@0.28.2": true,
146
+ "esbuild@0.25.12": true,
147
+ "esbuild@0.21.5": true,
148
+ "onnxruntime-node@1.30.0": true,
149
+ "protobufjs@7.6.6": true
131
150
  }
132
151
  }