effect-start 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/ChildProcess.js +32 -20
  2. package/dist/Commander.js +377 -293
  3. package/dist/ContentNegotiation.js +424 -318
  4. package/dist/Cookies.js +340 -271
  5. package/dist/Development.js +85 -49
  6. package/dist/Effectify.js +22 -14
  7. package/dist/Entity.js +260 -195
  8. package/dist/Fetch.js +192 -0
  9. package/dist/FilePathPattern.js +88 -77
  10. package/dist/FileRouter.js +192 -136
  11. package/dist/FileRouterCodegen.js +262 -191
  12. package/dist/FileSystem.js +126 -64
  13. package/dist/Http.js +96 -77
  14. package/dist/PathPattern.js +311 -273
  15. package/dist/PlatformError.js +36 -21
  16. package/dist/PlatformRuntime.js +65 -40
  17. package/dist/Route.js +122 -79
  18. package/dist/RouteBody.js +83 -58
  19. package/dist/RouteError.js +46 -25
  20. package/dist/RouteHook.js +58 -34
  21. package/dist/RouteHttp.js +346 -237
  22. package/dist/RouteHttpTracer.js +86 -58
  23. package/dist/RouteMount.js +81 -58
  24. package/dist/RouteSchema.js +253 -170
  25. package/dist/RouteSse.js +87 -72
  26. package/dist/RouteTree.js +99 -73
  27. package/dist/RouteTrie.js +160 -133
  28. package/dist/SchemaExtra.js +87 -62
  29. package/dist/Socket.js +32 -21
  30. package/dist/SqlIntrospect.js +317 -268
  31. package/dist/Start.js +55 -25
  32. package/dist/StartApp.js +3 -21
  33. package/dist/StreamExtra.js +109 -74
  34. package/dist/System.js +37 -21
  35. package/dist/TuplePathPattern.js +64 -58
  36. package/dist/Unique.js +159 -120
  37. package/dist/Values.js +48 -32
  38. package/dist/bun/BunBundle.js +158 -109
  39. package/dist/bun/BunChildProcessSpawner.js +121 -82
  40. package/dist/bun/BunImportTrackerPlugin.js +85 -63
  41. package/dist/bun/BunRoute.js +135 -99
  42. package/dist/bun/BunRuntime.js +39 -29
  43. package/dist/bun/BunServer.js +268 -140
  44. package/dist/bun/BunVirtualFilesPlugin.js +47 -33
  45. package/dist/bun/_BunEnhancedResolve.js +107 -82
  46. package/dist/bun/index.js +5 -5
  47. package/dist/bundler/Bundle.js +82 -38
  48. package/dist/bundler/BundleFiles.js +140 -82
  49. package/dist/bundler/BundleRoute.js +49 -38
  50. package/dist/client/Overlay.js +29 -28
  51. package/dist/client/ScrollState.js +94 -82
  52. package/dist/client/index.js +79 -61
  53. package/dist/console/Console.js +40 -24
  54. package/dist/console/ConsoleErrors.js +189 -178
  55. package/dist/console/ConsoleLogger.js +52 -43
  56. package/dist/console/ConsoleMetrics.js +69 -58
  57. package/dist/console/ConsoleProcess.js +57 -47
  58. package/dist/console/ConsoleStore.js +56 -45
  59. package/dist/console/ConsoleTracer.js +101 -88
  60. package/dist/console/Simulation.js +714 -563
  61. package/dist/console/index.js +3 -3
  62. package/dist/console/routes/tree.js +29 -28
  63. package/dist/datastar/actions/fetch.js +514 -381
  64. package/dist/datastar/actions/peek.js +12 -12
  65. package/dist/datastar/actions/setAll.js +18 -11
  66. package/dist/datastar/actions/toggleAll.js +18 -11
  67. package/dist/datastar/attributes/attr.js +48 -47
  68. package/dist/datastar/attributes/bind.js +186 -167
  69. package/dist/datastar/attributes/class.js +51 -44
  70. package/dist/datastar/attributes/computed.js +23 -24
  71. package/dist/datastar/attributes/effect.js +9 -8
  72. package/dist/datastar/attributes/indicator.js +32 -29
  73. package/dist/datastar/attributes/init.js +26 -25
  74. package/dist/datastar/attributes/jsonSignals.js +32 -29
  75. package/dist/datastar/attributes/on.js +76 -73
  76. package/dist/datastar/attributes/onIntersect.js +51 -51
  77. package/dist/datastar/attributes/onInterval.js +30 -29
  78. package/dist/datastar/attributes/onSignalPatch.js +49 -40
  79. package/dist/datastar/attributes/ref.js +10 -9
  80. package/dist/datastar/attributes/show.js +31 -30
  81. package/dist/datastar/attributes/signals.js +17 -16
  82. package/dist/datastar/attributes/style.js +56 -49
  83. package/dist/datastar/attributes/text.js +28 -25
  84. package/dist/datastar/engine.js +1079 -933
  85. package/dist/datastar/index.js +25 -24
  86. package/dist/datastar/utils.js +203 -155
  87. package/dist/datastar/watchers/patchElements.js +459 -372
  88. package/dist/datastar/watchers/patchSignals.js +13 -13
  89. package/dist/experimental/EncryptedCookies.js +305 -189
  90. package/dist/experimental/index.js +1 -1
  91. package/dist/hyper/Hyper.js +22 -17
  92. package/dist/hyper/HyperHtml.js +138 -123
  93. package/dist/hyper/HyperNode.js +11 -9
  94. package/dist/hyper/HyperRoute.js +41 -28
  95. package/dist/hyper/html.js +27 -27
  96. package/dist/hyper/index.js +5 -5
  97. package/dist/hyper/jsx-runtime.js +11 -5
  98. package/dist/index.js +8 -8
  99. package/dist/node/NodeFileSystem.js +606 -341
  100. package/dist/node/NodeUtils.js +21 -18
  101. package/dist/sql/Sql.js +8 -0
  102. package/dist/sql/bun/index.js +134 -67
  103. package/dist/sql/index.js +1 -0
  104. package/dist/sql/libsql/index.js +156 -0
  105. package/dist/sql/mssql/docker.js +103 -60
  106. package/dist/sql/mssql/index.js +182 -101
  107. package/dist/testing/TestLogger.js +39 -29
  108. package/dist/testing/index.js +2 -2
  109. package/dist/testing/utils.js +45 -23
  110. package/dist/x/cloudflare/CloudflareTunnel.js +61 -28
  111. package/dist/x/cloudflare/index.js +1 -1
  112. package/dist/x/tailscale/TailscaleTunnel.js +86 -60
  113. package/dist/x/tailscale/index.js +1 -1
  114. package/dist/x/tailwind/TailwindPlugin.js +280 -205
  115. package/dist/x/tailwind/compile.js +185 -129
  116. package/dist/x/tailwind/plugin.js +13 -11
  117. package/package.json +1 -1
  118. package/src/Development.ts +3 -1
  119. package/src/Entity.ts +17 -0
  120. package/src/Fetch.ts +271 -0
  121. package/src/SqlIntrospect.ts +64 -70
  122. package/src/Start.ts +24 -22
  123. package/src/StartApp.ts +11 -0
  124. package/src/bun/BunServer.ts +89 -16
  125. package/src/hyper/HyperHtml.ts +0 -1
  126. package/src/sql/bun/index.ts +1 -1
  127. package/src/sql/index.ts +1 -0
  128. package/src/sql/libsql/index.ts +173 -0
  129. package/src/sql/libsql/libsql.d.ts +39 -0
  130. package/src/sql/mssql/index.ts +1 -1
  131. package/src/x/tailscale/TailscaleTunnel.ts +7 -5
  132. package/dist/BlobStore.d.ts +0 -80
  133. package/dist/BlobStore.js +0 -19
  134. package/dist/ChildProcess.d.ts +0 -60
  135. package/dist/Commander.d.ts +0 -100
  136. package/dist/ContentNegotiation.d.ts +0 -12
  137. package/dist/Cookies.d.ts +0 -47
  138. package/dist/Development.d.ts +0 -39
  139. package/dist/Effectify.d.ts +0 -209
  140. package/dist/Entity.d.ts +0 -47
  141. package/dist/FilePathPattern.d.ts +0 -29
  142. package/dist/FileRouter.d.ts +0 -56
  143. package/dist/FileRouterCodegen.d.ts +0 -18
  144. package/dist/FileRouterPattern.d.ts +0 -9
  145. package/dist/FileRouterPattern.js +0 -35
  146. package/dist/FileSystem.d.ts +0 -158
  147. package/dist/Http.d.ts +0 -37
  148. package/dist/HttpAppExtra.d.ts +0 -7
  149. package/dist/HttpAppExtra.js +0 -320
  150. package/dist/HttpUtils.d.ts +0 -3
  151. package/dist/HttpUtils.js +0 -11
  152. package/dist/PathPattern.d.ts +0 -134
  153. package/dist/PlatformError.d.ts +0 -38
  154. package/dist/PlatformRuntime.d.ts +0 -27
  155. package/dist/Route.d.ts +0 -97
  156. package/dist/RouteBody.d.ts +0 -47
  157. package/dist/RouteError.d.ts +0 -98
  158. package/dist/RouteHook.d.ts +0 -12
  159. package/dist/RouteHttp.d.ts +0 -21
  160. package/dist/RouteHttpTracer.d.ts +0 -10
  161. package/dist/RouteMount.d.ts +0 -86
  162. package/dist/RouteSchema.d.ts +0 -86
  163. package/dist/RouteSse.d.ts +0 -21
  164. package/dist/RouteTree.d.ts +0 -57
  165. package/dist/RouteTrie.d.ts +0 -20
  166. package/dist/RouterPattern.d.ts +0 -118
  167. package/dist/RouterPattern.js +0 -269
  168. package/dist/SchemaExtra.d.ts +0 -7
  169. package/dist/Socket.d.ts +0 -27
  170. package/dist/Sql.d.ts +0 -34
  171. package/dist/Sql.js +0 -5
  172. package/dist/SqlIntrospect.d.ts +0 -91
  173. package/dist/Start.d.ts +0 -44
  174. package/dist/StartApp.d.ts +0 -19
  175. package/dist/StreamExtra.d.ts +0 -28
  176. package/dist/System.d.ts +0 -7
  177. package/dist/TuplePathPattern.d.ts +0 -9
  178. package/dist/Unique.d.ts +0 -50
  179. package/dist/Values.d.ts +0 -27
  180. package/dist/bun/BunBlobStoreDisk.d.ts +0 -6
  181. package/dist/bun/BunBlobStoreDisk.js +0 -116
  182. package/dist/bun/BunBlobStoreS3.d.ts +0 -11
  183. package/dist/bun/BunBlobStoreS3.js +0 -89
  184. package/dist/bun/BunBlobWatcherDisk.d.ts +0 -6
  185. package/dist/bun/BunBlobWatcherDisk.js +0 -60
  186. package/dist/bun/BunBlobWatcherQueue.d.ts +0 -6
  187. package/dist/bun/BunBlobWatcherQueue.js +0 -17
  188. package/dist/bun/BunBundle.d.ts +0 -11
  189. package/dist/bun/BunChildProcessSpawner.d.ts +0 -3
  190. package/dist/bun/BunHttpServer.d.ts +0 -44
  191. package/dist/bun/BunHttpServer.js +0 -186
  192. package/dist/bun/BunHttpServer_web.d.ts +0 -60
  193. package/dist/bun/BunHttpServer_web.js +0 -252
  194. package/dist/bun/BunImportTrackerPlugin.d.ts +0 -13
  195. package/dist/bun/BunPlatformHttpServer.d.ts +0 -10
  196. package/dist/bun/BunPlatformHttpServer.js +0 -53
  197. package/dist/bun/BunRoute.d.ts +0 -48
  198. package/dist/bun/BunRuntime.d.ts +0 -2
  199. package/dist/bun/BunServer.d.ts +0 -40
  200. package/dist/bun/BunServerRequest.d.ts +0 -60
  201. package/dist/bun/BunServerRequest.js +0 -252
  202. package/dist/bun/BunSql.d.ts +0 -4
  203. package/dist/bun/BunSql.js +0 -81
  204. package/dist/bun/BunVirtualFilesPlugin.d.ts +0 -4
  205. package/dist/bun/_BunEnhancedResolve.d.ts +0 -45
  206. package/dist/bun/index.d.ts +0 -5
  207. package/dist/bundler/Bundle.d.ts +0 -61
  208. package/dist/bundler/BundleFiles.d.ts +0 -13
  209. package/dist/bundler/BundleHttp.d.ts +0 -45
  210. package/dist/bundler/BundleHttp.js +0 -176
  211. package/dist/bundler/BundleRoute.d.ts +0 -27
  212. package/dist/client/Overlay.d.ts +0 -2
  213. package/dist/client/ScrollState.d.ts +0 -6
  214. package/dist/client/index.d.ts +0 -6
  215. package/dist/console/Console.d.ts +0 -6
  216. package/dist/console/ConsoleErrors.d.ts +0 -3
  217. package/dist/console/ConsoleLogger.d.ts +0 -3
  218. package/dist/console/ConsoleMetrics.d.ts +0 -3
  219. package/dist/console/ConsoleProcess.d.ts +0 -3
  220. package/dist/console/ConsoleStore.d.ts +0 -144
  221. package/dist/console/ConsoleTracer.d.ts +0 -3
  222. package/dist/console/Simulation.d.ts +0 -2
  223. package/dist/console/index.d.ts +0 -3
  224. package/dist/console/routes/errors/route.d.ts +0 -10
  225. package/dist/console/routes/errors/route.js +0 -47
  226. package/dist/console/routes/fiberDetail.d.ts +0 -16
  227. package/dist/console/routes/fiberDetail.js +0 -38
  228. package/dist/console/routes/fibers/route.d.ts +0 -10
  229. package/dist/console/routes/fibers/route.js +0 -19
  230. package/dist/console/routes/git/route.d.ts +0 -11
  231. package/dist/console/routes/git/route.js +0 -33
  232. package/dist/console/routes/layout.d.ts +0 -9
  233. package/dist/console/routes/layout.js +0 -3
  234. package/dist/console/routes/logs/route.d.ts +0 -10
  235. package/dist/console/routes/logs/route.js +0 -32
  236. package/dist/console/routes/metrics/route.d.ts +0 -10
  237. package/dist/console/routes/metrics/route.js +0 -17
  238. package/dist/console/routes/route.d.ts +0 -6
  239. package/dist/console/routes/route.js +0 -5
  240. package/dist/console/routes/routes/route.d.ts +0 -6
  241. package/dist/console/routes/routes/route.js +0 -20
  242. package/dist/console/routes/services/route.d.ts +0 -6
  243. package/dist/console/routes/services/route.js +0 -12
  244. package/dist/console/routes/system/route.d.ts +0 -10
  245. package/dist/console/routes/system/route.js +0 -18
  246. package/dist/console/routes/traceDetail.d.ts +0 -16
  247. package/dist/console/routes/traceDetail.js +0 -14
  248. package/dist/console/routes/traces/route.d.ts +0 -10
  249. package/dist/console/routes/traces/route.js +0 -39
  250. package/dist/console/routes/tree.d.ts +0 -153
  251. package/dist/console/ui/Errors.d.ts +0 -4
  252. package/dist/console/ui/Errors.js +0 -15
  253. package/dist/console/ui/Fibers.d.ts +0 -24
  254. package/dist/console/ui/Fibers.js +0 -121
  255. package/dist/console/ui/Git.d.ts +0 -20
  256. package/dist/console/ui/Git.js +0 -95
  257. package/dist/console/ui/Logs.d.ts +0 -4
  258. package/dist/console/ui/Logs.js +0 -25
  259. package/dist/console/ui/Metrics.d.ts +0 -4
  260. package/dist/console/ui/Metrics.js +0 -26
  261. package/dist/console/ui/Routes.d.ts +0 -8
  262. package/dist/console/ui/Routes.js +0 -70
  263. package/dist/console/ui/Services.d.ts +0 -10
  264. package/dist/console/ui/Services.js +0 -246
  265. package/dist/console/ui/Shell.d.ts +0 -10
  266. package/dist/console/ui/Shell.js +0 -7
  267. package/dist/console/ui/System.d.ts +0 -4
  268. package/dist/console/ui/System.js +0 -35
  269. package/dist/console/ui/Traces.d.ts +0 -12
  270. package/dist/console/ui/Traces.js +0 -179
  271. package/dist/datastar/actions/fetch.d.ts +0 -30
  272. package/dist/datastar/actions/peek.d.ts +0 -1
  273. package/dist/datastar/actions/setAll.d.ts +0 -1
  274. package/dist/datastar/actions/toggleAll.d.ts +0 -1
  275. package/dist/datastar/attributes/attr.d.ts +0 -1
  276. package/dist/datastar/attributes/bind.d.ts +0 -1
  277. package/dist/datastar/attributes/class.d.ts +0 -1
  278. package/dist/datastar/attributes/computed.d.ts +0 -1
  279. package/dist/datastar/attributes/effect.d.ts +0 -1
  280. package/dist/datastar/attributes/indicator.d.ts +0 -1
  281. package/dist/datastar/attributes/init.d.ts +0 -1
  282. package/dist/datastar/attributes/jsonSignals.d.ts +0 -1
  283. package/dist/datastar/attributes/on.d.ts +0 -1
  284. package/dist/datastar/attributes/onIntersect.d.ts +0 -1
  285. package/dist/datastar/attributes/onInterval.d.ts +0 -1
  286. package/dist/datastar/attributes/onSignalPatch.d.ts +0 -1
  287. package/dist/datastar/attributes/ref.d.ts +0 -1
  288. package/dist/datastar/attributes/show.d.ts +0 -1
  289. package/dist/datastar/attributes/signals.d.ts +0 -1
  290. package/dist/datastar/attributes/style.d.ts +0 -1
  291. package/dist/datastar/attributes/text.d.ts +0 -1
  292. package/dist/datastar/engine.d.ts +0 -162
  293. package/dist/datastar/happydom.d.ts +0 -1
  294. package/dist/datastar/happydom.js +0 -8
  295. package/dist/datastar/index.d.ts +0 -24
  296. package/dist/datastar/load.d.ts +0 -24
  297. package/dist/datastar/load.js +0 -24
  298. package/dist/datastar/utils.d.ts +0 -51
  299. package/dist/datastar/watchers/patchElements.d.ts +0 -1
  300. package/dist/datastar/watchers/patchSignals.d.ts +0 -1
  301. package/dist/experimental/EncryptedCookies.d.ts +0 -48
  302. package/dist/experimental/SseHttpResponse.d.ts +0 -7
  303. package/dist/experimental/SseHttpResponse.js +0 -28
  304. package/dist/experimental/index.d.ts +0 -1
  305. package/dist/hyper/Hyper.d.ts +0 -25
  306. package/dist/hyper/HyperHtml.d.ts +0 -23
  307. package/dist/hyper/HyperHtml.test.d.ts +0 -1
  308. package/dist/hyper/HyperHtml.test.js +0 -197
  309. package/dist/hyper/HyperNode.d.ts +0 -14
  310. package/dist/hyper/HyperRoute.d.ts +0 -8
  311. package/dist/hyper/HyperRoute.test.d.ts +0 -1
  312. package/dist/hyper/HyperRoute.test.js +0 -83
  313. package/dist/hyper/html.d.ts +0 -11
  314. package/dist/hyper/index.d.ts +0 -6
  315. package/dist/hyper/jsx-runtime.d.ts +0 -7
  316. package/dist/index.d.ts +0 -8
  317. package/dist/inference_check.d.ts +0 -1
  318. package/dist/inference_check.js +0 -15
  319. package/dist/lint/plugin.d.ts +0 -86
  320. package/dist/lint/plugin.js +0 -341
  321. package/dist/middlewares/BasicAuthMiddleware.d.ts +0 -8
  322. package/dist/middlewares/BasicAuthMiddleware.js +0 -22
  323. package/dist/middlewares/index.d.ts +0 -1
  324. package/dist/middlewares/index.js +0 -1
  325. package/dist/node/Effectify.d.ts +0 -209
  326. package/dist/node/Effectify.js +0 -19
  327. package/dist/node/FileSystem.d.ts +0 -7
  328. package/dist/node/FileSystem.js +0 -420
  329. package/dist/node/NodeFileSystem.d.ts +0 -7
  330. package/dist/node/NodeUtils.d.ts +0 -2
  331. package/dist/node/PlatformError.d.ts +0 -46
  332. package/dist/node/PlatformError.js +0 -43
  333. package/dist/node/Utils.d.ts +0 -1
  334. package/dist/node/Utils.js +0 -19
  335. package/dist/repro_fail.d.ts +0 -1
  336. package/dist/repro_fail.js +0 -14
  337. package/dist/sql/bun/index.d.ts +0 -3
  338. package/dist/sql/mssql/docker.d.ts +0 -2
  339. package/dist/sql/mssql/index.d.ts +0 -21
  340. package/dist/testing/TestHttpClient.d.ts +0 -13
  341. package/dist/testing/TestHttpClient.js +0 -68
  342. package/dist/testing/TestLogger.d.ts +0 -13
  343. package/dist/testing/index.d.ts +0 -2
  344. package/dist/testing/utils.d.ts +0 -9
  345. package/dist/x/cloudflare/CloudflareTunnel.d.ts +0 -10
  346. package/dist/x/cloudflare/index.d.ts +0 -1
  347. package/dist/x/datastar/Datastar.d.ts +0 -6
  348. package/dist/x/datastar/Datastar.js +0 -47
  349. package/dist/x/datastar/index.d.ts +0 -1
  350. package/dist/x/datastar/index.js +0 -1
  351. package/dist/x/tailscale/TailscaleTunnel.d.ts +0 -15
  352. package/dist/x/tailscale/index.d.ts +0 -1
  353. package/dist/x/tailwind/TailwindPlugin.d.ts +0 -23
  354. package/dist/x/tailwind/compile.d.ts +0 -19
  355. package/dist/x/tailwind/plugin.d.ts +0 -2
  356. /package/src/{Sql.ts → sql/Sql.ts} +0 -0
