@cedarjs/testing 5.0.3 → 5.0.4-next.167

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 (84) hide show
  1. package/config/jest/api/apiBabelConfig.d.ts.map +1 -1
  2. package/config/jest/api/apiBabelConfig.js +1 -3
  3. package/config/jest/api/jest-preset.d.ts.map +1 -1
  4. package/config/jest/api/jest-preset.js +38 -3
  5. package/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -1
  6. package/config/jest/babelPlugins/babel-plugin-redwood-cell.js +2 -1
  7. package/config/jest/web/RedwoodWebJestEnv.d.ts +2 -2
  8. package/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -1
  9. package/config/jest/web/RedwoodWebJestEnv.js +12 -7
  10. package/config/jest/web/jest-fixed-jsdom.d.js +1 -0
  11. package/config/jest/web/jest-preset.d.ts.map +1 -1
  12. package/config/jest/web/jest-preset.js +135 -30
  13. package/config/jest/web/jest.setup.d.ts +0 -1
  14. package/config/jest/web/jest.setup.d.ts.map +1 -1
  15. package/config/jest/web/jest.setup.js +0 -1
  16. package/dist/api/vitest/CedarApiVitestEnv.js +1 -1
  17. package/dist/api/vitest/vite-plugin-cedar-vitest-api-config.js +7 -7
  18. package/dist/api/vitest/vitest-api.setup.js +4 -4
  19. package/dist/cjs/api/vitest/CedarApiVitestEnv.js +1 -1
  20. package/dist/cjs/api/vitest/vite-plugin-cedar-vitest-api-config.js +7 -7
  21. package/dist/cjs/api/vitest/vitest-api.setup.js +4 -4
  22. package/dist/cjs/config/jest/api/apiBabelConfig.d.ts.map +1 -1
  23. package/dist/cjs/config/jest/api/apiBabelConfig.js +1 -3
  24. package/dist/cjs/config/jest/api/jest-preset.d.ts.map +1 -1
  25. package/dist/cjs/config/jest/api/jest-preset.js +38 -3
  26. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -1
  27. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.js +2 -1
  28. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts +2 -2
  29. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -1
  30. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.js +12 -7
  31. package/dist/cjs/config/jest/web/jest-fixed-jsdom.d.js +1 -0
  32. package/dist/cjs/config/jest/web/jest-preset.d.ts.map +1 -1
  33. package/dist/cjs/config/jest/web/jest-preset.js +135 -30
  34. package/dist/cjs/config/jest/web/jest.setup.d.ts +0 -1
  35. package/dist/cjs/config/jest/web/jest.setup.d.ts.map +1 -1
  36. package/dist/cjs/config/jest/web/jest.setup.js +0 -1
  37. package/dist/cjs/web/MockProviders.js +9 -3
  38. package/dist/cjs/web/mockRequests.d.ts +60 -18
  39. package/dist/cjs/web/mockRequests.d.ts.map +1 -1
  40. package/dist/cjs/web/mockRequests.js +107 -36
  41. package/dist/cjs/web/vitest/index.js +3 -0
  42. package/dist/cjs/web/vitest/vite-plugin-cedar-vitest-web-config.js +51 -0
  43. package/dist/cjs/web/vitest/vitest-web.setup.js +19 -0
  44. package/dist/config/jest/api/apiBabelConfig.d.ts.map +1 -1
  45. package/dist/config/jest/api/apiBabelConfig.js +1 -3
  46. package/dist/config/jest/api/index.js +5 -1
  47. package/dist/config/jest/api/jest-preset.d.ts.map +1 -1
  48. package/dist/config/jest/api/jest-preset.js +38 -3
  49. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -1
  50. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.js +2 -1
  51. package/dist/config/jest/jest-serial-runner.js +5 -1
  52. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts +2 -2
  53. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -1
  54. package/dist/config/jest/web/RedwoodWebJestEnv.js +2 -7
  55. package/dist/config/jest/web/index.js +5 -1
  56. package/dist/config/jest/web/jest-fixed-jsdom.d.js +0 -0
  57. package/dist/config/jest/web/jest-preset.d.ts.map +1 -1
  58. package/dist/config/jest/web/jest-preset.js +135 -30
  59. package/dist/config/jest/web/jest.setup.d.ts +0 -1
  60. package/dist/config/jest/web/jest.setup.d.ts.map +1 -1
  61. package/dist/config/jest/web/jest.setup.js +0 -1
  62. package/dist/config/jest/web/resolver.js +5 -1
  63. package/dist/web/MockProviders.js +9 -3
  64. package/dist/web/mockRequests.d.ts +60 -18
  65. package/dist/web/mockRequests.d.ts.map +1 -1
  66. package/dist/web/mockRequests.js +108 -37
  67. package/dist/web/vitest/index.d.ts +1 -0
  68. package/dist/web/vitest/index.d.ts.map +1 -1
  69. package/dist/web/vitest/index.js +2 -0
  70. package/dist/web/vitest/vite-plugin-cedar-vitest-web-config.d.ts +12 -0
  71. package/dist/web/vitest/vite-plugin-cedar-vitest-web-config.d.ts.map +1 -0
  72. package/dist/web/vitest/vite-plugin-cedar-vitest-web-config.js +16 -0
  73. package/dist/web/vitest/vitest-web.setup.d.ts +2 -0
  74. package/dist/web/vitest/vitest-web.setup.d.ts.map +1 -0
  75. package/dist/web/vitest/vitest-web.setup.js +18 -0
  76. package/package.json +23 -21
  77. package/dist/cjs/web/vitest/index.d.ts +0 -4
  78. package/dist/cjs/web/vitest/index.d.ts.map +0 -1
  79. package/dist/cjs/web/vitest/vite-plugin-auto-import.d.ts +0 -2
  80. package/dist/cjs/web/vitest/vite-plugin-auto-import.d.ts.map +0 -1
  81. package/dist/cjs/web/vitest/vite-plugin-cedarjs-router-import-transform.d.ts +0 -7
  82. package/dist/cjs/web/vitest/vite-plugin-cedarjs-router-import-transform.d.ts.map +0 -1
  83. package/dist/cjs/web/vitest/vite-plugin-create-auth-import-transform.d.ts +0 -3
  84. package/dist/cjs/web/vitest/vite-plugin-create-auth-import-transform.d.ts.map +0 -1
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var vite_plugin_cedar_vitest_web_config_exports = {};
30
+ __export(vite_plugin_cedar_vitest_web_config_exports, {
31
+ cedarVitestWebConfigPlugin: () => cedarVitestWebConfigPlugin
32
+ });
33
+ module.exports = __toCommonJS(vite_plugin_cedar_vitest_web_config_exports);
34
+ var import_node_path = __toESM(require("node:path"), 1);
35
+ const import_meta = {};
36
+ function cedarVitestWebConfigPlugin() {
37
+ return {
38
+ name: "cedar-vitest-web-config",
39
+ config: () => {
40
+ return {
41
+ test: {
42
+ setupFiles: [import_node_path.default.join(import_meta.dirname, "vitest-web.setup.js")]
43
+ }
44
+ };
45
+ }
46
+ };
47
+ }
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ cedarVitestWebConfigPlugin
51
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_project_config = require("@cedarjs/project-config");
4
+ var import_findCellMocks = require("../findCellMocks.js");
5
+ var import_mockRequests = require("../mockRequests.js");
6
+ (0, import_vitest.beforeAll)(async () => {
7
+ const cellMocks = (0, import_findCellMocks.findCellMocks)((0, import_project_config.getPaths)().web.src);
8
+ for (const m of cellMocks) {
9
+ await import(m);
10
+ }
11
+ await (0, import_mockRequests.startMSW)("node");
12
+ (0, import_mockRequests.setupRequestHandlers)();
13
+ });
14
+ (0, import_vitest.afterEach)(() => {
15
+ (0, import_mockRequests.setupRequestHandlers)();
16
+ });
17
+ (0, import_vitest.afterAll)(() => {
18
+ (0, import_mockRequests.closeServer)();
19
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"apiBabelConfig.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/api/apiBabelConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAG7B,MAAM,uBAAuB,CAAA;AAS9B,KAAK,UAAU,GAAG,IAAI,CACpB,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAC/C,SAAS,CACV,CAAA;AAED,QAAA,MAAM,MAAM,EAAE,UAMb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"apiBabelConfig.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/api/apiBabelConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAG7B,MAAM,uBAAuB,CAAA;AAO9B,KAAK,UAAU,GAAG,IAAI,CACpB,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAC/C,SAAS,CACV,CAAA;AAED,QAAA,MAAM,MAAM,EAAE,UAMb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -3,9 +3,7 @@ import {
3
3
  getApiSideBabelPresets,
4
4
  getApiSideBabelPlugins
5
5
  } from "@cedarjs/babel-config";
6
- const { babelrc: _b, ...defaultBabelConfig } = getApiSideDefaultBabelConfig({
7
- forJest: true
8
- });
6
+ const { babelrc: _b, ...defaultBabelConfig } = getApiSideDefaultBabelConfig();
9
7
  const config = {
10
8
  ...defaultBabelConfig,
11
9
  plugins: getApiSideBabelPlugins(),
@@ -1,6 +1,10 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
2
  var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
3
+ try {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ } catch (e) {
6
+ throw mod = 0, e;
7
+ }
4
8
  };
5
9
  import * as jestPreset from "./jest-preset.js";
6
10
  var require_api = __commonJS({
@@ -1 +1 @@
1
- {"version":3,"file":"jest-preset.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/api/jest-preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AASlC,QAAA,MAAM,MAAM,EAAE,MA0Db,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"jest-preset.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/api/jest-preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAkClC,QAAA,MAAM,MAAM,EAAE,MAqFb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -2,8 +2,17 @@ import path from "node:path";
2
2
  import { getApiSideDefaultBabelConfig } from "@cedarjs/babel-config";
3
3
  import { getPaths } from "@cedarjs/project-config";
4
4
  const rwjsPaths = getPaths();
5
- const NODE_MODULES_PATH = path.join(rwjsPaths.base, "node_modules");
6
- const { babelrc } = getApiSideDefaultBabelConfig({ forJest: true });
5
+ const { babelrc } = getApiSideDefaultBabelConfig();
6
+ function resolveSubpath(specifier) {
7
+ try {
8
+ return require.resolve(specifier, {
9
+ paths: [rwjsPaths.api.base, rwjsPaths.base]
10
+ });
11
+ } catch {
12
+ return void 0;
13
+ }
14
+ }
15
+ const testingApiPath = resolveSubpath("@cedarjs/testing/api");
7
16
  const config = {
8
17
  // To make sure other config option which depends on rootDir use
9
18
  // correct path, for example, coverageDirectory
@@ -44,11 +53,34 @@ const config = {
44
53
  "^src/(.*)$": path.join(rwjsPaths.api.src, "$1"),
45
54
  // @NOTE: Import @cedarjs/testing in api tests, and it automatically remaps to the api side only
46
55
  // This is to prevent web stuff leaking into api, and vice versa
47
- "^@cedarjs/testing$": path.join(NODE_MODULES_PATH, "@cedarjs/testing/api"),
56
+ ...testingApiPath ? { "^@cedarjs/testing$": testingApiPath } : {},
48
57
  // Support for importing files with extensions (like you'd do in ESM projects)
49
58
  "^(\\.{1,2}/.*)\\.js$": "$1"
50
59
  },
51
60
  transform: {
61
+ // `@cedarjs/context`, `@cedarjs/api`, `@cedarjs/graphql-server`, and
62
+ // `@cedarjs/storage` are ESM-only. Two things pull them in at the top
63
+ // level of a generated project's api-side test run: @cedarjs/testing's
64
+ // own api entry point (which virtually every test imports, for
65
+ // scenario/mock helpers — pulls in `@cedarjs/context` and
66
+ // `@cedarjs/graphql-server` via `directive.ts`, and
67
+ // `@cedarjs/api/webhooks` via `apiFunction.ts`), and the *user's own*
68
+ // generated code — the `cedar setup uploads` template imports
69
+ // `@cedarjs/storage`. Jest's CJS runtime can't parse the real ESM these
70
+ // now emit, so they need the same babel-jest carve-out the web preset
71
+ // already uses for ESM-only node_modules packages (see jest-preset.ts
72
+ // on the web side for the fuller explanation of why this is
73
+ // necessary).
74
+ "[/\\\\]node_modules[/\\\\]@cedarjs[/\\\\](context|api|graphql-server|storage)[/\\\\].+\\.js$": [
75
+ "babel-jest",
76
+ {
77
+ babelrc: false,
78
+ configFile: false,
79
+ presets: [
80
+ [require.resolve("@babel/preset-env"), { targets: { node: "20" } }]
81
+ ]
82
+ }
83
+ ],
52
84
  "\\.[cm]?[jt]sx?$": [
53
85
  "babel-jest",
54
86
  // When jest runs tests in parallel, it serializes the config before passing down options to babel
@@ -62,6 +94,9 @@ const config = {
62
94
  }
63
95
  ]
64
96
  },
97
+ transformIgnorePatterns: [
98
+ "[/\\\\]node_modules[/\\\\](?!@cedarjs[/\\\\]context[/\\\\])(?!@cedarjs[/\\\\]api[/\\\\])(?!@cedarjs[/\\\\]graphql-server[/\\\\])(?!@cedarjs[/\\\\]storage[/\\\\])"
99
+ ],
65
100
  testPathIgnorePatterns: [".scenarios.[jt]s$"]
66
101
  };
67
102
  var jest_preset_default = config;
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-redwood-cell.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/babelPlugins/babel-plugin-redwood-cell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAqCtC,UAAU,WAAY,SAAQ,UAAU;IAKtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,CAAC,OAAO,WAAW,EACvB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,CAAA;CAChB,GAAG,SAAS,CAAC,WAAW,CAAC,CAkHzB"}
1
+ {"version":3,"file":"babel-plugin-redwood-cell.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/babelPlugins/babel-plugin-redwood-cell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAsCtC,UAAU,WAAY,SAAQ,UAAU;IAKtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,CAAC,OAAO,WAAW,EACvB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,CAAA;CAChB,GAAG,SAAS,CAAC,WAAW,CAAC,CAoHzB"}
@@ -2,6 +2,7 @@ import { parse } from "node:path";
2
2
  const EXPECTED_EXPORTS_FROM_CELL = [
3
3
  "beforeQuery",
4
4
  "QUERY",
5
+ "FRAGMENT",
5
6
  "data",
6
7
  "isEmpty",
7
8
  "afterQuery",
@@ -47,7 +48,7 @@ function babel_plugin_redwood_cell_default({
47
48
  state.hasDefaultExport = false;
48
49
  },
49
50
  exit(path, state) {
50
- const hasQueryOrDataExport = state.exportNames.includes("QUERY") || state.exportNames.includes("data");
51
+ const hasQueryOrDataExport = state.exportNames.includes("QUERY") || state.exportNames.includes("FRAGMENT") || state.exportNames.includes("data");
51
52
  if (state.hasDefaultExport || !hasQueryOrDataExport) {
52
53
  return;
53
54
  }
@@ -1,6 +1,10 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
2
  var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
3
+ try {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ } catch (e) {
6
+ throw mod = 0, e;
7
+ }
4
8
  };
5
9
  import jestRunner from "jest-runner";
6
10
  var require_jest_serial_runner = __commonJS({
@@ -1,5 +1,5 @@
1
- import { TestEnvironment } from 'jest-environment-jsdom';
2
- declare class RedwoodWebJestEnvironment extends TestEnvironment {
1
+ import JSDOMEnvironment from 'jest-fixed-jsdom';
2
+ declare class RedwoodWebJestEnvironment extends JSDOMEnvironment {
3
3
  setup(): Promise<void>;
4
4
  }
5
5
  export default RedwoodWebJestEnvironment;
@@ -1 +1 @@
1
- {"version":3,"file":"RedwoodWebJestEnv.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/RedwoodWebJestEnv.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,cAAM,yBAA0B,SAAQ,eAAe;IAC/C,KAAK;CAaZ;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"RedwoodWebJestEnv.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/RedwoodWebJestEnv.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,kBAAkB,CAAA;AAkB/C,cAAM,yBAA0B,SAAQ,gBAAgB;IAChD,KAAK;CASZ;AAED,eAAe,yBAAyB,CAAA"}
@@ -1,12 +1,7 @@
1
- import { TextEncoder, TextDecoder } from "node:util";
2
- import { TestEnvironment } from "jest-environment-jsdom";
3
- class RedwoodWebJestEnvironment extends TestEnvironment {
1
+ import JSDOMEnvironment from "jest-fixed-jsdom";
2
+ class RedwoodWebJestEnvironment extends JSDOMEnvironment {
4
3
  async setup() {
5
4
  await super.setup();
6
- if (typeof this.global.TextEncoder === "undefined") {
7
- this.global.TextEncoder = TextEncoder;
8
- this.global.TextDecoder = TextDecoder;
9
- }
10
5
  if (typeof this.global.crypto.subtle === "undefined") {
11
6
  this.global.crypto.subtle = {};
12
7
  }
@@ -1,6 +1,10 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
2
  var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
3
+ try {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ } catch (e) {
6
+ throw mod = 0, e;
7
+ }
4
8
  };
5
9
  import * as jestPreset from "./jest-preset.js";
6
10
  var require_web = __commonJS({
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"jest-preset.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/jest-preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAOlC,QAAA,MAAM,MAAM,EAAE,MAkFb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"jest-preset.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/jest-preset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAiIlC,QAAA,MAAM,MAAM,EAAE,MA0Ib,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1,12 +1,65 @@
1
+ import fs from "node:fs";
1
2
  import path from "node:path";
2
3
  import { getPaths } from "@cedarjs/project-config";
3
4
  const cedarPaths = getPaths();
4
- const NODE_MODULES_PATH = path.join(cedarPaths.base, "node_modules");
5
+ const RESOLVE_FROM = [cedarPaths.web.base, cedarPaths.base];
6
+ function resolvePackageDir(packageName, resolveFrom = RESOLVE_FROM) {
7
+ try {
8
+ return path.dirname(
9
+ require.resolve(`${packageName}/package.json`, { paths: resolveFrom })
10
+ );
11
+ } catch {
12
+ }
13
+ try {
14
+ let dir = path.dirname(require.resolve(packageName, { paths: resolveFrom }));
15
+ for (; ; ) {
16
+ const manifestPath = path.join(dir, "package.json");
17
+ if (fs.existsSync(manifestPath)) {
18
+ const manifest = JSON.parse(
19
+ fs.readFileSync(manifestPath, "utf-8")
20
+ );
21
+ if (manifest && typeof manifest === "object" && "name" in manifest && manifest.name === packageName) {
22
+ return dir;
23
+ }
24
+ }
25
+ const parent = path.dirname(dir);
26
+ if (parent === dir) {
27
+ return void 0;
28
+ }
29
+ dir = parent;
30
+ }
31
+ } catch {
32
+ return void 0;
33
+ }
34
+ }
35
+ function packagePath(packageName, relativePath = "", resolveFrom = RESOLVE_FROM) {
36
+ const packageDir = resolvePackageDir(packageName, resolveFrom);
37
+ return packageDir && path.join(packageDir, relativePath);
38
+ }
39
+ function resolveSubpath(specifier, resolveFrom = RESOLVE_FROM) {
40
+ try {
41
+ return require.resolve(specifier, { paths: resolveFrom });
42
+ } catch {
43
+ return void 0;
44
+ }
45
+ }
46
+ const cedarWebDir = resolvePackageDir("@cedarjs/web");
47
+ const cedarWebResolveFrom = cedarWebDir ? [cedarWebDir, ...RESOLVE_FROM] : RESOLVE_FROM;
48
+ function definedEntries(mappings) {
49
+ return Object.fromEntries(
50
+ Object.entries(mappings).filter(
51
+ (entry) => entry[1] !== void 0
52
+ )
53
+ );
54
+ }
5
55
  const config = {
6
56
  // To make sure other config option which depends on rootDir always
7
57
  // use correct path, for example, coverageDirectory
8
58
  rootDir: cedarPaths.base,
9
59
  roots: [path.join(cedarPaths.web.src)],
60
+ // Opting out of jsdom's browser-style export condition resolution (needed to
61
+ // resolve `msw/node`) is handled by the environment itself, via
62
+ // jest-fixed-jsdom
10
63
  testEnvironment: path.join(__dirname, "./RedwoodWebJestEnv.js"),
11
64
  displayName: {
12
65
  color: "blueBright",
@@ -36,41 +89,78 @@ const config = {
36
89
  ],
37
90
  setupFilesAfterEnv: [path.resolve(__dirname, "./jest.setup.js")],
38
91
  moduleNameMapper: {
39
- /**
40
- * Make sure modules that require different versions of these
41
- * dependencies end up using the same one.
42
- */
43
- "^react$": path.join(NODE_MODULES_PATH, "react"),
44
- "^react-dom$": path.join(NODE_MODULES_PATH, "react-dom"),
45
- "^@apollo/client/react$": path.join(
46
- NODE_MODULES_PATH,
47
- "@apollo/client/react"
48
- ),
49
- // We replace imports to "@cedarjs/router" with our own "mock" implementation.
50
- "^@cedarjs/router$": path.join(
51
- NODE_MODULES_PATH,
52
- "@cedarjs/testing/dist/cjs/web/MockRouter.js"
53
- ),
54
- "^@cedarjs/web$": path.join(NODE_MODULES_PATH, "@cedarjs/web/dist/cjs"),
55
- // This allows us to mock `createAuthentication` which is used by auth
56
- // clients, which in turn lets us mock `useAuth` in tests
57
- "^@cedarjs/auth$": path.join(
58
- NODE_MODULES_PATH,
59
- "@cedarjs/testing/dist/cjs/web/mockAuth.js"
60
- ),
61
- // @NOTE: Import @cedarjs/testing in web tests, and it automatically remaps to the web side only
62
- // This is to prevent web stuff leaking into api, and vice versa
63
- "^@cedarjs/testing$": path.join(NODE_MODULES_PATH, "@cedarjs/testing/web"),
92
+ ...definedEntries({
93
+ /**
94
+ * Make sure modules that require different versions of these
95
+ * dependencies end up using the same one.
96
+ */
97
+ "^react$": resolveSubpath("react"),
98
+ "^react-dom$": resolveSubpath("react-dom"),
99
+ // Point straight at Apollo Client's CJS build. Resolving the subpath
100
+ // would go through its `exports` map and land on the ESM build (Node 22+
101
+ // picks the `module-sync` condition), which Jest can't parse.
102
+ // Resolved starting from `@cedarjs/web` because that's what depends on
103
+ // Apollo — a project doesn't declare it itself, so under pnpm it isn't
104
+ // reachable from the web side at all, and searching from there finds
105
+ // either nothing or some unrelated copy pulled in by another dependency
106
+ "^@apollo/client/react$": packagePath(
107
+ "@apollo/client",
108
+ "__cjs/react/index.cjs",
109
+ cedarWebResolveFrom
110
+ ),
111
+ // We replace imports to "@cedarjs/router" with our own "mock" implementation.
112
+ "^@cedarjs/router$": resolveSubpath("@cedarjs/testing/web/MockRouter.js"),
113
+ "^@cedarjs/web$": resolveSubpath("@cedarjs/web"),
114
+ // This allows us to mock `createAuthentication` which is used by auth
115
+ // clients, which in turn lets us mock `useAuth` in tests
116
+ "^@cedarjs/auth$": resolveSubpath("@cedarjs/testing/auth"),
117
+ // @NOTE: Import @cedarjs/testing in web tests, and it automatically remaps to the web side only
118
+ // This is to prevent web stuff leaking into api, and vice versa
119
+ "^@cedarjs/testing$": resolveSubpath("@cedarjs/testing/web"),
120
+ /**
121
+ * Mock out files that aren't particularly useful in tests. See fileMock.js for more info.
122
+ */
123
+ "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|css)$": resolveSubpath("@cedarjs/testing/dist/cjs/web/fileMock.js")
124
+ }),
64
125
  "~__CEDAR__USER_ROUTES_FOR_MOCK": cedarPaths.web.routes,
65
126
  "~__CEDAR__USER_AUTH_FOR_MOCK": path.join(cedarPaths.web.src, "auth"),
66
- /**
67
- * Mock out files that aren't particularly useful in tests. See fileMock.js for more info.
68
- */
69
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|css)$": "@cedarjs/testing/dist/cjs/web/fileMock.js",
70
127
  // Support for importing files with extensions (like you'd do in ESM projects)
71
128
  "^(\\.{1,2}/.*)\\.js$": "$1"
72
129
  },
73
130
  transform: {
131
+ // MSW's CommonJS build `require`s ESM-only packages (`rettime`,
132
+ // `@open-draft/deferred-promise` and `until-async`, which ships ESM in
133
+ // plain `.js` files). Node supports require(esm), but Jest's runtime
134
+ // doesn't, so compile any `.mjs` file that gets pulled in from
135
+ // node_modules (plus until-async) to CommonJS. This needs its own
136
+ // transform entry (with the config inlined) because the web babel config
137
+ // ignores node_modules
138
+ //
139
+ // The `@cedarjs/auth-*-web` packages are ESM-only too, and (like
140
+ // until-async) ship plain `.js` files rather than `.mjs` since their
141
+ // package.json already declares `"type": "module"`. A generated
142
+ // project's `web/src/auth.ts` imports one of these, so they need the
143
+ // same carve-out. `@cedarjs/forms` is ESM-only for the same reason, and
144
+ // gets pulled into virtually every generated project's web-side tests
145
+ // via `web/src/pages/**` scaffolds and dbAuth login/signup forms.
146
+ // `@cedarjs/web`, `@cedarjs/auth`, and `@cedarjs/router` are ESM-only
147
+ // too. `web` and `router` are imported directly by virtually every
148
+ // generated project's web-side test (`Routes.tsx`, page/component
149
+ // scaffolds), and `auth` gets pulled in transitively through `web`.
150
+ // Jest's own module loader re-applies this carve-out to every file it
151
+ // loads, including ones reached transitively through an
152
+ // already-transformed require() call, so all of them need to be listed
153
+ // even though only `web`/`router` are usually imported directly.
154
+ "[/\\\\]node_modules[/\\\\](?:.+\\.mjs|(?:until-async|@cedarjs[/\\\\](?:auth-[a-z-]+-web|forms|web|auth|router))[/\\\\].+\\.js)$": [
155
+ "babel-jest",
156
+ {
157
+ babelrc: false,
158
+ configFile: false,
159
+ presets: [
160
+ [require.resolve("@babel/preset-env"), { targets: { node: "20" } }]
161
+ ]
162
+ }
163
+ ],
74
164
  "\\.[jt]sx?$": [
75
165
  "babel-jest",
76
166
  // When jest runs tests in parallel, it serializes the config before passing down options to babel
@@ -80,6 +170,21 @@ const config = {
80
170
  }
81
171
  ]
82
172
  },
173
+ // Jest's default is to not transform anything in node_modules, but `.mjs`
174
+ // files (and until-async, @cedarjs/auth-*-web, @cedarjs/forms,
175
+ // @cedarjs/web, @cedarjs/auth, and @cedarjs/router) have to be compiled to
176
+ // CommonJS (see the transform above).
177
+ // The `.pnpm` lookahead is what makes this work with pnpm: its virtual store
178
+ // puts packages at `node_modules/.pnpm/<pkg>@<version>/node_modules/<pkg>`,
179
+ // so without it the pattern matches (and thereby ignores) at the *first*
180
+ // `node_modules` segment, where the following path starts with `.pnpm/`
181
+ // instead of `until-async/` and the exception never gets a chance to apply.
182
+ // Skipping that segment forces the match onto the inner `node_modules`,
183
+ // which looks the same as a hoisted npm/yarn layout
184
+ transformIgnorePatterns: [
185
+ "[/\\\\]node_modules[/\\\\](?!\\.pnpm[/\\\\])(?!.*\\.mjs$)(?!until-async[/\\\\])(?!@cedarjs[/\\\\]auth-[a-z-]+-web[/\\\\])(?!@cedarjs[/\\\\]forms[/\\\\])(?!@cedarjs[/\\\\]web[/\\\\])(?!@cedarjs[/\\\\]auth[/\\\\])(?!@cedarjs[/\\\\]router[/\\\\])",
186
+ "\\.pnp\\.[^\\\\/]+$"
187
+ ],
83
188
  resolver: path.resolve(__dirname, "./resolver.js"),
84
189
  testPathIgnorePatterns: [".(stories|mock).[jt]sx?$"]
85
190
  };
@@ -1,5 +1,4 @@
1
1
  import '@testing-library/jest-dom';
2
- import 'whatwg-fetch';
3
2
  import { mockCurrentUser as _mockCurrentUser } from '../../../web/mockRequests.js';
4
3
  declare global {
5
4
  var __RWJS_TESTROOT_DIR: string;
@@ -1 +1 @@
1
- {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/jest.setup.ts"],"names":[],"mappings":"AAEA,OAAO,2BAA2B,CAAA;AAClC,OAAO,cAAc,CAAA;AAGrB,OAAO,EAML,eAAe,IAAI,gBAAgB,EACpC,MAAM,8BAA8B,CAAA;AAErC,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,mBAAmB,EAAE,MAAM,CAAA;IAE/B,IAAI,eAAe,EAAE,OAAO,gBAAgB,CAAA;CAC7C"}
1
+ {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../../src/config/jest/web/jest.setup.ts"],"names":[],"mappings":"AAEA,OAAO,2BAA2B,CAAA;AAGlC,OAAO,EAML,eAAe,IAAI,gBAAgB,EACpC,MAAM,8BAA8B,CAAA;AAErC,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,mBAAmB,EAAE,MAAM,CAAA;IAE/B,IAAI,eAAe,EAAE,OAAO,gBAAgB,CAAA;CAC7C"}
@@ -1,5 +1,4 @@
1
1
  import "@testing-library/jest-dom";
2
- import "whatwg-fetch";
3
2
  import { findCellMocks } from "../../../web/findCellMocks.js";
4
3
  import {
5
4
  startMSW,
@@ -1,6 +1,10 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
2
  var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
3
+ try {
4
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ } catch (e) {
6
+ throw mod = 0, e;
7
+ }
4
8
  };
5
9
  var require_resolver = __commonJS({
6
10
  "src/config/jest/web/resolver.ts"(exports, module) {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { LocationProvider } from "@cedarjs/router";
3
3
  import { RedwoodProvider } from "@cedarjs/web";
4
- import { RedwoodApolloProvider } from "@cedarjs/web/apollo";
4
+ import { CedarApolloProvider } from "@cedarjs/web/apollo/CedarApolloProvider";
5
5
  import { UserRoutes as VitestUserRoutes } from "./globRoutesImporter.js";
6
6
  import { useAuth } from "./mockAuth.js";
7
7
  import { MockParamsProvider } from "./MockParamsProvider.js";
@@ -16,10 +16,16 @@ try {
16
16
  UserRoutes = () => /* @__PURE__ */ React.createElement(React.Fragment, null);
17
17
  }
18
18
  const MockProviders = ({ children }) => {
19
- return /* @__PURE__ */ React.createElement(RedwoodProvider, { titleTemplate: "%PageTitle | %AppTitle" }, /* @__PURE__ */ React.createElement(RedwoodApolloProvider, { useAuth }, /* @__PURE__ */ React.createElement(UserRoutes, null), /* @__PURE__ */ React.createElement(VitestUserRoutes, null), /* @__PURE__ */ React.createElement(LocationProvider, null, /* @__PURE__ */ React.createElement(MockParamsProvider, null, children))));
19
+ return /* @__PURE__ */ React.createElement(RedwoodProvider, { titleTemplate: "%PageTitle | %AppTitle" }, /* @__PURE__ */ React.createElement(CedarApolloProvider, { useAuth }, /* @__PURE__ */ React.createElement(UserRoutes, null), /* @__PURE__ */ React.createElement(VitestUserRoutes, null), /* @__PURE__ */ React.createElement(LocationProvider, null, /* @__PURE__ */ React.createElement(MockParamsProvider, null, children))));
20
20
  };
21
21
  function isModuleNotFoundError(error, module) {
22
- return !!error && typeof error === "object" && "code" in error && error.code === "MODULE_NOT_FOUND" && "moduleName" in error && error.moduleName === module;
22
+ if (!error || typeof error !== "object" || !("code" in error) || error.code !== "MODULE_NOT_FOUND") {
23
+ return false;
24
+ }
25
+ if ("moduleName" in error) {
26
+ return error.moduleName === module;
27
+ }
28
+ return "message" in error && typeof error.message === "string" && (error.message.includes(`'${module}'`) || error.message.includes(`"${module}"`));
23
29
  }
24
30
  export {
25
31
  MockProviders
@@ -1,25 +1,67 @@
1
- import type { StartOptions as StartMSWWorkerOptions, SharedOptions as SharedMSWOptions, MockedResponse, DefaultBodyType, RequestHandler, GraphQLContext, GraphQLRequest, ResponseTransformer } from 'msw';
2
- /**
3
- * Plugs fetch for the correct target in order to capture requests.
4
- *
5
- * Request handlers can be registered lazily (via `mockGraphQL<Query|Mutation>`),
6
- * the queue will be drained and used.
7
- */
8
- type StartOptions<Target> = Target extends 'browsers' ? StartMSWWorkerOptions : SharedMSWOptions;
9
- export declare const startMSW: <Target extends "node" | "browsers">(target: Target, options?: StartOptions<Target>) => Promise<any>;
1
+ import type { RequestHandler, SharedOptions } from 'msw';
2
+ import type { StartOptions as StartMSWWorkerOptions } from 'msw/browser';
3
+ interface MockServerCommonApi {
4
+ use(...handlers: any[]): void;
5
+ resetHandlers(): void;
6
+ }
7
+ type MockWorkerInstance = MockServerCommonApi & {
8
+ stop(): void;
9
+ };
10
+ type MockServerInstance = MockServerCommonApi & {
11
+ listen(options?: Partial<SharedOptions>): void;
12
+ close(): void;
13
+ };
14
+ type StartOptions<Target> = Target extends 'browsers' ? StartMSWWorkerOptions : Partial<SharedOptions>;
15
+ export declare const startMSW: <Target extends "node" | "browsers">(target: Target, options?: StartOptions<Target>) => Promise<MockWorkerInstance | MockServerInstance>;
10
16
  export declare const setupRequestHandlers: () => void;
11
17
  export declare const closeServer: () => void;
12
18
  export declare const registerHandler: (handler: RequestHandler) => void;
19
+ /**
20
+ * The `ctx` object passed to mock-data functions. It mirrors the API of MSW
21
+ * v1's GraphQL context so that existing Cedar mocks keep working with MSW v2,
22
+ * where the `(req, res, ctx)` resolver signature no longer exists.
23
+ */
24
+ export interface MockGraphQLContext {
25
+ /** Set the http response status code (and optionally status text) */
26
+ status(code: number, text?: string): void;
27
+ /** Delay the response by the given number of milliseconds */
28
+ delay(durationMs: number): void;
29
+ /** Return GraphQL errors in the response */
30
+ errors(errorList: Record<string, unknown>[]): void;
31
+ /** Set a response header. Accepts a name/value pair or an object */
32
+ set(name: string | Record<string, string>, value?: string): void;
33
+ /** Set a response cookie */
34
+ cookie(name: string, value: string): void;
35
+ /** Set the `extensions` field of the GraphQL response */
36
+ extensions(extensions: Record<string, unknown>): void;
37
+ /** Set an arbitrary field on the GraphQL response body */
38
+ field(fieldName: string, value: unknown): void;
39
+ /** Set the `data` field of the response. Overrides the returned mock-data */
40
+ data(data: Record<string, unknown>): void;
41
+ /** Perform a request that bypasses any mock handlers */
42
+ fetch(input: string | URL | Request, init?: RequestInit): Promise<Response>;
43
+ }
44
+ /**
45
+ * Information about the intercepted GraphQL request, passed to mock-data
46
+ * functions as `req`
47
+ */
48
+ export interface MockGraphQLRequest {
49
+ /** The intercepted Fetch API `Request` */
50
+ request: Request;
51
+ /** The GraphQL query document string */
52
+ query: string;
53
+ operationName: string;
54
+ variables: Record<string, any>;
55
+ cookies: Record<string, string>;
56
+ url: URL;
57
+ headers: Headers;
58
+ method: string;
59
+ }
13
60
  export type DataFunction<Query extends Record<string, unknown> = Record<string, unknown>, QueryVariables = Record<string, any>> = (variables: QueryVariables, { req, ctx, }: {
14
- req: GraphQLRequest<any>;
15
- ctx: GraphQLContext<Record<string, any>>;
16
- }) => Query | void;
17
- type ResponseFunction<BodyType extends DefaultBodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MockedResponse<BodyType>;
18
- type ResponseEnhancers = {
19
- once: ResponseFunction<any>;
20
- networkError: (message: string) => void;
21
- };
22
- type ResponseEnhancer = keyof ResponseEnhancers;
61
+ req: MockGraphQLRequest;
62
+ ctx: MockGraphQLContext;
63
+ }) => Query | void | Promise<Query | void>;
64
+ type ResponseEnhancer = 'once' | 'networkError';
23
65
  export declare const mockGraphQLQuery: <Query extends Record<string, unknown> = Record<string, unknown>, QueryVariables = Record<string, any>>(operation: string, data: DataFunction<Query, QueryVariables> | Query, responseEnhancer?: ResponseEnhancer) => Record<string, any> | DataFunction<Record<string, unknown>, Record<string, any>>;
24
66
  export declare const mockGraphQLMutation: <Query extends Record<string, unknown> = Record<string, unknown>, QueryVariables = Record<string, any>>(operation: string, data: DataFunction<Query, QueryVariables> | Query, responseEnhancer?: ResponseEnhancer) => Record<string, any> | DataFunction<Record<string, unknown>, Record<string, any>>;
25
67
  export declare const mockedUserMeta: {
@@ -1 +1 @@
1
- {"version":3,"file":"mockRequests.d.ts","sourceRoot":"","sources":["../../src/web/mockRequests.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,aAAa,IAAI,gBAAgB,EACjC,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EAGpB,MAAM,KAAK,CAAA;AAQZ;;;;;GAKG;AAEH,KAAK,YAAY,CAAC,MAAM,IAAI,MAAM,SAAS,UAAU,GACjD,qBAAqB,GACrB,gBAAgB,CAAA;AACpB,eAAO,MAAM,QAAQ,GAAU,MAAM,SAAS,MAAM,GAAG,UAAU,EAC/D,QAAQ,MAAM,EACd,UAAU,YAAY,CAAC,MAAM,CAAC,iBAgB/B,CAAA;AAED,eAAO,MAAM,oBAAoB,YAMhC,CAAA;AAED,eAAO,MAAM,WAAW,YAEvB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,cAAc,SAQtD,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,CACF,SAAS,EAAE,cAAc,EACzB,EACE,GAAG,EACH,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;IACxB,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACzC,KACE,KAAK,GAAG,IAAI,CAAA;AAGjB,KAAK,gBAAgB,CAAC,QAAQ,SAAS,eAAe,GAAG,GAAG,IAAI,CAC9D,GAAG,YAAY,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAAE,KAC7C,cAAc,CAAC,QAAQ,CAAC,CAAA;AAE7B,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC3B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AACD,KAAK,gBAAgB,GAAG,MAAM,iBAAiB,CAAA;AAuD/C,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,WAAW,MAAM,EACjB,MAAM,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,KAAK,EACjD,mBAAmB,gBAAgB,qFAGpC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,WAAW,MAAM,EACjB,MAAM,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,KAAK,EACjD,mBAAmB,gBAAgB,qFAGpC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAEzE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,SASnE,CAAA"}
1
+ {"version":3,"file":"mockRequests.d.ts","sourceRoot":"","sources":["../../src/web/mockRequests.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE,MAAM,aAAa,CAAA;AASxE,UAAU,mBAAmB;IAC3B,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7B,aAAa,IAAI,IAAI,CAAA;CACtB;AACD,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAA;AAChE,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAC9C,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;IAC9C,KAAK,IAAI,IAAI,CAAA;CACd,CAAA;AAmBD,KAAK,YAAY,CAAC,MAAM,IAAI,MAAM,SAAS,UAAU,GACjD,qBAAqB,GACrB,OAAO,CAAC,aAAa,CAAC,CAAA;AAC1B,eAAO,MAAM,QAAQ,GAAU,MAAM,SAAS,MAAM,GAAG,UAAU,EAC/D,QAAQ,MAAM,EACd,UAAU,YAAY,CAAC,MAAM,CAAC,qDA4B/B,CAAA;AAED,eAAO,MAAM,oBAAoB,YAMhC,CAAA;AAED,eAAO,MAAM,WAAW,YAsBvB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,cAAc,SAQtD,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,6DAA6D;IAC7D,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,4CAA4C;IAC5C,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAA;IAClD,oEAAoE;IACpE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChE,4BAA4B;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,yDAAyD;IACzD,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrD,0DAA0D;IAC1D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9C,6EAA6E;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACzC,wDAAwD;IACxD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5E;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAA;IAChB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,YAAY,CACtB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,CACF,SAAS,EAAE,cAAc,EACzB,EACE,GAAG,EACH,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,kBAAkB,CAAA;IACvB,GAAG,EAAE,kBAAkB,CAAA;CACxB,KACE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;AAEzC,KAAK,gBAAgB,GAAG,MAAM,GAAG,cAAc,CAAA;AAwH/C,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,WAAW,MAAM,EACjB,MAAM,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,KAAK,EACjD,mBAAmB,gBAAgB,qFAGpC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,WAAW,MAAM,EACjB,MAAM,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,KAAK,EACjD,mBAAmB,gBAAgB,qFAGpC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAEzE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,SASnE,CAAA"}