create-packer 1.26.4 → 1.28.0

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 (420) hide show
  1. package/.gitignore +30 -30
  2. package/LICENSE +21 -21
  3. package/README.md +22 -22
  4. package/package.json +4 -4
  5. package/template/cli/.eslintrc +35 -35
  6. package/template/cli/.gitignore +29 -29
  7. package/template/cli/.prettierignore +6 -6
  8. package/template/cli/.prettierrc.js +20 -20
  9. package/template/cli/LICENSE +21 -21
  10. package/template/cli/README.md +13 -13
  11. package/template/cli/commitlint.config.cjs +1 -1
  12. package/template/cli/package.json +50 -50
  13. package/template/cli/pnpm-workspace.yaml +2 -2
  14. package/template/cli/src/createTemp.ts +63 -63
  15. package/template/cli/src/index.ts +5 -5
  16. package/template/cli/src/utils/index.ts +49 -49
  17. package/template/cli/template/template-1/index.ts +1 -1
  18. package/template/cli/tsconfig.json +20 -20
  19. package/template/cli/utils/pub.js +43 -43
  20. package/template/docusaurus/.gitignore +35 -35
  21. package/template/docusaurus/README.md +41 -41
  22. package/template/docusaurus/babel.config.js +3 -3
  23. package/template/docusaurus/blog/2019-05-28-first-blog-post.md +12 -12
  24. package/template/docusaurus/blog/2019-05-29-long-blog-post.md +44 -44
  25. package/template/docusaurus/blog/2021-08-01-mdx-blog-post.mdx +20 -20
  26. package/template/docusaurus/blog/2021-08-26-welcome/index.md +25 -25
  27. package/template/docusaurus/blog/authors.yml +17 -17
  28. package/template/docusaurus/docs/intro.mdx +47 -47
  29. package/template/docusaurus/docs/tutorial-basics/_category_.json +8 -8
  30. package/template/docusaurus/docs/tutorial-basics/congratulations.md +23 -23
  31. package/template/docusaurus/docs/tutorial-basics/create-a-blog-post.md +34 -34
  32. package/template/docusaurus/docs/tutorial-basics/create-a-document.md +57 -57
  33. package/template/docusaurus/docs/tutorial-basics/create-a-page.md +43 -43
  34. package/template/docusaurus/docs/tutorial-basics/deploy-your-site.md +31 -31
  35. package/template/docusaurus/docs/tutorial-basics/markdown-features.mdx +150 -150
  36. package/template/docusaurus/docs/tutorial-extras/_category_.json +7 -7
  37. package/template/docusaurus/docs/tutorial-extras/manage-docs-versions.md +55 -55
  38. package/template/docusaurus/docs/tutorial-extras/translate-your-site.md +88 -88
  39. package/template/docusaurus/docusaurus.config.js +116 -116
  40. package/template/docusaurus/package.json +52 -52
  41. package/template/docusaurus/sidebars.js +19 -19
  42. package/template/docusaurus/src/components/HomepageFeatures/index.tsx +70 -70
  43. package/template/docusaurus/src/components/HomepageFeatures/styles.module.css +11 -11
  44. package/template/docusaurus/src/css/custom.css +30 -30
  45. package/template/docusaurus/src/pages/index.module.css +23 -23
  46. package/template/docusaurus/src/pages/index.tsx +40 -40
  47. package/template/docusaurus/src/pages/markdown-page.md +7 -7
  48. package/template/docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -171
  49. package/template/docusaurus/static/img/undraw_docusaurus_react.svg +170 -170
  50. package/template/docusaurus/static/img/undraw_docusaurus_tree.svg +40 -40
  51. package/template/docusaurus/tsconfig.json +7 -7
  52. package/template/lib/react/.eslintrc +84 -84
  53. package/template/lib/react/.storybook/main.ts +23 -23
  54. package/template/lib/react/.storybook/preview.ts +16 -16
  55. package/template/lib/react/.stylelintrc +29 -23
  56. package/template/lib/react/global.d.ts +18 -18
  57. package/template/lib/react/package.json +51 -51
  58. package/template/lib/react/postcss.config.cjs +9 -9
  59. package/template/lib/react/src/Introduction.mdx +3 -3
  60. package/template/lib/react/src/button/button.css +30 -30
  61. package/template/lib/react/src/button/button.stories.ts +43 -43
  62. package/template/lib/react/src/button/button.tsx +50 -50
  63. package/template/lib/react/src/button/index.ts +1 -1
  64. package/template/lib/react/src/index.ts +1 -1
  65. package/template/lib/react/tailwind.config.cjs +11 -11
  66. package/template/lib/react/tsconfig.json +26 -26
  67. package/template/lib/ts/.eslintrc +73 -73
  68. package/template/lib/ts/package.json +29 -29
  69. package/template/lib/ts/src/index.ts +5 -5
  70. package/template/lib/ts/tsconfig.json +19 -19
  71. package/template/nest/.eslintrc.js +25 -25
  72. package/template/nest/.gitignore +34 -34
  73. package/template/nest/.husky/pre-commit +4 -4
  74. package/template/nest/.prettierrc +6 -6
  75. package/template/nest/README.md +73 -73
  76. package/template/nest/nest-cli.json +5 -5
  77. package/template/nest/package.json +84 -84
  78. package/template/nest/src/app.controller.spec.ts +22 -22
  79. package/template/nest/src/app.controller.ts +12 -12
  80. package/template/nest/src/app.module.ts +10 -10
  81. package/template/nest/src/app.service.ts +8 -8
  82. package/template/nest/src/main.ts +10 -10
  83. package/template/nest/src/utils/transform.interceptor.ts +26 -26
  84. package/template/nest/test/app.e2e-spec.ts +24 -24
  85. package/template/nest/test/jest-e2e.json +9 -9
  86. package/template/nest/tsconfig.build.json +5 -5
  87. package/template/nest/tsconfig.json +21 -21
  88. package/template/web-app/next/.eslintrc.json +8 -8
  89. package/template/web-app/next/.gitignore +36 -36
  90. package/template/web-app/next/.husky/commit-msg +4 -4
  91. package/template/web-app/next/.husky/pre-commit +4 -4
  92. package/template/web-app/next/.stylelintrc +29 -23
  93. package/template/web-app/next/README.md +34 -34
  94. package/template/web-app/next/app/globals.css +22 -22
  95. package/template/web-app/next/app/layout.tsx +18 -18
  96. package/template/web-app/next/app/page.tsx +113 -113
  97. package/template/web-app/next/commitlint.config.cjs +1 -1
  98. package/template/web-app/next/next-env.d.ts +5 -5
  99. package/template/web-app/next/next.config.js +5 -5
  100. package/template/web-app/next/package.json +47 -47
  101. package/template/web-app/next/postcss.config.js +6 -6
  102. package/template/web-app/next/tailwind.config.js +20 -20
  103. package/template/web-app/next/tsconfig.json +21 -21
  104. package/template/web-app/react/.env +2 -2
  105. package/template/web-app/react/.env.development +2 -2
  106. package/template/web-app/react/.eslintignore +4 -4
  107. package/template/web-app/react/.eslintrc +92 -92
  108. package/template/web-app/react/.gitignore +27 -27
  109. package/template/web-app/react/.husky/commit-msg +4 -4
  110. package/template/web-app/react/.husky/pre-commit +4 -4
  111. package/template/web-app/react/.prettierignore +6 -6
  112. package/template/web-app/react/.stylelintignore +4 -4
  113. package/template/web-app/react/.stylelintrc +29 -23
  114. package/template/web-app/react/README.md +14 -14
  115. package/template/web-app/react/commitlint.config.cjs +1 -1
  116. package/template/web-app/react/domain/app/app.model.ts +7 -7
  117. package/template/web-app/react/domain/app/components/app.tsx +23 -17
  118. package/template/web-app/react/domain/app/components/index.ts +1 -1
  119. package/template/web-app/react/domain/app/index.ts +2 -2
  120. package/template/web-app/react/{router → domain/router}/home/ids.ts +3 -3
  121. package/template/web-app/react/{router → domain/router}/home/index.ts +2 -2
  122. package/template/web-app/{react-webpack → react/domain}/router/home/routes.tsx +13 -13
  123. package/template/web-app/{react-webpack → react/domain}/router/ids.ts +6 -6
  124. package/template/web-app/react/{router → domain/router}/index.ts +3 -4
  125. package/template/web-app/react/domain/router/router.tsx +28 -0
  126. package/template/web-app/react/domain/router/router.types.ts +3 -0
  127. package/template/web-app/react/index.css +3 -3
  128. package/template/web-app/react/index.html +13 -13
  129. package/template/web-app/react/main.tsx +5 -11
  130. package/template/web-app/react/mockUtils.ts +6 -6
  131. package/template/web-app/react/package.json +78 -77
  132. package/template/web-app/react/pages/home/home.css +1 -1
  133. package/template/web-app/react/pages/home/home.mock.ts +16 -16
  134. package/template/web-app/react/pages/home/home.tsx +13 -13
  135. package/template/web-app/react/pages/home/index.ts +1 -1
  136. package/template/web-app/react/pages/index.tsx +22 -21
  137. package/template/web-app/react/pages/not-found.tsx +3 -3
  138. package/template/web-app/react/postcss.config.cjs +9 -9
  139. package/template/web-app/react/scripts/createChunks.ts +26 -26
  140. package/template/web-app/react/scripts/index.ts +1 -1
  141. package/template/web-app/react/shared/hooks/defineRouter/defineRouter.types.ts +30 -0
  142. package/template/web-app/react/shared/hooks/defineRouter/deineRouter.tsx +160 -0
  143. package/template/web-app/react/shared/hooks/defineRouter/index.ts +2 -0
  144. package/template/web-app/react/shared/hooks/index.ts +6 -5
  145. package/template/web-app/react/shared/hooks/useInterval.ts +26 -26
  146. package/template/web-app/react/shared/hooks/useLoadingAction.ts +27 -27
  147. package/template/web-app/react/shared/hooks/useLowPriorityState.ts +26 -26
  148. package/template/web-app/react/shared/hooks/useSyncState.ts +15 -15
  149. package/template/web-app/react/shared/hooks/useVisible.ts +27 -27
  150. package/template/web-app/react/shared/service/api.ts +1 -1
  151. package/template/web-app/react/shared/service/index.ts +2 -2
  152. package/template/web-app/react/shared/service/request.ts +7 -7
  153. package/template/web-app/react/shared/tools/componentInstance.tsx +80 -78
  154. package/template/web-app/react/shared/tools/index.ts +1 -1
  155. package/template/web-app/react/shared/types/index.ts +1 -1
  156. package/template/web-app/react/shared/types/utils.ts +2 -2
  157. package/template/web-app/react/tailwind.config.cjs +17 -17
  158. package/template/web-app/react/tsconfig.json +28 -27
  159. package/template/web-app/react/tsconfig.node.json +10 -10
  160. package/template/web-app/react/vite-env.d.ts +12 -12
  161. package/template/web-app/react/vite.config.ts +65 -76
  162. package/template/web-app/react-webpack/.editorconfig +13 -13
  163. package/template/web-app/react-webpack/.env +2 -2
  164. package/template/web-app/react-webpack/.env.dev +2 -2
  165. package/template/web-app/react-webpack/.eslintignore +4 -4
  166. package/template/web-app/react-webpack/.eslintrc +119 -91
  167. package/template/web-app/react-webpack/.gitignore +26 -26
  168. package/template/web-app/react-webpack/.husky/commit-msg +4 -4
  169. package/template/web-app/react-webpack/.husky/pre-commit +4 -4
  170. package/template/web-app/react-webpack/.prettierignore +6 -6
  171. package/template/web-app/react-webpack/.stylelintignore +4 -4
  172. package/template/web-app/react-webpack/.stylelintrc +29 -23
  173. package/template/web-app/react-webpack/README.md +13 -13
  174. package/template/web-app/react-webpack/commitlint.config.js +1 -1
  175. package/template/web-app/react-webpack/domain/app/app.model.ts +7 -7
  176. package/template/web-app/react-webpack/domain/app/components/app.tsx +23 -17
  177. package/template/web-app/react-webpack/domain/app/components/index.ts +1 -1
  178. package/template/web-app/react-webpack/domain/app/index.ts +2 -2
  179. package/template/web-app/react-webpack/{router → domain/router}/home/ids.ts +3 -3
  180. package/template/web-app/react-webpack/{router → domain/router}/home/index.ts +2 -2
  181. package/template/web-app/{react → react-webpack/domain}/router/home/routes.tsx +13 -13
  182. package/template/web-app/{react → react-webpack/domain}/router/ids.ts +6 -6
  183. package/template/web-app/react-webpack/{router → domain/router}/index.ts +3 -4
  184. package/template/web-app/react-webpack/domain/router/router.tsx +28 -0
  185. package/template/web-app/react-webpack/domain/router/router.types.ts +3 -0
  186. package/template/web-app/react-webpack/global.d.ts +17 -17
  187. package/template/web-app/react-webpack/index.css +3 -3
  188. package/template/web-app/react-webpack/index.html +12 -12
  189. package/template/web-app/react-webpack/main.tsx +5 -11
  190. package/template/web-app/react-webpack/package.json +86 -89
  191. package/template/web-app/react-webpack/pages/home/home.tsx +6 -6
  192. package/template/web-app/react-webpack/pages/home/index.ts +1 -1
  193. package/template/web-app/react-webpack/pages/index.tsx +22 -21
  194. package/template/web-app/react-webpack/pages/not-found.tsx +3 -3
  195. package/template/web-app/react-webpack/postcss.config.js +9 -9
  196. package/template/web-app/react-webpack/shared/hooks/defineRouter/defineRouter.types.ts +30 -0
  197. package/template/web-app/react-webpack/shared/hooks/defineRouter/deineRouter.tsx +160 -0
  198. package/template/web-app/react-webpack/shared/hooks/defineRouter/index.ts +2 -0
  199. package/template/web-app/react-webpack/shared/hooks/index.ts +6 -5
  200. package/template/web-app/react-webpack/shared/hooks/useInterval.ts +26 -26
  201. package/template/web-app/react-webpack/shared/hooks/useLoadingAction.ts +27 -27
  202. package/template/web-app/react-webpack/shared/hooks/useLowPriorityState.ts +26 -26
  203. package/template/web-app/react-webpack/shared/hooks/useSyncState.ts +15 -15
  204. package/template/web-app/react-webpack/shared/hooks/useVisible.ts +27 -27
  205. package/template/web-app/react-webpack/shared/service/index.ts +1 -1
  206. package/template/web-app/react-webpack/shared/service/request.ts +7 -7
  207. package/template/web-app/react-webpack/shared/tools/componentInstance.tsx +78 -78
  208. package/template/web-app/react-webpack/shared/tools/index.ts +1 -1
  209. package/template/web-app/react-webpack/shared/types/index.ts +1 -1
  210. package/template/web-app/react-webpack/shared/types/utils.ts +2 -2
  211. package/template/web-app/react-webpack/tailwind.config.js +17 -17
  212. package/template/web-app/react-webpack/tsconfig.json +38 -27
  213. package/template/web-app/react-webpack/tsconfig.node.json +9 -9
  214. package/template/web-app/react-webpack/webpack.config.mjs +162 -163
  215. package/template/web-app/react-webpack/webpack_config/constant.mjs +5 -5
  216. package/template/web-app/solid/.gitignore +1 -1
  217. package/template/web-app/solid/.stylelintrc +29 -23
  218. package/template/web-app/solid/README.md +34 -34
  219. package/template/web-app/solid/index.html +16 -16
  220. package/template/web-app/solid/package.json +51 -51
  221. package/template/web-app/solid/src/app.container.tsx +12 -12
  222. package/template/web-app/solid/src/index.css +15 -15
  223. package/template/web-app/solid/src/index.tsx +15 -15
  224. package/template/web-app/solid/src/layout/index.ts +1 -1
  225. package/template/web-app/solid/src/layout/layout.container.tsx +5 -5
  226. package/template/web-app/solid/src/pages/home/home.container.tsx +5 -5
  227. package/template/web-app/solid/src/pages/home/index.ts +1 -1
  228. package/template/web-app/solid/src/pages/notFound/index.ts +1 -1
  229. package/template/web-app/solid/src/pages/notFound/notFound.container.tsx +3 -3
  230. package/template/web-app/solid/src/router/home/index.ts +2 -2
  231. package/template/web-app/solid/src/router/home/paths.ts +3 -3
  232. package/template/web-app/solid/src/router/home/routes.tsx +12 -12
  233. package/template/web-app/solid/src/router/index.ts +2 -2
  234. package/template/web-app/solid/src/router/paths.ts +5 -5
  235. package/template/web-app/solid/src/router/routes.ts +16 -16
  236. package/template/web-app/solid/tsconfig.json +20 -20
  237. package/template/web-app/solid/vite.config.ts +23 -23
  238. package/template/web-app/svelte/.env +2 -2
  239. package/template/web-app/svelte/.env.development +2 -2
  240. package/template/web-app/svelte/.eslintignore +13 -13
  241. package/template/web-app/svelte/.eslintrc +76 -76
  242. package/template/web-app/svelte/.gitignore +27 -27
  243. package/template/web-app/svelte/.husky/commit-msg +4 -4
  244. package/template/web-app/svelte/.husky/pre-commit +4 -4
  245. package/template/web-app/svelte/.prettierignore +6 -6
  246. package/template/web-app/svelte/.prettierrc +14 -14
  247. package/template/web-app/svelte/.svelte-kit/ambient.d.ts +153 -153
  248. package/template/web-app/svelte/.svelte-kit/generated/client/app.js +18 -18
  249. package/template/web-app/svelte/.svelte-kit/generated/root.svelte +55 -55
  250. package/template/web-app/svelte/.svelte-kit/generated/server/internal.js +30 -30
  251. package/template/web-app/svelte/.svelte-kit/tsconfig.json +38 -38
  252. package/template/web-app/svelte/.svelte-kit/types/route_meta_data.json +2 -2
  253. package/template/web-app/svelte/.svelte-kit/types/src/routes/$types.d.ts +19 -19
  254. package/template/web-app/svelte/README.md +38 -38
  255. package/template/web-app/svelte/commitlint.config.cjs +1 -1
  256. package/template/web-app/svelte/package.json +51 -51
  257. package/template/web-app/svelte/scripts/createChunks.ts +26 -26
  258. package/template/web-app/svelte/scripts/index.ts +1 -1
  259. package/template/web-app/svelte/src/app.d.ts +12 -12
  260. package/template/web-app/svelte/src/app.html +12 -12
  261. package/template/web-app/svelte/src/routes/+page.svelte +2 -2
  262. package/template/web-app/svelte/svelte.config.js +18 -18
  263. package/template/web-app/svelte/tsconfig.json +21 -21
  264. package/template/web-app/svelte/vite-env.d.ts +12 -12
  265. package/template/web-app/svelte/vite.config.ts +49 -49
  266. package/template/web-app/vue/.env +2 -2
  267. package/template/web-app/vue/.env.development +2 -2
  268. package/template/web-app/vue/.eslintignore +4 -4
  269. package/template/web-app/vue/.eslintrc +104 -104
  270. package/template/web-app/vue/.gitignore +27 -27
  271. package/template/web-app/vue/.prettierignore +6 -6
  272. package/template/web-app/vue/.stylelintignore +4 -4
  273. package/template/web-app/vue/.stylelintrc +29 -23
  274. package/template/web-app/vue/README.md +13 -13
  275. package/template/web-app/vue/domain/app/app.ts +4 -4
  276. package/template/web-app/vue/domain/app/components/app.vue +18 -18
  277. package/template/web-app/vue/domain/app/components/index.ts +1 -1
  278. package/template/web-app/vue/domain/app/createComponentInstance.ts +44 -44
  279. package/template/web-app/vue/main.ts +6 -6
  280. package/template/web-app/vue/mockUtils.ts +6 -6
  281. package/template/web-app/vue/package.json +70 -68
  282. package/template/web-app/vue/pages/home/home.mock.ts +16 -16
  283. package/template/web-app/vue/pages/home/home.vue +13 -13
  284. package/template/web-app/vue/pages/home/index.ts +1 -1
  285. package/template/web-app/vue/pages/index.ts +1 -1
  286. package/template/web-app/vue/pages/index.vue +3 -3
  287. package/template/web-app/vue/pages/not-found.vue +3 -3
  288. package/template/web-app/vue/router/home/index.ts +2 -2
  289. package/template/web-app/vue/router/home/names.ts +3 -3
  290. package/template/web-app/vue/router/home/routes.ts +8 -8
  291. package/template/web-app/vue/router/index.ts +26 -26
  292. package/template/web-app/vue/router/names.ts +5 -5
  293. package/template/web-app/vue/scripts/createChunks.ts +26 -26
  294. package/template/web-app/vue/scripts/index.ts +1 -1
  295. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  296. package/template/web-app/vue/shared/hooks/useList.ts +104 -104
  297. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  298. package/template/web-app/vue/shared/service/api.ts +1 -1
  299. package/template/web-app/vue/shared/service/index.ts +2 -2
  300. package/template/web-app/vue/shared/service/request.ts +7 -7
  301. package/template/web-app/vue/style.css +3 -3
  302. package/template/web-app/vue/tailwind.config.cjs +18 -18
  303. package/template/web-app/vue/tsconfig.json +24 -24
  304. package/template/web-app/vue/vite-env.d.ts +18 -18
  305. package/template/web-app/vue/vite.config.ts +68 -83
  306. package/template/web-extension/.env +1 -1
  307. package/template/web-extension/.env.development +1 -1
  308. package/template/web-extension/.eslintignore +4 -4
  309. package/template/web-extension/.eslintrc +94 -83
  310. package/template/web-extension/.gitignore +26 -26
  311. package/template/web-extension/.husky/commit-msg +4 -4
  312. package/template/web-extension/.husky/pre-commit +4 -4
  313. package/template/web-extension/.prettierignore +6 -6
  314. package/template/web-extension/.stylelintignore +4 -4
  315. package/template/web-extension/.stylelintrc +29 -23
  316. package/template/web-extension/.vscode/extensions.json +7 -7
  317. package/template/web-extension/README.md +14 -14
  318. package/template/web-extension/background/index.ts +0 -0
  319. package/template/web-extension/commitlint.config.cjs +1 -1
  320. package/template/web-extension/content_script/content.css +3 -3
  321. package/template/web-extension/content_script/content.tsx +5 -5
  322. package/template/web-extension/content_script/index.tsx +12 -12
  323. package/template/web-extension/defineManifest.ts +32 -27
  324. package/template/web-extension/package.json +76 -71
  325. package/template/web-extension/pnpm-lock.yaml +6220 -0
  326. package/template/web-extension/popup/index.tsx +9 -9
  327. package/template/web-extension/popup/popup.container.tsx +5 -5
  328. package/template/web-extension/popup/popup.css +3 -3
  329. package/template/web-extension/popup/popup.html +13 -13
  330. package/template/web-extension/postcss.config.cjs +9 -9
  331. package/template/web-extension/shared/background/index.ts +1 -0
  332. package/template/web-extension/shared/background/message.ts +11 -0
  333. package/template/web-extension/shared/constant/index.ts +0 -0
  334. package/template/web-extension/shared/content/index.ts +1 -0
  335. package/template/web-extension/shared/content/message.ts +15 -0
  336. package/template/web-extension/shared/hooks/index.ts +2 -2
  337. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  338. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  339. package/template/web-extension/shared/popup/index.ts +1 -0
  340. package/template/web-extension/shared/popup/message.ts +12 -0
  341. package/template/web-extension/shared/service/index.ts +1 -1
  342. package/template/web-extension/shared/service/request.ts +5 -5
  343. package/template/web-extension/shared/service/tools/base.ts +33 -33
  344. package/template/web-extension/shared/service/tools/createRequestActions.ts +80 -58
  345. package/template/web-extension/shared/service/tools/createService.ts +45 -46
  346. package/template/web-extension/shared/service/tools/{createServiceHooks.ts → hooks.ts} +28 -26
  347. package/template/web-extension/shared/service/tools/index.ts +4 -4
  348. package/template/web-extension/shared/service/types.ts +46 -40
  349. package/template/web-extension/shared/tools/index.ts +1 -0
  350. package/template/web-extension/shared/tools/message.ts +80 -0
  351. package/template/web-extension/shared/types/index.ts +1 -1
  352. package/template/web-extension/shared/types/utils.ts +3 -19
  353. package/template/web-extension/tailwind.config.cjs +13 -13
  354. package/template/web-extension/tsconfig.json +28 -28
  355. package/template/web-extension/tsconfig.node.json +10 -10
  356. package/template/web-extension/vite-env.d.ts +10 -10
  357. package/template/web-extension/vite.config.ts +35 -40
  358. package/template/workspace/nx/.editorconfig +13 -13
  359. package/template/workspace/nx/.eslintignore +1 -1
  360. package/template/workspace/nx/.eslintrc.json +35 -35
  361. package/template/workspace/nx/.gitignore +41 -41
  362. package/template/workspace/nx/.husky/commit-msg +4 -4
  363. package/template/workspace/nx/.husky/pre-commit +4 -4
  364. package/template/workspace/nx/.prettierignore +2 -2
  365. package/template/workspace/nx/.prettierrc +18 -18
  366. package/template/workspace/nx/.stylelintrc.json +11 -11
  367. package/template/workspace/nx/.vscode/extensions.json +9 -9
  368. package/template/workspace/nx/README.md +17 -17
  369. package/template/workspace/nx/commitlint.config.cjs +1 -1
  370. package/template/workspace/nx/jest.config.ts +5 -5
  371. package/template/workspace/nx/jest.preset.js +3 -3
  372. package/template/workspace/nx/lerna.json +10 -10
  373. package/template/workspace/nx/nx.json +53 -53
  374. package/template/workspace/nx/package.json +130 -130
  375. package/template/workspace/nx/packages/vue-lib/.eslintrc.json +21 -21
  376. package/template/workspace/nx/packages/vue-lib/README.md +3 -3
  377. package/template/workspace/nx/packages/vue-lib/jest.config.ts +20 -20
  378. package/template/workspace/nx/packages/vue-lib/package.json +12 -12
  379. package/template/workspace/nx/packages/vue-lib/project.json +40 -40
  380. package/template/workspace/nx/packages/vue-lib/src/index.ts +2 -2
  381. package/template/workspace/nx/packages/vue-lib/src/lib/HelloWorld.vue +11 -11
  382. package/template/workspace/nx/packages/vue-lib/src/shims-vue.d.ts +6 -6
  383. package/template/workspace/nx/packages/vue-lib/tests/unit/example.spec.ts +9 -9
  384. package/template/workspace/nx/packages/vue-lib/tsconfig.json +20 -20
  385. package/template/workspace/nx/packages/vue-lib/tsconfig.lib.json +22 -22
  386. package/template/workspace/nx/packages/vue-lib/tsconfig.spec.json +19 -19
  387. package/template/workspace/nx/packages/vue-lib/vite.config.ts +49 -49
  388. package/template/workspace/nx/pnpm-workspace.yaml +2 -2
  389. package/template/workspace/nx/scripts/patch-nx-dep-graph.js +40 -40
  390. package/template/workspace/nx/tools/tsconfig.tools.json +12 -12
  391. package/template/workspace/nx/tsconfig.base.json +22 -22
  392. package/template/workspace/pnpm/.changeset/README.md +8 -8
  393. package/template/workspace/pnpm/.changeset/config.json +11 -11
  394. package/template/workspace/pnpm/.gitignore +36 -36
  395. package/template/workspace/pnpm/.prettierrc.js +21 -21
  396. package/template/workspace/pnpm/commitlint.config.cjs +1 -1
  397. package/template/workspace/pnpm/package.json +40 -40
  398. package/template/workspace/pnpm/packages/test/.eslintrc +73 -73
  399. package/template/workspace/pnpm/packages/test/package.json +23 -23
  400. package/template/workspace/pnpm/packages/test/src/index.ts +5 -5
  401. package/template/workspace/pnpm/packages/test/tsconfig.json +18 -18
  402. package/template/workspace/pnpm/pnpm-workspace.yaml +2 -2
  403. package/template/workspace/pnpm/scripts/build.ts +7 -7
  404. package/template/workspace/pnpm/tsconfig.json +18 -18
  405. package/template/web-app/react/router/router.controller.ts +0 -18
  406. package/template/web-app/react/router/router.tool.ts +0 -41
  407. package/template/web-app/react/router/router.tsx +0 -43
  408. package/template/web-app/react/router/router.types.ts +0 -6
  409. package/template/web-app/react-webpack/router/router.controller.ts +0 -18
  410. package/template/web-app/react-webpack/router/router.tool.ts +0 -41
  411. package/template/web-app/react-webpack/router/router.tsx +0 -43
  412. package/template/web-app/react-webpack/router/router.types.ts +0 -6
  413. package/template/web-extension/content_script/content.spec.tsx +0 -15
  414. package/template/workspace/nx/node_modules/.pnpm/minipass-fetch@3.0.3/node_modules/minipass-sized/.gitignore +0 -22
  415. package/template/workspace/nx/node_modules/.pnpm/minipass-sized@1.0.3/node_modules/minipass-sized/.gitignore +0 -22
  416. package/template/workspace/nx/node_modules/.pnpm/node_modules/minipass-sized/.gitignore +0 -22
  417. package/template/workspace/nx/node_modules/.pnpm/node_modules/npm-normalize-package-bin/.gitignore +0 -24
  418. package/template/workspace/nx/node_modules/.pnpm/npm-bundled@1.1.2/node_modules/npm-normalize-package-bin/.gitignore +0 -24
  419. package/template/workspace/nx/node_modules/.pnpm/npm-normalize-package-bin@1.0.1/node_modules/npm-normalize-package-bin/.gitignore +0 -24
  420. package/template/workspace/nx/node_modules/.pnpm/npm-packlist@5.1.1/node_modules/npm-normalize-package-bin/.gitignore +0 -24