@@ -1,154 +1,210 @@
1
- var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
- if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
- return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
- return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
- });
6
- }
7
- return path;
8
- };
9
- import fsPromises from "node:fs/promises";
10
- import path from "node:path";
11
- import { pathToFileURL } from "node:url";
12
- import { compile as _compile, compileAst as _compileAst } from "tailwindcss";
13
- import * as BunEnhancedResolve from "../../bun/_BunEnhancedResolve";
14
- function createCompileOptions({ base, from, polyfills, onDependency, customCssResolver, customJsResolver, }) {
15
- return {
16
- base,
17
- polyfills,
18
- from,
19
- async loadModule(id, base) {
20
- return loadModule(id, base, onDependency, customJsResolver);
21
- },
22
- async loadStylesheet(id, sheetBase) {
23
- let sheet = await loadStylesheet(id, sheetBase, onDependency, customCssResolver);
24
- return sheet;
25
- },
26
- };
1
+ import fsPromises from "node:fs/promises"
2
+ import path from "node:path"
3
+ import { pathToFileURL } from "node:url"
4
+ import { compile as _compile, compileAst as _compileAst, Features, Polyfills } from "tailwindcss"
5
+ import * as BunEnhancedResolve from "../../bun/_BunEnhancedResolve"
6
+
7
+ export { Features, Polyfills }
8
+
9
+ function createCompileOptions({
10
+ base,
11
+ from,
12
+ polyfills,
13
+ onDependency,
14
+
15
+ customCssResolver,
16
+ customJsResolver,
17
+ }) {
18
+ return {
19
+ base,
20
+ polyfills,
21
+ from,
22
+ async loadModule(id, base) {
23
+ return loadModule(id, base, onDependency, customJsResolver)
24
+ },
25
+ async loadStylesheet(id, sheetBase) {
26
+ let sheet = await loadStylesheet(id, sheetBase, onDependency, customCssResolver)
27
+
28
+ return sheet
29
+ },
30
+ }
27
31
  }
32
+
28
33
  async function ensureSourceDetectionRootExists(compiler) {
29
- // Verify if the `source(…)` path exists (until the glob pattern starts)
30
- if (compiler.root && compiler.root !== "none") {
31
- let globSymbols = /[*{]/;
32
- let basePath = [];
33
- for (let segment of compiler.root.pattern.split("/")) {
34
- if (globSymbols.test(segment)) {
35
- break;
36
- }
37
- basePath.push(segment);
38
- }
39
- let exists = await fsPromises
40
- .stat(path.resolve(compiler.root.base, basePath.join("/")))
41
- .then((stat) => stat.isDirectory())
42
- .catch(() => false);
43
- if (!exists) {
44
- throw new Error(`The \`source(${compiler.root.pattern})\` does not exist or is not a directory.`);
45
- }
34
+ // Verify if the `source(…)` path exists (until the glob pattern starts)
35
+ if (compiler.root && compiler.root !== "none") {
36
+ let globSymbols = /[*{]/
37
+ let basePath = []
38
+ for (let segment of compiler.root.pattern.split("/")) {
39
+ if (globSymbols.test(segment)) {
40
+ break
41
+ }
42
+
43
+ basePath.push(segment)
44
+ }
45
+
46
+ let exists = await fsPromises
47
+ .stat(path.resolve(compiler.root.base, basePath.join("/")))
48
+ .then((stat) => stat.isDirectory())
49
+ .catch(() => false)
50
+
51
+ if (!exists) {
52
+ throw new Error(
53
+ `The \`source(${compiler.root.pattern})\` does not exist or is not a directory.`,
54
+ )
46
55
  }
56
+ }
47
57
  }
48
- export async function compileAst(ast, options) {
49
- let compiler = await _compileAst(ast, createCompileOptions(options));
50
- await ensureSourceDetectionRootExists(compiler);
51
- return compiler;
58
+
59
+ export async function compileAst(
60
+ ast,
61
+ options,
62
+ ) {
63
+ let compiler = await _compileAst(ast, createCompileOptions(options))
64
+ await ensureSourceDetectionRootExists(compiler)
65
+ return compiler
52
66
  }
67
+
53
68
  export async function compile(css, options) {
54
- let compiler = await _compile(css, createCompileOptions(options));
55
- await ensureSourceDetectionRootExists(compiler);
56
- return compiler;
69
+ let compiler = await _compile(css, createCompileOptions(options))
70
+ await ensureSourceDetectionRootExists(compiler)
71
+ return compiler
57
72
  }
58
- export async function loadModule(id, base, _onDependency, customJsResolver) {
59
- if (id[0] !== ".") {
60
- let resolvedPath = await resolveJsId(id, base, customJsResolver);
61
- if (!resolvedPath) {
62
- throw new Error(`Could not resolve '${id}' from '${base}'`);
63
- }
64
- let module = await importModule(pathToFileURL(resolvedPath).href);
65
- return {
66
- path: resolvedPath,
67
- base: path.dirname(resolvedPath),
68
- module: module.default ?? module,
69
- };
70
- }
71
- let resolvedPath = await resolveJsId(id, base, customJsResolver);
73
+
74
+ export async function loadModule(
75
+ id,
76
+ base,
77
+ _onDependency,
78
+ customJsResolver,
79
+ ) {
80
+ if (id[0] !== ".") {
81
+ let resolvedPath = await resolveJsId(id, base, customJsResolver)
72
82
  if (!resolvedPath) {
73
- throw new Error(`Could not resolve '${id}' from '${base}'`);
83
+ throw new Error(`Could not resolve '${id}' from '${base}'`)
74
84
  }
75
- let module = await importModule(pathToFileURL(resolvedPath).href + "?id=" + Date.now());
85
+
86
+ let module = await importModule(pathToFileURL(resolvedPath).href)
76
87
  return {
77
- path: resolvedPath,
78
- base: path.dirname(resolvedPath),
79
- module: module.default ?? module,
80
- };
88
+ path: resolvedPath,
89
+ base: path.dirname(resolvedPath),
90
+ module: module.default ?? module,
91
+ }
92
+ }
93
+
94
+ let resolvedPath = await resolveJsId(id, base, customJsResolver)
95
+ if (!resolvedPath) {
96
+ throw new Error(`Could not resolve '${id}' from '${base}'`)
97
+ }
98
+
99
+ let module = await importModule(pathToFileURL(resolvedPath).href + "?id=" + Date.now())
100
+
101
+ return {
102
+ path: resolvedPath,
103
+ base: path.dirname(resolvedPath),
104
+ module: module.default ?? module,
105
+ }
81
106
  }
82
- async function loadStylesheet(id, base, onDependency, cssResolver) {
83
- let resolvedPath = await resolveCssId(id, base, cssResolver);
84
- if (!resolvedPath)
85
- throw new Error(`Could not resolve '${id}' from '${base}'`);
86
- onDependency(resolvedPath);
87
- let file = await fsPromises.readFile(resolvedPath, "utf-8");
88
- return {
89
- path: resolvedPath,
90
- base: path.dirname(resolvedPath),
91
- content: file,
92
- };
107
+
108
+ async function loadStylesheet(
109
+ id,
110
+ base,
111
+ onDependency,
112
+ cssResolver,
113
+ ) {
114
+ let resolvedPath = await resolveCssId(id, base, cssResolver)
115
+ if (!resolvedPath) throw new Error(`Could not resolve '${id}' from '${base}'`)
116
+
117
+ onDependency(resolvedPath)
118
+
119
+ let file = await fsPromises.readFile(resolvedPath, "utf-8")
120
+ return {
121
+ path: resolvedPath,
122
+ base: path.dirname(resolvedPath),
123
+ content: file,
124
+ }
93
125
  }
126
+
94
127
  async function importModule(path) {
95
- if (typeof globalThis.__tw_load === "function") {
96
- let module = await globalThis.__tw_load(path);
97
- if (module) {
98
- return module;
99
- }
128
+ if (typeof globalThis.__tw_load === "function") {
129
+ let module = await globalThis.__tw_load(path)
130
+ if (module) {
131
+ return module
100
132
  }
101
- return await import(__rewriteRelativeImportExtension(path));
133
+ }
134
+
135
+ return await import(path)
102
136
  }
137
+
103
138
  const cssResolver = BunEnhancedResolve.ResolverFactory.createResolver({
104
- extensions: [".css"],
105
- mainFields: ["style"],
106
- conditionNames: ["style"],
107
- });
108
- async function resolveCssId(id, base, customCssResolver) {
109
- if (typeof globalThis.__tw_resolve === "function") {
110
- let resolved = globalThis.__tw_resolve(id, base);
111
- if (resolved) {
112
- return Promise.resolve(resolved);
113
- }
139
+ extensions: [".css"],
140
+ mainFields: ["style"],
141
+ conditionNames: ["style"],
142
+ })
143
+ async function resolveCssId(
144
+ id,
145
+ base,
146
+ customCssResolver,
147
+ ) {
148
+ if (typeof globalThis.__tw_resolve === "function") {
149
+ let resolved = globalThis.__tw_resolve(id, base)
150
+ if (resolved) {
151
+ return Promise.resolve(resolved)
114
152
  }
115
- if (customCssResolver) {
116
- let customResolution = await customCssResolver(id, base);
117
- if (customResolution) {
118
- return customResolution;
119
- }
153
+ }
154
+
155
+ if (customCssResolver) {
156
+ let customResolution = await customCssResolver(id, base)
157
+ if (customResolution) {
158
+ return customResolution
120
159
  }
121
- return runResolver(cssResolver, id, base);
160
+ }
161
+
162
+ return runResolver(cssResolver, id, base)
122
163
  }
164
+
123
165
  const esmResolver = BunEnhancedResolve.ResolverFactory.createResolver({
124
- extensions: [".js", ".json", ".node", ".ts"],
125
- conditionNames: ["node", "import"],
126
- mainFields: ["module", "main"],
127
- });
166
+ extensions: [".js", ".json", ".node", ".ts"],
167
+ conditionNames: ["node", "import"],
168
+ mainFields: ["module", "main"],
169
+ })
170
+
128
171
  const cjsResolver = BunEnhancedResolve.ResolverFactory.createResolver({
129
- extensions: [".js", ".json", ".node", ".ts"],
130
- conditionNames: ["node", "require"],
131
- mainFields: ["main"],
132
- });
133
- async function resolveJsId(id, base, customJsResolver) {
134
- if (typeof globalThis.__tw_resolve === "function") {
135
- let resolved = globalThis.__tw_resolve(id, base);
136
- if (resolved) {
137
- return Promise.resolve(resolved);
138
- }
172
+ extensions: [".js", ".json", ".node", ".ts"],
173
+ conditionNames: ["node", "require"],
174
+ mainFields: ["main"],
175
+ })
176
+
177
+ async function resolveJsId(
178
+ id,
179
+ base,
180
+ customJsResolver,
181
+ ) {
182
+ if (typeof globalThis.__tw_resolve === "function") {
183
+ let resolved = globalThis.__tw_resolve(id, base)
184
+ if (resolved) {
185
+ return Promise.resolve(resolved)
139
186
  }
140
- if (customJsResolver) {
141
- let customResolution = await customJsResolver(id, base);
142
- if (customResolution) {
143
- return customResolution;
144
- }
187
+ }
188
+
189
+ if (customJsResolver) {
190
+ let customResolution = await customJsResolver(id, base)
191
+ if (customResolution) {
192
+ return customResolution
145
193
  }
146
- return runResolver(esmResolver, id, base).catch(() => runResolver(cjsResolver, id, base));
194
+ }
195
+
196
+ return runResolver(esmResolver, id, base).catch(() => runResolver(cjsResolver, id, base))
147
197
  }
148
- function runResolver(resolver, id, base) {
149
- return new Promise((resolve, reject) => resolver.resolve({}, base, id, {}, (err, result) => {
150
- if (err)
151
- return reject(err);
152
- resolve(result);
153
- }));
198
+
199
+ function runResolver(
200
+ resolver,
201
+ id,
202
+ base,
203
+ ) {
204
+ return new Promise((resolve, reject) =>
205
+ resolver.resolve({}, base, id, {}, (err, result) => {
206
+ if (err) return reject(err)
207
+ resolve(result)
208
+ }),
209
+ )
154
210
  }
@@ -1,15 +1,17 @@
1
- import * as NPath from "node:path";
2
- import * as NodeUtils from "../../node/NodeUtils.js";
3
- import * as TailwindPlugin from "./TailwindPlugin.js";
1
+ import * as NPath from "node:path"
2
+ import * as NodeUtils from "../../node/NodeUtils.js"
3
+ import * as TailwindPlugin from "./TailwindPlugin.js"
4
+
4
5
  // Append `?dir=` to module identifier to pass custom directory to scan
5
- const dirParam = URL.parse(import.meta.url)?.searchParams.get("dir");
6
- const packageJson = await NodeUtils.findClosestPackageJson(process.cwd());
6
+ const dirParam = URL.parse(import.meta.url)?.searchParams.get("dir")
7
+ const packageJson = await NodeUtils.findClosestPackageJson(process.cwd())
7
8
  const scanPath = dirParam
8
- ? NPath.resolve(process.cwd(), dirParam)
9
- : packageJson
10
- ? NPath.dirname(packageJson)
11
- : process.cwd();
9
+ ? NPath.resolve(process.cwd(), dirParam)
10
+ : packageJson
11
+ ? NPath.dirname(packageJson)
12
+ : process.cwd()
13
+
12
14
  // Export as default to be used in bunfig.toml
13
15
  export default TailwindPlugin.make({
14
- scanPath,
15
- });
16
+ scanPath,
17
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-start",
3
- "version": "0.23.0",
3
+ "version": "0.25.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "src/",
@@ -104,10 +104,12 @@ export const layerWatch = (opts?: {
104
104
  filter?: (event: FileSystem.WatchEvent) => boolean
105
105
  }) => Layer.scoped(Development, watch(opts))
106
106
 
107
+ export const option = Effect.serviceOption(Development)
108
+
107
109
  export const stream = (): Stream.Stream<DevelopmentEvent> =>
108
110
  Stream.unwrap(
109
111
  Function.pipe(
110
- Effect.serviceOption(Development),
112
+ option,
111
113
  Effect.map(
112
114
  Option.match({
113
115
  onNone: () => Stream.empty,
package/src/Entity.ts CHANGED
@@ -325,6 +325,23 @@ export function length(self: Entity): number | undefined {
325
325
  return undefined
326
326
  }
327
327
 
328
+ export function fromResponse(
329
+ response: Response,
330
+ request?: Request,
331
+ ): Entity<Effect.Effect<Uint8Array, Error, never>, Error> {
332
+ return make(
333
+ Effect.tryPromise({
334
+ try: () => response.arrayBuffer().then((buf) => new Uint8Array(buf)),
335
+ catch: (e) => (e instanceof Error ? e : new Error(String(e))),
336
+ }),
337
+ {
338
+ headers: Object.fromEntries(response.headers.entries()),
339
+ status: response.status,
340
+ url: response.url || request?.url,
341
+ },
342
+ )
343
+ }
344
+
328
345
  function mismatch(expected: Schema.Schema.Any, actual: unknown): ParseResult.ParseError {
329
346
  return new ParseResult.ParseError({
330
347
  issue: new ParseResult.Type(expected.ast, actual),