create-nuclo 0.1.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 (534) hide show
  1. package/README.md +60 -0
  2. package/package.json +35 -0
  3. package/src/create-nuclo.mjs +193 -0
  4. package/templates/basic/README.md +16 -0
  5. package/templates/basic/_gitignore +5 -0
  6. package/templates/basic/index.html +26 -0
  7. package/templates/basic/node_modules/.package-lock.json +348 -0
  8. package/templates/basic/node_modules/.vite/deps/_metadata.json +15 -0
  9. package/templates/basic/node_modules/.vite/deps/nuclo.js +1665 -0
  10. package/templates/basic/node_modules/.vite/deps/nuclo.js.map +1 -0
  11. package/templates/basic/node_modules/.vite/deps/package.json +3 -0
  12. package/templates/basic/node_modules/@oxc-project/types/LICENSE +22 -0
  13. package/templates/basic/node_modules/@oxc-project/types/README.md +3 -0
  14. package/templates/basic/node_modules/@oxc-project/types/package.json +26 -0
  15. package/templates/basic/node_modules/@oxc-project/types/types.d.ts +1912 -0
  16. package/templates/basic/node_modules/@rolldown/binding-darwin-arm64/README.md +3 -0
  17. package/templates/basic/node_modules/@rolldown/binding-darwin-arm64/package.json +37 -0
  18. package/templates/basic/node_modules/@rolldown/binding-darwin-arm64/rolldown-binding.darwin-arm64.node +0 -0
  19. package/templates/basic/node_modules/@rolldown/pluginutils/LICENSE +21 -0
  20. package/templates/basic/node_modules/@rolldown/pluginutils/README.md +145 -0
  21. package/templates/basic/node_modules/@rolldown/pluginutils/dist/filter/index.d.mts +194 -0
  22. package/templates/basic/node_modules/@rolldown/pluginutils/dist/filter/index.mjs +2 -0
  23. package/templates/basic/node_modules/@rolldown/pluginutils/dist/filter-B_mD-HGz.mjs +323 -0
  24. package/templates/basic/node_modules/@rolldown/pluginutils/dist/index.d.mts +2 -0
  25. package/templates/basic/node_modules/@rolldown/pluginutils/dist/index.mjs +2 -0
  26. package/templates/basic/node_modules/@rolldown/pluginutils/package.json +40 -0
  27. package/templates/basic/node_modules/detect-libc/LICENSE +201 -0
  28. package/templates/basic/node_modules/detect-libc/README.md +163 -0
  29. package/templates/basic/node_modules/detect-libc/index.d.ts +14 -0
  30. package/templates/basic/node_modules/detect-libc/lib/detect-libc.js +313 -0
  31. package/templates/basic/node_modules/detect-libc/lib/elf.js +39 -0
  32. package/templates/basic/node_modules/detect-libc/lib/filesystem.js +51 -0
  33. package/templates/basic/node_modules/detect-libc/lib/process.js +24 -0
  34. package/templates/basic/node_modules/detect-libc/package.json +44 -0
  35. package/templates/basic/node_modules/fdir/LICENSE +7 -0
  36. package/templates/basic/node_modules/fdir/README.md +91 -0
  37. package/templates/basic/node_modules/fdir/dist/index.cjs +588 -0
  38. package/templates/basic/node_modules/fdir/dist/index.d.cts +155 -0
  39. package/templates/basic/node_modules/fdir/dist/index.d.mts +155 -0
  40. package/templates/basic/node_modules/fdir/dist/index.mjs +570 -0
  41. package/templates/basic/node_modules/fdir/package.json +103 -0
  42. package/templates/basic/node_modules/lightningcss/LICENSE +373 -0
  43. package/templates/basic/node_modules/lightningcss/README.md +105 -0
  44. package/templates/basic/node_modules/lightningcss/node/ast.d.ts +9892 -0
  45. package/templates/basic/node_modules/lightningcss/node/ast.js.flow +10539 -0
  46. package/templates/basic/node_modules/lightningcss/node/browserslistToTargets.js +48 -0
  47. package/templates/basic/node_modules/lightningcss/node/composeVisitors.js +450 -0
  48. package/templates/basic/node_modules/lightningcss/node/flags.js +28 -0
  49. package/templates/basic/node_modules/lightningcss/node/index.d.ts +494 -0
  50. package/templates/basic/node_modules/lightningcss/node/index.js +59 -0
  51. package/templates/basic/node_modules/lightningcss/node/index.js.flow +843 -0
  52. package/templates/basic/node_modules/lightningcss/node/index.mjs +4 -0
  53. package/templates/basic/node_modules/lightningcss/node/targets.d.ts +40 -0
  54. package/templates/basic/node_modules/lightningcss/node/targets.js.flow +39 -0
  55. package/templates/basic/node_modules/lightningcss/package.json +110 -0
  56. package/templates/basic/node_modules/lightningcss-darwin-arm64/LICENSE +373 -0
  57. package/templates/basic/node_modules/lightningcss-darwin-arm64/README.md +1 -0
  58. package/templates/basic/node_modules/lightningcss-darwin-arm64/lightningcss.darwin-arm64.node +0 -0
  59. package/templates/basic/node_modules/lightningcss-darwin-arm64/package.json +34 -0
  60. package/templates/basic/node_modules/nanoid/LICENSE +20 -0
  61. package/templates/basic/node_modules/nanoid/README.md +36 -0
  62. package/templates/basic/node_modules/nanoid/async/index.browser.cjs +42 -0
  63. package/templates/basic/node_modules/nanoid/async/index.browser.js +42 -0
  64. package/templates/basic/node_modules/nanoid/async/index.cjs +44 -0
  65. package/templates/basic/node_modules/nanoid/async/index.d.ts +56 -0
  66. package/templates/basic/node_modules/nanoid/async/index.js +44 -0
  67. package/templates/basic/node_modules/nanoid/async/index.native.js +35 -0
  68. package/templates/basic/node_modules/nanoid/async/package.json +12 -0
  69. package/templates/basic/node_modules/nanoid/bin/nanoid.cjs +55 -0
  70. package/templates/basic/node_modules/nanoid/index.browser.cjs +44 -0
  71. package/templates/basic/node_modules/nanoid/index.browser.js +44 -0
  72. package/templates/basic/node_modules/nanoid/index.cjs +57 -0
  73. package/templates/basic/node_modules/nanoid/index.d.cts +91 -0
  74. package/templates/basic/node_modules/nanoid/index.d.ts +91 -0
  75. package/templates/basic/node_modules/nanoid/index.js +62 -0
  76. package/templates/basic/node_modules/nanoid/nanoid.js +1 -0
  77. package/templates/basic/node_modules/nanoid/non-secure/index.cjs +24 -0
  78. package/templates/basic/node_modules/nanoid/non-secure/index.d.ts +33 -0
  79. package/templates/basic/node_modules/nanoid/non-secure/index.js +24 -0
  80. package/templates/basic/node_modules/nanoid/non-secure/package.json +6 -0
  81. package/templates/basic/node_modules/nanoid/package.json +89 -0
  82. package/templates/basic/node_modules/nanoid/url-alphabet/index.cjs +4 -0
  83. package/templates/basic/node_modules/nanoid/url-alphabet/index.js +4 -0
  84. package/templates/basic/node_modules/nanoid/url-alphabet/package.json +6 -0
  85. package/templates/basic/node_modules/nuclo/LICENSE.md +45 -0
  86. package/templates/basic/node_modules/nuclo/README.md +727 -0
  87. package/templates/basic/node_modules/nuclo/dist/bootstrap.d.ts +5 -0
  88. package/templates/basic/node_modules/nuclo/dist/bootstrap.d.ts.map +1 -0
  89. package/templates/basic/node_modules/nuclo/dist/element/attributes.d.ts +3 -0
  90. package/templates/basic/node_modules/nuclo/dist/element/attributes.d.ts.map +1 -0
  91. package/templates/basic/node_modules/nuclo/dist/element/class-name.d.ts +6 -0
  92. package/templates/basic/node_modules/nuclo/dist/element/class-name.d.ts.map +1 -0
  93. package/templates/basic/node_modules/nuclo/dist/element/events.d.ts +35 -0
  94. package/templates/basic/node_modules/nuclo/dist/element/events.d.ts.map +1 -0
  95. package/templates/basic/node_modules/nuclo/dist/element/factory.d.ts +32 -0
  96. package/templates/basic/node_modules/nuclo/dist/element/factory.d.ts.map +1 -0
  97. package/templates/basic/node_modules/nuclo/dist/element/inline-style.d.ts +9 -0
  98. package/templates/basic/node_modules/nuclo/dist/element/inline-style.d.ts.map +1 -0
  99. package/templates/basic/node_modules/nuclo/dist/element/modifiers.d.ts +11 -0
  100. package/templates/basic/node_modules/nuclo/dist/element/modifiers.d.ts.map +1 -0
  101. package/templates/basic/node_modules/nuclo/dist/element/tags.d.ts +5 -0
  102. package/templates/basic/node_modules/nuclo/dist/element/tags.d.ts.map +1 -0
  103. package/templates/basic/node_modules/nuclo/dist/hydration.d.ts +73 -0
  104. package/templates/basic/node_modules/nuclo/dist/hydration.d.ts.map +1 -0
  105. package/templates/basic/node_modules/nuclo/dist/index.d.ts +17 -0
  106. package/templates/basic/node_modules/nuclo/dist/index.d.ts.map +1 -0
  107. package/templates/basic/node_modules/nuclo/dist/list/index.d.ts +7 -0
  108. package/templates/basic/node_modules/nuclo/dist/list/index.d.ts.map +1 -0
  109. package/templates/basic/node_modules/nuclo/dist/list/runtime.d.ts +6 -0
  110. package/templates/basic/node_modules/nuclo/dist/list/runtime.d.ts.map +1 -0
  111. package/templates/basic/node_modules/nuclo/dist/list/types.d.ts +18 -0
  112. package/templates/basic/node_modules/nuclo/dist/list/types.d.ts.map +1 -0
  113. package/templates/basic/node_modules/nuclo/dist/nuclo.cjs +2 -0
  114. package/templates/basic/node_modules/nuclo/dist/nuclo.cjs.map +1 -0
  115. package/templates/basic/node_modules/nuclo/dist/nuclo.mjs +2 -0
  116. package/templates/basic/node_modules/nuclo/dist/nuclo.mjs.map +1 -0
  117. package/templates/basic/node_modules/nuclo/dist/nuclo.umd.js +2 -0
  118. package/templates/basic/node_modules/nuclo/dist/nuclo.umd.js.map +1 -0
  119. package/templates/basic/node_modules/nuclo/dist/polyfill/Document.d.ts +19 -0
  120. package/templates/basic/node_modules/nuclo/dist/polyfill/Document.d.ts.map +1 -0
  121. package/templates/basic/node_modules/nuclo/dist/polyfill/Element.d.ts +48 -0
  122. package/templates/basic/node_modules/nuclo/dist/polyfill/Element.d.ts.map +1 -0
  123. package/templates/basic/node_modules/nuclo/dist/polyfill/Event.d.ts +43 -0
  124. package/templates/basic/node_modules/nuclo/dist/polyfill/Event.d.ts.map +1 -0
  125. package/templates/basic/node_modules/nuclo/dist/polyfill/Node.d.ts +13 -0
  126. package/templates/basic/node_modules/nuclo/dist/polyfill/Node.d.ts.map +1 -0
  127. package/templates/basic/node_modules/nuclo/dist/polyfill/Text.d.ts +11 -0
  128. package/templates/basic/node_modules/nuclo/dist/polyfill/Text.d.ts.map +1 -0
  129. package/templates/basic/node_modules/nuclo/dist/polyfill/index.d.ts +24 -0
  130. package/templates/basic/node_modules/nuclo/dist/polyfill/index.d.ts.map +1 -0
  131. package/templates/basic/node_modules/nuclo/dist/polyfill/nuclo.polyfill.cjs +2 -0
  132. package/templates/basic/node_modules/nuclo/dist/polyfill/nuclo.polyfill.cjs.map +1 -0
  133. package/templates/basic/node_modules/nuclo/dist/polyfill/nuclo.polyfill.mjs +2 -0
  134. package/templates/basic/node_modules/nuclo/dist/polyfill/nuclo.polyfill.mjs.map +1 -0
  135. package/templates/basic/node_modules/nuclo/dist/render.d.ts +33 -0
  136. package/templates/basic/node_modules/nuclo/dist/render.d.ts.map +1 -0
  137. package/templates/basic/node_modules/nuclo/dist/shared/conditions.d.ts +4 -0
  138. package/templates/basic/node_modules/nuclo/dist/shared/conditions.d.ts.map +1 -0
  139. package/templates/basic/node_modules/nuclo/dist/shared/dom.d.ts +69 -0
  140. package/templates/basic/node_modules/nuclo/dist/shared/dom.d.ts.map +1 -0
  141. package/templates/basic/node_modules/nuclo/dist/shared/environment.d.ts +5 -0
  142. package/templates/basic/node_modules/nuclo/dist/shared/environment.d.ts.map +1 -0
  143. package/templates/basic/node_modules/nuclo/dist/shared/errors.d.ts +2 -0
  144. package/templates/basic/node_modules/nuclo/dist/shared/errors.d.ts.map +1 -0
  145. package/templates/basic/node_modules/nuclo/dist/shared/renderables.d.ts +4 -0
  146. package/templates/basic/node_modules/nuclo/dist/shared/renderables.d.ts.map +1 -0
  147. package/templates/basic/node_modules/nuclo/dist/shared/strings.d.ts +19 -0
  148. package/templates/basic/node_modules/nuclo/dist/shared/strings.d.ts.map +1 -0
  149. package/templates/basic/node_modules/nuclo/dist/shared/type-guards.d.ts +16 -0
  150. package/templates/basic/node_modules/nuclo/dist/shared/type-guards.d.ts.map +1 -0
  151. package/templates/basic/node_modules/nuclo/dist/ssr/index.d.ts +19 -0
  152. package/templates/basic/node_modules/nuclo/dist/ssr/index.d.ts.map +1 -0
  153. package/templates/basic/node_modules/nuclo/dist/ssr/nuclo.ssr.cjs +2 -0
  154. package/templates/basic/node_modules/nuclo/dist/ssr/nuclo.ssr.cjs.map +1 -0
  155. package/templates/basic/node_modules/nuclo/dist/ssr/nuclo.ssr.mjs +2 -0
  156. package/templates/basic/node_modules/nuclo/dist/ssr/nuclo.ssr.mjs.map +1 -0
  157. package/templates/basic/node_modules/nuclo/dist/ssr/render-to-string.d.ts +41 -0
  158. package/templates/basic/node_modules/nuclo/dist/ssr/render-to-string.d.ts.map +1 -0
  159. package/templates/basic/node_modules/nuclo/dist/style/css.d.ts +19 -0
  160. package/templates/basic/node_modules/nuclo/dist/style/css.d.ts.map +1 -0
  161. package/templates/basic/node_modules/nuclo/dist/style/engine.d.ts +34 -0
  162. package/templates/basic/node_modules/nuclo/dist/style/engine.d.ts.map +1 -0
  163. package/templates/basic/node_modules/nuclo/dist/style/index.d.ts +3 -0
  164. package/templates/basic/node_modules/nuclo/dist/style/index.d.ts.map +1 -0
  165. package/templates/basic/node_modules/nuclo/dist/update/conditional.d.ts +3 -0
  166. package/templates/basic/node_modules/nuclo/dist/update/conditional.d.ts.map +1 -0
  167. package/templates/basic/node_modules/nuclo/dist/update/reactive-attributes.d.ts +45 -0
  168. package/templates/basic/node_modules/nuclo/dist/update/reactive-attributes.d.ts.map +1 -0
  169. package/templates/basic/node_modules/nuclo/dist/update/reactive-text.d.ts +38 -0
  170. package/templates/basic/node_modules/nuclo/dist/update/reactive-text.d.ts.map +1 -0
  171. package/templates/basic/node_modules/nuclo/dist/update/registry.d.ts +97 -0
  172. package/templates/basic/node_modules/nuclo/dist/update/registry.d.ts.map +1 -0
  173. package/templates/basic/node_modules/nuclo/dist/update/scope.d.ts +7 -0
  174. package/templates/basic/node_modules/nuclo/dist/update/scope.d.ts.map +1 -0
  175. package/templates/basic/node_modules/nuclo/dist/update/update.d.ts +4 -0
  176. package/templates/basic/node_modules/nuclo/dist/update/update.d.ts.map +1 -0
  177. package/templates/basic/node_modules/nuclo/dist/when/builder.d.ts +16 -0
  178. package/templates/basic/node_modules/nuclo/dist/when/builder.d.ts.map +1 -0
  179. package/templates/basic/node_modules/nuclo/dist/when/index.d.ts +44 -0
  180. package/templates/basic/node_modules/nuclo/dist/when/index.d.ts.map +1 -0
  181. package/templates/basic/node_modules/nuclo/dist/when/runtime.d.ts +59 -0
  182. package/templates/basic/node_modules/nuclo/dist/when/runtime.d.ts.map +1 -0
  183. package/templates/basic/node_modules/nuclo/package.json +88 -0
  184. package/templates/basic/node_modules/nuclo/types/core/base.d.ts +113 -0
  185. package/templates/basic/node_modules/nuclo/types/features/list.d.ts +38 -0
  186. package/templates/basic/node_modules/nuclo/types/features/on.d.ts +59 -0
  187. package/templates/basic/node_modules/nuclo/types/features/render.d.ts +49 -0
  188. package/templates/basic/node_modules/nuclo/types/features/scope.d.ts +6 -0
  189. package/templates/basic/node_modules/nuclo/types/features/style.d.ts +77 -0
  190. package/templates/basic/node_modules/nuclo/types/features/update.d.ts +6 -0
  191. package/templates/basic/node_modules/nuclo/types/features/when.d.ts +18 -0
  192. package/templates/basic/node_modules/nuclo/types/html/tags.d.ts +119 -0
  193. package/templates/basic/node_modules/nuclo/types/index.d.ts +137 -0
  194. package/templates/basic/node_modules/nuclo/types/polyfill.d.ts +131 -0
  195. package/templates/basic/node_modules/nuclo/types/ssr.d.ts +45 -0
  196. package/templates/basic/node_modules/nuclo/types/style.d.ts +404 -0
  197. package/templates/basic/node_modules/nuclo/types/svg/base.d.ts +118 -0
  198. package/templates/basic/node_modules/nuclo/types/svg/tags.d.ts +68 -0
  199. package/templates/basic/node_modules/picocolors/LICENSE +15 -0
  200. package/templates/basic/node_modules/picocolors/README.md +21 -0
  201. package/templates/basic/node_modules/picocolors/package.json +25 -0
  202. package/templates/basic/node_modules/picocolors/picocolors.browser.js +4 -0
  203. package/templates/basic/node_modules/picocolors/picocolors.d.ts +5 -0
  204. package/templates/basic/node_modules/picocolors/picocolors.js +75 -0
  205. package/templates/basic/node_modules/picocolors/types.d.ts +51 -0
  206. package/templates/basic/node_modules/picomatch/LICENSE +21 -0
  207. package/templates/basic/node_modules/picomatch/README.md +743 -0
  208. package/templates/basic/node_modules/picomatch/index.js +17 -0
  209. package/templates/basic/node_modules/picomatch/lib/constants.js +184 -0
  210. package/templates/basic/node_modules/picomatch/lib/parse.js +1416 -0
  211. package/templates/basic/node_modules/picomatch/lib/picomatch.js +361 -0
  212. package/templates/basic/node_modules/picomatch/lib/scan.js +391 -0
  213. package/templates/basic/node_modules/picomatch/lib/utils.js +72 -0
  214. package/templates/basic/node_modules/picomatch/package.json +83 -0
  215. package/templates/basic/node_modules/picomatch/posix.js +3 -0
  216. package/templates/basic/node_modules/postcss/LICENSE +20 -0
  217. package/templates/basic/node_modules/postcss/README.md +25 -0
  218. package/templates/basic/node_modules/postcss/lib/at-rule.d.ts +139 -0
  219. package/templates/basic/node_modules/postcss/lib/at-rule.js +25 -0
  220. package/templates/basic/node_modules/postcss/lib/comment.d.ts +67 -0
  221. package/templates/basic/node_modules/postcss/lib/comment.js +13 -0
  222. package/templates/basic/node_modules/postcss/lib/container.d.ts +478 -0
  223. package/templates/basic/node_modules/postcss/lib/container.js +447 -0
  224. package/templates/basic/node_modules/postcss/lib/css-syntax-error.d.ts +247 -0
  225. package/templates/basic/node_modules/postcss/lib/css-syntax-error.js +133 -0
  226. package/templates/basic/node_modules/postcss/lib/declaration.d.ts +150 -0
  227. package/templates/basic/node_modules/postcss/lib/declaration.js +24 -0
  228. package/templates/basic/node_modules/postcss/lib/document.d.ts +68 -0
  229. package/templates/basic/node_modules/postcss/lib/document.js +33 -0
  230. package/templates/basic/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  231. package/templates/basic/node_modules/postcss/lib/fromJSON.js +68 -0
  232. package/templates/basic/node_modules/postcss/lib/input.d.ts +226 -0
  233. package/templates/basic/node_modules/postcss/lib/input.js +276 -0
  234. package/templates/basic/node_modules/postcss/lib/lazy-result.d.ts +189 -0
  235. package/templates/basic/node_modules/postcss/lib/lazy-result.js +563 -0
  236. package/templates/basic/node_modules/postcss/lib/list.d.ts +60 -0
  237. package/templates/basic/node_modules/postcss/lib/list.js +58 -0
  238. package/templates/basic/node_modules/postcss/lib/map-generator.js +376 -0
  239. package/templates/basic/node_modules/postcss/lib/no-work-result.d.ts +45 -0
  240. package/templates/basic/node_modules/postcss/lib/no-work-result.js +137 -0
  241. package/templates/basic/node_modules/postcss/lib/node.d.ts +555 -0
  242. package/templates/basic/node_modules/postcss/lib/node.js +456 -0
  243. package/templates/basic/node_modules/postcss/lib/parse.d.ts +9 -0
  244. package/templates/basic/node_modules/postcss/lib/parse.js +42 -0
  245. package/templates/basic/node_modules/postcss/lib/parser.js +618 -0
  246. package/templates/basic/node_modules/postcss/lib/postcss.d.mts +66 -0
  247. package/templates/basic/node_modules/postcss/lib/postcss.d.ts +461 -0
  248. package/templates/basic/node_modules/postcss/lib/postcss.js +101 -0
  249. package/templates/basic/node_modules/postcss/lib/postcss.mjs +30 -0
  250. package/templates/basic/node_modules/postcss/lib/previous-map.d.ts +80 -0
  251. package/templates/basic/node_modules/postcss/lib/previous-map.js +161 -0
  252. package/templates/basic/node_modules/postcss/lib/processor.d.ts +114 -0
  253. package/templates/basic/node_modules/postcss/lib/processor.js +67 -0
  254. package/templates/basic/node_modules/postcss/lib/result.d.ts +204 -0
  255. package/templates/basic/node_modules/postcss/lib/result.js +42 -0
  256. package/templates/basic/node_modules/postcss/lib/root.d.ts +86 -0
  257. package/templates/basic/node_modules/postcss/lib/root.js +61 -0
  258. package/templates/basic/node_modules/postcss/lib/rule.d.ts +126 -0
  259. package/templates/basic/node_modules/postcss/lib/rule.js +27 -0
  260. package/templates/basic/node_modules/postcss/lib/stringifier.d.ts +45 -0
  261. package/templates/basic/node_modules/postcss/lib/stringifier.js +374 -0
  262. package/templates/basic/node_modules/postcss/lib/stringify.d.ts +9 -0
  263. package/templates/basic/node_modules/postcss/lib/stringify.js +11 -0
  264. package/templates/basic/node_modules/postcss/lib/symbols.js +5 -0
  265. package/templates/basic/node_modules/postcss/lib/terminal-highlight.js +70 -0
  266. package/templates/basic/node_modules/postcss/lib/tokenize.js +270 -0
  267. package/templates/basic/node_modules/postcss/lib/warn-once.js +13 -0
  268. package/templates/basic/node_modules/postcss/lib/warning.d.ts +146 -0
  269. package/templates/basic/node_modules/postcss/lib/warning.js +37 -0
  270. package/templates/basic/node_modules/postcss/package.json +88 -0
  271. package/templates/basic/node_modules/rolldown/LICENSE +25 -0
  272. package/templates/basic/node_modules/rolldown/README.md +11 -0
  273. package/templates/basic/node_modules/rolldown/bin/cli.mjs +2 -0
  274. package/templates/basic/node_modules/rolldown/dist/cli.d.mts +1 -0
  275. package/templates/basic/node_modules/rolldown/dist/cli.mjs +1202 -0
  276. package/templates/basic/node_modules/rolldown/dist/config.d.mts +14 -0
  277. package/templates/basic/node_modules/rolldown/dist/config.mjs +4 -0
  278. package/templates/basic/node_modules/rolldown/dist/experimental-index.d.mts +280 -0
  279. package/templates/basic/node_modules/rolldown/dist/experimental-index.mjs +331 -0
  280. package/templates/basic/node_modules/rolldown/dist/experimental-runtime-types.d.ts +107 -0
  281. package/templates/basic/node_modules/rolldown/dist/filter-index.d.mts +195 -0
  282. package/templates/basic/node_modules/rolldown/dist/filter-index.mjs +380 -0
  283. package/templates/basic/node_modules/rolldown/dist/get-log-filter.d.mts +3 -0
  284. package/templates/basic/node_modules/rolldown/dist/get-log-filter.mjs +68 -0
  285. package/templates/basic/node_modules/rolldown/dist/index.d.mts +4 -0
  286. package/templates/basic/node_modules/rolldown/dist/index.mjs +50 -0
  287. package/templates/basic/node_modules/rolldown/dist/parallel-plugin-worker.d.mts +1 -0
  288. package/templates/basic/node_modules/rolldown/dist/parallel-plugin-worker.mjs +29 -0
  289. package/templates/basic/node_modules/rolldown/dist/parallel-plugin.d.mts +13 -0
  290. package/templates/basic/node_modules/rolldown/dist/parallel-plugin.mjs +6 -0
  291. package/templates/basic/node_modules/rolldown/dist/parse-ast-index.d.mts +32 -0
  292. package/templates/basic/node_modules/rolldown/dist/parse-ast-index.mjs +60 -0
  293. package/templates/basic/node_modules/rolldown/dist/plugins-index.d.mts +33 -0
  294. package/templates/basic/node_modules/rolldown/dist/plugins-index.mjs +40 -0
  295. package/templates/basic/node_modules/rolldown/dist/shared/binding-B1q9aYT-.d.mts +1947 -0
  296. package/templates/basic/node_modules/rolldown/dist/shared/binding-BmkJW3Wy.mjs +588 -0
  297. package/templates/basic/node_modules/rolldown/dist/shared/bindingify-input-options-BsDhfYrS.mjs +2240 -0
  298. package/templates/basic/node_modules/rolldown/dist/shared/constructors-2i1T9YcF.d.mts +36 -0
  299. package/templates/basic/node_modules/rolldown/dist/shared/constructors-CE6zZSUt.mjs +65 -0
  300. package/templates/basic/node_modules/rolldown/dist/shared/define-config-BBz954-q.d.mts +3901 -0
  301. package/templates/basic/node_modules/rolldown/dist/shared/define-config-Demdg3_4.mjs +6 -0
  302. package/templates/basic/node_modules/rolldown/dist/shared/error-BlQ0-ek7.mjs +85 -0
  303. package/templates/basic/node_modules/rolldown/dist/shared/get-log-filter-BpNVNJ5-.d.mts +35 -0
  304. package/templates/basic/node_modules/rolldown/dist/shared/load-config-FRmAU9xl.mjs +120 -0
  305. package/templates/basic/node_modules/rolldown/dist/shared/logging-BSNejiLS.d.mts +50 -0
  306. package/templates/basic/node_modules/rolldown/dist/shared/logs-aMKUxRpj.mjs +180 -0
  307. package/templates/basic/node_modules/rolldown/dist/shared/misc-CoQm4NHO.mjs +21 -0
  308. package/templates/basic/node_modules/rolldown/dist/shared/normalize-string-or-regex-BYkbbGqQ.mjs +68 -0
  309. package/templates/basic/node_modules/rolldown/dist/shared/parse-DVMnkavl.mjs +74 -0
  310. package/templates/basic/node_modules/rolldown/dist/shared/prompt-B1Yc1NPt.mjs +847 -0
  311. package/templates/basic/node_modules/rolldown/dist/shared/resolve-tsconfig-CdIAR1Eb.mjs +124 -0
  312. package/templates/basic/node_modules/rolldown/dist/shared/rolldown-build-aV0QeeTW.mjs +3264 -0
  313. package/templates/basic/node_modules/rolldown/dist/shared/rolldown-tbHvKzVl.mjs +40 -0
  314. package/templates/basic/node_modules/rolldown/dist/shared/transform-CEmFsvJW.d.mts +149 -0
  315. package/templates/basic/node_modules/rolldown/dist/shared/watch-DIhJ-T1s.mjs +374 -0
  316. package/templates/basic/node_modules/rolldown/dist/utils-index.d.mts +376 -0
  317. package/templates/basic/node_modules/rolldown/dist/utils-index.mjs +2414 -0
  318. package/templates/basic/node_modules/rolldown/package.json +153 -0
  319. package/templates/basic/node_modules/source-map-js/LICENSE +28 -0
  320. package/templates/basic/node_modules/source-map-js/README.md +765 -0
  321. package/templates/basic/node_modules/source-map-js/lib/array-set.js +121 -0
  322. package/templates/basic/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  323. package/templates/basic/node_modules/source-map-js/lib/base64.js +67 -0
  324. package/templates/basic/node_modules/source-map-js/lib/binary-search.js +111 -0
  325. package/templates/basic/node_modules/source-map-js/lib/mapping-list.js +79 -0
  326. package/templates/basic/node_modules/source-map-js/lib/quick-sort.js +132 -0
  327. package/templates/basic/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  328. package/templates/basic/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  329. package/templates/basic/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  330. package/templates/basic/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  331. package/templates/basic/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  332. package/templates/basic/node_modules/source-map-js/lib/source-node.js +413 -0
  333. package/templates/basic/node_modules/source-map-js/lib/util.js +594 -0
  334. package/templates/basic/node_modules/source-map-js/package.json +71 -0
  335. package/templates/basic/node_modules/source-map-js/source-map.d.ts +104 -0
  336. package/templates/basic/node_modules/source-map-js/source-map.js +8 -0
  337. package/templates/basic/node_modules/tinyglobby/LICENSE +21 -0
  338. package/templates/basic/node_modules/tinyglobby/README.md +25 -0
  339. package/templates/basic/node_modules/tinyglobby/dist/index.cjs +335 -0
  340. package/templates/basic/node_modules/tinyglobby/dist/index.d.cts +148 -0
  341. package/templates/basic/node_modules/tinyglobby/dist/index.d.mts +148 -0
  342. package/templates/basic/node_modules/tinyglobby/dist/index.mjs +307 -0
  343. package/templates/basic/node_modules/tinyglobby/package.json +70 -0
  344. package/templates/basic/node_modules/typescript/LICENSE.txt +55 -0
  345. package/templates/basic/node_modules/typescript/README.md +50 -0
  346. package/templates/basic/node_modules/typescript/SECURITY.md +39 -0
  347. package/templates/basic/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  348. package/templates/basic/node_modules/typescript/bin/tsc +2 -0
  349. package/templates/basic/node_modules/typescript/bin/tsserver +2 -0
  350. package/templates/basic/node_modules/typescript/lib/_tsc.js +134465 -0
  351. package/templates/basic/node_modules/typescript/lib/_tsserver.js +659 -0
  352. package/templates/basic/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  353. package/templates/basic/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2129 -0
  354. package/templates/basic/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2125 -0
  355. package/templates/basic/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2129 -0
  356. package/templates/basic/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2129 -0
  357. package/templates/basic/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2125 -0
  358. package/templates/basic/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2129 -0
  359. package/templates/basic/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2129 -0
  360. package/templates/basic/node_modules/typescript/lib/lib.d.ts +20 -0
  361. package/templates/basic/node_modules/typescript/lib/lib.decorators.d.ts +382 -0
  362. package/templates/basic/node_modules/typescript/lib/lib.decorators.legacy.d.ts +20 -0
  363. package/templates/basic/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +18 -0
  364. package/templates/basic/node_modules/typescript/lib/lib.dom.d.ts +45125 -0
  365. package/templates/basic/node_modules/typescript/lib/lib.dom.iterable.d.ts +18 -0
  366. package/templates/basic/node_modules/typescript/lib/lib.es2015.collection.d.ts +150 -0
  367. package/templates/basic/node_modules/typescript/lib/lib.es2015.core.d.ts +595 -0
  368. package/templates/basic/node_modules/typescript/lib/lib.es2015.d.ts +26 -0
  369. package/templates/basic/node_modules/typescript/lib/lib.es2015.generator.d.ts +75 -0
  370. package/templates/basic/node_modules/typescript/lib/lib.es2015.iterable.d.ts +603 -0
  371. package/templates/basic/node_modules/typescript/lib/lib.es2015.promise.d.ts +79 -0
  372. package/templates/basic/node_modules/typescript/lib/lib.es2015.proxy.d.ts +126 -0
  373. package/templates/basic/node_modules/typescript/lib/lib.es2015.reflect.d.ts +142 -0
  374. package/templates/basic/node_modules/typescript/lib/lib.es2015.symbol.d.ts +44 -0
  375. package/templates/basic/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
  376. package/templates/basic/node_modules/typescript/lib/lib.es2016.array.include.d.ts +114 -0
  377. package/templates/basic/node_modules/typescript/lib/lib.es2016.d.ts +19 -0
  378. package/templates/basic/node_modules/typescript/lib/lib.es2016.full.d.ts +21 -0
  379. package/templates/basic/node_modules/typescript/lib/lib.es2016.intl.d.ts +29 -0
  380. package/templates/basic/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +19 -0
  381. package/templates/basic/node_modules/typescript/lib/lib.es2017.d.ts +24 -0
  382. package/templates/basic/node_modules/typescript/lib/lib.es2017.date.d.ts +29 -0
  383. package/templates/basic/node_modules/typescript/lib/lib.es2017.full.d.ts +21 -0
  384. package/templates/basic/node_modules/typescript/lib/lib.es2017.intl.d.ts +42 -0
  385. package/templates/basic/node_modules/typescript/lib/lib.es2017.object.d.ts +47 -0
  386. package/templates/basic/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +133 -0
  387. package/templates/basic/node_modules/typescript/lib/lib.es2017.string.d.ts +43 -0
  388. package/templates/basic/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +51 -0
  389. package/templates/basic/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +75 -0
  390. package/templates/basic/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +51 -0
  391. package/templates/basic/node_modules/typescript/lib/lib.es2018.d.ts +22 -0
  392. package/templates/basic/node_modules/typescript/lib/lib.es2018.full.d.ts +22 -0
  393. package/templates/basic/node_modules/typescript/lib/lib.es2018.intl.d.ts +81 -0
  394. package/templates/basic/node_modules/typescript/lib/lib.es2018.promise.d.ts +28 -0
  395. package/templates/basic/node_modules/typescript/lib/lib.es2018.regexp.d.ts +35 -0
  396. package/templates/basic/node_modules/typescript/lib/lib.es2019.array.d.ts +77 -0
  397. package/templates/basic/node_modules/typescript/lib/lib.es2019.d.ts +22 -0
  398. package/templates/basic/node_modules/typescript/lib/lib.es2019.full.d.ts +22 -0
  399. package/templates/basic/node_modules/typescript/lib/lib.es2019.intl.d.ts +21 -0
  400. package/templates/basic/node_modules/typescript/lib/lib.es2019.object.d.ts +31 -0
  401. package/templates/basic/node_modules/typescript/lib/lib.es2019.string.d.ts +35 -0
  402. package/templates/basic/node_modules/typescript/lib/lib.es2019.symbol.d.ts +22 -0
  403. package/templates/basic/node_modules/typescript/lib/lib.es2020.bigint.d.ts +763 -0
  404. package/templates/basic/node_modules/typescript/lib/lib.es2020.d.ts +25 -0
  405. package/templates/basic/node_modules/typescript/lib/lib.es2020.date.d.ts +40 -0
  406. package/templates/basic/node_modules/typescript/lib/lib.es2020.full.d.ts +22 -0
  407. package/templates/basic/node_modules/typescript/lib/lib.es2020.intl.d.ts +472 -0
  408. package/templates/basic/node_modules/typescript/lib/lib.es2020.number.d.ts +26 -0
  409. package/templates/basic/node_modules/typescript/lib/lib.es2020.promise.d.ts +45 -0
  410. package/templates/basic/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +97 -0
  411. package/templates/basic/node_modules/typescript/lib/lib.es2020.string.d.ts +42 -0
  412. package/templates/basic/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
  413. package/templates/basic/node_modules/typescript/lib/lib.es2021.d.ts +21 -0
  414. package/templates/basic/node_modules/typescript/lib/lib.es2021.full.d.ts +22 -0
  415. package/templates/basic/node_modules/typescript/lib/lib.es2021.intl.d.ts +164 -0
  416. package/templates/basic/node_modules/typescript/lib/lib.es2021.promise.d.ts +46 -0
  417. package/templates/basic/node_modules/typescript/lib/lib.es2021.string.d.ts +31 -0
  418. package/templates/basic/node_modules/typescript/lib/lib.es2021.weakref.d.ts +76 -0
  419. package/templates/basic/node_modules/typescript/lib/lib.es2022.array.d.ts +119 -0
  420. package/templates/basic/node_modules/typescript/lib/lib.es2022.d.ts +23 -0
  421. package/templates/basic/node_modules/typescript/lib/lib.es2022.error.d.ts +73 -0
  422. package/templates/basic/node_modules/typescript/lib/lib.es2022.full.d.ts +22 -0
  423. package/templates/basic/node_modules/typescript/lib/lib.es2022.intl.d.ts +143 -0
  424. package/templates/basic/node_modules/typescript/lib/lib.es2022.object.d.ts +24 -0
  425. package/templates/basic/node_modules/typescript/lib/lib.es2022.regexp.d.ts +37 -0
  426. package/templates/basic/node_modules/typescript/lib/lib.es2022.string.d.ts +23 -0
  427. package/templates/basic/node_modules/typescript/lib/lib.es2023.array.d.ts +922 -0
  428. package/templates/basic/node_modules/typescript/lib/lib.es2023.collection.d.ts +19 -0
  429. package/templates/basic/node_modules/typescript/lib/lib.es2023.d.ts +20 -0
  430. package/templates/basic/node_modules/typescript/lib/lib.es2023.full.d.ts +22 -0
  431. package/templates/basic/node_modules/typescript/lib/lib.es2023.intl.d.ts +62 -0
  432. package/templates/basic/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +63 -0
  433. package/templates/basic/node_modules/typescript/lib/lib.es2024.collection.d.ts +27 -0
  434. package/templates/basic/node_modules/typescript/lib/lib.es2024.d.ts +24 -0
  435. package/templates/basic/node_modules/typescript/lib/lib.es2024.full.d.ts +22 -0
  436. package/templates/basic/node_modules/typescript/lib/lib.es2024.object.d.ts +27 -0
  437. package/templates/basic/node_modules/typescript/lib/lib.es2024.promise.d.ts +33 -0
  438. package/templates/basic/node_modules/typescript/lib/lib.es2024.regexp.d.ts +23 -0
  439. package/templates/basic/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +66 -0
  440. package/templates/basic/node_modules/typescript/lib/lib.es2024.string.d.ts +27 -0
  441. package/templates/basic/node_modules/typescript/lib/lib.es2025.collection.d.ts +94 -0
  442. package/templates/basic/node_modules/typescript/lib/lib.es2025.d.ts +23 -0
  443. package/templates/basic/node_modules/typescript/lib/lib.es2025.float16.d.ts +443 -0
  444. package/templates/basic/node_modules/typescript/lib/lib.es2025.full.d.ts +22 -0
  445. package/templates/basic/node_modules/typescript/lib/lib.es2025.intl.d.ts +200 -0
  446. package/templates/basic/node_modules/typescript/lib/lib.es2025.iterator.d.ts +146 -0
  447. package/templates/basic/node_modules/typescript/lib/lib.es2025.promise.d.ts +32 -0
  448. package/templates/basic/node_modules/typescript/lib/lib.es2025.regexp.d.ts +30 -0
  449. package/templates/basic/node_modules/typescript/lib/lib.es5.d.ts +4599 -0
  450. package/templates/basic/node_modules/typescript/lib/lib.es6.d.ts +21 -0
  451. package/templates/basic/node_modules/typescript/lib/lib.esnext.array.d.ts +33 -0
  452. package/templates/basic/node_modules/typescript/lib/lib.esnext.collection.d.ts +47 -0
  453. package/templates/basic/node_modules/typescript/lib/lib.esnext.d.ts +27 -0
  454. package/templates/basic/node_modules/typescript/lib/lib.esnext.date.d.ts +21 -0
  455. package/templates/basic/node_modules/typescript/lib/lib.esnext.decorators.d.ts +26 -0
  456. package/templates/basic/node_modules/typescript/lib/lib.esnext.disposable.d.ts +191 -0
  457. package/templates/basic/node_modules/typescript/lib/lib.esnext.error.d.ts +22 -0
  458. package/templates/basic/node_modules/typescript/lib/lib.esnext.full.d.ts +22 -0
  459. package/templates/basic/node_modules/typescript/lib/lib.esnext.intl.d.ts +107 -0
  460. package/templates/basic/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +23 -0
  461. package/templates/basic/node_modules/typescript/lib/lib.esnext.temporal.d.ts +485 -0
  462. package/templates/basic/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts +90 -0
  463. package/templates/basic/node_modules/typescript/lib/lib.scripthost.d.ts +320 -0
  464. package/templates/basic/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +18 -0
  465. package/templates/basic/node_modules/typescript/lib/lib.webworker.d.ts +15606 -0
  466. package/templates/basic/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +21 -0
  467. package/templates/basic/node_modules/typescript/lib/lib.webworker.iterable.d.ts +18 -0
  468. package/templates/basic/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2129 -0
  469. package/templates/basic/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2129 -0
  470. package/templates/basic/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2125 -0
  471. package/templates/basic/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2129 -0
  472. package/templates/basic/node_modules/typescript/lib/tsc.js +8 -0
  473. package/templates/basic/node_modules/typescript/lib/tsserver.js +8 -0
  474. package/templates/basic/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  475. package/templates/basic/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  476. package/templates/basic/node_modules/typescript/lib/typesMap.json +497 -0
  477. package/templates/basic/node_modules/typescript/lib/typescript.d.ts +11448 -0
  478. package/templates/basic/node_modules/typescript/lib/typescript.js +201039 -0
  479. package/templates/basic/node_modules/typescript/lib/typingsInstaller.js +8 -0
  480. package/templates/basic/node_modules/typescript/lib/watchGuard.js +53 -0
  481. package/templates/basic/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2129 -0
  482. package/templates/basic/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2125 -0
  483. package/templates/basic/node_modules/typescript/package.json +118 -0
  484. package/templates/basic/node_modules/vite/LICENSE.md +2287 -0
  485. package/templates/basic/node_modules/vite/README.md +20 -0
  486. package/templates/basic/node_modules/vite/bin/openChrome.js +68 -0
  487. package/templates/basic/node_modules/vite/bin/vite.js +79 -0
  488. package/templates/basic/node_modules/vite/client.d.ts +285 -0
  489. package/templates/basic/node_modules/vite/dist/client/client.mjs +1269 -0
  490. package/templates/basic/node_modules/vite/dist/client/env.mjs +18 -0
  491. package/templates/basic/node_modules/vite/dist/node/chunks/build.js +5371 -0
  492. package/templates/basic/node_modules/vite/dist/node/chunks/dist.js +6784 -0
  493. package/templates/basic/node_modules/vite/dist/node/chunks/lib.js +371 -0
  494. package/templates/basic/node_modules/vite/dist/node/chunks/logger.js +364 -0
  495. package/templates/basic/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts +96 -0
  496. package/templates/basic/node_modules/vite/dist/node/chunks/node.js +35836 -0
  497. package/templates/basic/node_modules/vite/dist/node/chunks/postcss-import.js +467 -0
  498. package/templates/basic/node_modules/vite/dist/node/cli.js +836 -0
  499. package/templates/basic/node_modules/vite/dist/node/index.d.ts +4011 -0
  500. package/templates/basic/node_modules/vite/dist/node/index.js +3 -0
  501. package/templates/basic/node_modules/vite/dist/node/internal.d.ts +2 -0
  502. package/templates/basic/node_modules/vite/dist/node/internal.js +2 -0
  503. package/templates/basic/node_modules/vite/dist/node/module-runner.d.ts +314 -0
  504. package/templates/basic/node_modules/vite/dist/node/module-runner.js +1274 -0
  505. package/templates/basic/node_modules/vite/misc/false.js +1 -0
  506. package/templates/basic/node_modules/vite/misc/true.js +1 -0
  507. package/templates/basic/node_modules/vite/package.json +194 -0
  508. package/templates/basic/node_modules/vite/types/customEvent.d.ts +79 -0
  509. package/templates/basic/node_modules/vite/types/hmrPayload.d.ts +80 -0
  510. package/templates/basic/node_modules/vite/types/hot.d.ts +39 -0
  511. package/templates/basic/node_modules/vite/types/import-meta.d.ts +5 -0
  512. package/templates/basic/node_modules/vite/types/importGlob.d.ts +131 -0
  513. package/templates/basic/node_modules/vite/types/importMeta.d.ts +30 -0
  514. package/templates/basic/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +44 -0
  515. package/templates/basic/node_modules/vite/types/internal/esbuildOptions.d.ts +28 -0
  516. package/templates/basic/node_modules/vite/types/internal/lightningcssOptions.d.ts +18 -0
  517. package/templates/basic/node_modules/vite/types/internal/rollupTypeCompat.d.ts +24 -0
  518. package/templates/basic/node_modules/vite/types/internal/terserOptions.d.ts +11 -0
  519. package/templates/basic/node_modules/vite/types/metadata.d.ts +47 -0
  520. package/templates/basic/package-lock.json +926 -0
  521. package/templates/basic/package.json +18 -0
  522. package/templates/basic/public/apple-touch-icon.png +0 -0
  523. package/templates/basic/public/favicon-16x16.png +0 -0
  524. package/templates/basic/public/favicon-32x32.png +0 -0
  525. package/templates/basic/public/favicon.ico +0 -0
  526. package/templates/basic/public/icon-192.png +0 -0
  527. package/templates/basic/public/icon-512.png +0 -0
  528. package/templates/basic/public/nuclo-logo.svg +24 -0
  529. package/templates/basic/public/site.webmanifest +23 -0
  530. package/templates/basic/src/app.ts +37 -0
  531. package/templates/basic/src/main.ts +5 -0
  532. package/templates/basic/src/styles.ts +85 -0
  533. package/templates/basic/tsconfig.json +23 -0
  534. package/templates/basic/vite.config.ts +3 -0
