legend-doctor 0.4.0 → 0.5.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 (102) hide show
  1. package/README.md +6 -1
  2. package/REPORT.md +68 -4
  3. package/dist/src/cli/options.d.ts.map +1 -1
  4. package/dist/src/cli/options.js +1 -0
  5. package/dist/src/cli/options.js.map +1 -1
  6. package/dist/src/core/subscriptions.d.ts +18 -8
  7. package/dist/src/core/subscriptions.d.ts.map +1 -1
  8. package/dist/src/core/types.d.ts +1 -1
  9. package/dist/src/core/types.d.ts.map +1 -1
  10. package/dist/src/core/types.js.map +1 -1
  11. package/dist/src/practices/practice-rules.d.ts +1 -1
  12. package/dist/src/practices/practice-rules.d.ts.map +1 -1
  13. package/dist/src/practices/practice-rules.js +16 -0
  14. package/dist/src/practices/practice-rules.js.map +1 -1
  15. package/dist/src/project/analyze-path/child-contracts.d.ts.map +1 -1
  16. package/dist/src/project/analyze-path/child-contracts.js +7 -0
  17. package/dist/src/project/analyze-path/child-contracts.js.map +1 -1
  18. package/dist/src/project/analyze-path/component-prop-data.d.ts +5 -0
  19. package/dist/src/project/analyze-path/component-prop-data.d.ts.map +1 -0
  20. package/dist/src/project/analyze-path/component-prop-data.js +154 -0
  21. package/dist/src/project/analyze-path/component-prop-data.js.map +1 -0
  22. package/dist/src/project/source-components/callback-package-version.d.ts +4 -0
  23. package/dist/src/project/source-components/callback-package-version.d.ts.map +1 -0
  24. package/dist/src/project/source-components/callback-package-version.js +93 -0
  25. package/dist/src/project/source-components/callback-package-version.js.map +1 -0
  26. package/dist/src/project/source-components/source-components.d.ts +2 -0
  27. package/dist/src/project/source-components/source-components.d.ts.map +1 -1
  28. package/dist/src/project/source-components/source-components.js +3 -0
  29. package/dist/src/project/source-components/source-components.js.map +1 -1
  30. package/dist/src/project/subscription-measurements.d.ts +1 -1
  31. package/dist/src/project/subscription-measurements.d.ts.map +1 -1
  32. package/dist/src/project/subscription-measurements.js +58 -12
  33. package/dist/src/project/subscription-measurements.js.map +1 -1
  34. package/dist/src/report/subscription-measurements.d.ts.map +1 -1
  35. package/dist/src/report/subscription-measurements.js +29 -11
  36. package/dist/src/report/subscription-measurements.js.map +1 -1
  37. package/dist/src/rules/child-contract/array-item-callbacks.d.ts.map +1 -1
  38. package/dist/src/rules/child-contract/array-item-callbacks.js +3 -1
  39. package/dist/src/rules/child-contract/array-item-callbacks.js.map +1 -1
  40. package/dist/src/rules/child-contract/command-item-events.d.ts +8 -0
  41. package/dist/src/rules/child-contract/command-item-events.d.ts.map +1 -0
  42. package/dist/src/rules/child-contract/command-item-events.js +160 -0
  43. package/dist/src/rules/child-contract/command-item-events.js.map +1 -0
  44. package/dist/src/rules/child-contract/expression-stages.d.ts.map +1 -1
  45. package/dist/src/rules/child-contract/expression-stages.js +7 -4
  46. package/dist/src/rules/child-contract/expression-stages.js.map +1 -1
  47. package/dist/src/rules/child-contract/invocation-boolean-props.d.ts +1 -0
  48. package/dist/src/rules/child-contract/invocation-boolean-props.d.ts.map +1 -1
  49. package/dist/src/rules/child-contract/invocation-boolean-props.js +1 -1
  50. package/dist/src/rules/child-contract/invocation-boolean-props.js.map +1 -1
  51. package/dist/src/rules/child-contract/invocation-trace.d.ts.map +1 -1
  52. package/dist/src/rules/child-contract/invocation-trace.js +3 -1
  53. package/dist/src/rules/child-contract/invocation-trace.js.map +1 -1
  54. package/dist/src/rules/child-contract/jsx-event-attributes.d.ts.map +1 -1
  55. package/dist/src/rules/child-contract/jsx-event-attributes.js +3 -1
  56. package/dist/src/rules/child-contract/jsx-event-attributes.js.map +1 -1
  57. package/dist/src/rules/child-contract/model.d.ts +5 -0
  58. package/dist/src/rules/child-contract/model.d.ts.map +1 -1
  59. package/dist/src/rules/child-contract/model.js.map +1 -1
  60. package/dist/src/rules/derived-use-value/derived-use-value.d.ts.map +1 -1
  61. package/dist/src/rules/derived-use-value/derived-use-value.js +16 -3
  62. package/dist/src/rules/derived-use-value/derived-use-value.js.map +1 -1
  63. package/dist/src/rules/derived-use-value/migration-owner.d.ts +4 -0
  64. package/dist/src/rules/derived-use-value/migration-owner.d.ts.map +1 -0
  65. package/dist/src/rules/derived-use-value/migration-owner.js +100 -0
  66. package/dist/src/rules/derived-use-value/migration-owner.js.map +1 -0
  67. package/dist/src/rules/derived-use-value/migration-proof.d.ts +5 -0
  68. package/dist/src/rules/derived-use-value/migration-proof.d.ts.map +1 -0
  69. package/dist/src/rules/derived-use-value/migration-proof.js +168 -0
  70. package/dist/src/rules/derived-use-value/migration-proof.js.map +1 -0
  71. package/dist/src/rules/observable-reads/independent-subscription-bindings.d.ts +6 -0
  72. package/dist/src/rules/observable-reads/independent-subscription-bindings.d.ts.map +1 -0
  73. package/dist/src/rules/observable-reads/independent-subscription-bindings.js +79 -0
  74. package/dist/src/rules/observable-reads/independent-subscription-bindings.js.map +1 -0
  75. package/dist/src/rules/observable-reads/owner-class-evaluation.d.ts +11 -0
  76. package/dist/src/rules/observable-reads/owner-class-evaluation.d.ts.map +1 -0
  77. package/dist/src/rules/observable-reads/owner-class-evaluation.js +146 -0
  78. package/dist/src/rules/observable-reads/owner-class-evaluation.js.map +1 -0
  79. package/dist/src/rules/observable-reads/owner-class-projections.d.ts +6 -0
  80. package/dist/src/rules/observable-reads/owner-class-projections.d.ts.map +1 -0
  81. package/dist/src/rules/observable-reads/owner-class-projections.js +46 -0
  82. package/dist/src/rules/observable-reads/owner-class-projections.js.map +1 -0
  83. package/dist/src/rules/observable-reads/owner-class-prop-reads.d.ts +5 -0
  84. package/dist/src/rules/observable-reads/owner-class-prop-reads.d.ts.map +1 -0
  85. package/dist/src/rules/observable-reads/owner-class-prop-reads.js +53 -0
  86. package/dist/src/rules/observable-reads/owner-class-prop-reads.js.map +1 -0
  87. package/dist/src/rules/observable-reads/owner-parameter-work.d.ts +4 -0
  88. package/dist/src/rules/observable-reads/owner-parameter-work.d.ts.map +1 -0
  89. package/dist/src/rules/observable-reads/owner-parameter-work.js +51 -0
  90. package/dist/src/rules/observable-reads/owner-parameter-work.js.map +1 -0
  91. package/dist/src/rules/observable-reads/subscription-leaf-targets.d.ts.map +1 -1
  92. package/dist/src/rules/observable-reads/subscription-leaf-targets.js +42 -3
  93. package/dist/src/rules/observable-reads/subscription-leaf-targets.js.map +1 -1
  94. package/dist/src/rules/plain-primitive-projection.d.ts +12 -0
  95. package/dist/src/rules/plain-primitive-projection.d.ts.map +1 -0
  96. package/dist/src/rules/plain-primitive-projection.js +232 -0
  97. package/dist/src/rules/plain-primitive-projection.js.map +1 -0
  98. package/dist/src/rules/state-proofs/render-purpose.d.ts +6 -1
  99. package/dist/src/rules/state-proofs/render-purpose.d.ts.map +1 -1
  100. package/dist/src/rules/state-proofs/render-purpose.js +4 -6
  101. package/dist/src/rules/state-proofs/render-purpose.js.map +1 -1
  102. package/package.json +2 -1
