Commit Graph

17 Commits

Author SHA1 Message Date
CPTProgrammer
c21d67b130
Use project root constant instead of process.cwd() 2026-07-16 11:39:13 +08:00
CPTProgrammer
7173ef1149
Refactor environment selector with grouped options and descriptions 2026-07-16 11:18:20 +08:00
CPTProgrammer
80d664936a
Add validation for Modrinth and CurseForge version fields 2026-07-15 13:28:42 +08:00
CPTProgrammer
c1f07cc31e
Add dynamic field validation for Modrinth and CurseForge lists 2026-07-15 12:38:50 +08:00
CPTProgrammer
52ef5bf927
Add Modrinth and CurseForge project ID lookup to field validation 2026-07-14 14:29:56 +08:00
CPTProgrammer
296b69bf1c
Split CurseForge API token into separate legacy and new tokens 2026-07-13 18:42:29 +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
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
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
cbce560805
Replace Blob with File for file uploads 2026-07-11 06:06:34 +08:00
CPTProgrammer
29e1751d31
Drop user-agent version suffix 2026-07-10 08:59:26 +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
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