create-jen-app 1.2.2 → 1.2.3

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 (588) hide show
  1. package/README.md +3 -1
  2. package/dist/index.js +1 -6
  3. package/package.json +2 -2
  4. package/templates/static/.esbuild/jen.config.js +18 -0
  5. package/templates/static/README.md +63 -67
  6. package/templates/static/build.js +4 -6
  7. package/templates/static/jen.config.ts +3 -5
  8. package/templates/static/jenjs.d.ts +3 -3
  9. package/templates/static/lib/api/(hello).d.ts +5 -5
  10. package/templates/static/lib/api/(hello).js +7 -7
  11. package/templates/static/lib/auth/cookie-utils.d.ts +20 -11
  12. package/templates/static/lib/auth/cookie-utils.js +66 -69
  13. package/templates/static/lib/auth/jwt.d.ts +28 -0
  14. package/templates/static/lib/auth/jwt.js +50 -6
  15. package/templates/static/lib/auth/session.d.ts +34 -34
  16. package/templates/static/lib/auth/session.js +79 -81
  17. package/templates/static/lib/build/asset-hashing.js +4 -4
  18. package/templates/static/lib/build/asset-manifest.js +4 -4
  19. package/templates/static/lib/build/build.d.ts +20 -0
  20. package/templates/static/lib/build/build.js +43 -6
  21. package/templates/static/lib/build/island-hydration.js +2 -2
  22. package/templates/static/lib/build/minifier.js +12 -12
  23. package/templates/static/lib/build/page-renderer.d.ts +2 -2
  24. package/templates/static/lib/build/page-renderer.js +3 -3
  25. package/templates/static/lib/build/production-build.d.ts +1 -1
  26. package/templates/static/lib/build/production-build.js +4 -4
  27. package/templates/static/lib/build/ssg-pipeline.d.ts +1 -1
  28. package/templates/static/lib/build/ssg-pipeline.js +19 -19
  29. package/templates/static/lib/build-tools/build-site.d.ts +3 -3
  30. package/templates/static/lib/build-tools/build-site.js +27 -30
  31. package/templates/static/lib/cache/index.d.ts +8 -0
  32. package/templates/static/lib/cache/index.js +8 -0
  33. package/templates/static/lib/cache/memory.d.ts +31 -4
  34. package/templates/static/lib/cache/memory.js +38 -12
  35. package/templates/static/lib/cache/redis.d.ts +43 -4
  36. package/templates/static/lib/cache/redis.js +59 -14
  37. package/templates/static/lib/cli/banner.d.ts +5 -1
  38. package/templates/static/lib/cli/banner.js +18 -14
  39. package/templates/static/lib/cli/templates/ssg/jen.config.js +29 -29
  40. package/templates/static/lib/cli/templates/ssg/site/index.js +6 -1
  41. package/templates/static/lib/cli/templates/ssr/jen.config.js +29 -29
  42. package/templates/static/lib/cli/templates/ssr/site/index.js +6 -1
  43. package/templates/static/lib/compilers/esbuild-plugins.js +96 -98
  44. package/templates/static/lib/compilers/svelte.d.ts +10 -10
  45. package/templates/static/lib/compilers/svelte.js +31 -31
  46. package/templates/static/lib/compilers/vue.d.ts +8 -8
  47. package/templates/static/lib/compilers/vue.js +76 -68
  48. package/templates/static/lib/core/config.d.ts +217 -50
  49. package/templates/static/lib/core/http.d.ts +55 -2
  50. package/templates/static/lib/core/http.js +66 -20
  51. package/templates/static/lib/core/middleware-hooks.d.ts +204 -31
  52. package/templates/static/lib/core/middleware-hooks.js +86 -41
  53. package/templates/static/lib/core/paths.d.ts +42 -4
  54. package/templates/static/lib/core/paths.js +34 -2
  55. package/templates/static/lib/core/routes/match.d.ts +51 -3
  56. package/templates/static/lib/core/routes/match.js +44 -11
  57. package/templates/static/lib/core/routes/scan.d.ts +49 -5
  58. package/templates/static/lib/core/routes/scan.js +174 -115
  59. package/templates/static/lib/core/types.d.ts +148 -13
  60. package/templates/static/lib/css/compiler.d.ts +16 -13
  61. package/templates/static/lib/css/compiler.js +62 -58
  62. package/templates/static/lib/db/connector.d.ts +27 -1
  63. package/templates/static/lib/db/connector.js +37 -11
  64. package/templates/static/lib/db/drivers/jdb.d.ts +13 -9
  65. package/templates/static/lib/db/drivers/jdb.js +41 -39
  66. package/templates/static/lib/db/drivers/sql.d.ts +16 -12
  67. package/templates/static/lib/db/drivers/sql.js +152 -135
  68. package/templates/static/lib/db/index.d.ts +20 -12
  69. package/templates/static/lib/db/index.js +41 -41
  70. package/templates/static/lib/db/types.d.ts +22 -18
  71. package/templates/static/lib/graphql/index.d.ts +47 -0
  72. package/templates/static/lib/graphql/index.js +50 -3
  73. package/templates/static/lib/graphql/resolvers.d.ts +51 -11
  74. package/templates/static/lib/graphql/resolvers.js +22 -6
  75. package/templates/static/lib/graphql/schema.d.ts +34 -0
  76. package/templates/static/lib/graphql/schema.js +34 -2
  77. package/templates/static/lib/i18n/en.json +2 -2
  78. package/templates/static/lib/i18n/es.json +2 -2
  79. package/templates/static/lib/i18n/index.d.ts +4 -4
  80. package/templates/static/lib/i18n/index.js +10 -10
  81. package/templates/static/lib/import/jen-import.d.ts +39 -10
  82. package/templates/static/lib/import/jen-import.js +130 -80
  83. package/templates/static/lib/index.d.ts +42 -11
  84. package/templates/static/lib/index.js +21 -8
  85. package/templates/static/lib/jdb/engine.d.ts +35 -6
  86. package/templates/static/lib/jdb/engine.js +260 -144
  87. package/templates/static/lib/jdb/index.d.ts +32 -0
  88. package/templates/static/lib/jdb/index.js +32 -0
  89. package/templates/static/lib/jdb/types.d.ts +212 -30
  90. package/templates/static/lib/jdb/utils.d.ts +60 -0
  91. package/templates/static/lib/jdb/utils.js +159 -107
  92. package/templates/static/lib/middleware/builtins/body-parser.d.ts +15 -0
  93. package/templates/static/lib/middleware/builtins/body-parser.js +53 -35
  94. package/templates/static/lib/middleware/builtins/cors.d.ts +8 -6
  95. package/templates/static/lib/middleware/builtins/cors.js +52 -48
  96. package/templates/static/lib/middleware/builtins/logger.d.ts +18 -0
  97. package/templates/static/lib/middleware/builtins/logger.js +31 -13
  98. package/templates/static/lib/middleware/builtins/rate-limit.d.ts +19 -2
  99. package/templates/static/lib/middleware/builtins/rate-limit.js +75 -55
  100. package/templates/static/lib/middleware/builtins/request-id.d.ts +18 -0
  101. package/templates/static/lib/middleware/builtins/request-id.js +26 -5
  102. package/templates/static/lib/middleware/builtins/security-headers.d.ts +18 -0
  103. package/templates/static/lib/middleware/builtins/security-headers.js +51 -20
  104. package/templates/static/lib/middleware/context.d.ts +102 -15
  105. package/templates/static/lib/middleware/context.js +121 -30
  106. package/templates/static/lib/middleware/decorators.d.ts +18 -1
  107. package/templates/static/lib/middleware/decorators.js +83 -34
  108. package/templates/static/lib/middleware/errors/handler.js +22 -24
  109. package/templates/static/lib/middleware/errors/http-error.d.ts +3 -3
  110. package/templates/static/lib/middleware/errors/http-error.js +8 -8
  111. package/templates/static/lib/middleware/kernel.d.ts +67 -4
  112. package/templates/static/lib/middleware/kernel.js +80 -17
  113. package/templates/static/lib/middleware/pipeline.d.ts +51 -2
  114. package/templates/static/lib/middleware/pipeline.js +143 -45
  115. package/templates/static/lib/middleware/registry.d.ts +67 -8
  116. package/templates/static/lib/middleware/registry.js +83 -22
  117. package/templates/static/lib/middleware/response.d.ts +73 -11
  118. package/templates/static/lib/middleware/response.js +104 -40
  119. package/templates/static/lib/middleware/utils/matcher.js +11 -12
  120. package/templates/static/lib/native/bundle.d.ts +13 -8
  121. package/templates/static/lib/native/bundle.js +14 -14
  122. package/templates/static/lib/native/dev-server.d.ts +11 -4
  123. package/templates/static/lib/native/dev-server.js +14 -12
  124. package/templates/static/lib/native/index.d.ts +20 -20
  125. package/templates/static/lib/native/index.js +23 -21
  126. package/templates/static/lib/native/optimizer.d.ts +14 -10
  127. package/templates/static/lib/native/optimizer.js +14 -14
  128. package/templates/static/lib/native/style-compiler.d.ts +17 -8
  129. package/templates/static/lib/native/style-compiler.js +9 -9
  130. package/templates/static/lib/plugin/loader.d.ts +8 -6
  131. package/templates/static/lib/plugin/loader.js +25 -31
  132. package/templates/static/lib/runtime/client-runtime.d.ts +15 -0
  133. package/templates/static/lib/runtime/client-runtime.js +23 -9
  134. package/templates/static/lib/runtime/hmr.d.ts +23 -1
  135. package/templates/static/lib/runtime/hmr.js +27 -5
  136. package/templates/static/lib/runtime/hydrate.d.ts +17 -0
  137. package/templates/static/lib/runtime/hydrate.js +48 -21
  138. package/templates/static/lib/runtime/island-hydration-client.d.ts +5 -2
  139. package/templates/static/lib/runtime/island-hydration-client.js +122 -91
  140. package/templates/static/lib/runtime/islands.d.ts +82 -27
  141. package/templates/static/lib/runtime/islands.js +92 -54
  142. package/templates/static/lib/runtime/render.d.ts +36 -9
  143. package/templates/static/lib/runtime/render.js +208 -130
  144. package/templates/static/lib/server/api-routes.d.ts +96 -28
  145. package/templates/static/lib/server/api-routes.js +214 -156
  146. package/templates/static/lib/server/api.d.ts +3 -3
  147. package/templates/static/lib/server/api.js +93 -92
  148. package/templates/static/lib/server/app.d.ts +37 -3
  149. package/templates/static/lib/server/app.js +328 -254
  150. package/templates/static/lib/server/runtimeServe.d.ts +56 -0
  151. package/templates/static/lib/server/runtimeServe.js +130 -69
  152. package/templates/static/lib/server/ssr.d.ts +161 -0
  153. package/templates/static/lib/server/ssr.js +219 -0
  154. package/templates/static/lib/shared/log.d.ts +47 -3
  155. package/templates/static/lib/shared/log.js +60 -10
  156. package/templates/static/server.js +4 -6
  157. package/templates/static/site/(home).tsx +30 -12
  158. package/templates/static/site/styles/global.scss +89 -78
  159. package/templates/static/tsconfig.json +39 -39
  160. package/templates/static/node_modules/.bin/esbuild +0 -16
  161. package/templates/static/node_modules/.bin/esbuild.cmd +0 -17
  162. package/templates/static/node_modules/.bin/esbuild.ps1 +0 -28
  163. package/templates/static/node_modules/.bin/tsc +0 -16
  164. package/templates/static/node_modules/.bin/tsc.cmd +0 -17
  165. package/templates/static/node_modules/.bin/tsc.ps1 +0 -28
  166. package/templates/static/node_modules/.bin/tsserver +0 -16
  167. package/templates/static/node_modules/.bin/tsserver.cmd +0 -17
  168. package/templates/static/node_modules/.bin/tsserver.ps1 +0 -28
  169. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_templates_static_site_(home).tsx.mjs +0 -14
  170. package/templates/static/node_modules/.jen/cache/B__Jen.js_packages_create-jen-app_yo_site_(home).tsx.mjs +0 -11
  171. package/templates/static/node_modules/.package-lock.json +0 -585
  172. package/templates/static/node_modules/@esbuild/win32-x64/README.md +0 -3
  173. package/templates/static/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  174. package/templates/static/node_modules/@esbuild/win32-x64/package.json +0 -20
  175. package/templates/static/node_modules/@jenjs/master/README.md +0 -24
  176. package/templates/static/node_modules/@jenjs/master/index.js +0 -3655
  177. package/templates/static/node_modules/@jenjs/master/package.json +0 -36
  178. package/templates/static/node_modules/@polka/url/build.js +0 -49
  179. package/templates/static/node_modules/@polka/url/build.mjs +0 -47
  180. package/templates/static/node_modules/@polka/url/index.d.ts +0 -11
  181. package/templates/static/node_modules/@polka/url/package.json +0 -30
  182. package/templates/static/node_modules/@polka/url/readme.md +0 -68
  183. package/templates/static/node_modules/@types/node/LICENSE +0 -21
  184. package/templates/static/node_modules/@types/node/README.md +0 -15
  185. package/templates/static/node_modules/@types/node/assert/strict.d.ts +0 -111
  186. package/templates/static/node_modules/@types/node/assert.d.ts +0 -1078
  187. package/templates/static/node_modules/@types/node/async_hooks.d.ts +0 -603
  188. package/templates/static/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  189. package/templates/static/node_modules/@types/node/buffer.d.ts +0 -1934
  190. package/templates/static/node_modules/@types/node/child_process.d.ts +0 -1476
  191. package/templates/static/node_modules/@types/node/cluster.d.ts +0 -578
  192. package/templates/static/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  193. package/templates/static/node_modules/@types/node/compatibility/index.d.ts +0 -9
  194. package/templates/static/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  195. package/templates/static/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  196. package/templates/static/node_modules/@types/node/console.d.ts +0 -452
  197. package/templates/static/node_modules/@types/node/constants.d.ts +0 -21
  198. package/templates/static/node_modules/@types/node/crypto.d.ts +0 -4545
  199. package/templates/static/node_modules/@types/node/dgram.d.ts +0 -600
  200. package/templates/static/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  201. package/templates/static/node_modules/@types/node/dns/promises.d.ts +0 -503
  202. package/templates/static/node_modules/@types/node/dns.d.ts +0 -923
  203. package/templates/static/node_modules/@types/node/domain.d.ts +0 -170
  204. package/templates/static/node_modules/@types/node/events.d.ts +0 -976
  205. package/templates/static/node_modules/@types/node/fs/promises.d.ts +0 -1295
  206. package/templates/static/node_modules/@types/node/fs.d.ts +0 -4461
  207. package/templates/static/node_modules/@types/node/globals.d.ts +0 -172
  208. package/templates/static/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  209. package/templates/static/node_modules/@types/node/http.d.ts +0 -2089
  210. package/templates/static/node_modules/@types/node/http2.d.ts +0 -2644
  211. package/templates/static/node_modules/@types/node/https.d.ts +0 -579
  212. package/templates/static/node_modules/@types/node/index.d.ts +0 -97
  213. package/templates/static/node_modules/@types/node/inspector.d.ts +0 -253
  214. package/templates/static/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  215. package/templates/static/node_modules/@types/node/module.d.ts +0 -891
  216. package/templates/static/node_modules/@types/node/net.d.ts +0 -1057
  217. package/templates/static/node_modules/@types/node/os.d.ts +0 -506
  218. package/templates/static/node_modules/@types/node/package.json +0 -145
  219. package/templates/static/node_modules/@types/node/path.d.ts +0 -200
  220. package/templates/static/node_modules/@types/node/perf_hooks.d.ts +0 -968
  221. package/templates/static/node_modules/@types/node/process.d.ts +0 -2089
  222. package/templates/static/node_modules/@types/node/punycode.d.ts +0 -117
  223. package/templates/static/node_modules/@types/node/querystring.d.ts +0 -152
  224. package/templates/static/node_modules/@types/node/readline/promises.d.ts +0 -161
  225. package/templates/static/node_modules/@types/node/readline.d.ts +0 -594
  226. package/templates/static/node_modules/@types/node/repl.d.ts +0 -428
  227. package/templates/static/node_modules/@types/node/sea.d.ts +0 -153
  228. package/templates/static/node_modules/@types/node/sqlite.d.ts +0 -721
  229. package/templates/static/node_modules/@types/node/stream/consumers.d.ts +0 -38
  230. package/templates/static/node_modules/@types/node/stream/promises.d.ts +0 -90
  231. package/templates/static/node_modules/@types/node/stream/web.d.ts +0 -622
  232. package/templates/static/node_modules/@types/node/stream.d.ts +0 -1664
  233. package/templates/static/node_modules/@types/node/string_decoder.d.ts +0 -67
  234. package/templates/static/node_modules/@types/node/test.d.ts +0 -2163
  235. package/templates/static/node_modules/@types/node/timers/promises.d.ts +0 -108
  236. package/templates/static/node_modules/@types/node/timers.d.ts +0 -287
  237. package/templates/static/node_modules/@types/node/tls.d.ts +0 -1319
  238. package/templates/static/node_modules/@types/node/trace_events.d.ts +0 -197
  239. package/templates/static/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  240. package/templates/static/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  241. package/templates/static/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  242. package/templates/static/node_modules/@types/node/tty.d.ts +0 -208
  243. package/templates/static/node_modules/@types/node/url.d.ts +0 -984
  244. package/templates/static/node_modules/@types/node/util.d.ts +0 -2606
  245. package/templates/static/node_modules/@types/node/v8.d.ts +0 -920
  246. package/templates/static/node_modules/@types/node/vm.d.ts +0 -1000
  247. package/templates/static/node_modules/@types/node/wasi.d.ts +0 -181
  248. package/templates/static/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  249. package/templates/static/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  250. package/templates/static/node_modules/@types/node/web-globals/events.d.ts +0 -97
  251. package/templates/static/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  252. package/templates/static/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  253. package/templates/static/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  254. package/templates/static/node_modules/@types/node/worker_threads.d.ts +0 -784
  255. package/templates/static/node_modules/@types/node/zlib.d.ts +0 -683
  256. package/templates/static/node_modules/esbuild/LICENSE.md +0 -21
  257. package/templates/static/node_modules/esbuild/README.md +0 -3
  258. package/templates/static/node_modules/esbuild/bin/esbuild +0 -223
  259. package/templates/static/node_modules/esbuild/install.js +0 -289
  260. package/templates/static/node_modules/esbuild/lib/main.d.ts +0 -716
  261. package/templates/static/node_modules/esbuild/lib/main.js +0 -2242
  262. package/templates/static/node_modules/esbuild/package.json +0 -49
  263. package/templates/static/node_modules/mrmime/index.d.ts +0 -2
  264. package/templates/static/node_modules/mrmime/index.js +0 -449
  265. package/templates/static/node_modules/mrmime/index.mjs +0 -448
  266. package/templates/static/node_modules/mrmime/license +0 -21
  267. package/templates/static/node_modules/mrmime/package.json +0 -44
  268. package/templates/static/node_modules/mrmime/readme.md +0 -130
  269. package/templates/static/node_modules/preact/LICENSE +0 -21
  270. package/templates/static/node_modules/preact/README.md +0 -185
  271. package/templates/static/node_modules/preact/compat/client.d.ts +0 -13
  272. package/templates/static/node_modules/preact/compat/client.js +0 -21
  273. package/templates/static/node_modules/preact/compat/client.mjs +0 -24
  274. package/templates/static/node_modules/preact/compat/dist/compat.js +0 -2
  275. package/templates/static/node_modules/preact/compat/dist/compat.js.map +0 -1
  276. package/templates/static/node_modules/preact/compat/dist/compat.mjs +0 -2
  277. package/templates/static/node_modules/preact/compat/dist/compat.module.js +0 -2
  278. package/templates/static/node_modules/preact/compat/dist/compat.module.js.map +0 -1
  279. package/templates/static/node_modules/preact/compat/dist/compat.umd.js +0 -2
  280. package/templates/static/node_modules/preact/compat/dist/compat.umd.js.map +0 -1
  281. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.js +0 -3
  282. package/templates/static/node_modules/preact/compat/jsx-dev-runtime.mjs +0 -3
  283. package/templates/static/node_modules/preact/compat/jsx-runtime.js +0 -3
  284. package/templates/static/node_modules/preact/compat/jsx-runtime.mjs +0 -3
  285. package/templates/static/node_modules/preact/compat/package.json +0 -55
  286. package/templates/static/node_modules/preact/compat/scheduler.js +0 -15
  287. package/templates/static/node_modules/preact/compat/scheduler.mjs +0 -23
  288. package/templates/static/node_modules/preact/compat/server.browser.js +0 -11
  289. package/templates/static/node_modules/preact/compat/server.js +0 -36
  290. package/templates/static/node_modules/preact/compat/server.mjs +0 -17
  291. package/templates/static/node_modules/preact/compat/src/Children.js +0 -21
  292. package/templates/static/node_modules/preact/compat/src/PureComponent.js +0 -16
  293. package/templates/static/node_modules/preact/compat/src/forwardRef.js +0 -44
  294. package/templates/static/node_modules/preact/compat/src/hooks.js +0 -70
  295. package/templates/static/node_modules/preact/compat/src/index.d.ts +0 -351
  296. package/templates/static/node_modules/preact/compat/src/index.js +0 -238
  297. package/templates/static/node_modules/preact/compat/src/internal.d.ts +0 -48
  298. package/templates/static/node_modules/preact/compat/src/memo.js +0 -35
  299. package/templates/static/node_modules/preact/compat/src/portals.js +0 -78
  300. package/templates/static/node_modules/preact/compat/src/render.js +0 -313
  301. package/templates/static/node_modules/preact/compat/src/suspense-list.d.ts +0 -16
  302. package/templates/static/node_modules/preact/compat/src/suspense-list.js +0 -127
  303. package/templates/static/node_modules/preact/compat/src/suspense.d.ts +0 -19
  304. package/templates/static/node_modules/preact/compat/src/suspense.js +0 -291
  305. package/templates/static/node_modules/preact/compat/src/util.js +0 -33
  306. package/templates/static/node_modules/preact/compat/test-utils.js +0 -1
  307. package/templates/static/node_modules/preact/compat/test-utils.mjs +0 -1
  308. package/templates/static/node_modules/preact/debug/dist/debug.js +0 -2
  309. package/templates/static/node_modules/preact/debug/dist/debug.js.map +0 -1
  310. package/templates/static/node_modules/preact/debug/dist/debug.mjs +0 -2
  311. package/templates/static/node_modules/preact/debug/dist/debug.module.js +0 -2
  312. package/templates/static/node_modules/preact/debug/dist/debug.module.js.map +0 -1
  313. package/templates/static/node_modules/preact/debug/dist/debug.umd.js +0 -2
  314. package/templates/static/node_modules/preact/debug/dist/debug.umd.js.map +0 -1
  315. package/templates/static/node_modules/preact/debug/package.json +0 -27
  316. package/templates/static/node_modules/preact/debug/src/check-props.js +0 -54
  317. package/templates/static/node_modules/preact/debug/src/component-stack.js +0 -146
  318. package/templates/static/node_modules/preact/debug/src/constants.js +0 -3
  319. package/templates/static/node_modules/preact/debug/src/debug.js +0 -593
  320. package/templates/static/node_modules/preact/debug/src/index.d.ts +0 -23
  321. package/templates/static/node_modules/preact/debug/src/index.js +0 -12
  322. package/templates/static/node_modules/preact/debug/src/internal.d.ts +0 -82
  323. package/templates/static/node_modules/preact/debug/src/util.js +0 -15
  324. package/templates/static/node_modules/preact/devtools/dist/devtools.js +0 -2
  325. package/templates/static/node_modules/preact/devtools/dist/devtools.js.map +0 -1
  326. package/templates/static/node_modules/preact/devtools/dist/devtools.mjs +0 -2
  327. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  328. package/templates/static/node_modules/preact/devtools/dist/devtools.module.js.map +0 -1
  329. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js +0 -2
  330. package/templates/static/node_modules/preact/devtools/dist/devtools.umd.js.map +0 -1
  331. package/templates/static/node_modules/preact/devtools/package.json +0 -25
  332. package/templates/static/node_modules/preact/devtools/src/devtools.js +0 -21
  333. package/templates/static/node_modules/preact/devtools/src/index.d.ts +0 -8
  334. package/templates/static/node_modules/preact/devtools/src/index.js +0 -15
  335. package/templates/static/node_modules/preact/dist/preact.js +0 -2
  336. package/templates/static/node_modules/preact/dist/preact.js.map +0 -1
  337. package/templates/static/node_modules/preact/dist/preact.min.js +0 -2
  338. package/templates/static/node_modules/preact/dist/preact.min.js.map +0 -1
  339. package/templates/static/node_modules/preact/dist/preact.min.module.js +0 -2
  340. package/templates/static/node_modules/preact/dist/preact.min.module.js.map +0 -1
  341. package/templates/static/node_modules/preact/dist/preact.min.umd.js +0 -2
  342. package/templates/static/node_modules/preact/dist/preact.min.umd.js.map +0 -1
  343. package/templates/static/node_modules/preact/dist/preact.mjs +0 -2
  344. package/templates/static/node_modules/preact/dist/preact.module.js +0 -2
  345. package/templates/static/node_modules/preact/dist/preact.module.js.map +0 -1
  346. package/templates/static/node_modules/preact/dist/preact.umd.js +0 -2
  347. package/templates/static/node_modules/preact/dist/preact.umd.js.map +0 -1
  348. package/templates/static/node_modules/preact/hooks/dist/hooks.js +0 -2
  349. package/templates/static/node_modules/preact/hooks/dist/hooks.js.map +0 -1
  350. package/templates/static/node_modules/preact/hooks/dist/hooks.mjs +0 -2
  351. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js +0 -2
  352. package/templates/static/node_modules/preact/hooks/dist/hooks.module.js.map +0 -1
  353. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js +0 -2
  354. package/templates/static/node_modules/preact/hooks/dist/hooks.umd.js.map +0 -1
  355. package/templates/static/node_modules/preact/hooks/package.json +0 -35
  356. package/templates/static/node_modules/preact/hooks/src/index.d.ts +0 -145
  357. package/templates/static/node_modules/preact/hooks/src/index.js +0 -555
  358. package/templates/static/node_modules/preact/hooks/src/internal.d.ts +0 -103
  359. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js +0 -2
  360. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +0 -1
  361. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +0 -2
  362. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  363. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -1
  364. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js +0 -2
  365. package/templates/static/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +0 -1
  366. package/templates/static/node_modules/preact/jsx-runtime/package.json +0 -28
  367. package/templates/static/node_modules/preact/jsx-runtime/src/index.d.ts +0 -62
  368. package/templates/static/node_modules/preact/jsx-runtime/src/index.js +0 -206
  369. package/templates/static/node_modules/preact/jsx-runtime/src/utils.js +0 -36
  370. package/templates/static/node_modules/preact/package.json +0 -258
  371. package/templates/static/node_modules/preact/src/cjs.js +0 -3
  372. package/templates/static/node_modules/preact/src/clone-element.js +0 -48
  373. package/templates/static/node_modules/preact/src/component.js +0 -249
  374. package/templates/static/node_modules/preact/src/constants.js +0 -22
  375. package/templates/static/node_modules/preact/src/create-context.js +0 -60
  376. package/templates/static/node_modules/preact/src/create-element.js +0 -97
  377. package/templates/static/node_modules/preact/src/diff/catch-error.js +0 -46
  378. package/templates/static/node_modules/preact/src/diff/children.js +0 -451
  379. package/templates/static/node_modules/preact/src/diff/index.js +0 -684
  380. package/templates/static/node_modules/preact/src/diff/props.js +0 -173
  381. package/templates/static/node_modules/preact/src/dom.d.ts +0 -2476
  382. package/templates/static/node_modules/preact/src/index-5.d.ts +0 -399
  383. package/templates/static/node_modules/preact/src/index.d.ts +0 -402
  384. package/templates/static/node_modules/preact/src/index.js +0 -13
  385. package/templates/static/node_modules/preact/src/internal.d.ts +0 -190
  386. package/templates/static/node_modules/preact/src/jsx.d.ts +0 -2878
  387. package/templates/static/node_modules/preact/src/options.js +0 -16
  388. package/templates/static/node_modules/preact/src/render.js +0 -78
  389. package/templates/static/node_modules/preact/src/util.js +0 -28
  390. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js +0 -2
  391. package/templates/static/node_modules/preact/test-utils/dist/testUtils.js.map +0 -1
  392. package/templates/static/node_modules/preact/test-utils/dist/testUtils.mjs +0 -2
  393. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js +0 -2
  394. package/templates/static/node_modules/preact/test-utils/dist/testUtils.module.js.map +0 -1
  395. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js +0 -2
  396. package/templates/static/node_modules/preact/test-utils/dist/testUtils.umd.js.map +0 -1
  397. package/templates/static/node_modules/preact/test-utils/package.json +0 -28
  398. package/templates/static/node_modules/preact/test-utils/src/index.d.ts +0 -3
  399. package/templates/static/node_modules/preact/test-utils/src/index.js +0 -129
  400. package/templates/static/node_modules/preact-render-to-string/LICENSE +0 -21
  401. package/templates/static/node_modules/preact-render-to-string/README.md +0 -149
  402. package/templates/static/node_modules/preact-render-to-string/dist/commonjs.js +0 -2
  403. package/templates/static/node_modules/preact-render-to-string/dist/index.d.ts +0 -17
  404. package/templates/static/node_modules/preact-render-to-string/dist/index.js +0 -6
  405. package/templates/static/node_modules/preact-render-to-string/dist/index.js.map +0 -1
  406. package/templates/static/node_modules/preact-render-to-string/dist/index.mjs +0 -2
  407. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js +0 -2
  408. package/templates/static/node_modules/preact-render-to-string/dist/index.module.js.map +0 -1
  409. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js +0 -2
  410. package/templates/static/node_modules/preact-render-to-string/dist/index.umd.js.map +0 -1
  411. package/templates/static/node_modules/preact-render-to-string/dist/internal.d.ts +0 -35
  412. package/templates/static/node_modules/preact-render-to-string/dist/jsx/commonjs.js +0 -2
  413. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js +0 -4
  414. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.js.map +0 -1
  415. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.mjs +0 -2
  416. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js +0 -2
  417. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.module.js.map +0 -1
  418. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js +0 -2
  419. package/templates/static/node_modules/preact-render-to-string/dist/jsx/index.umd.js.map +0 -1
  420. package/templates/static/node_modules/preact-render-to-string/dist/jsx.d.ts +0 -24
  421. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js +0 -2
  422. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.js.map +0 -1
  423. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.mjs +0 -2
  424. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js +0 -2
  425. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.module.js.map +0 -1
  426. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js +0 -2
  427. package/templates/static/node_modules/preact-render-to-string/dist/stream/index.umd.js.map +0 -1
  428. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js +0 -884
  429. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.js.map +0 -1
  430. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.mjs +0 -884
  431. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js +0 -884
  432. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.module.js.map +0 -1
  433. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js +0 -888
  434. package/templates/static/node_modules/preact-render-to-string/dist/stream/node/index.umd.js.map +0 -1
  435. package/templates/static/node_modules/preact-render-to-string/dist/stream-node.d.ts +0 -19
  436. package/templates/static/node_modules/preact-render-to-string/dist/stream.d.ts +0 -10
  437. package/templates/static/node_modules/preact-render-to-string/jsx.d.ts +0 -24
  438. package/templates/static/node_modules/preact-render-to-string/jsx.js +0 -1
  439. package/templates/static/node_modules/preact-render-to-string/package.json +0 -152
  440. package/templates/static/node_modules/preact-render-to-string/src/index.d.ts +0 -17
  441. package/templates/static/node_modules/preact-render-to-string/src/index.js +0 -764
  442. package/templates/static/node_modules/preact-render-to-string/src/internal.d.ts +0 -35
  443. package/templates/static/node_modules/preact-render-to-string/src/jsx.d.ts +0 -24
  444. package/templates/static/node_modules/preact-render-to-string/src/jsx.js +0 -102
  445. package/templates/static/node_modules/preact-render-to-string/src/lib/chunked.js +0 -97
  446. package/templates/static/node_modules/preact-render-to-string/src/lib/client.js +0 -62
  447. package/templates/static/node_modules/preact-render-to-string/src/lib/constants.js +0 -20
  448. package/templates/static/node_modules/preact-render-to-string/src/lib/polyfills.js +0 -8
  449. package/templates/static/node_modules/preact-render-to-string/src/lib/util.js +0 -208
  450. package/templates/static/node_modules/preact-render-to-string/src/pretty.js +0 -491
  451. package/templates/static/node_modules/preact-render-to-string/src/stream-node.d.ts +0 -19
  452. package/templates/static/node_modules/preact-render-to-string/src/stream-node.js +0 -84
  453. package/templates/static/node_modules/preact-render-to-string/src/stream.d.ts +0 -10
  454. package/templates/static/node_modules/preact-render-to-string/src/stream.js +0 -43
  455. package/templates/static/node_modules/preact-render-to-string/typings.json +0 -5
  456. package/templates/static/node_modules/sirv/build.js +0 -197
  457. package/templates/static/node_modules/sirv/build.mjs +0 -197
  458. package/templates/static/node_modules/sirv/index.d.mts +0 -29
  459. package/templates/static/node_modules/sirv/index.d.ts +0 -33
  460. package/templates/static/node_modules/sirv/package.json +0 -40
  461. package/templates/static/node_modules/sirv/readme.md +0 -238
  462. package/templates/static/node_modules/totalist/dist/index.js +0 -24
  463. package/templates/static/node_modules/totalist/dist/index.mjs +0 -22
  464. package/templates/static/node_modules/totalist/index.d.ts +0 -3
  465. package/templates/static/node_modules/totalist/license +0 -21
  466. package/templates/static/node_modules/totalist/package.json +0 -55
  467. package/templates/static/node_modules/totalist/readme.md +0 -109
  468. package/templates/static/node_modules/totalist/sync/index.d.ts +0 -3
  469. package/templates/static/node_modules/totalist/sync/index.js +0 -17
  470. package/templates/static/node_modules/totalist/sync/index.mjs +0 -15
  471. package/templates/static/node_modules/typescript/bin/tsc +0 -2
  472. package/templates/static/node_modules/typescript/bin/tsserver +0 -2
  473. package/templates/static/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  474. package/templates/static/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  475. package/templates/static/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  476. package/templates/static/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  477. package/templates/static/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  478. package/templates/static/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  479. package/templates/static/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  480. package/templates/static/node_modules/typescript/lib/lib.d.ts +0 -22
  481. package/templates/static/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  482. package/templates/static/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  483. package/templates/static/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  484. package/templates/static/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  485. package/templates/static/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  486. package/templates/static/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  487. package/templates/static/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  488. package/templates/static/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  489. package/templates/static/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  490. package/templates/static/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  491. package/templates/static/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  492. package/templates/static/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  493. package/templates/static/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  494. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  495. package/templates/static/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  496. package/templates/static/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  497. package/templates/static/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  498. package/templates/static/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  499. package/templates/static/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  500. package/templates/static/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  501. package/templates/static/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  502. package/templates/static/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  503. package/templates/static/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  504. package/templates/static/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  505. package/templates/static/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  506. package/templates/static/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  507. package/templates/static/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  508. package/templates/static/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  509. package/templates/static/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  510. package/templates/static/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  511. package/templates/static/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  512. package/templates/static/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  513. package/templates/static/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  514. package/templates/static/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  515. package/templates/static/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  516. package/templates/static/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  517. package/templates/static/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  518. package/templates/static/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  519. package/templates/static/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  520. package/templates/static/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  521. package/templates/static/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  522. package/templates/static/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  523. package/templates/static/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  524. package/templates/static/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  525. package/templates/static/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  526. package/templates/static/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  527. package/templates/static/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  528. package/templates/static/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  529. package/templates/static/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  530. package/templates/static/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  531. package/templates/static/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  532. package/templates/static/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  533. package/templates/static/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  534. package/templates/static/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  535. package/templates/static/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  536. package/templates/static/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  537. package/templates/static/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  538. package/templates/static/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  539. package/templates/static/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  540. package/templates/static/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  541. package/templates/static/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  542. package/templates/static/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  543. package/templates/static/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  544. package/templates/static/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  545. package/templates/static/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  546. package/templates/static/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  547. package/templates/static/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  548. package/templates/static/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  549. package/templates/static/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  550. package/templates/static/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  551. package/templates/static/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  552. package/templates/static/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  553. package/templates/static/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  554. package/templates/static/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  555. package/templates/static/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  556. package/templates/static/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  557. package/templates/static/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  558. package/templates/static/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  559. package/templates/static/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  560. package/templates/static/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  561. package/templates/static/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  562. package/templates/static/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  563. package/templates/static/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  564. package/templates/static/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  565. package/templates/static/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  566. package/templates/static/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  567. package/templates/static/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  568. package/templates/static/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  569. package/templates/static/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  570. package/templates/static/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  571. package/templates/static/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  572. package/templates/static/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  573. package/templates/static/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  574. package/templates/static/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  575. package/templates/static/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  576. package/templates/static/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  577. package/templates/static/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  578. package/templates/static/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  579. package/templates/static/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  580. package/templates/static/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  581. package/templates/static/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  582. package/templates/static/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  583. package/templates/static/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  584. package/templates/static/node_modules/typescript/lib/tsc.js +0 -8
  585. package/templates/static/node_modules/typescript/lib/tsserver.js +0 -8
  586. package/templates/static/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  587. package/templates/static/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  588. package/templates/static/node_modules/typescript/lib/typescript.d.ts +0 -11437