@@ -1,77 +1,78 @@
1
- {
2
- "name": "react-vite",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "prepare": "husky install",
8
- "dev": "vite",
9
- "build": "tsc --noEmit && vite build",
10
- "build:analyse": "tsc --noEmit && vite build --mode analyse",
11
- "preview": "vite preview",
12
- "up:vite": "pnpm up vite @vitejs/* -L",
13
- "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\"",
14
- "lint": "tsc --noEmit && eslint **/*.{tsx,ts,jsx,js} --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less}",
15
- "lint:fix": "eslint **/*.{tsx,ts,jsx,js} --fix && stylelint **/*.{css,scss,less} --fix",
16
- "cz": "cz",
17
- "push": "npm run commit && git push",
18
- "commit": "git add . && npm run cz"
19
- },
20
- "dependencies": {
21
- "1k-types": "1.1.2",
22
- "axios": "1.3.6",
23
- "define-zustand": "3.1.0",
24
- "immer": "10.0.1",
25
- "lodash-es": "4.17.21",
26
- "qs": "6.11.2",
27
- "react": "18.2.0",
28
- "react-dom": "18.2.0",
29
- "react-router-dom": "6.14.0",
30
- "react-use": "17.4.0",
31
- "zustand": "4.4.1"
32
- },
33
- "devDependencies": {
34
- "@commitlint/cli": "17.6.1",
35
- "@commitlint/config-conventional": "17.6.1",
36
- "@commitlint/cz-commitlint": "17.5.0",
37
- "@types/lodash-es": "4.17.7",
38
- "@types/mockjs": "1.0.7",
39
- "@types/node": "18.16.0",
40
- "@types/qs": "6.9.7",
41
- "@types/react": "18.0.38",
42
- "@types/react-dom": "18.0.11",
43
- "@typescript-eslint/eslint-plugin": "6.17.0",
44
- "@typescript-eslint/parser": "6.17.0",
45
- "@vitejs/plugin-react": "4.2.0",
46
- "autoprefixer": "10.4.14",
47
- "commitizen": "4.3.0",
48
- "cssnano": "6.0.0",
49
- "eslint": "8.39.0",
50
- "eslint-import-resolver-typescript": "3.5.5",
51
- "eslint-plugin-import": "2.27.5",
52
- "eslint-plugin-prettier": "5.0.0",
53
- "eslint-plugin-react": "7.32.2",
54
- "eslint-plugin-react-hooks": "4.6.0",
55
- "husky": "8.0.3",
56
- "inquirer": "8",
57
- "mockjs": "1.1.0",
58
- "postcss": "8.4.23",
59
- "postcss-import": "15.1.0",
60
- "postcss-nesting": "11.2.2",
61
- "prettier": "3.0.0",
62
- "rollup-plugin-visualizer": "5.9.2",
63
- "stylelint": "15.7.0",
64
- "stylelint-config-standard": "33.0.0",
65
- "tailwindcss": "3.3.1",
66
- "typescript": "5.3.3",
67
- "vite": "4.3.1",
68
- "vite-plugin-checker": "0.6.2",
69
- "vite-plugin-mock-dev-server": "1.2.1",
70
- "vite-plugin-svgr": "3.2.0"
71
- },
72
- "config": {
73
- "commitizen": {
74
- "path": "@commitlint/cz-commitlint"
75
- }
76
- }
77
- }
1
+ {
2
+ "name": "react-vite",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "prepare": "husky install",
8
+ "dev": "vite",
9
+ "build": "tsc --noEmit && vite build",
10
+ "build:analyse": "tsc --noEmit && vite build --mode analyse",
11
+ "preview": "vite preview",
12
+ "up:vite": "pnpm up vite @vitejs/* vite-plugin-* -L",
13
+ "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\"",
14
+ "lint": "tsc --noEmit && eslint **/*.{tsx,ts,jsx,js} --no-error-on-unmatched-pattern && stylelint **/*.{css,scss,less}",
15
+ "lint:fix": "eslint **/*.{tsx,ts,jsx,js} --fix && stylelint **/*.{css,scss,less} --fix",
16
+ "cz": "cz",
17
+ "push": "npm run commit && git push",
18
+ "commit": "git add . && npm run cz"
19
+ },
20
+ "dependencies": {
21
+ "1k-types": "1.1.2",
22
+ "axios": "1.3.6",
23
+ "define-zustand": "3.1.0",
24
+ "immer": "10.0.1",
25
+ "lodash-es": "4.17.21",
26
+ "qs": "6.11.2",
27
+ "react": "18.2.0",
28
+ "react-dom": "18.2.0",
29
+ "react-router-dom": "6.14.0",
30
+ "react-use": "17.5.0",
31
+ "zustand": "4.4.1"
32
+ },
33
+ "devDependencies": {
34
+ "@commitlint/cli": "17.6.1",
35
+ "@commitlint/config-conventional": "17.6.1",
36
+ "@commitlint/cz-commitlint": "17.5.0",
37
+ "@nabla/vite-plugin-eslint": "2.0.2",
38
+ "@types/lodash-es": "4.17.7",
39
+ "@types/mockjs": "1.0.7",
40
+ "@types/node": "18.16.0",
41
+ "@types/qs": "6.9.7",
42
+ "@types/react": "18.0.38",
43
+ "@types/react-dom": "18.0.11",
44
+ "@typescript-eslint/eslint-plugin": "7.0.2",
45
+ "@typescript-eslint/parser": "7.0.2",
46
+ "@vitejs/plugin-react": "4.2.1",
47
+ "autoprefixer": "10.4.14",
48
+ "commitizen": "4.3.0",
49
+ "cssnano": "6.0.0",
50
+ "eslint": "8.56.0",
51
+ "eslint-import-resolver-typescript": "3.6.1",
52
+ "eslint-plugin-import": "2.29.1",
53
+ "eslint-plugin-prettier": "5.1.3",
54
+ "eslint-plugin-react": "7.33.2",
55
+ "eslint-plugin-react-hooks": "4.6.0",
56
+ "husky": "8.0.3",
57
+ "inquirer": "8",
58
+ "mockjs": "1.1.0",
59
+ "postcss": "8.4.35",
60
+ "postcss-import": "16.0.1",
61
+ "postcss-nesting": "12.0.3",
62
+ "prettier": "3.2.5",
63
+ "rollup-plugin-visualizer": "5.9.2",
64
+ "stylelint": "16.2.1",
65
+ "stylelint-config-standard-scss": "13.0.0",
66
+ "tailwindcss": "3.3.1",
67
+ "typescript": "5.3.3",
68
+ "vite": "4.5.2",
69
+ "vite-plugin-mock-dev-server": "1.4.7",
70
+ "vite-plugin-stylelint": "5.3.1",
71
+ "vite-plugin-svgr": "4.2.0"
72
+ },
73
+ "config": {
74
+ "commitizen": {
75
+ "path": "@commitlint/cz-commitlint"
76
+ }
77
+ }
78
+ }
@@ -1 +1 @@
1
-
1
+
@@ -1,16 +1,16 @@
1
- import Mock from 'mockjs'
2
- import { defineMock } from '@/mockUtils'
3
- import { API } from '@/shared/service'
4
- export default defineMock([
5
- {
6
- url: API.HOME_DATA,
7
- body: Mock.mock({
8
- 'data|10': [
9
- {
10
- name: '@string',
11
- age: '@natural'
12
- }
13
- ]
14
- })
15
- }
16
- ])
1
+ import Mock from 'mockjs'
2
+ import { defineMock } from '@/mockUtils'
3
+ import { API } from '@/shared/service'
4
+ export default defineMock([
5
+ {
6
+ url: API.HOME_DATA,
7
+ body: Mock.mock({
8
+ 'data|10': [
9
+ {
10
+ name: '@string',
11
+ age: '@natural'
12
+ }
13
+ ]
14
+ })
15
+ }
16
+ ])
@@ -1,13 +1,13 @@
1
- import './home.css'
2
- import { useEffect } from 'react'
3
- import { request, API } from '@/shared/service'
4
-
5
- export default function Home() {
6
- useEffect(() => {
7
- request.post(API.HOME_DATA).then(({ data }) => {
8
- console.log('data', data)
9
- })
10
- }, [])
11
-
12
- return <div className={'flex justify-center items-center'}>sdfs</div>
13
- }
1
+ import './home.css'
2
+ import { useEffect } from 'react'
3
+ import { request, API } from '@/shared/service'
4
+
5
+ export default function Home() {
6
+ useEffect(() => {
7
+ request.post(API.HOME_DATA).then(({ data }) => {
8
+ console.log('data', data)
9
+ })
10
+ }, [])
11
+
12
+ return <div className={'flex justify-center items-center'}>sdfs</div>
13
+ }
@@ -1 +1 @@
1
- export { default } from './home'
1
+ export { default } from './home'
@@ -1,21 +1,22 @@
1
- import { Suspense, useEffect } from 'react'
2
- import { Outlet, useLocation } from 'react-router-dom'
3
- import { navigate, routerIds } from 'router'
4
-
5
- const View = () => {
6
- const location = useLocation()
7
-
8
- useEffect(() => {
9
- if (location.pathname === '/') {
10
- navigate({ id: routerIds.home })
11
- }
12
- }, [location])
13
-
14
- return (
15
- <Suspense fallback={<>loading...</>}>
16
- <Outlet />
17
- </Suspense>
18
- )
19
- }
20
-
21
- export default View
1
+ import { Suspense, useEffect } from 'react'
2
+ import { Outlet, useLocation } from 'react-router-dom'
3
+ import { useRouter, routerIds } from '@/domain/router'
4
+
5
+ const View = () => {
6
+ const location = useLocation()
7
+ const navigate = useRouter(state => state.navigate)
8
+
9
+ useEffect(() => {
10
+ if (location.pathname === '/') {
11
+ navigate({ id: routerIds.home })
12
+ }
13
+ }, [location])
14
+
15
+ return (
16
+ <Suspense fallback={<>loading...</>}>
17
+ <Outlet />
18
+ </Suspense>
19
+ )
20
+ }
21
+
22
+ export default View
@@ -1,3 +1,3 @@
1
- export default function NotFound() {
2
- return <div>404</div>
3
- }
1
+ export default function NotFound() {
2
+ return <div>404</div>
3
+ }
@@ -1,9 +1,9 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-import': {},
4
- 'tailwindcss/nesting': 'postcss-nesting',
5
- tailwindcss: {},
6
- autoprefixer: {},
7
- ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
- }
9
- }
1
+ module.exports = {
2
+ plugins: {
3
+ 'postcss-import': {},
4
+ 'tailwindcss/nesting': 'postcss-nesting',
5
+ tailwindcss: {},
6
+ autoprefixer: {},
7
+ ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
+ }
9
+ }
@@ -1,26 +1,26 @@
1
- import { concat, forEach, includes, isArray, isRegExp, keys, remove, size } from 'lodash-es'
2
- import pkg from '../package.json'
3
-
4
- export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
5
- const vendor = keys(pkg.dependencies)
6
- const result: { [key: string]: string[] } = {}
7
-
8
- forEach(chunks, (values, key) => {
9
- if (!isArray(result[key])) {
10
- result[key] = []
11
- }
12
- forEach(values, value => {
13
- let modules: string[] = []
14
- if (isRegExp(value)) {
15
- modules = remove(vendor, name => value.test(name))
16
- } else {
17
- modules = remove(vendor, name => name === value)
18
- }
19
- if (size(modules) > 0) {
20
- result[key] = concat(result[key], modules)
21
- }
22
- })
23
- })
24
- result.vendor = vendor
25
- return result
26
- }
1
+ import { concat, forEach, isArray, isRegExp, keys, remove, size } from 'lodash-es'
2
+ import pkg from '../package.json'
3
+
4
+ export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
5
+ const vendor = keys(pkg.dependencies)
6
+ const result: { [key: string]: string[] } = {}
7
+
8
+ forEach(chunks, (values, key) => {
9
+ if (!isArray(result[key])) {
10
+ result[key] = []
11
+ }
12
+ forEach(values, value => {
13
+ let modules: string[] = []
14
+ if (isRegExp(value)) {
15
+ modules = remove(vendor, name => value.test(name))
16
+ } else {
17
+ modules = remove(vendor, name => name === value)
18
+ }
19
+ if (size(modules) > 0) {
20
+ result[key] = concat(result[key], modules)
21
+ }
22
+ })
23
+ })
24
+ result.vendor = vendor
25
+ return result
26
+ }
@@ -1 +1 @@
1
- export * from './createChunks'
1
+ export * from './createChunks'
@@ -0,0 +1,30 @@
1
+ import { FunctionComponent, ReactNode } from 'react'
2
+ import { RouteObject } from 'react-router-dom'
3
+
4
+ export type routeType = Omit<RouteObject, 'children' | 'id'> & {
5
+ id: string
6
+ meta?: {
7
+ title?: string
8
+ /** 只在当前路由才显示的小提示 */
9
+ tip?: string
10
+ }
11
+ unauthorized?: boolean
12
+ query?: () => Record<string, any>
13
+ menu?: {
14
+ hidden?: boolean
15
+ icon?: FunctionComponent
16
+ label?: ReactNode
17
+ }
18
+ children?: routeType[]
19
+ }
20
+
21
+ export type editableRouteType = Omit<routeType, 'element' | 'errorElement' | 'children'>
22
+
23
+ export interface routerFactoryArgType {
24
+ basename: string
25
+ routes: routeType[]
26
+ }
27
+
28
+ export type routeByIdType = Omit<routeType, 'children'> & {
29
+ pos: string
30
+ }
@@ -0,0 +1,160 @@
1
+ import { DependencyList, useEffect, useMemo } from 'react'
2
+ import { useMatches, useSearchParams, NavigateOptions, createBrowserRouter } from 'react-router-dom'
3
+ import { assign, isArray, reduce, get, map, split, omit, cloneDeep, last, forEach } from 'lodash-es'
4
+ import { stringify, parse } from 'qs'
5
+ import { defineStore } from 'define-zustand'
6
+ import { routeByIdType, routeType, editableRouteType } from './defineRouter.types'
7
+
8
+ export default function defineRouter(router: ReturnType<typeof createBrowserRouter>) {
9
+ const useRouter = defineStore({
10
+ state: () => ({
11
+ routes: cloneDeep(router.routes) as routeType[]
12
+ }),
13
+ getter: {
14
+ routesById: state => {
15
+ return (function flat(routes: routeType[], parentRoute?: routeByIdType) {
16
+ return reduce(
17
+ routes,
18
+ (result, { children, ...route }, i) => {
19
+ const $route: routeByIdType = {
20
+ ...route,
21
+ pos: parentRoute?.pos ? `${parentRoute?.pos}-${i}` : `${i}`
22
+ }
23
+ if (parentRoute) {
24
+ $route.path = `${
25
+ parentRoute.path === '/' ? '' : parentRoute.path
26
+ }/${$route.path}`
27
+ }
28
+ result[$route.id] = $route
29
+ if (isArray(children)) {
30
+ assign(result, flat(children, $route))
31
+ }
32
+ return result
33
+ },
34
+ {} as Record<string, routeByIdType>
35
+ )
36
+ })(state.routes)
37
+ }
38
+ },
39
+ actions: (getState, action) => {
40
+ function posToLodashPath(pos: string) {
41
+ if (pos) {
42
+ return `[${split(pos, '-').join('].children[')}]`
43
+ }
44
+ return ''
45
+ }
46
+
47
+ function updateRoute(id: routeType['id'], updator: (route: editableRouteType) => void) {
48
+ const { routesById, routes } = getState()
49
+ const newRoutes = cloneDeep(routes)
50
+ const path = posToLodashPath(routesById[id].pos)
51
+ const route: routeType = get(newRoutes, path)
52
+ const newRoute = cloneDeep(omit(route, ['element', 'errorElement', 'children']))
53
+ updator(newRoute)
54
+ assign(route, newRoute)
55
+ action.setState({ routes: newRoutes })
56
+ }
57
+ function getRoute(id: routeType['id'], path?: string | string[]) {
58
+ const { routesById } = getState()
59
+ const route = routesById[id]
60
+ if (path) {
61
+ return get(route, path)
62
+ }
63
+ return route
64
+ }
65
+
66
+ function genRouteUrl(id: routeType['id'], query?: Record<string, any>) {
67
+ const path = getRoute(id, 'path')
68
+ if (path) {
69
+ const { origin } = window.location
70
+ let url = origin + router.basename + path
71
+ url += query ? `?${stringify(query)}` : ''
72
+ return url
73
+ }
74
+ return void 0
75
+ }
76
+
77
+ function openRoute(id: routeType['id'], query?: Record<string, any>) {
78
+ const url = genRouteUrl(id, query)
79
+ if (url) {
80
+ window.open(url)
81
+ }
82
+ }
83
+
84
+ function reloadRoute(id: routeType['id'], query?: Record<string, any>) {
85
+ const url = genRouteUrl(id, query)
86
+ if (url) {
87
+ window.location.replace(url)
88
+ }
89
+ }
90
+
91
+ function navigate(
92
+ to: { id: routeType['id']; query?: Record<string, any> },
93
+ opts?: NavigateOptions
94
+ ) {
95
+ return router.navigate(
96
+ {
97
+ pathname: getRoute(to.id, 'path'),
98
+ search: to.query ? stringify(to.query) : ''
99
+ },
100
+ opts
101
+ )
102
+ }
103
+
104
+ return {
105
+ navigate,
106
+ getRoute,
107
+ genRouteUrl,
108
+ openRoute,
109
+ reloadRoute,
110
+ updateRoute
111
+ }
112
+ }
113
+ })
114
+ function useQuery<Q>() {
115
+ const [params] = useSearchParams()
116
+ const query = parse(params.toString())
117
+
118
+ return query as Q
119
+ }
120
+
121
+ function useMatchRoutes(): routeType[] {
122
+ const matches = useMatches()
123
+ const getRoute = useRouter(state => state.getRoute)
124
+ return useMemo(() => map(matches, o => getRoute(o.id)), [matches])
125
+ }
126
+
127
+ /**
128
+ * @description 验证器返回false则无权限
129
+ */
130
+ function useRoutePermission(
131
+ config: {
132
+ redirectRouteId: string
133
+ validator: (currentRoute?: routeType) => boolean
134
+ },
135
+ deps: DependencyList
136
+ ) {
137
+ const matchRoutes = useMatchRoutes()
138
+ const currentRoute = last(matchRoutes)
139
+ const updateRoute = useRouter(state => state.updateRoute)
140
+ const navigate = useRouter(state => state.navigate)
141
+ const routesById = useRouter(state => state.routesById)
142
+
143
+ useEffect(() => {
144
+ forEach(routesById, route => {
145
+ updateRoute(route.id, route => {
146
+ route.unauthorized = !config.validator(route)
147
+ })
148
+ })
149
+ }, deps)
150
+
151
+ useEffect(() => {
152
+ const result = config.validator(currentRoute)
153
+ if (!result && config.redirectRouteId) {
154
+ navigate({ id: config.redirectRouteId }, { replace: true })
155
+ }
156
+ }, [currentRoute?.id, ...deps])
157
+ }
158
+
159
+ return { useRouter, useQuery, useMatchRoutes, useRoutePermission }
160
+ }
@@ -0,0 +1,2 @@
1
+ export { default as defineRouter } from './deineRouter'
2
+ export * from './defineRouter.types'
@@ -1,5 +1,6 @@
1
- export { default as useLoadingAction } from './useLoadingAction'
2
- export { default as useInterval } from './useInterval'
3
- export { default as useVisible } from './useVisible'
4
- export { default as useLowPriorityState } from './useLowPriorityState'
5
- export * from './useSyncState'
1
+ export { default as useLoadingAction } from './useLoadingAction'
2
+ export { default as useInterval } from './useInterval'
3
+ export { default as useVisible } from './useVisible'
4
+ export { default as useLowPriorityState } from './useLowPriorityState'
5
+ export * from './useSyncState'
6
+ export * from './defineRouter'
@@ -1,26 +1,26 @@
1
- import { useState } from 'react'
2
- import { useInterval as useRUInterval } from 'react-use'
3
-
4
- interface actionsType {
5
- start: () => void
6
- stop: () => void
7
- }
8
- export default function useInterval(
9
- cb: (actions: actionsType) => Promise<void> | void,
10
- delay: number
11
- ): actionsType {
12
- const [startInterval, setStartInterval] = useState(false)
13
- const start: actionsType['start'] = () => {
14
- setStartInterval(true)
15
- }
16
- const stop: actionsType['stop'] = () => {
17
- setStartInterval(false)
18
- }
19
- useRUInterval(
20
- async () => {
21
- cb({ start, stop })
22
- },
23
- startInterval ? delay : null
24
- )
25
- return { start, stop }
26
- }
1
+ import { useState } from 'react'
2
+ import { useInterval as useRUInterval } from 'react-use'
3
+
4
+ interface actionsType {
5
+ start: () => void
6
+ stop: () => void
7
+ }
8
+ export default function useInterval(
9
+ cb: (actions: actionsType) => Promise<void> | void,
10
+ delay: number
11
+ ): actionsType {
12
+ const [startInterval, setStartInterval] = useState(false)
13
+ const start: actionsType['start'] = () => {
14
+ setStartInterval(true)
15
+ }
16
+ const stop: actionsType['stop'] = () => {
17
+ setStartInterval(false)
18
+ }
19
+ useRUInterval(
20
+ async () => {
21
+ cb({ start, stop })
22
+ },
23
+ startInterval ? delay : null
24
+ )
25
+ return { start, stop }
26
+ }