@cedarjs/testing 0.6.1-next.0 → 0.7.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.
Files changed (151) hide show
  1. package/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  2. package/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  3. package/config/jest/api/RedwoodApiJestEnv.js +33 -16
  4. package/config/jest/api/apiBabelConfig.d.ts +5 -0
  5. package/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  6. package/config/jest/api/apiBabelConfig.js +33 -17
  7. package/config/jest/api/globalSetup.d.ts +3 -0
  8. package/config/jest/api/globalSetup.d.ts.map +1 -0
  9. package/config/jest/api/globalSetup.js +59 -44
  10. package/config/jest/api/index.d.ts +3 -0
  11. package/config/jest/api/index.d.ts.map +1 -0
  12. package/config/jest/api/index.js +25 -2
  13. package/config/jest/api/jest-preset.d.ts +4 -0
  14. package/config/jest/api/jest-preset.d.ts.map +1 -0
  15. package/config/jest/api/jest-preset.js +69 -39
  16. package/config/jest/api/jest.setup.d.ts +2 -0
  17. package/config/jest/api/jest.setup.d.ts.map +1 -0
  18. package/config/jest/api/jest.setup.js +189 -248
  19. package/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  20. package/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  21. package/config/jest/babelPlugins/babel-plugin-redwood-cell.js +103 -124
  22. package/config/jest/jest-serial-runner.d.ts +8 -0
  23. package/config/jest/jest-serial-runner.d.ts.map +1 -0
  24. package/config/jest/jest-serial-runner.js +33 -9
  25. package/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  26. package/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  27. package/config/jest/web/RedwoodWebJestEnv.js +33 -12
  28. package/config/jest/web/index.d.ts +3 -0
  29. package/config/jest/web/index.d.ts.map +1 -0
  30. package/config/jest/web/index.js +25 -2
  31. package/config/jest/web/jest-preset.d.ts +4 -0
  32. package/config/jest/web/jest-preset.d.ts.map +1 -0
  33. package/config/jest/web/jest-preset.js +78 -50
  34. package/config/jest/web/jest.setup.d.ts +8 -0
  35. package/config/jest/web/jest.setup.d.ts.map +1 -0
  36. package/config/jest/web/jest.setup.js +17 -36
  37. package/config/jest/web/resolver.d.ts +4 -0
  38. package/config/jest/web/resolver.d.ts.map +1 -0
  39. package/config/jest/web/resolver.js +24 -31
  40. package/config/jest/web/webBabelConfig.d.ts +10 -0
  41. package/config/jest/web/webBabelConfig.d.ts.map +1 -0
  42. package/config/jest/web/webBabelConfig.js +43 -13
  43. package/config/package.json +1 -0
  44. package/dist/api/directUrlHelpers.d.ts.map +1 -1
  45. package/dist/api/index.d.ts +1 -0
  46. package/dist/api/index.d.ts.map +1 -1
  47. package/dist/api/index.js +1 -0
  48. package/dist/cjs/api/directUrlHelpers.d.ts.map +1 -1
  49. package/dist/cjs/api/index.d.ts +1 -0
  50. package/dist/cjs/api/index.d.ts.map +1 -1
  51. package/dist/cjs/api/index.js +3 -1
  52. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  53. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  54. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.js +48 -0
  55. package/dist/cjs/config/jest/api/apiBabelConfig.d.ts +5 -0
  56. package/dist/cjs/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  57. package/dist/cjs/config/jest/api/apiBabelConfig.js +34 -0
  58. package/dist/cjs/config/jest/api/globalSetup.d.ts +3 -0
  59. package/dist/cjs/config/jest/api/globalSetup.d.ts.map +1 -0
  60. package/dist/cjs/config/jest/api/globalSetup.js +61 -0
  61. package/dist/cjs/config/jest/api/index.d.ts +3 -0
  62. package/dist/cjs/config/jest/api/index.d.ts.map +1 -0
  63. package/dist/cjs/config/jest/api/index.js +25 -0
  64. package/dist/cjs/config/jest/api/jest-preset.d.ts +4 -0
  65. package/dist/cjs/config/jest/api/jest-preset.d.ts.map +1 -0
  66. package/dist/cjs/config/jest/api/jest-preset.js +97 -0
  67. package/dist/cjs/config/jest/api/jest.setup.d.ts +2 -0
  68. package/dist/cjs/config/jest/api/jest.setup.d.ts.map +1 -0
  69. package/dist/cjs/config/jest/api/jest.setup.js +267 -0
  70. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  71. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  72. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.js +121 -0
  73. package/dist/cjs/config/jest/jest-serial-runner.d.ts +8 -0
  74. package/dist/cjs/config/jest/jest-serial-runner.d.ts.map +1 -0
  75. package/dist/cjs/config/jest/jest-serial-runner.js +37 -0
  76. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  77. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  78. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.js +38 -0
  79. package/dist/cjs/config/jest/web/index.d.ts +3 -0
  80. package/dist/cjs/config/jest/web/index.d.ts.map +1 -0
  81. package/dist/cjs/config/jest/web/index.js +25 -0
  82. package/dist/cjs/config/jest/web/jest-preset.d.ts +4 -0
  83. package/dist/cjs/config/jest/web/jest-preset.d.ts.map +1 -0
  84. package/dist/cjs/config/jest/web/jest-preset.js +117 -0
  85. package/dist/cjs/config/jest/web/jest.setup.d.ts +8 -0
  86. package/dist/cjs/config/jest/web/jest.setup.d.ts.map +1 -0
  87. package/dist/cjs/config/jest/web/jest.setup.js +22 -0
  88. package/dist/cjs/config/jest/web/resolver.d.ts +4 -0
  89. package/dist/cjs/config/jest/web/resolver.d.ts.map +1 -0
  90. package/dist/cjs/config/jest/web/resolver.js +30 -0
  91. package/dist/cjs/config/jest/web/webBabelConfig.d.ts +10 -0
  92. package/dist/cjs/config/jest/web/webBabelConfig.d.ts.map +1 -0
  93. package/dist/cjs/config/jest/web/webBabelConfig.js +48 -0
  94. package/dist/cjs/web/global.d.ts +2 -2
  95. package/dist/cjs/web/global.d.ts.map +1 -1
  96. package/dist/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  97. package/dist/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  98. package/dist/config/jest/api/RedwoodApiJestEnv.js +28 -0
  99. package/dist/config/jest/api/apiBabelConfig.d.ts +5 -0
  100. package/dist/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  101. package/dist/config/jest/api/apiBabelConfig.js +18 -0
  102. package/dist/config/jest/api/globalSetup.d.ts +3 -0
  103. package/dist/config/jest/api/globalSetup.d.ts.map +1 -0
  104. package/dist/config/jest/api/globalSetup.js +34 -0
  105. package/dist/config/jest/api/index.d.ts +3 -0
  106. package/dist/config/jest/api/index.d.ts.map +1 -0
  107. package/dist/config/jest/api/index.js +11 -0
  108. package/dist/config/jest/api/jest-preset.d.ts +4 -0
  109. package/dist/config/jest/api/jest-preset.d.ts.map +1 -0
  110. package/dist/config/jest/api/jest-preset.js +67 -0
  111. package/dist/config/jest/api/jest.setup.d.ts +2 -0
  112. package/dist/config/jest/api/jest.setup.d.ts.map +1 -0
  113. package/dist/config/jest/api/jest.setup.js +244 -0
  114. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  115. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  116. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.js +101 -0
  117. package/dist/config/jest/jest-serial-runner.d.ts +8 -0
  118. package/dist/config/jest/jest-serial-runner.d.ts.map +1 -0
  119. package/dist/config/jest/jest-serial-runner.js +23 -0
  120. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  121. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  122. package/dist/config/jest/web/RedwoodWebJestEnv.js +18 -0
  123. package/dist/config/jest/web/index.d.ts +3 -0
  124. package/dist/config/jest/web/index.d.ts.map +1 -0
  125. package/dist/config/jest/web/index.js +11 -0
  126. package/dist/config/jest/web/jest-preset.d.ts +4 -0
  127. package/dist/config/jest/web/jest-preset.d.ts.map +1 -0
  128. package/dist/config/jest/web/jest-preset.js +87 -0
  129. package/dist/config/jest/web/jest.setup.d.ts +8 -0
  130. package/dist/config/jest/web/jest.setup.d.ts.map +1 -0
  131. package/dist/config/jest/web/jest.setup.js +28 -0
  132. package/dist/config/jest/web/resolver.d.ts +4 -0
  133. package/dist/config/jest/web/resolver.d.ts.map +1 -0
  134. package/dist/config/jest/web/resolver.js +38 -0
  135. package/dist/config/jest/web/webBabelConfig.d.ts +10 -0
  136. package/dist/config/jest/web/webBabelConfig.d.ts.map +1 -0
  137. package/dist/config/jest/web/webBabelConfig.js +18 -0
  138. package/dist/web/global.d.ts +2 -2
  139. package/dist/web/global.d.ts.map +1 -1
  140. package/package.json +20 -11
  141. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-commented-exports/code.js +0 -28
  142. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-commented-exports/output.js +0 -35
  143. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-default-and-other-named-export/code.js +0 -7
  144. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-default-and-other-named-export/output.js +0 -6
  145. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-default-export/code.js +0 -3
  146. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-default-export/output.js +0 -3
  147. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-required-exports/code.js +0 -28
  148. package/config/jest/babelPlugins/__tests__/__fixtures__/cell/cell-with-required-exports/output.js +0 -34
  149. package/config/jest/babelPlugins/__tests__/__fixtures__/viteDistDir/client-build-manifest.json +0 -59
  150. package/config/jest/babelPlugins/__tests__/babel-plugin-redwood-cell.test.ts +0 -11
  151. package/config/jest/package.json +0 -3