@@ -17,132 +17,191 @@
17
17
  */
18
18
  import { readdirSync, statSync } from "node:fs";
19
19
  import { join, relative, sep } from "node:path";
20
+ /**
21
+ * Recursively walks a directory and returns all file paths.
22
+ * Used to discover all potential route files in the siteDir.
23
+ *
24
+ * @param dir Directory path to walk
25
+ * @returns Flat array of all file paths found, relative or absolute as provided
26
+ */
20
27
  function walk(dir) {
21
- const out = [];
22
- for (const name of readdirSync(dir)) {
23
- const p = join(dir, name);
24
- const st = statSync(p);
25
- if (st.isDirectory())
26
- out.push(...walk(p));
27
- else
28
- out.push(p);
29
- }
30
- return out;
28
+ const out = [];
29
+ for (const name of readdirSync(dir)) {
30
+ const p = join(dir, name);
31
+ const st = statSync(p);
32
+ if (st.isDirectory()) out.push(...walk(p));
33
+ else out.push(p);
34
+ }
35
+ return out;
31
36
  }
37
+ /**
38
+ * Normalizes filesystem path separators to forward slashes.
39
+ * Ensures consistent path format across Windows and Unix systems.
40
+ *
41
+ * @param p Path with possibly mixed separators
42
+ * @returns Path with forward slashes only
43
+ */
32
44
  function normalizeSlashes(p) {
33
- return p.split(sep).join("/");
45
+ return p.split(sep).join("/");
34
46
  }
