Skip to content
PluginStats

@ethisyscore/vite-plugin weekly downloads statistics

By ethisyscore · npm · Vite plugins

Vite plugin for EthisysCore Contract A plugins: manifest-driven HTML entry points (legacy iframe mode) plus build-time SDUI/ReactiveRule schema validation and declarative-resource emission.

View on npm Stale · Oct 18, 2026

@ethisyscore/vite-plugin has 2,294 recorded weekly downloads on npm, ranking #1326 of 2,391 tracked listings.

Weekly downloads
2,294
Official API · Oct 18, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1326
Among tracked npm listings

About @ethisyscore/vite-plugin

@ethisyscore/vite-plugin

The Vite plugin collection for EthisysCore plugin-side builds. It provides the build passes for every UI render mode the platform supports — manifest-driven HTML entries, Contract A SDUI schema validation and emission, the Contract B worker bundle, the PlatformReact multi-page bundle orchestrator, and the Tier U iframe-sandbox pass — plus the codegen that derives manifests from a plugin's routeMeta.json.

For the render-mode / trust-tier overview see the top-level README. For the per-contract authoring walkthroughs see docs/authoring/.

Export surface

Each Vite plugin factory returns a standard Vite Plugin; wire the one(s) that match your render mode into vite.config.ts.

ExportPurpose
ethisysContractAPluginContract A pass — validates the SDUI tree against the closed vocabulary and emits declarative resources / reactive rules at build time
validateDeclarativeResource, validateReactiveRuleStandalone SDUI + reactive-rule validators (ValidationResult / ValidationFailure) for tests and tooling
ethisysContractBPluginContract B pass — emits the Web Worker bundle and its import map (CONTRACT_B_SEMANTIC_PRIMITIVES, CONTRACT_B_RUNTIME_IMPORTS, CONTRACT_B_IMPORT_MAP_ALLOWLIST)
ethisysPlatformReactPluginPlatformReact pass — builds one ESM bundle per declared page
buildPlatformReactPages, rewriteAliasedExternalImports, virtualPageEntryMulti-bundle orchestrator: one isolated Vite sub-build per page, with host-externals dedupe (PLATFORM_REACT_EXTERNALS, PLATFORM_REACT_DEDUPE) and host-loader import rewriting
generatePlatformReactManifest, computePlatformReactPagesBuild-step codegen — derive feature.manifest.json + the extension.manifest.json overlay from routeMeta.json
parseExportedNamesThe runtime-named exports of one module's source text — how the codegen resolves a view whose exported name differs from its filename
parsePlatformReactPagesTest helper for snapshot-testing PlatformReact page declarations
ethisysIframeSandboxPlugin, buildIframeSandboxPagesTier U iframe-sandbox pass — cross-origin sandboxed pages with SHA-256 digest emission
ethisysManifestPluginLegacy manifest-driven pass — auto-generates index.html for pages/surfaces that declare a source field

Typical usage

// vite.config.ts for a PlatformReact plugin
import { defineConfig } from "vite";
import { ethisysPlatformReactPlugin } from "@ethisyscore/vite-plugin";

export default defineConfig({
  plugins: [ethisysPlatformReactPlugin({ /* manifest + page options */ })],
});

Most plugins never call these directly — cc package drives the correct pass for the plugin's declared render mode. Reach for the factories when you maintain a bespoke build or need the validators/codegen in tests.

How generatePlatformReactManifest resolves a useView name

Each page's useView("<module>", "<Name>") call becomes one entry of that page's views map, and build-pages wires it with a named import (import { <Name> } from "<adapter module>"). <Name> is resolved against the adapter tree in this order:

  1. By filename — an adapter file whose basename is <Name> (e.g. CompanyCostsView → src/adapter/finance/CompanyCostsView.tsx). This is the original and still the winning rule, so a plugin that follows the filename convention resolves exactly as it always has.

  2. By exported name — otherwise, the single adapter file that exports <Name>. An adapter file may legitimately export its component under a name other than its filename:

    // src/adapter/chat/ChatChannelCreateFormView.tsx
    export function ChatChannelCreateFormView(/* … */) { /* … */ }
    export { ChatChannelCreateFormView as ChatChannelCreateForm };
    

    useView("chat", "ChatChannelCreateForm") is correct at runtime, and now generates. export function|const|let|var|class X, export { X }, export { X as Y } and export { X } from "…" all count.

    export default … deliberately does not — a default export cannot satisfy a named import — and neither do type-only exports (export type / export interface), which are erased at runtime. export * from "…" is out of reach of the scan, so a view reachable only that way still reports as unresolvable rather than being mis-resolved.

  3. Two files export the same name → the generator fails, naming every candidate. Picking one would compile and then render the wrong component. Give the intended file that basename (rule 1 always wins) or rename the view.

  4. Nothing matches → the generator fails (unless strict: false). This error is the point of the pass: useView is a manifest lookup, not an import, so an unsatisfiable call renders "View not available" at runtime behind a green build.

Retired SDK packages

The PlatformReact build refuses an import of a retired SDK package, naming the file and the fix (RETIRED_SDK_PACKAGES, rejectRetiredSdkPackages). @ethisyscore/core-utils is the first: run

npx ethisyscore-migrate-core-utils            # in the plugin's UI folder; --dry-run to preview
npm install

It rewrites every core-utils import (organisation formatting to @ethisyscore/plugin-ui/org-format, everything else to @ethisyscore/foundation-utils at the same sub-path) and swaps the dependency in package.json. See migrating off core-utils.

Build and test

npm ci && npm run build && npm test

Last Updated: 2026-07-10

Description from the npm listing.

  • ethisyscore
  • vite
  • vite-plugin
  • plugin
  • manifest
  • sdui
  • contract-a

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@ethisyscore/vite-plugin weekly downloads on npm, last 90 days: 2,294 weekly downloads as of Oct 18, 2026.@ethisyscore/vite-pluginWeekly downloads on npm · Last 90 days2,294downloads / week2K2.1K2.2K2.3K2.4K2.5K2.6KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 18, 2026pluginstats.com
@ethisyscore/vite-plugin weekly downloads on npm, last 90 days: 2,294 weekly downloads as of Oct 18, 2026.

7/30/90-day growth

@ethisyscore/vite-plugin weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.@ethisyscore/vite-pluginWeekly downloads growth on npm2,294downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@ethisyscore/vite-plugin weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@ethisyscore/vite-plugin npm ranking history: currently #1326 (by weekly downloads).@ethisyscore/vite-pluginnpm ranking · by weekly downloads · Last 90 days#1326current rank#1324#1325#1326#1327#1328Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 21, 2026 – Oct 21, 2026 · 1 observations · Updated Oct 18, 2026pluginstats.com
@ethisyscore/vite-plugin npm ranking history: currently #1326 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,195 shown · page 67, #19 (overall #1,339)
All npm: every listing in weekly downloads order

Listing placement

Vite plugins257 listings · 13 pages · page 13, #7 (overall #247)
Vite plugins: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (1)
Recent weekly downloads observations for @ethisyscore/vite-plugin
Date (UTC)Weekly downloadsChange vs. previous
2,294—

Similar npm Vite plugins plugins

All 20 @ethisyscore/vite-plugin alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@ethisyscore/vite-plugin. First seen Oct 21, 2026; last successful collection Oct 21, 2026. See the methodology.