Skip to content

Releases: RingoTangs/react-app

v0.3.3

Choose a tag to compare

@RingoTangs RingoTangs released this 03 Jun 12:56

Highlights

  • Improved the one-time template initializer so cleaned projects no longer keep demo-specific README references.
  • Simplified the app composition layer by removing the unnecessary AppProviders wrapper.
  • Kept App.tsx as the explicit composition root for React Query and TanStack Router.
  • Updated README documentation and app-level guidance to match the current provider structure.

Included Changes

  • fix: update README and initialization scripts for clarity and structure
  • refactor: simplify app structure by removing AppProviders and updating README for clarity

中文说明

更新重点

  • 改进一次性模板初始化脚本,初始化后的项目不再残留 demo 专属 README 引用。
  • 删除不必要的 AppProviders 包装层,简化 app composition 结构。
  • 保持 App.tsx 作为 React Query 和 TanStack Router 的显式组合入口。
  • 更新 README 和 app 目录说明,使文档与当前 provider 结构保持一致。

包含提交

  • fix: 更新 README 和初始化脚本,使结构说明更清晰一致
  • refactor: 删除 AppProviders 并同步 README,简化 app 结构

v0.3.2

Choose a tag to compare

@RingoTangs RingoTangs released this 03 Jun 12:41

Highlights

  • Tightened template architecture guardrails with additional ESLint boundary rules.
  • Aligned README documentation with the current demo routes and feature structure.
  • Refined project configuration for scripts, TypeScript declarations, EditorConfig, ignore files, and local schema handling.
  • Continued template quality polish without changing the public runtime architecture or core dependency choices.

Included Changes

  • fix: refine eslint validation to include only project-relevant languages
  • fix: remove unnecessary file extensions from lint-staged configuration
  • fix: streamline .editorconfig by removing unnecessary comments and consolidating rules
  • fix: update .dockerignore to include additional directories for exclusion
  • fix: update formatting commands and improve linting scripts in package.json and documentation
  • chore: remove local schema copies and rely on editor/tooling defaults
  • fix: update documentation to clarify project structure and module organization
  • fix: update TypeScript test configuration
  • fix: update README files to reflect changes in route and feature structure
  • fix: update ESLint configuration to enforce rules against global .d.ts files and generic top-level source directories

中文说明

更新重点

  • 通过新增 ESLint 边界规则,进一步收紧模板的架构约束。
  • 将 README 文档与当前 demo routes 和 feature 结构保持一致。
  • 收敛 scripts、TypeScript declarations、EditorConfig、ignore 文件和本地 schema 处理方式。
  • 本次继续聚焦模板质量收尾,不改变公开运行时架构和核心依赖选择。

包含提交

  • fix: 收敛 ESLint validate,仅覆盖当前项目相关语言
  • fix: 移除 lint-staged 中不必要的文件后缀
  • fix: 精简 .editorconfig 注释并统一规则
  • fix: 更新 .dockerignore,补充需要排除的目录
  • fix: 调整 package.json 和文档中的格式化命令命名
  • chore: 删除本地 schema 副本,依赖编辑器和工具链默认能力
  • fix: 更新文档,明确项目结构和模块组织
  • fix: 更新 TypeScript 测试配置
  • fix: 更新 README,使其匹配当前 route 和 feature 结构
  • fix: 更新 ESLint 配置,禁止 src 下全局 .d.ts 和泛化顶层源码目录

v0.3.1

Choose a tag to compare

@RingoTangs RingoTangs released this 30 Apr 13:38

Highlights

  • Refined the template testing configuration to align more cleanly with Vitest.
  • Improved type-definition handling around the test environment and supporting tooling.
  • Continued template quality polish without changing the public runtime architecture.

Included Changes

  • refactor: update testing configurations to use Vitest and improve type definitions

中文说明

更新重点

  • 进一步收敛模板中的测试配置,使其与 Vitest 的使用方式更一致。
  • 改进测试环境相关的类型定义处理与配套配置。
  • 本次主要是模板质量修整,不引入新的运行时架构能力。