47
+ /**
48
+ * Escapes special regex characters in a string.
49
+ * Prevents literal characters from being interpreted as regex syntax.
50
+ *
51
+ * @param s String to escape
52
+ * @returns Escaped string safe for regex
53
+ */
35
54
  function escapeRegex(s) {
36
- return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
55
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
37
56
  }
57
+ /**
58
+ * Converts a URL path segment to a regex pattern.
59
+ * Handles dynamic parameters (:id) and catch-alls (*rest).
60
+ * Side effect: appends parameter names to provided array.
61
+ *
62
+ * @param seg URL segment like "id", ":id", or "*rest"
63
+ * @param paramNames Array to accumulate discovered parameter names
64
+ * @returns Regex pattern for this segment
65
+ */
38
66
  function segmentToRegex(seg, paramNames) {
39
- // (id) => ([^/]+)
40
- // (...rest) => (.*)
41
- if (seg.startsWith("...")) {
42
- const name = seg.slice(3);
43
- paramNames.push(name);
44
- return "(.*)";
45
- }
46
- paramNames.push(seg);
47
- return "([^/]+)";
67
+ // (id) => ([^/]+)
68
+ // (...rest) => (.*)
69
+ if (seg.startsWith("...")) {
70
+ const name = seg.slice(3);
71
+ paramNames.push(name);
72
+ return "(.*)";
73
+ }
74
+ paramNames.push(seg);
75
+ return "([^/]+)";
48
76
  }
