Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
b47e4c8
chore: remove monorepo infrastructure
AllyMurray Feb 16, 2026
2f5a31b
chore: remove non-client packages
AllyMurray Feb 16, 2026
f2d331b
refactor: hoist client package to repo root with toolkit HTTP integra…
AllyMurray Feb 16, 2026
41be041
chore: configure single-package build and tooling
AllyMurray Feb 16, 2026
2f1f7ec
docs: update CLAUDE.md for single-package structure
AllyMurray Feb 16, 2026
6801ef8
chore: remove stale examples directory
AllyMurray Feb 16, 2026
48d7eb1
chore: add API sample data and documentation for code generation
AllyMurray Feb 16, 2026
d5ad511
feat: add SDK code generation modules
AllyMurray Feb 16, 2026
4653a4c
feat: add SDK generation orchestrator and sample fetcher scripts
AllyMurray Feb 16, 2026
0ac8b8b
test: enhance build artifact tests to cover all 19 resources
AllyMurray Feb 16, 2026
cdf63bb
docs: document code generation workflow and scripts
AllyMurray Feb 16, 2026
bee2b07
fix: correct truthiness bug and snake_case conversion in codegen
AllyMurray Feb 17, 2026
dc75318
chore: remove dead code from codegen scripts
AllyMurray Feb 17, 2026
a3855d1
feat: generate code comments from HTML docs in orchestrator
AllyMurray Feb 17, 2026
2e504e6
refactor: tighten comment extraction to only collect field descriptions
AllyMurray Feb 17, 2026
887c2f3
refactor: reuse existing case converter in mock-data-generator
AllyMurray Feb 17, 2026
66bfffb
refactor: rename toParamCase to toKebabCase
AllyMurray Feb 17, 2026
16c5c53
refactor: simplify orchestrator with input validation, Map iteration,…
AllyMurray Feb 17, 2026
4a3bf08
refactor: use Map-based extractFromSample and remove Array.isArray br…
AllyMurray Feb 17, 2026
24944d8
refactor: replace removeType with regex and split replaceCommonTypes
AllyMurray Feb 17, 2026
523ff79
refactor: merge Element/Class suffix removal into cleanDefinitionNames
AllyMurray Feb 17, 2026
086e352
refactor: remove thin case-conversion wrappers, import change-case di…
AllyMurray Feb 17, 2026
c7d3d56
refactor: deduplicate isObject by importing from src/utils and delete…
AllyMurray Feb 17, 2026
d67d67b
refactor: merge sample-data reading and results flattening into singl…
AllyMurray Feb 17, 2026
bf5f6d2
refactor: remove unused DateRange and DateTimeRange interfaces
AllyMurray Feb 17, 2026
177edc5
feat: add internal type representation for code generation
AllyMurray Feb 17, 2026
386269e
feat: add sample inferrer to infer types directly from JSON samples
AllyMurray Feb 17, 2026
d7c5e1a
feat: add type emitter to generate TypeScript from InferredTypeGraph
AllyMurray Feb 17, 2026
7e52b54
feat: add type overrides for hasStaffReview and aliases properties
AllyMurray Feb 17, 2026
704f830
refactor: adapt comment injector to operate on InferredTypeGraph
AllyMurray Feb 17, 2026
233b0d5
refactor: adapt common types generator to operate on InferredTypeGraph
AllyMurray Feb 17, 2026
49ebdbf
refactor: wire new pipeline and delete schema-generator and type-gene…
AllyMurray Feb 17, 2026
9f0c9eb
chore: remove quicktype-core dependency
AllyMurray Feb 17, 2026
2838191
refactor: regenerate SDK types with improved inference accuracy
AllyMurray Feb 17, 2026
51e8d8c
docs: update CLAUDE.md pipeline description for new code generation
AllyMurray Feb 17, 2026
41fa6b0
docs: add documentation site with Starlight
AllyMurray Feb 17, 2026
c3eed19
docs: rewrite resources overview as card grid with common types
AllyMurray Feb 17, 2026
21b5235
docs: add per-resource API reference pages
AllyMurray Feb 17, 2026
356c4a3
docs: update README to focus on features and link to docs site
AllyMurray Feb 17, 2026
1eb8ebc
chore: apply prettier formatting to docs site content
AllyMurray Feb 17, 2026
fd80e55
docs: add code generation README with Mermaid pipeline diagrams
AllyMurray Feb 17, 2026
04f2560
docs: enhance README formatting for clarity and consistency
AllyMurray Feb 17, 2026
def7e2d
docs: link to scripts README from main README
AllyMurray Feb 17, 2026
d7ca68b
refactor: rename package references from @comic-vine/client to comic-…
AllyMurray Feb 17, 2026
183c816
refactor: replace @comic-vine store packages with @http-client-toolkit
AllyMurray Feb 17, 2026
c2cc57d
ci: modernize workflows with changesets and npm trusted publishing
AllyMurray Feb 17, 2026
03045b2
chore: apply prettier formatting from pre-commit hook
AllyMurray Feb 17, 2026
eafdfee
fix(codegen): skip empty common-types import in type emitter
AllyMurray Feb 17, 2026
e184110
fix(codegen): emit `unknown` instead of redundant `null | unknown`
AllyMurray Feb 17, 2026
a8039cf
refactor(codegen): extract shared resource name parser and anchor reg…
AllyMurray Feb 17, 2026
51ef032
fix(codegen): only merge enums with identical value sets
AllyMurray Feb 17, 2026
7e627a0
fix(codegen): apply _credit normalisation on both sides of comment ma…
AllyMurray Feb 17, 2026
8175454
fix: correct VideoType resource map entry and document duplicate enum…
AllyMurray Feb 18, 2026
e12c09d
ci: add generated code staleness check
AllyMurray Feb 18, 2026
157423f
refactor(codegen): name the mock file stem extraction function
AllyMurray Feb 18, 2026
e146e9b
refactor(codegen): derive common type configs from common-types.ts so…
AllyMurray Feb 18, 2026
499421b
refactor(codegen): split sample-inferrer into focused modules
AllyMurray Feb 18, 2026
0e314e3
refactor(codegen): generate resource-map.ts instead of hand-maintaini…
AllyMurray Feb 18, 2026
1fa8663
refactor(codegen): rename replaceReservedWords to mapApiNameToSdkName
AllyMurray Feb 18, 2026
4588786
refactor(codegen): simplify generatePagedData pagination arithmetic
AllyMurray Feb 18, 2026
7265214
refactor(codegen): extract upsertNestedType helper in sample-inferrer
AllyMurray Feb 18, 2026
5ce2d2a
refactor(codegen): extract isListResource utility for folder convention
AllyMurray Feb 18, 2026
301f9ea
refactor(codegen): add cycle detection to interface inheritance resolver
AllyMurray Feb 18, 2026
87beb15
refactor(codegen): document enum detection heuristic thresholds
AllyMurray Feb 18, 2026
fdcf03f
docs: update scripts README for new modules and resource-map generation
AllyMurray Feb 18, 2026
58ab80e
refactor: replace axios with @http-client-toolkit in fetch-samples
AllyMurray Feb 18, 2026
87f10c5
test: add browser, type contract, and bundle size build tests
AllyMurray Feb 18, 2026
9a65f16
chore: set version to 1.3.2 and add major changeset for v2 release
AllyMurray Feb 18, 2026
6df2b2d
chore: update changeset format for v2 major release
AllyMurray Feb 18, 2026
8d6e689
feat: add resumable unknown-field discovery script
AllyMurray Apr 6, 2026
24710eb
refactor: tighten generated types from broader API samples
AllyMurray Apr 6, 2026
21a906a
test: make full repo typecheck pass
AllyMurray Apr 6, 2026
4e07696
docs: add v2 migration guide and toolkit links
AllyMurray Apr 6, 2026
b70364a
build: update http client toolkit to 4.0.0
AllyMurray Apr 6, 2026
b3f6859
chore: format lockfile
AllyMurray Apr 6, 2026
f62e6d7
fix: split esm and cjs entrypoints
AllyMurray Apr 6, 2026
b7bc594
fix(ci): publish before pushing release commit
AllyMurray Apr 6, 2026
2dd998b
chore(ci): update GitHub Actions and Node versions
AllyMurray Apr 6, 2026
c9b6692
chore(package): declare supported Node LTS versions
AllyMurray Apr 6, 2026
3b4987a
chore(docs): stop tracking Astro generated files
AllyMurray Apr 6, 2026
97f5991
docs(changeset): clarify v2 release notes
AllyMurray Apr 7, 2026
36725c2
ci: remove PR title validation workflow
AllyMurray Apr 13, 2026
e15ce5f
ci: harden release workflow for safe reruns
AllyMurray Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 0 additions & 17 deletions .changeset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,3 @@ find the full documentation for it [in our repository](https://github.com/change

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

## How to use Changesets

1. **Add a changeset**: Run `pnpm changeset` to add a new changeset describing your changes
2. **Version packages**: Run `pnpm version-packages` to consume changesets and update package versions
3. **Publish packages**: Run `pnpm release` to build and publish packages to npm

## Workflow

When you make changes to a package:

1. Make your changes
2. Run `pnpm changeset` and describe your changes
3. Commit the changeset file along with your changes
4. When ready to release, run `pnpm version-packages` to update versions
5. Commit the version changes
6. Run `pnpm release` to publish
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
Expand Down
7 changes: 0 additions & 7 deletions .changeset/real-nails-shine.md

This file was deleted.

22 changes: 22 additions & 0 deletions .changeset/v2-major-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
'comic-vine-sdk': major
---

Rewrite as a single-package SDK built on `@http-client-toolkit/core` for HTTP requests, with toolkit-compatible caching, deduplication, and rate limiting stores.

**Breaking changes:**

- Package renamed from `@comic-vine/client` to `comic-vine-sdk`
- Replaced the monorepo package layout with a single published SDK package
- HTTP layer replaced: custom Axios-based client → `@http-client-toolkit/core` (fetch-based)
- Store interfaces now use `CacheStore`, `DedupeStore`, and `RateLimitStore` from `@http-client-toolkit/core`
- Constructor accepts a single `ComicVineOptions` object with `apiKey`, `baseUrl`, `stores`, and `client` fields
- Resource properties are lazily loaded via Proxy

**New features:**

- Full code generation pipeline: types, resources, tests, and mock data generated from API samples
- All 19 Comic Vine resources with typed `list()` and `retrieve()` methods
- `list()` returns a dual `Promise & AsyncIterable` for automatic pagination
- Utility methods: `getAvailableResources`, `hasResource`, `clearCache`, `getCacheStats`, `getRateLimitStatus`, `resetRateLimit`
- Comprehensive build artifact tests: ESM, CJS, exports, functionality, browser bundleability, type contracts, bundle size gating
111 changes: 42 additions & 69 deletions .github/workflows/build.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 59 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Deploy Docs

on:
push:
branches: [main]
paths:
- 'docs-site/**'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: 'pages'
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: docs-site
steps:
- name: Checkout
uses: actions/checkout@v6.0.2

- name: Setup pnpm
uses: pnpm/action-setup@v5.0.0

- name: Setup Node
uses: actions/setup-node@v6.1.0
with:
node-version: 24
cache: pnpm
cache-dependency-path: docs-site/pnpm-lock.yaml

- name: Install dependencies
run: pnpm install

- name: Build docs
run: pnpm build

- name: Upload artifact
uses: actions/upload-pages-artifact@v4.0.0
with:
path: docs-site/dist

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5.0.0
27 changes: 0 additions & 27 deletions .github/workflows/pull-request-lint.yml

This file was deleted.

Loading