@rezless/vitest 0.2.0 → 0.3.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.
package/NOTICE CHANGED
@@ -25,6 +25,7 @@ under their original LGPL-3.0-or-later license:
25
25
  packages/vm/src/generated/constants_table.ts (derived)
26
26
  packages/vm/src/generated/functions.ts (derived)
27
27
  packages/vm/src/generated/events.ts (derived)
28
+ packages/parser/src/generated/event-names.ts (derived)
28
29
 
29
30
  Full LGPL-3.0 text: https://www.gnu.org/licenses/lgpl-3.0.html
30
31
  Attribution detail: vendor/LICENSE-kwdb
package/README.md CHANGED
@@ -87,13 +87,19 @@ await loadScript({
87
87
  filename: 'inline.lsl', // optional, used in diagnostics
88
88
  randomSeed: 42, // optional, default 1
89
89
  owner: 'aaaa-bbbb-...', // optional, NULL_KEY default
90
+ startUnixTime: 1700000000, // optional, Unix time when the virtual clock starts, default 0
90
91
  objectKey: 'cccc-dddd-...', // optional, derived from filename
91
92
  objectName: 'StarterCube', // optional, "Object" default
92
93
  scriptName: 'greeter', // optional, derived from filename
94
+ functions: { // optional, functions outside kwdb you'll mock
95
+ llNewThing: { returns: 'integer', params: ['string'] },
96
+ },
93
97
  })
