@fougere/testing 0.8.2-alpha.0 → 0.8.4-alpha.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/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { boot } from '@fougere/core/node';
1
+ import { boot } from '@fougere/compiler';
2
2
  import { createContainer } from '@fougere/container';
3
3
  import { resolveStorage } from '@fougere/defaults';
4
4
  import { installStubs } from './stub.js';
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/gql.js CHANGED
@@ -2,7 +2,7 @@ import { Shapes, Role, Visibility } from '@fougere/schema';
2
2
  /** The scalar fields of an entity, as a GraphQL selection. */
3
3
  export function selectionOf(entity) {
4
4
  return Object.entries(Visibility.of(entity.getFields()).output)
5
- .filter(([, field]) => !Role.of(field).relation)
5
+ .filter(([, field]) => !Role.of(field).isRelation)
6
6
  .map(([name]) => name)
7
7
  .join(' ');
8
8
  }
@@ -67,7 +67,7 @@ export function mutationFor(schema, entity, op, sent) {
67
67
  /** The fields the entity declares as a bounded set — GraphQL turns each into an enum. */
68
68
  function enumsOf(entity) {
69
69
  return new Set(Object.entries(entity.getFields())
70
- .filter(([, field]) => { const base = Shapes.of(field.shape).base; return base?.type === 'string' && Array.isArray(base.enum); })
70
+ .filter(([, field]) => Shapes.typeOf(field.shape) === 'choice')
71
71
  .map(([name]) => name));
72
72
  }
73
73
  /** A JS value as a GraphQL literal. */
package/dist/gql.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","sourceRoot":"","sources":["../src/gql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gql.js","sourceRoot":"","sources":["../src/gql.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAIA,4DAA4D;AAC5D,MAAM,WAAW,KAAK;IACpB,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAmC,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,gCAAgC;AAChC,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvD;AAED,uDAAuD;AACvD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAQtE;AAED,sDAAsD;AACtD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAEzF"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D,MAAM,WAAW,KAAK;IACpB,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAmC,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,gCAAgC;AAChC,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvD;AAED,uDAAuD;AACvD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAQtE;AAED,sDAAsD;AACtD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAEzF"}
package/dist/scope.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { dirname, join, sep } from 'node:path';
3
- import { DEFAULT_CONVENTIONS, loadConfig, resolveConventions } from '@fougere/core/node';
3
+ import { DEFAULT_CONVENTIONS, resolveConventions } from '@fougere/core';
4
+ import { loadConfig } from '@fougere/core/node';
4
5
  /** The frond a path sits in, or nothing. */
5
6
  export function frondOf(path, frondsDir = DEFAULT_CONVENTIONS.fronds) {
6
7
  const parts = path.split(sep);
package/dist/scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUzF,4CAA4C;AAC5C,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,SAAS,GAAW,mBAAmB,CAAC,MAAM;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7G,QAAQ,GAAG,EAAE,CAAC;QACd,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,sFAAsF;IACtF,mCAAmC;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAA4B;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAUhD,4CAA4C;AAC5C,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,SAAS,GAAW,mBAAmB,CAAC,MAAM;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7G,QAAQ,GAAG,EAAE,CAAC;QACd,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,sFAAsF;IACtF,mCAAmC;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAA4B;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/testing",
3
- "version": "0.8.2-alpha.0",
3
+ "version": "0.8.4-alpha.0",
4
4
  "description": "Tests derived from the declaration — cases, stubs and a gradient of realities.",
5
5
  "keywords": [
6
6
  "fougere",
@@ -34,19 +34,20 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "json-schema-faker": "^0.6.3",
37
- "@fougere/core": "0.8.2-alpha.0",
38
- "@fougere/container": "0.8.2-alpha.0",
39
- "@fougere/schema": "0.8.2-alpha.0",
40
- "@fougere/defaults": "0.8.2-alpha.0",
41
- "@fougere/transport-http": "0.8.2-alpha.0",
42
- "@fougere/app": "0.8.2-alpha.0"
37
+ "@fougere/container": "0.8.4-alpha.0",
38
+ "@fougere/core": "0.8.4-alpha.0",
39
+ "@fougere/transport-http": "0.8.4-alpha.0",
40
+ "@fougere/defaults": "0.8.4-alpha.0",
41
+ "@fougere/compiler": "0.8.4-alpha.0",
42
+ "@fougere/schema": "0.8.4-alpha.0",
43
+ "@fougere/app": "0.8.4-alpha.0"
43
44
  },
44
45
  "publishConfig": {
45
46
  "access": "public"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "vitest": ">=2",
49
- "@fougere/adapter-graphql": "0.8.2-alpha.0"
50
+ "@fougere/adapter-graphql": "0.8.4-alpha.0"
50
51
  },
51
52
  "peerDependenciesMeta": {
52
53
  "vitest": {
@@ -58,7 +59,7 @@
58
59
  },
59
60
  "devDependencies": {
60
61
  "vitest": "^4.1.0",
61
- "@fougere/adapter-graphql": "0.8.2-alpha.0"
62
+ "@fougere/adapter-graphql": "0.8.4-alpha.0"
62
63
  },
63
64
  "scripts": {
64
65
  "build": "rm -rf dist && tsc",
package/src/app.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type App } from '@fougere/core';
2
- import { boot } from '@fougere/core/node';
2
+ import { boot } from '@fougere/compiler';
3
3
  import { createContainer } from '@fougere/container';
4
4
  import { resolveStorage, type DbConfig } from '@fougere/defaults';
5
5
  import { installStubs, type Port, type Stub } from './stub.js';
package/src/gql.ts CHANGED
@@ -16,7 +16,7 @@ interface Introspectable {
16
16
  /** The scalar fields of an entity, as a GraphQL selection. */
17
17
  export function selectionOf(entity: SchemaView): string {
18
18
  return Object.entries(Visibility.of(entity.getFields()).output)
19
- .filter(([, field]) => !Role.of(field as Field).relation)
19
+ .filter(([, field]) => !Role.of(field as Field).isRelation)
20
20
  .map(([name]) => name)
21
21
  .join(' ');
22
22
  }
@@ -93,7 +93,7 @@ export function mutationFor(
93
93
  /** The fields the entity declares as a bounded set — GraphQL turns each into an enum. */
94
94
  function enumsOf(entity: SchemaView): Set<string> {
95
95
  return new Set(Object.entries(entity.getFields())
96
- .filter(([, field]) => { const base = Shapes.of(field.shape).base; return base?.type === 'string' && Array.isArray(base.enum); })
96
+ .filter(([, field]) => Shapes.typeOf(field.shape) === 'choice')
97
97
  .map(([name]) => name));
98
98
  }
99
99
 
package/src/scope.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { dirname, join, sep } from 'node:path';
3
- import { DEFAULT_CONVENTIONS, loadConfig, resolveConventions } from '@fougere/core/node';
3
+ import { DEFAULT_CONVENTIONS, resolveConventions } from '@fougere/core';
4
+ import { loadConfig } from '@fougere/core/node';
4
5
 
5
6
  /** What a test file's position states about its subject. */
6
7
  export interface Scope {