react-obsidian 2.31.0-alpha.5 → 2.31.0-alpha.6

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":"ComponentInjector.js","sourceRoot":"","sources":["../../../../src/injectors/components/ComponentInjector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyD;AACzD,sFAA2D;AAE3D,oEAA4C;AAC5C,0DAAkC;AAClC,0DAAkC;AAElC,6CAAqE;AACrE,iDAA8C;AAC9C,2DAAwD;AAExD,MAAqB,iBAAiB;IACpC,MAAM,CACJ,MAAkC,EAClC,UAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,IAAA,iCAAoB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa,CACnB,kBAA8C,EAC9C,UAA+C;QAE/C,MAAM,UAAU,GAAG,IAAA,2BAAmB,EAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,OAAO,IAAA,mBAAW,EAAC,CAAC,WAAc,EAAE,EAAE;YACpC,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,UAAU,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAI,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,IAAI,uBAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAElE,OAAO,CACL,8BAAC,2BAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,cAAc,EAAC;gBAC3C,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,8BAAC,kBAAQ,IAAC,GAAG,EAAE,YAAY,GAAI;gBACtE,MAAM,CAAC,YAA+C,CAAC,CAClC,CACzB,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAhCD,oCAgCC"}
1
+ {"version":3,"file":"ComponentInjector.js","sourceRoot":"","sources":["../../../../src/injectors/components/ComponentInjector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyD;AACzD,sFAA2D;AAE3D,oEAA4C;AAC5C,0DAAkC;AAClC,0DAAkC;AAElC,6CAAqE;AACrE,iDAA8C;AAC9C,2DAAwD;AAExD,MAAqB,iBAAiB;IACpC,MAAM,CACJ,MAAkC,EAClC,UAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvD,IAAA,iCAAoB,EAAC,OAAc,EAAE,MAAa,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa,CACnB,kBAA8C,EAC9C,UAA+C;QAE/C,MAAM,UAAU,GAAG,IAAA,2BAAmB,EAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,OAAO,IAAA,mBAAW,EAAC,CAAC,WAAc,EAAE,EAAE;YACpC,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,UAAU,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAI,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,IAAI,uBAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAElE,OAAO,CACL,8BAAC,2BAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,cAAc,EAAC;gBAC3C,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,8BAAC,kBAAQ,IAAC,GAAG,EAAE,YAAY,GAAI;gBACtE,MAAM,CAAC,YAA+C,CAAoB,CACrD,CACzB,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAhCD,oCAgCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGraph.d.ts","sourceRoot":"","sources":["../../../../src/injectors/components/useGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;yBAItC,CAAC,cACH,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,UACvC,GAAG,UACH,OAAO,CAAC,CAAC,CAAC,mBACD,MAAM,iBACR,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AALrC,wBAyBE"}
1
+ {"version":3,"file":"useGraph.d.ts","sourceRoot":"","sources":["../../../../src/injectors/components/useGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;yBAItC,CAAC,cACH,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,UACvC,GAAG,UACH,OAAO,CAAC,CAAC,CAAC,mBACD,MAAM,iBACR,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AALrC,wBA0BE"}
@@ -13,9 +13,10 @@ exports.default = (keyOrGraph, target, props, injectionToken, containerRef) => {
13
13
  return resolvedGraph;
14
14
  });
15
15
  (0, react_1.useEffect)(() => {
16
+ const sentinel = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
16
17
  ReferenceCounter_1.default.retain(graph);
17
18
  return () => {
18
- const isCleanupCalledDueToActivityPause = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
19
+ const isCleanupCalledDueToActivityPause = graph.inactiveBehavior === 'retain' && (sentinel === null || sentinel === void 0 ? void 0 : sentinel.isConnected);
19
20
  ReferenceCounter_1.default.release(graph, (g) => {
20
21
  if (!isCleanupCalledDueToActivityPause) {
21
22
  GraphRegistry_1.default.clear(g);
@@ -1 +1 @@
1
- {"version":3,"file":"useGraph.js","sourceRoot":"","sources":["../../../../src/injectors/components/useGraph.ts"],"names":[],"mappings":";;;;;AAAA,iCAAmD;AAGnD,uFAA+D;AAC/D,8EAAsD;AAEtD,kBAAe,CACb,UAA+C,EAC/C,MAAW,EACX,KAAkB,EAClB,cAAuB,EACvB,YAAmC,EACnC,EAAE;IAEF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,aAAa,GAAG,uBAAa,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACjG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,0BAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,MAAM,iCAAiC,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC;YAChE,0BAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC,iCAAiC,EAAE,CAAC;oBACvC,uBAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"useGraph.js","sourceRoot":"","sources":["../../../../src/injectors/components/useGraph.ts"],"names":[],"mappings":";;;;;AAAA,iCAAmD;AAGnD,uFAA+D;AAC/D,8EAAsD;AAEtD,kBAAe,CACb,UAA+C,EAC/C,MAAW,EACX,KAAkB,EAClB,cAAuB,EACvB,YAAmC,EACnC,EAAE;IAEF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,aAAa,GAAG,uBAAa,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACjG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC;QACvC,0BAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,MAAM,iCAAiC,GAAG,KAAK,CAAC,gBAAgB,KAAK,QAAQ,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAA,CAAC;YACvG,0BAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC,iCAAiC,EAAE,CAAC;oBACvC,uBAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-obsidian",
3
- "version": "2.31.0-alpha.5",
3
+ "version": "2.31.0-alpha.6",
4
4
  "description": "Dependency injection framework for React and React Native applications",
5
5
  "scripts": {
6
6
  "prepack": "yarn lint && tsc --project tsconfig.prod.json",
@@ -39,14 +39,15 @@
39
39
  "@babel/preset-typescript": "7.26.0",
40
40
  "@babel/types": "7.24.5",
41
41
  "@stylistic/eslint-plugin": "^1.7.0",
42
+ "@testing-library/dom": "^10.0.0",
42
43
  "@testing-library/jest-dom": "^6.9.1",
43
- "@testing-library/react": "14.x.x",
44
+ "@testing-library/react": "16.x.x",
44
45
  "@types/hoist-non-react-statics": "^3.3.1",
45
46
  "@types/jest": "^30.0.0",
46
47
  "@types/jest-when": "^3.5.5",
47
48
  "@types/lodash": "^4.14.176",
48
- "@types/react": "18.3.x",
49
- "@types/react-dom": "18.3.x",
49
+ "@types/react": "^19.0.0",
50
+ "@types/react-dom": "^19.0.0",
50
51
  "@typescript-eslint/eslint-plugin": "^7.18.0",
51
52
  "@typescript-eslint/parser": "^7.18.0",
52
53
  "babel-plugin-parameter-decorator": "1.x.x",
@@ -66,8 +67,8 @@
66
67
  "jest-mock-extended": "^3.0.7",
67
68
  "jest-when": "^3.7.0",
68
69
  "lodash": "^4.17.21",
69
- "react": "18.2.x",
70
- "react-dom": "18.2.x",
70
+ "react": "19.2.4",
71
+ "react-dom": "19.2.4",
71
72
  "setimmediate": "^1.0.5",
72
73
  "typescript": "^5.7.3"
73
74
  },
@@ -15,7 +15,7 @@ export default class ComponentInjector {
15
15
  keyOrGraph: string | Constructable<ObjectGraph>,
16
16
  ): React.FunctionComponent<Partial<P>> {
17
17
  const Wrapped = this.wrapComponent(Target, keyOrGraph);
18
- hoistNonReactStatics(Wrapped, Target);
18
+ hoistNonReactStatics(Wrapped as any, Target as any);
19
19
  return Wrapped;
20
20
  }
21
21
 
@@ -36,7 +36,7 @@ export default class ComponentInjector {
36
36
  return (
37
37
  <GraphContext.Provider value={{injectionToken}}>
38
38
  {graph.inactiveBehavior === 'retain' && <Sentinel ref={containerRef} />}
39
- {Target(proxiedProps as unknown as PropsWithChildren<P>)}
39
+ {Target(proxiedProps as unknown as PropsWithChildren<P>) as React.ReactNode}
40
40
  </GraphContext.Provider>
41
41
  );
42
42
  }, compare);
@@ -18,9 +18,10 @@ export default <P>(
18
18
  return resolvedGraph;
19
19
  });
20
20
  useEffect(() => {
21
+ const sentinel = containerRef?.current;
21
22
  referenceCounter.retain(graph);
22
23
  return () => {
23
- const isCleanupCalledDueToActivityPause = containerRef?.current;
24
+ const isCleanupCalledDueToActivityPause = graph.inactiveBehavior === 'retain' && sentinel?.isConnected;
24
25
  referenceCounter.release(graph, (g) => {
25
26
  if (!isCleanupCalledDueToActivityPause) {
26
27
  graphRegistry.clear(g);