summaryrefslogtreecommitdiff
path: root/node_modules/postcss/lib/css-syntax-error.d.ts
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/postcss/lib/css-syntax-error.d.ts
Docs
Diffstat (limited to 'node_modules/postcss/lib/css-syntax-error.d.ts')
-rw-r--r--node_modules/postcss/lib/css-syntax-error.d.ts248
1 files changed, 248 insertions, 0 deletions
diff --git a/node_modules/postcss/lib/css-syntax-error.d.ts b/node_modules/postcss/lib/css-syntax-error.d.ts
new file mode 100644
index 0000000..d2d11bf
--- /dev/null
+++ b/node_modules/postcss/lib/css-syntax-error.d.ts
@@ -0,0 +1,248 @@
+import { FilePosition } from './input.js'
+
+declare namespace CssSyntaxError {
+ /**
+ * A position that is part of a range.
+ */
+ export interface RangePosition {
+ /**
+ * The column number in the input.
+ */
+ column: number
+
+ /**
+ * The line number in the input.
+ */
+ line: number
+ }
+
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ export { CssSyntaxError_ as default }
+}
+
+/**
+ * The CSS parser throws this error for broken CSS.
+ *
+ * Custom parsers can throw this error for broken custom syntax using
+ * the `Node#error` method.
+ *
+ * PostCSS will use the input source map to detect the original error location.
+ * If you wrote a Sass file, compiled it to CSS and then parsed it with PostCSS,
+ * PostCSS will show the original position in the Sass file.
+ *
+ * If you need the position in the PostCSS input
+ * (e.g., to debug the previous compiler), use `error.input.file`.
+ *
+ * ```js
+ * // Raising error from plugin
+ * throw node.error('Unknown variable', { plugin: 'postcss-vars' })
+ * ```
+ *
+ * ```js
+ * // Catching and checking syntax error
+ * try {
+ * postcss.parse('a{')
+ * } catch (error) {
+ * if (error.name === 'CssSyntaxError') {
+ * error //=> CssSyntaxError
+ * }
+ * }
+ * ```
+ */
+declare class CssSyntaxError_ {
+ /**
+ * Source column of the error.
+ *
+ * ```js
+ * error.column //=> 1
+ * error.input.column //=> 4
+ * ```
+ *
+ * PostCSS will use the input source map to detect the original location.
+ * If you need the position in the PostCSS input, use `error.input.column`.
+ */
+ column?: number
+
+ /**
+ * Source column of the error's end, exclusive. Provided if the error pertains
+ * to a range.
+ *
+ * ```js
+ * error.endColumn //=> 1
+ * error.input.endColumn //=> 4
+ * ```
+ *
+ * PostCSS will use the input source map to detect the original location.
+ * If you need the position in the PostCSS input, use `error.input.endColumn`.
+ */
+ endColumn?: number
+
+ /**
+ * Source line of the error's end, exclusive. Provided if the error pertains
+ * to a range.
+ *
+ * ```js
+ * error.endLine //=> 3
+ * error.input.endLine //=> 4
+ * ```
+ *
+ * PostCSS will use the input source map to detect the original location.
+ * If you need the position in the PostCSS input, use `error.input.endLine`.
+ */
+ endLine?: number
+
+ /**
+ * Absolute path to the broken file.
+ *
+ * ```js
+ * error.file //=> 'a.sass'
+ * error.input.file //=> 'a.css'
+ * ```
+ *
+ * PostCSS will use the input source map to detect the original location.
+ * If you need the position in the PostCSS input, use `error.input.file`.
+ */
+ file?: string
+
+ /**
+ * Input object with PostCSS internal information
+ * about input file. If input has source map
+ * from previous tool, PostCSS will use origin
+ * (for example, Sass) source. You can use this
+ * object to get PostCSS input source.
+ *
+ * ```js
+ * error.input.file //=> 'a.css'
+ * error.file //=> 'a.sass'
+ * ```
+ */
+ input?: FilePosition
+
+ /**
+ * Source line of the error.
+ *
+ * ```js
+ * error.line //=> 2
+ * error.input.line //=> 4
+ * ```
+ *
+ * PostCSS will use the input source map to detect the original location.
+ * If you need the position in the PostCSS input, use `error.input.line`.
+ */
+ line?: number
+
+ /**
+ * Full error text in the GNU error format
+ * with plugin, file, line and column.
+ *
+ * ```js
+ * error.message //=> 'a.css:1:1: Unclosed block'
+ * ```
+ */
+ message: string
+
+ /**
+ * Always equal to `'CssSyntaxError'`. You should always check error type
+ * by `error.name === 'CssSyntaxError'`
+ * instead of `error instanceof CssSyntaxError`,
+ * because npm could have several PostCSS versions.
+ *
+ * ```js
+ * if (error.name === 'CssSyntaxError') {
+ * error //=> CssSyntaxError
+ * }
+ * ```
+ */
+ name: 'CssSyntaxError'
+
+ /**
+ * Plugin name, if error came from plugin.
+ *
+ * ```js
+ * error.plugin //=> 'postcss-vars'
+ * ```
+ */
+ plugin?: string
+
+ /**
+ * Error message.
+ *
+ * ```js
+ * error.message //=> 'Unclosed block'
+ * ```
+ */
+ reason: string
+
+ /**
+ * Source code of the broken file.
+ *
+ * ```js
+ * error.source //=> 'a { b {} }'
+ * error.input.source //=> 'a b { }'
+ * ```
+ */
+ source?: string
+
+ stack: string
+
+ /**
+ * Instantiates a CSS syntax error. Can be instantiated for a single position
+ * or for a range.
+ * @param message Error message.
+ * @param lineOrStartPos If for a single position, the line number, or if for
+ * a range, the inclusive start position of the error.
+ * @param columnOrEndPos If for a single position, the column number, or if for
+ * a range, the exclusive end position of the error.
+ * @param source Source code of the broken file.
+ * @param file Absolute path to the broken file.
+ * @param plugin PostCSS plugin name, if error came from plugin.
+ */
+ constructor(
+ message: string,
+ lineOrStartPos?: CssSyntaxError.RangePosition | number,
+ columnOrEndPos?: CssSyntaxError.RangePosition | number,
+ source?: string,
+ file?: string,
+ plugin?: string
+ )
+
+ /**
+ * Returns a few lines of CSS source that caused the error.
+ *
+ * If the CSS has an input source map without `sourceContent`,
+ * this method will return an empty string.
+ *
+ * ```js
+ * error.showSourceCode() //=> " 4 | }
+ * // 5 | a {
+ * // > 6 | bad
+ * // | ^
+ * // 7 | }
+ * // 8 | b {"
+ * ```
+ *
+ * @param color Whether arrow will be colored red by terminal
+ * color codes. By default, PostCSS will detect
+ * color support by `process.stdout.isTTY`
+ * and `process.env.NODE_DISABLE_COLORS`.
+ * @return Few lines of CSS source that caused the error.
+ */
+ showSourceCode(color?: boolean): string
+
+ /**
+ * Returns error position, message and source code of the broken part.
+ *
+ * ```js
+ * error.toString() //=> "CssSyntaxError: app.css:1:1: Unclosed block
+ * // > 1 | a {
+ * // | ^"
+ * ```
+ *
+ * @return Error position, message and source code.
+ */
+ toString(): string
+}
+
+declare class CssSyntaxError extends CssSyntaxError_ {}
+
+export = CssSyntaxError