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,9 +1,9 @@
1
- import { StrictMode } from 'react'
2
- import { createRoot } from 'react-dom/client'
3
- import Popup from './popup.container'
4
-
5
- createRoot(document.getElementById('root') as HTMLElement).render(
6
- <StrictMode>
7
- <Popup />
8
- </StrictMode>
9
- )
1
+ import { StrictMode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import Popup from './popup.container'
4
+
5
+ createRoot(document.getElementById('root') as HTMLElement).render(
6
+ <StrictMode>
7
+ <Popup />
8
+ </StrictMode>
9
+ )
@@ -1,5 +1,5 @@
1
- import './popup.css'
2
-
3
- export default function Home() {
4
- return <div>popup</div>
5
- }
1
+ import './popup.css'
2
+
3
+ export default function Home() {
4
+ return <div></div>
5
+ }
@@ -1,3 +1,3 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -1,13 +1,13 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="../shared/assets/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Vite + React + TS</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="./index.tsx"></script>
12
- </body>
13
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="../shared/assets/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React + TS</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="./index.tsx"></script>
12
+ </body>
13
+ </html>
@@ -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
+ }
@@ -0,0 +1 @@
1
+ export * as backgroundMessage from './message'
@@ -0,0 +1,11 @@
1
+ import { message } from '@/shared/tools'
2
+ export enum ACTIONS {
3
+ TEST = 'TEST'
4
+ }
5
+
6
+ export interface messageType {
7
+ [ACTIONS.TEST]: object
8
+ }
9
+ export interface responseType {}
10
+
11
+ export const action = message.create<ACTIONS, messageType, responseType>()
@@ -0,0 +1 @@
1
+ export * as contentMessage from './message'
@@ -0,0 +1,15 @@
1
+ import { message } from '@/shared/tools'
2
+ export enum ACTIONS {
3
+ TEST = 'TEST'
4
+ }
5
+
6
+ export interface messageType {
7
+ [ACTIONS.TEST]: object
8
+ }
9
+ export interface responseType {}
10
+
11
+ export const action = message.create<ACTIONS, messageType, responseType>()
12
+
13
+ export function batchSend<A extends ACTIONS>(message: { action: A } & messageType[A]) {
14
+ return action.batchSendToContent(message, { active: true, url: '*://*.tiktok.com/*' })
15
+ }
@@ -1,2 +1,2 @@
1
- export { default as useVisible } from './useVisible'
2
- export * from './useSyncState'
1
+ export { default as useVisible } from './useVisible'
2
+ export * from './useSyncState'
@@ -1,15 +1,15 @@
1
- import { useRef, useState, Dispatch, SetStateAction } from 'react'
2
- import { isFunction } from 'lodash-es'
3
-
4
- export function useSyncState<S>(initialState: S | (() => S)) {
5
- const [state, setState] = useState(initialState)
6
- const syncState = useRef<S>(state)
7
-
8
- const $setState: Dispatch<SetStateAction<S>> = newState => {
9
- const $newState = isFunction(newState) ? newState(state) : newState
10
- setState($newState)
11
- syncState.current = $newState
12
- }
13
-
14
- return [syncState, state, $setState] as const
15
- }
1
+ import { useRef, useState, Dispatch, SetStateAction } from 'react'
2
+ import { isFunction } from 'lodash-es'
3
+
4
+ export function useSyncState<S>(initialState: S | (() => S)) {
5
+ const [state, setState] = useState(initialState)
6
+ const syncState = useRef<S>(state)
7
+
8
+ const $setState: Dispatch<SetStateAction<S>> = newState => {
9
+ const $newState = isFunction(newState) ? newState(state) : newState
10
+ setState($newState)
11
+ syncState.current = $newState
12
+ }
13
+
14
+ return [syncState, state, $setState] as const
15
+ }
@@ -1,27 +1,27 @@
1
- import { useState } from 'react'
2
- import { isFunction } from 'lodash-es'
3
-
4
- export interface useVisibleConfigType {
5
- defaultVisible?: boolean
6
- onBeforeShow?: () => Promise<boolean | void>
7
- onBeforeHide?: () => Promise<boolean | void>
8
- }
9
- export default function useVisible(config?: useVisibleConfigType) {
10
- const [visible, setVisible] = useState(config?.defaultVisible ?? false)
11
- const onShow = async () => {
12
- let isShow: boolean | void = true
13
- if (isFunction(config?.onBeforeShow)) {
14
- isShow = await config?.onBeforeShow?.()
15
- }
16
- setVisible(isShow !== false)
17
- }
18
- const onClose = async () => {
19
- let isHide: boolean | void = true
20
- if (isFunction(config?.onBeforeHide)) {
21
- isHide = await config?.onBeforeHide?.()
22
- }
23
- setVisible(isHide === false)
24
- }
25
-
26
- return { visible, onShow, onClose }
27
- }
1
+ import { useState } from 'react'
2
+ import { isFunction } from 'lodash-es'
3
+
4
+ export interface useVisibleConfigType {
5
+ defaultVisible?: boolean
6
+ onBeforeShow?: () => Promise<boolean | void>
7
+ onBeforeHide?: () => Promise<boolean | void>
8
+ }
9
+ export default function useVisible(config?: useVisibleConfigType) {
10
+ const [visible, setVisible] = useState(config?.defaultVisible ?? false)
11
+ const onShow = async () => {
12
+ let isShow: boolean | void = true
13
+ if (isFunction(config?.onBeforeShow)) {
14
+ isShow = await config?.onBeforeShow?.()
15
+ }
16
+ setVisible(isShow !== false)
17
+ }
18
+ const onClose = async () => {
19
+ let isHide: boolean | void = true
20
+ if (isFunction(config?.onBeforeHide)) {
21
+ isHide = await config?.onBeforeHide?.()
22
+ }
23
+ setVisible(isHide === false)
24
+ }
25
+
26
+ return { visible, onShow, onClose }
27
+ }
@@ -0,0 +1 @@
1
+ export * as popupMessage from './message'
@@ -0,0 +1,12 @@
1
+ import { message } from '@/shared/tools'
2
+
3
+ export enum ACTIONS {
4
+ TEST = 'TEST'
5
+ }
6
+
7
+ export interface messageType {
8
+ [ACTIONS.TEST]: object
9
+ }
10
+ export interface responseType {}
11
+
12
+ export const action = message.create<ACTIONS, messageType, responseType>()
@@ -1 +1 @@
1
- export * from './request'
1
+ export * from './request'
@@ -1,5 +1,5 @@
1
- import { createService } from './tools'
2
-
3
- export const request = createService({
4
- prefixUrl: import.meta.env.VITE_API_HOST
5
- })
1
+ import { createService } from './tools'
2
+
3
+ export const request = createService({
4
+ prefixUrl: import.meta.env.VITE_API_HOST
5
+ })
@@ -1,33 +1,33 @@
1
- import { httpBodyType } from '../types'
2
-
3
- export class FetchError extends Error {
4
- public request: Request
5
-
6
- constructor(request: Request) {
7
- super()
8
- this.name = 'FetchError'
9
- this.request = request
10
- }
11
- }
12
-
13
- export async function pickRequestBody<Body = httpBodyType>(
14
- req: Request
15
- ): Promise<Body | undefined> {
16
- let reqBody = void 0
17
- try {
18
- reqBody = await req.clone().json()
19
- } catch {
20
- /* empty */
21
- }
22
- return reqBody
23
- }
24
-
25
- export async function pickReponseBody<Body = any>(res: Response): Promise<Body | undefined> {
26
- let body = void 0
27
- try {
28
- body = await res.clone().json()
29
- } catch {
30
- /** empty */
31
- }
32
- return body
33
- }
1
+ import { httpBodyType } from '../types'
2
+
3
+ export class FetchError extends Error {
4
+ public request: Request
5
+
6
+ constructor(request: Request) {
7
+ super()
8
+ this.name = 'FetchError'
9
+ this.request = request
10
+ }
11
+ }
12
+
13
+ export async function pickRequestBody<Body = httpBodyType>(
14
+ req: Request
15
+ ): Promise<Body | undefined> {
16
+ let reqBody = void 0
17
+ try {
18
+ reqBody = await req.clone().json()
19
+ } catch {
20
+ /* empty */
21
+ }
22
+ return reqBody
23
+ }
24
+
25
+ export async function pickReponseBody<Body = any>(res: Response): Promise<Body | undefined> {
26
+ let body = void 0
27
+ try {
28
+ body = await res.clone().json()
29
+ } catch {
30
+ /** empty */
31
+ }
32
+ return body
33
+ }
@@ -1,58 +1,80 @@
1
- import { KyInstance, Options } from 'ky'
2
- import { Input } from 'ky/distribution/types/options'
3
- import { includes, isString, omit } from 'lodash-es'
4
- import { stringify } from 'qs'
5
- import { Nullable } from '1k-types'
6
- import { configType, httpErrorType, requestOptionsType, serviceHooksType } from '../types'
7
- import { FetchError } from './base'
8
-
9
- export function createRequestActions(
10
- prefixUrl: configType['prefixUrl'],
11
- request: KyInstance,
12
- hooks: serviceHooksType
13
- ) {
14
- function creator(method: Required<Options>['method']) {
15
- return async function <DATA = any>(url: Input, option?: requestOptionsType): Promise<DATA> {
16
- try {
17
- return await request[method](url, omit(option, 'responseType'))[
18
- option?.responseType || 'json'
19
- ]()
20
- } catch (e: any) {
21
- const searchParamsString = stringify(option?.searchParams, { addQueryPrefix: true })
22
- let httpBody: Nullable<string> = void 0
23
- if (option && isString(option?.body)) {
24
- httpBody = option.body
25
- } else if (option?.body) {
26
- httpBody = 'other'
27
- } else if (option?.json) {
28
- httpBody = JSON.stringify(option.json)
29
- }
30
- let error = new FetchError(
31
- new Request(prefixUrl + '/' + url + searchParamsString, {
32
- method,
33
- body: httpBody
34
- })
35
- )
36
- error.message = e.message
37
- if (includes([httpErrorType.HTTPError, httpErrorType.TimeoutError], e.name)) {
38
- error = e
39
- }
40
- for (let i = 0; i < hooks.httpError.length; i++) {
41
- await hooks.httpError[i](error)
42
- }
43
- throw error
44
- }
45
- }
46
- }
47
-
48
- return {
49
- get: creator('get'),
50
- post: creator('post'),
51
- put: creator('put'),
52
- patch: creator('patch'),
53
- head: creator('head'),
54
- delete: creator('delete')
55
- }
56
- }
57
-
58
- export type requestActionsType = ReturnType<typeof createRequestActions>
1
+ import { KyInstance, Options } from 'ky'
2
+ import { Input } from 'ky/distribution/types/options'
3
+ import { includes, isFunction, isString, omit } from 'lodash-es'
4
+ import { stringify } from 'qs'
5
+ import { Nullable } from '1k-types'
6
+ import { configType, httpErrorNameType, requestOptionsType, serviceHooksType } from '../types'
7
+ import { createKyRequestHooks } from './hooks'
8
+ import { FetchError } from './base'
9
+
10
+ export function createRequestActions(
11
+ prefixUrl: configType['prefixUrl'],
12
+ request: KyInstance,
13
+ hooks: serviceHooksType
14
+ ) {
15
+ function creator(method: Required<Options>['method']) {
16
+ return async function <DATA = any>(url: Input, option?: requestOptionsType): Promise<DATA> {
17
+ const globalPrefix = isFunction(prefixUrl) ? await prefixUrl() : prefixUrl
18
+ const $prefix = isFunction(option?.prefixUrl)
19
+ ? await option!.prefixUrl()
20
+ : option?.prefixUrl
21
+ const newHooks: serviceHooksType = {
22
+ beforeRequest: [...hooks.beforeRequest, ...(option?.hooks?.beforeRequest || [])],
23
+ afterResponse: [...hooks.afterResponse, ...(option?.hooks?.afterResponse || [])],
24
+ httpError: [...hooks.httpError, ...(option?.hooks?.httpError || [])]
25
+ }
26
+ const newOption = {
27
+ ...omit(option, 'responseType'),
28
+ prefixUrl: $prefix ?? globalPrefix,
29
+ hooks: createKyRequestHooks(newHooks)
30
+ }
31
+ try {
32
+ const res = request[method](url, newOption)
33
+ if (option?.responseType === 'response') {
34
+ return await res
35
+ }
36
+ return await res[option?.responseType || 'json']()
37
+ } catch (e: any) {
38
+ const searchParamsString = stringify(newOption?.searchParams, {
39
+ addQueryPrefix: true
40
+ })
41
+ let httpBody: Nullable<string> = void 0
42
+ if (newOption && isString(newOption?.body)) {
43
+ httpBody = newOption.body
44
+ } else if (newOption?.body) {
45
+ httpBody = 'other'
46
+ } else if (newOption?.json) {
47
+ httpBody = JSON.stringify(newOption.json)
48
+ }
49
+ const $prefix = newOption.prefixUrl ? `${newOption.prefixUrl}/` : ''
50
+ let error = new FetchError(
51
+ new Request($prefix + url + searchParamsString, {
52
+ method,
53
+ body: httpBody
54
+ })
55
+ )
56
+ error.message = e.message
57
+ if (
58
+ includes([httpErrorNameType.HTTPError, httpErrorNameType.TimeoutError], e.name)
59
+ ) {
60
+ error = e
61
+ }
62
+ for (let i = 0; i < newHooks.httpError.length; i++) {
63
+ await hooks.httpError[i](error)
64
+ }
65
+ throw error
66
+ }
67
+ }
68
+ }
69
+
70
+ return {
71
+ get: creator('get'),
72
+ post: creator('post'),
73
+ put: creator('put'),
74
+ patch: creator('patch'),
75
+ head: creator('head'),
76
+ delete: creator('delete')
77
+ }
78
+ }
79
+
80
+ export type requestActionsType = ReturnType<typeof createRequestActions>
@@ -1,46 +1,45 @@
1
- import ky from 'ky'
2
- import { assign, isArray, isObject } from 'lodash-es'
3
- import { configType } from '../types'
4
- import { createRequestActions } from './createRequestActions'
5
- import { createServiceHooks } from './createServiceHooks'
6
-
7
- export function createService(config: configType) {
8
- const { kyHooks, addHooks, serviceHooks } = createServiceHooks()
9
- const globalParams: configType['globalParams'] = assign({}, config.globalParams)
10
- const globalSearchParams: configType['globalSearchParams'] = assign(
11
- {},
12
- config.globalSearchParams
13
- )
14
- const request = ky.create({
15
- prefixUrl: config.prefixUrl,
16
- headers: config.headers,
17
- hooks: kyHooks
18
- })
19
- const requestActions = createRequestActions(config.prefixUrl, request, serviceHooks)
20
-
21
- function setGlobalParams(params: configType['globalParams']) {
22
- assign(globalParams, params)
23
- }
24
- function setGlobalSearchParams(params: configType['globalSearchParams']) {
25
- assign(globalSearchParams, params)
26
- }
27
-
28
- // init
29
- // ------------------------------------------------------------------------
30
- addHooks('beforeRequest', async req => {
31
- const { searchParams, body } = req
32
- req.searchParams = { ...globalSearchParams, ...searchParams }
33
-
34
- if (!isArray(body) && isObject(body)) {
35
- req.body = { ...globalParams, ...body }
36
- }
37
- })
38
-
39
- return {
40
- instance: request,
41
- ...requestActions,
42
- addHooks,
43
- setGlobalParams,
44
- setGlobalSearchParams
45
- }
46
- }
1
+ import ky from 'ky'
2
+ import { assign, isArray, isObject } from 'lodash-es'
3
+ import { configType } from '../types'
4
+ import { createRequestActions } from './createRequestActions'
5
+ import { createServiceHooks } from './hooks'
6
+
7
+ export function createService(config: configType) {
8
+ const { addHooks, serviceHooks } = createServiceHooks()
9
+ const globalParams: configType['globalParams'] = assign({}, config.globalParams)
10
+ const globalSearchParams: configType['globalSearchParams'] = assign(
11
+ {},
12
+ config.globalSearchParams
13
+ )
14
+ const request = ky.create({
15
+ prefixUrl: '',
16
+ headers: config.headers
17
+ })
18
+ const requestActions = createRequestActions(config.prefixUrl, request, serviceHooks)
19
+
20
+ function setGlobalParams(params: configType['globalParams']) {
21
+ assign(globalParams, params)
22
+ }
23
+ function setGlobalSearchParams(params: configType['globalSearchParams']) {
24
+ assign(globalSearchParams, params)
25
+ }
26
+
27
+ // init
28
+ // ------------------------------------------------------------------------
29
+ addHooks('beforeRequest', async req => {
30
+ const { searchParams, body } = req
31
+ req.searchParams = { ...globalSearchParams, ...searchParams }
32
+
33
+ if (!isArray(body) && isObject(body)) {
34
+ req.body = { ...globalParams, ...body }
35
+ }
36
+ })
37
+
38
+ return {
39
+ instance: request,
40
+ ...requestActions,
41
+ addHooks,
42
+ setGlobalParams,
43
+ setGlobalSearchParams
44
+ }
45
+ }
@@ -1,6 +1,6 @@
1
1
  import { Hooks } from 'ky'
