create-tengits-app 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/package.json +1 -2
  2. package/packages/docs/CLAUDE.md +179 -0
  3. package/packages/docs/README.md +22 -22
  4. package/packages/docs/audit_summary.md +108 -0
  5. package/packages/docs/global.d.ts +27 -0
  6. package/packages/docs/index.html +42 -12
  7. package/packages/docs/node_modules/.bin/acorn +17 -0
  8. package/packages/docs/node_modules/.bin/acorn.CMD +12 -0
  9. package/packages/docs/node_modules/.bin/acorn.ps1 +41 -0
  10. package/packages/docs/node_modules/.bin/browserslist +17 -0
  11. package/packages/docs/node_modules/.bin/browserslist.CMD +12 -0
  12. package/packages/docs/node_modules/.bin/browserslist.ps1 +41 -0
  13. package/packages/docs/node_modules/.bin/rimraf +17 -0
  14. package/packages/docs/node_modules/.bin/rimraf.CMD +12 -0
  15. package/packages/docs/node_modules/.bin/rimraf.ps1 +41 -0
  16. package/packages/docs/node_modules/.bin/rollup +17 -0
  17. package/packages/docs/node_modules/.bin/rollup.CMD +12 -0
  18. package/packages/docs/node_modules/.bin/rollup.ps1 +41 -0
  19. package/packages/docs/node_modules/.bin/serve +17 -0
  20. package/packages/docs/node_modules/.bin/serve.CMD +12 -0
  21. package/packages/docs/node_modules/.bin/serve.ps1 +41 -0
  22. package/packages/docs/node_modules/.bin/tailwind +17 -0
  23. package/packages/docs/node_modules/.bin/tailwind.CMD +12 -0
  24. package/packages/docs/node_modules/.bin/tailwind.ps1 +41 -0
  25. package/packages/docs/node_modules/.bin/tailwindcss +17 -0
  26. package/packages/docs/node_modules/.bin/tailwindcss.CMD +12 -0
  27. package/packages/docs/node_modules/.bin/tailwindcss.ps1 +41 -0
  28. package/packages/docs/node_modules/.bin/terser +17 -0
  29. package/packages/docs/node_modules/.bin/terser.CMD +12 -0
  30. package/packages/docs/node_modules/.bin/terser.ps1 +41 -0
  31. package/packages/docs/node_modules/.bin/vite +17 -0
  32. package/packages/docs/node_modules/.bin/vite-pages +17 -0
  33. package/packages/docs/node_modules/.bin/vite-pages.CMD +12 -0
  34. package/packages/docs/node_modules/.bin/vite-pages.ps1 +41 -0
  35. package/packages/docs/node_modules/.bin/vite.CMD +12 -0
  36. package/packages/docs/node_modules/.bin/vite.ps1 +41 -0
  37. package/packages/docs/node_modules/.vite/deps/@mdx-js_react.js +11 -0
  38. package/packages/docs/node_modules/.vite/deps/@mdx-js_react.js.map +7 -0
  39. package/packages/docs/node_modules/.vite/deps/_metadata.json +85 -0
  40. package/packages/docs/node_modules/.vite/deps/chunk-5WRI5ZAA.js +31 -0
  41. package/packages/docs/node_modules/.vite/deps/chunk-5WRI5ZAA.js.map +7 -0
  42. package/packages/docs/node_modules/.vite/deps/chunk-AFWHBQWA.js +1527 -0
  43. package/packages/docs/node_modules/.vite/deps/chunk-AFWHBQWA.js.map +7 -0
  44. package/packages/docs/node_modules/.vite/deps/chunk-BRHODMME.js +15 -0
  45. package/packages/docs/node_modules/.vite/deps/chunk-BRHODMME.js.map +7 -0
  46. package/packages/docs/node_modules/.vite/deps/chunk-BSTVLKPQ.js +42 -0
  47. package/packages/docs/node_modules/.vite/deps/chunk-BSTVLKPQ.js.map +7 -0
  48. package/packages/docs/node_modules/.vite/deps/chunk-RVYX7HDU.js +15 -0
  49. package/packages/docs/node_modules/.vite/deps/chunk-RVYX7HDU.js.map +7 -0
  50. package/packages/docs/node_modules/.vite/deps/chunk-Z5L2NVHB.js +15 -0
  51. package/packages/docs/node_modules/.vite/deps/chunk-Z5L2NVHB.js.map +7 -0
  52. package/packages/docs/node_modules/.vite/deps/package.json +3 -0
  53. package/packages/docs/node_modules/.vite/deps/react-dom.js +6 -0
  54. package/packages/docs/node_modules/.vite/deps/react-dom.js.map +7 -0
  55. package/packages/docs/node_modules/.vite/deps/react-dom_client.js +38 -0
  56. package/packages/docs/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  57. package/packages/docs/node_modules/.vite/deps/react-router-dom.js +6 -0
  58. package/packages/docs/node_modules/.vite/deps/react-router-dom.js.map +7 -0
  59. package/packages/docs/node_modules/.vite/deps/react.js +6 -0
  60. package/packages/docs/node_modules/.vite/deps/react.js.map +7 -0
  61. package/packages/docs/node_modules/.vite/deps/react_jsx-dev-runtime.js +898 -0
  62. package/packages/docs/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  63. package/packages/docs/node_modules/.vite/deps/react_jsx-runtime.js +910 -0
  64. package/packages/docs/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  65. package/packages/docs/node_modules/.vite/deps/ssrPlugin-4BUQN2PI.js +30 -0
  66. package/packages/docs/node_modules/.vite/deps/ssrPlugin-4BUQN2PI.js.map +7 -0
  67. package/packages/docs/node_modules/.vite/deps/styled-components.js +1368 -0
  68. package/packages/docs/node_modules/.vite/deps/styled-components.js.map +7 -0
  69. package/packages/docs/node_modules/.vite/deps/tengits-theme-doc.js +42542 -0
  70. package/packages/docs/node_modules/.vite/deps/tengits-theme-doc.js.map +7 -0
  71. package/packages/docs/node_modules/.vite-plugin-externals/antd.js +1 -0
  72. package/packages/docs/node_modules/.vite-plugin-externals/dayjs.js +1 -0
  73. package/packages/docs/node_modules/.vite-plugin-externals/react-dom.js +1 -0
  74. package/packages/docs/node_modules/.vite-plugin-externals/react-router-dom.js +1 -0
  75. package/packages/docs/node_modules/.vite-plugin-externals/react.js +1 -0
  76. package/packages/docs/node_modules/.vite-plugin-externals/tengits-ui5.js +1 -0
  77. package/packages/docs/package.json +34 -30
  78. package/packages/docs/pages/_theme.tsx +51 -42
  79. package/packages/docs/pages/assets/Pasted image 20251201163654.png +0 -0
  80. package/packages/docs/pages/dataModel/dataModel.md +226 -0
  81. package/packages/docs/pages/dataModel/goodsActionModel.md +89 -0
  82. package/packages/docs/pages/dataModel/tableDesign.md +53 -0
  83. package/packages/docs/pages/designs//350/256/276/350/256/241/346/226/207/346/241/243/home-page-design.md +337 -0
  84. package/packages/docs/pages/home/1/344/270/232/345/212/241/345/205/261/350/257/206.md +7 -0
  85. package/packages/docs/pages/home/2/351/234/200/346/261/202/350/203/214/346/231/257.md +9 -0
  86. package/packages/docs/pages/home/3/350/256/276/350/256/241/344/276/235/346/215/256.md +5 -0
  87. package/packages/docs/pages/home/4/345/212/237/350/203/275/346/246/202/350/277/260.md +6 -0
  88. package/packages/docs/pages/home/5/347/263/273/347/273/237/347/224/250/346/210/267.md +11 -0
  89. package/packages/docs/pages/home/6/344/270/223/344/270/232/345/220/215/350/257/215/350/257/264/346/230/216.md +5 -0
  90. package/packages/docs/pages/home/7/347/263/273/347/273/237/346/265/201/347/250/213/350/256/276/350/256/241.md +7 -0
  91. package/packages/docs/pages/{$.mdx → home/index.mdx} +365 -364
  92. package/packages/docs/pages/index.tsx +7 -0
  93. package/packages/docs/pages/meetingNotes/meeting.md +172 -0
  94. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/01/343/200/201/344/270/232/345/212/241/345/205/261/350/257/206.md +5 -0
  95. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/02/343/200/201/351/234/200/346/261/202/350/203/214/346/231/257.md +5 -0
  96. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/03/343/200/201/350/256/276/350/256/241/344/276/235/346/215/256.md +5 -0
  97. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/04/343/200/201/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220/01/343/200/201/346/212/200/346/234/257/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220.md +5 -0
  98. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/04/343/200/201/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220/02/343/200/201/347/273/217/346/265/216/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220.md +5 -0
  99. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/04/343/200/201/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220/03/343/200/201/350/277/220/350/220/245/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220.md +5 -0
  100. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/05/343/200/201/345/256/236/346/226/275/346/226/271/346/241/210/01/343/200/201/351/241/271/347/233/256/345/256/236/346/226/275/346/226/271/346/241/210.md +5 -0
  101. package/packages/docs/pages/projectManage/1/343/200/201/344/272/247/345/223/201/350/247/204/345/210/222/05/343/200/201/345/256/236/346/226/275/346/226/271/346/241/210/02/343/200/201/346/212/200/346/234/257/346/236/266/346/236/204/346/226/271/346/241/210.md +5 -0
  102. package/packages/docs/pages/projectManage/2/343/200/201/344/272/247/345/223/201/350/256/276/350/256/241/01/343/200/201/345/212/237/350/203/275/346/246/202/350/277/260.md +5 -0
  103. package/packages/docs/pages/projectManage/2/343/200/201/344/272/247/345/223/201/350/256/276/350/256/241/02/343/200/201/347/263/273/347/273/237/347/224/250/346/210/267.md +5 -0
  104. package/packages/docs/pages/projectManage/2/343/200/201/344/272/247/345/223/201/350/256/276/350/256/241/03/343/200/201/344/270/223/344/270/232/345/220/215/350/257/215/350/257/264/346/230/216.md +5 -0
  105. package/packages/docs/pages/projectManage/2/343/200/201/344/272/247/345/223/201/350/256/276/350/256/241/04/343/200/201/347/263/273/347/273/237/346/265/201/347/250/213/350/256/276/350/256/241.md +5 -0
  106. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/01/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/01/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/345/216/237/346/226/207/344/273/266.md +5 -0
  107. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/01/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/02/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/346/212/245/345/221/212.md +5 -0
  108. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/01/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/03/343/200/201/347/224/250/346/210/267/350/256/277/350/260/210/350/256/260/345/275/225.md +5 -0
  109. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/01/343/200/201/351/234/200/346/261/202/350/260/203/347/240/224/04/343/200/201/344/270/232/345/212/241/351/234/200/346/261/202/346/270/205/345/215/225.md +5 -0
  110. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/02/343/200/201/351/234/200/346/261/202/350/247/204/346/240/274/350/257/264/346/230/216/01/343/200/201/344/272/247/345/223/201/351/234/200/346/261/202/350/247/204/346/240/274/350/257/264/346/230/216/344/271/246.md +5 -0
  111. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/02/343/200/201/351/234/200/346/261/202/350/247/204/346/240/274/350/257/264/346/230/216/02/343/200/201/345/212/237/350/203/275/351/234/200/346/261/202/350/247/204/346/240/274.md +5 -0
  112. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/02/343/200/201/351/234/200/346/261/202/350/247/204/346/240/274/350/257/264/346/230/216/03/343/200/201/351/235/236/345/212/237/350/203/275/351/234/200/346/261/202/350/247/204/346/240/274.md +5 -0
  113. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/03/343/200/201/351/234/200/346/261/202/347/211/210/346/234/254/347/256/241/347/220/206/01/343/200/201/351/234/200/346/261/202/345/237/272/347/272/277/347/211/210/346/234/254_v1.0.md +5 -0
  114. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/03/343/200/201/351/234/200/346/261/202/347/211/210/346/234/254/347/256/241/347/220/206/02/343/200/201/351/234/200/346/261/202/345/217/230/346/233/264/350/256/260/345/275/225.md +5 -0
  115. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/03/343/200/201/351/234/200/346/261/202/347/211/210/346/234/254/347/256/241/347/220/206/03/343/200/201/351/234/200/346/261/202/350/277/275/350/270/252/347/237/251/351/230/265.md +5 -0
  116. package/packages/docs/pages/projectManage/3/343/200/201/351/234/200/346/261/202/345/210/206/346/236/220/03/343/200/201/351/234/200/346/261/202/347/211/210/346/234/254/347/256/241/347/220/206/04/343/200/201/351/234/200/346/261/202/347/212/266/346/200/201/350/277/275/350/270/252.md +5 -0
  117. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/350/247/204/345/210/222/01/343/200/201/344/272/247/345/223/201/350/267/257/347/272/277/345/233/276.md +5 -0
  118. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/350/247/204/345/210/222/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/350/256/241/345/210/222.md +5 -0
  119. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/350/247/204/345/210/222/03/343/200/201Sprint/350/256/241/345/210/222.md +5 -0
  120. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/350/247/204/345/210/222/04/343/200/201/350/277/255/344/273/243/347/233/256/346/240/207/350/256/276/345/256/232.md +5 -0
  121. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/01/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/345/216/206/345/217/262/350/256/260/345/275/225.md +5 -0
  122. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/02/343/200/201v1.0/347/211/210/346/234/254/01/343/200/201/347/211/210/346/234/254/345/217/221/345/270/203/350/257/264/346/230/216.md +5 -0
  123. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/02/343/200/201v1.0/347/211/210/346/234/254/02/343/200/201/347/211/210/346/234/254/346/233/264/346/226/260/345/206/205/345/256/271.md +5 -0
  124. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/02/343/200/201v1.0/347/211/210/346/234/254/03/343/200/201/347/211/210/346/234/254/345/233/236/345/275/222/346/265/213/350/257/225.md +5 -0
  125. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/02/343/200/201v1.0/347/211/210/346/234/254/04/343/200/201/347/211/210/346/234/254/345/215/207/347/272/247/346/214/207/345/215/227.md +5 -0
  126. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/03/343/200/201v2.0/347/211/210/346/234/254/01/343/200/201/347/211/210/346/234/254/345/217/221/345/270/203/350/257/264/346/230/216.md +5 -0
  127. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/03/343/200/201v2.0/347/211/210/346/234/254/02/343/200/201/347/211/210/346/234/254/346/233/264/346/226/260/345/206/205/345/256/271.md +5 -0
  128. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/03/343/200/201v2.0/347/211/210/346/234/254/03/343/200/201/347/211/210/346/234/254/345/233/236/345/275/222/346/265/213/350/257/225.md +5 -0
  129. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/03/343/200/201v2.0/347/211/210/346/234/254/04/343/200/201/347/211/210/346/234/254/345/215/207/347/272/247/346/214/207/345/215/227.md +5 -0
  130. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/04/343/200/201/345/275/223/345/211/215/347/211/210/346/234/254/01/343/200/201/345/275/223/345/211/215/345/212/237/350/203/275/346/270/205/345/215/225.md +5 -0
  131. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/02/343/200/201/347/211/210/346/234/254/350/277/255/344/273/243/347/256/241/347/220/206/04/343/200/201/345/275/223/345/211/215/347/211/210/346/234/254/02/343/200/201/345/276/205/345/217/221/345/270/203/345/212/237/350/203/275/345/210/227/350/241/250.md +5 -0
  132. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/350/267/237/350/270/252/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/346/211/247/350/241/214/350/267/237/350/270/252.md +5 -0
  133. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/350/267/237/350/270/252/347/256/241/347/220/206/02/343/200/201/351/234/200/346/261/202/345/217/230/346/233/264/345/275/261/345/223/215/345/210/206/346/236/220.md +5 -0
  134. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/350/267/237/350/270/252/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/351/243/216/351/231/251/350/257/204/344/274/260.md +5 -0
  135. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/350/267/237/350/270/252/347/256/241/347/220/206/04/343/200/201/350/277/255/344/273/243/350/277/233/345/272/246/346/212/245/345/221/212.md +5 -0
  136. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/04/343/200/201/350/277/255/344/273/243/345/233/236/351/241/276/347/256/241/347/220/206/01/343/200/201/350/277/255/344/273/243/345/233/236/351/241/276/344/274/232/350/256/256/350/256/260/345/275/225.md +5 -0
  137. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/04/343/200/201/350/277/255/344/273/243/345/233/236/351/241/276/347/256/241/347/220/206/02/343/200/201/350/277/255/344/273/243/347/273/217/351/252/214/346/200/273/347/273/223.md +5 -0
  138. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/04/343/200/201/350/277/255/344/273/243/345/233/236/351/241/276/347/256/241/347/220/206/03/343/200/201/350/277/255/344/273/243/346/224/271/350/277/233/346/216/252/346/226/275.md +5 -0
  139. package/packages/docs/pages/projectManage/4/343/200/201/350/277/255/344/273/243/351/234/200/346/261/202/347/256/241/347/220/206/04/343/200/201/350/277/255/344/273/243/345/233/236/351/241/276/347/256/241/347/220/206/04/343/200/201/344/270/213/344/270/200/350/275/256/350/277/255/344/273/243/345/273/272/350/256/256.md +5 -0
  140. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/01/343/200/201/347/211/210/346/234/254/345/217/221/345/270/203/350/256/260/345/275/225.md +5 -0
  141. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/02/343/200/201/350/257/204/345/256/241/344/274/232/350/256/256/347/272/252/350/246/201.md +5 -0
  142. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/03/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214/01/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255PPT.md +5 -0
  143. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/03/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214/02/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214-/347/256/241/347/220/206/345/221/230.md +5 -0
  144. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/03/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214/03/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214-/347/263/273/347/273/237/347/224/250/346/210/267.md +5 -0
  145. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/03/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214/04/343/200/201/345/270/270/350/247/201/351/227/256/351/242/230Q&A.md +5 -0
  146. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/04/343/200/201/345/217/221/345/270/203/346/265/201/347/250/213/350/247/204/350/214/203/01/343/200/201/345/217/221/345/270/203/345/211/215/346/243/200/346/237/245/346/270/205/345/215/225.md +5 -0
  147. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/04/343/200/201/345/217/221/345/270/203/346/265/201/347/250/213/350/247/204/350/214/203/02/343/200/201/345/217/221/345/270/203/346/223/215/344/275/234/346/211/213/345/206/214.md +5 -0
  148. package/packages/docs/pages/projectManage/5/343/200/201/344/272/247/345/223/201/345/217/221/345/270/203/04/343/200/201/345/217/221/345/270/203/346/265/201/347/250/213/350/247/204/350/214/203/03/343/200/201/345/233/236/346/273/232/351/242/204/346/241/210.md +5 -0
  149. package/packages/docs/pages/projectManage/6/343/200/201/344/272/247/345/223/201/347/256/241/347/220/206/01/343/200/201/347/224/250/346/210/267/351/227/256/351/242/230/346/261/207/346/200/273.md +5 -0
  150. package/packages/docs/pages/projectManage/6/343/200/201/344/272/247/345/223/201/347/256/241/347/220/206/02/343/200/201/346/275/234/345/234/250/351/234/200/346/261/202/346/261/240.md +5 -0
  151. package/packages/docs/pages/projectManage/6/343/200/201/344/272/247/345/223/201/347/256/241/347/220/206/03/343/200/201/344/272/247/345/223/201/346/225/260/346/215/256/345/210/206/346/236/220/01/343/200/201/345/212/237/350/203/275/344/275/277/347/224/250/347/273/237/350/256/241.md +5 -0
  152. package/packages/docs/pages/projectManage/6/343/200/201/344/272/247/345/223/201/347/256/241/347/220/206/03/343/200/201/344/272/247/345/223/201/346/225/260/346/215/256/345/210/206/346/236/220/02/343/200/201/347/224/250/346/210/267/345/217/215/351/246/210/345/210/206/346/236/220.md +5 -0
  153. package/packages/docs/pages/projectManage/6/343/200/201/344/272/247/345/223/201/347/256/241/347/220/206/03/343/200/201/344/272/247/345/223/201/346/225/260/346/215/256/345/210/206/346/236/220/03/343/200/201/344/272/247/345/223/201/344/274/230/345/214/226/345/273/272/350/256/256.md +5 -0
  154. package/packages/docs/pages/projectManage/7/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255/01/343/200/201/345/237/271/350/256/255/350/265/204/346/226/231/01/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255PPT.md +5 -0
  155. package/packages/docs/pages/projectManage/7/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255/01/343/200/201/345/237/271/350/256/255/350/265/204/346/226/231/02/343/200/201/347/224/250/346/210/267/345/270/256/345/212/251/346/211/213/345/206/214.md +5 -0
  156. package/packages/docs/pages/projectManage/7/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255/01/343/200/201/345/237/271/350/256/255/350/265/204/346/226/231/03/343/200/201/345/270/270/350/247/201/351/227/256/351/242/230Q&A.md +5 -0
  157. package/packages/docs/pages/projectManage/7/343/200/201/347/224/250/346/210/267/345/237/271/350/256/255/02/343/200/201/345/237/271/350/256/255/350/256/260/345/275/225/01/343/200/201/345/237/271/350/256/255/350/256/260/345/275/225/350/241/250.md +5 -0
  158. package/packages/docs/pages/projectManage/8/343/200/201/350/277/220/347/273/264/346/234/215/345/212/241/01/343/200/201/346/226/260/345/242/236/345/217/212/351/234/200/346/261/202/345/217/230/346/233/264.md +5 -0
  159. package/packages/docs/pages/projectManage/8/343/200/201/350/277/220/347/273/264/346/234/215/345/212/241/02/343/200/201/347/263/273/347/273/237/350/277/220/347/273/264/346/211/213/345/206/214.md +5 -0
  160. package/packages/docs/pages/projectManage/8/343/200/201/350/277/220/347/273/264/346/234/215/345/212/241/03/343/200/201/346/225/205/351/232/234/345/244/204/347/220/206/346/265/201/347/250/213.md +5 -0
  161. package/packages/docs/pages/projectManage/9/343/200/201/345/216/237/345/236/213/350/256/276/350/256/241/03/343/200/201/344/272/244/344/272/222/350/256/276/350/256/241/350/247/204/350/214/203.md +5 -0
  162. package/packages/docs/pages/projectManage/Obsidian/347/233/256/345/275/225/347/272/246/346/235/237/350/247/204/350/214/203.md +379 -0
  163. package/packages/docs/pages/requirements/a_requirements.md +273 -0
  164. package/packages/docs/pages/requirements/miniApp//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/345/210/227/350/241/250.md +265 -0
  165. package/packages/docs/pages/requirements/miniApp//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/345/210/227/350/241/250_/345/216/237/345/236/213.jsx +282 -0
  166. package/packages/docs/pages/requirements/miniApp//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/350/257/246/346/203/205.md +262 -0
  167. package/packages/docs/pages/requirements/miniApp//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/350/257/246/346/203/205_/345/216/237/345/236/213.jsx +292 -0
  168. package/packages/docs/pages/requirements/web//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/210/227/350/241/250//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/345/210/227/350/241/250.md +198 -0
  169. package/packages/docs/pages/requirements/web//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//345/210/227/350/241/250//345/205/254/345/221/212/344/277/241/346/201/257_/345/205/254/345/221/212/345/210/227/350/241/250_/345/216/237/345/236/213.jsx +700 -0
  170. package/packages/docs/pages/requirements/web//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//346/226/260/345/242/236/343/200/201/347/274/226/350/276/221/343/200/201/350/257/246/346/203/205//345/205/254/345/221/212/344/277/241/346/201/257_/346/226/260/345/242/236-/347/274/226/350/276/221-/350/257/246/346/203/205$.md +277 -0
  171. package/packages/docs/pages/requirements/web//345/205/254/345/205/261/344/277/241/346/201/257/347/256/241/347/220/206//346/226/260/345/242/236/343/200/201/347/274/226/350/276/221/343/200/201/350/257/246/346/203/205//345/205/254/345/221/212/344/277/241/346/201/257_/346/226/260/345/242/236-/347/274/226/350/276/221-/350/257/246/346/203/205_/345/216/237/345/236/213$.jsx +781 -0
  172. package/packages/docs/postcss.config.cjs +6 -0
  173. package/packages/docs/styles/tailwind.css +3 -0
  174. package/packages/docs/tailwind.config.js +36 -0
  175. package/packages/docs/vite.config.ts +26 -13
  176. package/packages/main/dist/manifest.json +6 -6
  177. package/packages/docs/pages/logs/logs$.md +0 -629
  178. package/packages/docs/pages/requirements/requirements$.md +0 -1000
  179. /package/packages/docs/pages/api/{api$.md → api.md} +0 -0
  180. /package/packages/docs/pages/designs/{designs$.md → designs.md} +0 -0
  181. /package/packages/docs/pages/develop/{develop$.md → develop.md} +0 -0
  182. /package/packages/docs/pages/test/{test$.md → test.md} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-tengits-app",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "🚀 快速创建基于 React + Rsbuild + TypeScript + Tailwind CSS + Antd 的现代前端项目脚手架",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -41,7 +41,6 @@
