@@ -352,7 +352,22 @@ exports.queries = {
352352 ]/Identifier/:name == "exports"
353353 ]
354354 ]
355- ]/$$:right/:value`
355+ ]/$$:right/:value` ,
356+ /*
357+ Some bundlers (e.g. Vite/Rollup production builds) merge each module's
358+ assignments into a single comma-joined SequenceExpression and rename the
359+ CJS "exports" object to a short bundler-local identifier (e.g. `e`), and
360+ may emit the version as a template literal (backtick string) rather than
361+ a plain string Literal:
362+ e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=...,e.version=`19.2.7`
363+ Match structurally on the assignment target object instead of the name.
364+ */
365+ `//SequenceExpression[
366+ /AssignmentExpression[/:left/:property/:name == "__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE"]/:left/$:object ==
367+ /AssignmentExpression[/:left/:property/:name == "version"]/:left/$:object
368+ ]/AssignmentExpression[
369+ /:left/:property/:name == "version"
370+ ]/:right/TemplateElement/:value/:cooked` ,
356371 ] ,
357372 react : [
358373 `//CallExpression[
@@ -366,11 +381,46 @@ exports.queries = {
366381 ]/ExpressionStatement/AssignmentExpression[/MemberExpression/:property/:name == "version"]/$$:right/:value` ,
367382 `/ExpressionStatement/AssignmentExpression[
368383 /MemberExpression/:property/:name == "version" &&
369- /MemberExpression/:$object ==
384+ /MemberExpression/:$object ==
370385 ../../ExpressionStatement/AssignmentExpression/MemberExpression[
371386 /:property/:name == "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED"
372387 ]/$:object
373388 ]/$$:right/:value` ,
389+ /*
390+ React 19 renamed __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED to
391+ __CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE. The four
392+ queries below mirror the three patterns above (plus the react-dom-style
393+ SequenceExpression form) for the new name, covering: standalone CJS
394+ builds where "exports" is an undeclared free variable referenced by
395+ name (cdnjs minified, unpkg unminified), and bundler output where the
396+ exports object is a declared local/parameter with an arbitrary name and
397+ the version may be a template literal (Vite/Rollup production builds).
398+ */
399+ `//SequenceExpression[
400+ /AssignmentExpression/:left[/:object/:name == "exports" && /:property/:name == "__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE"]
401+ ]/AssignmentExpression[
402+ /:left/:object/:name == "exports" && /:left/:property/:name == "version"
403+ ]/:right/:value` ,
404+ `//SequenceExpression[
405+ /AssignmentExpression[/:left/:property/:name == "__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE"]/:left/$:object ==
406+ /AssignmentExpression[/:left/:property/:name == "version"]/:left/$:object
407+ ]/AssignmentExpression[
408+ /:left/:property/:name == "version"
409+ ]/$$:right/:value` ,
410+ `//SequenceExpression[
411+ /AssignmentExpression[/:left/:property/:name == "__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE"]/:left/$:object ==
412+ /AssignmentExpression[/:left/:property/:name == "version"]/:left/$:object
413+ ]/AssignmentExpression[
414+ /:left/:property/:name == "version"
415+ ]/:right/TemplateElement/:value/:cooked` ,
416+ `/ExpressionStatement/AssignmentExpression[
417+ /MemberExpression/:property/:name == "version" &&
418+ /MemberExpression/:object/:name == "exports" &&
419+ ../../ExpressionStatement/AssignmentExpression/MemberExpression[
420+ /:property/:name == "__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE" &&
421+ /:object/:name == "exports"
422+ ]
423+ ]/$$:right/:value` ,
374424 ] ,
375425 "moment.js" : [
376426 /*
0 commit comments