package/README.md CHANGED
@@ -4,6 +4,11 @@ A read-only analyzer for React and Legend State in TypeScript and JavaScript.
4
4
  It reports suggested render and effect optimizations, unresolved opportunities, and code to keep.
5
5
  Results are JSON; source files are never modified.
6
6
 
7
+ Watch Jay Meistrich’s **How to Build the Fastest Apps: Break the Rules** for a look at the state and rendering
8
+ optimizations behind Legend State.
9
+
10
+ [![Watch Jay Meistrich: How to Build the Fastest Apps](https://img.youtube.com/vi/K3flMIHS-cI/hqdefault.jpg)](https://youtu.be/K3flMIHS-cI?si=oT3-45ExhhodlIc1)
11
+
7
12
  ## Quick start
8
13
 
9
14
  Requires Node.js 22 or newer.
@@ -58,7 +63,7 @@ jobs:
58
63
  - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
59
64
  with:
60
65
  fetch-depth: 0
61
- - uses: Genie-sa/legend-doctor@v0.3.0
66
+ - uses: Genie-sa/legend-doctor@v0.4.0
62
67
  with:
63
68
  directory: src
64
69
  ```
package/REPORT.md CHANGED
@@ -160,7 +160,7 @@ work but does not reread or reparse files.
160
160
  mount slots. Keep observable creation and atomic writes in their existing owner.
161
161
  - `impact.basis: "static-jsx"` ranks by owner JSX elements outside the proposed children. These are source
162
162
  counts, not render counts, elapsed time, or a promised speedup. `rank` starts at 1.
163
- - `impact.basis: "provided-runtime-measurement"` identifies externally supplied before/after render counts.
163
+ - `impact.basis: "provided-runtime-measurement"` identifies externally supplied before/after costs.
164
164
  Measurements do not bypass detector proofs or create findings.
165
165
  - `rejectedMeasurements` reports malformed, stale, duplicate, or unmatched measurement entries.
166
166
 
@@ -193,9 +193,73 @@ so a scan of the edited owner rejects it as stale. External modules and runtime
193
193
  in that fingerprint; repeat measurements when either changes. Programmatic `analyzePath` callers may pass
194
194
  `subscriptionMeasurements` instead of creating the file.
195
195
 
196
- Measured positive savings rank first, unmeasured static plans next, and measured zero/negative savings last.
197
- Within measured groups, ranking uses total owner-plus-sibling renders saved per sample. This ordering is a
198
- triage aid; scenario frequency and render duration still require application profiling.
196
+ Optional cost fields extend each `before` / `after` object without changing version 1:
197
+
198
+ | Field | Unit and scope |
199
+ | -------------------- | ---------------------------------------------------------------------------------------------------------- |
200
+ | `selectorExecutions` | Total callback selector invocations, including invocations during renders |
201
+ | `selectorDurationMs` | Summed elapsed milliseconds inside those callbacks |
202
+ | `scenarioDurationMs` | Total elapsed milliseconds for the complete interaction sequence, through the recorded completion boundary |
203
+
204
+ Counts must be nonnegative safe integers. Durations must be finite nonnegative numbers. Each optional
205
+ field must appear on **both** sides; zero is a measurement, absence means unmeasured. Values are totals
206
+ across `samples`, not averages. Scenario time already includes selector work: do not add these durations.
207
+ Selector timing adds instrumentation overhead; use identical instrumentation before and after. A render
208
+ reduction can coexist with more selector work or a slower scenario, so none is a total-benefit score.
209
+
210
+ Any new cost field requires an `environment` object alongside `scenario`:
211
+
212
+ ```json
213
+ {
214
+ "runtime": "exact JS engine/harness, React and Legend State versions",
215
+ "platform": "OS/version and device model, or jsdom and host details",
216
+ "configuration": "build mode, StrictMode, instrumentation, warmup, and completion boundary"
217
+ }
218
+ ```
219
+
220
+ All three strings must be nonblank. Record the same configuration for both runs, including identical
221
+ inputs, update sequence and sample definition in `scenario`. Record native architecture and renderer
222
+ when applicable. This is caller-supplied provenance, not independently verified environment detection.
223
+ Measurements from changed dependencies or configuration must be recollected even if the fingerprint matches.
224
+
225
+ Legacy render-only measurements retain the same ranking policy: positive savings first, unmeasured static
226
+ plans next, and zero/negative savings last; measured groups use owner-plus-sibling renders saved per sample.
227
+ With provenance, that ordering applies only if every attached measurement has exactly matching environment
228
+ strings and scenario. Mixed legacy/provenance or incompatible environments/scenarios retain their evidence
229
+ but rank the **whole batch** by static JSX cut. `impact.basis` describes attached evidence, not a claim of
230
+ cross-environment comparability. Selector counts and milliseconds never enter the render-ranking score. Render-count sums and
231
+ per-sample comparisons use exact integer arithmetic, including near the safe-integer input boundary.
232
+
233
+ `npm run eval:runtime` includes a 100-row selector contract probe. It records actual callback executions
234
+ and monotonic-clock durations, excluding mount, and checks visible selection under normal and StrictMode
235
+ rendering. The pinned normal-mode contract is 100 raw row renders versus 2 selected row renders, with 102
236
+ selector executions in the selected version. These jsdom durations are diagnostics, not benchmark thresholds.
237
+ Existing keyed-selection contracts additionally check controlled drafts and host identity through reorder.
238
+
239
+ ### Native validation setup and remaining limitation
240
+
241
+ This repository has no React Native application, native build configuration, device runner, or React Native
242
+ dependency. jsdom cannot validate native focus, host prop delivery, layout, keyboard behavior, or device
243
+ performance. No native harness was executed and no native recommendation is justified by these measurements.
244
+ Use an existing native application's device test setup for this bounded contract before extending native rules:
245
+
246
+ 1. Pin and record the application's React Native, React, Legend State, Hermes/JSC, architecture and renderer
247
+ versions. Add an isolated screen with two routes: the original owner-controlled host props, and the proposed
248
+ stable module-scope reactive leaf. Use the installed `@legendapp/state/react-native` `$TextInput` and `$View`
249
+ exports only after checking that version's API. beta.48 maps `$TextInput`'s `$value` to `onChangeText`.
250
+ 2. Give both routes the same initial state and keyed rows. Include a controlled text input, a toggled host prop
251
+ such as `editable`, a layout-changing view, an unrelated sibling, and a reorder control. Expose test IDs,
252
+ mount/unmount counters, current text, focus/blur events, ref identity, and `onLayout`/`measure` results.
253
+ 3. Run on iOS and Android with the application's device runner (for example its existing Detox or Maestro
254
+ configuration): focus and type a draft; toggle the reactive prop; change layout; reorder rows; type again;
255
+ remove and remount the row. Assert text, editability, focus, keyboard continuity, callback snapshots and
256
+ layout agree between routes. Assert no unintended mount/ref changes, and exactly the expected cleanup on
257
+ removal. Native `measure` must complete before recording the layout assertion; do not substitute jsdom.
258
+ 4. First establish behavior in a development contract run with StrictMode on and off. Then collect repeated
259
+ production/profile-device scenarios with equal warmup and instrumentation, recording selector work and
260
+ total scenario duration separately. Define completion explicitly (including native commit/layout where
261
+ measured); a JS `act` return alone is not a native completion signal. Record native profiler data separately
262
+ if frame, commit, layout or UI-thread claims are needed. Never infer those costs from JS selector timing.
199
263
 
200
264
  Closed `const` aliases/defaults and supported `useMemo` projections move with their subscriptions. Memo
201
265
  identity and dependencies remain intact. Literal primitive effect dependencies and explicitly typed primitive
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAE5F,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,oBAAoB,CAAC;AA0FvD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,4FAA4F;IAC5F,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAsBD,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAQ/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEtD;AA+GD,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgBlE;AAmDD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAE5F,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,oBAAoB,CAAC;AA2FvD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,4FAA4F;IAC5F,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAsBD,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAQ/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEtD;AA+GD,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgBlE;AAmDD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE"}
@@ -8,6 +8,7 @@ const KNOWN_ACTIONS = {
8
8
  "delete-effect": true,
9
9
  "delete-unused-state": true,
10
10
  "derive-computed-observable": true,
11
+ "select-primitive-projection": true,
11
12
  "keep-effect": true,
12
13
  "keep-state": true,
13
14
  "move-state-down": true,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,MAAM,YAAY,GAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtF,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtE,MAAM,aAAa,GAAG;IACpB,0BAA0B,EAAE,IAAI;IAChC,yBAAyB,EAAE,IAAI;IAC/B,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,4BAA4B,EAAE,IAAI;IAClC,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,2BAA2B,EAAE,IAAI;IACjC,yBAAyB,EAAE,IAAI;IAC/B,+BAA+B,EAAE,IAAI;IACrC,mCAAmC,EAAE,IAAI;IACzC,8BAA8B,EAAE,IAAI;IACpC,oBAAoB,EAAE,IAAI;IAC1B,0BAA0B,EAAE,IAAI;IAChC,4BAA4B,EAAE,IAAI;IAClC,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,+BAA+B,EAAE,IAAI;IACrC,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,IAAI;IAC1B,uBAAuB,EAAE,IAAI;IAC7B,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,2BAA2B,EAAE,IAAI;CACH,CAAC;AAEjC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAE/E,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAIvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAwB;IACnD,CAAC,cAAc,EAAE,YAAY,CAAC;IAC9B,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,YAAY,EAAE,UAAU,CAAC;IAC1B,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,UAAU,EAAE,QAAQ,CAAC;IACtB,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,IAAI,EAAE,SAAS,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAA+B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3E,MAAM,WAAW,GAAG;IAClB,UAAU;IACV,WAAW;IACX,QAAQ;IACR,eAAe;IACf,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,SAAS;CACD,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,cAAc;IACd,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;IACX,YAAY;IACZ,eAAe;IACf,WAAW;IACX,QAAQ;IACR,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAyBF,SAAS,cAAc;IACrB,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,KAAK;QACX,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,OAAmB;IAC3C,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAID,MAAM,mBAAmB,GAAG;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACpC,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACxC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACpC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QAC1C,OAAO,CAAC,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACxC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QACjC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,EAAQ,EAAE;QAClC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CAC+D,CAAC;AAEnE,SAAS,WAAW,CAAC,IAAuB,EAAE,KAAa;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAClG,CAAC;AAOD,SAAS,cAAc,CACrB,OAAmB,EACnB,EAAE,IAAI,EAAE,KAAK,EAAkB,EAC/B,IAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzE,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,MAAM,SAAS,GAAG,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,UAAU,CAAC,6DAA6D,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB,EAAE,QAAgB;IAChE,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,qEAAqE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAClB,8BAA8B,QAAQ,oCAAoC,OAAO,CAAC,MAAM,SAAS,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB,EAAE,IAAuB,EAAE,KAAa;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACpC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACzC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KACnC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,oEAAoE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,gCAAgC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,iCAAiC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,UAAU,CAClB,iCAAiC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,GAAG,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAClB,uDAAuD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,mCAAmC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,GAAG,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAAC,gEAAgE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,0EAA0E,OAAO,GAAG,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,UAAU;QACf,CAAC,CAAC,iBAAiB,IAAI,oBAAoB,UAAU,IAAI;QACzD,CAAC,CAAC,iBAAiB,IAAI,GAAG,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,IAAI,GAA8C,IAAI,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,4BAA4B,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5F,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACrF,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"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"}
@@ -36,19 +36,29 @@ export interface SubscriptionInventory {
36
36
  }[];
37
37
  derivations: SubscriptionCut["derivations"];
38
38
  }
39
+ export interface SubscriptionCosts {
40
+ ownerRenders: number;
41
+ siblingRenders: number;
42
+ selectorExecutions?: number;
43
+ selectorDurationMs?: number;
44
+ scenarioDurationMs?: number;
45
+ }
46
+ export interface SubscriptionEnvironment {
47
+ /** Engine/harness and React/Legend versions. */
48
+ runtime: string;
49
+ /** OS and device, or explicitly jsdom. */
50
+ platform: string;
51
+ /** Build mode, StrictMode, instrumentation, and scenario completion boundary. */
52
+ configuration: string;
53
+ }
39
54
  export interface SubscriptionMeasurement {
40
55
  planId: string;
41
56
  fingerprint: string;
42
57
  scenario: string;
43
58
  samples: number;
44
- before: {
45
- ownerRenders: number;
46
- siblingRenders: number;
47
- };
48
- after: {
49
- ownerRenders: number;
50
- siblingRenders: number;
51
- };
59
+ before: SubscriptionCosts;
60
+ after: SubscriptionCosts;
61
+ environment?: SubscriptionEnvironment;
52
62
  behaviorEquivalent: true;
53
63
  }
54
64
  export interface SubscriptionPlan {
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../src/core/subscriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../src/core/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ interface StateAssumption {
65
65
  type StateAction = "keep-state" | "delete-unused-state" | "move-state-down" | "use-observable" | "use-value" | "delete-derived-state" | "use-ref" | "review-state";
66
66
  type EffectAction = "delete-effect" | "move-to-event" | "use-mount" | "use-unmount" | "use-observe-effect" | "persist-observable" | "keep-effect" | "review-effect";
67
67
  type HookAction = StateAction | EffectAction;
68
- type LegendPracticeAction = "review-helper-tracking" | "assign-observable-fields" | "batch-observable-writes" | "derive-computed-observable" | "move-use-value-into-child" | "move-use-value-down" | "narrow-observable-write" | "narrow-use-value-subscription" | "pass-observable-to-reactive-input" | "pass-observable-to-use-value" | "replace-legacy-use-value" | "reuse-observable-reference" | "snapshot-computed-initializer" | "split-use-value-leaves" | "split-use-value-result" | "toggle-observable" | "use-peek-for-snapshot" | "use-value-for-render-read";
68
+ type LegendPracticeAction = "select-primitive-projection" | "review-helper-tracking" | "assign-observable-fields" | "batch-observable-writes" | "derive-computed-observable" | "move-use-value-into-child" | "move-use-value-down" | "narrow-observable-write" | "narrow-use-value-subscription" | "pass-observable-to-reactive-input" | "pass-observable-to-use-value" | "replace-legacy-use-value" | "reuse-observable-reference" | "snapshot-computed-initializer" | "split-use-value-leaves" | "split-use-value-result" | "toggle-observable" | "use-peek-for-snapshot" | "use-value-for-render-read";
69
69
  interface SourceLocation {
70
70
  column: number;
71
71
  file: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAKA,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAU,CAAC;AA8RlC,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAKA,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAU,CAAC;AA+RlC,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import type { FileCapabilities } from "../project/capabilities.js";
2
2
  import type { HookImports } from "../core/imports.js";
3
3
  import type { LegendPracticeFinding } from "../core/types.js";
4
4
  import type { LegendPracticesRequest } from "./model.js";
5
- export type PracticeRuleId = "derived-use-value" | "legacy-use-value" | "observable-clone-writes" | "observable-ownership" | "observable-reads" | "observable-toggle" | "observable-tracking" | "observable-transactions";
5
+ export type PracticeRuleId = "plain-primitive-projection" | "derived-use-value" | "legacy-use-value" | "observable-clone-writes" | "observable-ownership" | "observable-reads" | "observable-toggle" | "observable-tracking" | "observable-transactions";
6
6
  export type PracticeRuleGateReason = "legend-v2-tracking" | "react-compiler" | "use-value-export-missing";
7
7
  export interface PracticeRuleGate {
8
8
  readonly detail: string;
@@ -1 +1 @@
1
- {"version":3,"file":"practice-rules.d.ts","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAUzD,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,gBAAgB,GAChB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,qBAAqB,EAAE,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AA2BD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EA+FjD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,CAK5F;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAEnF"}
1
+ {"version":3,"file":"practice-rules.d.ts","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAWzD,MAAM,MAAM,cAAc,GACtB,4BAA4B,GAC5B,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,gBAAgB,GAChB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,qBAAqB,EAAE,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AA2BD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EA+GjD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,CAK5F;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAEnF"}
@@ -6,6 +6,7 @@ import { findObservableOwnershipPractices } from "../rules/observable-ownership/
6
6
  import { findObservableReadPractices } from "../rules/observable-reads/observable-reads.js";
7
7
  import { findObservableTogglePractices } from "../rules/observable-toggle.js";
8
8
  import { findObservableTrackingPractices } from "../rules/observable-tracking/observable-tracking.js";
9
+ import { findPlainPrimitiveProjections } from "../rules/plain-primitive-projection.js";
9
10
  const REACT_COMPILER_GATE = {
10
11
  detail: "the React Compiler memoizes by reference, so in-place observable writes would leave memoized consumers stale",
11
12
  reason: "react-compiler",
@@ -25,6 +26,21 @@ function isLegendBeforeV3(capabilities) {
25
26
  return Number.isInteger(major) && major < FIRST_VERSION_WITHOUT_AUTO_TRACKING;
26
27
  }
27
28
  export const PRACTICE_RULES = [
29
+ {
30
+ disabledWhen: (capabilities) => {
31
+ if (isLegendBeforeV3(capabilities)) {
32
+ return LEGEND_V2_TRACKING_GATE;
33
+ }
34
+ return capabilities.legendState?.useValueExport === "missing" ? USE_VALUE_MISSING_GATE : null;
35
+ },
36
+ id: "plain-primitive-projection",
37
+ needsObservableBindings: true,
38
+ run: ({ imports, request }) => findPlainPrimitiveProjections({
39
+ imports,
40
+ sourceFile: request.sourceFile,
41
+ fileName: request.fileName,
42
+ }),
43
+ },
28
44
  {
29
45
  disabledWhen: (capabilities) => capabilities.legendState?.useValueExport === "missing" ? USE_VALUE_MISSING_GATE : null,
30
46
  id: "legacy-use-value",
@@ -1 +1 @@
1
- {"version":3,"file":"practice-rules.js","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"practice-rules.js","sourceRoot":"","sources":["../../../src/practices/practice-rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"child-contracts.d.ts","sourceRoot":"","sources":["../../../../src/project/analyze-path/child-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,qBAAqB,EAItB,MAAM,qCAAqC,CAAC;AAc7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA4W7D,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,GACnB,qBAAqB,CAEvB"}
1
+ {"version":3,"file":"child-contracts.d.ts","sourceRoot":"","sources":["../../../../src/project/analyze-path/child-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,qBAAqB,EAItB,MAAM,qCAAqC,CAAC;AAc7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwX7D,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,GACnB,qBAAqB,CAEvB"}
@@ -1,6 +1,7 @@
1
1
  import { findComponentDeclaration, findHookDeclaration } from "./source-declarations.js";
2
2
  import { findHookPresentationConsumer, hasSingleLeafConsumer } from "./hook-consumers.js";
3
3
  import { propCallbackIsDeferred, propCallbackRunsOnlyInReactEffect, propDefersArrayItemCallback, propIsLeafRenderConsumer, propObjectCallbackIsDeferred, } from "../../rules/child-contract/child-contract.js";
4
+ import { componentPropDataPath } from "./component-prop-data.js";
4
5
  import { importedHookConsumers } from "./hook-consumer-index.js";
5
6
  import { keyedCursorConsumerResult } from "../../rules/hook-keyed-cursor-contract/hook-keyed-cursor-contract.js";
6
7
  import { sourceHookDefersCallback } from "../../rules/source-callback-contract/source-callback-contract.js";
@@ -15,6 +16,7 @@ function cached(cache, key, compute) {
15
16
  }
16
17
  const PLATFORM_VARIANTS = ["", ".native", ".ios", ".android", ".web"];
17
18
  class ChildContracts {
19
+ componentPropDataContracts = new Map();
18
20
  arrayItemCallbackContracts = new Map();
19
21
  callbackContracts = new Map();
20
22
  componentCallbackContracts = new Map();
@@ -33,6 +35,8 @@ class ChildContracts {
33
35
  resolveHook: (file, name) => this.resolveHookDeclaration(file, name),
34
36
  };
35
37
  callbackSources = {
38
+ sourceFiles: () => this.context.project.files.map((file) => file.sourceFile),
39
+ callbackPackageVersion: (file, specifier) => this.context.sourceIndex.callbackPackageVersionFor(file, specifier),
36
40
  contextReaderHooks: (file, contextName) => this.context.sourceIndex.contextReaderHooksFor(file, contextName),
37
41
  deferredCallbackHooks: (file) => this.context.sourceIndex.deferredCallbackHooksFor(file),
38
42
  frameworkEventComponent: (file, name) => this.context.sourceIndex.frameworkEventComponentFor(file, name),
@@ -162,6 +166,9 @@ class ChildContracts {
162
166
  pureProjectionBindings() {
163
167
  return this.context.sourceIndex.pureProjectionsFor(this.importerFile);
164
168
  }
169
+ componentPropDataPath(owner, path) {
170
+ return cached(this.componentPropDataContracts, `${owner.pos}\0${path.join(".")}`, () => componentPropDataPath(this.context, owner, path));
171
+ }
165
172
  resolveComponent(name) {
166
173
  return this.resolveComponentSource(this.importerFile, name);
167
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"child-contracts.js","sourceRoot":"","sources":["../../../../src/project/analyze-path/child-contracts.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sEAAsE,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAG5G,SAAS,MAAM,CAAC,KAA2B,EAAE,GAAW,EAAE,OAAsB;IAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAE/E,MAAM,cAAc;IACD,0BAA0B,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC/C,0BAA0B,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxD,gCAAgC,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9D,oCAAoC,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClE,gBAAgB,GAAG,IAAI,GAAG,EAAuC,CAAC;IAClE,gBAAgB,GAAG,IAAI,GAAG,EAAwC,CAAC;IACnE,oBAAoB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClD,qBAAqB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACnD,6BAA6B,GAAG,IAAI,GAAG,EAGrD,CAAC;IACa,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,OAAO,CAAkB;IACzB,YAAY,CAAS;IAC9B,qBAAqB,GAElB,IAAI,CAAC;IAEC,YAAY,GAAuB;QAClD,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;KACrE,CAAC;IAEe,eAAe,GAAmC;QACjE,kBAAkB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CACxC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC;QACnE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC;QACxF,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC;QACjE,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;QACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;QACzE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;QACjE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,IAAI;KAC7E,CAAC;IAEF,YAAmB,OAAwB,EAAE,YAAoB;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,0BAA0B,CAC/B,QAAgB,EAChB,aAAqB,EACrB,QAAgB;QAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,QAAQ,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,GAAG,EAAE;YACvF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO,CACL,MAAM,KAAK,IAAI;gBACf,wBAAwB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAC3F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAA8B,CACnC,YAAoB,EACpB,MAAc,EACd,aAAqB;QAErB,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gCAAgC,CACtF,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC;IAChG,CAAC;IAEM,oCAAoC,CACzC,aAAqB,EACrB,QAAgB,EAChB,gBAAwB;QAExB,OAAO,MAAM,CACX,IAAI,CAAC,0BAA0B,EAC/B,GAAG,aAAa,KAAK,QAAQ,KAAK,gBAAgB,EAAE,EACpD,GAAG,EAAE;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,CACL,MAAM,KAAK,IAAI;gBACf,2BAA2B,CAAC;oBAC1B,MAAM;oBACN,QAAQ;oBACR,YAAY,EAAE,gBAAgB;oBAC9B,QAAQ,EAAE,IAAI,CAAC,eAAe;iBAC/B,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,+BAA+B,CAAC,aAAqB,EAAE,QAAgB;QAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,aAAa,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAE;YACrF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,MAAM,KAAK,IAAI,IAAI,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,2CAA2C,CAChD,aAAqB,EACrB,QAAgB,EAChB,UAA2D;QAE3D,OAAO,MAAM,CACX,IAAI,CAAC,oCAAoC,EACzC,GAAG,aAAa,KAAK,QAAQ,KAAK,UAAU,CAAC,GAAG,EAAE,EAClD,GAAG,EAAE;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,CACL,MAAM,KAAK,IAAI;gBACf,sBAAsB,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAClF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,0CAA0C,CAC/C,aAAqB,EACrB,QAAgB;QAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,aAAa,KAAK,QAAQ,EAAE,EAAE,GAAG,EAAE;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,MAAM,KAAK,IAAI,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAA+B,CACpC,aAAqB,EACrB,QAAgB,EAChB,gBAAwB;QAExB,OAAO,MAAM,CACX,IAAI,CAAC,0BAA0B,EAC/B,GAAG,aAAa,KAAK,QAAQ,KAAK,gBAAgB,EAAE,EACpD,GAAG,EAAE;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,CACL,MAAM,KAAK,IAAI;gBACf,4BAA4B,CAAC;oBAC3B,MAAM;oBACN,QAAQ;oBACR,gBAAgB;oBAChB,QAAQ,EAAE,IAAI,CAAC,eAAe;iBAC/B,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,iCAAiC,CAAC,aAAqB,EAAE,QAAgB;QAC9E,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,aAAa,KAAK,QAAQ,EAAE,EAAE,GAAG,EAAE;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC7E,OAAO,CACL,MAAM,KAAK,IAAI;gBACf,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACxD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CACxC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,WAAmB;QACzC,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAC5E,IAAI,CAAC,YAAY,EACjB,WAAW,CACZ,EAAE,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;YAClE,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,oBAAoB,CAAC,WAAmB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEM,kBAAkB;QACvB,MAAM,KAAK,GACT,8EAA8E,CAAC,IAAI,CACjF,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;YACnD,OAAO,CACL,SAAS,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CACzF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAuB,CAAC,aAAqB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC/F,CAAC;IAEM,4BAA4B,CACjC,QAAgB,EAChB,aAAqB,EACrB,cAAsB;QAEtB,OAAO,MAAM,CACX,IAAI,CAAC,oBAAoB,EACzB,GAAG,QAAQ,KAAK,aAAa,KAAK,cAAc,EAAE,EAClD,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAC9E,CAAC;IACJ,CAAC;IAEM,8BAA8B,CAAC,QAAgB,EAAE,OAA0B;QAChF,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CACxF,qBAAqB,CAAC;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,6BAA6B,CAClC,QAAgB,EAChB,OAA0B,EAC1B,aAAqB;QAErB,MAAM,GAAG,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC7D,CAAC;QACD,MAAM,QAAQ,GAAG,4BAA4B,CAAC;YAC5C,aAAa;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAEM,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEO,kBAAkB,CAAC,IAAY,EAAE,IAAY,EAAE,aAAqB;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,CACL,MAAM,KAAK,IAAI;YACf,wBAAwB,CAAC;gBACvB,MAAM;gBACN,aAAa;gBACb,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI,CAAC,YAAY;aAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,IAAY;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;SACtF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,IAAY,EAAE,IAAY;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,IAAY;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,CAAC;IAEO,sBAAsB,CAAC,IAAY,EAAE,IAAY;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,IAAY;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,wBAAwB,CAAC;YAC9B,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvF,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,YAAY,CAAC,UAAU;SACpC,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB,CAC/B,QAAgB,EAChB,aAAqB,EACrB,cAAsB;QAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAC7F,yBAAyB,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW;YACX,cAAc,EAAE,aAAa;YAC7B,cAAc;SACf,CAAC,CACH,CAAC;QACF,OAAO,CACL,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAC1F,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAwB,EACxB,YAAoB;IAEpB,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"child-contracts.js","sourceRoot":"","sources":["../../../../src/project/analyze-path/child-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { AnalysisContext } from "./analysis-context.js";
2
+ import type { RuntimeFunctionLike } from "../../core/ast.js";
3
+ /** Closed, source-visible JSX callers must supply a fresh data literal, never a typed getter-capable object. */
4
+ export declare function componentPropDataPath(context: AnalysisContext, owner: RuntimeFunctionLike, path: readonly string[]): boolean;
5
+ //# sourceMappingURL=component-prop-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-prop-data.d.ts","sourceRoot":"","sources":["../../../../src/project/analyze-path/component-prop-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAa7D,gHAAgH;AAChH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,OAAO,CAWT"}
@@ -0,0 +1,154 @@
1
+ import { findAncestor, identifiersNamed, visit } from "../../core/ast.js";
2
+ import { pathIdentityKey } from "../../core/path-identity.js";
3
+ import ts from "typescript";
4
+ const NESTED_PROP_PATH_LENGTH = 2;
5
+ /** Closed, source-visible JSX callers must supply a fresh data literal, never a typed getter-capable object. */
6
+ export function componentPropDataPath(context, owner, path) {
7
+ if (!ts.isFunctionDeclaration(owner) || !owner.name || path.length !== NESTED_PROP_PATH_LENGTH) {
8
+ return false;
9
+ }
10
+ const target = {
11
+ file: pathIdentityKey(owner.getSourceFile().fileName),
12
+ name: owner.name.text,
13
+ owner,
14
+ path,
15
+ };
16
+ return safeProjectReferences(context, target);
17
+ }
18
+ function safeProjectReferences(context, target) {
19
+ let calls = 0;
20
+ for (const file of context.project.files) {
21
+ if (untrackedTransport(file, target, context)) {
22
+ return false;
23
+ }
24
+ for (const name of componentNames(file, target, context)) {
25
+ const count = safeReferences(file, name, target);
26
+ if (count === null) {
27
+ return false;
28
+ }
29
+ calls += count;
30
+ }
31
+ }
32
+ return calls > 0;
33
+ }
34
+ function componentNames(file, target, context) {
35
+ const names = new Set(context.sourceIndex.componentsFor(file.originalPath));
36
+ if (pathIdentityKey(file.originalPath) === target.file) {
37
+ names.add(target.name);
38
+ }
39
+ return [...names].filter((name) => {
40
+ const resolved = context.sourceIndex.componentDeclarationFor(file.originalPath, name);
41
+ return (resolved &&
42
+ pathIdentityKey(resolved.file) === target.file &&
43
+ resolved.localName === target.name);
44
+ });
45
+ }
46
+ function safeReferences(file, name, target) {
47
+ let calls = 0;
48
+ for (const reference of identifiersNamed(file.sourceFile, name)) {
49
+ if (reference === target.owner.name ||
50
+ findAncestor(reference, ts.isImportDeclaration) ||
51
+ findAncestor(reference, ts.isTypeNode)) {
52
+ continue;
53
+ }
54
+ const count = safeReference(reference, target);
55
+ if (count === null) {
56
+ return null;
57
+ }
58
+ calls += count;
59
+ }
60
+ return calls;
61
+ }
62
+ function safeReference(reference, target) {
63
+ const { parent } = reference;
64
+ if (ts.isJsxClosingElement(parent) && parent.tagName === reference) {
65
+ return 0;
66
+ }
67
+ return (ts.isJsxOpeningElement(parent) || ts.isJsxSelfClosingElement(parent)) &&
68
+ parent.tagName === reference &&
69
+ literalProp(parent, target.path)
70
+ ? 1
71
+ : null;
72
+ }
73
+ function literalProp(opening, path) {
74
+ if (opening.attributes.properties.some(ts.isJsxSpreadAttribute)) {
75
+ return false;
76
+ }
77
+ const matches = opening.attributes.properties.filter((attribute) => ts.isJsxAttribute(attribute) && attribute.name.getText() === path[0]);
78
+ if (matches.length === 0) {
79
+ return true;
80
+ }
81
+ const [attribute] = matches;
82
+ if (matches.length !== 1 || !attribute || !ts.isJsxAttribute(attribute)) {
83
+ return false;
84
+ }
85
+ const { initializer } = attribute;
86
+ return (initializer !== undefined &&
87
+ ts.isJsxExpression(initializer) &&
88
+ initializer.expression !== undefined &&
89
+ literalMember(initializer.expression, path[1]));
90
+ }
91
+ function literalMember(value, name) {
92
+ if (!ts.isObjectLiteralExpression(value) ||
93
+ !value.properties.every((property) => ts.isPropertyAssignment(property) &&
94
+ (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name)) &&
95
+ property.name.text !== "__proto__")) {
96
+ return false;
97
+ }
98
+ const matches = value.properties.filter((property) => property.name &&
99
+ (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name)) &&
100
+ property.name.text === name);
101
+ if (matches.length === 0) {
102
+ return true;
103
+ }
104
+ const [property] = matches;
105
+ if (matches.length !== 1 || !property || !ts.isPropertyAssignment(property)) {
106
+ return false;
107
+ }
108
+ const selected = property.initializer;
109
+ return (ts.isStringLiteralLike(selected) ||
110
+ ts.isNumericLiteral(selected) ||
111
+ [ts.SyntaxKind.TrueKeyword, ts.SyntaxKind.FalseKeyword, ts.SyntaxKind.NullKeyword].includes(selected.kind));
112
+ }
113
+ function untrackedTransport(file, target, context) {
114
+ let unknown = false;
115
+ visit(file.sourceFile, (node) => {
116
+ if (!ts.isCallExpression(node) ||
117
+ !(node.expression.kind === ts.SyntaxKind.ImportKeyword ||
118
+ (ts.isIdentifier(node.expression) && node.expression.text === "require"))) {
119
+ return;
120
+ }
121
+ const [specifier] = node.arguments;
122
+ if (!specifier || !ts.isStringLiteralLike(specifier)) {
123
+ unknown = true;
124
+ return;
125
+ }
126
+ const module = context.sourceIndex.moduleFileFor(file.originalPath, specifier.text);
127
+ if (module && pathIdentityKey(module) === target.file) {
128
+ unknown = true;
129
+ }
130
+ });
131
+ return (unknown ||
132
+ file.sourceFile.statements.some((statement) => untrackedStaticTransport(statement, { file, target }, context)));
133
+ }
134
+ function untrackedStaticTransport(statement, { file, target }, context) {
135
+ if ((!ts.isImportDeclaration(statement) && !ts.isExportDeclaration(statement)) ||
136
+ !statement.moduleSpecifier ||
137
+ !ts.isStringLiteral(statement.moduleSpecifier)) {
138
+ return false;
139
+ }
140
+ const module = context.sourceIndex.moduleFileFor(file.originalPath, statement.moduleSpecifier.text);
141
+ if (!module || pathIdentityKey(module) !== target.file) {
142
+ return false;
143
+ }
144
+ if (ts.isExportDeclaration(statement)) {
145
+ return !statement.isTypeOnly;
146
+ }
147
+ const clause = statement.importClause;
148
+ return (!clause ||
149
+ (!clause.isTypeOnly &&
150
+ (clause.name !== undefined ||
151
+ !clause.namedBindings ||
152
+ ts.isNamespaceImport(clause.namedBindings))));
153
+ }
154
+ //# sourceMappingURL=component-prop-data.js.map