create-dubhe 0.0.1

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 (361) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/index.mjs +100 -0
  4. package/index.js +3 -0
  5. package/package.json +46 -0
  6. package/template/101/aptos-template/.dockerignore +7 -0
  7. package/template/101/aptos-template/.eslintrc.json +3 -0
  8. package/template/101/aptos-template/.prettierrc +8 -0
  9. package/template/101/aptos-template/Dockerfile +56 -0
  10. package/template/101/aptos-template/LICENSE +674 -0
  11. package/template/101/aptos-template/README.md +14 -0
  12. package/template/101/aptos-template/contracts/counter/Move.toml +16 -0
  13. package/template/101/aptos-template/contracts/counter/sources/codegen/eps/events.move +34 -0
  14. package/template/101/aptos-template/contracts/counter/sources/codegen/eps/world.move +65 -0
  15. package/template/101/aptos-template/contracts/counter/sources/codegen/init.move +17 -0
  16. package/template/101/aptos-template/contracts/counter/sources/codegen/schemas/counter.move +59 -0
  17. package/template/101/aptos-template/contracts/counter/sources/entity_key.move +31 -0
  18. package/template/101/aptos-template/contracts/counter/sources/script/deploy_hook.move +19 -0
  19. package/template/101/aptos-template/contracts/counter/sources/system/counter_system.move +11 -0
  20. package/template/101/aptos-template/dubhe.config.ts +13 -0
  21. package/template/101/aptos-template/jest.config.ts +17 -0
  22. package/template/101/aptos-template/next-env.d.ts +5 -0
  23. package/template/101/aptos-template/next-i18next.config.js +6 -0
  24. package/template/101/aptos-template/next.config.js +15 -0
  25. package/template/101/aptos-template/package.json +83 -0
  26. package/template/101/aptos-template/postcss.config.js +6 -0
  27. package/template/101/aptos-template/public/discord.svg +9 -0
  28. package/template/101/aptos-template/public/fail.svg +12 -0
  29. package/template/101/aptos-template/public/favicon.ico +0 -0
  30. package/template/101/aptos-template/public/locales/de/common.json +8 -0
  31. package/template/101/aptos-template/public/locales/de/footer.json +3 -0
  32. package/template/101/aptos-template/public/locales/de/second-page.json +5 -0
  33. package/template/101/aptos-template/public/locales/en/common.json +8 -0
  34. package/template/101/aptos-template/public/locales/en/footer.json +3 -0
  35. package/template/101/aptos-template/public/locales/en/second-page.json +5 -0
  36. package/template/101/aptos-template/public/locales/zn/common.json +8 -0
  37. package/template/101/aptos-template/public/locales/zn/footer.json +3 -0
  38. package/template/101/aptos-template/public/locales/zn/second-page.json +5 -0
  39. package/template/101/aptos-template/public/logo.svg +1 -0
  40. package/template/101/aptos-template/public/medium.svg +9 -0
  41. package/template/101/aptos-template/public/successful.svg +11 -0
  42. package/template/101/aptos-template/public/telegram.svg +9 -0
  43. package/template/101/aptos-template/public/twitter.svg +9 -0
  44. package/template/101/aptos-template/scripts/formatAccount.ts +35 -0
  45. package/template/101/aptos-template/scripts/generateAccount.ts +25 -0
  46. package/template/101/aptos-template/scripts/storeConfig.ts +54 -0
  47. package/template/101/aptos-template/src/chain/config.ts +7 -0
  48. package/template/101/aptos-template/src/css/font-awesome.css +2337 -0
  49. package/template/101/aptos-template/src/css/font-awesome.min.css +4 -0
  50. package/template/101/aptos-template/src/fonts/FontAwesome.otf +0 -0
  51. package/template/101/aptos-template/src/fonts/fontawesome-webfont.eot +0 -0
  52. package/template/101/aptos-template/src/fonts/fontawesome-webfont.svg +2671 -0
  53. package/template/101/aptos-template/src/fonts/fontawesome-webfont.ttf +0 -0
  54. package/template/101/aptos-template/src/fonts/fontawesome-webfont.woff +0 -0
  55. package/template/101/aptos-template/src/fonts/fontawesome-webfont.woff2 +0 -0
  56. package/template/101/aptos-template/src/jotai/index.tsx +12 -0
  57. package/template/101/aptos-template/src/pages/_app.tsx +9 -0
  58. package/template/101/aptos-template/src/pages/home/index.tsx +78 -0
  59. package/template/101/aptos-template/src/pages/index.tsx +12 -0
  60. package/template/101/aptos-template/tailwind.config.js +56 -0
  61. package/template/101/aptos-template/tsconfig.json +25 -0
  62. package/template/101/sui-template/.dockerignore +7 -0
  63. package/template/101/sui-template/.eslintrc.json +3 -0
  64. package/template/101/sui-template/.prettierrc +8 -0
  65. package/template/101/sui-template/Dockerfile +52 -0
  66. package/template/101/sui-template/LICENSE +674 -0
  67. package/template/101/sui-template/README.md +14 -0
  68. package/template/101/sui-template/contracts/counter/Move.toml +13 -0
  69. package/template/101/sui-template/contracts/counter/sources/codegen/dapp_key.move +16 -0
  70. package/template/101/sui-template/contracts/counter/sources/codegen/schemas/counter.move +50 -0
  71. package/template/101/sui-template/contracts/counter/sources/script/deploy_hook.move +67 -0
  72. package/template/101/sui-template/contracts/counter/sources/system/counter.move +11 -0
  73. package/template/101/sui-template/docker-compose.yaml +29 -0
  74. package/template/101/sui-template/dubhe.config.ts +14 -0
  75. package/template/101/sui-template/jest.config.ts +17 -0
  76. package/template/101/sui-template/localnet/dubhe-framework/Move.toml +39 -0
  77. package/template/101/sui-template/localnet/dubhe-framework/README.md +18 -0
  78. package/template/101/sui-template/localnet/dubhe-framework/sources/access_control.move +35 -0
  79. package/template/101/sui-template/localnet/dubhe-framework/sources/events.move +23 -0
  80. package/template/101/sui-template/localnet/dubhe-framework/sources/resource_id.move +22 -0
  81. package/template/101/sui-template/localnet/dubhe-framework/sources/resource_types.move +18 -0
  82. package/template/101/sui-template/localnet/dubhe-framework/sources/schema.move +36 -0
  83. package/template/101/sui-template/localnet/dubhe-framework/sources/schemas/dapps/dapps.move +73 -0
  84. package/template/101/sui-template/localnet/dubhe-framework/sources/schemas/dapps/metadata.move +96 -0
  85. package/template/101/sui-template/localnet/dubhe-framework/sources/storages/double_map.move +156 -0
  86. package/template/101/sui-template/localnet/dubhe-framework/sources/storages/map.move +159 -0
  87. package/template/101/sui-template/localnet/dubhe-framework/sources/storages/value.move +100 -0
  88. package/template/101/sui-template/localnet/dubhe-framework/sources/systems/dapps.move +90 -0
  89. package/template/101/sui-template/localnet/dubhe-framework/sources/world.move +81 -0
  90. package/template/101/sui-template/localnet/dubhe-framework/tests/dapp.move +16 -0
  91. package/template/101/sui-template/localnet/dubhe-framework/tests/init.move +6 -0
  92. package/template/101/sui-template/localnet/dubhe-framework/tests/obelisk_framework_tests.move +19 -0
  93. package/template/101/sui-template/localnet/dubhe-framework/tests/storage.move +398 -0
  94. package/template/101/sui-template/next-env.d.ts +5 -0
  95. package/template/101/sui-template/next-i18next.config.js +6 -0
  96. package/template/101/sui-template/next.config.js +15 -0
  97. package/template/101/sui-template/package.json +82 -0
  98. package/template/101/sui-template/postcss.config.js +6 -0
  99. package/template/101/sui-template/public/discord.svg +9 -0
  100. package/template/101/sui-template/public/fail.svg +12 -0
  101. package/template/101/sui-template/public/favicon.ico +0 -0
  102. package/template/101/sui-template/public/locales/de/common.json +8 -0
  103. package/template/101/sui-template/public/locales/de/footer.json +3 -0
  104. package/template/101/sui-template/public/locales/de/second-page.json +5 -0
  105. package/template/101/sui-template/public/locales/en/common.json +8 -0
  106. package/template/101/sui-template/public/locales/en/footer.json +3 -0
  107. package/template/101/sui-template/public/locales/en/second-page.json +5 -0
  108. package/template/101/sui-template/public/locales/zn/common.json +8 -0
  109. package/template/101/sui-template/public/locales/zn/footer.json +3 -0
  110. package/template/101/sui-template/public/locales/zn/second-page.json +5 -0
  111. package/template/101/sui-template/public/logo.svg +1 -0
  112. package/template/101/sui-template/public/medium.svg +9 -0
  113. package/template/101/sui-template/public/successful.svg +11 -0
  114. package/template/101/sui-template/public/telegram.svg +9 -0
  115. package/template/101/sui-template/public/twitter.svg +9 -0
  116. package/template/101/sui-template/scripts/checkBalance.ts +40 -0
  117. package/template/101/sui-template/scripts/deployment/common.ts +60 -0
  118. package/template/101/sui-template/scripts/deployment/localnet/deploy.ts +42 -0
  119. package/template/101/sui-template/scripts/deployment/testnet/deploy.ts +48 -0
  120. package/template/101/sui-template/scripts/deployment/types.ts +13 -0
  121. package/template/101/sui-template/scripts/framework/common.ts +17 -0
  122. package/template/101/sui-template/scripts/framework/deploy.ts +199 -0
  123. package/template/101/sui-template/scripts/framework/parse-history.ts +76 -0
  124. package/template/101/sui-template/scripts/framework/types.ts +8 -0
  125. package/template/101/sui-template/scripts/generateAccount.ts +55 -0
  126. package/template/101/sui-template/scripts/storeConfig.ts +61 -0
  127. package/template/101/sui-template/scripts/waitNode.ts +9 -0
  128. package/template/101/sui-template/src/chain/config.ts +7 -0
  129. package/template/101/sui-template/src/css/font-awesome.css +2337 -0
  130. package/template/101/sui-template/src/css/font-awesome.min.css +4 -0
  131. package/template/101/sui-template/src/fonts/FontAwesome.otf +0 -0
  132. package/template/101/sui-template/src/fonts/fontawesome-webfont.eot +0 -0
  133. package/template/101/sui-template/src/fonts/fontawesome-webfont.svg +2671 -0
  134. package/template/101/sui-template/src/fonts/fontawesome-webfont.ttf +0 -0
  135. package/template/101/sui-template/src/fonts/fontawesome-webfont.woff +0 -0
  136. package/template/101/sui-template/src/fonts/fontawesome-webfont.woff2 +0 -0
  137. package/template/101/sui-template/src/jotai/index.tsx +12 -0
  138. package/template/101/sui-template/src/pages/_app.tsx +9 -0
  139. package/template/101/sui-template/src/pages/home/index.tsx +82 -0
  140. package/template/101/sui-template/src/pages/index.tsx +14 -0
  141. package/template/101/sui-template/tailwind.config.js +56 -0
  142. package/template/101/sui-template/tsconfig.json +25 -0
  143. package/template/cocos/aptos-template/.creator/asset-template/typescript/Custom Script Template Help Documentation.url +2 -0
  144. package/template/cocos/aptos-template/README.md +11 -0
  145. package/template/cocos/aptos-template/assets/Scripts/aptos.ts +87 -0
  146. package/template/cocos/aptos-template/assets/Scripts/aptos.ts.meta +9 -0
  147. package/template/cocos/aptos-template/assets/Scripts/chain/config.ts +12 -0
  148. package/template/cocos/aptos-template/assets/Scripts/chain/config.ts.meta +9 -0
  149. package/template/cocos/aptos-template/assets/Scripts/chain/key.ts.meta +9 -0
  150. package/template/cocos/aptos-template/assets/Scripts/chain.meta +9 -0
  151. package/template/cocos/aptos-template/assets/Scripts/dubhe.config.ts +13 -0
  152. package/template/cocos/aptos-template/assets/Scripts/dubhe.config.ts.meta +9 -0
  153. package/template/cocos/aptos-template/assets/Scripts.meta +9 -0
  154. package/template/cocos/aptos-template/assets/lib/dubhe.js +22281 -0
  155. package/template/cocos/aptos-template/assets/lib/obelisk.js +22281 -0
  156. package/template/cocos/aptos-template/assets/lib/obelisk.js.meta +15 -0
  157. package/template/cocos/aptos-template/assets/lib.meta +12 -0
  158. package/template/cocos/aptos-template/assets/main.scene +875 -0
  159. package/template/cocos/aptos-template/assets/main.scene.meta +11 -0
  160. package/template/cocos/aptos-template/contracts/counter/Move.toml +16 -0
  161. package/template/cocos/aptos-template/contracts/counter/sources/codegen/eps/events.move +34 -0
  162. package/template/cocos/aptos-template/contracts/counter/sources/codegen/eps/world.move +65 -0
  163. package/template/cocos/aptos-template/contracts/counter/sources/codegen/init.move +17 -0
  164. package/template/cocos/aptos-template/contracts/counter/sources/codegen/schemas/counter.move +59 -0
  165. package/template/cocos/aptos-template/contracts/counter/sources/entity_key.move +31 -0
  166. package/template/cocos/aptos-template/contracts/counter/sources/script/deploy_hook.move +19 -0
  167. package/template/cocos/aptos-template/contracts/counter/sources/system/counter_system.move +11 -0
  168. package/template/cocos/aptos-template/package.json +39 -0
  169. package/template/cocos/aptos-template/scripts/formatAccount.ts +35 -0
  170. package/template/cocos/aptos-template/scripts/generateAccount.ts +25 -0
  171. package/template/cocos/aptos-template/scripts/storeConfig.ts +68 -0
  172. package/template/cocos/aptos-template/settings/v2/packages/builder.json +3 -0
  173. package/template/cocos/aptos-template/settings/v2/packages/cocos-service.json +23 -0
  174. package/template/cocos/aptos-template/settings/v2/packages/device.json +3 -0
  175. package/template/cocos/aptos-template/settings/v2/packages/engine.json +150 -0
  176. package/template/cocos/aptos-template/settings/v2/packages/information.json +23 -0
  177. package/template/cocos/aptos-template/settings/v2/packages/program.json +3 -0
  178. package/template/cocos/aptos-template/settings/v2/packages/project.json +3 -0
  179. package/template/cocos/aptos-template/tsconfig.json +12 -0
  180. package/template/cocos/sui-template/.creator/asset-template/typescript/Custom Script Template Help Documentation.url +2 -0
  181. package/template/cocos/sui-template/README.md +11 -0
  182. package/template/cocos/sui-template/assets/Scripts/chain/config.ts +12 -0
  183. package/template/cocos/sui-template/assets/Scripts/chain/config.ts.meta +9 -0
  184. package/template/cocos/sui-template/assets/Scripts/chain/key.ts.meta +9 -0
  185. package/template/cocos/sui-template/assets/Scripts/chain.meta +9 -0
  186. package/template/cocos/sui-template/assets/Scripts/dubhe.config.ts +13 -0
  187. package/template/cocos/sui-template/assets/Scripts/dubhe.config.ts.meta +9 -0
  188. package/template/cocos/sui-template/assets/Scripts/sui.ts +120 -0
  189. package/template/cocos/sui-template/assets/Scripts/sui.ts.meta +9 -0
  190. package/template/cocos/sui-template/assets/Scripts.meta +12 -0
  191. package/template/cocos/sui-template/assets/lib/dubhe.js +55694 -0
  192. package/template/cocos/sui-template/assets/lib/dubhe.js.meta +15 -0
  193. package/template/cocos/sui-template/assets/lib.meta +12 -0
  194. package/template/cocos/sui-template/assets/main.scene +875 -0
  195. package/template/cocos/sui-template/assets/main.scene.meta +11 -0
  196. package/template/cocos/sui-template/contracts/counter/Move.toml +13 -0
  197. package/template/cocos/sui-template/contracts/counter/sources/codegen/dapp_key.move +16 -0
  198. package/template/cocos/sui-template/contracts/counter/sources/codegen/schemas/counter.move +50 -0
  199. package/template/cocos/sui-template/contracts/counter/sources/script/deploy_hook.move +67 -0
  200. package/template/cocos/sui-template/contracts/counter/sources/system/counter.move +11 -0
  201. package/template/cocos/sui-template/docker-compose.yaml +18 -0
  202. package/template/cocos/sui-template/package.json +27 -0
  203. package/template/cocos/sui-template/scripts/generateAccount.ts +55 -0
  204. package/template/cocos/sui-template/scripts/storeConfig.ts +75 -0
  205. package/template/cocos/sui-template/settings/v2/packages/builder.json +3 -0
  206. package/template/cocos/sui-template/settings/v2/packages/cocos-service.json +23 -0
  207. package/template/cocos/sui-template/settings/v2/packages/device.json +3 -0
  208. package/template/cocos/sui-template/settings/v2/packages/engine.json +150 -0
  209. package/template/cocos/sui-template/settings/v2/packages/information.json +23 -0
  210. package/template/cocos/sui-template/settings/v2/packages/program.json +3 -0
  211. package/template/cocos/sui-template/settings/v2/packages/project.json +3 -0
  212. package/template/cocos/sui-template/tsconfig.json +19 -0
  213. package/template/nextjs/aptos-template/.dockerignore +7 -0
  214. package/template/nextjs/aptos-template/.eslintrc.json +3 -0
  215. package/template/nextjs/aptos-template/.prettierrc +8 -0
  216. package/template/nextjs/aptos-template/Dockerfile +56 -0
  217. package/template/nextjs/aptos-template/LICENSE +674 -0
  218. package/template/nextjs/aptos-template/README.md +13 -0
  219. package/template/nextjs/aptos-template/contracts/counter/Move.toml +16 -0
  220. package/template/nextjs/aptos-template/contracts/counter/sources/codegen/eps/events.move +34 -0
  221. package/template/nextjs/aptos-template/contracts/counter/sources/codegen/eps/world.move +65 -0
  222. package/template/nextjs/aptos-template/contracts/counter/sources/codegen/init.move +17 -0
  223. package/template/nextjs/aptos-template/contracts/counter/sources/codegen/schemas/counter.move +59 -0
  224. package/template/nextjs/aptos-template/contracts/counter/sources/entity_key.move +31 -0
  225. package/template/nextjs/aptos-template/contracts/counter/sources/script/deploy_hook.move +19 -0
  226. package/template/nextjs/aptos-template/contracts/counter/sources/system/counter_system.move +11 -0
  227. package/template/nextjs/aptos-template/dubhe.config.ts +13 -0
  228. package/template/nextjs/aptos-template/jest.config.ts +17 -0
  229. package/template/nextjs/aptos-template/next-env.d.ts +5 -0
  230. package/template/nextjs/aptos-template/next-i18next.config.js +6 -0
  231. package/template/nextjs/aptos-template/next.config.js +15 -0
  232. package/template/nextjs/aptos-template/package.json +82 -0
  233. package/template/nextjs/aptos-template/postcss.config.js +6 -0
  234. package/template/nextjs/aptos-template/public/discord.svg +9 -0
  235. package/template/nextjs/aptos-template/public/fail.svg +12 -0
  236. package/template/nextjs/aptos-template/public/favicon.ico +0 -0
  237. package/template/nextjs/aptos-template/public/locales/de/common.json +8 -0
  238. package/template/nextjs/aptos-template/public/locales/de/footer.json +3 -0
  239. package/template/nextjs/aptos-template/public/locales/de/second-page.json +5 -0
  240. package/template/nextjs/aptos-template/public/locales/en/common.json +8 -0
  241. package/template/nextjs/aptos-template/public/locales/en/footer.json +3 -0
  242. package/template/nextjs/aptos-template/public/locales/en/second-page.json +5 -0
  243. package/template/nextjs/aptos-template/public/locales/zn/common.json +8 -0
  244. package/template/nextjs/aptos-template/public/locales/zn/footer.json +3 -0
  245. package/template/nextjs/aptos-template/public/locales/zn/second-page.json +5 -0
  246. package/template/nextjs/aptos-template/public/logo.svg +1 -0
  247. package/template/nextjs/aptos-template/public/medium.svg +9 -0
  248. package/template/nextjs/aptos-template/public/successful.svg +11 -0
  249. package/template/nextjs/aptos-template/public/telegram.svg +9 -0
  250. package/template/nextjs/aptos-template/public/twitter.svg +9 -0
  251. package/template/nextjs/aptos-template/scripts/formatAccount.ts +35 -0
  252. package/template/nextjs/aptos-template/scripts/generateAccount.ts +25 -0
  253. package/template/nextjs/aptos-template/scripts/storeConfig.ts +54 -0
  254. package/template/nextjs/aptos-template/src/chain/config.ts +7 -0
  255. package/template/nextjs/aptos-template/src/components/Animation.tsx +80 -0
  256. package/template/nextjs/aptos-template/src/components/Container.tsx +11 -0
  257. package/template/nextjs/aptos-template/src/components/footer/index.tsx +138 -0
  258. package/template/nextjs/aptos-template/src/components/head/index.tsx +14 -0
  259. package/template/nextjs/aptos-template/src/components/header/index.tsx +173 -0
  260. package/template/nextjs/aptos-template/src/components/pop_up_box/index.tsx +149 -0
  261. package/template/nextjs/aptos-template/src/css/font-awesome.css +2337 -0
  262. package/template/nextjs/aptos-template/src/css/font-awesome.min.css +4 -0
  263. package/template/nextjs/aptos-template/src/fonts/FontAwesome.otf +0 -0
  264. package/template/nextjs/aptos-template/src/fonts/fontawesome-webfont.eot +0 -0
  265. package/template/nextjs/aptos-template/src/fonts/fontawesome-webfont.svg +2671 -0
  266. package/template/nextjs/aptos-template/src/fonts/fontawesome-webfont.ttf +0 -0
  267. package/template/nextjs/aptos-template/src/fonts/fontawesome-webfont.woff +0 -0
  268. package/template/nextjs/aptos-template/src/fonts/fontawesome-webfont.woff2 +0 -0
  269. package/template/nextjs/aptos-template/src/jotai/index.tsx +13 -0
  270. package/template/nextjs/aptos-template/src/pages/_app.tsx +32 -0
  271. package/template/nextjs/aptos-template/src/pages/home/index.tsx +112 -0
  272. package/template/nextjs/aptos-template/src/pages/index.tsx +15 -0
  273. package/template/nextjs/aptos-template/tailwind.config.js +59 -0
  274. package/template/nextjs/aptos-template/tsconfig.json +35 -0
  275. package/template/nextjs/sui-template/.dockerignore +7 -0
  276. package/template/nextjs/sui-template/.eslintrc.json +3 -0
  277. package/template/nextjs/sui-template/.prettierrc +8 -0
  278. package/template/nextjs/sui-template/Dockerfile +52 -0
  279. package/template/nextjs/sui-template/LICENSE +674 -0
  280. package/template/nextjs/sui-template/README.md +13 -0
  281. package/template/nextjs/sui-template/contracts/counter/Move.toml +13 -0
  282. package/template/nextjs/sui-template/contracts/counter/sources/codegen/dapp_key.move +16 -0
  283. package/template/nextjs/sui-template/contracts/counter/sources/codegen/schemas/counter.move +50 -0
  284. package/template/nextjs/sui-template/contracts/counter/sources/script/deploy_hook.move +67 -0
  285. package/template/nextjs/sui-template/contracts/counter/sources/system/counter.move +11 -0
  286. package/template/nextjs/sui-template/docker-compose.yaml +29 -0
  287. package/template/nextjs/sui-template/dubhe.config.ts +14 -0
  288. package/template/nextjs/sui-template/jest.config.ts +17 -0
  289. package/template/nextjs/sui-template/localnet/dubhe-framework/Move.toml +39 -0
  290. package/template/nextjs/sui-template/localnet/dubhe-framework/README.md +18 -0
  291. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/access_control.move +35 -0
  292. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/events.move +23 -0
  293. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/resource_id.move +22 -0
  294. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/resource_types.move +18 -0
  295. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/schema.move +36 -0
  296. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/schemas/dapps/dapps.move +73 -0
  297. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/schemas/dapps/metadata.move +96 -0
  298. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/storages/double_map.move +156 -0
  299. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/storages/map.move +159 -0
  300. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/storages/value.move +100 -0
  301. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/systems/dapps.move +90 -0
  302. package/template/nextjs/sui-template/localnet/dubhe-framework/sources/world.move +81 -0
  303. package/template/nextjs/sui-template/localnet/dubhe-framework/tests/dapp.move +16 -0
  304. package/template/nextjs/sui-template/localnet/dubhe-framework/tests/init.move +6 -0
  305. package/template/nextjs/sui-template/localnet/dubhe-framework/tests/obelisk_framework_tests.move +19 -0
  306. package/template/nextjs/sui-template/localnet/dubhe-framework/tests/storage.move +398 -0
  307. package/template/nextjs/sui-template/next-env.d.ts +5 -0
  308. package/template/nextjs/sui-template/next-i18next.config.js +6 -0
  309. package/template/nextjs/sui-template/next.config.js +15 -0
  310. package/template/nextjs/sui-template/package.json +84 -0
  311. package/template/nextjs/sui-template/postcss.config.js +6 -0
  312. package/template/nextjs/sui-template/public/discord.svg +9 -0
  313. package/template/nextjs/sui-template/public/fail.svg +12 -0
  314. package/template/nextjs/sui-template/public/favicon.ico +0 -0
  315. package/template/nextjs/sui-template/public/locales/de/common.json +8 -0
  316. package/template/nextjs/sui-template/public/locales/de/footer.json +3 -0
  317. package/template/nextjs/sui-template/public/locales/de/second-page.json +5 -0
  318. package/template/nextjs/sui-template/public/locales/en/common.json +8 -0
  319. package/template/nextjs/sui-template/public/locales/en/footer.json +3 -0
  320. package/template/nextjs/sui-template/public/locales/en/second-page.json +5 -0
  321. package/template/nextjs/sui-template/public/locales/zn/common.json +8 -0
  322. package/template/nextjs/sui-template/public/locales/zn/footer.json +3 -0
  323. package/template/nextjs/sui-template/public/locales/zn/second-page.json +5 -0
  324. package/template/nextjs/sui-template/public/logo.svg +1 -0
  325. package/template/nextjs/sui-template/public/medium.svg +9 -0
  326. package/template/nextjs/sui-template/public/successful.svg +11 -0
  327. package/template/nextjs/sui-template/public/telegram.svg +9 -0
  328. package/template/nextjs/sui-template/public/twitter.svg +9 -0
  329. package/template/nextjs/sui-template/scripts/checkBalance.ts +40 -0
  330. package/template/nextjs/sui-template/scripts/deployment/common.ts +60 -0
  331. package/template/nextjs/sui-template/scripts/deployment/localnet/deploy.ts +42 -0
  332. package/template/nextjs/sui-template/scripts/deployment/testnet/deploy.ts +48 -0
  333. package/template/nextjs/sui-template/scripts/deployment/types.ts +13 -0
  334. package/template/nextjs/sui-template/scripts/framework/common.ts +17 -0
  335. package/template/nextjs/sui-template/scripts/framework/deploy.ts +199 -0
  336. package/template/nextjs/sui-template/scripts/framework/parse-history.ts +76 -0
  337. package/template/nextjs/sui-template/scripts/framework/types.ts +8 -0
  338. package/template/nextjs/sui-template/scripts/generateAccount.ts +55 -0
  339. package/template/nextjs/sui-template/scripts/storeConfig.ts +61 -0
  340. package/template/nextjs/sui-template/scripts/waitNode.ts +9 -0
  341. package/template/nextjs/sui-template/src/chain/config.ts +7 -0
  342. package/template/nextjs/sui-template/src/components/Animation.tsx +80 -0
  343. package/template/nextjs/sui-template/src/components/Container.tsx +11 -0
  344. package/template/nextjs/sui-template/src/components/footer/index.tsx +138 -0
  345. package/template/nextjs/sui-template/src/components/head/index.tsx +14 -0
  346. package/template/nextjs/sui-template/src/components/header/index.tsx +173 -0
  347. package/template/nextjs/sui-template/src/components/pop_up_box/index.tsx +149 -0
  348. package/template/nextjs/sui-template/src/css/font-awesome.css +2337 -0
  349. package/template/nextjs/sui-template/src/css/font-awesome.min.css +4 -0
  350. package/template/nextjs/sui-template/src/fonts/FontAwesome.otf +0 -0
  351. package/template/nextjs/sui-template/src/fonts/fontawesome-webfont.eot +0 -0
  352. package/template/nextjs/sui-template/src/fonts/fontawesome-webfont.svg +2671 -0
  353. package/template/nextjs/sui-template/src/fonts/fontawesome-webfont.ttf +0 -0
  354. package/template/nextjs/sui-template/src/fonts/fontawesome-webfont.woff +0 -0
  355. package/template/nextjs/sui-template/src/fonts/fontawesome-webfont.woff2 +0 -0
  356. package/template/nextjs/sui-template/src/jotai/index.tsx +13 -0
  357. package/template/nextjs/sui-template/src/pages/_app.tsx +32 -0
  358. package/template/nextjs/sui-template/src/pages/home/index.tsx +147 -0
  359. package/template/nextjs/sui-template/src/pages/index.tsx +15 -0
  360. package/template/nextjs/sui-template/tailwind.config.js +56 -0
  361. package/template/nextjs/sui-template/tsconfig.json +35 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "ver": "1.1.45",
