@mintlify/common 1.0.782 → 1.0.784
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.
|
@@ -231,35 +231,45 @@ export function rebuildStyleValue(properties) {
|
|
|
231
231
|
});
|
|
232
232
|
return `{ ${parts.join(', ')} }`;
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function isUnsafeEsm(estree) {
|
|
235
235
|
if (!estree.body.length)
|
|
236
236
|
return false;
|
|
237
|
-
let
|
|
237
|
+
let hasUnsafeNode = false;
|
|
238
238
|
walk(estree, {
|
|
239
239
|
enter(node) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
240
|
+
switch (node.type) {
|
|
241
|
+
// Function/class definitions (could be used as executable components)
|
|
242
|
+
case 'FunctionDeclaration':
|
|
243
|
+
case 'FunctionExpression':
|
|
244
|
+
case 'ArrowFunctionExpression':
|
|
245
|
+
case 'ClassDeclaration':
|
|
246
|
+
case 'ClassExpression':
|
|
247
|
+
// Code execution
|
|
248
|
+
case 'CallExpression':
|
|
249
|
+
case 'NewExpression':
|
|
250
|
+
case 'ImportExpression':
|
|
251
|
+
case 'TaggedTemplateExpression':
|
|
252
|
+
case 'AwaitExpression':
|
|
253
|
+
case 'YieldExpression':
|
|
254
|
+
// Side effects
|
|
255
|
+
case 'AssignmentExpression':
|
|
256
|
+
case 'UpdateExpression':
|
|
257
|
+
// Property access (could read process.env, globalThis, etc.)
|
|
258
|
+
case 'MemberExpression':
|
|
259
|
+
hasUnsafeNode = true;
|
|
260
|
+
return this.skip();
|
|
261
|
+
// Re-exports pull in external modules (e.g. `export { readFileSync } from 'fs'`)
|
|
262
|
+
case 'ExportNamedDeclaration':
|
|
263
|
+
case 'ExportAllDeclaration':
|
|
264
|
+
if ('source' in node && node.source != null) {
|
|
265
|
+
hasUnsafeNode = true;
|
|
266
|
+
return this.skip();
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
259
269
|
}
|
|
260
270
|
},
|
|
261
271
|
});
|
|
262
|
-
return
|
|
272
|
+
return hasUnsafeNode;
|
|
263
273
|
}
|
|
264
274
|
function isArrayOfStringLiterals(estree) {
|
|
265
275
|
const stmt = estree.body[0];
|
|
@@ -276,11 +286,9 @@ export function remarkMdxRemoveJs() {
|
|
|
276
286
|
var _a;
|
|
277
287
|
if (!isMdxJsEsm(node))
|
|
278
288
|
return false;
|
|
279
|
-
if (((_a = node.data) === null || _a === void 0 ? void 0 : _a.estree)
|
|
289
|
+
if (!((_a = node.data) === null || _a === void 0 ? void 0 : _a.estree))
|
|
280
290
|
return false;
|
|
281
|
-
|
|
282
|
-
const containsReact = REACT_HOOKS.some((hook) => value.includes(hook) || value.includes('React.' + hook.toLowerCase()));
|
|
283
|
-
return containsReact;
|
|
291
|
+
return isUnsafeEsm(node.data.estree);
|
|
284
292
|
});
|
|
285
293
|
visit(tree, (node) => {
|
|
286
294
|
if (!('attributes' in node))
|