| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- // NOTICE: This file is generated by Rollup. To modify it,
- // please instead edit the ESM counterpart and rebuild with Rollup (npm run build).
- 'use strict';
- const process = require('node:process');
- // Each code must be unique across all warning types.
- const DEPRECATION_CODES = {
- COMMONJS_PLUGINS: '001',
- COMMONJS_NODEJS_API: '002',
- RESULT_OUTPUT_PROPERTY: '003',
- GITHUB_FORMATTER: '004',
- CONTEXT_FIX: '005',
- RULE: '006', // either removal or renaming
- REPORT_AMBIGUOUS_POSITION: '007',
- };
- const EXPERIMENTAL_CODES = {
- SUPPRESSIONS: '101',
- };
- const emittedWarnings = new Set();
- /**
- * @typedef {DEPRECATION_CODES[keyof DEPRECATION_CODES] |
- * EXPERIMENTAL_CODES[keyof EXPERIMENTAL_CODES]} WarningCode
- */
- /**
- * Emit a warning with the specified type.
- *
- * @param {string} message
- * @param {'DeprecationWarning' | 'ExperimentalWarning'} type - See https://nodejs.org/api/process.html#nodejs-warning-names
- * @param {WarningCode} code
- * @param {string} detail
- * @returns {void}
- */
- function emitWarning(message, type, code, detail) {
- const key = JSON.stringify({
- message,
- options: { type, code: `stylelint:${code}`, detail },
- });
- if (emittedWarnings.has(key)) return;
- emittedWarnings.add(key);
- process.emitWarning(message, { type, code: `stylelint:${code}`, detail });
- }
- /**
- * Use this function for deprecation warnings, instead of `process.emitWarning()`.
- *
- * @param {string} message
- * @param {keyof DEPRECATION_CODES} codeKey
- * @param {string} detail
- * @returns {void}
- */
- function emitDeprecationWarning(message, codeKey, detail) {
- emitWarning(message, 'DeprecationWarning', DEPRECATION_CODES[codeKey], detail);
- }
- /**
- * Use this function for experimental warnings, instead of `process.emitWarning()`.
- *
- * @param {string} message
- * @param {keyof EXPERIMENTAL_CODES} codeKey
- * @param {string} detail
- * @returns {void}
- */
- function emitExperimentalWarning(message, codeKey, detail) {
- emitWarning(message, 'ExperimentalWarning', EXPERIMENTAL_CODES[codeKey], detail);
- }
- /**
- * Clear the already emitted warnings.
- * Only useful in tests.
- *
- * @private
- */
- function clearEmittedWarnings() {
- if (process.env.NODE_ENV !== 'test') {
- throw new Error('This function can only be called in test environments!');
- }
- emittedWarnings.clear();
- }
- exports.clearEmittedWarnings = clearEmittedWarnings;
- exports.emitDeprecationWarning = emitDeprecationWarning;
- exports.emitExperimentalWarning = emitExperimentalWarning;
|