{"version":3,"file":"index.mjs","sources":["lib/colors.mjs","lib/utils.mjs","lib/symbols.mjs","lib/get-node-options.mjs","src/index.mjs"],"sourcesContent":["const colors = {\n\treset: '\\x1b[0m',\n\tbold: '\\x1b[1m',\n\tdim: '\\x1b[2m',\n\tunderline: '\\x1b[4m',\n\tblink: '\\x1b[5m',\n\treverse: '\\x1b[7m',\n\thidden: '\\x1b[8m',\n\tblack: '\\x1b[30m',\n\tred: '\\x1b[31m',\n\tgreen: '\\x1b[32m',\n\tyellow: '\\x1b[33m',\n\tblue: '\\x1b[34m',\n\tmagenta: '\\x1b[35m',\n\tcyan: '\\x1b[36m',\n\twhite: '\\x1b[37m',\n\tbgBlack: '\\x1b[40m',\n\tbgRed: '\\x1b[41m',\n\tbgGreen: '\\x1b[42m',\n\tbgYellow: '\\x1b[43m',\n\tbgBlue: '\\x1b[44m',\n\tbgMagenta: '\\x1b[45m',\n\tbgCyan: '\\x1b[46m',\n\tbgWhite: '\\x1b[47m'\n};\n\nconst getColorFn = key => string => `${colors[key]}${String(string).replace(colors.reset, `${colors.reset}${colors[key]}`)}${colors.reset}`;\n\nexport const reset = getColorFn('reset');\n\nexport const bold = getColorFn('bold');\nexport const dim = getColorFn('dim');\nexport const underline = getColorFn('underline');\nexport const blink = getColorFn('blink');\nexport const reverse = getColorFn('reverse');\nexport const hidden = getColorFn('hidden');\n\nexport const black = getColorFn('black');\nexport const red = getColorFn('red');\nexport const green = getColorFn('green');\nexport const yellow = getColorFn('yellow');\nexport const blue = getColorFn('blue');\nexport const magenta = getColorFn('magenta');\nexport const cyan = getColorFn('cyan');\nexport const white = getColorFn('white');\n\nexport const bgBlack = getColorFn('bgBlack');\nexport const bgRed = getColorFn('bgRed');\nexport const bgGreen = getColorFn('bgGreen');\nexport const bgYellow = getColorFn('bgYellow');\nexport const bgBlue = getColorFn('bgBlue');\nexport const bgMagenta = getColorFn('bgMagenta');\nexport const bgCyan = getColorFn('bgCyan');\nexport const bgWhite = getColorFn('bgWhite');\n","export const trim = string => String(string).trim().replace(/\\s+/g, ' ');\n\nexport const json = object => {\n\ttry {\n\t\t// trimmed, stringified object with raw-formatted RegExp\n\t\treturn trim(JSON.stringify(object, (key, value) => value instanceof RegExp\n\t\t\t? `__REGEX_START${value}__REGEX_END`\n\t\t: value, ' '))\n\t\t\t.replace(/\"__REGEX_START([\\W\\w]+)__REGEX_END\"/g, '$1')\n\t\t\t.replace(/^\\[\\s*([\\W\\w]*)\\s*\\]$/, '$1')\n\t} catch (error) {\n\t\treturn '';\n\t}\n};\n","\nexport const done = process.platform === 'win32' ? '√' : '✔';\nexport const fail = process.platform === 'win32' ? '×' : '✖';\nexport const wait = '…';\n","const cwd = process.cwd();\n\nexport default {\n\tcwd,\n\tdefaultArgs: [ true ]\n};\n","import logUpdate from 'log-update';\nimport path from 'path';\nimport stylelint from 'stylelint';\nimport { bold, cyan, dim, green, red, white, yellow } from '../lib/colors.mjs';\nimport { trim, json } from '../lib/utils.mjs';\nimport { done, fail, wait } from '../lib/symbols.mjs';\nimport nodeOptions from '../lib/get-node-options.mjs';\n\nexport default async function stylelintTape(options, testsByRuleName) {\n\tlet errorsCount = 0\n\n\tconst normalizedopts = Object.assign(\n\t\t{},\n\t\tnodeOptions,\n\t\toptions === Object(options) ? options : { plugin: options }\n\t);\n\n\tnormalizedopts.plugin = path.resolve(normalizedopts.cwd, normalizedopts.plugin || '');\n\n\tfor (const ruleName in testsByRuleName) {\n\t\tconst tests = testsByRuleName[ruleName];\n\n\t\tfor (const test of tests) {\n\t\t\tconst title = getTitleByTest(test);\n\n\t\t\t// update log for pending test\n\t\t\tlogUpdate(`${dim(wait)} ${title}`);\n\n\t\t\t// run test and update log with results\n\t\t\tawait runTest(ruleName, test, normalizedopts, errorsCount).then(() => {\n\t\t\t\tlogUpdate(`${green(done)} ${white(title)}`)\n\t\t\t}, (error) => {\n\t\t\t\t// update error count in case there is errors\n\t\t\t\terrorsCount++\n\t\t\t\tlogUpdate(`${red(fail)} ${bold(title)}\\n ${yellow(trim(error.message))}`)\n\t\t\t}).then(() => {\n\t\t\t\tlogUpdate.done()\n\t\t\t});\n\t\t}\n\t}\n\n\tif (errorsCount === 0) {\n\t\treturn Promise.resolve()\n\t}\n\n\treturn Promise.reject(Error('Tests failed.'))\n};\n\nfunction runTest(ruleName, test, opts) {\n\treturn stylelint.lint({\n\t\tcode: test.source,\n\t\tconfig: {\n\t\t\tplugins: [ path.resolve(opts.cwd, opts.plugin) ],\n\t\t\trules: {\n\t\t\t\t[ruleName]: test.args || opts.defaultArgs\n\t\t\t}\n\t\t},\n\t\tfix: Boolean(test.expect)\n\t}).then(results => {\n\t\tconst warnings = results.results.reduce((array, result) => {\n\t\t\treturn array.concat(result.warnings)\n\t\t}, []);\n\n\t\tif (typeof test.warnings === 'number' && test.warnings !== warnings.length) {\n\t\t\t// throw when the warning length by number does not match\n\t\t\tthrow new Error(`Expected ${test.warnings} warnings\\nReceived ${warnings.length} warnings`);\n\t\t}\n\n\t\tif (Array.isArray(test.warnings)) {\n\t\t\tif (test.warnings.length !== warnings.length) {\n\t\t\t\t// throw when the warning length by array does not match\n\t\t\t\tthrow new Error(`Expected ${test.warnings.length} warnings\\nReceived ${warnings.length} warnings`);\n\t\t\t}\n\n\t\t\ttest.warnings.forEach((warningEntry, warningIndex) => {\n\t\t\t\tif (typeof warningEntry === 'string' && warningEntry !== warnings[warningIndex].text) {\n\t\t\t\t\t// throw when the warning text does not match\n\t\t\t\t\tthrow new Error(`Expected warning: \"${warningEntry}\"\\nReceived warning: \"${warnings[warningIndex].text}\"`);\n\t\t\t\t}\n\n\t\t\t\tObject.keys(Object(warningEntry)).forEach(warningKey => {\n\t\t\t\t\tif (warnings[warningIndex][warningKey] === warningEntry[warningKey]) {\n\t\t\t\t\t\t// throw when the warning key-value pair does not match\n\t\t\t\t\t\tthrow new Error(`Expected: \"${warningKey}\" as ${warnings[warningIndex][warningKey]}\\nReceived: ${warningEntry[warningKey]}`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif (test.expect && results.code !== test.expect) {\n\t\t\tthrow new Error(`Expected: ${test.expect}\\nReceived: ${results.code}`);\n\t\t}\n\t});\n}\n\nfunction getWarningsByTest(test) {\n\tif (test.warnings instanceof Array) {\n\t\treturn test.warnings.length\n\t}\n\n\tif (typeof test.warnings === 'number') {\n\t\treturn test.warnings\n\t}\n\n\treturn 0\n}\n\nfunction getargsByTest(test) {\n\tif (test.args) {\n\t\treturn ` with ${green(json(test.args))}`\n\t}\n\n\treturn ''\n}\n\nfunction getTitleByTest(test) {\n\tif ('title' in test) {\n\t\treturn test.title\n\t}\n\n\tif ('expect' in test) {\n\t\treturn `${cyan(test.source)}${getargsByTest(test)} becomes ${cyan(test.expect)}`\n\t}\n\n\tconst numberOfWarnings = getWarningsByTest(test);\n\tconst warnings = numberOfWarnings === 1 ? 'warning' : 'warnings';\n\n\treturn `${cyan(test.source)}${getargsByTest(test)} reports ${yellow(String(numberOfWarnings))} ${warnings}`;\n}\n"],"names":["colors","reset","bold","dim","underline","blink","reverse","hidden","black","red","green","yellow","blue","magenta","cyan","white","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","getColorFn","key","string","String","replace","trim","json","object","JSON","stringify","value","RegExp","error","done","process","platform","fail","wait","cwd","defaultArgs","stylelintTape","options","testsByRuleName","errorsCount","normalizedopts","Object","assign","nodeOptions","plugin","path","resolve","ruleName","tests","test","title","getTitleByTest","logUpdate","runTest","then","message","Promise","reject","Error","opts","stylelint","lint","code","source","config","plugins","rules","args","fix","Boolean","expect","results","warnings","reduce","array","result","concat","length","Array","isArray","forEach","warningEntry","warningIndex","text","keys","warningKey","getWarningsByTest","getargsByTest","numberOfWarnings"],"mappings":"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"}