3
+ "importer": "scene",
4
+ "imported": true,
5
+ "uuid": "2e9c2eac-cfd6-47cb-979a-8b3a8d8e5970",
6
+ "files": [
7
+ ".json"
8
+ ],
9
+ "subMetas": {},
10
+ "userData": {}
11
+ }
@@ -0,0 +1,13 @@
1
+ [package]
2
+ name = "counter"
3
+ version = "0.0.1"
4
+ edition = "2024.beta"
5
+
6
+ [dependencies]
7
+ Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "mainnet-v1.36.2" }
8
+ Dubhe = { git = "https://github.com/0xobelisk/dubhe.git", subdir = "packages/dubhe-framework", rev = "main" }
9
+
10
+ [addresses]
11
+ sui = "0x2"
12
+ dubhe = "0x1736475f476c5dec96f33c03c778843f572239d3a887d795eef66d2836484c28"
13
+ counter = "0x0"
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Obelisk Labs, Inc.
2
+ // SPDX-License-Identifier: MIT
3
+ #[allow(unused_use)]
4
+
5
+ /* Autogenerated file. Do not edit manually. */
6
+
7
+ module counter::dapp_key {
8
+
9
+ /// Authorization token for the app.
10
+
11
+ public struct DappKey has drop {}
12
+
13
+ public(package) fun new(): DappKey {
14
+ DappKey { }
15
+ }
16
+ }
@@ -0,0 +1,50 @@
1
+ // Copyright (c) Obelisk Labs, Inc.
2
+ // SPDX-License-Identifier: MIT
3
+ #[allow(unused_use)]
4
+
5
+ /* Autogenerated file. Do not edit manually. */
6
+
7
+ module counter::counter_schema {
8
+
9
+ use std::ascii::String;
10
+
11
+ use std::type_name;
12
+
13
+ use dubhe::dapps_system;
14
+
15
+ use dubhe::dapps_schema::Dapps;
16
+
17
+ use dubhe::storage_value::{Self, StorageValue};
18
+
19
+ use dubhe::storage_map::{Self, StorageMap};
20
+
21
+ use dubhe::storage_double_map::{Self, StorageDoubleMap};
22
+
23
+ use counter::dapp_key::DappKey;
24
+
25
+ public struct Counter has key, store {
26
+ id: UID,
27
+ value: StorageValue<u32>,
28
+ }
29
+
30
+ public fun borrow_value(self: &Counter): &StorageValue<u32> {
31
+ &self.value
32
+ }
33
+
34
+ public(package) fun borrow_mut_value(self: &mut Counter): &mut StorageValue<u32> {
35
+ &mut self.value
36
+ }
37
+
38
+ public fun register(dapps: &mut Dapps, ctx: &mut TxContext): Counter {
39
+ let package_id = dapps_system::current_package_id<DappKey>();
40
+ assert!(dapps.borrow_metadata().contains_key(package_id), 0);
41
+ assert!(dapps.borrow_admin().get(package_id) == ctx.sender(), 0);
42
+ let schema = type_name::get<Counter>().into_string();
43
+ assert!(!dapps.borrow_schemas().get(package_id).contains(&schema), 0);
44
+ dapps_system::add_schema<Counter>(dapps, package_id, ctx);
45
+ Counter {
46
+ id: object::new(ctx),
47
+ value: storage_value::new(),
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,67 @@
1
+ #[allow(lint(share_owned))]
2
+
3
+ module counter::deploy_hook {
4
+
5
+ use dubhe::dapps_schema::Dapps;
6
+
7
+ use dubhe::dapps_system;
8
+
9
+ use counter::dapp_key::DappKey;
10
+
11
+ use std::ascii;
12
+
13
+ use sui::clock::Clock;
14
+
15
+ use sui::transfer::public_share_object;
16
+
17
+ #[test_only]
18
+
19
+ use dubhe::dapps_schema;
20
+
21
+ #[test_only]
22
+
23
+ use sui::clock;
24
+
25
+ #[test_only]
26
+
27
+ use sui::test_scenario;
28
+
29
+ #[test_only]
30
+
31
+ use sui::test_scenario::Scenario;
32
+
33
+ public entry fun run(dapps: &mut Dapps, clock: &Clock, ctx: &mut TxContext) {
34
+ // Register the dapp to dubhe.
35
+ dapps_system::register<DappKey>(
36
+ dapps,
37
+ ascii::string(b"counter"),
38
+ ascii::string(b"counter"),
39
+ clock,
40
+ ctx
41
+ );
42
+ let mut counter = counter::counter_schema::register(dapps, ctx);
43
+ // Logic that needs to be automated once the contract is deployed
44
+ counter.borrow_mut_value().set(0);
45
+
46
+ // Share the dapp object with the public
47
+ public_share_object(counter);
48
+ }
49
+
50
+ #[test_only]
51
+
52
+ public fun deploy_hook_for_testing(): (Scenario, Dapps) {
53
+ let mut scenario = test_scenario::begin(@0xA);
54
+ {
55
+ let ctx = test_scenario::ctx(&mut scenario);
56
+ dapps_schema::init_dapps_for_testing(ctx);
57
+ test_scenario::next_tx(&mut scenario,@0xA);
58
+ };
59
+ let mut dapps = test_scenario::take_shared<Dapps>(&scenario);
60
+ let ctx = test_scenario::ctx(&mut scenario);
61
+ let clock = clock::create_for_testing(ctx);
62
+ run(&mut dapps, &clock, ctx);
63
+ clock::destroy_for_testing(clock);
64
+ test_scenario::next_tx(&mut scenario,@0xA);
65
+ (scenario, dapps)
66
+ }
67
+ }
@@ -0,0 +1,11 @@
1
+ module counter::counter_system {
2
+ use counter::counter_schema::Counter;
3
+
4
+ public entry fun inc(counter: &mut Counter) {
5
+ counter.borrow_mut_value().mutate!(|value| *value = *value + 1);
6
+ }
7
+
8
+ public fun get(counter: &Counter): u32 {
9
+ counter.borrow_value().get()
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+
2
+ version: "3"
3
+
4
+ services:
5
+ sui-test-validator-node:
6
+ image: vladilenaksana/sui-test-validator:v0.0.3
7
+ restart: always
8
+ volumes:
9
+ - ./:/app
10
+ ports:
11
+ - 9000:9000
12
+ - 9123:9123
13
+ command: ["/opt/sui/bin/sui-test-validator", "--fullnode-rpc-addr", "0.0.0.0:9000", "--faucet-addr", "0.0.0.0:9123"]
14
+ healthcheck:
15
+ test: ["CMD", "curl", "-f", "http://sui-test-validator-node:9123"]
16
+ interval: 3s
17
+ timeout: 5s
18
+ retries: 10
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "dubhe-cocos-template",
3
+ "uuid": "ba0d698f-d890-4886-831d-0920a44b3236",
4
+ "creator": {
5
+ "version": "3.8.0"
6
+ },
7
+ "scripts": {
8
+ "dev": "pnpm dubhe hello && pnpm start-template",
9
+ "start-template": "pnpm generateAccount && pnpm faucet && pnpm dapp-publish && pnpm storeConfig",
10
+ "faucet": "pnpm dubhe faucet --network testnet",
11
+ "schemagen": "pnpm dubhe schemagen dubhe.config.ts",
12
+ "dapp-publish": "pnpm dubhe publish --network testnet --configPath ./assets/Scripts/dubhe.config.ts && ts-node scripts/storeConfig.ts testnet",
13
+ "upgrade": "pnpm dubhe upgrade --network testnet && ts-node scripts/storeConfig.ts testnet",
14
+ "storeConfig": "ts-node scripts/storeConfig.ts testnet",
15
+ "generateAccount": "ts-node scripts/generateAccount.ts"
16
+ },
17
+ "dependencies": {
18
+ "@0xobelisk/sui-common": "^0.5.18",
19
+ "@0xobelisk/sui-client": "^0.5.25",
20
+ "@0xobelisk/sui-cli": "^0.5.21"
21
+ },
22
+ "devDependencies": {
23
+ "@types/node": "18.16.16",
24
+ "ts-node": "^10.9.1",
25
+ "typescript": "^5.1.6"
26
+ }
27
+ }
@@ -0,0 +1,55 @@
1
+ import { Dubhe } from '@0xobelisk/sui-client';
2
+ import * as fs from 'fs';
3
+
4
+ async function generateAccount() {
5
+ const path = process.cwd();
6
+
7
+ // Check if .env file exists and has content
8
+ let privateKey: string;
9
+ try {
10
+ const envContent = fs.readFileSync(`${path}/.env`, 'utf8');
11
+ const match = envContent.match(/PRIVATE_KEY=(.+)/);
12
+ if (match && match[1]) {
13
+ privateKey = match[1];
14
+ const dubhe = new Dubhe({ secretKey: privateKey });
15
+ const keypair = dubhe.getKeypair();
16
+
17
+ // Only update key.ts file
18
+ const chainFolderPath = `${path}/src/chain`;
19
+ fs.mkdirSync(chainFolderPath, { recursive: true });
20
+
21
+ fs.writeFileSync(
22
+ `${path}/src/chain/key.ts`,
23
+ `export const PRIVATEKEY = '${privateKey}';
24
+ export const ACCOUNT = '${keypair.toSuiAddress()}';
25
+ `
26
+ );
27
+
28
+ console.log(`Using existing Account: ${keypair.toSuiAddress()}`);
29
+ return;
30
+ }
31
+ } catch (error) {
32
+ // .env file doesn't exist or failed to read, continue to generate new account
33
+ }
34
+
35
+ // If no existing private key, generate new account
36
+ const dubhe = new Dubhe();
37
+ const keypair = dubhe.getKeypair();
38
+ privateKey = keypair.getSecretKey();
39
+
40
+ const chainFolderPath = `${path}/src/chain`;
41
+ fs.mkdirSync(chainFolderPath, { recursive: true });
42
+
43
+ fs.writeFileSync(`${path}/.env`, `PRIVATE_KEY=${privateKey}`);
44
+
45
+ fs.writeFileSync(
46
+ `${path}/src/chain/key.ts`,
47
+ `export const PRIVATEKEY = '${privateKey}';
48
+ export const ACCOUNT = '${keypair.toSuiAddress()}';
49
+ `
50
+ );
51
+
52
+ console.log(`Generate new Account: ${keypair.toSuiAddress()}`);
53
+ }
54
+
55
+ generateAccount();
@@ -0,0 +1,75 @@
1
+ import * as fsAsync from 'fs/promises';
2
+ import { mkdirSync, writeFileSync } from 'fs';
3
+ import { exit } from 'process';
4
+ import { dubheConfig } from '../assets/Scripts/dubhe.config';
5
+ import { dirname } from 'path';
6
+
7
+ export type schema = {
8
+ name: string;
9
+ objectId: string;
10
+ };
11
+
12
+ type DeploymentJsonType = {
13
+ projectName: string;
14
+ network: 'mainnet' | 'testnet' | 'devnet' | 'localnet';
15
+ packageId: string;
16
+ schemas: schema[];
17
+ upgradeCap: string;
18
+ version: number;
19
+ };
20
+
21
+ async function getDeploymentJson(projectPath: string, network: string) {
22
+ try {
23
+ const data = await fsAsync.readFile(
24
+ `${projectPath}/.history/sui_${network}/latest.json`,
25
+ 'utf8'
26
+ );
27
+ return JSON.parse(data) as DeploymentJsonType;
28
+ } catch {
29
+ console.log('store config failed.');
30
+ exit;
31
+ }
32
+ }
33
+
34
+ function storeConfig(network: string, packageId: string, schemas: schema[]) {
35
+ let code = `type NetworkType = 'testnet' | 'mainnet' | 'devnet' | 'localnet';
36
+
37
+ export const NETWORK: NetworkType = '${network}';
38
+
39
+ export const PACKAGE_ID = '${packageId}'
40
+
41
+ ${schemas
42
+ .map(
43
+ schema =>
44
+ `export const ${schema.name.split('::')[2]}_Object_Id = '${
45
+ schema.objectId
46
+ }'`
47
+ )
48
+ .join('\n')}
49
+ `;
50
+ const path = process.cwd();
51
+ writeOutput(code, `${path}/assets/Scripts/chain/config.ts`, 'storeConfig');
52
+ }
53
+
54
+ async function writeOutput(
55
+ output: string,
56
+ fullOutputPath: string,
57
+ logPrefix?: string
58
+ ): Promise<void> {
59
+ mkdirSync(dirname(fullOutputPath), { recursive: true });
60
+
61
+ writeFileSync(fullOutputPath, output);
62
+ if (logPrefix !== undefined) {
63
+ console.log(`${logPrefix}: ${fullOutputPath}`);
64
+ }
65
+ }
66
+
67
+ async function main() {
68
+ const path = process.cwd();
69
+ const network = process.argv[2];
70
+ const contractPath = `${path}/contracts/${dubheConfig.name}`;
71
+ const deployment = await getDeploymentJson(contractPath, network);
72
+ storeConfig(deployment.network, deployment.packageId, deployment.schemas);
73
+ }
74
+
75
+ main();
@@ -0,0 +1,3 @@
1
+ {
2
+ "__version__": "1.3.6"
3
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "__version__": "3.0.7",
3
+ "game": {
4
+ "name": "UNKNOW GAME",
5
+ "app_id": "UNKNOW",
6
+ "c_id": "0"
7
+ },
8
+ "appConfigMaps": [
9
+ {
10
+ "app_id": "UNKNOW",
11
+ "config_id": "887214"
12
+ }
13
+ ],
14
+ "configs": [
15
+ {
16
+ "app_id": "UNKNOW",
17
+ "config_id": "887214",
18
+ "config_name": "Default",
19
+ "config_remarks": "",
20
+ "services": []
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "__version__": "1.0.1"
3
+ }
@@ -0,0 +1,150 @@
1
+ {
2
+ "__version__": "1.0.7",
3
+ "modules": {
4
+ "cache": {
5
+ "base": {
6
+ "_value": true
7
+ },
8
+ "graphcis": {
9
+ "_value": true
10
+ },
11
+ "gfx-webgl": {
12
+ "_value": true
13
+ },
14
+ "gfx-webgl2": {
15
+ "_value": true
16
+ },
17
+ "animation": {
18
+ "_value": true
19
+ },
20
+ "skeletal-animation": {
21
+ "_value": false
22
+ },
23
+ "3d": {
24
+ "_value": false
25
+ },
26
+ "2d": {
27
+ "_value": true
28
+ },
29
+ "xr": {
30
+ "_value": false
31
+ },
32
+ "ui": {
33
+ "_value": true
34
+ },
35
+ "particle": {
36
+ "_value": false
37
+ },
38
+ "physics": {
39
+ "_value": false,
40
+ "_option": "physics-ammo"
41
+ },
42
+ "physics-ammo": {
43
+ "_value": false
44
+ },
45
+ "physics-cannon": {
46
+ "_value": false
47
+ },
48
+ "physics-physx": {
49
+ "_value": false
50
+ },
51
+ "physics-builtin": {
52
+ "_value": false
53
+ },
54
+ "physics-2d": {
55
+ "_value": true,
56
+ "_option": "physics-2d-box2d"
57
+ },
58
+ "physics-2d-box2d": {
59
+ "_value": false
60
+ },
61
+ "physics-2d-builtin": {
62
+ "_value": false
63
+ },
64
+ "intersection-2d": {
65
+ "_value": true
66
+ },
67
+ "primitive": {
68
+ "_value": false
69
+ },
70
+ "profiler": {
71
+ "_value": true
72
+ },
73
+ "occlusion-query": {
74
+ "_value": false
75
+ },
76
+ "geometry-renderer": {
77
+ "_value": false
78
+ },
79
+ "debug-renderer": {
80
+ "_value": false
81
+ },
82
+ "particle-2d": {
83
+ "_value": true
84
+ },
85
+ "audio": {
86
+ "_value": true
87
+ },
88
+ "video": {
89
+ "_value": true
90
+ },
91
+ "webview": {
92
+ "_value": true
93
+ },
94
+ "tween": {
95
+ "_value": true
96
+ },
97
+ "websocket": {
98
+ "_value": false
99
+ },
100
+ "websocket-server": {
101
+ "_value": false
102
+ },
103
+ "terrain": {
104
+ "_value": false
105
+ },
106
+ "light-probe": {
107
+ "_value": false
108
+ },
109
+ "tiled-map": {
110
+ "_value": true
111
+ },
112
+ "spine": {
113
+ "_value": true
114
+ },
115
+ "dragon-bones": {
116
+ "_value": true
117
+ },
118
+ "marionette": {
119
+ "_value": false
120
+ },
121
+ "custom-pipeline": {
122
+ "_value": false
123
+ }
124
+ },
125
+ "includeModules": [
126
+ "2d",
127
+ "animation",
128
+ "audio",
129
+ "base",
130
+ "dragon-bones",
131
+ "gfx-webgl",
132
+ "gfx-webgl2",
133
+ "intersection-2d",
134
+ "particle-2d",
135
+ "physics-2d-box2d",
136
+ "profiler",
137
+ "spine",
138
+ "tiled-map",
139
+ "tween",
140
+ "ui",
141
+ "video",
142
+ "webview"
143
+ ],
144
+ "noDeprecatedFeatures": {
145
+ "value": false,
146
+ "version": ""
147
+ },
148
+ "flags": {}
149
+ }
150
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "__version__": "1.0.0",
3
+ "information": {
4
+ "customSplash": {
5
+ "id": "customSplash",
6
+ "label": "customSplash",
7
+ "enable": true,
8
+ "customSplash": {
9
+ "complete": false,
10
+ "form": "https://creator-api.cocos.com/api/form/show?sid=9b3d84027efcc167d034c0ca6573b2d7"
11
+ }
12
+ },
13
+ "removeSplash": {
14
+ "id": "removeSplash",
15
+ "label": "removeSplash",
16
+ "enable": true,
17
+ "removeSplash": {
18
+ "complete": false,
19
+ "form": "https://creator-api.cocos.com/api/form/show?sid=9b3d84027efcc167d034c0ca6573b2d7"
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "__version__": "1.0.3"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "__version__": "1.0.5"
3
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [ "es2015", "es2017", "dom" ],
5
+ "target": "es2015",
6
+ "allowJs": true,
7
+ "experimentalDecorators": true,
8
+ "skipLibCheck": true,
9
+ "resolveJsonModule": true,
10
+ },
11
+ "exclude": [
12
+ "node_modules",
13
+ "library",
14
+ "local",
15
+ "temp",
16
+ "build",
17
+ "settings"
18
+ ]
19
+ }
@@ -0,0 +1,7 @@
1
+ Dockerfile
2
+ .dockerignore
3
+ node_modules
4
+ npm-debug.log
5
+ README.md
6
+ .next
7
+ .git
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "next/core-web-vitals"
3
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "printWidth": 120,
3
+ "tabWidth": 2,
4
+ "singleQuote": true,
5
+ "trailingComma": "all",
6
+ "semi": true,
7
+ "arrowParens": "avoid"
8
+ }
@@ -0,0 +1,56 @@
1
+ # Install dependencies only when needed
2
+ FROM node:18-alpine AS deps
3
+ # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
4
+ RUN apk add --no-cache libc6-compat
5
+ WORKDIR /app
6
+ COPY package.json yarn.lock ./
7
+ RUN yarn install --frozen-lockfile
8
+
9
+ # If using npm with a `package-lock.json` comment out above and use below instead
10
+ # COPY package.json package-lock.json ./
11
+ # RUN npm ci
12
+
13
+ # Rebuild the source code only when needed
14
+ FROM node:18-alpine AS builder
15
+ WORKDIR /app
16
+ COPY --from=deps /app/node_modules ./node_modules
17
+ COPY . .
18
+
19
+ # Next.js collects completely anonymous telemetry data about general usage.
20
+ # Learn more here: https://nextjs.org/telemetry
21
+ # Uncomment the following line in case you want to disable telemetry during the build.
22
+ # ENV NEXT_TELEMETRY_DISABLED 1
23
+
24
+ RUN yarn build
25
+
26
+ # If using npm comment out above and use below instead
27
+ # RUN npm run build
28
+
29
+ # Production image, copy all the files and run next
30
+ FROM node:18-alpine AS runner
31
+ WORKDIR /app
32
+
33
+ ENV NODE_ENV production
34
+ # Uncomment the following line in case you want to disable telemetry during runtime.
35
+ # ENV NEXT_TELEMETRY_DISABLED 1
36
+
37
+ RUN addgroup --system --gid 1001 nodejs
38
+ RUN adduser --system --uid 1001 nextjs
39
+
40
+ # You only need to copy next.config.js if you are NOT using the default configuration
41
+ # COPY --from=builder /app/next.config.js ./
42
+ COPY --from=builder /app/public ./public
43
+ COPY --from=builder /app/package.json ./package.json
44
+
45
+ # Automatically leverage output traces to reduce image size
46
+ # https://nextjs.org/docs/advanced-features/output-file-tracing
47
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
48
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
49
+
50
+ USER nextjs
51
+
52
+ EXPOSE 3000
53
+
54
+ ENV PORT 3000
55
+
56
+ CMD ["node", "server.js"]