@@ -0,0 +1,727 @@
1
+ # nuclo
2
+
3
+ **A lightweight, imperative DOM framework with explicit updates.**
4
+
5
+ Build interactive UIs with plain functions, mutable JavaScript objects, and explicit `update()` calls. Nuclo is imperative: nothing re-renders until you call `update()`. No virtual DOM, no proxies, and no hidden state tracking.
6
+
7
+ ```ts
8
+ import 'nuclo';
9
+
10
+ let count = 0;
11
+
12
+ const counter = div(
13
+ h1(() => `Count: ${count}`),
14
+ button('Increment', on('click', () => {
15
+ count++;
16
+ update();
17
+ }))
18
+ );
19
+
20
+ render(counter, document.body);
21
+ ```
22
+
23
+ ## Why nuclo?
24
+
25
+ - **Explicit and Predictable** – You control when updates happen with a simple `update()` call
26
+ - **Direct DOM Manipulation** – Work directly with the DOM, no virtual layer in between
27
+ - **Tiny Footprint** – ~10 KB gzipped, zero dependencies
28
+ - **Global Tag Builders** – Natural API with global functions for all HTML and SVG elements
29
+ - **TypeScript-First** – Full type definitions for all 175 HTML and SVG builders
30
+ - **Targeted DOM Updates** – `update()` re-runs dynamic bindings and only touches DOM where values changed
31
+ - **Atomic Styling** – Built-in `css()` / `createCss()` with TypeScript autocomplete, theming, and SSR CSS collection
32
+ - **Server-Side Rendering** – `renderToString()` + `hydrate()` with a lightweight DOM polyfill
33
+
34
+ ---
35
+
36
+ ## Installation
37
+
38
+ ```bash
39
+ npm install nuclo
40
+ ```
41
+
42
+ ### Usage
43
+
44
+ Simply import once to register all global functions:
45
+
46
+ ```ts
47
+ import 'nuclo';
48
+
49
+ // Now use div(), update(), on(), list(), when(), render(), etc. globally
50
+ let count = 0;
51
+ const app = div(
52
+ h1(() => `Count: ${count}`),
53
+ button('Click', on('click', () => { count++; update(); }))
54
+ );
55
+ render(app, document.body);
56
+ ```
57
+
58
+ ### TypeScript Setup
59
+
60
+ Add to your `tsconfig.json`:
61
+
62
+ ```json
63
+ {
64
+ "compilerOptions": {
65
+ "types": ["nuclo/types"]
66
+ }
67
+ }
68
+ ```
69
+
70
+ Or in your `vite-env.d.ts`:
71
+
72
+ ```ts
73
+ /// <reference types="nuclo/types" />
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Quick Examples
79
+
80
+ ### Counter
81
+
82
+ ```ts
83
+ import 'nuclo';
84
+
85
+ let count = 0;
86
+
87
+ const app = div(
88
+ h1(() => `Count: ${count}`),
89
+ button('Increment', on('click', () => { count++; update(); })),
90
+ button('Reset', on('click', () => { count = 0; update(); }))
91
+ );
92
+
93
+ render(app, document.body);
94
+ ```
95
+
96
+ ### Todo List
97
+
98
+ ```ts
99
+ import 'nuclo';
100
+
101
+ type Todo = { id: number; text: string; done: boolean };
102
+
103
+ let todos: Todo[] = [];
104
+ let nextId = 1;
105
+ let inputValue = '';
106
+
107
+ function addTodo() {
108
+ if (!inputValue.trim()) return;
109
+ todos.push({ id: nextId++, text: inputValue, done: false });
110
+ inputValue = '';
111
+ update();
112
+ }
113
+
114
+ const app = div(
115
+ { className: 'todo-app' },
116
+
117
+ // Input
118
+ div(
119
+ input({ value: () => inputValue },
120
+ on('input', e => { inputValue = e.target.value; update(); }),
121
+ on('keydown', e => e.key === 'Enter' && addTodo())
122
+ ),
123
+ button('Add', on('click', addTodo))
124
+ ),
125
+
126
+ // List
127
+ when(() => todos.length > 0,
128
+ list(() => todos, (todo) =>
129
+ div(
130
+ { className: () => todo.done ? 'done' : '' },
131
+ input({ type: 'checkbox', checked: () => todo.done },
132
+ on('change', () => { todo.done = !todo.done; update(); })
133
+ ),
134
+ span(() => todo.text),
135
+ button('×', on('click', () => {
136
+ todos = todos.filter(t => t.id !== todo.id);
137
+ update();
138
+ }))
139
+ )
140
+ )
141
+ ).else(
142
+ p('No todos yet!')
143
+ )
144
+ );
145
+
146
+ render(app, document.body);
147
+ ```
148
+
149
+ ### Real-time Search Filter
150
+
151
+ ```ts
152
+ import 'nuclo';
153
+
154
+ const users = [
155
+ { id: 1, name: 'Alice Johnson', email: 'alice@example.com' },
156
+ { id: 2, name: 'Bob Smith', email: 'bob@example.com' },
157
+ { id: 3, name: 'Charlie Brown', email: 'charlie@example.com' }
158
+ ];
159
+
160
+ let searchQuery = '';
161
+
162
+ function filteredUsers() {
163
+ const q = searchQuery.toLowerCase();
164
+ return users.filter(u =>
165
+ u.name.toLowerCase().includes(q) ||
166
+ u.email.toLowerCase().includes(q)
167
+ );
168
+ }
169
+
170
+ const app = div(
171
+ h1('User Directory'),
172
+
173
+ input(
174
+ {
175
+ type: 'search',
176
+ placeholder: 'Search users...',
177
+ value: () => searchQuery
178
+ },
179
+ on('input', e => {
180
+ searchQuery = e.target.value;
181
+ update();
182
+ })
183
+ ),
184
+
185
+ when(() => filteredUsers().length > 0,
186
+ list(() => filteredUsers(), user =>
187
+ div(
188
+ { className: 'user-card' },
189
+ h3(user.name),
190
+ p(user.email)
191
+ )
192
+ )
193
+ ).else(
194
+ p(() => `No users found for "${searchQuery}"`)
195
+ )
196
+ );
197
+
198
+ render(app, document.body);
199
+ ```
200
+
201
+ ### Loading States & Async
202
+
203
+ ```ts
204
+ import 'nuclo';
205
+
206
+ type Product = { id: number; title: string; category: string };
207
+ type State = { status: 'idle' | 'loading' | 'error'; products: Product[]; error?: string };
208
+
209
+ const state: State = { status: 'idle', products: [] };
210
+ let searchQuery = 'phone';
211
+
212
+ async function fetchProducts() {
213
+ if (!searchQuery.trim()) return;
214
+
215
+ state.status = 'loading';
216
+ update();
217
+
218
+ try {
219
+ const response = await fetch(`https://dummyjson.com/products/search?q=${searchQuery}`);
220
+ const data = await response.json();
221
+ state.products = data.products;
222
+ state.status = 'idle';
223
+ } catch (err) {
224
+ state.status = 'error';
225
+ state.error = err.message;
226
+ }
227
+ update();
228
+ }
229
+
230
+ const app = div(
231
+ div(
232
+ input(
233
+ {
234
+ type: 'search',
235
+ placeholder: 'Search products...',
236
+ value: () => searchQuery
237
+ },
238
+ on('input', e => {
239
+ searchQuery = e.target.value;
240
+ update();
241
+ }),
242
+ on('keydown', e => e.key === 'Enter' && fetchProducts())
243
+ ),
244
+ button('Search', on('click', fetchProducts))
245
+ ),
246
+
247
+ when(() => state.status === 'loading',
248
+ div('Loading...')
249
+ ).when(() => state.status === 'error',
250
+ div({ className: 'error' }, () => `Error: ${state.error}`)
251
+ ).when(() => state.products.length > 0,
252
+ list(() => state.products, product =>
253
+ div(
254
+ { className: 'product-card' },
255
+ h3(product.title),
256
+ p(() => `Category: ${product.category}`)
257
+ )
258
+ )
259
+ ).else(
260
+ div('Click search to load products')
261
+ )
262
+ );
263
+
264
+ render(app, document.body);
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Core Concepts
270
+
271
+ ### 1. **Explicit Updates**
272
+
273
+ nuclo doesn't auto-detect changes. You call `update()` when ready:
274
+
275
+ ```ts
276
+ let name = 'World';
277
+
278
+ // Mutate freely
279
+ name = 'Alice';
280
+ name = name.toUpperCase();
281
+
282
+ // Update once when ready
283
+ update();
284
+ ```
285
+
286
+ **Advantages of explicit `update()`:**
287
+
288
+ - **Performance**: Batch multiple mutations into a single update cycle
289
+ - **Control**: You decide exactly when the UI should refresh
290
+ - **Predictability**: Zero surprise re-renders, explicit update flow
291
+ - **Simplicity**: No proxies, no dependency graphs, just objects and functions
292
+ - **Debugging**: Set a breakpoint at `update()` to trace all state changes
293
+
294
+ ```ts
295
+ // Example: Batch updates for better performance
296
+ items.push(item1);
297
+ items.push(item2);
298
+ items.sort();
299
+ user.name = 'Alice';
300
+ update(); // One update for all changes
301
+
302
+ // vs. automatic tracking (hypothetical)
303
+ items.push(item1); // triggers update
304
+ items.push(item2); // triggers update
305
+ items.sort(); // triggers update
306
+ user.name = 'Alice'; // triggers update
307
+ // 4 updates instead of 1!
308
+ ```
309
+
310
+ ### 2. **Dynamic Functions**
311
+
312
+ Zero-arg functions become dynamic bindings that re-run when you call `update()`:
313
+
314
+ ```ts
315
+ let count = 0;
316
+
317
+ div(
318
+ () => `Count: ${count}`, // Updates when update() is called
319
+ { title: () => `Current: ${count}` } // Attributes too
320
+ )
321
+ ```
322
+
323
+ ### 3. **Conditional Rendering with `when`**
324
+
325
+ First matching condition wins:
326
+
327
+ ```ts
328
+ when(() => user.isAdmin,
329
+ div('Admin Panel')
330
+ ).when(() => user.isLoggedIn,
331
+ div('User Dashboard')
332
+ ).else(
333
+ div('Please log in')
334
+ )
335
+ ```
336
+
337
+ DOM is preserved if the active branch doesn't change.
338
+
339
+ ### 4. **List Synchronization**
340
+
341
+ Lists use object identity (not keys) to track items:
342
+
343
+ ```ts
344
+ list(() => items, (item, index) =>
345
+ div(() => `${index}: ${item.name}`)
346
+ )
347
+ ```
348
+
349
+ Mutate the array (push, splice, reverse), then call `update()`. Elements are reused if the item reference is the same.
350
+
351
+ ## API Reference
352
+
353
+ ### Core Functions
354
+
355
+ #### `update()`
356
+
357
+ Runs one synchronous update pass across every dynamic binding. Call this after mutating state:
358
+
359
+ ```ts
360
+ count++;
361
+ items.push(newItem);
362
+ update();
363
+ ```
364
+
365
+ #### `list(provider, renderer)`
366
+
367
+ Synchronizes an array to DOM elements:
368
+
369
+ ```ts
370
+ list(
371
+ () => items, // Provider function
372
+ (item, index) => div( // Renderer
373
+ () => `${index}: ${item.name}`
374
+ )
375
+ )
376
+ ```
377
+
378
+ Items are tracked by object identity. Mutate the array and call `update()` to sync.
379
+
380
+ #### `when(condition, ...content)`
381
+
382
+ Conditional rendering with chaining:
383
+
384
+ ```ts
385
+ when(() => count > 10,
386
+ div('High')
387
+ ).when(() => count > 0,
388
+ div('Low')
389
+ ).else(
390
+ div('Zero')
391
+ )
392
+ ```
393
+
394
+ First matching condition wins. DOM is preserved if the active branch doesn't change.
395
+
396
+ #### `on(event, handler, options?)`
397
+
398
+ Attach event listeners:
399
+
400
+ ```ts
401
+ button('Click me',
402
+ on('click', () => console.log('clicked')),
403
+ on('mouseenter', handleHover, { passive: true })
404
+ )
405
+ ```
406
+
407
+ #### `scope(...ids)`
408
+
409
+ Registers an element as a named update root, so `update("id")` re-runs only the dynamic bindings contained within it instead of the whole page:
410
+
411
+ ```ts
412
+ div(
413
+ scope('cart'),
414
+ span(() => `Items: ${cartItems.length}`)
415
+ )
416
+
417
+ cartItems.push(nextItem);
418
+ update('cart'); // only updates runtimes inside the "cart" scope
419
+ ```
420
+
421
+ ### Tag Builders
422
+
423
+ All HTML and SVG tags are available globally:
424
+
425
+ ```ts
426
+ div(), span(), button(), input(), h1(), p(), ul(), li()
427
+ svgSvg(), circleSvg(), pathSvg(), rectSvg(), gSvg()
428
+ // ... 175 HTML and SVG builders total
429
+ ```
430
+
431
+ ### Attributes
432
+
433
+ Pass attributes as objects:
434
+
435
+ ```ts
436
+ div('Hello', {
437
+ className: 'container',
438
+ id: 'main',
439
+ 'data-test': 'value',
440
+ style: { color: 'red', fontSize: '16px' }
441
+ })
442
+ ```
443
+
444
+ Dynamic attributes use functions:
445
+
446
+ ```ts
447
+ div({
448
+ className: () => isActive ? 'active' : '',
449
+ disabled: () => !isValid,
450
+ style: () => ({ opacity: isVisible ? 1 : 0 })
451
+ })
452
+ ```
453
+
454
+ ### Styling
455
+
456
+ Nuclo includes an atomic CSS-in-TS engine. `css()` is available globally after `import 'nuclo'`. For theming and responsive breakpoints use `createCss()`:
457
+
458
+ ```ts
459
+ import 'nuclo';
460
+
461
+ const { css } = createCss({
462
+ colors: { primary: '#14b8a6' },
463
+ screens: { md: '(min-width: 768px)' },
464
+ });
465
+
466
+ const card = css({
467
+ p: 16,
468
+ rounded: 8,
469
+ md: { p: 24 },
470
+ hover: { borderColor: 'primary' },
471
+ });
472
+
473
+ const el = div(card, 'Hello');
474
+ ```
475
+
476
+ `css()` returns an object with a `className` key that can be passed directly to any tag builder. Global styles and keyframe animations use `globalStyle()` and `keyframes()`.
477
+
478
+ #### Composing with `cx()`
479
+
480
+ `cx()` composes styles with exact, last-wins conflict resolution — because the engine knows which declaration every class it minted represents, a later `color` atom drops the earlier one (no tailwind-merge guessing). It accepts results, raw class strings, falsy values, and nested arrays:
481
+
482
+ ```ts
483
+ cx(base, isActive && activeStyle); // conditional
484
+ cx([base, isActive && activeStyle], extra); // arrays are flattened
485
+ ```
486
+
487
+ #### Typed variants with `variants()`
488
+
489
+ `variants()` turns a base style plus named variant groups into a strongly-typed recipe. Variant names and values are inferred, so selecting an unknown one is a compile error, and `true`/`false` value groups are selected with real booleans. Every variant compiles to atomic classes once at definition time; a call is a cached lookup plus a `cx()` merge.
490
+
491
+ ```ts
492
+ import 'nuclo';
493
+
494
+ const { variants } = createCss({
495
+ colors: { primary: '#6366f1', danger: '#ef4444' },
496
+ });
497
+
498
+ const button = variants({
499
+ base: { rounded: 8, weight: 600, cursor: 'pointer' },
500
+ variants: {
501
+ intent: {
502
+ primary: { bg: 'primary', color: '#fff' },
503
+ danger: { bg: 'danger', color: '#fff' },
504
+ },
505
+ size: {
506
+ sm: { px: 10, py: 6, text: 14 },
507
+ lg: { px: 18, py: 12, text: 16 },
508
+ },
509
+ block: { true: { display: 'block', w: '100%' } },
510
+ },
511
+ defaultVariants: { intent: 'primary', size: 'sm' },
512
+ compoundVariants: [
513
+ { intent: 'danger', size: 'lg', css: { weight: 700 } },
514
+ ],
515
+ });
516
+
517
+ div(button({ intent: 'danger', size: 'lg' }), 'Delete'); // StyleResult — drop-in attributes
518
+ div(button(), 'Save'); // uses defaultVariants
519
+
520
+ button({ intent: 'ghost' }); // ✗ compile error: "ghost" is not a defined intent
521
+ ```
522
+
523
+ The result is a `StyleResult`, so it drops straight into any tag builder or composes further with `cx(button({ size: 'lg' }), extraClass)`.
524
+
525
+ ### Server-Side Rendering
526
+
527
+ Import `nuclo/polyfill` before `nuclo` in your Node.js server entry, then use `renderToString()` and `getCssText()` from `nuclo/ssr`:
528
+
529
+ ```ts
530
+ import 'nuclo/polyfill';
531
+ import 'nuclo';
532
+ import { renderToString, getCssText } from 'nuclo/ssr';
533
+ import { App } from './app.ts';
534
+
535
+ const html = renderToString(App());
536
+ const styles = getCssText();
537
+
538
+ const page = `<!doctype html><html><head><style>${styles}</style></head>
539
+ <body><div id="app">${html}</div></body></html>`;
540
+ ```
541
+
542
+ On the client, call `hydrate()` instead of `render()` to attach Nuclo runtimes to the existing markup without re-creating DOM nodes.
543
+
544
+ `nuclo/ssr` also exports `renderManyToString(inputs)` for rendering a batch of trees at once, and `renderToStringWithContainer(input, containerTag?, containerAttrs?)` to wrap the output in a container element without a second serialization pass.
545
+
546
+ ---
547
+
548
+ ## Best Practices
549
+
550
+ ### Batch Updates
551
+
552
+ Make multiple changes, then update once:
553
+
554
+ ```ts
555
+ // Efficient: One update for all changes
556
+ items.push(item1);
557
+ items.push(item2);
558
+ items.sort();
559
+ update();
560
+
561
+ // Works but inefficient: Multiple updates
562
+ items.push(item1);
563
+ update();
564
+ items.push(item2);
565
+ update();
566
+ ```
567
+
568
+ ### Object Identity for Lists
569
+
570
+ Lists track items by reference. Mutate objects in place:
571
+
572
+ ```ts
573
+ // Good: Mutate the object
574
+ todos[0].done = true;
575
+ update();
576
+
577
+ // Avoid: Creates new object, DOM element recreated
578
+ todos[0] = { ...todos[0], done: true };
579
+ update();
580
+ ```
581
+
582
+ ### Use `.else()` for Clarity
583
+
584
+ Even if not initially needed:
585
+
586
+ ```ts
587
+ when(() => isLoading,
588
+ div('Loading...')
589
+ ).else(
590
+ div('Ready') // Clear intent
591
+ )
592
+ ```
593
+
594
+ ---
595
+
596
+ ## Advanced Patterns
597
+
598
+ ### Nested Structures
599
+
600
+ Combine `when` and `list`:
601
+
602
+ ```ts
603
+ when(() => user.isLoggedIn,
604
+ div(
605
+ h1(() => `Welcome, ${user.name}`),
606
+ list(() => user.notifications, n =>
607
+ div(n.message, { className: () => n.read ? 'read' : 'unread' })
608
+ )
609
+ )
610
+ ).else(
611
+ div('Please log in')
612
+ )
613
+ ```
614
+
615
+ ### Component-like Functions
616
+
617
+ ```ts
618
+ function UserCard(user: User) {
619
+ return div(
620
+ { className: 'user-card' },
621
+ img({ src: user.avatar }),
622
+ h3(user.name),
623
+ p(user.bio)
624
+ );
625
+ }
626
+
627
+ list(() => users, user => UserCard(user))
628
+ ```
629
+
630
+ ### Computed Values
631
+
632
+ ```ts
633
+ function activeCount() {
634
+ return todos.filter(t => !t.done).length;
635
+ }
636
+
637
+ div(
638
+ () => `${activeCount()} remaining`
639
+ )
640
+ ```
641
+
642
+ ---
643
+
644
+ ## Performance
645
+
646
+ - **No virtual DOM diffing** – Direct DOM manipulation for maximum efficiency
647
+ - **Fine-grained updates** – Only updates what changed, nothing more
648
+ - **Element reuse** – Lists intelligently reuse DOM elements when items move
649
+ - **Branch preservation** – Conditional branches persist until conditions change
650
+
651
+ For high-frequency updates (animations, game loops), batch mutations before calling `update()`.
652
+
653
+ ---
654
+
655
+ ## Debugging
656
+
657
+ ### Inspect Markers
658
+
659
+ Open DevTools to see comment markers that help you understand the structure:
660
+
661
+ ```html
662
+ <!-- when-start-1 -->
663
+ <div>Content</div>
664
+ <!-- when-end -->
665
+
666
+ <!-- list-start-2 -->
667
+ <div>Item 1</div>
668
+ <div>Item 2</div>
669
+ <!-- list-end -->
670
+ ```
671
+
672
+ These markers identify conditional and list boundaries in the DOM.
673
+
674
+ ### Common Issues
675
+
676
+ **Content not updating?**
677
+ - Ensure you're calling `update()` after state changes
678
+ - Verify your dynamic functions are returning the expected values — functions that return `null`/`undefined` render as empty text and fill in on the next `update()`
679
+
680
+ **List items not reusing elements?**
681
+ - Keep object references stable (mutate instead of replacing)
682
+ - Avoid creating new objects when updating properties
683
+
684
+ ### Gotchas
685
+
686
+ **Parameter count decides what a function modifier means.**
687
+ A modifier with **zero declared parameters** is treated as reactive text (or a reactive `cn()` className) and is called with no arguments. A modifier with **one or more declared parameters** is a node-modifier function receiving `(element, index)`. Default and rest parameters don't count as declared parameters (`fn.length` is 0), so these are all treated as *reactive text*, not node modifiers:
688
+
689
+ ```ts
690
+ div((el = fallback) => el.id); // reactive text — el is undefined!
691
+ div((...args) => args[0]); // reactive text — args is empty!
692
+ div((el) => el.id = "x"); // node modifier — el is the element ✓
693
+ ```
694
+
695
+ If a modifier needs the element, declare it as a plain required parameter.
696
+
697
+ **Detached nodes lose reactivity.**
698
+ Reactive registrations (text, attributes, `list()`, `when()`) are pruned for any node that is disconnected from the DOM when `update()` runs. Re-attaching the node later does **not** restore them. Keep-alive and portal-style patterns should re-render content after re-attaching instead of moving live subtrees between updates.
699
+
700
+ ---
701
+
702
+ ## Documentation
703
+
704
+ Full documentation is available at [https://nuclo.dev/](https://nuclo.dev/)
705
+
706
+ - [Getting Started](https://nuclo.dev/getting-started)
707
+ - [API Reference](https://nuclo.dev/core-api)
708
+ - [Examples](https://nuclo.dev/examples)
709
+
710
+ ---
711
+
712
+ ## Author
713
+
714
+ Created by **Danilo Celestino de Castro**
715
+
716
+ - GitHub: [@dan2dev](https://github.com/dan2dev)
717
+ - Twitter: [@dan2dev](https://twitter.com/dan2dev)
718
+
719
+ ---
720
+
721
+ ## License
722
+
723
+ MIT License - see [LICENSE.md](LICENSE.md) for details.
724
+
725
+ This library is free and open source. When using nuclo, please include attribution in your documentation or application.
726
+
727
+ **TL;DR:** Use it freely, give credit where it's due!