npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@wincc-oa/ae-standalone-pages

v0.1.4

Published

Collection of standalone demo pages for WinCC OA WebUI — SCADA, HVAC, energy, plant-map, and bottle-line examples

Readme

Application Example: Standalone Pages - WinCC OA Workspace

Standalone workspace that delivers a collection of demo standalone pages for WinCC OA WebUI.

What it does

Five self-contained HMI demo pages, each registered as an independent route:

| Page | Route | Description | | -------------- | ----------------- | ---------------------------------------------------------------------------------------- | | SCADA Demo | /scada-demo | Water treatment process - two-tank flow diagram with live pump/valve controls | | HVAC Control | /hvac-control | Air handling unit - SVG diagram with temperature monitoring and fan/coil controls | | Energy Monitor | /energy-monitor | Power distribution - single-line diagram with circuit breaker controls and trend chart | | Plant Map | /plant-map | Facility monitoring - pan/zoom map with 100 live datapoint markers | | Bottle Line | /bottle-line | Production line showcase - animated conveyor, KPI strip, alarm panel, and history viewer |

All live data is streamed from WinCC OA via OaRxJsApi.

Installation

The package supports two install layouts. The postinstall script auto-detects which one applies.

Option A: Directly into a WinCC OA project

cd {OA-PROJECT}/data/WebUI
npm install @wincc-oa/ae-standalone-pages --omit=peer --omit=dev --foreground-scripts

About --foreground-scripts - npm 8+ runs postinstall scripts in a buffered child process and suppresses their stdout unless this flag is passed. The standalone-pages package only registers menu entries (no extra setup steps), so you will probably not lose anything by omitting it - but the flag is harmless and matches the convention used by the other application examples (ae-tunnel-demo, ae-central-asset-management) where the postinstall has follow-up actions to print.

Why --omit=peer --omit=dev here - this package has no runtime dependencies. Everything it imports (lit, rxjs, tsyringe, @siemens/ix*, @etm-professional-control/oa-rx-js-api, all @wincc-oa/wui-* libs) is a peerDependency and is already served at runtime by the WebComponent Dashboard's import map. Inside an OA project the build is never re-run, so the peer + dev packages would just sit unused (~80 MB of duplicates). The flags keep node_modules/ to just this package.

The pages work without the flags too - npm 8+ will simply install the peer deps that the dashboard then ignores.

The postinstall merges the five menu entries into ../dashboard-wc/menuconfig.json, rewriting each module URL to /data/WebUI/node_modules/@wincc-oa/ae-standalone-pages/dist/pages/<page>.js so bundles stay in node_modules and are served from there. No files are copied.

If ../dashboard-wc/menuconfig.json is missing, the script prints a hint and exits without changes. Create the directory and copy the default menuconfig.json from your WinCC OA installation, then re-run with npm rebuild @wincc-oa/ae-standalone-pages.

Option B: Into a Vite-host workspace

npm install @wincc-oa/ae-standalone-pages

The postinstall:

  1. Merges the five menu entries into apps/dashboard-wc/config/menuconfig.jsonc.
  2. Creates one shim per page in libs/default-components/src/lib/standalone-pages/ (scada-demo.ts, hvac-control.ts, energy-monitor.ts, plant-map.ts, bottle-line.ts) - each is a single side-effect import that lets Vite include the page bundle as a build entry.

Page registration

The package includes a wui-page.json manifest. When deployed, WinCC OA WebUI registers:

| Property | SCADA Demo | HVAC Control | Energy Monitor | Plant Map | Bottle Line | | ---------- | ------------------ | -------------------- | ---------------------- | ----------------- | ------------------- | | Route | /scada-demo | /hvac-control | /energy-monitor | /plant-map | /bottle-line | | Component | <wui-scada-demo> | <wui-hvac-control> | <wui-energy-monitor> | <wui-plant-map> | <wui-bottle-line> | | Permission | connected | connected | connected | connected | connected |