@imfusion/web-ui 0.11.1-dev.58.ge2daec34 → 0.11.1-dev.59.g5c2572e2

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.
package/CHANGELOG.md CHANGED
@@ -98,6 +98,8 @@
98
98
  ([WEBSDK-245](https://imfusion.atlassian.net/browse/WEBSDK-245)) — Nikolaus Brunner <brunner@imfusion.com>
99
99
  - Agent skills — Nikolaus Brunner <brunner@imfusion.com>
100
100
  - `imf-web-ui-conventions` exempts React components from the explicit return type on exported functions.
101
+ - The `imf-web-ui-conventions` `npm-project` topic sets `engines.node` to Web UI's own range, and `imf-web-ui-audit`
102
+ reports an app whose range admits a Node outside it.
101
103
  - The `project-structure` topic keeps a route's only view, such as a form, in the route file and moves views to the `-`
102
104
  folder only when the page composes several. `imf-web-ui-audit` reports by views, not line counts.
103
105
  - The `imf-web-ui-conventions` `assets` topic encodes photographs as AVIF and WebP at 800 and 1600px and renders them
@@ -147,6 +149,8 @@
147
149
  - Combobox and Autocomplete stories start at the same top-left corner, so clicking through them does not shift the
148
150
  layout. A story resizes its frame with `parameters.frame`, which `withFrame` reads.
149
151
  - The Autocomplete interaction test reads the popup's height after it reopens, so it passes on every run.
152
+ - `engines.node` is `^24.14 || >=26`. Node 22 and Node 24 before 24.14 reject `#/` subpath imports, so Storybook did not
153
+ start there. CI builds on Node 24.14.0, and `.nvmrc` selects Node 24. — Nikolaus Brunner <brunner@imfusion.com>
150
154
  - `RichLink` sets every label in the strong weight, with or without a `description`. [RichLink](src/components/rich-link/rich-link.mdx) — Nikolaus Brunner <brunner@imfusion.com>
151
155
 
152
156
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imfusion/web-ui",
3
- "version": "0.11.1-dev.58.ge2daec34",
3
+ "version": "0.11.1-dev.59.g5c2572e2",
4
4
  "description": "The official Web UI component library for ImFusion web apps",
5
5
  "author": "ImFusion GmbH",
6
6
  "homepage": "https://imfusion.com",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "type": "module",
13
13
  "engines": {
14
- "node": "^22.22.1 || ^24.11 || >=26"
14
+ "node": "^24.14 || >=26"
15
15
  },
16
16
  "imports": {
17
17
  "#/*": "./src/*",
@@ -66,10 +66,11 @@ next action is the add from that topic. A Vite config that reads tsconfig `paths
66
66
  `vite-tsconfig-paths`) is Broken: it loads the React types package as React once Web UI comes from the registry. The fix is
67
67
  to drop it and give the `#/` alias through `imports` in `package.json`. A major or minor mismatch between the project and Web
68
68
  UI on a package listed under Aligned runtime packages in the `tooling` topic is a Deviation. Report both versions, with
69
- `npm install <package>@<Web UI's version>` as the fix. A route file that holds several views inline is a Deviation, and so is
70
- a route whose only view sits alone in its `-` folder. Name the views, with the move as the fix. A form whose state and
71
- validation are written by hand instead of TanStack Form is a Deviation, however many forms share the pattern. Name each form,
72
- with TanStack Form and its existing schema as the fix.
69
+ `npm install <package>@<Web UI's version>` as the fix. An `engines.node` that admits a Node outside the `engines.node` of the
70
+ installed `node_modules/@imfusion/web-ui/package.json` is a Deviation; report both ranges, with Web UI's as the fix. A route
71
+ file that holds several views inline is a Deviation, and so is a route whose only view sits alone in its `-` folder. Name the
72
+ views, with the move as the fix. A form whose state and validation are written by hand instead of TanStack Form is a
73
+ Deviation, however many forms share the pattern. Name each form, with TanStack Form and its existing schema as the fix.
73
74
 
74
75
  ## Topics
75
76
 
@@ -5,7 +5,8 @@ Keep project metadata, scripts, and dependency policy in `package.json` and the
5
5
  ## package.json
6
6
 
7
7
  - Use ESM with `"type": "module"`.
8
- - Set the Node floor with `engines.node` or `.nvmrc`.
8
+ - Set `engines.node` to the range in Web UI's own `package.json`, so the app promises no Node that Web UI or the `#/` alias
9
+ rejects. A `.nvmrc` selects a version inside that range.
9
10
  - Use the `#/` source alias when the project has one, and wire it through the package `imports` field.
10
11
  - Set `private: true` only for packages that are never published.
11
12
 
@@ -45,7 +45,7 @@ the Agent Skills the TanStack package provides.
45
45
  Vite+ runs development, build, tests, format, lint, and staged checks through one `vp` binary configured in `vite.config.ts`.
46
46
  Pin `vite-plus` exactly, alias `vite` to `npm:@voidzero-dev/vite-plus-core@<vite-plus version>`, pin `vitest` to the version
47
47
  `vp toolchain vitest` reports, and repeat both pins under `overrides`. Import `defineConfig` from `vite-plus` and Vitest APIs
48
- from `vite-plus/test`. It needs Node `^22.22.1 || ^24.11 || >=26` and Git 2.32 or later.
48
+ from `vite-plus/test`. It needs Git 2.32 or later; the `npm-project` topic sets the Node range.
49
49
 
50
50
  `vp <command>` is a built-in; `vp run <script>` runs a package script.
51
51