| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | /** * @fileoverview Provide the function that emits deprecation warnings. * @author Toru Nagashima <http://github.com/mysticatea> *///------------------------------------------------------------------------------// Requirements//------------------------------------------------------------------------------import path from "path";//------------------------------------------------------------------------------// Private//------------------------------------------------------------------------------// Defitions for deprecation warnings.const deprecationWarningMessages = {    ESLINT_LEGACY_ECMAFEATURES:        "The 'ecmaFeatures' config file property is deprecated and has no effect.",    ESLINT_PERSONAL_CONFIG_LOAD:        "'~/.eslintrc.*' config files have been deprecated. " +        "Please use a config file per project or the '--config' option.",    ESLINT_PERSONAL_CONFIG_SUPPRESS:        "'~/.eslintrc.*' config files have been deprecated. " +        "Please remove it or add 'root:true' to the config files in your " +        "projects in order to avoid loading '~/.eslintrc.*' accidentally."};const sourceFileErrorCache = new Set();/** * Emits a deprecation warning containing a given filepath. A new deprecation warning is emitted * for each unique file path, but repeated invocations with the same file path have no effect. * No warnings are emitted if the `--no-deprecation` or `--no-warnings` Node runtime flags are active. * @param {string} source The name of the configuration source to report the warning for. * @param {string} errorCode The warning message to show. * @returns {void} */function emitDeprecationWarning(source, errorCode) {    const cacheKey = JSON.stringify({ source, errorCode });    if (sourceFileErrorCache.has(cacheKey)) {        return;    }    sourceFileErrorCache.add(cacheKey);    const rel = path.relative(process.cwd(), source);    const message = deprecationWarningMessages[errorCode];    process.emitWarning(        `${message} (found in "${rel}")`,        "DeprecationWarning",        errorCode    );}//------------------------------------------------------------------------------// Public Interface//------------------------------------------------------------------------------export {    emitDeprecationWarning};
 |