@scenetest/scenes 0.1.2 → 0.2.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 (64) hide show
  1. package/dist/__tests__/markdown-scene.test.js +134 -2
  2. package/dist/__tests__/markdown-scene.test.js.map +1 -1
  3. package/dist/__tests__/selectors.test.d.ts +2 -0
  4. package/dist/__tests__/selectors.test.d.ts.map +1 -0
  5. package/dist/__tests__/selectors.test.js +165 -0
  6. package/dist/__tests__/selectors.test.js.map +1 -0
  7. package/dist/__tests__/swarm.test.js +1 -0
  8. package/dist/__tests__/swarm.test.js.map +1 -1
  9. package/dist/__tests__/team-manager.test.d.ts +2 -0
  10. package/dist/__tests__/team-manager.test.d.ts.map +1 -0
  11. package/dist/__tests__/team-manager.test.js +180 -0
  12. package/dist/__tests__/team-manager.test.js.map +1 -0
  13. package/dist/__tests__/warmup.test.d.ts +2 -0
  14. package/dist/__tests__/warmup.test.d.ts.map +1 -0
  15. package/dist/__tests__/warmup.test.js +170 -0
  16. package/dist/__tests__/warmup.test.js.map +1 -0
  17. package/dist/cli.js +37 -1
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config.d.ts +21 -2
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +54 -4
  22. package/dist/config.js.map +1 -1
  23. package/dist/index.d.ts +3 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/markdown-scene.d.ts +2 -0
  28. package/dist/markdown-scene.d.ts.map +1 -1
  29. package/dist/markdown-scene.js +24 -7
  30. package/dist/markdown-scene.js.map +1 -1
  31. package/dist/prompt-generator.d.ts +59 -0
  32. package/dist/prompt-generator.d.ts.map +1 -0
  33. package/dist/prompt-generator.js +517 -0
  34. package/dist/prompt-generator.js.map +1 -0
  35. package/dist/reactive.d.ts +2 -1
  36. package/dist/reactive.d.ts.map +1 -1
  37. package/dist/reactive.js +22 -53
  38. package/dist/reactive.js.map +1 -1
  39. package/dist/runner.d.ts +8 -2
  40. package/dist/runner.d.ts.map +1 -1
  41. package/dist/runner.js +70 -3
  42. package/dist/runner.js.map +1 -1
  43. package/dist/scene.d.ts +8 -1
  44. package/dist/scene.d.ts.map +1 -1
  45. package/dist/scene.js +6 -15
  46. package/dist/scene.js.map +1 -1
  47. package/dist/selectors.d.ts.map +1 -1
  48. package/dist/selectors.js +8 -39
  49. package/dist/selectors.js.map +1 -1
  50. package/dist/swarm.d.ts +1 -1
  51. package/dist/swarm.d.ts.map +1 -1
  52. package/dist/swarm.js +10 -1
  53. package/dist/swarm.js.map +1 -1
  54. package/dist/team-manager.d.ts +28 -5
  55. package/dist/team-manager.d.ts.map +1 -1
  56. package/dist/team-manager.js +94 -15
  57. package/dist/team-manager.js.map +1 -1
  58. package/dist/types.d.ts +92 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/warmup.d.ts +61 -0
  61. package/dist/warmup.d.ts.map +1 -0
  62. package/dist/warmup.js +186 -0
  63. package/dist/warmup.js.map +1 -0
  64. package/package.json +2 -2