@@ -0,0 +1,11 @@
1
+ import type { EnvironmentContext, JestEnvironmentConfig } from '@jest/environment';
2
+ import { TestEnvironment } from 'jest-environment-node';
3
+ declare class RedwoodApiJestEnvironment extends TestEnvironment {
4
+ private testPath;
5
+ constructor(config: JestEnvironmentConfig, context: EnvironmentContext);
6
+ setup(): Promise<void>;
7
+ teardown(): Promise<void>;
8
+ getVmContext(): import("vm").Context | null;
9
+ }
10
+ export default RedwoodApiJestEnvironment;
11
+ //# sourceMappingURL=RedwoodApiJestEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedwoodApiJestEnv.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/RedwoodApiJestEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,cAAM,yBAA0B,SAAQ,eAAe;IACrD,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB;IAKhE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,YAAY;CAUb;AAED,eAAe,yBAAyB,CAAA"}
@@ -1,25 +1,43 @@
1
- const { TestEnvironment } = require('jest-environment-node')
2
-
3
- class RedwoodApiJestEnvironment extends TestEnvironment {
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var RedwoodApiJestEnv_exports = {};
20
+ __export(RedwoodApiJestEnv_exports, {
21
+ default: () => RedwoodApiJestEnv_default
22
+ });
23
+ module.exports = __toCommonJS(RedwoodApiJestEnv_exports);
24
+ var import_jest_environment_node = require("jest-environment-node");
25
+ class RedwoodApiJestEnvironment extends import_jest_environment_node.TestEnvironment {
26
+ testPath;
4
27
  constructor(config, context) {
5
- super(config, context)
6
- this.testPath = context.testPath
28
+ super(config, context);
29
+ this.testPath = context.testPath;
7
30
  }
8
-
9
31
  async setup() {
10
- await super.setup()
11
-
12
- this.global.testPath = this.testPath
32
+ await super.setup();
33
+ this.global.testPath = this.testPath;
13
34
  }
14
-
15
35
  async teardown() {
16
- await super.teardown()
36
+ await super.teardown();
17
37
  }
18
-
19
38
  getVmContext() {
20
- return super.getVmContext()
39
+ return super.getVmContext();
21
40
  }
22
-
23
41
  // async handleTestEvent(event, state) {
24
42
  // if (event.name === 'test_start') {
25
43
  // // Link to event docs:
@@ -27,5 +45,4 @@ class RedwoodApiJestEnvironment extends TestEnvironment {
27
45
  // }
28
46
  // }
29
47
  }
30
-
31
- module.exports = RedwoodApiJestEnvironment
48
+ var RedwoodApiJestEnv_default = RedwoodApiJestEnvironment;
@@ -0,0 +1,5 @@
1
+ import { getApiSideDefaultBabelConfig } from '@cedarjs/babel-config';
2
+ type ConfigType = Omit<ReturnType<typeof getApiSideDefaultBabelConfig>, 'babelrc'>;
3
+ declare const config: ConfigType;
4
+ export default config;
5
+ //# sourceMappingURL=apiBabelConfig.d.ts.map
@@ -0,0 +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;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"}
@@ -1,18 +1,34 @@
1
- const {
2
- getApiSideDefaultBabelConfig,
3
- getApiSideBabelPresets,
4
- getApiSideBabelPlugins,
5
- } = require('@cedarjs/babel-config')
6
-
7
- // Since configFile and babelrc is already passed a level up, cleaning up these keys here.
8
- // babelrc can not reside inside "extend"ed
9
- // Ref: packages/testing/config/jest/api/index.js
10
- const { babelrc: _b, ...defaultBabelConfig } = getApiSideDefaultBabelConfig()
11
-
12
- module.exports = {
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var apiBabelConfig_exports = {};
20
+ __export(apiBabelConfig_exports, {
21
+ default: () => apiBabelConfig_default
22
+ });
23
+ module.exports = __toCommonJS(apiBabelConfig_exports);
24
+ var import_babel_config = require("@cedarjs/babel-config");
25
+ const { babelrc: _b, ...defaultBabelConfig } = (0, import_babel_config.getApiSideDefaultBabelConfig)();
26
+ const config = {
13
27
  ...defaultBabelConfig,
14
- plugins: getApiSideBabelPlugins({ forJest: true }),
15
- presets: getApiSideBabelPresets({
16
- presetEnv: true, // jest needs code transpiled
17
- }),
18
- }
28
+ plugins: (0, import_babel_config.getApiSideBabelPlugins)(),
29
+ presets: (0, import_babel_config.getApiSideBabelPresets)({
30
+ presetEnv: true
31
+ // jest needs code transpiled
32
+ })
33
+ };
34
+ var apiBabelConfig_default = config;
@@ -0,0 +1,3 @@
1
+ import 'dotenv-defaults/config';
2
+ export default function (): Promise<void>;
3
+ //# sourceMappingURL=globalSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/globalSetup.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,CAAA;AAY/B,0CAoCC"}
@@ -1,46 +1,61 @@
1
- const { getSchema } = require('@prisma/internals')
2
-
3
- const { getPaths } = require('@cedarjs/project-config')
4
-
5
- const {
6
- getDefaultDb,
7
- checkAndReplaceDirectUrl,
8
- } = require('../../../dist/api/directUrlHelpers')
9
-
10
- const rwjsPaths = getPaths()
11
-
12
- module.exports = async function () {
13
- if (process.env.SKIP_DB_PUSH !== '1') {
14
- const process = require('process')
15
- // Load dotenvs
16
- require('dotenv-defaults/config')
17
-
18
- const defaultDb = getDefaultDb(rwjsPaths.base)
19
-
20
- process.env.DATABASE_URL = process.env.TEST_DATABASE_URL || defaultDb
21
-
22
- // NOTE: This is a workaround to get the directUrl from the schema
23
- // Instead of using the schema, we can use the config file
24
- // const prismaConfig = await getConfig(rwjsPaths.api.dbSchema)
25
- // and then check for the prismaConfig.datasources[0].directUrl
26
- const prismaSchema = (await getSchema(rwjsPaths.api.dbSchema)).toString()
27
-
28
- const directUrlEnvVar = checkAndReplaceDirectUrl(prismaSchema, defaultDb)
29
-
30
- const command =
31
- process.env.TEST_DATABASE_STRATEGY === 'reset'
32
- ? ['prisma', 'migrate', 'reset', '--force', '--skip-seed']
33
- : ['prisma', 'db', 'push', '--force-reset', '--accept-data-loss']
34
-
35
- const execa = require('execa')
36
- execa.sync(`yarn rw`, command, {
37
- cwd: rwjsPaths.api.base,
38
- stdio: 'inherit',
39
- shell: true,
40
- env: {
41
- DATABASE_URL: process.env.DATABASE_URL,
42
- [directUrlEnvVar]: process.env[directUrlEnvVar],
43
- },
44
- })
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 });
45
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 globalSetup_exports = {};
30
+ __export(globalSetup_exports, {
31
+ default: () => globalSetup_default
32
+ });
33
+ module.exports = __toCommonJS(globalSetup_exports);
34
+ var import_internals = require("@prisma/internals");
35
+ var import_config = require("dotenv-defaults/config");
36
+ var import_execa = __toESM(require("execa"), 1);
37
+ var import_project_config = require("@cedarjs/project-config");
38
+ var import_directUrlHelpers = require("@cedarjs/testing/dist/cjs/api/directUrlHelpers.js");
39
+ const rwjsPaths = (0, import_project_config.getPaths)();
40
+ async function globalSetup_default() {
41
+ if (process.env.SKIP_DB_PUSH === "1") {
42
+ return;
43
+ }
44
+ const defaultDb = (0, import_directUrlHelpers.getDefaultDb)(rwjsPaths.base);
45
+ process.env.DATABASE_URL = process.env.TEST_DATABASE_URL || defaultDb;
46
+ const prismaSchema = (await (0, import_internals.getSchema)(rwjsPaths.api.dbSchema)).toString();
47
+ const directUrlEnvVar = (0, import_directUrlHelpers.checkAndReplaceDirectUrl)(prismaSchema, defaultDb);
48
+ const command = process.env.TEST_DATABASE_STRATEGY === "reset" ? ["prisma", "migrate", "reset", "--force", "--skip-seed"] : ["prisma", "db", "push", "--force-reset", "--accept-data-loss"];
49
+ const env = {
50
+ DATABASE_URL: process.env.DATABASE_URL
51
+ };
52
+ if (directUrlEnvVar) {
53
+ env[directUrlEnvVar] = process.env[directUrlEnvVar];
54
+ }
55
+ import_execa.default.sync("yarn rw", command, {
56
+ cwd: rwjsPaths.api.base,
57
+ stdio: "inherit",
58
+ shell: true,
59
+ env
60
+ });
46
61
  }
@@ -0,0 +1,3 @@
1
+ import * as jestPreset from './jest-preset.js';
2
+ export = jestPreset;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAK9C,SAAS,UAAU,CAAA"}
@@ -1,2 +1,25 @@
1
- // This is for backwards compatibility
2
- module.exports = require('./jest-preset')
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 __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var jestPreset = __toESM(require("./jest-preset.js"), 1);
25
+ module.exports = jestPreset;
@@ -0,0 +1,4 @@
1
+ import type { Config } from 'jest';
2
+ declare const config: Config;
3
+ export default config;
4
+ //# sourceMappingURL=jest-preset.d.ts.map
@@ -0,0 +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,MAuDb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1,67 +1,97 @@
1
- // @ts-check
2
- const path = require('path')
3
-
4
- const { getApiSideDefaultBabelConfig } = require('@cedarjs/babel-config')
5
- const { getPaths } = require('@cedarjs/project-config')
6
-
7
- const rwjsPaths = getPaths()
8
- const NODE_MODULES_PATH = path.join(rwjsPaths.base, 'node_modules')
9
- const { babelrc } = getApiSideDefaultBabelConfig()
10
-
11
- /** @type {import('jest').Config} */
12
- module.exports = {
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 jest_preset_exports = {};
30
+ __export(jest_preset_exports, {
31
+ default: () => jest_preset_default
32
+ });
33
+ module.exports = __toCommonJS(jest_preset_exports);
34
+ var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_babel_config = require("@cedarjs/babel-config");
36
+ var import_project_config = require("@cedarjs/project-config");
37
+ const rwjsPaths = (0, import_project_config.getPaths)();
38
+ const NODE_MODULES_PATH = import_node_path.default.join(rwjsPaths.base, "node_modules");
39
+ const { babelrc } = (0, import_babel_config.getApiSideDefaultBabelConfig)();
40
+ const config = {
13
41
  // To make sure other config option which depends on rootDir use
14
42
  // correct path, for example, coverageDirectory
15
43
  rootDir: rwjsPaths.base,
16
- roots: [path.join(rwjsPaths.api.src)],
17
- runner: path.join(__dirname, '../jest-serial-runner.js'),
18
- testEnvironment: path.join(__dirname, './RedwoodApiJestEnv.js'),
44
+ roots: [import_node_path.default.join(rwjsPaths.api.src)],
45
+ runner: import_node_path.default.join(__dirname, "../jest-serial-runner.js"),
46
+ testEnvironment: import_node_path.default.join(__dirname, "./RedwoodApiJestEnv.js"),
19
47
  globals: {
20
48
  __RWJS__TEST_IMPORTS: {
21
49
  apiSrcPath: rwjsPaths.api.src,
22
- tearDownCachePath: path.join(
50
+ tearDownCachePath: import_node_path.default.join(
23
51
  rwjsPaths.generated.base,
24
- 'scenarioTeardown.json',
52
+ "scenarioTeardown.json"
25
53
  ),
26
- dbSchemaPath: rwjsPaths.api.dbSchema,
27
- },
54
+ dbSchemaPath: rwjsPaths.api.dbSchema
55
+ }
28
56
  },
29
- sandboxInjectedGlobals: ['__RWJS__TEST_IMPORTS'],
57
+ sandboxInjectedGlobals: ["__RWJS__TEST_IMPORTS"],
30
58
  displayName: {
31
- color: 'redBright',
32
- name: 'api',
59
+ color: "redBright",
60
+ name: "api"
33
61
  },
34
62
  collectCoverageFrom: [
35
- '**/*.{js,jsx,ts,tsx}',
36
- '!**/node_modules/**',
37
- '!**/dist/**',
63
+ "**/*.{js,jsx,ts,tsx}",
64
+ "!**/node_modules/**",
65
+ "!**/dist/**"
38
66
  ],
39
- coverageDirectory: path.join(rwjsPaths.base, 'coverage'),
67
+ coverageDirectory: import_node_path.default.join(rwjsPaths.base, "coverage"),
40
68
  watchPlugins: [
41
- 'jest-watch-typeahead/filename',
42
- 'jest-watch-typeahead/testname',
69
+ "jest-watch-typeahead/filename",
70
+ "jest-watch-typeahead/testname"
43
71
  ],
44
72
  // This runs once before all tests
45
- globalSetup: path.join(__dirname, './globalSetup.js'),
73
+ globalSetup: import_node_path.default.join(__dirname, "./globalSetup.js"),
46
74
  // Note this setup runs for each test file!
47
- setupFilesAfterEnv: [path.join(__dirname, './jest.setup.js')],
75
+ setupFilesAfterEnv: [import_node_path.default.join(__dirname, "./jest.setup.js")],
48
76
  moduleNameMapper: {
49
77
  // @NOTE: Import @cedarjs/testing in api tests, and it automatically remaps to the api side only
50
78
  // This is to prevent web stuff leaking into api, and vice versa
51
- '^@cedarjs/testing$': path.join(NODE_MODULES_PATH, '@cedarjs/testing/api'),
79
+ "^@cedarjs/testing$": import_node_path.default.join(NODE_MODULES_PATH, "@cedarjs/testing/api")
52
80
  },
53
81
  transform: {
54
- '\\.[jt]sx?$': [
55
- 'babel-jest',
82
+ "\\.[jt]sx?$": [
83
+ "babel-jest",
56
84
  // When jest runs tests in parallel, it serializes the config before passing down options to babel
57
85
  // that's why these must be serializable. So ideally, we should just pass reference to a
58
86
  // configFile or "extends" a config. But we need a few other option only at root level, so we'll pass
59
87
  // here and remove those keys inside "extend"ed config.
60
88
  {
61
- babelrc, // babelrc can not reside inside "extend"ed config, that's why we have it here
62
- configFile: path.resolve(__dirname, './apiBabelConfig.js'),
63
- },
64
- ],
89
+ babelrc,
90
+ // babelrc can not reside inside "extend"ed config, that's why we have it here
91
+ configFile: import_node_path.default.resolve(__dirname, "./apiBabelConfig.js")
92
+ }
93
+ ]
65
94
  },
66
- testPathIgnorePatterns: ['.scenarios.[jt]s$'],
67
- }
95
+ testPathIgnorePatterns: [".scenarios.[jt]s$"]
96
+ };
97
+ var jest_preset_default = config;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jest.setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/jest.setup.ts"],"names":[],"mappings":""}