Files
formipay/node_modules/stylelint/lib/utils/isStandardSyntaxSelector.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

59 lines
1.1 KiB
JavaScript

'use strict';
const hasInterpolation = require('../utils/hasInterpolation');
/**
* Check whether a selector is standard
*
* @param {string} selector
* @returns {boolean}
*/
module.exports = function isStandardSyntaxSelector(selector) {
// SCSS or Less interpolation
if (hasInterpolation(selector)) {
return false;
}
// SCSS placeholder selectors
if (selector.startsWith('%')) {
return false;
}
// SCSS nested properties
if (selector.endsWith(':')) {
return false;
}
// Less :extend()
if (/:extend(?:\(.*?\))?/.test(selector)) {
return false;
}
// Less mixin with resolved nested selectors (e.g. .foo().bar or .foo(@a, @b)[bar])
if (/\.[\w-]+\(.*\).+/.test(selector)) {
return false;
}
// Less non-outputting mixin definition (e.g. .mixin() {})
if (selector.endsWith(')') && !selector.includes(':')) {
return false;
}
// Less Parametric mixins (e.g. .mixin(@variable: x) {})
if (/\(@.*\)$/.test(selector)) {
return false;
}
// ERB template tags
if (selector.includes('<%') || selector.includes('%>')) {
return false;
}
// SCSS and Less comments
if (selector.includes('//')) {
return false;
}
return true;
};