包含提交

  • refactor: 更新测试配置以更好地适配 Vitest,并改进类型定义

v0.3.0

Choose a tag to compare

@RingoTangs RingoTangs released this 27 Apr 13:31

Highlights

  • Added a one-time init:template initializer that removes demo features and routes, updates starter files, regenerates the route tree, and then removes itself.
  • Generalized the main README guidance so template architecture rules are no longer tied to example-* features or /posts demo paths.
  • Split test typing from application typing with tsconfig.test.json, keeping Vitest globals out of the production app TypeScript project.

Included Changes

  • feat: add init:template to automate demo cleanup and starter initialization
  • refactor: make the initializer self-removing and replace demo-specific examples with generic patterns
  • refactor: isolate test-specific TypeScript configuration from the app project
  • chore: align template initialization and release-related configuration

中文说明

更新重点

  • 新增一次性初始化命令 init:template,可移除 demo feature 和 demo 路由、更新 starter 文件、重建路由树,并在完成后自动删除自身。
  • 主 README / README.zh-CN 的说明改为更通用的模板规则,不再依赖 example-* feature 或 /posts 这类 demo 路径。
  • 新增 tsconfig.test.json,把测试类型环境从应用 TypeScript 工程中拆出,避免 Vitest globals 进入生产代码类型上下文。

包含提交

  • feat: 新增 init:template,自动完成 demo 清理与 starter 初始化
  • refactor: 让初始化器支持自删除,并将示例说明替换为通用模式
  • refactor: 将测试专用 TypeScript 配置从 app 工程中拆出
  • chore: 对齐模板初始化与发布相关配置

v0.2.0

Choose a tag to compare

@RingoTangs RingoTangs released this 27 Apr 12:28

Highlights

  • Added a real TanStack Router + React Query integration path for route loaders through shared queryClient router context.
  • Introduced a dedicated /posts example route that preloads feature-owned query options with ensureQueryData(...).
  • Moved runtime configuration from src/app/config to src/config and tightened architecture boundaries across app, routes, features, and shared.
  • Refreshed README guidance, architectural diagrams, and template branding for better onboarding.

Included Changes

  • feat: add posts route and integrate QueryClient into router context for improved feature-data preloading
  • refactor: move runtime configuration from src/app/config to src/config
  • docs: clarify architectural principles, dependency management, branding, and project overview
  • chore: refresh recommended workspace extensions

中文说明

更新重点

  • 补齐了 TanStack Router 与 React Query 的标准集成方式,通过共享 queryClient 注入 router context,支持 route loader 预取数据。
  • 新增 /posts 示例路由,展示 feature 自有 queryOptionsensureQueryData(...) 的配合方式。
  • 运行时配置从 src/app/config 迁移到 src/config,进一步收紧 app / routes / features / shared 的依赖边界。
  • 更新了 README、架构说明和模板展示内容,提升新同学接手时的可读性。

包含提交

  • feat: 新增 posts 路由,并将 QueryClient 接入 router context,用于更标准的特性数据预取
  • refactor: 将运行时配置从 src/app/config 迁移到 src/config
  • docs: 补充架构原则、依赖约束、品牌展示和项目概览
  • chore: 更新推荐的工作区扩展配置

v0.1.3

Choose a tag to compare

@RingoTangs RingoTangs released this 21 Apr 13:31

English

Highlights

  • Added dependency direction diagrams to the English and Chinese README files, making the relationship between app, routes, features, and shared easier to understand.
  • Clarified provider composition rules: app/providers is for application wiring, while feature-consumable provider capabilities should live in shared/<capability> or features/<domain>.
  • Formalized asset placement rules for public, src/shared/assets, and src/features/<feature>/assets.
  • Added shared and feature asset examples, including a feature-owned SVG imported by the example counter.
  • Replaced the VS Code prettier.documentSelectors workaround with @prettier/plugin-xml for SVG/XML formatting.
  • Improved contributor and template documentation across README, AGENTS, and directory-level README files.
  • Refined project metadata and repository hygiene, including package metadata, license declaration, ignore rules, Prettier configuration, and editor settings.

