Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

Commit eac614b

Browse files
committed
Fix defc :atom prop ignored when options map has no :props key
extractPropsFromOpts returned empty Map (truthy) instead of null when the options map had :style but no :props. This caused the :atom annotation in params to be skipped, breaking rich props (Props Channeling) for components using {:style [...]} without explicit {:props {...}}. Also revert deploy enablement (requires manual Pages setup).
1 parent 23c248d commit eac614b

2 files changed

Lines changed: 3 additions & 5 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ jobs:
2929
- run: npm ci && npm run build
3030
- run: cd showcase && npm install && npm run build
3131
- uses: actions/configure-pages@v4
32-
with:
33-
enablement: true
3432
- uses: actions/upload-pages-artifact@v3
3533
with:
3634
path: showcase/dist

‎packages/kiso/src/analyzer/macros.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,8 +1219,8 @@ function extractFormOpt(optsForm: Form, name: string): Form | null {
12191219
return null;
12201220
}
12211221

1222-
function extractPropsFromOpts(optsForm: Form): Map<string, string> {
1223-
if (optsForm.data.type !== 'map') return new Map();
1222+
function extractPropsFromOpts(optsForm: Form): Map<string, string> | null {
1223+
if (optsForm.data.type !== 'map') return null;
12241224
const items = optsForm.data.items;
12251225
// Find :props key
12261226
for (let i = 0; i < items.length - 1; i += 2) {
@@ -1230,7 +1230,7 @@ function extractPropsFromOpts(optsForm: Form): Map<string, string> {
12301230
return extractPropTypes(val);
12311231
}
12321232
}
1233-
return new Map();
1233+
return null;
12341234
}
12351235

12361236
function extractPropTypes(propsVal: Form): Map<string, string> {

0 commit comments

Comments
 (0)