Skip to content

Compatibility, migration and deployment

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.

ConsumerRecorded evidenceLimits of that evidence
VanillaInstalled packages, public Core 4.29.0, Chromium 147.0.7727.15Update/refusal/recovery/remount workflow, not all browser versions
React 19.2.5Wrapper 4.29.0, strict app types and production build, same ChromiumNo framework SSR/hydration certification
Vue 3.5.33Vue3 wrapper 4.29.0, strict app types and production build, same ChromiumVue2 unqualified
Angular 22.1.0Wrapper 4.29.0, real ngc AOT/strict templates/production linker, same ChromiumOther Angular versions unqualified
Node ESM22.22.3, 24.15.0, 26.7.0; root/headless/charts and public controlsDOM-free execution, not grid SSR
Browser UMDChrome 155, public Core ESM namespace-to-global bootstrap plus classic Pro/Pivot scriptsNot 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.

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.

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.

  1. Retain the accepted report and known KPI results before changing policies.
  2. Keep V1/default aggregate semantics unless deliberately adopting explicit V2 operations.
  3. Add a matching aggregationSemantics execution pin; this rejects location mismatch, not arithmetic differences.
  4. Restore runtime sources/engines/callbacks independently of saved JSON.
  5. Execute updated reports, compare null/count/distinct/total/formula results, and persist only after success.
  6. 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 profileCold P95Warm P95Whole-process peak RSS
Synchronous2706 ms2400 ms988 MiB
Cooperative, 8 ms target6559 ms5016 ms829 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.