Notes

  • This release focuses on template architecture polish and documentation consistency.
  • Docker and Nginx deployment support was released previously in v0.1.2 and is not repeated as a new feature here.

Validation

  • pnpm check passed.
  • Vitest passed with 3 test files and 11 tests.

中文

亮点

  • 在中英文 README 中新增依赖方向图,让 approutesfeaturesshared 的关系更直观。
  • 明确 Provider composition 规则:app/providers 只负责应用装配,feature 会消费的 provider 能力应放在 shared/<capability>features/<domain>
  • 规范资产目录:明确 publicsrc/shared/assetssrc/features/<feature>/assets 的边界。
  • 增加 shared 和 feature assets 示例,包括 example counter 中实际 import 的 feature 私有 SVG。
  • 使用 @prettier/plugin-xml 替代 VS Code prettier.documentSelectors workaround,统一处理 SVG/XML 格式化。
  • 补充 README、AGENTS 和目录级 README 中的贡献者说明与模板规则。
  • 完善项目元信息和仓库卫生,包括 package metadata、license 声明、ignore 规则、Prettier 配置和编辑器配置。

说明

  • 本版本重点是模板架构收尾和文档一致性。
  • Docker 和 Nginx 部署能力已在 v0.1.2 发布,本次不作为新功能重复说明。

验证

  • pnpm check 已通过。
  • Vitest 通过,结果为 3 个测试文件、11 个测试。

v0.1.2

Choose a tag to compare

@RingoTangs RingoTangs released this 19 Apr 12:08

Summary

This patch release adds a standard Docker-based static deployment flow for the React team template and refines staged-file formatting rules.

Changes

  • Add a multi-stage Dockerfile for building the Vite app with Node and serving the final dist/ output with Nginx.
  • Add root-level nginx.conf with SPA fallback support for TanStack Router and long-term cache headers for static assets.
  • Add .dockerignore to keep Docker build context small and avoid copying local dependencies, build outputs, environment files, and IDE metadata.
  • Document Docker build and run commands in both English and Chinese README files.
  • Refine lint-staged patterns by adding mts, cts, pcss, postcss, and svg support while keeping pre-commit checks lightweight.

Verification

  • pnpm check
  • pnpm build
  • docker build -t react-app:local .

Notes

  • This release does not introduce breaking changes.
  • The Docker image serves static assets only; it does not run a Node.js server at runtime.
  • VITE_* environment variables are injected at build time. Runtime environment switching should be implemented separately if needed.
  • No build artifacts or Docker images are attached to this release; use the GitHub-generated source archives for template download.

概要

本次补丁版本为 React 团队模板新增标准 Docker 静态部署流程,并优化 staged file 格式化规则。

更新内容

  • 新增多阶段 Dockerfile,使用 Node 构建 Vite 应用,并通过 Nginx 托管最终 dist/ 产物。
  • 新增根目录 nginx.conf,支持 TanStack Router 的 SPA fallback,并为静态资源配置长期缓存。
  • 新增 .dockerignore,减少 Docker build context,避免复制本地依赖、构建产物、环境变量和 IDE 元数据。
  • 在英文 README 和中文 README 中补充 Docker 构建与运行命令。
  • 优化 lint-staged 匹配规则,补齐 mtsctspcsspostcsssvg,同时保持 pre-commit 检查轻量。

验证

  • pnpm check
  • pnpm build
  • docker build -t react-app:local .

说明

  • 本版本不包含破坏性变更。
  • Docker 镜像只托管静态资源,运行时不启动 Node.js 服务。
  • VITE_* 环境变量为构建期注入;如需运行时环境切换,应单独设计运行时配置机制。
  • 本次 Release 不额外挂载构建产物或 Docker 镜像,模板下载可直接使用 GitHub 自动生成的源码压缩包。

v0.1.1

Choose a tag to compare

@RingoTangs RingoTangs released this 19 Apr 08:33

Summary

