Commit Graph
75 Commits
Author SHA1 Message Date
CPTProgrammer 9d63c2028f Add Modrinth/CurseForge MC version ranges to publish modal
Compute per-platform version ranges using each platform's available MC
version list and display them as tags in the publish modal.
2026-07-16 20:26:13 +08:00
CPTProgrammer 54d6a7659a Propagate MC version ranges from VersionTable to PublishModal 2026-07-16 16:05:13 +08:00
CPTProgrammer 9a2305d5e0 Increase main content max-width 2026-07-16 15:35:08 +08:00
CPTProgrammer 95a3900aec Add platform icons to publish progress bars 2026-07-16 15:22:06 +08:00
CPTProgrammer 7bb932910a Use theme tokens for spacing and sizing and update PublishModal 2026-07-16 14:34:56 +08:00
CPTProgrammer 5f6cab6529 Add interactive version range display in VersionTable 2026-07-16 14:17:49 +08:00
CPTProgrammer e45db0ffc0 Update index.md 2026-07-16 13:20:29 +08:00
CPTProgrammer c39c135d91 Replace inline color spans with Typography.Text 2026-07-16 13:11:30 +08:00
CPTProgrammer 1cb0a444d0 Display filename in config selector options 2026-07-16 13:06:37 +08:00
CPTProgrammer 9a7e6a8934 Extract add config button and wrap selector with Flex 2026-07-16 13:02:51 +08:00
CPTProgrammer f90923736f Refactor config API to use filename-based identifiers 2026-07-16 12:30:51 +08:00
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 269e7024a2 Add loader icons, colors, and sort order to ConfigModal selects 2026-07-15 22:16:12 +08:00
CPTProgrammer 80d664936a Add validation for Modrinth and CurseForge version fields 2026-07-15 13:28:42 +08:00
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
CPTProgrammer 5dbca049b6 Relax field constraints to match OpenAPI spec
Remove length, url format, and minimum value validations to align with
the upstream OpenAPI specification. Adjust field optionality in
BaseVersion so that CreatableVersion and Version can differ correctly.
2026-07-06 08:02:40 +08:00
CPTProgrammer 044ec153bc Fix file_types schema to include string key validation 2026-07-06 07:50:00 +08:00
CPTProgrammer 73ab46cff4 Initialize Next.js project with Ant Design and other dependencies 2026-07-06 07:48:07 +08:00
CPTProgrammer 36f809f676 Add node_modules to gitignore 2026-07-06 07:32:13 +08:00
CPTProgrammer 8071c2f8a7 Add Zod schemas and types for CurseForge and Modrinth APIs 2026-07-06 07:25:08 +08:00
CPTProgrammer 307b0cd4d4 Add dependency documentation for MD editor, icons, and use-debounce 2026-07-06 07:04:30 +08:00
CPTProgrammer 36390e3224 Add Zod for runtime validation of config and API data 2026-07-06 05:25:42 +08:00
CPTProgrammer ae7f01ea70 Add CurseForge and Modrinth platform SVG icons 2026-07-06 05:12:48 +08:00
CPTProgrammer 346b0783d8 Add documentation for Mod Releaser project 2026-07-06 04:56:50 +08:00
CPTProgrammer 7dff3d0f3f Initial commit 2026-07-03 16:38:29 +08:00