@systemfsoftware/storybook-gherkin 4.0.1 → 4.0.2

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
  # @systemfsoftware/storybook-gherkin
2
2
 
3
+ ## 4.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - A step whose story is left mid-step (Storybook aborts the play, for example when the visit moves to another story) now always settles the promise handed to Storybook's `step`. Before, an abort that landed just as a step started could leave that promise pending, so Storybook waited on it forever.
8
+
3
9
  ## 4.0.1
4
10
 
5
11
  ### Patch Changes
package/dist/index.mjs CHANGED
@@ -229,7 +229,7 @@ const runStep = (step, values, stepCtx) => {
229
229
  const label = `${displayKeyword(step.model)} ${renderStepText(step.model, values)}`;
230
230
  return Deferred.make().pipe(Effect.flatMap((done) => {
231
231
  const bridge = () => Effect.runPromiseExit(Effect.flatten(Deferred.await(done))).then(squashExit);
232
- return Effect.forkChild(step.run(values, stepCtx).pipe(Effect.exit, Effect.flatMap((exit) => Deferred.succeed(done, exit)), Effect.ensuring(Deferred.interrupt(done).pipe(Effect.asVoid)))).pipe(Effect.flatMap((fiber) => Effect.promise(() => Promise.resolve(stepCtx.step(label, bridge))).pipe(Effect.flatMap(() => Fiber.join(fiber)), Effect.ensuring(Fiber.interrupt(fiber).pipe(Effect.asVoid)))));
232
+ return Effect.forkChild(step.run(values, stepCtx).pipe(Effect.exit, Effect.flatMap((exit) => Deferred.succeed(done, exit)), Effect.ensuring(Deferred.interrupt(done).pipe(Effect.asVoid)))).pipe(Effect.flatMap((fiber) => Effect.promise(() => Promise.resolve(stepCtx.step(label, bridge))).pipe(Effect.flatMap(() => Fiber.join(fiber)), Effect.ensuring(Fiber.interrupt(fiber).pipe(Effect.asVoid)))), Effect.ensuring(Deferred.interrupt(done).pipe(Effect.asVoid)));
233
233
  }));
234
234
  };
235
235
  const executeSteps = (ordered, values, ctx) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@systemfsoftware/storybook-gherkin",
3
3
  "license": "Apache-2.0",
4
- "version": "4.0.1",
4
+ "version": "4.0.2",
5
5
  "author": "Ryan Lee <drdgvhbh@gmail.com>",
6
6
  "repository": {
7
7
  "type": "git",
@@ -43,19 +43,25 @@
43
43
  "storybook": ">=10.0.0"
44
44
  },
45
45
  "devDependencies": {
46
+ "@systemfsoftware/vitest": "^0.1.0",
46
47
  "@microsoft/api-extractor": "^7.59.1",
47
48
  "@storybook/addon-vitest": "^10.6.0",
48
49
  "@storybook/react-vite": "^10.6.0",
49
50
  "@systemfsoftware/arethetypeswrong-cli": "^4.2.0",
50
- "@systemfsoftware/oxlint-config-recommended": "^2.0.2",
51
+ "@systemfsoftware/conformance-spec": "^0.1.0",
52
+ "@systemfsoftware/effect-gherkin-spec": "^5.0.0",
53
+ "@systemfsoftware/effect-sim-kernel": "^0.1.1",
54
+ "@systemfsoftware/oxlint-config-recommended": "^3.1.0",
51
55
  "@systemfsoftware/tsconfig": "^2.0.1",
52
56
  "@systemfsoftware/tsdown-config": "^0.1.0",
57
+ "@systemfsoftware/vitest-config": "^0.1.0",
53
58
  "@types/node": "^26",
54
59
  "@types/react": "^19.3.0",
55
60
  "@types/react-dom": "^19.3.0",
56
61
  "@vitest/browser": "^5",
57
62
  "@vitest/browser-playwright": "^5",
58
63
  "effect": "4.0.0-rc.117",
64
+ "jsdom": "29.1.1",
59
65
  "oxlint": "~1.82.0",
60
66
  "playwright": "^1",
61
67
  "react": "^19.3.0",
@@ -79,6 +85,7 @@
79
85
  "attw": "attw --pack .",
80
86
  "dts:check": "node scripts/check-dts.mjs",
81
87
  "storybook": "storybook dev -p 6006 --no-open",
88
+ "test": "vitest run --project conformance",
82
89
  "test:browser": "pnpm build && vitest run",
83
90
  "api:check": "tsdown -l warn && api-extractor-quiet run",
84
91
  "api:update": "api-extractor run --local"