@colixsystems/widget-sdk 0.45.0 → 0.45.1
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/README.md +5 -1
- package/dist/linter.cjs +4 -1
- package/dist/linter.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,7 +49,11 @@ See the design reference for the full architecture: [`docs/architecture/widget-m
|
|
|
49
49
|
|
|
50
50
|
## Status
|
|
51
51
|
|
|
52
|
-
`v0.45.
|
|
52
|
+
`v0.45.1` — pre-publish. The package surface (types, function names, export paths) is the v1 contract; runtime behaviour for some hooks is stubbed (each hook documents what's wired and what isn't). It is **not yet published to npm**.
|
|
53
|
+
|
|
54
|
+
### What's new in 0.45.1
|
|
55
|
+
|
|
56
|
+
**Fix `lucide-unknown-icon` false positive across adjacent imports (sc-1373).** The rule's import regex matched the brace block lazily (`[\s\S]*?`), so when another braced import preceded the lucide one — e.g. `import { View, Text, Pressable } from "react-native"` then `import { Sparkles } from "lucide-react-native"` — the capture spanned both and validated the `react-native` names (`Pressable`, …) as lucide icons, blocking a near-universal widget pattern. The capture is now `[^}]*`, which cannot cross a `}` into a neighbouring import. Fix-only; the rule's intent and the committed name set are unchanged.
|
|
53
57
|
|
|
54
58
|
### What's new in 0.45.0
|
|
55
59
|
|
package/dist/linter.cjs
CHANGED
|
@@ -523,8 +523,11 @@ function _manifestActionRules(manifest) {
|
|
|
523
523
|
// so the agent's repair loop fixes them. The valid set is committed data
|
|
524
524
|
// (lucideIconNames.cjs) because the linter runs where lucide is not installed.
|
|
525
525
|
const LUCIDE_NAME_SET = new Set(LUCIDE_ICON_NAMES);
|
|
526
|
+
// `[^}]*` (not `[\s\S]*?`) so the brace capture can never cross a `}` into a
|
|
527
|
+
// neighbouring import — otherwise a preceding `import { View, Pressable } from
|
|
528
|
+
// "react-native"` is swallowed and its names get validated as lucide icons.
|
|
526
529
|
const LUCIDE_IMPORT_RE =
|
|
527
|
-
/import\s+(?:[A-Za-z0-9_$]+\s*,\s*)?\{([
|
|
530
|
+
/import\s+(?:[A-Za-z0-9_$]+\s*,\s*)?\{([^}]*)\}\s*from\s*["']lucide-react-native["']/g;
|
|
528
531
|
|
|
529
532
|
// lucide re-exports each base icon as `<Name>`, `<Name>Icon`, and `Lucide<Name>`;
|
|
530
533
|
// the committed set holds only the base names, so normalise the alias forms
|
package/dist/linter.js
CHANGED
|
@@ -611,8 +611,11 @@ function _manifestActionRules(manifest) {
|
|
|
611
611
|
// so the agent's repair loop fixes them. The valid set is committed data
|
|
612
612
|
// (lucideIconNames.js) because the linter runs where lucide is not installed.
|
|
613
613
|
const LUCIDE_NAME_SET = new Set(LUCIDE_ICON_NAMES);
|
|
614
|
+
// `[^}]*` (not `[\s\S]*?`) so the brace capture can never cross a `}` into a
|
|
615
|
+
// neighbouring import — otherwise a preceding `import { View, Pressable } from
|
|
616
|
+
// "react-native"` is swallowed and its names get validated as lucide icons.
|
|
614
617
|
const LUCIDE_IMPORT_RE =
|
|
615
|
-
/import\s+(?:[A-Za-z0-9_$]+\s*,\s*)?\{([
|
|
618
|
+
/import\s+(?:[A-Za-z0-9_$]+\s*,\s*)?\{([^}]*)\}\s*from\s*["']lucide-react-native["']/g;
|
|
616
619
|
|
|
617
620
|
// lucide re-exports each base icon as `<Name>`, `<Name>Icon`, and `Lucide<Name>`;
|
|
618
621
|
// the committed set holds only the base names, so normalise the alias forms
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@colixsystems/widget-sdk",
|
|
3
|
-
"version": "0.45.
|
|
3
|
+
"version": "0.45.1",
|
|
4
4
|
"description": "Common widget interface for AppStudio. Implements WidgetManifest, WidgetContext, property schema, and helper hooks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|