77
+ /**
78
+ * Converts a URL path string into a compiled regex pattern and parameter list.
79
+ * Handles static segments, dynamic parameters (:param), and catch-all routes (*rest).
80
+ *
81
+ * @param urlPath URL path like "/posts/:id" or "/docs/*rest"
82
+ * @returns Object with regex source string and ordered parameter names
83
+ *
84
+ * @example
85
+ * buildRoutePattern("/posts/:id") => {
86
+ * src: "^/posts/([^/]+)/?$",
87
+ * paramNames: ["id"]
88
+ * }
89
+ */
49
90
  function buildRoutePattern(urlPath) {
50
- // Convert /user/:id into regex
51
- // We store urlPath with placeholders already replaced during scan
52
- const parts = urlPath.split("/").filter(Boolean);
53
- const paramNames = [];
54
- const regexParts = parts.map((p) => {
55
- if (p.startsWith(":")) {
56
- paramNames.push(p.slice(1));
57
- return "([^/]+)";
58
- }
59
- if (p.startsWith("*")) {
60
- paramNames.push(p.slice(1));
61
- return "(.*)";
62
- }
63
- return escapeRegex(p);
64
- });
65
- const src = "^/" + regexParts.join("/") + "/?$";
66
- return { src, paramNames };
91
+ // Convert /user/:id into regex
92
+ // We store urlPath with placeholders already replaced during scan
93
+ const parts = urlPath.split("/").filter(Boolean);
94
+ const paramNames = [];
95
+ const regexParts = parts.map((p) => {
96
+ if (p.startsWith(":")) {
97
+ paramNames.push(p.slice(1));
98
+ return "([^/]+)";
99
+ }
100
+ if (p.startsWith("*")) {
101
+ paramNames.push(p.slice(1));
102
+ return "(.*)";
103
+ }
104
+ return escapeRegex(p);
105
+ });
106
+ const src = "^/" + regexParts.join("/") + "/?$";
107
+ return { src, paramNames };
67
108
  }
