@functional-examples/test 0.0.0-alpha.1 → 0.0.0-alpha.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/README.md +39 -0
- package/README.md.template +39 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/test.d.ts +2 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +9 -1
- package/dist/commands/test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runner.d.ts +5 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +61 -2
- package/dist/runner.js.map +1 -1
- package/dist/schema.d.ts +14 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +15 -0
- package/dist/schema.js.map +1 -1
- package/package.json +7 -6
package/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# @functional-examples/test
|
|
2
|
+
|
|
3
|
+
Test runner plugin for functional-examples.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @functional-examples/test
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This plugin provides test execution capabilities for functional-examples. It lets you define and run tests against your code examples to ensure they stay correct and up-to-date.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { createTestPlugin } from '@functional-examples/test';
|
|
19
|
+
import type { Config } from 'functional-examples';
|
|
20
|
+
|
|
21
|
+
const config: Config = {
|
|
22
|
+
plugins: [
|
|
23
|
+
createTestPlugin(),
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default config;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Features
|
|
31
|
+
|
|
32
|
+
- **Example validation**: Run examples to verify they work correctly
|
|
33
|
+
- **CLI integration**: Adds test commands to the functional-examples CLI
|
|
34
|
+
- **Schema validation**: Validates test metadata using Zod schemas
|
|
35
|
+
- **Configurable**: Customize test behavior per-example via metadata
|
|
36
|
+
|
|
37
|
+
## License
|
|
38
|
+
|
|
39
|
+
MIT
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# @functional-examples/test
|
|
2
|
+
|
|
3
|
+
Test runner plugin for functional-examples.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @functional-examples/test
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This plugin provides test execution capabilities for functional-examples. It lets you define and run tests against your code examples to ensure they stay correct and up-to-date.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { createTestPlugin } from '@functional-examples/test';
|
|
19
|
+
import type { Config } from 'functional-examples';
|
|
20
|
+
|
|
21
|
+
const config: Config = {
|
|
22
|
+
plugins: [
|
|
23
|
+
createTestPlugin(),
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default config;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Features
|
|
31
|
+
|
|
32
|
+
- **Example validation**: Run examples to verify they work correctly
|
|
33
|
+
- **CLI integration**: Adds test commands to the functional-examples CLI
|
|
34
|
+
- **Schema validation**: Validates test metadata using Zod schemas
|
|
35
|
+
- **Configurable**: Customize test behavior per-example via metadata
|
|
36
|
+
|
|
37
|
+
## License
|
|
38
|
+
|
|
39
|
+
MIT
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare function createTestCommands(config: ResolvedConfig, pluginOpts: R
|
|
|
15
15
|
format?: string;
|
|
16
16
|
} & {} & {
|
|
17
17
|
timeout?: number;
|
|
18
|
+
} & {} & {
|
|
19
|
+
"update-snapshots"?: boolean;
|
|
18
20
|
} & {}, Promise<never>, import("cli-forge").CommandToChildEntry<import("cli-forge").CLI<{
|
|
19
21
|
unmatched: string[];
|
|
20
22
|
'--'?: string[];
|
|
@@ -37,5 +39,7 @@ export declare function createTestCommands(config: ResolvedConfig, pluginOpts: R
|
|
|
37
39
|
format?: string;
|
|
38
40
|
} & {} & {
|
|
39
41
|
timeout?: number;
|
|
42
|
+
} & {} & {
|
|
43
|
+
"update-snapshots"?: boolean;
|
|
40
44
|
} & {}, Promise<never>, {}, undefined>>, undefined>[];
|
|
41
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,yBAAyB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAOtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAY3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc;;;;;;;sCA0DvD"}
|
package/dist/commands/list.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { cli } from 'cli-forge';
|
|
2
|
-
import { scanExamples } from 'functional-examples';
|
|
3
2
|
import { normalizeTests } from '../runner.js';
|
|
4
3
|
import { testMetadataSchema } from '../schema.js';
|
|
5
4
|
function hasTests(example) {
|
|
@@ -23,6 +22,7 @@ export function createListCommand(config) {
|
|
|
23
22
|
default: 'table',
|
|
24
23
|
}),
|
|
25
24
|
handler: async (args) => {
|
|
25
|
+
const { scanExamples } = await import('functional-examples');
|
|
26
26
|
const { examples } = await scanExamples(config);
|
|
27
27
|
const testableExamples = examples.filter(hasTests);
|
|
28
28
|
const testList = testableExamples.flatMap((example) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/test.d.ts
CHANGED
|
@@ -15,5 +15,7 @@ export declare function createTestCommand(config: ResolvedConfig, pluginOpts: Re
|
|
|
15
15
|
format?: string;
|
|
16
16
|
} & {} & {
|
|
17
17
|
timeout?: number;
|
|
18
|
+
} & {} & {
|
|
19
|
+
"update-snapshots"?: boolean;
|
|
18
20
|
} & {}, Promise<never>, {}, undefined>;
|
|
19
21
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAoB7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,yBAAyB;;;;;;;;;;;;;;;;;uCAwHtC"}
|
package/dist/commands/test.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { cli } from 'cli-forge';
|
|
2
|
-
import { scanExamples } from 'functional-examples';
|
|
3
2
|
import { normalizeTests, runTest } from '../runner.js';
|
|
4
3
|
import { testMetadataSchema } from '../schema.js';
|
|
5
4
|
function isCI() {
|
|
@@ -50,6 +49,12 @@ export function createTestCommand(config, pluginOpts) {
|
|
|
50
49
|
type: 'number',
|
|
51
50
|
description: 'Default timeout in ms',
|
|
52
51
|
default: timeout,
|
|
52
|
+
})
|
|
53
|
+
.option('update-snapshots', {
|
|
54
|
+
type: 'boolean',
|
|
55
|
+
alias: ['u'],
|
|
56
|
+
description: 'Update snapshot files with actual content',
|
|
57
|
+
default: false,
|
|
53
58
|
}),
|
|
54
59
|
handler: async (args) => {
|
|
55
60
|
const formatName = args.format ?? (isCI() ? ciReporter : defaultReporter);
|
|
@@ -61,6 +66,7 @@ export function createTestCommand(config, pluginOpts) {
|
|
|
61
66
|
}
|
|
62
67
|
const reporter = reporterFactory();
|
|
63
68
|
// Scan for examples
|
|
69
|
+
const { scanExamples } = await import('functional-examples');
|
|
64
70
|
const { examples, errors } = await scanExamples(config);
|
|
65
71
|
if (errors.length) {
|
|
66
72
|
for (const error of errors) {
|
|
@@ -88,6 +94,8 @@ export function createTestCommand(config, pluginOpts) {
|
|
|
88
94
|
for (const testCase of tests) {
|
|
89
95
|
const result = await runTest(example.id, example.rootPath, testCase, {
|
|
90
96
|
timeout: args.timeout,
|
|
97
|
+
config,
|
|
98
|
+
updateSnapshots: args['update-snapshots'],
|
|
91
99
|
});
|
|
92
100
|
await reporter.report(result, args.verbose);
|
|
93
101
|
if (result.passed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { TestPluginOptions } from './types.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function createTestPlugin(options?: TestPluginOptions): Plugin<TestMetadata>;
|
|
8
8
|
export type { Reporter, ReporterConfig, ReporterFactory, TestResult, TestSummary, } from './reporters/types.js';
|
|
9
|
-
export type { CommandStep, DirAssertions, FileAssertions, OptionsTestCase, StepsTestCase, TestAssertions, TestCase, TestMetadata, TestOptions, TestStep, } from './schema.js';
|
|
9
|
+
export type { CommandStep, DirAssertions, FileAssertions, OptionsTestCase, SnapshotAssertion, StepsTestCase, TestAssertions, TestCase, TestMetadata, TestOptions, TestStep, } from './schema.js';
|
|
10
10
|
export type { TestPluginOptions } from './types.js';
|
|
11
11
|
export { createPrettyReporter } from './reporters/pretty.js';
|
|
12
12
|
export { createTapReporter } from './reporters/tap.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqDpD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAAC,YAAY,CAAC,CAqBtB;AAGD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqDpD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAAC,YAAY,CAAC,CAqBtB;AAGD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG5E,SAAS,WAAW,CAClB,MAAwB;IAExB,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,WAAW,GAAG,KAAK,CAAC,MAA8B,CAAC;YACzD,MAAM,qCAAqC,GACzC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,WAAW,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAC3D;gBACH,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,qCAAqC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,qCAAqC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;iBAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,GAAG,MAAM,CAAC,KAAK;aAChB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA6B,EAAE;IAE/B,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;SACpD;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,oBAAoB;SAC/B;QACD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,OAAO,kBAAkB,CAAC,MAAM,EAAE;gBAChC,SAAS;gBACT,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,QAAQ;gBACpD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;gBACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;aAClC,CAAU,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG5E,SAAS,WAAW,CAClB,MAAwB;IAExB,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,WAAW,GAAG,KAAK,CAAC,MAA8B,CAAC;YACzD,MAAM,qCAAqC,GACzC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,WAAW,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAC3D;gBACH,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,qCAAqC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,qCAAqC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;iBAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,GAAG,MAAM,CAAC,KAAK;aAChB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA6B,EAAE;IAE/B,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;SACpD;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,oBAAoB;SAC/B;QACD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,OAAO,kBAAkB,CAAC,MAAM,EAAE;gBAChC,SAAS;gBACT,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,QAAQ;gBACpD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;gBACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;aAClC,CAAU,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC;AAyBD,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import type { ResolvedConfig } from '@functional-examples/devkit';
|
|
1
2
|
import type { TestCase } from './schema.js';
|
|
2
3
|
import type { TestResult } from './reporters/types.js';
|
|
3
4
|
export interface RunTestOptions {
|
|
4
5
|
timeout: number;
|
|
6
|
+
/** Resolved config for parser pipeline access (needed by snapshot assertions) */
|
|
7
|
+
config?: ResolvedConfig;
|
|
8
|
+
/** When true, overwrite existing snapshots with actual content */
|
|
9
|
+
updateSnapshots?: boolean;
|
|
5
10
|
}
|
|
6
11
|
/**
|
|
7
12
|
* Run a single test case against an example.
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAkD,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAkD,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAyQvD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA2ED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAEtE"}
|
package/dist/runner.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
|
-
import { existsSync, readFileSync, statSync } from 'fs';
|
|
3
|
-
import { isAbsolute, join } from 'path';
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'fs';
|
|
3
|
+
import { dirname, extname, isAbsolute, join } from 'path';
|
|
4
4
|
/**
|
|
5
5
|
* Execute a command and capture output
|
|
6
6
|
*/
|
|
@@ -43,6 +43,61 @@ async function executeCommand(command, options) {
|
|
|
43
43
|
function resolveAssertionPath(baseCwd, filePath) {
|
|
44
44
|
return isAbsolute(filePath) ? filePath : join(baseCwd, filePath);
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Run content through the parser pipeline to strip region markers
|
|
48
|
+
* and other parser-managed syntax, enabling region-transparent comparison.
|
|
49
|
+
*/
|
|
50
|
+
async function parseContent(content, filePath, config) {
|
|
51
|
+
if (!config)
|
|
52
|
+
return content;
|
|
53
|
+
const ext = extname(filePath);
|
|
54
|
+
const parsers = config.registry.getParsersForExtension(ext);
|
|
55
|
+
if (parsers.length === 0)
|
|
56
|
+
return content;
|
|
57
|
+
// Dynamically import to avoid hard dep on functional-examples at runtime
|
|
58
|
+
// when no snapshots are used
|
|
59
|
+
const { createInitialContext, runParsePipeline } = await import('functional-examples');
|
|
60
|
+
const ctx = createInitialContext(filePath, content);
|
|
61
|
+
const result = await runParsePipeline(ctx, parsers);
|
|
62
|
+
return result.parsed;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check snapshot assertions — compare actual file content to stored snapshot
|
|
66
|
+
* after running both through the parser pipeline (region-transparent).
|
|
67
|
+
*/
|
|
68
|
+
async function checkSnapshotAssertions(assertions, cwd, examplePath, options) {
|
|
69
|
+
const failures = [];
|
|
70
|
+
if (!assertions)
|
|
71
|
+
return failures;
|
|
72
|
+
const snapshotChecks = [
|
|
73
|
+
...(assertions.snapshot ? [assertions.snapshot] : []),
|
|
74
|
+
...(assertions.snapshots ?? []),
|
|
75
|
+
];
|
|
76
|
+
for (const snap of snapshotChecks) {
|
|
77
|
+
const actualPath = resolveAssertionPath(cwd, snap.path);
|
|
78
|
+
const snapshotPath = resolveAssertionPath(examplePath, snap.snapshot);
|
|
79
|
+
if (!existsSync(actualPath)) {
|
|
80
|
+
failures.push(`Snapshot source file not found: ${snap.path}`);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const actualContent = readFileSync(actualPath, 'utf-8');
|
|
84
|
+
if (!existsSync(snapshotPath) || options.updateSnapshots) {
|
|
85
|
+
// First run or update mode — write snapshot
|
|
86
|
+
mkdirSync(dirname(snapshotPath), { recursive: true });
|
|
87
|
+
writeFileSync(snapshotPath, actualContent, 'utf-8');
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
// Compare through parser pipeline
|
|
91
|
+
const snapshotContent = readFileSync(snapshotPath, 'utf-8');
|
|
92
|
+
const parsedActual = await parseContent(actualContent, actualPath, options.config);
|
|
93
|
+
const parsedSnapshot = await parseContent(snapshotContent, snapshotPath, options.config);
|
|
94
|
+
if (parsedActual !== parsedSnapshot) {
|
|
95
|
+
failures.push(`Snapshot mismatch for "${snap.path}" (snapshot: "${snap.snapshot}"). ` +
|
|
96
|
+
`Run with --update-snapshots to update.`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return failures;
|
|
100
|
+
}
|
|
46
101
|
/**
|
|
47
102
|
* Check assertions against actual output
|
|
48
103
|
*/
|
|
@@ -155,6 +210,8 @@ async function runSteps(exampleId, examplePath, testCase, options) {
|
|
|
155
210
|
// Use explicit assertions if provided, otherwise assert exitCode 0
|
|
156
211
|
const assertions = step.assertions ?? { exitCode: 0 };
|
|
157
212
|
const failures = checkAssertions(assertions, actual, cwd);
|
|
213
|
+
const snapshotFailures = await checkSnapshotAssertions(assertions, cwd, examplePath, options);
|
|
214
|
+
failures.push(...snapshotFailures);
|
|
158
215
|
if (failures.length > 0) {
|
|
159
216
|
return {
|
|
160
217
|
example: exampleId,
|
|
@@ -204,6 +261,8 @@ export async function runTest(exampleId, examplePath, testCase, options) {
|
|
|
204
261
|
timeout: tc.options.timeout ?? options.timeout,
|
|
205
262
|
});
|
|
206
263
|
const failures = checkAssertions(tc.assertions, actual, cwd);
|
|
264
|
+
const snapshotFailures = await checkSnapshotAssertions(tc.assertions, cwd, examplePath, options);
|
|
265
|
+
failures.push(...snapshotFailures);
|
|
207
266
|
return {
|
|
208
267
|
example: exampleId,
|
|
209
268
|
test: testCase.name,
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -7,6 +7,19 @@ declare const fileAssertionsSchema: z.ZodOptional<z.ZodObject<{
|
|
|
7
7
|
declare const dirAssertionsSchema: z.ZodOptional<z.ZodObject<{
|
|
8
8
|
path: z.ZodString;
|
|
9
9
|
}, z.core.$strict>>;
|
|
10
|
+
/**
|
|
11
|
+
* Single snapshot assertion — captures file content for comparison across runs.
|
|
12
|
+
*
|
|
13
|
+
* On first run, the snapshot file is created automatically. On subsequent runs,
|
|
14
|
+
* both the actual file and the stored snapshot are run through the parser
|
|
15
|
+
* pipeline (stripping region markers etc.) before comparison.
|
|
16
|
+
*/
|
|
17
|
+
declare const snapshotAssertionSchema: z.ZodObject<{
|
|
18
|
+
/** Path to the file to snapshot (relative to test cwd) */
|
|
19
|
+
path: z.ZodString;
|
|
20
|
+
/** Path to store the snapshot file (relative to example root) */
|
|
21
|
+
snapshot: z.ZodString;
|
|
22
|
+
}, z.core.$strict>;
|
|
10
23
|
/**
|
|
11
24
|
* Test assertions
|
|
12
25
|
*
|
|
@@ -223,6 +236,7 @@ export type CommandStep = z.infer<typeof commandStepSchema>;
|
|
|
223
236
|
export type TestStep = z.infer<typeof testStepSchema>;
|
|
224
237
|
export type FileAssertions = z.infer<typeof fileAssertionsSchema>;
|
|
225
238
|
export type DirAssertions = z.infer<typeof dirAssertionsSchema>;
|
|
239
|
+
export type SnapshotAssertion = z.infer<typeof snapshotAssertionSchema>;
|
|
226
240
|
export declare const TEST_METADATA_JSON_SCHEMA: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
227
241
|
test: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
|
|
228
242
|
/** Test name */
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,QAAA,MAAM,oBAAoB;;;;mBAAiC,CAAC;AAS5D,QAAA,MAAM,mBAAmB;;mBAAgC,CAAC;AAE1D;;;;;GAKG;AAEH,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,QAAA,MAAM,oBAAoB;;;;mBAAiC,CAAC;AAS5D,QAAA,MAAM,mBAAmB;;mBAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB;IAC3B,0DAA0D;;IAE1D,iEAAiE;;kBAEjE,CAAC;AAEH;;;;;GAKG;AAEH,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAa5B,CAAC;AAEd;;GAEG;AACH,QAAA,MAAM,kBAAkB;IACtB,4CAA4C;;IAE5C,4BAA4B;;IAE5B,8BAA8B;;kBAE9B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,iBAAiB;;;;;kBAGrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,yBAAyB;;IAEzB,4CAA4C;;IAE5C,4BAA4B;;IAE5B,8BAA8B;;IAE9B,uEAAuE;;kBAEvE,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc;IAflB,yBAAyB;;IAEzB,4CAA4C;;IAE5C,4BAA4B;;IAE5B,8BAA8B;;IAE9B,uEAAuE;;kBAOjC,CAAC;AAEzC;;GAEG;AACH,QAAA,MAAM,qBAAqB;IACzB,gBAAgB;;;;;;;;;kBAIhB,CAAC;AAEH,QAAA,MAAM,mBAAmB;IACvB,gBAAgB;;IAEhB,uDAAuD;;QAlDvD,4CAA4C;;QAE5C,4BAA4B;;QAE5B,8BAA8B;;;;QAgB9B,yBAAyB;;QAEzB,4CAA4C;;QAE5C,4BAA4B;;QAE5B,8BAA8B;;QAE9B,uEAAuE;;;kBAyBvE,CAAC;AAEH,eAAO,MAAM,cAAc;IAdzB,gBAAgB;;;;;;;;;;IAOhB,gBAAgB;;IAEhB,uDAAuD;;QAlDvD,4CAA4C;;QAE5C,4BAA4B;;QAE5B,8BAA8B;;;;QAgB9B,yBAAyB;;QAEzB,4CAA4C;;QAE5C,4BAA4B;;QAE5B,8BAA8B;;QAE9B,uEAAuE;;;oBA8BvE,CAAC;AAOH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;QA3B7B,gBAAgB;;;;;;;;;;QAOhB,gBAAgB;;QAEhB,uDAAuD;;YAlDvD,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;;;YAgB9B,yBAAyB;;YAEzB,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;YAE9B,uEAAuE;;;;QAavE,gBAAgB;;;;;;;;;;QAOhB,gBAAgB;;QAEhB,uDAAuD;;YAlDvD,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;;;YAgB9B,yBAAyB;;YAEzB,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;YAE9B,uEAAuE;;;;iBA0CvE,CAAC;AAGH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,eAAO,MAAM,yBAAyB;;QA9CpC,gBAAgB;;;;;;;;;;QAOhB,gBAAgB;;QAEhB,uDAAuD;;YAlDvD,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;;;YAgB9B,yBAAyB;;YAEzB,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;YAE9B,uEAAuE;;;;QAavE,gBAAgB;;;;;;;;;;QAOhB,gBAAgB;;QAEhB,uDAAuD;;YAlDvD,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;;;YAgB9B,yBAAyB;;YAEzB,4CAA4C;;YAE5C,4BAA4B;;YAE5B,8BAA8B;;YAE9B,uEAAuE;;;;kBA2DE,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -24,6 +24,19 @@ const dirAssertionSchema = z.strictObject({
|
|
|
24
24
|
path: z.string(),
|
|
25
25
|
});
|
|
26
26
|
const dirAssertionsSchema = dirAssertionSchema.optional();
|
|
27
|
+
/**
|
|
28
|
+
* Single snapshot assertion — captures file content for comparison across runs.
|
|
29
|
+
*
|
|
30
|
+
* On first run, the snapshot file is created automatically. On subsequent runs,
|
|
31
|
+
* both the actual file and the stored snapshot are run through the parser
|
|
32
|
+
* pipeline (stripping region markers etc.) before comparison.
|
|
33
|
+
*/
|
|
34
|
+
const snapshotAssertionSchema = z.strictObject({
|
|
35
|
+
/** Path to the file to snapshot (relative to test cwd) */
|
|
36
|
+
path: z.string(),
|
|
37
|
+
/** Path to store the snapshot file (relative to example root) */
|
|
38
|
+
snapshot: z.string(),
|
|
39
|
+
});
|
|
27
40
|
/**
|
|
28
41
|
* Test assertions
|
|
29
42
|
*
|
|
@@ -40,6 +53,8 @@ const assertionsSchema = z
|
|
|
40
53
|
files: z.array(fileAssertionSchema).optional(),
|
|
41
54
|
dir: dirAssertionsSchema,
|
|
42
55
|
directories: z.array(dirAssertionSchema).optional(),
|
|
56
|
+
snapshot: snapshotAssertionSchema.optional(),
|
|
57
|
+
snapshots: z.array(snapshotAssertionSchema).optional(),
|
|
43
58
|
not: z.lazy(() => assertionsSchema).optional(),
|
|
44
59
|
})
|
|
45
60
|
.optional();
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,YAAY,CAAC;IACZ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,0DAA0D;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,8DAA8D;AAC9D,MAAM,gBAAgB,GAAuB,CAAC;KAC3C,YAAY,CAAC;IACZ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC9C,GAAG,EAAE,mBAAmB;IACxB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACtD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC;IACxC,4CAA4C;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,4BAA4B;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,8BAA8B;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAClD,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,4CAA4C;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,4BAA4B;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,8BAA8B;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,uEAAuE;IACvE,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC3C,gBAAgB;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,iBAAiB;IAC1B,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,gBAAgB;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,uDAAuD;IACvD,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,qBAAqB;IACrB,mBAAmB;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAgBH,sCAAsC;AACtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@functional-examples/test",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Test runner plugin for functional-examples",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,19 +19,19 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"functional-examples": "0.0.0-alpha.
|
|
22
|
+
"functional-examples": "0.0.0-alpha.2"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"zod": "4.3.6",
|
|
26
26
|
"cli-forge": "1.2.0",
|
|
27
|
-
"@functional-examples/devkit": "0.0.0-alpha.
|
|
27
|
+
"@functional-examples/devkit": "0.0.0-alpha.2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "22.19.8",
|
|
31
31
|
"typescript": "^5.7.2",
|
|
32
32
|
"vitest": "^1.3.1",
|
|
33
|
-
"
|
|
34
|
-
"functional-examples": "0.0.0-alpha.
|
|
33
|
+
"functional-examples": "0.0.0-alpha.2",
|
|
34
|
+
"@functional-examples/devkit": "0.0.0-alpha.2"
|
|
35
35
|
},
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"author": {
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsc -p tsconfig.lib.json",
|
|
51
51
|
"test": "vitest run",
|
|
52
|
-
"test:watch": "vitest"
|
|
52
|
+
"test:watch": "vitest",
|
|
53
|
+
"extract-docs": "typedoc --options typedoc.json"
|
|
53
54
|
}
|
|
54
55
|
}
|