Compatibility, migration and deployment
Product and package policy
Section titled “Product and package policy”Pivot provides local grid integration, headless analytical controllers and remote adapter contracts. Use this page to choose the verified package format, compiler settings and deployment scope for your application.
Synchronous CommonJS export removal changes the package contract and requires deliberate migration. Keep the published release line and lockfile aligned with your application’s support policy.
Recorded installed-package evidence applies to the tested product artifacts; requalify replacement bytes. The verified Pivot tarball SHA-256 is a41ad879e01cb03e0bf3004d557d5b95d72a4236dcf6adf4dc35190aa44a2a00.
Verified integration matrix
Section titled “Verified integration matrix”| Consumer | Recorded evidence | Limits of that evidence |
|---|---|---|
| Vanilla | Installed packages, public Core 4.29.0, Chromium 147.0.7727.15 | Update/refusal/recovery/remount workflow, not all browser versions |
| React 19.2.5 | Wrapper 4.29.0, strict app types and production build, same Chromium | No framework SSR/hydration certification |
| Vue 3.5.33 | Vue3 wrapper 4.29.0, strict app types and production build, same Chromium | Vue2 unqualified |
| Angular 22.1.0 | Wrapper 4.29.0, real ngc AOT/strict templates/production linker, same Chromium | Other Angular versions unqualified |
| Node ESM | 22.22.3, 24.15.0, 26.7.0; root/headless/charts and public controls | DOM-free execution, not grid SSR |
| Browser UMD | Chrome 155, public Core ESM namespace-to-global bootstrap plus classic Pro/Pivot scripts | Not a pure three-classic-script or Node require claim |
Firefox/WebKit, Svelte, trial packages and unlisted framework/runtime versions need separate qualification. Recorded keyboard, controls, theme/zoom/forced-color/RTL and lifecycle exercises do not establish full accessibility compliance. Actual VoiceOver/screen-reader output remains unverified; VoiceOver settings were left unchanged.
ESM, UMD and CommonJS migration
Section titled “ESM, UMD and CommonJS migration”Root, /headless and /charts exports support ESM import. Synchronous require('@revolist/pivot') deliberately fails with ERR_PACKAGE_PATH_NOT_EXPORTED before dependency bootstrap. A CommonJS host can use asynchronous ESM import:
async function loadPivot() { return import('@revolist/pivot/headless');}Qualify that host/runtime as an ESM integration. The browser artifact dist/pivot.umd.cjs is a classic script/global contract despite its filename; it does not establish Node CommonJS support. Keep matching Core/Pro globals and the same aggregation compiler owner. Cross-format/copy registry identity is unsupported. The focused facades share the root module graph and are not dependency-isolated bundles. CSS exports /styles.css and /dist/pivot.css remain available.
TypeScript application settings
Section titled “TypeScript application settings”The installed fixtures checked strict application code with TypeScript 6.0.3:
{ "compilerOptions": { "strict": true, "target": "ES2022", "module": "ESNext", "moduleResolution": "Bundler", "skipLibCheck": true, "lib": ["ES2022", "DOM", "DOM.Iterable"] }}skipLibCheck: false remains unqualified: published Core 4.29.0 produces event-map inheritance, lodash-reference and internal @type declaration errors. NodeNext declaration checking is excluded because current extensionless declarations do not satisfy that resolver. JavaScript Node ESM execution is a separately verified contract. Do not mask these limitations with workspace aliases or ambient consumer shims when accepting installed packages.
Migrate analytical reports deliberately
Section titled “Migrate analytical reports deliberately”- Retain the accepted report and known KPI results before changing policies.
- Keep V1/default aggregate semantics unless deliberately adopting explicit V2 operations.
- Add a matching
aggregationSemanticsexecution pin; this rejects location mismatch, not arithmetic differences. - Restore runtime sources/engines/callbacks independently of saved JSON.
- Execute updated reports, compare null/count/distinct/total/formula results, and persist only after success.
- Replace native configs as complete configurations, or use the owning authoring controller for individual edits.
See semantics and persistence.
Supported limits and measured workload status
Section titled “Supported limits and measured workload status”SDK resource metrics are optional and omitted metrics are unbounded. They do not imply a universal supported row count. Set limits using actual hierarchy width/depth, distinct cardinality, callback costs, device and export shape. Reference/backend limits are separate from SDK limits. See exact resource units.
The recorded workload qualification failed its unchanged 100000-fact warm-refresh 2-second target. On Apple M1 Pro (8 logical CPUs, 16 GiB), macOS kernel 25.4.0 arm64, Node 24.15.0:
| 100000-fact profile | Cold P95 | Warm P95 | Whole-process peak RSS |
|---|---|---|---|
| Synchronous | 2706 ms | 2400 ms | 988 MiB |
| Cooperative, 8 ms target | 6559 ms | 5016 ms | 829 MiB |
Each profile contains 20 independent cold processes with one paired warm refresh each. Completed numerical/ordering/refusal/recovery checks passed. RSS includes setup/oracle/controller and diagnostics; it is not engine heap or an enforced memory bound. Warm refresh() still recomputes as a source barrier; these are not cache-hit latencies. These host-specific observations are not customer SLOs.
The first million-fact worker hit a 180-second aggregate-process watchdog covering setup, cold/warm and diagnostics, without a per-phase result. This does not prove an individual refresh exceeded 180 seconds. Million-fact correctness completion/latency/RSS remain unqualified; 39 planned Node processes were unrun and no browser workload samples ran. Functional browser checks do not fill that performance evidence gap. No threshold was relaxed.
Deployment responsibilities and deferred scope
Section titled “Deployment responsibilities and deferred scope”The application owns identity/tenant authorization, field allowlists, driver snapshots and cancellation/deadlines, query/concurrency admission, cache revocation, durable report storage and representative workload/accessibility acceptance. The SQLite reference is executable repository tooling, not shipped managed infrastructure.
Explicitly deferred or unqualified: selected opposite-axis tuple summary sorting; native-local/canonical clicked-header unification; additional connectors/date/backend/strict profiles; general custom SQL aggregates; background export jobs; governed shared-view catalogs; exact-decimal arithmetic; untested browsers/frameworks and actual assistive-technology output. Advertise only supported capabilities and fail visibly when a report needs more.
Continue with remote deployment, bounded exports and Pivot migration guidance.