109
+ /**
110
+ * Scans the configured siteDir for route files and returns an ordered list.
111
+ * Files are matched against config.routes.routeFilePattern (typically /^\(([^)]+)\)/).
112
+ * Only files with extensions in config.routes.fileExtensions are considered.
113
+ *
114
+ * Naming conventions:
115
+ * - (home).tsx => route "/" (root, or within its directory)
116
+ * - ($paramName).tsx => dynamic route "/:paramName" (requires $ prefix)
117
+ * - (...restName).tsx => catch-all route "/*restName" (requires ... prefix)
118
+ * - (name).tsx => literal route "/name"
119
+ *
120
+ * Routes are sorted by specificity: static routes first, then dynamic/catch-all.
121
+ *
122
+ * @param config Framework configuration with siteDir and route patterns
123
+ * @returns Array of RouteEntry objects, sorted by specificity (most specific first)
124
+ * @throws {Error} If a parameter name is invalid (e.g., starts with number)
125
+ */
68
126
  export function scanRoutes(config) {
69
- const siteRoot = join(process.cwd(), config.siteDir);
70
- const files = walk(siteRoot);
71
- const routes = [];
72
- for (const abs of files) {
73
- const rel = normalizeSlashes(relative(siteRoot, abs));
74
- const extMatch = config.routes.fileExtensions.some((ext) => rel.endsWith(ext));
75
- if (!extMatch)
76
- continue;
77
- const base = rel.split("/").pop();
78
- const m = base.match(config.routes.routeFilePattern);
79
- if (!m)
80
- continue;
81
- const name = m[1]; // inside ( )
82
- const relDir = rel.split("/").slice(0, -1).join("/");
83
- // name parsing:
84
- // home => /
85
- // about => /about
86
- // id => /:id
87
- // ...rest => /*rest
88
- let routeSeg = name;
89
- let urlSeg = "";
90
- if (routeSeg === "home")
91
- urlSeg = "";
92
- else if (routeSeg.startsWith("..."))
93
- urlSeg = "*" + routeSeg.slice(3);
94
- else
95
- urlSeg = routeSeg;
96
- // build url path
97
- let url = "/" + (relDir ? relDir + "/" : "") + urlSeg;
98
- url = url.replaceAll("//", "/");
99
- // Dynamic route segment detection:
100
- // Routes are determined by the filename within parentheses
101
- // - (home).tsx => / (root) or /{dir}/ (in subdirectory)
102
- // - ($paramName).tsx => /:paramName (dynamic param, requires $ prefix)
103
- // - (...restName).tsx => /*restName (catch-all, requires ... prefix)
104
- // - Any other (name).tsx => /name (literal segment)
105
- const rawName = name;
106
- // Handle special prefixes for dynamic routing
107
- if (rawName.startsWith("$") && !rawName.startsWith("...")) {
108
- // ($paramName) syntax for dynamic parameters
109
- const param = rawName.slice(1);
110
- if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(param)) {
111
- throw new Error(`Invalid parameter name: ${param} in route file ${rel}`);
112
- }
113
- url = "/" + (relDir ? relDir + "/" : "") + ":" + param;
114
- url = url.replaceAll("//", "/");
115
- }
116
- else if (rawName.startsWith("...")) {
117
- // (...restName) syntax for catch-all routes
118
- const restName = rawName.slice(3);
119
- if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(restName)) {
120
- throw new Error(`Invalid rest parameter name: ${restName} in route file ${rel}`);
121
- }
122
- url = "/" + (relDir ? relDir + "/" : "") + "*" + restName;
123
- url = url.replaceAll("//", "/");
124
- }
125
- else if (rawName === "home") {
126
- // (home) is special - becomes root of its directory
127
- url = relDir === "" ? "/" : "/" + relDir;
128
- }
129
- // else: (anything else) treated as literal segment
130
- const { src, paramNames } = buildRoutePattern(url);
131
- routes.push({
132
- id: rel.replaceAll("/", "_"),
133
- filePath: abs,
134
- urlPath: url,
135
- pattern: src,
136
- paramNames,
137
- });
127
+ const siteRoot = join(process.cwd(), config.siteDir);
128
+ const files = walk(siteRoot);
129
+ const routes = [];
130
+ for (const abs of files) {
131
+ const rel = normalizeSlashes(relative(siteRoot, abs));
132
+ const extMatch = config.routes.fileExtensions.some((ext) =>
133
+ rel.endsWith(ext),
134
+ );
135
+ if (!extMatch) continue;
136
+ const base = rel.split("/").pop();
137
+ const m = base.match(config.routes.routeFilePattern);
138
+ if (!m) continue;
139
+ const name = m[1]; // inside ( )
140
+ const relDir = rel.split("/").slice(0, -1).join("/");
141
+ // name parsing:
142
+ // home => /
143
+ // about => /about
144
+ // id => /:id
145
+ // ...rest => /*rest
146
+ let routeSeg = name;
147
+ let urlSeg = "";
148
+ if (routeSeg === "home") urlSeg = "";
149
+ else if (routeSeg.startsWith("...")) urlSeg = "*" + routeSeg.slice(3);
150
+ else urlSeg = routeSeg;
151
+ // build url path
152
+ let url = "/" + (relDir ? relDir + "/" : "") + urlSeg;
153
+ url = url.replaceAll("//", "/");
154
+ /**
155
+ * Dynamic route segment detection based on filename within parentheses.
156
+ * Routes are determined by the filename prefix conventions:
157
+ * - (home).tsx => / (root) or /{dir}/ (in subdirectory)
158
+ * - ($paramName).tsx => /:paramName (dynamic param, requires $ prefix)
159
+ * - (...restName).tsx => /*restName (catch-all, requires ... prefix)
160
+ * - Any other (name).tsx => /name (literal segment)
161
+ */
162
+ const rawName = name;
163
+ // Handle special prefixes for dynamic routing
164
+ if (rawName.startsWith("$") && !rawName.startsWith("...")) {
165
+ // ($paramName) syntax for dynamic parameters
166
+ const param = rawName.slice(1);
167
+ if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(param)) {
168
+ throw new Error(
169
+ `Invalid parameter name: ${param} in route file ${rel}`,
170
+ );
171
+ }
172
+ url = "/" + (relDir ? relDir + "/" : "") + ":" + param;
173
+ url = url.replaceAll("//", "/");
174
+ } else if (rawName.startsWith("...")) {
175
+ // (...restName) syntax for catch-all routes
176
+ const restName = rawName.slice(3);
177
+ if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(restName)) {
178
+ throw new Error(
179
+ `Invalid rest parameter name: ${restName} in route file ${rel}`,
180
+ );
181
+ }
182
+ url = "/" + (relDir ? relDir + "/" : "") + "*" + restName;
183
+ url = url.replaceAll("//", "/");
184
+ } else if (rawName === "home") {
185
+ // (home) is special - becomes root of its directory
186
+ url = relDir === "" ? "/" : "/" + relDir;
138
187
  }
