这个项目能做什么

此仓库包含Tuleva基于网页的养老金入职客户端的前端代码,可在pension.tuleva.ee访问。它使用React和JavaScript/TypeScript构建,并随时间演进采用了现代实践。 关键技术细节: - 最初使用JavaScript、Redux和Enzyme进行测试,现在项目鼓励转换为TypeScript、使用函数组件,并采用React Query进行数据获取,同时利用React原生上下文进行局部状态共享。 - 代码库包含从Redux迁移的指南,推荐使用React Query钩子,并将遗留的Redux用法抽象为独立的钩子。 - 开发需要Node.js LTS(22.17.0)和NPM(10.9.2),建议使用asdf进行版本管理。 - 本地运行:使用`npm install`安装依赖,通过`npm run develop`启动服务器(或使用`npm run develop-production`用于生产环境),并使用`npm test`运行测试。非生产环境运行期望onboarding-service位于端口9000。 - 部署通过CircleCI在推送到master时自动进行到AWS,而内联小部件则通过FTP和WordPress主题URL更新手动更新。 - Node.js版本更新通过编辑package.json中的engines字段、CircleCI配置和.tool-versions文件进行管理。 测试使用React Testing Library和MSW,CancellationFlow.tsx中的示例展示了在重用现有Redux代码的同时进行增量迁移。依赖时区的测试需要在IntelliJ运行配置中设置TZ=UTC。