Commit Graph

60 Commits

Author SHA1 Message Date
CPTProgrammer
f1447a3b91
Fix stale prevRef blocking cross-def change detection 2026-07-15 13:05:46 +08:00
CPTProgrammer
5bea485378
Add debounce configuration to field validation definitions 2026-07-15 12:51:36 +08:00
CPTProgrammer
c1f07cc31e
Add dynamic field validation for Modrinth and CurseForge lists 2026-07-15 12:38:50 +08:00
CPTProgrammer
79d21571d9
Restrict schema parsing to a subset of fields 2026-07-15 09:58:36 +08:00
CPTProgrammer
f2f5db5c17
Add project ID field to dependency configuration 2026-07-14 18:15:17 +08:00
CPTProgrammer
c265b2405b
Make mod link fields nullable and optional 2026-07-14 17:10:11 +08:00
CPTProgrammer
3b077d75f4
Add missing file status values and make gameVersionTypeId nullable 2026-07-14 16:39:16 +08:00
CPTProgrammer
52ef5bf927
Add Modrinth and CurseForge project ID lookup to field validation 2026-07-14 14:29:56 +08:00
CPTProgrammer
9658773fa2
Make nullable fields optional in CurseForge schemas 2026-07-13 19:07:32 +08:00
CPTProgrammer
9a15a99ba1
Add CurseForge and Modrinth project retrieval APIs 2026-07-13 18:58:49 +08:00
CPTProgrammer
296b69bf1c
Split CurseForge API token into separate legacy and new tokens 2026-07-13 18:42:29 +08:00
CPTProgrammer
691ae86e00
Update Modrinth API documentation 2026-07-13 16:42:52 +08:00
CPTProgrammer
b778ebc1d8
Update CurseForge API documentation 2026-07-13 16:18:52 +08:00
CPTProgrammer
750f2a18f8
Add field validation engine with per-field debounce
Introduce useFieldValidations hook and ValidatedFormItem component
driven by declarative StaticValidationDef arrays. Four server actions
scan the project directory to validate MC properties dir, version field,
artifact and source filename templates in real time.
2026-07-13 12:59:03 +08:00
CPTProgrammer
d79af724e3
Add default filename and source filename format values 2026-07-13 10:08:45 +08:00
CPTProgrammer
c996e772c8
Fix EventEmitter import and tsconfig paths
Update the EventEmitter import to use named import syntax.
Correct tsconfig baseUrl and paths mapping to properly resolve
`@/*` aliases from the project root.
2026-07-13 10:00:20 +08:00
CPTProgrammer
7aa84fd41e
Refactor type-safe constants and extract utility helpers 2026-07-13 09:29:00 +08:00
CPTProgrammer
77b7db9dd1
Add parallel server action utilities 2026-07-13 09:07:18 +08:00
CPTProgrammer
a4686c09b5
Refactor ConfigModal to load metadata independently per select 2026-07-11 12:58:35 +08:00
CPTProgrammer
8d23ae1823
Implement project frontend page 2026-07-11 12:13:20 +08:00
CPTProgrammer
b5555d5635
Dynamically map platform results in publish endpoint 2026-07-11 09:46:25 +08:00
CPTProgrammer
ffcfa9c4f5
Refactor platform publishing
Introduce a new `getMinecraftVersions` function to fetch Minecraft
versions from
CurseForge with caching, along with its Zod schema and exports. Refactor
the
publishing system to use a unified `PlatformAdaptor` interface, replace
the old
`PlatformContext` type, and update the publish flow to compute version
ranges
and pass files as structured objects. Improve `resolveVersionName` to
accept a
full config object and rework `buildJarPath` to use a Template instance.
Add
server functions to retrieve filtered MC version lists for both Modrinth
and
CurseForge.
2026-07-11 09:26:05 +08:00
CPTProgrammer
e8bcd18c76
Add docs for CurseForge Meta API endpoints 2026-07-11 08:55:02 +08:00
CPTProgrammer
cbce560805
Replace Blob with File for file uploads 2026-07-11 06:06:34 +08:00
CPTProgrammer
24637d3db3
Update tRPC route references in docs after namespace flattening 2026-07-11 05:39:08 +08:00
CPTProgrammer
e321ecfd70
Add version range computation utility for MC versions 2026-07-10 14:59:52 +08:00
CPTProgrammer
f7e468f28f
Add SemVer.compare static method for version comparison 2026-07-10 14:59:30 +08:00
CPTProgrammer
9bc693e3a1
Fix CurseForge apiVersion type from number to string 2026-07-10 13:04:20 +08:00
CPTProgrammer
58d72d06fe
Add integration tests for CurseForge and Modrinth APIs 2026-07-10 09:58:20 +08:00
CPTProgrammer
29e1751d31
Drop user-agent version suffix 2026-07-10 08:59:26 +08:00
CPTProgrammer
ef276b6ef4
Update VersionTable to show MC version compatibility range 2026-07-10 08:37:23 +08:00
CPTProgrammer
e8d4994cec
Add TTL cache for game version/loader APIs and enrich upload metadata 2026-07-10 06:54:14 +08:00
CPTProgrammer
7ddbd36c63
Fix typo in version_name documentation comment 2026-07-10 02:42:10 +08:00
CPTProgrammer
a331c0f0f3
Refactor PlatformContext to use Config type directly 2026-07-09 23:18:42 +08:00
CPTProgrammer
e57a1ac993
Extract platform publishing logic into dedicated modules 2026-07-09 12:33:53 +08:00
CPTProgrammer
db1cb28296
Add publish API with modular service layer
Add tRPC publish endpoint, project version parsing, config CRUD, and
client services for Modrinth/CurseForge integration.
2026-07-08 07:05:48 +08:00
CPTProgrammer
e23a1204e8
Add tRPC, TanStack Query, and client/server-only dependencies 2026-07-08 06:56:16 +08:00
CPTProgrammer
2651451b6d
Update project structure documentation for services layer 2026-07-08 06:30:42 +08:00
CPTProgrammer
d7317b4b04
Add tRPC for publish progress subscriptions 2026-07-08 06:13:19 +08:00
CPTProgrammer
6b53906d08
Add template engine with Template class and SemVer support 2026-07-08 05:29:07 +08:00
CPTProgrammer
a0cf0f9d93
Update placeholder syntax in template string documentation 2026-07-08 04:55:53 +08:00
CPTProgrammer
db9e9c3d05
Document Vitest as testing framework in project docs 2026-07-07 01:39:21 +08:00
CPTProgrammer
3c8b52c238
Add test runner and Vite module path resolver 2026-07-07 01:38:09 +08:00
CPTProgrammer
e2a4de3f45
Include request body in CurseForge and Modrinth upload errors 2026-07-06 23:38:30 +08:00
CPTProgrammer
95af305966
Include error response body in API client errors 2026-07-06 23:29:54 +08:00
CPTProgrammer
a823863d0b
Make User-Agent header optional in ModrinthClient 2026-07-06 23:13:17 +08:00
CPTProgrammer
a52dd3915e
Add CurseForge API client with file upload and game endpoints 2026-07-06 22:16:32 +08:00
CPTProgrammer
376bba5b75
Add Modrinth API client with version and tag endpoints 2026-07-06 21:47:38 +08:00
CPTProgrammer
cb05223145
Extract shared Zod schemas for dependency type and environment 2026-07-06 21:28:33 +08:00
CPTProgrammer
cfce62195d
Add Zod schemas for project config and secrets types 2026-07-06 21:22:04 +08:00