package/dist/warmup.js ADDED
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Actor warmup — run login (or other setup) once per actor, on first use,
3
+ * capture the resulting storageState, and reuse it for subsequent scenes.
4
+ *
5
+ * Warmup is lazy: nothing runs at startup. The first time a scene creates
6
+ * a context for an actor with `warmup`, the cache runs the warmup and
7
+ * stores the result. Same actor key in a later scene gets the cached state.
8
+ */
9
+ import { getMacro } from './dsl.js';
10
+ import { resolveSelector } from './selectors.js';
11
+ // ---------------------------------------------------------------------------
12
+ // WarmupCache — lazy, deduplicating cache
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Lazy warmup cache. Runs each actor's warmup at most once (keyed by
16
+ * actor `key`), on the first scene that needs it.
17
+ *
18
+ * Concurrent requests for the same key share the same in-flight promise,
19
+ * so parallel scenes never double-warmup.
20
+ */
21
+ export class WarmupCache {
22
+ cache = new Map();
23
+ /**
24
+ * Get cached warmup state for an actor, running warmup on first request.
25
+ * Returns `undefined` if the actor has no warmup configured.
26
+ */
27
+ async ensure(browser, config, baseUrl, actionTimeout) {
28
+ if (!config.warmup)
29
+ return undefined;
30
+ const existing = this.cache.get(config.key);
31
+ if (existing)
32
+ return existing;
33
+ const start = Date.now();
34
+ const promise = runActorWarmup(browser, config, baseUrl, actionTimeout)
35
+ .then(state => {
36
+ console.log(` ✓ warmup: ${config.key} (${Date.now() - start}ms)`);
37
+ return state;
38
+ })
39
+ .catch(err => {
40
+ // Remove failed entry so it can be retried
41
+ this.cache.delete(config.key);
42
+ const msg = err instanceof Error ? err.message : String(err);
43
+ console.error(` ✗ warmup failed: ${config.key} — ${msg}`);
44
+ throw err;
45
+ });
46
+ this.cache.set(config.key, promise);
47
+ return promise;
48
+ }
49
+ /** Number of cached warmup states (for testing). */
50
+ get size() {
51
+ return this.cache.size;
52
+ }
53
+ }
54
+ // ---------------------------------------------------------------------------
55
+ // executeMacroOnPage — lightweight imperative executor
56
+ // ---------------------------------------------------------------------------
57
+ /**
58
+ * Interpolate `[self.field]` references in a DSL line with actor config values.
59
+ */
60
+ function interpolateSelf(line, config) {
61
+ return line.replace(/\[self\.([\w]+)\]/g, (_match, field) => {
62
+ const value = config[field];
63
+ if (value === undefined) {
64
+ throw new Error(`[self.${field}] — actor "${config.key}" has no field "${field}"`);
65
+ }
66
+ return String(value);
67
+ });
68
+ }
69
+ /**
70
+ * Execute a sequence of DSL action lines on a bare Playwright page.
71
+ *
72
+ * Supports the subset of actions needed for login flows:
73
+ * openTo, see, seeText, click, typeInto, wait.
74
+ *
75
+ * Interpolates `[self.field]` for actor credentials.
76
+ */
77
+ export async function executeMacroOnPage(page, actions, config, actionTimeout) {
78
+ for (const raw of actions) {
79
+ const line = interpolateSelf(raw, config).trim();
80
+ if (!line || line.startsWith('#') || line.startsWith('//'))
81
+ continue;
82
+ const spaceIdx = line.indexOf(' ');
83
+ const action = spaceIdx === -1 ? line : line.slice(0, spaceIdx);
84
+ const rest = spaceIdx === -1 ? '' : line.slice(spaceIdx + 1).trim();
85
+ switch (action) {
86
+ case 'openTo':
87
+ await page.goto(rest, { timeout: actionTimeout });
88
+ break;
89
+ case 'see': {
90
+ const locator = resolveSelector(page, rest);
91
+ await locator.waitFor({ state: 'visible', timeout: actionTimeout });
92
+ break;
93
+ }
94
+ case 'seeText':
95
+ await page.getByText(rest).first().waitFor({ state: 'visible', timeout: actionTimeout });
96
+ break;
97
+ case 'click': {
98
+ const locator = resolveSelector(page, rest);
99
+ await locator.click({ timeout: actionTimeout });
100
+ break;
101
+ }
102
+ case 'typeInto': {
103
+ // Last token is value, everything before is selector
104
+ const { selector, value } = extractSelectorAndValue(rest);
105
+ await resolveSelector(page, selector).fill(value, { timeout: actionTimeout });
106
+ break;
107
+ }
108
+ case 'wait': {
109
+ const ms = parseInt(rest, 10);
110
+ if (isNaN(ms))
111
+ throw new Error(`warmup: wait requires a number, got: ${rest}`);
112
+ await new Promise(r => setTimeout(r, ms));
113
+ break;
114
+ }
115
+ default:
116
+ throw new Error(`warmup: unsupported action "${action}" — only openTo, see, seeText, click, typeInto, wait are supported`);
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * Extract selector and value from a "selector value" string.
122
+ * Last token (possibly quoted) is the value; everything before is the selector.
123
+ */
124
+ function extractSelectorAndValue(rest) {
125
+ const trimmed = rest.trim();
126
+ // Check for quoted last token
127
+ const lastChar = trimmed[trimmed.length - 1];
128
+ if (lastChar === "'" || lastChar === '"') {
129
+ let i = trimmed.length - 2;
130
+ while (i >= 0 && trimmed[i] !== lastChar)
131
+ i--;
132
+ if (i >= 0) {
133
+ return {
134
+ selector: trimmed.slice(0, i).trim(),
135
+ value: trimmed.slice(i + 1, -1),
136
+ };
137
+ }
138
+ }
139
+ // No quotes — last word is the value
140
+ const lastSpace = trimmed.lastIndexOf(' ');
141
+ if (lastSpace === -1) {
142
+ throw new Error(`warmup typeInto: expected "selector value", got: ${rest}`);
143
+ }
144
+ return {
145
+ selector: trimmed.slice(0, lastSpace).trim(),
146
+ value: trimmed.slice(lastSpace + 1),
147
+ };
148
+ }
149
+ // ---------------------------------------------------------------------------
150
+ // runActorWarmup — single actor
151
+ // ---------------------------------------------------------------------------
152
+ /**
153
+ * Run warmup for a single actor: create temp context, execute warmup,
154
+ * capture storageState, close context.
155
+ */
156
+ export async function runActorWarmup(browser, config, baseUrl, actionTimeout) {
157
+ const context = await browser.newContext({
158
+ baseURL: baseUrl,
159
+ });
160
+ try {
161
+ const page = await context.newPage();
162
+ if (typeof config.warmup === 'function') {
163
+ // Function warmup
164
+ await config.warmup(page, config);
165
+ }
166
+ else if (typeof config.warmup === 'string') {
167
+ // Macro warmup
168
+ const macro = getMacro(config.warmup);
169
+ if (!macro) {
170
+ throw new Error(`warmup: macro "${config.warmup}" not found for actor "${config.key}". ` +
171
+ `Register it with defineMacro('${config.warmup}', [...]) before scenes run.`);
172
+ }
173
+ await executeMacroOnPage(page, macro, config, actionTimeout);
174
+ }
175
+ else {
176
+ throw new Error(`warmup: actor "${config.key}" has invalid warmup type: ${typeof config.warmup}`);
177
+ }
178
+ // Capture storage state
179
+ const state = await context.storageState();
180
+ return state;
181
+ }
182
+ finally {
183
+ await context.close();
184
+ }
185
+ }
186
+ //# sourceMappingURL=warmup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.js","sourceRoot":"","sources":["../src/warmup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAuBhD,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAA;IAExD;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,OAAgB,EAChB,MAAmB,EACnB,OAAe,EACf,aAAqB;QAErB,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;aACpE,IAAI,CAAC,KAAK,CAAC,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,CAAA;YACpE,OAAO,KAAK,CAAA;QACd,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,2CAA2C;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5D,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAA;YAC5D,MAAM,GAAG,CAAA;QACX,CAAC,CAAC,CAAA;QAEJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACnC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,oDAAoD;IACpD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;CACF;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,MAAmB;IACxD,OAAO,IAAI,CAAC,OAAO,CACjB,oBAAoB,EACpB,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,MAAM,CAAC,GAAG,mBAAmB,KAAK,GAAG,CAAC,CAAA;QACpF,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CACF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAU,EACV,OAAiB,EACjB,MAAmB,EACnB,aAAqB;IAErB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAQ;QAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEnE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBACjD,MAAK;YAEP,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC3C,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBACnE,MAAK;YACP,CAAC;YAED,KAAK,SAAS;gBACZ,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBACxF,MAAK;YAEP,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC3C,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBAC/C,MAAK;YACP,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,qDAAqD;gBACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;gBACzD,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBAC7E,MAAK;YACP,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAC7B,IAAI,KAAK,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAA;gBAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBACzC,MAAK;YACP,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,oEAAoE,CAAC,CAAA;QAC9H,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAE3B,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,CAAC,EAAE,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC,CAAA;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;KACpC,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,MAAmB,EACnB,OAAe,EACf,aAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxC,kBAAkB;YAClB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,eAAe;YACf,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,kBAAkB,MAAM,CAAC,MAAM,0BAA0B,MAAM,CAAC,GAAG,KAAK;oBACxE,iCAAiC,MAAM,CAAC,MAAM,8BAA8B,CAC7E,CAAA;YACH,CAAC;YACD,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,GAAG,8BAA8B,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACnG,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,EAAkB,CAAA;QAC1D,OAAO,KAAK,CAAA;IACd,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scenetest/scenes",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "CLI tool for running scenetest scene specs",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -36,7 +36,7 @@
36
36
  "commander": "^12.0.0",
37
37
  "glob": "^10.3.10",
38
38
  "jiti": "^2.4.0",
39
- "@scenetest/checks": "0.1.2"
39
+ "@scenetest/checks": "0.2.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "typescript": "^5.3.0",