Files
formipay/node_modules/stylelint/lib/getConfigForFile.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

71 lines
2.1 KiB
JavaScript

'use strict';
const configurationError = require('./utils/configurationError');
const path = require('path');
const { augmentConfigFull } = require('./augmentConfig');
const { cosmiconfig } = require('cosmiconfig');
const IS_TEST = process.env.NODE_ENV === 'test';
const STOP_DIR = IS_TEST ? process.cwd() : undefined;
/** @typedef {import('stylelint').InternalApi} StylelintInternalApi */
/** @typedef {import('stylelint').Config} StylelintConfig */
/** @typedef {import('stylelint').CosmiconfigResult} StylelintCosmiconfigResult */
/**
* @param {StylelintInternalApi} stylelint
* @param {string} [searchPath]
* @param {string} [filePath]
* @returns {Promise<StylelintCosmiconfigResult>}
*/
module.exports = async function getConfigForFile(
stylelint,
searchPath = stylelint._options.cwd,
filePath,
) {
const optionsConfig = stylelint._options.config;
const cwd = stylelint._options.cwd;
if (optionsConfig !== undefined) {
const cached = stylelint._specifiedConfigCache.get(optionsConfig);
// If config has overrides the resulting config might be different for some files.
// Cache results only if resulted config is the same for all linted files.
if (cached && !optionsConfig.overrides) {
return cached;
}
const augmentedResult = augmentConfigFull(stylelint, filePath, {
config: optionsConfig,
// Add the extra path part so that we can get the directory without being
// confused
filepath: path.join(cwd, 'argument-config'),
});
stylelint._specifiedConfigCache.set(optionsConfig, augmentedResult);
return augmentedResult;
}
const configExplorer = cosmiconfig('stylelint', {
transform: (cosmiconfigResult) => augmentConfigFull(stylelint, filePath, cosmiconfigResult),
stopDir: STOP_DIR,
});
let config = stylelint._options.configFile
? await configExplorer.load(stylelint._options.configFile)
: await configExplorer.search(searchPath);
if (!config) {
config = await configExplorer.search(cwd);
}
if (!config) {
return Promise.reject(
configurationError(`No configuration provided${searchPath ? ` for ${searchPath}` : ''}`),
);
}
return config;
};