shiplightai 0.1.97 → 0.1.99

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/dist/spec/yaml.md CHANGED
@@ -85,7 +85,7 @@ A file must be either a **single-test file** (with `goal`/`statements`) or a **s
85
85
  | `base_url` | `string` | — | Base URL for relative `URL:` statements. Maps to Playwright `test.use({ baseURL })`. Applies to single-test **and** suite files. Does **not** auto-navigate — use `URL: /` to navigate. Absolute `URL:` values (`https://…`, `chrome-extension://…`) need no `base_url`. Takes precedence over `use.baseURL`. |
86
86
  | `test_case_id` | `number` | — | Links to a cloud test case for sync. |
87
87
  | `name` | `string` | — | Test title override (single-test) or suite name (suite). If set on a single-test file without `goal`, `goal` is auto-derived from `name`. |
88
- | `tags` | `string[]` | — | Playwright tags for `--grep` filtering. Each tag is prefixed with `@` in the test name. |
88
+ | `tags` | `string[]` | — | Playwright tags for `--grep` filtering, emitted as `test('…', { tag: ['@smoke'] }, …)`. Each tag is prefixed with `@` in the **generated Playwright tag**, so `smoke` and `@smoke` both select with `--grep '@smoke'`; blank entries and duplicates are dropped. Cloud reporting stores the tag exactly as written in YAML, so pick one spelling per project if you filter by tag there. On a suite file the tags go on the `describe`, and Playwright applies them to every test inside it; a suite's individual tests may also carry their own `tags`. |
89
89
  | `use` | `object` | — | Playwright `test.use()` config. Supports all Playwright use options (`baseURL`, `viewport`, `storageState`, `locale`, `timezoneId`, `httpCredentials`, etc.). |
90
90
  | `teardown` | `Statement[]` | — | Cleanup steps that run in a `finally` block, even if the test fails. Single-test only. |
91
91
  | `beforeEach` | `Statement[]` | — | Statements to run before each test. Single-test files only. See [Lifecycle Hooks](#10-lifecycle-hooks). |
@@ -733,6 +733,7 @@ suite:
733
733
  |---|---|---|---|
734
734
  | `name` | `string` | Yes | Test name. Becomes the Playwright `test()` title. |
735
735
  | `statements` | `Statement[]` | Yes | Ordered list of test steps. |
736
+ | `tags` | `string[]` | No | Playwright tags for this test alone, on top of the suite's tags. |
736
737
  | `teardown` | `Statement[]` | No | Cleanup steps in a `finally` block for this test. |
737
738
  | `parameters` | `ParameterSet[]` | No | Data sets for parameterized variants. See [Parameterized Tests](#11-parameterized-tests). |
738
739
  | `timeout` | `number` | No | Per-test timeout in milliseconds. |
@@ -744,7 +745,7 @@ suite:
744
745
  ### 9.4 Suite Transpilation Notes
745
746
 
746
747
  - Suites always transpile to `test.describe.serial()` (sequential execution). For parallel tests, use separate test files.
747
- - Tags go on the describe block name, not individual tests
748
+ - File-level `tags` go on the describe block as `{ tag: [...] }`; Playwright applies them to every test inside it. A test's own `tags` are added to that test only, and a tag already declared at suite level is not repeated on the test.
748
749
  - `test.use()` is placed outside the describe block
749
750
  - Each test gets its own `test()` function with `{ page, agent }` fixtures
750
751
 
@@ -34406,6 +34406,7 @@ const StatementSchema = lazyType(
34406
34406
  const TestGroupEntrySchema = objectType({
34407
34407
  name: stringType(),
34408
34408
  statements: arrayType(StatementSchema),
34409
+ tags: arrayType(stringType()).optional(),
34409
34410
  teardown: arrayType(StatementSchema).optional(),
34410
34411
  skip: unionType([booleanType(), stringType()]).optional(),
34411
34412
  timeout: numberType().optional(),
@@ -188805,7 +188806,7 @@ function dynamic(importFn, _options) {
188805
188806
  );
188806
188807
  return Wrapper;
188807
188808
  }
188808
- const MonacoEditor = dynamic(() => __vitePreload(() => import("./index-eFclB13U.js"), true ? [] : void 0), {});
188809
+ const MonacoEditor = dynamic(() => __vitePreload(() => import("./index-DaNac8cL.js"), true ? [] : void 0), {});
188809
188810
  const CodeEditor = ({
188810
188811
  initialCode = "",
188811
188812
  onConfirm,
@@ -201843,4 +201844,4 @@ export {
201843
201844
  We as W,
201844
201845
  reactExports as r
201845
201846
  };
201846
- //# sourceMappingURL=index-DVb6b-JE.js.map
201847
+ //# sourceMappingURL=index-BYe4hJ2h.js.map
@@ -1,4 +1,4 @@
1
- import { r as reactExports, W as We } from "./index-DVb6b-JE.js";
1
+ import { r as reactExports, W as We } from "./index-BYe4hJ2h.js";
2
2
  function _defineProperty$1(obj, key, value) {
3
3
  if (key in obj) {
4
4
  Object.defineProperty(obj, key, {
@@ -649,4 +649,4 @@ export {
649
649
  loader,
650
650
  Le as useMonaco
651
651
  };
652
- //# sourceMappingURL=index-eFclB13U.js.map
652
+ //# sourceMappingURL=index-DaNac8cL.js.map
@@ -8,7 +8,7 @@
8
8
  /* Prevent FOUC */
9
9
  body { margin: 0; background: #1a1b1e; color: #c1c2c5; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }
10
10
  </style>
11
- <script type="module" crossorigin src="/assets/index-DVb6b-JE.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-BYe4hJ2h.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-CrXycucL.css">
13
13
  </head>
14
14
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shiplightai",
3
- "version": "0.1.97",
3
+ "version": "0.1.99",
4
4
  "type": "module",
5
5
  "description": "Shiplight CLI for running and debugging .test.yaml files",
6
6
  "main": "dist/index.js",