This patch release refines the team React template after v0.1.0, focusing on
React Query defaults, documentation alignment, formatting ignores, and VS Code
workspace settings.

Changes

  • Add conservative React Query default options for cache, retry, and refetch
    behavior.
  • Document QueryProvider defaults in English and Chinese README files.
  • Update .prettierignore to exclude additional build and dependency output
    directories.
  • Clean up VS Code workspace settings while keeping broad ESLint validation
    coverage.
  • Remove stale auto-import file exclusions.

Verification

  • pnpm check
  • pnpm build

Notes

  • This release does not introduce breaking changes.
  • No build artifacts are attached; use the GitHub-generated source archives
    for template download.

概要

本次补丁版本基于 v0.1.0 继续完善团队 React 工程模板,重点收敛 React Query 默
认配置、文档一致性、格式化忽略规则以及 VS Code 工作区配置。

更新内容

  • 新增更稳妥的 React Query 默认配置,覆盖缓存、重试和重新请求策略。
  • 在英文 README、中文 README 和 src/app/README.md 中补充 QueryProvider 默认
    策略说明。
  • 更新 .prettierignore,补充构建产物和依赖产物目录排除。
  • 清理 VS Code 工作区配置,同时保留较完整的 ESLint 文件类型校验范围。
  • 移除 auto-import 历史残留配置。

验证

  • pnpm check
  • pnpm build

说明

  • 本版本不包含破坏性变更。
  • 本次 Release 不额外挂载构建产物,模板下载可直接使用 GitHub 自动生成的源码压
    缩包。

v0.1.0 - Team React Template Baseline

Choose a tag to compare

@RingoTangs RingoTangs released this 19 Apr 06:43

Overview

This release provides the first team-oriented React application template
baseline.

It includes React 19, Vite 8, TypeScript, TanStack Router, TanStack Query,
Tailwind CSS v4, Vitest, Testing Library, ESLint, Prettier, Husky, lint-
staged, and bilingual documentation.

Highlights

  • Feature-first architecture with app / routes / features / shared
  • TanStack Router file-based routing setup
  • TanStack Query provider with conservative defaults
  • Example feature showing api / model / hooks / ui
  • queryOptions pattern for sharing query definitions between hooks and route
    loaders
  • App boundary guidance for runtime config, router, providers, and monitoring
  • Shared layer restricted to product-agnostic UI and utilities
  • ESLint architecture boundary rules
  • English and Chinese README documentation
  • Directory-level README files for key folders

Architecture Rules

  • app owns application infrastructure and runtime wiring
  • routes owns URL semantics and should stay thin
  • features owns business capabilities and feature-specific data access
  • shared owns product-agnostic UI and pure helpers
  • Feature modules may read stable runtime config from app/config
  • Feature modules must not depend on app wiring such as router, providers, or
    monitoring
  • Shared code must not depend on app, routes, or features
  • Route files must not call fetch directly
  • Barrel exports are limited to stable public boundaries such as shared/ui
    and shared/lib

Verification

This release was verified with:

pnpm check
pnpm build

Download

Use the GitHub generated source archive:

  • Source code (zip)
  • Source code (tar.gz)

发布说明

这是第一个面向团队协作的 React 应用模板基线版本。

模板包含 React 19、Vite 8、TypeScript、TanStack Router、TanStack Query、
Tailwind CSS v4、Vitest、Testing Library、ESLint、Prettier、Husky、lint-
staged,以及中英文文档。

主要内容

  • 基于 app / routes / features / shared 的 feature-first 架构
  • TanStack Router 文件路由配置
  • TanStack Query provider 和保守默认配置
  • 示例 feature 展示 api / model / hooks / ui 分层
  • queryOptions 模式,用于 hook 和 route loader 共享查询定义
  • app、routes、features、shared 的边界文档
  • ESLint 架构边界约束
  • 根 README 和目录级 README 的中英文说明

验证

pnpm check
pnpm build

下载

Release 页面会自动提供:

  • Source code (zip)
  • Source code (tar.gz)