94
98
  ```
95
99
 
96
- Parse errors throw `LslParseError` with `file:line:col` location info.
100
+ Parse errors and type errors SL would refuse to compile (such as `!` on a key) throw `LslParseError` with `file:line:col` location info.
101
+
102
+ Calls to functions that aren't built in or defined by the script fail to load, as they do in Second Life. If the script calls a function that kwdb doesn't list yet, declare it in `functions` and give it an implementation with `s.mock`.
97
103
 
98
104
  ### `Script` handle
99
105
 
@@ -208,7 +214,7 @@ honored centrally in the dispatcher.
208
214
 
209
215
  * **chat**: `llSay`, `llShout`, `llWhisper`, `llOwnerSay`
210
216
  * **listen**: `llListen`, `llListenRemove`, `llListenControl`
211
- * **time**: `llSetTimerEvent`, `llSleep`, `llGetTime`, `llGetAndResetTime`, `llResetTime`
217
+ * **time**: `llSetTimerEvent`, `llSleep`, `llGetTime`, `llGetAndResetTime`, `llResetTime`, `llGetUnixTime`, `llGetTimestamp`, `llGetDate` (start at `startUnixTime` and move with the virtual clock)
212
218
  * **HTTP**: `llHTTPRequest`, `llHTTPResponse`
213
219
  * **linked**: `llMessageLinked` (full `LINK_THIS` / `LINK_SET` / `LINK_ALL_OTHERS` / `LINK_ALL_CHILDREN` / `LINK_ROOT` / specific-link routing across the linkset, with correct `sender_num`)
214
220
  * **link info**: `llGetLinkNumber`, `llGetNumberOfPrims`, `llGetLinkKey`, `llGetLinkName`
@@ -216,11 +222,11 @@ honored centrally in the dispatcher.
216
222
  * **detected**: `llDetectedKey`/`Name`/`Owner`/`Group`/`Pos`/`Rot`/`Vel`/`Type`/`LinkNumber`/`Grab`/`TouchPos`
217
223
  * **math**: `llAbs`, `llFabs`, `llRound` (banker's), `llCeil`, `llFloor`, `llPow`, `llSqrt`, `llSin`/`Cos`/`Tan`/`Asin`/`Acos`/`Atan2`, `llLog`/`Log10`, seeded `llFrand`, `llVecMag`/`Norm`/`Dist`, `llRot2Euler`/`Euler2Rot`
218
224
  * **string**: `llStringLength`, `llSubStringIndex`, `llGetSubString`, `llDeleteSubString`, `llInsertString`, `llStringTrim`, `llToLower`/`Upper`, `llReplaceSubString`, `llEscapeURL`/`UnescapeURL`
219
- * **list**: `llGetListLength`, `llList2Integer`/`Float`/`String`/`Key`/`Vector`/`Rot`, `llList2List`, `llDeleteSubList`, `llListInsertList`, `llListReplaceList`, `llListFindList`, `llDumpList2String`, `llCSV2List`, `llParseString2List`
225
+ * **list**: `llGetListLength`, `llList2Integer`/`Float`/`String`/`Key`/`Vector`/`Rot`, `llList2List`, `llDeleteSubList`, `llListInsertList`, `llListReplaceList`, `llListFindList`, `llListSort`, `llDumpList2String`, `llList2CSV`, `llCSV2List`, `llParseString2List`, `llParseStringKeepNulls`
220
226
  * **json**: `llJson2List`, `llJsonGetValue`, `llJsonSetValue`, `llJsonValueType`, `llList2Json` — full LSL JSON semantics including the FDDx-range type-tag sentinels (`JSON_OBJECT`/`ARRAY`/`NUMBER`/`STRING`/`NULL`/`TRUE`/`FALSE`/`INVALID`/`DELETE`), `JSON_APPEND`, the empty-value short-circuit (`{"k":,}` → `JSON_NULL`) on `Get`/`Type`, duplicate-key collapse on `Set`, force-fit auto-creation of nested objects/arrays through deep specifier paths, and the kept-as-is rule for nested JSON-shaped strings in `llList2Json`.
221
227
  * **identity**: `llGetOwner`, `llGetOwnerKey`, `llGetCreator`, `llGetKey`, `llGetObjectName`, `llSetObjectName`, `llGetScriptName`
222
228
  * **hash**: `llMD5String`, `llSHA1String`, `llSHA256String`, `llHMAC`
223
- * **base64**: `llStringToBase64`/`Base64ToString`, `llIntegerToBase64`/`Base64ToInteger`
229
+ * **base64**: `llStringToBase64`/`Base64ToString`, `llIntegerToBase64`/`Base64ToInteger`, `llXorBase64`
224
230
  * **object**: `llSetText`, `llSetObjectDesc`, `llGetObjectDesc`, `llDie` (kills every script in the linkset), `llResetScript`
225
231
  * **inventory**: `llGetInventoryNumber`/`Name`/`Type`/`Key`/`Creator`/`Desc`/`AcquireTime`/`PermMask` against the host prim's inventory; notecards via `llGetNotecardLine` / `llGetNumberOfNotecardLines` (correct EOF / NAK semantics, ISO 8601 UTC acquire-time strings)
226
232
  * **script control**: `llResetOtherScript`, `llSetScriptState`, `llGetScriptState` — pausing parks events for replay on resume, and the timer cadence realigns on resume so paused scripts don't get a flood of catch-up timer events
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-aggregate.js","sourceRoot":"","sources":["../src/coverage-aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-aggregate.js","sourceRoot":"","sources":["../src/coverage-aggregate.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,9 @@
12
12
  * The reporter wires this file in via `vitest.config.setupFiles` when it
13
13
  * activates; users don't have to import it themselves.
14
14
  *
15
- * Caveat — `test: { isolate: false }`: with isolation off, Vitest reuses
16
- * the same module graph across test files in a worker, so this setup
17
- * file is evaluated once and the `afterAll` registers exactly once — for
18
- * the first file's root suite only. Later files' coverage then has to
19
- * fall back to the `process.on('exit')` handler in
20
- * `coverage-registry.ts`, which under the thread pool fires after
21
- * `onTestRunEnd` and may be missing from the rendered report. If full
22
- * LSL coverage matters with `isolate: false`, prefer `pool: 'forks'`.
15
+ * Vitest re-runs setup files before every test file, including with
16
+ * `isolate: false`, so this `afterAll` registers once per file and each
17
+ * file's coverage is drained under every pool.
23
18
  */
24
19
  export {};
25
20
  //# sourceMappingURL=coverage-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-setup.d.ts","sourceRoot":"","sources":["../src/coverage-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
1
+ {"version":3,"file":"coverage-setup.d.ts","sourceRoot":"","sources":["../src/coverage-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -12,14 +12,9 @@
12
12
  * The reporter wires this file in via `vitest.config.setupFiles` when it
13
13
  * activates; users don't have to import it themselves.
14
14
  *
15
- * Caveat — `test: { isolate: false }`: with isolation off, Vitest reuses
16
- * the same module graph across test files in a worker, so this setup
17
- * file is evaluated once and the `afterAll` registers exactly once — for
18
- * the first file's root suite only. Later files' coverage then has to
19
- * fall back to the `process.on('exit')` handler in
20
- * `coverage-registry.ts`, which under the thread pool fires after
21
- * `onTestRunEnd` and may be missing from the rendered report. If full
22
- * LSL coverage matters with `isolate: false`, prefer `pool: 'forks'`.
15
+ * Vitest re-runs setup files before every test file, including with
16
+ * `isolate: false`, so this `afterAll` registers once per file and each
17
+ * file's coverage is drained under every pool.
23
18
  */
24
19
  import { afterAll } from 'vitest';
25
20
  import * as fs from 'node:fs';
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-setup.js","sourceRoot":"","sources":["../src/coverage-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,QAAQ,CAAC,GAAG,EAAE;IACZ,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAC5F,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CACpB,GAAG,EACH,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAC9E,CAAA;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"coverage-setup.js","sourceRoot":"","sources":["../src/coverage-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,QAAQ,CAAC,GAAG,EAAE;IACZ,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAC5F,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CACpB,GAAG,EACH,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAC9E,CAAA;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -14,6 +14,10 @@ import type { CoverageReport } from '@rezless/vm';
14
14
  * BRF:<total> BRH:<hit>
15
15
  * LF:<lines> LH:<lines hit>
16
16
  * end_of_record
17
+ *
18
+ * `rootDir` is the base that absolute filenames are made relative to; it
19
+ * defaults to the current working directory (the repo root under
20
+ * `pnpm test:coverage`).
17
21
  */
18
- export declare function renderLcov(reports: ReadonlyArray<CoverageReport>): string;
22
+ export declare function renderLcov(reports: ReadonlyArray<CoverageReport>, rootDir?: string): string;
19
23
  //# sourceMappingURL=lcov.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lcov.d.ts","sourceRoot":"","sources":["../../src/format/lcov.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,MAAM,CAwDzE"}
1
+ {"version":3,"file":"lcov.d.ts","sourceRoot":"","sources":["../../src/format/lcov.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAcjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EACtC,OAAO,GAAE,MAAsB,GAC9B,MAAM,CAwDR"}
@@ -1,3 +1,16 @@
1
+ import * as path from 'node:path';
2
+ /**
3
+ * Render an absolute report filename as a repo-relative POSIX path so the
4
+ * `SF:` records intersect `git diff` output (e.g. for patch-coverage tools)
5
+ * and stay portable across machines. Synthetic names — `<inline>` and
6
+ * slash-free hand-rolled names like `a.lsl` — are passed through untouched
7
+ * (mirrors `isRealFile` in coverage-aggregate.ts).
8
+ */
9
+ function sourcePath(filename, rootDir) {
10
+ if (!path.isAbsolute(filename))
11
+ return filename;
12
+ return path.relative(rootDir, filename).split(path.sep).join('/');
13
+ }
1
14
  /**
2
15
  * Render an LCOV `lcov.info` file body for one or more coverage reports.
3
16
  *
@@ -13,11 +26,15 @@
13
26
  * BRF:<total> BRH:<hit>
14
27
  * LF:<lines> LH:<lines hit>
15
28
  * end_of_record
29
+ *
30
+ * `rootDir` is the base that absolute filenames are made relative to; it
31
+ * defaults to the current working directory (the repo root under
32
+ * `pnpm test:coverage`).
16
33
  */
17
- export function renderLcov(reports) {
34
+ export function renderLcov(reports, rootDir = process.cwd()) {
18
35
  const out = [];
19
36
  for (const r of reports) {
20
- out.push(`SF:${r.filename}`);
37
+ out.push(`SF:${sourcePath(r.filename, rootDir)}`);
21
38
  let fnTotal = 0;
22
39
  let fnHit = 0;
23
40
  for (const fn of r.functions) {
@@ -1 +1 @@
1
- {"version":3,"file":"lcov.js","sourceRoot":"","sources":["../../src/format/lcov.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lcov.js","sourceRoot":"","sources":["../../src/format/lcov.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadLinkset.d.ts","sourceRoot":"","sources":["../src/loadLinkset.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AAIpB,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,CAAA;AAEhD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IAChE,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC7C,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnD;AASD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAmD7E"}
1
+ {"version":3,"file":"loadLinkset.d.ts","sourceRoot":"","sources":["../src/loadLinkset.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EAEN,OAAO,EACP,IAAI,EACJ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AAIpB,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,CAAA;AAEhD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IAChE,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC7C,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnD;AASD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAqD7E"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { parse, LslParseError } from '@rezless/parser';
3
- import { Script, Linkset, Prim, } from '@rezless/vm';
3
+ import { Script, typecheck, Linkset, Prim, } from '@rezless/vm';
4
4
  import { isCoverageEnabled } from './coverage-config.js';
5
5
  import { registerScript } from './coverage-registry.js';
6
6
  async function readScriptSource(src) {
@@ -20,6 +20,8 @@ export async function loadLinkset(input) {
20
20
  const linksetOpts = {};
21
21
  if (input.owner !== undefined)
22
22
  linksetOpts.owner = input.owner;
23
+ if (input.startUnixTime !== undefined)
24
+ linksetOpts.startUnixTime = input.startUnixTime;
23
25
  const linkset = new Linkset(linksetOpts);
24
26
  // Object.create(null) avoids prototype keys ('toString', 'constructor', …)
25
27
  // false-positive-tripping the duplicate-name check below.
@@ -43,6 +45,8 @@ export async function loadLinkset(input) {
43
45
  const { source, filename } = await readScriptSource(sInput.source);
44
46
  const { script: ast, diagnostics } = parse(source, filename);
45
47
  const errors = diagnostics.filter((d) => d.severity === 'error');
48
+ if (errors.length === 0)
49
+ errors.push(...typecheck(ast, filename, sInput.functions));
46
50
  if (errors.length > 0)
47
51
  throw new LslParseError(errors);
48
52
  // Build options without the loadLinkset-only fields. The inventory
@@ -1 +1 @@
1
- {"version":3,"file":"loadLinkset.js","sourceRoot":"","sources":["../src/loadLinkset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadLinkset.js","sourceRoot":"","sources":["../src/loadLinkset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,IAAI,GAKL,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAoCvD,KAAK,UAAU,gBAAgB,CAAC,GAAiB;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAA;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAmB;IACnD,MAAM,WAAW,GAAiE,EAAE,CAAA;IACpF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IAC9D,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;IACtF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACxC,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAA;IACrF,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,QAAQ,GAA2D,EAAE,CAAA;QAC3E,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;QAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAChE,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS;YAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;QACrF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;YAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;YACnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;YACtD,mEAAmE;YACnE,+DAA+D;YAC/D,kEAAkE;YAClE,YAAY;YACZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAA;YACrD,MAAM,IAAI,GAAkB,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;YAC/E,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,CAAC,UAAU,CAAA;YAChD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,CAAC;gBAAC,IAAmE,CAAC,UAAU;oBAC9E,aAAa,CAAA;YACjB,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC/B,IAAI,QAAQ;gBAAE,cAAc,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,SAAS,GAAG,aAAa,IAAI,CAAC,CAAC,UAAU,CAAA;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;YACzD,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;YAC/B,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,kBAAkB;oBAChE,qEAAqE,CACxE,CAAA;YACH,CAAC;YACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACpC,CAAC"}
@@ -17,7 +17,7 @@ export type LoadScriptInput = string | InlineScriptInput;
17
17
  * Coverage activates when any of: `coverage: true` in options, the Vitest
18
18
  * coverage reporter has been installed, or `LSL_COVERAGE=1` in the env.
19
19
  *
20
- * Parse errors throw `LslParseError`, which Vitest renders with the
20
+ * Parse and type errors throw `LslParseError`, which Vitest renders with the
21
21
  * offending `file:line:col`.
22
22
  */
23
23
  export declare function loadScript(input: LoadScriptInput): Promise<Script>;
@@ -1 +1 @@
1
- {"version":3,"file":"loadScript.d.ts","sourceRoot":"","sources":["../src/loadScript.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,iBAAiB,CAAA;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
1
+ {"version":3,"file":"loadScript.d.ts","sourceRoot":"","sources":["../src/loadScript.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAa,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,iBAAiB,CAAA;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBxE"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { parse, LslParseError } from '@rezless/parser';
3
- import { Script } from '@rezless/vm';
3
+ import { Script, typecheck } from '@rezless/vm';
4
4
  import { isCoverageEnabled } from './coverage-config.js';
5
5
  import { registerScript } from './coverage-registry.js';
6
6
  /**
@@ -13,7 +13,7 @@ import { registerScript } from './coverage-registry.js';
13
13
  * Coverage activates when any of: `coverage: true` in options, the Vitest
14
14
  * coverage reporter has been installed, or `LSL_COVERAGE=1` in the env.
15
15
  *
16
- * Parse errors throw `LslParseError`, which Vitest renders with the
16
+ * Parse and type errors throw `LslParseError`, which Vitest renders with the
17
17
  * offending `file:line:col`.
18
18
  */
19
19
  export async function loadScript(input) {
@@ -32,6 +32,8 @@ export async function loadScript(input) {
32
32
  }
33
33
  const { script: ast, diagnostics } = parse(source, filename);
34
34
  const errors = diagnostics.filter((d) => d.severity === 'error');
35
+ if (errors.length === 0)
36
+ errors.push(...typecheck(ast, filename, baseOptions.functions));
35
37
  if (errors.length > 0) {
36
38
  throw new LslParseError(errors);
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loadScript.js","sourceRoot":"","sources":["../src/loadScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAWvD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,IAAI,MAAc,CAAA;IAClB,IAAI,QAAgB,CAAA;IACpB,IAAI,WAA0B,CAAA;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtC,QAAQ,GAAG,KAAK,CAAA;QAChB,WAAW,GAAG,EAAE,QAAQ,EAAE,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QACrB,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAA;QACvC,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;IACtC,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAA;IAC5D,MAAM,OAAO,GAAkB,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACnE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,QAAQ;QAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"loadScript.js","sourceRoot":"","sources":["../src/loadScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAWvD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,IAAI,MAAc,CAAA;IAClB,IAAI,QAAgB,CAAA;IACpB,IAAI,WAA0B,CAAA;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtC,QAAQ,GAAG,KAAK,CAAA;QAChB,WAAW,GAAG,EAAE,QAAQ,EAAE,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QACrB,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAA;QACvC,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;IACtC,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;IACxF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAA;IAC5D,MAAM,OAAO,GAAkB,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACnE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,QAAQ;QAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,33 +1,20 @@
1
+ interface CustomMatchers<R = unknown> {
2
+ toHaveSaid(channel: number, text: string): R;
3
+ toBeInState(name: string): R;
4
+ toHaveCalledFunction(name: string, ...args: unknown[]): R;
5
+ toHaveSentHTTP(expected: {
6
+ url?: string;
7
+ method?: string;
8
+ body?: string;
9
+ }): R;
10
+ toHaveListened(channel: number, filter?: {
11
+ name?: string;
12
+ key?: string;
13
+ message?: string;
14
+ }): R;
15
+ }
1
16
  declare module 'vitest' {
2
- interface Assertion<T = any> {
3
- toHaveSaid(channel: number, text: string): T;
4
- toBeInState(name: string): T;
5
- toHaveCalledFunction(name: string, ...args: unknown[]): T;
6
- toHaveSentHTTP(expected: {
7
- url?: string;
8
- method?: string;
9
- body?: string;
10
- }): T;
11
- toHaveListened(channel: number, filter?: {
12
- name?: string;
13
- key?: string;
14
- message?: string;
15
- }): T;
16
- }
17
- interface AsymmetricMatchersContaining {
18
- toHaveSaid(channel: number, text: string): unknown;
19
- toBeInState(name: string): unknown;
20
- toHaveCalledFunction(name: string, ...args: unknown[]): unknown;
21
- toHaveSentHTTP(expected: {
22
- url?: string;
23
- method?: string;
24
- body?: string;
25
- }): unknown;
26
- toHaveListened(channel: number, filter?: {
27
- name?: string;
28
- key?: string;
29
- message?: string;
30
- }): unknown;
17
+ interface Matchers<R extends void | Promise<void> = void | Promise<void>, T = unknown> extends CustomMatchers<R> {
31
18
  }
32
19
  }
33
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"AAqKA,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG;QACzB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;QAC5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;QAC5B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QACzD,cAAc,CAAC,QAAQ,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,CAAC,CAAA;QAC7E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,CAAC,CAAA;KAC/F;IACD,UAAU,4BAA4B;QACpC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;QAClD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;QAClC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC/D,cAAc,CAAC,QAAQ,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAA;QACnF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAA;KACrG;CACF"}
1
+ {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../src/matchers.ts"],"names":[],"mappings":"AAqKA,UAAU,cAAc,CAAC,CAAC,GAAG,OAAO;IAClC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;IAC5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;IAC5B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IACzD,cAAc,CAAC,QAAQ,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAA;IAC7E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAA;CAC/F;AAED,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CACnF,SAAQ,cAAc,CAAC,CAAC,CAAC;KAAG;CAC/B"}
@@ -37,7 +37,7 @@ interface VitestLike {
37
37
  };
38
38
  setupFiles?: string[] | string;
39
39
  };
40
- /** Vitest 4 exposes per-project resolved configs here. */
40
+ /** Vitest 4+ exposes per-project resolved configs here. */
41
41
  projects?: ReadonlyArray<{
42
42
  config?: {
43
43
  setupFiles?: string[] | string;
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAWA,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEtD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC3D,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;KAC/B,CAAA;IACD,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;SAAE,CAAA;QAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;CACH;AAUD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAQ;gBAEV,IAAI,GAAE,0BAA+B;IAKjD,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAyBjC,OAAO,CAAC,eAAe;IAsBvB,YAAY,IAAI,IAAI;IAoEpB,OAAO,CAAC,cAAc;CASvB"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAWA,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEtD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC3D,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;KAC/B,CAAA;IACD,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;SAAE,CAAA;QAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;CACH;AAUD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAQ;IAEtB,YAAY,IAAI,GAAE,0BAA+B,EAGhD;IAED,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAuBhC;IAED,OAAO,CAAC,eAAe;IAsBvB,YAAY,IAAI,IAAI,CAkEnB;IAED,OAAO,CAAC,cAAc;CASvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rezless/vitest",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Vitest-style DSL for testing Linden Scripting Language (LSL) scripts.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "i-doll",
@@ -52,15 +52,15 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "@rezless/parser": "0.2.0",
56
- "@rezless/vm": "0.2.0"
55
+ "@rezless/vm": "0.3.0",
56
+ "@rezless/parser": "0.3.0"
57
57
  },
58
58
  "peerDependencies": {
59
- "vitest": "^4.1.5"
59
+ "vitest": "^5.0.5"
60
60
  },
61
61
  "devDependencies": {
62
- "typescript": "^5.7.0",
63
- "vitest": "^4.1.5"
62
+ "typescript": "^7.0.2",
63
+ "vitest": "^5.0.5"
64
64
  },
65
65
  "scripts": {
66
66
  "build": "tsc -p tsconfig.json",