bestax-migrate 2.14.0 → 2.16.0
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/dist/sources/bulma-classes/class-map.d.ts +25 -0
- package/dist/sources/bulma-classes/class-map.d.ts.map +1 -1
- package/dist/sources/bulma-classes/class-map.js +41 -4
- package/dist/sources/bulma-classes/plan.d.ts +5 -0
- package/dist/sources/bulma-classes/plan.d.ts.map +1 -1
- package/dist/sources/bulma-classes/plan.js +43 -4
- package/dist/sources/bulma-classes/rules.d.ts.map +1 -1
- package/dist/sources/bulma-classes/rules.js +1 -0
- package/dist/sources/bulma-classes/transform.d.ts.map +1 -1
- package/dist/sources/bulma-classes/transform.js +26 -4
- package/package.json +1 -1
|
@@ -67,6 +67,13 @@ export interface Absorbs {
|
|
|
67
67
|
* Any other child attribute refuses.
|
|
68
68
|
*/
|
|
69
69
|
readonly childProps?: readonly string[];
|
|
70
|
+
/**
|
|
71
|
+
* When the child can't be absorbed, the target renders the element's
|
|
72
|
+
* children as given, in place of the one it renders itself (`Image`'s
|
|
73
|
+
* `<img>`), so the element converts around them instead. One with no
|
|
74
|
+
* children still refuses.
|
|
75
|
+
*/
|
|
76
|
+
readonly elseWraps?: boolean;
|
|
70
77
|
/** The child's classes, as the target's props; any other class refuses. */
|
|
71
78
|
readonly modifiers?: Readonly<Record<string, Modifier>>;
|
|
72
79
|
/**
|
|
@@ -104,6 +111,17 @@ export interface RootEntry {
|
|
|
104
111
|
readonly bgColor?: 'bgColor' | 'backgroundColor' | null;
|
|
105
112
|
/** Attributes the target renders when the element does not set them. */
|
|
106
113
|
readonly defaults?: Readonly<Record<string, string>>;
|
|
114
|
+
/**
|
|
115
|
+
* An attribute the target always writes on the tags in `on`: `fallback`
|
|
116
|
+
* when the element sets none, or sets it to anything but one of `keeps`
|
|
117
|
+
* (`Card.FooterItem`'s `type` on its <button>). The element converts there
|
|
118
|
+
* only with one of `keeps` written out.
|
|
119
|
+
*/
|
|
120
|
+
readonly writesAttr?: Readonly<Record<string, {
|
|
121
|
+
readonly on: readonly string[];
|
|
122
|
+
readonly fallback: string;
|
|
123
|
+
readonly keeps: readonly string[];
|
|
124
|
+
}>>;
|
|
107
125
|
/**
|
|
108
126
|
* Attributes the element may carry that the target's props type rejects.
|
|
109
127
|
* One that is also a default converts at exactly its default value (the
|
|
@@ -131,6 +149,13 @@ export interface RootEntry {
|
|
|
131
149
|
* stays markup: that component would render differently.
|
|
132
150
|
*/
|
|
133
151
|
readonly providesContext?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* The target renders its root class only when no other of itself is around
|
|
154
|
+
* it (`Menu.List` drops `.menu-list` when nested), so the element converts
|
|
155
|
+
* only with no element around it in the file carrying that class, and no
|
|
156
|
+
* such component.
|
|
157
|
+
*/
|
|
158
|
+
readonly topLevelOnly?: boolean;
|
|
134
159
|
/**
|
|
135
160
|
* Inside one of these bestax components already in the file, the target
|
|
136
161
|
* takes a generated `id` when the element has none of its own.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-map.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/class-map.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"class-map.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/class-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -378,6 +378,7 @@ export const ROOTS = {
|
|
|
378
378
|
...BASE,
|
|
379
379
|
target: 'Card.Header.Title',
|
|
380
380
|
tag: 'div',
|
|
381
|
+
as: ['div', 'p', 'h2', 'h3', 'h4'],
|
|
381
382
|
modifiers: flags({ 'is-centered': 'centered' }),
|
|
382
383
|
ownProps: ['as', 'color', 'bgColor', 'textColor', 'centered'],
|
|
383
384
|
},
|
|
@@ -410,6 +411,14 @@ export const ROOTS = {
|
|
|
410
411
|
...BASE,
|
|
411
412
|
target: 'Card.FooterItem',
|
|
412
413
|
tag: 'span',
|
|
414
|
+
as: ['span', 'a', 'button'],
|
|
415
|
+
writesAttr: {
|
|
416
|
+
type: {
|
|
417
|
+
on: ['button'],
|
|
418
|
+
fallback: 'button',
|
|
419
|
+
keeps: ['button', 'submit', 'reset'],
|
|
420
|
+
},
|
|
421
|
+
},
|
|
413
422
|
// The anchor attributes but `type`, and `rel`, reach only an <a>, and the
|
|
414
423
|
// button attributes only a <button> (`STRIP_FROM_NON_ANCHOR` and
|
|
415
424
|
// `STRIP_FROM_NON_BUTTON` in bulma-ui's Card.tsx).
|
|
@@ -1260,6 +1269,7 @@ export const ROOTS = {
|
|
|
1260
1269
|
attributesOn: 'element',
|
|
1261
1270
|
childProps: ['src', 'alt'],
|
|
1262
1271
|
modifiers: flags({ 'is-rounded': 'isRounded' }),
|
|
1272
|
+
elseWraps: true,
|
|
1263
1273
|
},
|
|
1264
1274
|
ownProps: [
|
|
1265
1275
|
'as',
|
|
@@ -1273,10 +1283,37 @@ export const ROOTS = {
|
|
|
1273
1283
|
'alt',
|
|
1274
1284
|
],
|
|
1275
1285
|
},
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1286
|
+
// `Menu`, `Menu.Label` and `Menu.List` take every helper prop, `color` and
|
|
1287
|
+
// `backgroundColor` included. The items inside a list stay markup.
|
|
1288
|
+
menu: {
|
|
1289
|
+
...BASE,
|
|
1290
|
+
target: 'Menu',
|
|
1291
|
+
tag: 'aside',
|
|
1292
|
+
textColor: 'color',
|
|
1293
|
+
bgColor: 'backgroundColor',
|
|
1294
|
+
requiresChildren: true,
|
|
1295
|
+
ownProps: [],
|
|
1296
|
+
},
|
|
1297
|
+
'menu-label': {
|
|
1298
|
+
...BASE,
|
|
1299
|
+
target: 'Menu.Label',
|
|
1300
|
+
tag: 'p',
|
|
1301
|
+
textColor: 'color',
|
|
1302
|
+
bgColor: 'backgroundColor',
|
|
1303
|
+
requiresChildren: true,
|
|
1304
|
+
ownProps: [],
|
|
1305
|
+
},
|
|
1306
|
+
'menu-list': {
|
|
1307
|
+
...BASE,
|
|
1308
|
+
target: 'Menu.List',
|
|
1309
|
+
tag: 'ul',
|
|
1310
|
+
textColor: 'color',
|
|
1311
|
+
bgColor: 'backgroundColor',
|
|
1312
|
+
requiresChildren: true,
|
|
1313
|
+
topLevelOnly: true,
|
|
1314
|
+
ownProps: [],
|
|
1315
|
+
},
|
|
1316
|
+
'menu-item': todo('Menu.Item', 'bestax `Menu.Item` renders the `<li>` and the `<a>` together'),
|
|
1280
1317
|
message: todo('Message', 'bestax `Message` always wraps its children in `.message-body`'),
|
|
1281
1318
|
'message-header': part(),
|
|
1282
1319
|
'message-body': part(),
|
|
@@ -66,6 +66,11 @@ export interface ElementFacts {
|
|
|
66
66
|
* any of which could render a bestax component around it.
|
|
67
67
|
*/
|
|
68
68
|
componentsAround?: readonly string[];
|
|
69
|
+
/**
|
|
70
|
+
* The classes on the HTML elements around this element, computed ones
|
|
71
|
+
* included.
|
|
72
|
+
*/
|
|
73
|
+
classesAround?: readonly string[];
|
|
69
74
|
/**
|
|
70
75
|
* The component this element is the only child of, if any (`Link` for
|
|
71
76
|
* `<Link href="/x"><a className="button">`), since that component can
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/plan.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,9 +108,22 @@ export function plan(facts) {
|
|
|
108
108
|
let absorbed;
|
|
109
109
|
if (entry.absorbs) {
|
|
110
110
|
const outcome = absorb(facts, root, entry, target, refuse);
|
|
111
|
-
if ('todos' in outcome)
|
|
111
|
+
if (!('todos' in outcome)) {
|
|
112
|
+
({ attributes, absorbed } = outcome);
|
|
113
|
+
}
|
|
114
|
+
else if (!entry.absorbs.elseWraps) {
|
|
112
115
|
return outcome;
|
|
113
|
-
|
|
116
|
+
}
|
|
117
|
+
else if (!facts.hasChildren) {
|
|
118
|
+
return refuse('children', target, `bestax \`${target}\` renders its own <${entry.absorbs.tag}> when it's given no children, so this empty element would gain one; keep it as markup`);
|
|
119
|
+
}
|
|
120
|
+
else if (!facts.soleChild && !facts.childElements?.length) {
|
|
121
|
+
// The target tests its children for truth, so an expression that can
|
|
122
|
+
// be falsy (`{src && <img />}`) would have it render its own child.
|
|
123
|
+
return refuse('children', target, `bestax \`${target}\` renders its own <${entry.absorbs.tag}> when its children are empty, and it can't be told from here that these never are, so this converts only around HTML elements written out; keep it as markup`);
|
|
124
|
+
}
|
|
125
|
+
// Otherwise the target renders the children as given, and the element
|
|
126
|
+
// converts around them like any other.
|
|
114
127
|
}
|
|
115
128
|
const renamed = new Set(absorbed?.renames.map(([, to]) => to));
|
|
116
129
|
if (attributes.has('dangerouslySetInnerHTML')) {
|
|
@@ -129,7 +142,11 @@ export function plan(facts) {
|
|
|
129
142
|
return refuse('attr', name, `\`${name}\` is also a bestax \`${target}\` prop, which would read it differently; rename or drop the attribute, then re-run`);
|
|
130
143
|
}
|
|
131
144
|
}
|
|
132
|
-
|
|
145
|
+
// An attribute the target writes on this tag counts as one of its defaults.
|
|
146
|
+
const written = Object.entries(entry.writesAttr ?? {})
|
|
147
|
+
.filter(([, rule]) => rule.on.includes(tag))
|
|
148
|
+
.map(([name, rule]) => [name, rule.fallback]);
|
|
149
|
+
const missing = [...Object.entries(entry.defaults ?? {}), ...written].filter(([name]) => !attributes.has(name));
|
|
133
150
|
const drop = [];
|
|
134
151
|
for (const name of entry.untypedAttrs ?? []) {
|
|
135
152
|
if (!attributes.has(name))
|
|
@@ -167,6 +184,16 @@ export function plan(facts) {
|
|
|
167
184
|
return refuse('context', target, `this element has no \`id\` and sits inside \`<${around}>\`, which is or could render a bestax \`${entry.adoptsIdFrom.join('` or `')}\` with a \`label\`; bestax \`${target}\` would then take that generated \`id\`; give the element an \`id\` of its own, then re-run`);
|
|
168
185
|
}
|
|
169
186
|
}
|
|
187
|
+
if (entry.topLevelOnly &&
|
|
188
|
+
(facts.classesAround?.includes(root) ||
|
|
189
|
+
facts.bestaxAround?.includes(target))) {
|
|
190
|
+
return refuse('context', target, `bestax \`${target}\` renders \`.${root}\` only when no other \`${target}\` is around it, and this element sits inside another \`.${root}\`, so it would lose the class; keep it as markup`);
|
|
191
|
+
}
|
|
192
|
+
// The other way round: one already inside renders the class now, and would
|
|
193
|
+
// stop once this element became the `${target}` around it.
|
|
194
|
+
if (entry.topLevelOnly && facts.bestaxInside?.includes(target)) {
|
|
195
|
+
return refuse('context', target, `bestax \`${target}\` renders \`.${root}\` only when no other \`${target}\` is around it, and this element holds one, which would lose the class once this one converts; keep this element as markup`);
|
|
196
|
+
}
|
|
170
197
|
const wraps = entry.wrapsChildren;
|
|
171
198
|
if (wraps &&
|
|
172
199
|
(!wraps.when || mayCarry(wraps.when)) &&
|
|
@@ -187,14 +214,26 @@ export function plan(facts) {
|
|
|
187
214
|
const list = missing.map(([name, value]) => `\`${name}="${value}"\``);
|
|
188
215
|
return refuse('defaults', target, `bestax \`${target}\` renders ${list.join(' and ')} when the element does not set ${missing.length === 1 ? 'it' : 'them'}; add ${missing.length === 1 ? 'it' : 'them'} here if that is what you want, then re-run`);
|
|
189
216
|
}
|
|
217
|
+
for (const [name, rule] of Object.entries(entry.writesAttr ?? {})) {
|
|
218
|
+
const value = attributes.get(name);
|
|
219
|
+
if (!rule.on.includes(tag) || value === undefined)
|
|
220
|
+
continue;
|
|
221
|
+
if (typeof value !== 'string' || !rule.keeps.includes(value)) {
|
|
222
|
+
return refuse('attr', name, `bestax \`${target}\` keeps a <${tag}>'s \`${name}\` only as ${orList(rule.keeps)}, and writes \`${name}="${rule.fallback}"\` in place of anything else, so this one converts only as one of those, written out; keep this element as markup`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
190
225
|
for (const [name, tags] of Object.entries(entry.dropsAttr ?? {})) {
|
|
191
226
|
if (attributes.has(name) && inTagSet(tags, tag)) {
|
|
192
227
|
// Bulma greys out `.button[disabled]` on any tag, so there it is not
|
|
193
228
|
// inert: dropping it changes how the element looks.
|
|
194
229
|
const visible = name === 'disabled' && target === 'Button';
|
|
230
|
+
// A `name` on an <a> still names the target of a `#fragment` link.
|
|
231
|
+
const anchored = name === 'name' && tag === 'a';
|
|
195
232
|
return refuse('drops', target, visible
|
|
196
233
|
? `bestax \`${target}\` drops \`disabled\` on a <${tag}>, and Bulma styles a disabled \`.${rootLabel(facts.tokens)}\` on any tag, so converting would change how it looks; keep this element as markup`
|
|
197
|
-
:
|
|
234
|
+
: anchored
|
|
235
|
+
? `bestax \`${target}\` drops \`name\` on an <a>, where it still names the target of a \`#fragment\` link; keep this element as markup, or move the target to an \`id\`, then re-run`
|
|
236
|
+
: `bestax \`${target}\` drops \`${name}\` on a <${tag}>, where it does nothing anyway; remove it, then re-run`);
|
|
198
237
|
}
|
|
199
238
|
}
|
|
200
239
|
// ---- Tokens → props ---------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,MAAM,CAapC,CAAC;
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,MAAM,CAapC,CAAC;AA2BH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1D"}
|
|
@@ -36,6 +36,7 @@ const VOCABULARY = new Set([
|
|
|
36
36
|
...(entry.numberAttrs ?? []),
|
|
37
37
|
...Object.keys(entry.defaults ?? {}),
|
|
38
38
|
...Object.keys(entry.dropsAttr ?? {}),
|
|
39
|
+
...Object.keys(entry.writesAttr ?? {}),
|
|
39
40
|
]),
|
|
40
41
|
...Object.values(WRAPPERS),
|
|
41
42
|
...Object.values(WRAPPER_OWN_PROPS).flat(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAW,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/sources/bulma-classes/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAW,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+tBvD,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,gBAAqB,GAC7B,MAAM,GAAG,SAAS,CAshBpB"}
|
|
@@ -23,8 +23,17 @@ import { rewriteStylesheetImports } from '../_shared/css-imports.js';
|
|
|
23
23
|
import { BESTAX, buildBestaxImport, placeBestaxImport, seedBestaxImport, } from '../_shared/bestax-import.js';
|
|
24
24
|
import { plan, } from './plan.js';
|
|
25
25
|
import { REACT_RUNTIMES, } from './project.js';
|
|
26
|
-
import { rootFor } from './class-map.js';
|
|
26
|
+
import { ROOTS, rootFor } from './class-map.js';
|
|
27
27
|
import { ruleId } from './rules.js';
|
|
28
|
+
/**
|
|
29
|
+
* A part imported under its flat export (`MenuList`, `FieldLabel`) is the
|
|
30
|
+
* component the table names with a dot (`Menu.List`, `Field.Label`), which
|
|
31
|
+
* is the spelling every plan compares against.
|
|
32
|
+
*/
|
|
33
|
+
const FLAT_PARTS = new Map(Object.values(ROOTS)
|
|
34
|
+
.map(entry => entry.target)
|
|
35
|
+
.filter((target) => target?.includes('.') ?? false)
|
|
36
|
+
.map((target) => [target.replace(/\./g, ''), target]));
|
|
28
37
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
29
38
|
/**
|
|
30
39
|
* Modules whose element factory is React's, for the classic
|
|
@@ -697,7 +706,8 @@ export default function transform(fileInfo, api, options = {}) {
|
|
|
697
706
|
if (!owner || !resolvesToBinding(scopePath, parts[0], programScope)) {
|
|
698
707
|
return undefined;
|
|
699
708
|
}
|
|
700
|
-
|
|
709
|
+
const name = [...owner, ...parts.slice(1)].join('.');
|
|
710
|
+
return FLAT_PARTS.get(name) ?? name;
|
|
701
711
|
};
|
|
702
712
|
const childTargets = (elementPath) => (elementPath.node.children ?? []).flatMap((child) => {
|
|
703
713
|
if (child.type !== 'JSXElement')
|
|
@@ -734,10 +744,12 @@ export default function transform(fileInfo, api, options = {}) {
|
|
|
734
744
|
/**
|
|
735
745
|
* The components around an element: the bestax ones already in the file,
|
|
736
746
|
* and the rest (not an HTML tag, not a fragment), which could render one.
|
|
747
|
+
* And the classes on the HTML elements around it, computed ones included.
|
|
737
748
|
*/
|
|
738
749
|
const around = (elementPath) => {
|
|
739
750
|
const bestax = [];
|
|
740
751
|
const other = [];
|
|
752
|
+
const classes = [];
|
|
741
753
|
for (let up = elementPath.parent; up; up = up.parent) {
|
|
742
754
|
if (up.node?.type !== 'JSXElement')
|
|
743
755
|
continue;
|
|
@@ -748,12 +760,21 @@ export default function transform(fileInfo, api, options = {}) {
|
|
|
748
760
|
}
|
|
749
761
|
const parts = jsxNameParts(up.node.openingElement.name);
|
|
750
762
|
const name = parts?.join('.');
|
|
751
|
-
if (name &&
|
|
763
|
+
if (name && INTRINSIC.test(name)) {
|
|
764
|
+
const classAttr = findAttr(up.node, 'className');
|
|
765
|
+
if (!classAttr)
|
|
766
|
+
continue;
|
|
767
|
+
const className = staticClassName(classAttr);
|
|
768
|
+
classes.push(...(className === null
|
|
769
|
+
? classTokensOf(classAttr.value)
|
|
770
|
+
: className.split(/\s+/).filter(Boolean)));
|
|
771
|
+
}
|
|
772
|
+
else if (name && !name.includes('-')) {
|
|
752
773
|
if (!PASS_THROUGH_PARENTS.has(name))
|
|
753
774
|
other.push(name);
|
|
754
775
|
}
|
|
755
776
|
}
|
|
756
|
-
return { bestax, other };
|
|
777
|
+
return { bestax, other, classes };
|
|
757
778
|
};
|
|
758
779
|
// `converts` is whether the element would become a component with its
|
|
759
780
|
// classes written out, so it holds for a computed className too.
|
|
@@ -790,6 +811,7 @@ export default function transform(fileInfo, api, options = {}) {
|
|
|
790
811
|
bestaxInside: bestaxInside.get(element) ?? [],
|
|
791
812
|
bestaxAround: surrounding.bestax,
|
|
792
813
|
componentsAround: surrounding.other,
|
|
814
|
+
classesAround: surrounding.classes,
|
|
793
815
|
onlyChildOf: onlyChildOf(elementPath, bestaxLocals),
|
|
794
816
|
};
|
|
795
817
|
// A joiner call the codemod can read converts exactly: its fixed classes
|