139
- routes.sort((a, b) => {
140
- // more specific first
141
- const aDyn = a.urlPath.includes(":") || a.urlPath.includes("*");
142
- const bDyn = b.urlPath.includes(":") || b.urlPath.includes("*");
143
- if (aDyn !== bDyn)
144
- return aDyn ? 1 : -1;
145
- return a.urlPath.localeCompare(b.urlPath);
188
+ // else: (anything else) treated as literal segment
189
+ const { src, paramNames } = buildRoutePattern(url);
190
+ routes.push({
191
+ id: rel.replaceAll("/", "_"),
192
+ filePath: abs,
193
+ urlPath: url,
194
+ pattern: src,
195
+ paramNames,
146
196
  });
147
- return routes;
197
+ }
198
+ // Sort by specificity: exact matches and static routes first, dynamic routes last
199
+ routes.sort((a, b) => {
200
+ // more specific first
201
+ const aDyn = a.urlPath.includes(":") || a.urlPath.includes("*");
202
+ const bDyn = b.urlPath.includes(":") || b.urlPath.includes("*");
203
+ if (aDyn !== bDyn) return aDyn ? 1 : -1;
204
+ return a.urlPath.localeCompare(b.urlPath);
205
+ });
206
+ return routes;
148
207
  }
@@ -1,18 +1,153 @@
1
1
  import type { RenderMode } from "./config.js";