41
41
  "start": "pnpm --filter main start",
42
42
  "build": "pnpm --filter main build",
43
43
  "preview": "pnpm --filter main preview",
44
- "doctor": "pnpm --filter main doctor",
45
44
  "install-all": "pnpm install",
46
45
  "setup-ttos": "node bin/setup-ttos.js"
47
46
  },
@@ -0,0 +1,179 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## 项目概述
6
+
7
+ 这是一个基于 **Monorepo** 架构的 **React 文档站点项目**,专门用于"山西公众出行"项目管理文档。项目使用 `tengits-react-pages` 框架构建,支持 Markdown/MDX 文件自动生成文档页面。
8
+
9
+ ## 项目结构
10
+
11
+ ```
12
+ /mnt/d/reactwork/shanxi/gongzhongchuxing/ # 根目录 (Monorepo)
13
+ ├── packages/ # 包目录
14
+ │ ├── docs/ # 文档站点 (当前项目)
15
+ │ │ ├── pages/ # 页面内容 (基于文件的路由)
16
+ │ │ │ ├── home/ # 首页相关文档
17
+ │ │ │ ├── requirements/ # 需求文档
18
+ │ │ │ ├── designs/ # 设计文档
19
+ │ │ │ ├── dataModel/ # 数据建模文档
20
+ │ │ │ ├── api/ # 接口文档
21
+ │ │ │ ├── develop/ # 开发文档
22
+ │ │ │ ├── test/ # 测试文档
23
+ │ │ │ ├── meetingNotes/ # 会议记录
24
+ │ │ │ ├── assets/ # 静态资源
25
+ │ │ │ └── logs/ # 日志
26
+ │ │ ├── styles/ # 样式文件
27
+ │ │ └── ...
28
+ │ ├── client/ # 客户端应用 (另一个包)
29
+ │ └── server/ # 服务器端应用 (另一个包)
30
+ ├── pnpm-workspace.yaml # pnpm workspace 配置
31
+ └── package.json # 根项目配置
32
+ ```
33
+
34
+ ## 开发命令
35
+
36
+ ### 在 docs 包中运行
37
+ ```bash
38
+ # 开发服务器 (等同于 npm run dev)
39
+ npm start # 或 pnpm start (运行 vite serve)
40
+
41
+ # 构建项目
42
+ npm run build # 运行 vite build --outDir dist
43
+
44
+ # SSR 构建
45
+ npm run ssr # 运行 vite-pages ssr
46
+ ```
47
+
48
+ ### 使用 pnpm workspace (从根目录)
49
+ ```bash
50
+ # 安装所有依赖
51
+ pnpm install
52
+
53
+ # 启动 docs 开发服务器
54
+ pnpm --filter docs start # 等同于 pnpm --filter docs dev
55
+
56
+ # 构建 docs 项目
57
+ pnpm --filter docs build
58
+
59
+ # SSR 构建 docs 项目
60
+ pnpm --filter docs ssr
61
+ ```
62
+
63
+ **注意**: 根目录 README.md 中提到 docs 项目使用 `pnpm dev` 命令,但在 `package.json` 中实际配置的是 `start` 脚本。两者都指向 `vite serve`。
64
+
65
+ ## 架构说明
66
+
67
+ ### 基于文件的页面路由
68
+ - 使用 `tengits-react-pages` 框架
69
+ - `pages/` 目录下的文件自动生成路由:
70
+ - `文件名$.md` → `/文件名` 路由
71
+ - 目录结构映射到 URL 路径
72
+ - 支持 `.md`、`.mdx`、`.tsx` 文件混合使用
73
+
74
+ ### 外部依赖 (CDN)
75
+ - **React 18.2.0**、**React DOM 18.2.0**、**React Router DOM 6.23.1**、**antd 5.25.3**、**tengits-ui5 2.0.0** 通过 CDN 引入
76
+ - CDN 链接在 `index.html` 中定义
77
+ - Vite 配置在 `vite.config.ts` 的 `viteExternalsPlugin` 中声明外部依赖
78
+ - 减小打包体积,提高加载速度
79
+ - 还包含 `dayjs` 和本地化脚本
80
+
81
+ ### 样式系统
82
+ - **Tailwind CSS 3.4.17**:
83
+ - 配置文件: `tailwind.config.js`
84
+ - 扫描 `pages/**/*.{md,mdx,js,jsx,ts,tsx}` 文件中的类名
85
+ - 包含 `tailwindcss-animate`、`@tailwindcss/forms`、`@tailwindcss/typography` 插件
86
+ - 安全列表包含状态颜色和布局类名
87
+ - **styled-components 6.1.8**: CSS-in-JS 解决方案
88
+ - **PostCSS 8.5.3**: 配置在 `postcss.config.cjs` 中,包含 `tailwindcss` 和 `autoprefixer` 插件
89
+
90
+ ### 类型声明
91
+ - 外部 CDN 依赖的类型声明在 `global.d.ts` 中
92
+ - 声明了 `antd` 和 `tengits-ui5` 模块
93
+ - 提供基本的 TypeScript 支持,避免类型错误
94
+
95
+ ### 主题和导航
96
+ - 导航菜单在 `pages/_theme.tsx` 中配置
97
+ - 顶部导航包含: 首页、需求文档、设计文档、数据建模、接口文档、开发文档、测试文档、会议记录
98
+ - 侧边导航自动根据页面结构生成
99
+
100
+ ## 重要配置文件
101
+
102
+ 1. `package.json` - 项目依赖和脚本
103
+ 2. `vite.config.ts` - Vite 构建配置,包含:
104
+ - `tengits-react-pages` 插件配置
105
+ - 外部依赖配置 (CDN)
106
+ - 生产环境源映射启用
107
+ 3. `pages/_theme.tsx` - 主题和导航配置
108
+ 4. `tailwind.config.js` - Tailwind CSS 配置
109
+ 5. `tsconfig.json` - TypeScript 配置
110
+ 6. `pnpm-workspace.yaml` - Monorepo 工作区配置
111
+
112
+ ## 导航结构
113
+
114
+ 从 `_theme.tsx` 定义的顶部导航:
115
+ - `/home` - 首页 (包含业务共识、需求背景、设计依据、功能概述等子页面)
116
+ - `/requirements` - 需求文档
117
+ - `/designs` - 设计文档
118
+ - `/dataModel` - 数据建模
119
+ - `/api` - 接口文档
120
+ - `/develop` - 开发文档
121
+ - `/test` - 测试文档
122
+ - `/meetingNotes` - 会议记录
123
+
124
+ ## 文档组织
125
+
126
+ 文档按以下分类组织在 `pages/` 目录下:
127
+
128
+ 1. **首页文档** (`pages/home/`): 业务共识、需求背景、设计依据、功能概述、系统用户、专业名词说明、系统流程设计
129
+ 2. **需求文档** (`pages/requirements/`): 系统功能设计、PRD、需求文档
130
+ 3. **设计文档** (`pages/designs/`): 设计文档、页面设计
131
+ 4. **技术文档** (`pages/api/`, `pages/dataModel/`, `pages/develop/`, `pages/test/`): 接口、数据模型、开发、测试文档
132
+ 5. **管理文档** (`pages/meetingNotes/`): 会议记录
133
+
134
+ ## 构建优化
135
+
136
+ - 生产环境生成源映射 (`sourcemap: true`)
137
+ - 使用 SWC 进行 React 转换 (`@vitejs/plugin-react-swc`)
138
+ - 外部依赖减少打包大小
139
+ - 支持服务端渲染 (SSR) 构建
140
+
141
+ ## 开发注意事项
142
+
143
+ 1. **页面文件命名**: 使用 `文件名$.md` 格式生成路由
144
+ - `pages/home/1业务共识$.md` → `/home/1业务共识` 路由
145
+ - `pages/api/api$.md` → `/api` 路由
146
+ - 目录索引文件使用 `$.mdx` 或 `$.tsx` 作为目录首页
147
+
148
+ 2. **新页面添加**: 在 `pages/` 对应目录下创建 `.md` 或 `.mdx` 文件
149
+ ```bash
150
+ # 示例: 在 requirements 目录下添加新需求文档
151
+ touch "pages/requirements/新需求$.md"
152
+ ```
153
+
154
+ 3. **导航更新**: 修改 `pages/_theme.tsx` 中的 `topNavs` 数组来更新顶部导航
155
+
156
+ 4. **样式**: 使用 Tailwind CSS 类名或 styled-components
157
+ - 全局样式在 `styles/tailwind.css` 中定义
158
+ - Tailwind 配置在 `tailwind.config.js` 中
159
+
160
+ 5. **内容更新**: 直接编辑对应的 Markdown 文件,开发服务器支持热重载
161
+
162
+ 6. **MDX 支持**: 可以在 Markdown 中使用 React 组件
163
+ ```mdx
164
+ # 标题
165
+
166
+ 这是 Markdown 内容
167
+
168
+ <MyComponent prop="value" />
169
+ ```
170
+
171
+ 7. **类型定义**: TypeScript 类型定义在 `global.d.ts` 中
172
+
173
+ ## Monorepo 上下文
174
+
175
+ 当前项目是 `packages/docs`,位于更大的 Monorepo 中:
176
+ - `packages/client` - TTOS 客户端应用
177
+ - `packages/server` - 服务器端应用
178
+
179
+ 使用 `pnpm --filter <包名>` 命令操作特定包。
@@ -1,22 +1,22 @@
1
- ## vite-pages app starter
2
-
3
- This is a demo project for [vite-plugin-react-pages](https://github.com/vitejs/vite-plugin-react-pages).
4
- This project demonstrate how to develop a React app using [vite-plugin-react-pages](https://github.com/vitejs/vite-plugin-react-pages) as framework.
5
-
6
- You can run this demo in [StackBlitz](https://stackblitz.com/fork/github/vitejs/vite-plugin-react-pages/tree/main/packages/create-project/template-app?file=README.md&terminal=dev), entirely in your browser!
7
-
8
- # How to use
9
-
10
- `npm install` or `pnpm install` or `yarn`
11
-
12
- `npm run dev` You can now play with the local develop environment.
13
-
14
- Edit `pages/page1$.tsx` or other source files, the playground will inflect your change instantly.
15
-
16
- `npm run build` The app are built and served.
17
-
18
- `npm run ssr` The app are built into a static site (Static-Site Generation) and served.
19
-
20
- ---
21
-
22
- Checkout [vite-plugin-react-pages](https://github.com/vitejs/vite-plugin-react-pages) for more info.
1
+ ## vite-pages app starter
2
+
3
+ This is a demo project for [tengits-react-pages](https://github.com/vitejs/tengits-react-pages).
4
+ This project demonstrate how to develop a React app using [tengits-react-pages](https://github.com/vitejs/tengits-react-pages) as framework.
5
+
6
+ You can run this demo in [StackBlitz](https://stackblitz.com/fork/github/vitejs/tengits-react-pages/tree/main/packages/create-project/template-app?file=README.md&terminal=dev), entirely in your browser!
7
+
8
+ # How to use
9
+
10
+ `npm install` or `pnpm install` or `yarn`
11
+
12
+ `npm run dev` You can now play with the local develop environment.
13
+
14
+ Edit `pages/page1$.tsx` or other source files, the playground will inflect your change instantly.
15
+
16
+ `npm run build` The app are built and served.
17
+
18
+ `npm run ssr` The app are built into a static site (Static-Site Generation) and served.
19
+
20
+ ---
21
+
22
+ Checkout [tengits-react-pages](https://github.com/vitejs/tengits-react-pages) for more info.
@@ -0,0 +1,108 @@
1
+ # 公告信息列表页面代码审核问题摘要
2
+
3
+ ## 项目信息
4
+ - **页面名称**: 公告信息列表管理页面
5
+ - **文件路径**: `/packages/docs/AnnouncementList.jsx`
6
+ - **审核时间**: 2025-12-09
7
+ - **审核版本**: v1.0
8
+ - **总体评分**: 6.5/10
9
+
10
+ ## 关键问题(需立即修复)
11
+
12
+ ### 🚨 严重问题(3个)
13
+ 1. **内存泄漏风险**
14
+ - useEffect依赖数组不完整,缺少crud.list.doFetch依赖
15
+ - 可能导致组件卸载后异步操作仍在执行
16
+ - 建议:添加清理函数或使用useCallback
17
+
18
+ 2. **状态更新竞态条件**
19
+ - batchLoading状态更新使用展开运算符,存在竞态条件
20
+ - 可能导致状态更新丢失中间状态
21
+ - 建议:使用函数式更新 `setBatchLoading(prev => ({...}))`
22
+
23
+ 3. **数据污染**
24
+ - mockService直接修改initialAnnouncements原始数据
25
+ - 影响数据一致性和测试可靠性
26
+ - 建议:使用深拷贝或状态管理
27
+
28
+ ### ⚠️ 中等问题(5个)
29
+ 4. **缺少TypeScript类型安全**
30
+ - 整个组件使用JavaScript,缺少类型定义
31
+ - 建议:重命名为.tsx文件并添加接口定义
32
+
33
+ 5. **错误处理缺失**
34
+ - mockService缺少错误处理逻辑,只有resolve没有reject
35
+ - 建议:添加错误处理和reject逻辑
36
+
37
+ 6. **不必要的重新渲染**
38
+ - 内联函数和对象字面量导致性能问题
39
+ - 建议:使用useCallback和useMemo优化
40
+
41
+ 7. **表单验证不完整**
42
+ - 缺少有效期验证(结束时间必须晚于开始时间)
43
+ - 建议:添加自定义验证规则
44
+
45
+ 8. **批量操作逻辑重复**
46
+ - 发布、删除、取消发布逻辑高度重复
47
+ - 建议:提取通用批量操作函数
48
+
49
+ ## 需求符合度问题
50
+
51
+ ### ✅ 已实现功能
52
+ - 公告列表表格展示(标题、类型、单位、时间、状态)
53
+ - 状态标签颜色符合规范
54
+ - 操作按钮根据状态动态显示
55
+ - 基本搜索筛选功能
56
+ - 分页配置(10/20/50/100条)
57
+
58
+ ### ❌ 未实现的重要需求
59
+ 1. **点击列表行查看详情** - 需求要求点击行查看详情
60
+ 2. **搜索防抖500ms** - 需求要求输入后500ms自动搜索
61
+ 3. **搜索条件保存** - 需求支持保存常用筛选组合
62
+ 4. **批量操作确认对话框** - 需求要求操作前显示确认对话框
63
+ 5. **操作进度条** - 需求要求显示批量操作进度
64
+ 6. **自动状态管理** - 系统自动检查有效期变更为"已失效"
65
+ 7. **操作日志记录** - 所有操作记录日志
66
+ 8. **权限控制** - 根据角色控制操作按钮显示
67
+
68
+ ## 性能问题
69
+ 1. 内存泄漏风险
70
+ 2. 不必要的重新渲染
71
+ 3. 搜索功能缺少防抖(需求要求500ms)
72
+ 4. 直接修改原始数据
73
+
74
+ ## 改进建议优先级
75
+
76
+ ### 高优先级(立即修复)
77
+ 1. 修复内存泄漏和状态竞态问题
78
+ 2. 避免直接修改原始数据
79
+ 3. 添加错误处理
80
+ 4. 实现点击行查看详情功能
81
+
82
+ ### 中优先级(本周内修复)
83
+ 5. 迁移到TypeScript并添加类型定义
84
+ 6. 添加搜索防抖500ms
85
+ 7. 实现批量操作确认对话框
86
+ 8. 添加表单有效期验证
87
+
88
+ ### 低优先级(后续迭代)
89
+ 9. 实现搜索条件保存和筛选标签
90
+ 10. 添加操作进度条和日志记录
91
+ 11. 实现自动状态管理
92
+ 12. 添加权限控制
93
+
94
+ ## 代码质量指标
95
+ - **代码行数**: 711行(建议拆分子组件)
96
+ - **架构评分**: 8/10(良好的配置驱动架构)
97
+ - **代码质量**: 6/10(存在严重问题)
98
+ - **功能完整性**: 7/10(基本功能齐全)
99
+ - **符合需求**: 6/10(缺少多个重要功能)
100
+
101
+ ## 风险评估
102
+ - **高**: 内存泄漏可能导致应用崩溃
103
+ - **中**: 状态竞态条件可能导致UI不一致
104
+ - **中**: 缺少错误处理可能导致异常无法捕获
105
+ - **低**: 性能问题在大数据量下可能影响用户体验
106
+
107
+ ---
108
+ **审核结论**: 代码在架构设计上有良好基础,但存在严重的技术债务和多个未实现的重要需求。建议优先修复严重问题,然后逐步完善功能。
@@ -0,0 +1,27 @@
1
+ declare const antd: any;
2
+ declare const TUI: any;
3
+
4
+ declare module 'antd' {
5
+ const m: any;
6
+ export default m;
7
+ export const Button: any;
8
+ export const Modal: any;
9
+ export const Badge: any;
10
+ export const message: any;
11
+ export const Form: any;
12
+ export const Input: any;
13
+ export const Table: any;
14
+ export const Select: any;
15
+ export const Card: any;
16
+ }
17
+
18
+ declare module 'tengits-ui5' {
19
+ const m: any;
20
+ export default m;
21
+ export const Card: any;
22
+ export const Select: any;
23
+ export const Form: any;
24
+ export const Table: any;
25
+ export const TUIPageLayout: any;
26
+ export const TUIIconPark: any;
27
+ }
@@ -1,12 +1,42 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>腾路项目管理</title>
7
- </head>
8
- <body>
9
- <div id="root"></div>
10
- <script type="module" src="/@pages-infra/main.js"></script>
11
- </body>
12
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>山西公众出行项目管理</title>
8
+ <link href="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/tengits-ui5/2.0.0/style.css" rel="stylesheet" />
9
+ <link href="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/antd/5.25.3/reset.css" rel="stylesheet" />
10
+
11
+
12
+ </head>
13
+
14
+ <body>
15
+ <script type="text/javascript"
16
+ src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/react/18.2.0/react.production.min.js"></script>
17
+ <script>
18
+ window.React.default = window.React;
19
+ </script>
20
+ <script type="text/javascript"
21
+ src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/react-dom/18.2.0/react-dom.production.min.js"></script>
22
+ <script type="text/javascript"
23
+ src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/react-router-dom/6.23.1/router.umd.min.js"></script>
24
+ <script type="text/javascript"
25
+ src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/react-router-dom/6.23.1/react-router.production.min.js"></script>
26
+ <script type="text/javascript"
27
+ src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/react-router-dom/6.23.1/react-router-dom.production.min.js"></script>
28
+ <script
29
+ src="https://jjgtest-1300239480.cos.ap-nanjing.myqcloud.com/0c88e307-a1b1-d2e9-40b1-69b99707081c/dayjs.js"></script>
30
+ <script
31
+ src="https://jjgtest-1300239480.cos.ap-nanjing.myqcloud.com/95ed4e68-12d9-35cf-e195-7be69df0efcc/locale.js"></script>
32
+ <!-- iconPark -->
33
+ <script src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/assets/fonts/iconpark.js"></script>
34
+ <!-- antd5 -->
35
+ <script src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/antd/5.25.3/antd-with-locales.min.js.js"></script>
36
+ <script src="https://static-1255466169.cos.ap-guangzhou.myqcloud.com/tengits-ui5/2.0.0/tengits-ui5.umd.js"></script>
37
+ <script type="module" src="/@pages-infra/main.js"></script>
38
+
39
+ <div id="root"></div>
40
+ </body>
41
+
42
+ </html>
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" "$@"
15
+ else
16
+ exec node "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" "$@"
17
+ fi
@@ -0,0 +1,12 @@
1
+ @SETLOCAL
2
+ @IF NOT DEFINED NODE_PATH (
3
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
4
+ ) ELSE (
5
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules;%NODE_PATH%"
6
+ )
7
+ @IF EXIST "%~dp0\node.exe" (
8
+ "%~dp0\node.exe" "%~dp0\..\..\..\..\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\acorn" %*
9
+ ) ELSE (
10
+ @SET PATHEXT=%PATHEXT:;.JS;=;%
11
+ node "%~dp0\..\..\..\..\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\acorn" %*
12
+ )
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env pwsh
2
+ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+ $exe=""
5
+ $pathsep=":"
6
+ $env_node_path=$env:NODE_PATH
7
+ $new_node_path="D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\acorn@8.15.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
8
+ if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
9
+ # Fix case when both the Windows and Linux builds of Node
10
+ # are installed in the same directory
11
+ $exe=".exe"
12
+ $pathsep=";"
13
+ } else {
14
+ $new_node_path="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
15
+ }
16
+ if ([string]::IsNullOrEmpty($env_node_path)) {
17
+ $env:NODE_PATH=$new_node_path
18
+ } else {
19
+ $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
20
+ }
21
+
22
+ $ret=0
23
+ if (Test-Path "$basedir/node$exe") {
24
+ # Support pipeline input
25
+ if ($MyInvocation.ExpectingInput) {
26
+ $input | & "$basedir/node$exe" "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" $args
27
+ } else {
28
+ & "$basedir/node$exe" "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" $args
29
+ }
30
+ $ret=$LASTEXITCODE
31
+ } else {
32
+ # Support pipeline input
33
+ if ($MyInvocation.ExpectingInput) {
34
+ $input | & "node$exe" "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" $args
35
+ } else {
36
+ & "node$exe" "$basedir/../../../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/acorn" $args
37
+ }
38
+ $ret=$LASTEXITCODE
39
+ }
40
+ $env:NODE_PATH=$env_node_path
41
+ exit $ret
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" "$@"
15
+ else
16
+ exec node "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" "$@"
17
+ fi
@@ -0,0 +1,12 @@
1
+ @SETLOCAL
2
+ @IF NOT DEFINED NODE_PATH (
3
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules\browserslist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
4
+ ) ELSE (
5
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules\browserslist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules;%NODE_PATH%"
6
+ )
7
+ @IF EXIST "%~dp0\node.exe" (
8
+ "%~dp0\node.exe" "%~dp0\..\..\..\..\node_modules\.pnpm\browserslist@4.25.0\node_modules\browserslist\cli.js" %*
9
+ ) ELSE (
10
+ @SET PATHEXT=%PATHEXT:;.JS;=;%
11
+ node "%~dp0\..\..\..\..\node_modules\.pnpm\browserslist@4.25.0\node_modules\browserslist\cli.js" %*
12
+ )
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env pwsh
2
+ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+ $exe=""
5
+ $pathsep=":"
6
+ $env_node_path=$env:NODE_PATH
7
+ $new_node_path="D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules\browserslist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\browserslist@4.25.0\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
8
+ if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
9
+ # Fix case when both the Windows and Linux builds of Node
10
+ # are installed in the same directory
11
+ $exe=".exe"
12
+ $pathsep=";"
13
+ } else {
14
+ $new_node_path="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/browserslist@4.25.0/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
15
+ }
16
+ if ([string]::IsNullOrEmpty($env_node_path)) {
17
+ $env:NODE_PATH=$new_node_path
18
+ } else {
19
+ $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
20
+ }
21
+
22
+ $ret=0
23
+ if (Test-Path "$basedir/node$exe") {
24
+ # Support pipeline input
25
+ if ($MyInvocation.ExpectingInput) {
26
+ $input | & "$basedir/node$exe" "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" $args
27
+ } else {
28
+ & "$basedir/node$exe" "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" $args
29
+ }
30
+ $ret=$LASTEXITCODE
31
+ } else {
32
+ # Support pipeline input
33
+ if ($MyInvocation.ExpectingInput) {
34
+ $input | & "node$exe" "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" $args
35
+ } else {
36
+ & "node$exe" "$basedir/../../../../node_modules/.pnpm/browserslist@4.25.0/node_modules/browserslist/cli.js" $args
37
+ }
38
+ $ret=$LASTEXITCODE
39
+ }
40
+ $env:NODE_PATH=$env_node_path
41
+ exit $ret
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/esm/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/esm/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../rimraf/dist/esm/bin.mjs" "$@"
15
+ else
16
+ exec node "$basedir/../rimraf/dist/esm/bin.mjs" "$@"
17
+ fi
@@ -0,0 +1,12 @@
1
+ @SETLOCAL
2
+ @IF NOT DEFINED NODE_PATH (
3
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\esm\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
4
+ ) ELSE (
5
+ @SET "NODE_PATH=D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\esm\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules;%NODE_PATH%"
6
+ )
7
+ @IF EXIST "%~dp0\node.exe" (
8
+ "%~dp0\node.exe" "%~dp0\..\rimraf\dist\esm\bin.mjs" %*
9
+ ) ELSE (
10
+ @SET PATHEXT=%PATHEXT:;.JS;=;%
11
+ node "%~dp0\..\rimraf\dist\esm\bin.mjs" %*
12
+ )
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env pwsh
2
+ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+
4
+ $exe=""
5
+ $pathsep=":"
6
+ $env_node_path=$env:NODE_PATH
7
+ $new_node_path="D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\esm\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\dist\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules\rimraf\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\rimraf@5.0.10\node_modules;D:\reactwork\TengitsCLI\node_modules\.pnpm\node_modules"
8
+ if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
9
+ # Fix case when both the Windows and Linux builds of Node
10
+ # are installed in the same directory
11
+ $exe=".exe"
12
+ $pathsep=";"
13
+ } else {
14
+ $new_node_path="/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/esm/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/dist/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules/rimraf/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/rimraf@5.0.10/node_modules:/mnt/d/reactwork/TengitsCLI/node_modules/.pnpm/node_modules"
15
+ }
16
+ if ([string]::IsNullOrEmpty($env_node_path)) {
17
+ $env:NODE_PATH=$new_node_path
18
+ } else {
19
+ $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
20
+ }
21
+
22
+ $ret=0
23
+ if (Test-Path "$basedir/node$exe") {
24
+ # Support pipeline input
25
+ if ($MyInvocation.ExpectingInput) {
26
+ $input | & "$basedir/node$exe" "$basedir/../rimraf/dist/esm/bin.mjs" $args
27
+ } else {
28
+ & "$basedir/node$exe" "$basedir/../rimraf/dist/esm/bin.mjs" $args
29
+ }
30
+ $ret=$LASTEXITCODE
31
+ } else {
32
+ # Support pipeline input
33
+ if ($MyInvocation.ExpectingInput) {
34
+ $input | & "node$exe" "$basedir/../rimraf/dist/esm/bin.mjs" $args
35
+ } else {
36
+ & "node$exe" "$basedir/../rimraf/dist/esm/bin.mjs" $args
37
+ }
38
+ $ret=$LASTEXITCODE
39
+ }
40
+ $env:NODE_PATH=$env_node_path
41
+ exit $ret