2 Commits

Author SHA1 Message Date
znetsixe
dac8576cab style: palette swatch → (domain-hue redesign 2026-05-21)
Sidebar swatch now follows function family rather than S88 level, so the
palette is visually identifiable instead of monochromatically blue. Editor-group
rectangles in flow.json still follow S88 — only the registerType color changed.
Full table + rationale: superproject .claude/rules/node-red-flow-layout.md §10.0
and .claude/refactor/OPEN_QUESTIONS.md (2026-05-21 entry).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 15:05:59 +02:00
znetsixe
e04c4a1132 fix: rename dashboardapi.{js,html} → dashboardAPI.{js,html}
Aligns the entry-file naming with the folder-name convention from
.claude/rules/node-architecture.md / superproject CLAUDE.md.

NON-BREAKING: the Node-RED type id stays lowercase
(`RED.nodes.registerType('dashboardapi', ...)`) so every deployed flow
that references this node continues to load. Only the file paths
change. Admin endpoints `/dashboardapi/menu.js` and
`/dashboardapi/configData.js` are unaffected — they follow the type
id, not the filename.

Updated:
- package.json `main` + `node-red.nodes` value
- test/basic/structure-module-load.basic.test.js require path
- CLAUDE.md: legacy-drift warning replaced with a note explaining the
  type-id preservation strategy

Same approach recommended for the remaining two legacy renames (mgc,
vgc); the superproject CLAUDE.md drift table now spells that out.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 16:36:56 +02:00
5 changed files with 5 additions and 12 deletions

View File

@@ -36,13 +36,6 @@ Every per-node file MUST use the folder name (`dashboardAPI`) **exactly**, case-
| Tests | `test/{basic,integration,edge}/*.test.js` | | Tests | `test/{basic,integration,edge}/*.test.js` |
| Example flows | `examples/*.flow.json` | | Example flows | `examples/*.flow.json` |
> **Legacy naming drift in this repo** — to be renamed when the file is next touched: > **Note on the Node-RED type id.** The files are now `dashboardAPI.{js,html}` (folder-name convention satisfied 2026-05-19), but the registered type id stays lowercase: `RED.nodes.registerType('dashboardapi', …)`. Every deployed flow references the type id, not the file name, so this preserves backward compatibility. Admin endpoints (`/dashboardapi/menu.js`, `/dashboardapi/configData.js`) follow the type id and are also unchanged.
>
> | Path | Currently | Should be |
> |---|---|---|
> | Entry file | `dashboardapi.js` | `dashboardAPI.js` |
> | Editor HTML | `dashboardapi.html` | `dashboardAPI.html` |
>
> Renames require updating: the file itself, `package.json#node-red.nodes`, any `require()` / `import` paths, and superproject submodule references in one commit.
When adding new files, read the rule above first to avoid drift. When adding new files, read the rule above first to avoid drift.

View File

@@ -4,7 +4,7 @@
<script> <script>
RED.nodes.registerType('dashboardapi', { RED.nodes.registerType('dashboardapi', {
category: 'EVOLV', category: 'EVOLV',
color: '#4f8582', color: '#7A8BA3',
defaults: { defaults: {
name: { value: '' }, name: { value: '' },
enableLog: { value: true }, enableLog: { value: true },

View File

@@ -2,7 +2,7 @@
"name": "dashboardAPI", "name": "dashboardAPI",
"version": "1.0.0", "version": "1.0.0",
"description": "EVOLV Grafana dashboard generator (Node-RED node).", "description": "EVOLV Grafana dashboard generator (Node-RED node).",
"main": "dashboardapi.js", "main": "dashboardAPI.js",
"scripts": { "scripts": {
"test": "node --test test/basic/*.test.js test/integration/*.test.js test/edge/*.test.js", "test": "node --test test/basic/*.test.js test/integration/*.test.js test/edge/*.test.js",
"wiki:contract": "node ../generalFunctions/scripts/wikiGen.js contract ./src/commands/index.js --write ./wiki/Home.md", "wiki:contract": "node ../generalFunctions/scripts/wikiGen.js contract ./src/commands/index.js --write ./wiki/Home.md",
@@ -22,7 +22,7 @@
}, },
"node-red": { "node-red": {
"nodes": { "nodes": {
"dashboardapi": "dashboardapi.js" "dashboardapi": "dashboardAPI.js"
} }
} }
} }

View File

@@ -3,6 +3,6 @@ const assert = require('node:assert/strict');
test('dashboardAPI module load smoke', () => { test('dashboardAPI module load smoke', () => {
assert.doesNotThrow(() => { assert.doesNotThrow(() => {
require('../../dashboardapi.js'); require('../../dashboardAPI.js');
}); });
}); });