2
+ /**
3
+ * Exported interface that every route module (TSX/JSX file in siteDir) must conform to.
4
+ * Route modules define the page content, metadata, data loading, and rendering behavior.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import type { RouteModule } from "jenjs";
9
+ *
10
+ * export const mode = "ssg"; // Pre-render at build time
11
+ * export const revalidateSeconds = 3600; // Revalidate every hour for ISR
12
+ *
13
+ * export const loader = async (ctx) => {
14
+ * return { posts: await fetchPosts() };
15
+ * };
16
+ *
17
+ * export function Head() {
18
+ * return <title>My Page</title>;
19
+ * }
20
+ *
21
+ * export default function Page({ data, params }) {
22
+ * return <div>Welcome!</div>;
23
+ * }
24
+ * ```
25
+ */
2
26
  export type RouteModule = {
3
- mode?: RenderMode;
4
- revalidateSeconds?: number;
5
- hydrate?: boolean;
6
- middleware?: any;
7
- loader?: (ctx: LoaderContext) => Promise<any> | any;
8
- Head?: (props: any) => any;
9
- default: (props: any) => any;
27
+ /**
28
+ * Rendering mode for this route.
29
+ * If omitted, uses defaultMode from config.
30
+ *
31
+ * - "ssr": Server-side render on every request
32
+ * - "ssg": Pre-render once at build time
33
+ * - "isr": Pre-render, then revalidate on demand
34
+ * - "ppr": Partial pre-rendering (some sections static, some dynamic)
35
+ */
36
+ mode?: RenderMode;
37
+ /**
38
+ * For ISR routes, the time in seconds before cached page is considered stale.
39
+ * When a request comes to a stale page, it triggers a background revalidation.
40
+ * If omitted, uses defaultRevalidateSeconds from config.
41
+ *
42
+ * Example: 3600 = revalidate every hour
43
+ */
44
+ revalidateSeconds?: number;
45
+ /**
46
+ * Whether to inject hydration code and client-side JavaScript.
47
+ * Set to false for pure static HTML with no interactivity.
48
+ * Default: true (enables interactive components)
49
+ *
50
+ * Optimization: Static pages (false) have smaller payload and faster rendering.
51
+ */
52
+ hydrate?: boolean;
53
+ /**
54
+ * Route-level middleware functions that run before rendering.
55
+ * Can be a single middleware or array of middlewares.
56
+ * Executes on the server before loader is called.
57
+ * Can access request, set response headers, perform auth checks, etc.
58
+ *
59
+ * @see ../middleware-hooks.ts for RouteMiddleware interface
60
+ */
61
+ middleware?: any;
62
+ /**
63
+ * Data loading function called before rendering the page.
64
+ * Receives LoaderContext with URL, params, query, headers, cookies, and middleware data.
65
+ * Result is passed to the page component as `data` prop.
66
+ * Can be async (e.g., fetch from database or API).
67
+ *
68
+ * Only runs on the server (SSR/SSG), not on the client during hydration.
69
+ *
70
+ * @param ctx Loader context with request information
71
+ * @returns Data object merged with component props
72
+ */
73
+ loader?: (ctx: LoaderContext) => Promise<any> | any;
74
+ /**
75
+ * Optional Head component exported from route module.
76
+ * Renders into <head> section of the HTML document.
77
+ * Useful for meta tags, title, Open Graph tags, etc.
78
+ *
79
+ * Receives the same props as the default page component: { data, params, query }
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * export function Head({ params }) {
84
+ * return <title>{params.id} - My Site</title>;
85
+ * }
86
+ * ```
87
+ */
88
+ Head?: (props: any) => any;
89
+ /**
90
+ * Required default export: the page component.
91
+ * Renders to HTML for SSR/SSG.
92
+ * Also used for client-side hydration if hydrate !== false.
93
+ *
94
+ * Receives props: { data, params, query }
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * export default function Page({ data, params, query }) {
99
+ * return <main>{data?.title}</main>;
100
+ * }
101
+ * ```
102
+ */
103
+ default: (props: any) => any;
10
104
  };
