'use strict';

var _commonjsHelpers = require('./_commonjsHelpers.js');
var index = require('../node_modules/supports-color/index.js');

var supportsColorExports = index.__require();
var supportsColor = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(supportsColorExports);

module.exports = supportsColor;
