@abide/abide 0.31.0 → 0.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # abide
2
2
 
3
+ ## 0.31.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a9f7b3b`](https://github.com/briancray/abide/commit/a9f7b3b09f1db15fa784844a2672b1058dde2b25) - stop the type-check shadow merging a semicolon-less call into the next component ([`7d863d7`](https://github.com/briancray/abide/commit/7d863d7b1f2d4d973a5eafd94cf5002fdeb519c4))
8
+
3
9
  ## 0.31.0
4
10
 
5
11
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abide/abide",
3
- "version": "0.31.0",
3
+ "version": "0.31.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Isomorphic multimodal HTTP framework built for humans and machines in a single Bun runtime",
@@ -332,8 +332,13 @@ function emitNode(node: TemplateNode, builder: Builder): void {
332
332
  offending expression (an annotated target reports the error on the RHS,
333
333
  unlike an object literal which reports it on the key). */
334
334
  for (const prop of node.props) {
335
+ /* Lead with a defensive `;`: this IIFE is the one shadow emission that
336
+ starts with `(`, so without it a preceding scope statement left
337
+ unterminated (a script ending in a call with no trailing semicolon,
338
+ e.g. `effect(() => …)`) merges across the newline into `effect(…)(…)`
339
+ — a spurious "not callable" on the author's last statement. */
335
340
  builder.raw(
336
- `((__prop: Parameters<typeof ${node.name}>[0][${JSON.stringify(prop.name)}]) => {})(`,
341
+ `;((__prop: Parameters<typeof ${node.name}>[0][${JSON.stringify(prop.name)}]) => {})(`,
337
342
  )
338
343
  builder.expr(prop.code, prop.loc)
339
344
  builder.raw(');\n')