diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/doiuse/lib/stream/RuleUsageTransform.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/doiuse/lib/stream/RuleUsageTransform.js')
| -rw-r--r-- | node_modules/doiuse/lib/stream/RuleUsageTransform.js | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/node_modules/doiuse/lib/stream/RuleUsageTransform.js b/node_modules/doiuse/lib/stream/RuleUsageTransform.js deleted file mode 100644 index a2a79d4d..00000000 --- a/node_modules/doiuse/lib/stream/RuleUsageTransform.js +++ /dev/null @@ -1,80 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -import { Transform } from 'node:stream'; - -import postcss from 'postcss'; -import sourcemap from 'source-map'; - -import DoIUse from '../DoIUse.js'; - -/** @typedef {import('../../data/features.js').FeatureKeys} FeatureKeys */ -/** @typedef {import('./SourceMapTransform.js').SourceMapTransformation} SourceMapTransformation */ - -export default class RuleUsageTransform extends Transform { - /** @type {import("postcss").Processor} */ - #processor; - - #skipErrors; - - #filename; - - /** - * @param {Object} options - * @param {string} options.browsers - * @param {FeatureKeys[]} [options.ignore] - * @param {boolean} [options.skipErrors] - * @param {string} [filename] Filename for outputting source code locations. - */ - constructor(options, filename = '<streaming css input>') { - super({ - objectMode: true, - }); - this.#processor = postcss([new DoIUse({ - browsers: options.browsers, - ignore: options.ignore, - onFeatureUsage: (usage) => { - this.push(usage); - }, - })]); - this.#filename = filename; - this.#skipErrors = options.skipErrors; - } - - /** - * @param {SourceMapTransformation} rule - * @param {any} encoding - * @param {Function} callback - */ - async _transform(rule, encoding, callback) { - let caughtError; - try { - const mapper = new sourcemap.SourceMapGenerator(); - const lines = rule.content.split('\n'); - let oline = rule.line; - let ocol = rule.column; - for (const [lineNumber, content] of lines.entries()) { - mapper.addMapping({ - generated: { line: lineNumber + 1, column: 1 }, - original: { line: oline, column: ocol }, - source: this.#filename, - }); - mapper.addMapping({ - generated: { line: lineNumber + 1, column: content.length }, - original: { line: oline, column: ocol + content.length }, - source: this.#filename, - }); - oline += 1; - ocol = 1; - } - await this.#processor.process(rule.content, { - from: this.#filename, map: { prev: mapper.toString() }, - }); - } catch (error) { - if (this.#skipErrors) { - this.emit('warning', error); - } else { - caughtError = error; - } - } - callback(caughtError); - } -} |