2
2
  import { omit } from 'lodash-es'
3
- import { parse, stringify } from 'qs'
3
+ import { stringify, parse } from 'qs'
4
4
  import { ArrayValues } from '1k-types'
5
5
  import { serviceHooksType } from '../types'
6
6
  import { pickRequestBody } from './base'
@@ -12,7 +12,31 @@ export function createServiceHooks(hooks?: Partial<serviceHooksType>) {
12
12
  afterResponse: [],
13
13
  ...(hooks || {})
14
14
  }
15
- const kyHooks: Hooks = {
15
+
16
+ function addHooks<K extends keyof serviceHooksType>(
17
+ key: K,
18
+ callback: ArrayValues<serviceHooksType[K]>
19
+ ) {
20
+ serviceHooks[key].push(callback as any)
21
+ }
22
+
23
+ return {
24
+ serviceHooks,
25
+ addHooks
26
+ }
27
+ }
28
+
29
+ export function createKyRequestHooks(serviceHooks: serviceHooksType): Hooks {
30
+ async function forEachHooks<K extends keyof serviceHooksType>(
31
+ name: K,
32
+ arg: Parameters<ArrayValues<serviceHooksType[K]>>[0]
33
+ ) {
34
+ for (let i = 0; i < serviceHooks[name].length; i++) {
35
+ const fn = serviceHooks[name][i]
36
+ await fn(arg as never)
37
+ }
38
+ }
39
+ return {
16
40
  beforeRequest: [
17
41
  async req => {
18
42
  // eslint-disable-next-line prefer-const
@@ -25,7 +49,7 @@ export function createServiceHooks(hooks?: Partial<serviceHooksType>) {
25
49
  headers: req.headers,
26
50
  method: req.method
27
51
  }
28
- await foreachHooks('beforeRequest', reqConfig)
52
+ await forEachHooks('beforeRequest', reqConfig)
29
53
  url = url + stringify(reqConfig.searchParams, { addQueryPrefix: true })
30
54
  return new Request(url, {
31
55
  ...omit(req, 'url'),
@@ -36,30 +60,8 @@ export function createServiceHooks(hooks?: Partial<serviceHooksType>) {
36
60
  ],
37
61
  afterResponse: [
38
62
  async (request, options, response) => {
39
- await foreachHooks('afterResponse', { request, options, response })
63
+ await forEachHooks('afterResponse', { request, options, response })
40
64
  }
41
65
  ]
42
66
  }
43
- function addHooks<K extends keyof serviceHooksType>(
44
- key: K,
45
- callback: ArrayValues<serviceHooksType[K]>
46
- ) {
47
- serviceHooks[key].push(callback as any)
48
- }
49
-
50
- async function foreachHooks<K extends keyof serviceHooksType>(
51
- name: K,
52
- arg: Parameters<ArrayValues<serviceHooksType[K]>>[0]
53
- ) {
54
- for (let i = 0; i < serviceHooks[name].length; i++) {
55
- const fn = serviceHooks[name][i]
56
- await fn(arg as never)
57
- }
58
- }
59
-
60
- return {
61
- kyHooks,
62
- serviceHooks,
63
- addHooks
64
- }
65
67
  }
@@ -1,4 +1,4 @@
1
- export * from './createRequestActions'
2
- export * from './createService'
3
- export * from './createServiceHooks'
4
- export * from './base'
1
+ export * from './createRequestActions'
2
+ export * from './createService'
3
+ export * from './hooks'
4
+ export * from './base'