105
+ /**
106
+ * Context object passed to route loader functions.
107
+ * Contains all request-related data needed to load route data dynamically.
108
+ * Available in both SSR (runtime) and SSG (build-time) contexts.
109
+ */
11
110
  export type LoaderContext = {
12
- url: URL;
13
- params: Record<string, string>;
14
- query: Record<string, string>;
15
- headers: Record<string, string>;
16
- cookies: Record<string, string>;
17
- data?: Record<string, any>;
111
+ /**
112
+ * The full URL object for the current request.
113
+ * Includes pathname, search, searchParams, etc.
114
+ * @example new URL("http://example.com/posts?sort=date")
115
+ */
116
+ url: URL;
117
+ /**
118
+ * Named route parameters extracted from the URL path.
119
+ * For route /posts/:id, accessing /posts/42 yields { id: "42" }
120
+ * For catch-all routes /docs/...rest, yields { rest: "getting-started/setup" }
121
+ */
122
+ params: Record<string, string>;
123
+ /**
124
+ * Query string parameters from the URL search string.
125
+ * For URL /search?q=test&limit=10, yields { q: "test", limit: "10" }
126
+ * Always strings; parsing to numbers/booleans is the loader's responsibility.
127
+ */
128
+ query: Record<string, string>;
129
+ /**
130
+ * HTTP request headers as a flat object.
131
+ * Keys are lowercase; multiple header values are comma-separated.
132
+ * Not available during static site generation (SSG build-time).
133
+ *
134
+ * @example { "content-type": "application/json", "user-agent": "..." }
135
+ */
136
+ headers: Record<string, string>;
137
+ /**
138
+ * Parsed HTTP cookies from the request.
139
+ * Automatically extracted from the Cookie header.
140
+ * Not available during static site generation (SSG build-time).
141
+ *
142
+ * @example { "sessionId": "abc123", "theme": "dark" }
143
+ */
144
+ cookies: Record<string, string>;
145
+ /**
146
+ * Additional data attached by route middleware.
147
+ * Middleware can populate this field to pass data to the loader and page component.
148
+ * Useful for authentication info, locale, user preferences, etc.
149
+ *
150
+ * @example { "userId": 42, "isAdmin": true }
151
+ */
152
+ data?: Record<string, any>;
18
153
  };
@@ -1,20 +1,23 @@
1
1
  export interface CompileOptions {
2
- inputPath: string;
3
- outputPath?: string;
4
- minified?: boolean;
5
- sourceMap?: boolean;
6
- watch?: boolean;
2
+ inputPath: string;
3
+ outputPath?: string;
4
+ minified?: boolean;
5
+ sourceMap?: boolean;
6
+ watch?: boolean;
7
7
  }
8
8
  export interface CompileResult {
9
- css: string;
10
- sourceMap?: string;
11
- error?: string;
9
+ css: string;
10
+ sourceMap?: string;
11
+ error?: string;
12
12
  }
13
13
  export declare class ScssCompiler {
14
- compile(options: CompileOptions): CompileResult;
15
- compileString(scss: string, options?: {
16
- minified?: boolean;
17
- }): CompileResult;
18
- compileGlob(pattern: string, outputDir: string, minified?: boolean): number;
14
+ compile(options: CompileOptions): CompileResult;
15
+ compileString(
16
+ scss: string,
17
+ options?: {
18
+ minified?: boolean;
19
+ },
20
+ ): CompileResult;
21
+ compileGlob(pattern: string, outputDir: string, minified?: boolean): number;
19
22
  }
20
23
  export declare function createScssCompiler(): ScssCompiler;
@@ -21,67 +21,71 @@ import { writeFileSync, existsSync, mkdirSync } from "node:fs";
21
21
  import { dirname, join, relative } from "node:path";
22
22
  import { log } from "../shared/log.js";
23
23
  export class ScssCompiler {
24
- compile(options) {
25
- const { inputPath, outputPath, minified = false, sourceMap = false, } = options;
26
- try {
27
- if (!existsSync(inputPath)) {
28
- return { css: "", error: `File not found: ${inputPath}` };
29
- }
30
- const result = compile(inputPath, {
31
- style: minified ? "compressed" : "expanded",
32
- sourceMap,
33
- });
34
- if (outputPath) {
35
- mkdirSync(dirname(outputPath), { recursive: true });
36
- writeFileSync(outputPath, result.css);
37
- if (result.sourceMap && sourceMap) {
38
- writeFileSync(outputPath + ".map", JSON.stringify(result.sourceMap));
39
- }
40
- log.info(`[SCSS] ✓ ${relative(process.cwd(), inputPath)} ${relative(process.cwd(), outputPath)}`);
41
- }
42
- return {
43
- css: result.css,
44
- sourceMap: result.sourceMap
45
- ? JSON.stringify(result.sourceMap)
46
- : undefined,
47
- };
48
- }
49
- catch (err) {
50
- const message = err.message || String(err);
51
- log.error(`[SCSS] ✗ ${inputPath}: ${message}`);
52
- return { css: "", error: message };
53
- }
54
- }
55
- compileString(scss, options) {
56
- try {
57
- const result = compileString(scss, {
58
- style: options?.minified ? "compressed" : "expanded",
59
- });
60
- return { css: result.css };
61
- }
62
- catch (err) {
63
- const message = err.message || String(err);
64
- log.error(`[SCSS] ✗ Inline compilation error: ${message}`);
65
- return { css: "", error: message };
24
+ compile(options) {
25
+ const {
26
+ inputPath,
27
+ outputPath,
28
+ minified = false,
29
+ sourceMap = false,
30
+ } = options;
31
+ try {
32
+ if (!existsSync(inputPath)) {
33
+ return { css: "", error: `File not found: ${inputPath}` };
34
+ }
35
+ const result = compile(inputPath, {
36
+ style: minified ? "compressed" : "expanded",
37
+ sourceMap,
38
+ });
39
+ if (outputPath) {
40
+ mkdirSync(dirname(outputPath), { recursive: true });
41
+ writeFileSync(outputPath, result.css);
42
+ if (result.sourceMap && sourceMap) {
43
+ writeFileSync(outputPath + ".map", JSON.stringify(result.sourceMap));
66
44
  }
45
+ log.info(
46
+ `[SCSS] ✓ ${relative(process.cwd(), inputPath)} → ${relative(process.cwd(), outputPath)}`,
47
+ );
48
+ }
49
+ return {
50
+ css: result.css,
51
+ sourceMap: result.sourceMap
52
+ ? JSON.stringify(result.sourceMap)
53
+ : undefined,
54
+ };
55
+ } catch (err) {
56
+ const message = err.message || String(err);
57
+ log.error(`[SCSS] ✗ ${inputPath}: ${message}`);
58
+ return { css: "", error: message };
67
59
  }
68
- compileGlob(pattern, outputDir, minified = false) {
69
- const files = globSync(pattern);
70
- let count = 0;
71
- files.forEach((file) => {
72
- const rel = relative(outputDir, file);
73
- const output = join(outputDir, rel.replace(/\.scss$/, ".css"));
74
- const result = this.compile({
75
- inputPath: file,
76
- outputPath: output,
77
- minified,
78
- });
79
- if (!result.error)
80
- count++;
81
- });
82
- return count;
60
+ }
61
+ compileString(scss, options) {
62
+ try {
63
+ const result = compileString(scss, {
64
+ style: options?.minified ? "compressed" : "expanded",
65
+ });
66
+ return { css: result.css };
67
+ } catch (err) {
68
+ const message = err.message || String(err);
69
+ log.error(`[SCSS] ✗ Inline compilation error: ${message}`);
70
+ return { css: "", error: message };
83
71
  }
72
+ }
73
+ compileGlob(pattern, outputDir, minified = false) {
74
+ const files = globSync(pattern);
75
+ let count = 0;
76
+ files.forEach((file) => {
77
+ const rel = relative(outputDir, file);
78
+ const output = join(outputDir, rel.replace(/\.scss$/, ".css"));
79
+ const result = this.compile({
80
+ inputPath: file,
81
+ outputPath: output,
82
+ minified,
83
+ });
84
+ if (!result.error) count++;
85
+ });
86
+ return count;
87
+ }
84
88
  }
85
89
  export function createScssCompiler() {
86
- return new ScssCompiler();
90
+ return new ScssCompiler();
87
91
  }