joist-test-utils 1.290.5 → 1.292.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.
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AAEvD,6DAA6D;AAC7D,wBAAsB,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAC5C,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAC/B,SAAS,GAAE,SAAS,CAAC,CAAC,CAAc,GACnC,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EACvC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GACtB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE5D;AAED,qFAAqF;AACrF,wBAAsB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EACnD,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,MAAM,CAAC,EAAE,EACnB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EACzC,SAAS,GAAE,SAAS,CAAC,CAAC,CAAc,GACnC,OAAO,CAAC,CAAC,EAAE,CAAC,CAad;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,EAC3C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GACtB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAEhG;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAMvD"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AAMvD,6DAA6D;AAC7D,wBAAsB,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAC5C,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAC/B,SAAS,GAAE,SAAS,CAAC,CAAC,CAAc,GACnC,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EACvC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GACtB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE5D;AAED,qFAAqF;AACrF,wBAAsB,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC,EACnD,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,MAAM,CAAC,EAAE,EACnB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EACzC,SAAS,GAAE,SAAS,CAAC,CAAC,CAAc,GACnC,OAAO,CAAC,CAAC,EAAE,CAAC,CAad;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,EAC3C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GACtB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAEhG;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAMvD"}
package/build/run.js CHANGED
@@ -8,11 +8,25 @@ exports.newContext = newContext;
8
8
  const joist_orm_1 = require("joist-orm");
9
9
  const joist_utils_1 = require("joist-utils");
10
10
  const RunPlugin_1 = require("./RunPlugin");
11
+ // Used to allow non-mutating run... calls to be run in parallel.
12
+ let flushPromise;
13
+ let flushEm;
11
14
  /** Runs the `fn` in a dedicated / non-test Unit of Work . */
12
15
  async function run(ctx, fn, contextFn = newContext) {
13
16
  const { em } = ctx;
14
- // Ensure any test data we've setup is flushed
15
- await em.flush();
17
+ // Ensure any test data we've set up is flushed. If another invocation of `run` is already flushing, then we can just
18
+ // wait on its promise. Otherwise, we will get flushLock errors.
19
+ try {
20
+ flushPromise ??= em.flush();
21
+ flushEm ??= em;
22
+ if (flushEm !== em)
23
+ (0, joist_utils_1.fail)("cannot use run in parallel with multiple entity managers");
24
+ await flushPromise;
25
+ }
26
+ finally {
27
+ flushPromise = undefined;
28
+ flushEm = undefined;
29
+ }
16
30
  const newCtx = await contextFn(ctx);
17
31
  const plugin = new RunPlugin_1.RunPlugin(em);
18
32
  newCtx.em.addPlugin(plugin);
package/build/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-test-utils",
3
- "version": "1.290.5",
3
+ "version": "1.292.0",
4
4
  "license": "MIT",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  "build"
12
12
  ],
13
13
  "dependencies": {
14
- "joist-orm": "1.290.5",
15
- "joist-utils": "1.290.5"
14
+ "joist-orm": "1.292.0",
15
+ "joist-utils": "1.292.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@swc/core": "^1.13.20",