diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 60c68541c..6eec078d6 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -4,16 +4,6 @@ If you want to contribute to PostCSS, there are a few things that you should
be familiar with.
-## In Case You Have Questions About Using PostCSS
-
-* **Ask for help in [the chat]**
-
- If you're stuck, chances are
- someone had a similar problem before.
-
-[the chat]: https://gitter.im/postcss/postcss
-
-
## Adding Your Plugin to the List
If you created or found a plugin and want to add it to the PostCSS plugins list
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index c7b6c4a28..a2818a624 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
@@ -20,7 +20,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v3
with:
- node-version: 20
+ node-version: 21
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile --ignore-scripts
@@ -31,12 +31,13 @@ jobs:
strategy:
matrix:
node-version:
+ - 20
- 18
- 16
name: Node.js ${{ matrix.node-version }} Quick
steps:
- name: Checkout the repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
@@ -61,7 +62,7 @@ jobs:
name: Node.js ${{ matrix.node-version }} Quick
steps:
- name: Checkout the repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v1
with:
@@ -83,11 +84,11 @@ jobs:
name: Windows Quick
steps:
- name: Checkout the repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
- version: latest
+ version: 8
- name: Install Node.js LTS
uses: actions/setup-node@v3
with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ba8d565b..0c6229cc0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,35 @@
# Change Log
This project adheres to [Semantic Versioning](https://semver.org/).
+## 8.4.35
+* Avoid `!` in `node.parent.nodes` type.
+* Allow to pass `undefined` to node adding method to simplify types.
+
+## 8.4.34
+* Fixed `AtRule#nodes` type (by Tim Weißenfels).
+* Cleaned up code (by Dmitry Kirillov).
+
+## 8.4.33
+* Fixed `NoWorkResult` behavior difference with normal mode (by Romain Menke).
+* Fixed `NoWorkResult` usage conditions (by @ahmdammarr).
+
+## 8.4.32
+* Fixed `postcss().process()` types (by Andrew Ferreira).
+
+## 8.4.31
+* Fixed `\r` parsing to fix CVE-2023-44270.
+
+## 8.4.30
+* Improved source map performance (by Romain Menke).
+
+## 8.4.29
+* Fixed `Node#source.offset` (by Ido Rosenthal).
+* Fixed docs (by Christian Oliff).
+
+## 8.4.28
+* Fixed `Root.source.end` for better source map (by Romain Menke).
+* Fixed `Result.root` types when `process()` has no parser.
+
## 8.4.27
* Fixed `Container` clone methods types.
diff --git a/README.md b/README.md
index f1e796e29..4099f6c85 100644
--- a/README.md
+++ b/README.md
@@ -9,31 +9,20 @@ These plugins can lint your CSS, support variables and mixins,
transpile future CSS syntax, inline images, and more.
PostCSS is used by industry leaders including Wikipedia, Twitter, Alibaba,
-and JetBrains. The [Autoprefixer] PostCSS plugin is one of the most popular
-CSS processors.
+and JetBrains. The [Autoprefixer] and [Stylelint] PostCSS plugins is one of the most popular CSS tools.
-PostCSS takes a CSS file and provides an API to analyze and modify its rules
-(by transforming them into an [Abstract Syntax Tree]).
-This API can then be used by [plugins] to do a lot of useful things,
-e.g., to find errors automatically, or to insert vendor prefixes.
+---
-**Twitter account:** [@postcss](https://twitter.com/postcss)
-**中文翻译**: [`docs/README-cn.md`](./docs/README-cn.md)
+
Made in Evil Martians, product consulting for developer tools.
-For PostCSS commercial support (consulting, improving the front-end culture
-of your company, PostCSS plugins), contact [Evil Martians]
-at .
+---
[Abstract Syntax Tree]: https://en.wikipedia.org/wiki/Abstract_syntax_tree
[Evil Martians]: https://evilmartians.com/?utm_source=postcss
[Autoprefixer]: https://github.com/postcss/autoprefixer
+[Stylelint]: https://stylelint.io/
[plugins]: https://github.com/postcss/postcss#plugins
-
-
-
-
## Sponsorship
@@ -51,6 +40,11 @@ PostCSS needs your support. We are accepting donations
## Plugins
+PostCSS takes a CSS file and provides an API to analyze and modify its rules
+(by transforming them into an [Abstract Syntax Tree]).
+This API can then be used by [plugins] to do a lot of useful things,
+e.g., to find errors automatically, or to insert vendor prefixes.
+
Currently, PostCSS has more than 200 plugins. You can find all of the plugins
in the [plugins list] or in the [searchable catalog]. Below is a list
of our favorite plugins — the best demonstrations of what can be built
@@ -120,13 +114,13 @@ If you have any new ideas, [PostCSS plugin development] is really easy.
[`postcss-preset-env`]: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env
[`react-css-modules`]: https://github.com/gajus/react-css-modules
[`postcss-autoreset`]: https://github.com/maximkoretskiy/postcss-autoreset
-[`postcss-write-svg`]: https://github.com/jonathantneal/postcss-write-svg
+[`postcss-write-svg`]: https://github.com/csstools/postcss-write-svg
[`postcss-utilities`]: https://github.com/ismamz/postcss-utilities
[`postcss-initial`]: https://github.com/maximkoretskiy/postcss-initial
[`postcss-sprites`]: https://github.com/2createStudio/postcss-sprites
[`postcss-modules`]: https://github.com/outpunk/postcss-modules
[`postcss-sorting`]: https://github.com/hudochenkov/postcss-sorting
-[`font-magician`]: https://github.com/jonathantneal/postcss-font-magician
+[`font-magician`]: https://github.com/csstools/postcss-font-magician
[`autoprefixer`]: https://github.com/postcss/autoprefixer
[`cq-prolyfill`]: https://github.com/ausi/cq-prolyfill
[`postcss-url`]: https://github.com/postcss/postcss-url
@@ -141,7 +135,7 @@ If you have any new ideas, [PostCSS plugin development] is really easy.
[`postcss-nested`]: https://github.com/postcss/postcss-nested
[`doiuse`]: https://github.com/anandthakker/doiuse
[`rtlcss`]: https://github.com/MohammadYounes/rtlcss
-[`short`]: https://github.com/jonathantneal/postcss-short
+[`short`]: https://github.com/csstools/postcss-short
[`lost`]: https://github.com/peterramsing/lost
## Syntaxes
@@ -473,21 +467,11 @@ module.exports = {
[`csstools.postcss`]: https://marketplace.visualstudio.com/items?itemName=csstools.postcss
-### Atom
-
-* [`language-postcss`] adds PostCSS and [SugarSS] highlight.
-* [`source-preview-postcss`] previews your output CSS in a separate, live pane.
-
-[SugarSS]: https://github.com/postcss/sugarss
-
-
### Sublime Text
* [`Syntax-highlighting-for-PostCSS`] adds PostCSS highlight.
[`Syntax-highlighting-for-PostCSS`]: https://github.com/hudochenkov/Syntax-highlighting-for-PostCSS
-[`source-preview-postcss`]: https://atom.io/packages/source-preview-postcss
-[`language-postcss`]: https://atom.io/packages/language-postcss
### Vim
diff --git a/docs/README-cn.md b/docs/README-cn.md
index f5a4e2ba0..0a88d758d 100644
--- a/docs/README-cn.md
+++ b/docs/README-cn.md
@@ -1,12 +1,9 @@
-# PostCSS [![Gitter][chat-img]][chat]
+# PostCSS
-[chat-img]: https://img.shields.io/badge/Gitter-Join_the_PostCSS_chat-brightgreen.svg
-[chat]: https://gitter.im/postcss/postcss
-
PostCSS 是一个允许使用 JS 插件转换样式的工具。
这些插件可以检查(lint)你的 CSS,支持 CSS Variables 和 Mixins,
编译尚未被浏览器广泛支持的先进的 CSS 语法,内联图片,以及其它很多优秀的功能。
@@ -16,8 +13,7 @@ JetBrains。PostCSS 的 [Autoprefixer] 插件是最流行的 CSS 处理工具之
PostCSS 接收一个 CSS 文件并提供了一个 API 来分析、修改它的规则(通过把 CSS 规则转换成一个[抽象语法树]的方式)。在这之后,这个 API 便可被许多[插件]利用来做有用的事情,比如寻错或自动添加 CSS vendor 前缀。
-**Twitter 账号:** [@postcss](https://twitter.com/postcss)
-**支持 / 讨论:** [Gitter](https://gitter.im/postcss/postcss)
+**Twitter 账号:** [@postcss](https://twitter.com/postcss)
如果需要 PostCSS 商业支持(如咨询,提升公司的前端文化,
PostCSS 插件),请联系 [Evil Martians](https://evilmartians.com/?utm_source=postcss)
diff --git a/docs/plugins.md b/docs/plugins.md
index 43ed8ac42..237b04ef1 100644
--- a/docs/plugins.md
+++ b/docs/plugins.md
@@ -335,6 +335,7 @@ loosely resembles the original.
* [`postcss-unicode-characters`] makes it easier to write `unicode-range`
descriptors.
* [`postcss-url`] rebases or inlines `url()`s.
+* [`postcss-urlrebase`] rebases `url()`s to a given root URL.
* [`postcss-urlrev`] adds MD5 hash strings to `url()`s.
* [`postcss-write-svg`] write inline SVGs in CSS.
* [`postcss-inline-svg`] inline SVG images and customize their styles.
@@ -548,6 +549,7 @@ See also plugins in modular minifier [`cssnano`].
expressed in JS or JSON, within CSS.
* [`postcss-pixel-to-remvw`] converting px to both of rem and vw, also one of them
* [`postcss-easy-import`] inline `@import` rules content with extra features.
+* [`postcss-plugin-ignore-file`] ignore file with a top-comment `/* @ignore */`.
[flexbox bugs]: https://github.com/philipwalton/flexbugs
@@ -835,6 +837,7 @@ See also plugins in modular minifier [`cssnano`].
[`postcss-nested`]: https://github.com/postcss/postcss-nested
[`postcss-rtlcss`]: https://github.com/elchininet/postcss-rtlcss
[`postcss-select`]: https://github.com/johnotander/postcss-select
+[`postcss-urlrebase`]: https://github.com/strarsis/postcss-urlrebase
[`postcss-urlrev`]: https://github.com/yuezk/postcss-urlrev
[`postcss-zindex`]: https://github.com/ben-eb/postcss-zindex
[`list-selectors`]: https://github.com/davidtheclark/list-selectors
@@ -952,3 +955,4 @@ See also plugins in modular minifier [`cssnano`].
[`@csstools/postcss-design-tokens`]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-design-tokens
[`postcss-easy-import`]: https://github.com/TrySound/postcss-easy-import
[`postcss-spring-easing`]: https://github.com/okikio/postcss-spring-easing
+[`postcss-plugin-ignore-file`]: https://github.com/RiadhAdrani/postcss-plugin-ignore-file
diff --git a/docs/writing-a-plugin.md b/docs/writing-a-plugin.md
index 27f873217..08e6fd943 100644
--- a/docs/writing-a-plugin.md
+++ b/docs/writing-a-plugin.md
@@ -21,7 +21,7 @@ Documentation:
Support:
-* [Ask questions](https://gitter.im/postcss/postcss)
+* [Ask questions](https://github.com/orgs/postcss/discussions)
* [PostCSS twitter](https://twitter.com/postcss) with latest updates.
@@ -380,7 +380,8 @@ You will have bugs and a minimum of 10 minutes in debugging even a simple plugin
You may found that simple origin idea will not work in real-world and you need
to change everything.
-Don’t worry. Every bug is findable, and finding another solution may make your plugin even better.
+Don’t worry. Every bug is findable, and finding another solution may make your
+plugin even better.
Start from writing tests. Plugin boilerplate has a test template
in `index.test.js`. Call `npx jest` to test your plugin.
@@ -389,7 +390,7 @@ Use Node.js debugger in your text editor or just `console.log`
to debug the code.
PostCSS community can help you since we are all experiencing the same problems.
-Don’t afraid to ask in [special Gitter channel](https://gitter.im/postcss/).
+Don’t afraid to ask in [special channel](https://github.com/orgs/postcss/discussions).
## Step 6: Make it public
diff --git a/lib/at-rule.d.ts b/lib/at-rule.d.ts
index 8eebc4897..5bdee38be 100644
--- a/lib/at-rule.d.ts
+++ b/lib/at-rule.d.ts
@@ -1,4 +1,7 @@
-import Container, { ContainerProps } from './container.js'
+import Container, {
+ ContainerProps,
+ ContainerWithChildren
+} from './container.js'
declare namespace AtRule {
export interface AtRuleRaws extends Record {
@@ -81,11 +84,30 @@ declare class AtRule_ extends Container {
*
* ```js
* const root = postcss.parse('@media print {}')
- * media.name //=> 'media'
* const media = root.first
+ * media.name //=> 'media'
* ```
*/
name: string
+ /**
+ * An array containing the layer’s children.
+ *
+ * ```js
+ * const root = postcss.parse('@layer example { a { color: black } }')
+ * const layer = root.first
+ * layer.nodes.length //=> 1
+ * layer.nodes[0].selector //=> 'a'
+ * ```
+ *
+ * Can be `undefinded` if the at-rule has no body.
+ *
+ * ```js
+ * const root = postcss.parse('@layer a, b, c;')
+ * const layer = root.first
+ * layer.nodes //=> undefined
+ * ```
+ */
+ nodes: Container['nodes']
/**
* The at-rule’s parameters, the values that follow the at-rule’s name
* but precede any `{}` block.
@@ -97,7 +119,7 @@ declare class AtRule_ extends Container {
* ```
*/
params: string
- parent: Container | undefined
+ parent: ContainerWithChildren | undefined
raws: AtRule.AtRuleRaws
diff --git a/lib/container.d.ts b/lib/container.d.ts
index dfe75bae7..d16b85d08 100644
--- a/lib/container.d.ts
+++ b/lib/container.d.ts
@@ -5,6 +5,12 @@ import Node, { ChildNode, ChildProps, NodeProps } from './node.js'
import Rule from './rule.js'
declare namespace Container {
+ export class ContainerWithChildren<
+ Child extends Node = ChildNode
+ > extends Container_ {
+ nodes: Child[]
+ }
+
export interface ValueOptions {
/**
* String that’s used to narrow down values and speed up the regexp search.
@@ -43,7 +49,7 @@ declare abstract class Container_ extends Node {
* root.nodes[0].nodes[0].prop //=> 'color'
* ```
*/
- nodes: Child[]
+ nodes: Child[] | undefined
/**
* Inserts new nodes to the end of the container.
@@ -66,7 +72,15 @@ declare abstract class Container_ extends Node {
* @return This node for methods chain.
*/
append(
- ...nodes: (ChildProps | ChildProps[] | Node | Node[] | string | string[])[]
+ ...nodes: (
+ | ChildProps
+ | ChildProps[]
+ | Node
+ | Node[]
+ | string
+ | string[]
+ | undefined
+ )[]
): this
assign(overrides: Container.ContainerProps | object): this
@@ -125,15 +139,6 @@ declare abstract class Container_ extends Node {
every(
condition: (node: Child, index: number, nodes: Child[]) => boolean
): boolean
- /**
- * The container’s first child.
- *
- * ```js
- * rule.first === rules.nodes[0]
- * ```
- */
- get first(): Child | undefined
-
/**
* Returns a `child`’s index within the `Container#nodes` array.
*
@@ -145,6 +150,7 @@ declare abstract class Container_ extends Node {
* @return Child index.
*/
index(child: Child | number): number
+
/**
* Insert new node after old node within the container.
*
@@ -154,26 +160,15 @@ declare abstract class Container_ extends Node {
*/
insertAfter(
oldNode: Child | number,
- newNode: Child | Child[] | ChildProps | ChildProps[] | string | string[]
+ newNode:
+ | Child
+ | Child[]
+ | ChildProps
+ | ChildProps[]
+ | string
+ | string[]
+ | undefined
): this
-
- /**
- * Traverses the container’s descendant nodes, calling callback
- * for each comment node.
- *
- * Like `Container#each`, this method is safe
- * to use if you are mutating arrays during iteration.
- *
- * ```js
- * root.walkComments(comment => {
- * comment.remove()
- * })
- * ```
- *
- * @param callback Iterator receives each node and index.
- * @return Returns `false` if iteration was broke.
- */
-
/**
* Insert new node before old node within the container.
*
@@ -187,16 +182,32 @@ declare abstract class Container_ extends Node {
*/
insertBefore(
oldNode: Child | number,
- newNode: Child | Child[] | ChildProps | ChildProps[] | string | string[]
+ newNode:
+ | Child
+ | Child[]
+ | ChildProps
+ | ChildProps[]
+ | string
+ | string[]
+ | undefined
): this
+
/**
- * The container’s last child.
+ * Traverses the container’s descendant nodes, calling callback
+ * for each comment node.
+ *
+ * Like `Container#each`, this method is safe
+ * to use if you are mutating arrays during iteration.
*
* ```js
- * rule.last === rule.nodes[rule.nodes.length - 1]
+ * root.walkComments(comment => {
+ * comment.remove()
+ * })
* ```
+ *
+ * @param callback Iterator receives each node and index.
+ * @return Returns `false` if iteration was broke.
*/
- get last(): Child | undefined
/**
* Inserts new nodes to the start of the container.
@@ -219,9 +230,16 @@ declare abstract class Container_ extends Node {
* @return This node for methods chain.
*/
prepend(
- ...nodes: (ChildProps | ChildProps[] | Node | Node[] | string | string[])[]
+ ...nodes: (
+ | ChildProps
+ | ChildProps[]
+ | Node
+ | Node[]
+ | string
+ | string[]
+ | undefined
+ )[]
): this
-
/**
* Add child to the end of the node.
*
@@ -334,6 +352,7 @@ declare abstract class Container_ extends Node {
walk(
callback: (node: ChildNode, index: number) => false | void
): false | undefined
+
/**
* Traverses the container’s descendant nodes, calling callback
* for each at-rule node.
@@ -371,7 +390,6 @@ declare abstract class Container_ extends Node {
walkAtRules(
callback: (atRule: AtRule, index: number) => false | void
): false | undefined
-
walkComments(
callback: (comment: Comment, indexed: number) => false | void
): false | undefined
@@ -413,9 +431,11 @@ declare abstract class Container_ extends Node {
propFilter: RegExp | string,
callback: (decl: Declaration, index: number) => false | void
): false | undefined
+
walkDecls(
callback: (decl: Declaration, index: number) => false | void
): false | undefined
+
/**
* Traverses the container’s descendant nodes, calling callback
* for each rule node.
@@ -445,8 +465,26 @@ declare abstract class Container_ extends Node {
walkRules(
callback: (rule: Rule, index: number) => false | void
): false | undefined
+ /**
+ * The container’s first child.
+ *
+ * ```js
+ * rule.first === rules.nodes[0]
+ * ```
+ */
+ get first(): Child | undefined
+ /**
+ * The container’s last child.
+ *
+ * ```js
+ * rule.last === rule.nodes[rule.nodes.length - 1]
+ * ```
+ */
+ get last(): Child | undefined
}
-declare class Container extends Container_ {}
+declare class Container<
+ Child extends Node = ChildNode
+> extends Container_ {}
export = Container
diff --git a/lib/container.js b/lib/container.js
index 3ec40a903..462e3f0d3 100644
--- a/lib/container.js
+++ b/lib/container.js
@@ -64,11 +64,6 @@ class Container extends Node {
return this.nodes.every(condition)
}
- get first() {
- if (!this.proxyOf.nodes) return undefined
- return this.proxyOf.nodes[0]
- }
-
getIterator() {
if (!this.lastEach) this.lastEach = 0
if (!this.indexes) this.indexes = {}
@@ -175,14 +170,11 @@ class Container extends Node {
return this
}
- get last() {
- if (!this.proxyOf.nodes) return undefined
- return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]
- }
-
normalize(nodes, sample) {
if (typeof nodes === 'string') {
nodes = cleanSource(parse(nodes).nodes)
+ } else if (typeof nodes === 'undefined') {
+ nodes = []
} else if (Array.isArray(nodes)) {
nodes = nodes.slice(0)
for (let i of nodes) {
@@ -393,6 +385,16 @@ class Container extends Node {
}
})
}
+
+ get first() {
+ if (!this.proxyOf.nodes) return undefined
+ return this.proxyOf.nodes[0]
+ }
+
+ get last() {
+ if (!this.proxyOf.nodes) return undefined
+ return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]
+ }
}
Container.registerParse = dependant => {
diff --git a/lib/declaration.d.ts b/lib/declaration.d.ts
index 655deea58..a5db984a4 100644
--- a/lib/declaration.d.ts
+++ b/lib/declaration.d.ts
@@ -1,4 +1,4 @@
-import Container from './container.js'
+import { ContainerWithChildren } from './container.js'
import Node from './node.js'
declare namespace Declaration {
@@ -79,7 +79,7 @@ declare class Declaration_ extends Node {
*/
important: boolean
- parent: Container | undefined
+ parent: ContainerWithChildren | undefined
/**
* The property name for a CSS declaration.
diff --git a/lib/document.d.ts b/lib/document.d.ts
index f018f6e67..a368f166a 100644
--- a/lib/document.d.ts
+++ b/lib/document.d.ts
@@ -35,6 +35,7 @@ declare namespace Document {
* ```
*/
declare class Document_ extends Container {
+ nodes: Root[]
parent: undefined
type: 'document'
diff --git a/lib/input.d.ts b/lib/input.d.ts
index 6143a9b27..c718bd1d9 100644
--- a/lib/input.d.ts
+++ b/lib/input.d.ts
@@ -143,19 +143,6 @@ declare class Input_ {
opts?: { plugin?: CssSyntaxError['plugin'] }
): CssSyntaxError
- /**
- * The CSS source identifier. Contains `Input#file` if the user
- * set the `from` option, or `Input#id` if they did not.
- *
- * ```js
- * const root = postcss.parse(css, { from: 'a.css' })
- * root.source.input.from //=> "/home/ai/a.css"
- *
- * const root = postcss.parse(css)
- * root.source.input.from //=> ""
- * ```
- */
- get from(): string
/**
* Converts source offset to line and column.
*
@@ -187,6 +174,19 @@ declare class Input_ {
endLine?: number,
endColumn?: number
): false | Input.FilePosition
+ /**
+ * The CSS source identifier. Contains `Input#file` if the user
+ * set the `from` option, or `Input#id` if they did not.
+ *
+ * ```js
+ * const root = postcss.parse(css, { from: 'a.css' })
+ * root.source.input.from //=> "/home/ai/a.css"
+ *
+ * const root = postcss.parse(css)
+ * root.source.input.from //=> ""
+ * ```
+ */
+ get from(): string
}
declare class Input extends Input_ {}
diff --git a/lib/input.js b/lib/input.js
index 4f63ce92c..4b5ee5e02 100644
--- a/lib/input.js
+++ b/lib/input.js
@@ -124,10 +124,6 @@ class Input {
return result
}
- get from() {
- return this.file || this.id
- }
-
fromOffset(offset) {
let lastLine, lineToIndex
if (!this[fromOffsetCache]) {
@@ -238,6 +234,10 @@ class Input {
}
return json
}
+
+ get from() {
+ return this.file || this.id
+ }
}
module.exports = Input
diff --git a/lib/lazy-result.d.ts b/lib/lazy-result.d.ts
index e715d6755..dd291aa3a 100644
--- a/lib/lazy-result.d.ts
+++ b/lib/lazy-result.d.ts
@@ -1,3 +1,4 @@
+import Document from './document.js'
import { SourceMap } from './postcss.js'
import Processor from './processor.js'
import Result, { Message, ResultOptions } from './result.js'
@@ -18,7 +19,9 @@ declare namespace LazyResult {
* const lazy = postcss([autoprefixer]).process(css)
* ```
*/
-declare class LazyResult_ implements PromiseLike {
+declare class LazyResult_
+ implements PromiseLike>
+{
/**
* Processes input CSS through synchronous and asynchronous plugins
* and calls onRejected for each error thrown in any plugin.
@@ -33,7 +36,7 @@ declare class LazyResult_ implements PromiseLike {
* })
* ```
*/
- catch: Promise['catch']
+ catch: Promise>['catch']
/**
* Processes input CSS through synchronous and asynchronous plugins
@@ -47,7 +50,7 @@ declare class LazyResult_ implements PromiseLike {
* })
* ```
*/
- finally: Promise['finally']
+ finally: Promise>['finally']
/**
* Processes input CSS through synchronous and asynchronous plugins
@@ -62,7 +65,7 @@ declare class LazyResult_ implements PromiseLike {
* })
* ```
*/
- then: Promise['then']
+ then: Promise>['then']
/**
* @param processor Processor used for this transformation.
@@ -76,7 +79,33 @@ declare class LazyResult_ implements PromiseLike {
*
* @return Result with output content.
*/
- async(): Promise
+ async(): Promise>
+
+ /**
+ * Run plugin in sync way and return `Result`.
+ *
+ * @return Result with output content.
+ */
+ sync(): Result
+
+ /**
+ * Alias for the `LazyResult#css` property.
+ *
+ * ```js
+ * lazy + '' === lazy.css
+ * ```
+ *
+ * @return Output CSS.
+ */
+ toString(): string
+
+ /**
+ * Processes input CSS through synchronous plugins
+ * and calls `Result#warnings`.
+ *
+ * @return Warnings from plugins.
+ */
+ warnings(): Warning[]
/**
* An alias for the `css` property. Use it with syntaxes
@@ -145,41 +174,17 @@ declare class LazyResult_ implements PromiseLike {
*
* PostCSS runners should always use `LazyResult#then`.
*/
- get root(): Root
+ get root(): RootNode
/**
* Returns the default string description of an object.
* Required to implement the Promise interface.
*/
get [Symbol.toStringTag](): string
-
- /**
- * Run plugin in sync way and return `Result`.
- *
- * @return Result with output content.
- */
- sync(): Result
-
- /**
- * Alias for the `LazyResult#css` property.
- *
- * ```js
- * lazy + '' === lazy.css
- * ```
- *
- * @return Output CSS.
- */
- toString(): string
-
- /**
- * Processes input CSS through synchronous plugins
- * and calls `Result#warnings`.
- *
- * @return Warnings from plugins.
- */
- warnings(): Warning[]
}
-declare class LazyResult extends LazyResult_ {}
+declare class LazyResult<
+ RootNode = Document | Root
+> extends LazyResult_ {}
export = LazyResult
diff --git a/lib/lazy-result.js b/lib/lazy-result.js
index d18c9c880..126f40c7e 100644
--- a/lib/lazy-result.js
+++ b/lib/lazy-result.js
@@ -166,14 +166,6 @@ class LazyResult {
return this.async().catch(onRejected)
}
- get content() {
- return this.stringify().content
- }
-
- get css() {
- return this.stringify().css
- }
-
finally(onFinally) {
return this.async().then(onFinally, onFinally)
}
@@ -221,18 +213,6 @@ class LazyResult {
return error
}
- get map() {
- return this.stringify().map
- }
-
- get messages() {
- return this.sync().messages
- }
-
- get opts() {
- return this.result.opts
- }
-
prepareVisitors() {
this.listeners = {}
let add = (plugin, type, cb) => {
@@ -271,14 +251,6 @@ class LazyResult {
this.hasListener = Object.keys(this.listeners).length > 0
}
- get processor() {
- return this.result.processor
- }
-
- get root() {
- return this.sync().root
- }
-
async runAsync() {
this.plugin = 0
for (let i = 0; i < this.plugins.length; i++) {
@@ -382,10 +354,6 @@ class LazyResult {
return this.result
}
- get [Symbol.toStringTag]() {
- return 'LazyResult'
- }
-
sync() {
if (this.error) throw this.error
if (this.processed) return this.result
@@ -537,6 +505,38 @@ class LazyResult {
warnings() {
return this.sync().warnings()
}
+
+ get content() {
+ return this.stringify().content
+ }
+
+ get css() {
+ return this.stringify().css
+ }
+
+ get map() {
+ return this.stringify().map
+ }
+
+ get messages() {
+ return this.sync().messages
+ }
+
+ get opts() {
+ return this.result.opts
+ }
+
+ get processor() {
+ return this.result.processor
+ }
+
+ get root() {
+ return this.sync().root
+ }
+
+ get [Symbol.toStringTag]() {
+ return 'LazyResult'
+ }
}
LazyResult.registerPostcss = dependant => {
diff --git a/lib/map-generator.js b/lib/map-generator.js
index f6320bc2d..ea1ef5ec2 100644
--- a/lib/map-generator.js
+++ b/lib/map-generator.js
@@ -16,7 +16,12 @@ class MapGenerator {
this.root = root
this.opts = opts
this.css = cssString
+ this.originalCSS = cssString
this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute
+
+ this.memoizedFileURLs = new Map()
+ this.memoizedPaths = new Map()
+ this.memoizedURLs = new Map()
}
addAnnotation() {
@@ -47,7 +52,7 @@ class MapGenerator {
if (this.mapOpts.sourcesContent === false) {
map = new SourceMapConsumer(prev.text)
if (map.sourcesContent) {
- map.sourcesContent = map.sourcesContent.map(() => null)
+ map.sourcesContent = null
}
} else {
map = prev.consumer()
@@ -70,7 +75,7 @@ class MapGenerator {
}
}
} else if (this.css) {
- this.css = this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm, '')
+ this.css = this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm, '')
}
}
@@ -241,9 +246,11 @@ class MapGenerator {
}
path(file) {
- if (file.indexOf('<') === 0) return file
- if (/^\w+:\/\//.test(file)) return file
if (this.mapOpts.absolute) return file
+ if (file.charCodeAt(0) === 60 /* `<` */) return file
+ if (/^\w+:\/\//.test(file)) return file
+ let cached = this.memoizedPaths.get(file)
+ if (cached) return cached
let from = this.opts.to ? dirname(this.opts.to) : '.'
@@ -251,8 +258,10 @@ class MapGenerator {
from = dirname(resolve(from, this.mapOpts.annotation))
}
- file = relative(from, file)
- return file
+ let path = relative(from, file)
+ this.memoizedPaths.set(file, path)
+
+ return path
}
previous() {
@@ -268,7 +277,7 @@ class MapGenerator {
}
})
} else {
- let input = new Input(this.css, this.opts)
+ let input = new Input(this.originalCSS, this.opts)
if (input.map) this.previousMaps.push(input.map)
}
}
@@ -318,8 +327,14 @@ class MapGenerator {
}
toFileUrl(path) {
+ let cached = this.memoizedFileURLs.get(path)
+ if (cached) return cached
+
if (pathToFileURL) {
- return pathToFileURL(path).toString()
+ let fileURL = pathToFileURL(path).toString()
+ this.memoizedFileURLs.set(path, fileURL)
+
+ return fileURL
} else {
throw new Error(
'`map.absolute` option is not available in this PostCSS build'
@@ -328,10 +343,17 @@ class MapGenerator {
}
toUrl(path) {
+ let cached = this.memoizedURLs.get(path)
+ if (cached) return cached
+
if (sep === '\\') {
path = path.replace(/\\/g, '/')
}
- return encodeURI(path).replace(/[#?]/g, encodeURIComponent)
+
+ let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)
+ this.memoizedURLs.set(path, url)
+
+ return url
}
}
diff --git a/lib/no-work-result.d.ts b/lib/no-work-result.d.ts
index cee0e3ad9..803907654 100644
--- a/lib/no-work-result.d.ts
+++ b/lib/no-work-result.d.ts
@@ -22,12 +22,15 @@ declare namespace NoWorkResult {
* let root = noWorkResult.root // now css is parsed because we accessed the root
* ```
*/
-declare class NoWorkResult_ implements LazyResult {
- catch: Promise['catch']
- finally: Promise['finally']
- then: Promise['then']
+declare class NoWorkResult_ implements LazyResult {
+ catch: Promise>['catch']
+ finally: Promise>['finally']
+ then: Promise>['then']
constructor(processor: Processor, css: string, opts: ResultOptions)
- async(): Promise
+ async(): Promise>
+ sync(): Result
+ toString(): string
+ warnings(): Warning[]
get content(): string
get css(): string
get map(): SourceMap
@@ -36,9 +39,6 @@ declare class NoWorkResult_ implements LazyResult {
get processor(): Processor
get root(): Root
get [Symbol.toStringTag](): string
- sync(): Result
- toString(): string
- warnings(): Warning[]
}
declare class NoWorkResult extends NoWorkResult_ {}
diff --git a/lib/no-work-result.js b/lib/no-work-result.js
index 717013512..05821b7a3 100644
--- a/lib/no-work-result.js
+++ b/lib/no-work-result.js
@@ -37,6 +37,9 @@ class NoWorkResult {
if (generatedMap) {
this.result.map = generatedMap
}
+ } else {
+ map.clearAnnotation()
+ this.result.css = map.css
}
}
@@ -49,6 +52,37 @@ class NoWorkResult {
return this.async().catch(onRejected)
}
+ finally(onFinally) {
+ return this.async().then(onFinally, onFinally)
+ }
+
+ sync() {
+ if (this.error) throw this.error
+ return this.result
+ }
+
+ then(onFulfilled, onRejected) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!('from' in this._opts)) {
+ warnOnce(
+ 'Without `from` option PostCSS could generate wrong source map ' +
+ 'and will not find Browserslist config. Set it to CSS file path ' +
+ 'or to `undefined` to prevent this warning.'
+ )
+ }
+ }
+
+ return this.async().then(onFulfilled, onRejected)
+ }
+
+ toString() {
+ return this._css
+ }
+
+ warnings() {
+ return []
+ }
+
get content() {
return this.result.css
}
@@ -57,10 +91,6 @@ class NoWorkResult {
return this.result.css
}
- finally(onFinally) {
- return this.async().then(onFinally, onFinally)
- }
-
get map() {
return this.result.map
}
@@ -102,33 +132,6 @@ class NoWorkResult {
get [Symbol.toStringTag]() {
return 'NoWorkResult'
}
-
- sync() {
- if (this.error) throw this.error
- return this.result
- }
-
- then(onFulfilled, onRejected) {
- if (process.env.NODE_ENV !== 'production') {
- if (!('from' in this._opts)) {
- warnOnce(
- 'Without `from` option PostCSS could generate wrong source map ' +
- 'and will not find Browserslist config. Set it to CSS file path ' +
- 'or to `undefined` to prevent this warning.'
- )
- }
- }
-
- return this.async().then(onFulfilled, onRejected)
- }
-
- toString() {
- return this._css
- }
-
- warnings() {
- return []
- }
}
module.exports = NoWorkResult
diff --git a/lib/node.d.ts b/lib/node.d.ts
index 71b30159a..597165645 100644
--- a/lib/node.d.ts
+++ b/lib/node.d.ts
@@ -246,7 +246,7 @@ declare abstract class Node_ {
* @param newNode New node.
* @return This node for methods chain.
*/
- after(newNode: Node | Node.ChildProps | Node[] | string): this
+ after(newNode: Node | Node.ChildProps | Node[] | string | undefined): this
/**
* It assigns properties to an existing node instance.
@@ -273,7 +273,7 @@ declare abstract class Node_ {
* @param newNode New node.
* @return This node for methods chain.
*/
- before(newNode: Node | Node.ChildProps | Node[] | string): this
+ before(newNode: Node | Node.ChildProps | Node[] | string | undefined): this
/**
* Clear the code style properties for the node and its children.
@@ -531,6 +531,6 @@ declare abstract class Node_ {
warn(result: Result, message: string, options?: WarningOptions): Warning
}
-declare class Node extends Node_ { }
+declare class Node extends Node_ {}
export = Node
diff --git a/lib/node.js b/lib/node.js
index 6aa0eb31d..d79dd56e5 100644
--- a/lib/node.js
+++ b/lib/node.js
@@ -204,10 +204,6 @@ class Node {
return this.parent.nodes[index - 1]
}
- get proxyOf() {
- return this
- }
-
rangeBy(opts) {
let start = {
column: this.source.start.column,
@@ -375,6 +371,10 @@ class Node {
for (let i in opts) data[i] = opts[i]
return result.warn(text, data)
}
+
+ get proxyOf() {
+ return this
+ }
}
module.exports = Node
diff --git a/lib/parser.js b/lib/parser.js
index 12f87bd9c..bc761deda 100644
--- a/lib/parser.js
+++ b/lib/parser.js
@@ -28,7 +28,6 @@ class Parser {
this.current = this.root
this.spaces = ''
this.semicolon = false
- this.customProperty = false
this.createTokenizer()
this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }
@@ -65,6 +64,7 @@ class Parser {
if (brackets.length === 0) {
if (type === ';') {
node.source.end = this.getPosition(token[2])
+ node.source.end.offset++
this.semicolon = true
break
} else if (type === '{') {
@@ -79,6 +79,7 @@ class Parser {
}
if (prev) {
node.source.end = this.getPosition(prev[3] || prev[2])
+ node.source.end.offset++
}
}
this.end(token)
@@ -103,6 +104,7 @@ class Parser {
if (last) {
token = params[params.length - 1]
node.source.end = this.getPosition(token[3] || token[2])
+ node.source.end.offset++
this.spaces = node.raws.between
node.raws.between = ''
}
@@ -171,6 +173,7 @@ class Parser {
let node = new Comment()
this.init(node, token[2])
node.source.end = this.getPosition(token[3] || token[2])
+ node.source.end.offset++
let text = token[1].slice(2, -2)
if (/^\s*$/.test(text)) {
@@ -202,6 +205,7 @@ class Parser {
node.source.end = this.getPosition(
last[3] || last[2] || findLastWithPosition(tokens)
)
+ node.source.end.offset++
while (tokens[0][0] !== 'word') {
if (tokens.length === 1) this.unknownWord(tokens)
@@ -320,6 +324,7 @@ class Parser {
if (this.current.parent) {
this.current.source.end = this.getPosition(token[2])
+ this.current.source.end.offset++
this.current = this.current.parent
} else {
this.unexpectedClose(token)
@@ -332,6 +337,7 @@ class Parser {
this.current.raws.semicolon = this.semicolon
}
this.current.raws.after = (this.current.raws.after || '') + this.spaces
+ this.root.source.end = this.getPosition(this.tokenizer.position())
}
freeSemicolon(token) {
diff --git a/lib/postcss.d.ts b/lib/postcss.d.ts
index 146dae0bd..49af61c39 100644
--- a/lib/postcss.d.ts
+++ b/lib/postcss.d.ts
@@ -236,11 +236,11 @@ declare namespace postcss {
(data: object[]): Node[]
}
- export interface Syntax {
+ export interface Syntax {
/**
* Function to generate AST by string.
*/
- parse?: Parser
+ parse?: Parser
/**
* Class to generate string by AST.
@@ -304,12 +304,12 @@ declare namespace postcss {
sourcesContent?: boolean
}
- export interface ProcessOptions {
+ export interface ProcessOptions {
/**
* The path of the CSS source file. You should always set `from`,
* because it is used in source map generation and syntax error messages.
*/
- from?: string
+ from?: string | undefined
/**
* Source map options
@@ -319,17 +319,17 @@ declare namespace postcss {
/**
* Function to generate AST by string.
*/
- parser?: Parser | Syntax
+ parser?: Parser | Syntax
/**
* Class to generate string by AST.
*/
- stringifier?: Stringifier | Syntax
+ stringifier?: Stringifier | Syntax
/**
* Object with parse and stringify.
*/
- syntax?: Syntax
+ syntax?: Syntax
/**
* The path where you'll put the output CSS file. You should always set `to`
diff --git a/lib/processor.d.ts b/lib/processor.d.ts
index 16c6a6656..50c9a07d3 100644
--- a/lib/processor.d.ts
+++ b/lib/processor.d.ts
@@ -1,3 +1,4 @@
+import Document from './document.js'
import LazyResult from './lazy-result.js'
import NoWorkResult from './no-work-result.js'
import {
@@ -72,9 +73,12 @@ declare class Processor_ {
* @return Promise proxy.
*/
process(
- css: { toString(): string } | LazyResult | Result | Root | string,
- options?: ProcessOptions
+ css: { toString(): string } | LazyResult | Result | Root | string
): LazyResult | NoWorkResult
+ process(
+ css: { toString(): string } | LazyResult | Result | Root | string,
+ options: ProcessOptions
+ ): LazyResult
/**
* Adds a plugin to be used as a CSS processor.
diff --git a/lib/processor.js b/lib/processor.js
index 325bcc6df..b9e587cdc 100644
--- a/lib/processor.js
+++ b/lib/processor.js
@@ -7,7 +7,7 @@ let Root = require('./root')
class Processor {
constructor(plugins = []) {
- this.version = '8.4.27'
+ this.version = '8.4.35'
this.plugins = this.normalize(plugins)
}
@@ -43,10 +43,10 @@ class Processor {
process(css, opts = {}) {
if (
- this.plugins.length === 0 &&
- typeof opts.parser === 'undefined' &&
- typeof opts.stringifier === 'undefined' &&
- typeof opts.syntax === 'undefined'
+ !this.plugins.length &&
+ !opts.parser &&
+ !opts.stringifier &&
+ !opts.syntax
) {
return new NoWorkResult(this, css, opts)
} else {
diff --git a/lib/result.d.ts b/lib/result.d.ts
index bde48f582..c3dcbdab1 100644
--- a/lib/result.d.ts
+++ b/lib/result.d.ts
@@ -60,7 +60,7 @@ declare namespace Result {
* const result2 = postcss.parse(css).toResult()
* ```
*/
-declare class Result_ {
+declare class Result_ {
/**
* A CSS string representing of `Result#root`.
*
@@ -141,24 +141,14 @@ declare class Result_ {
* root.toResult().root === root
* ```
*/
- root: Document | Root
+ root: RootNode
/**
* @param processor Processor used for this transformation.
* @param root Root node after all transformations.
* @param opts Options from the `Processor#process` or `Root#toResult`.
*/
- constructor(processor: Processor, root: Document | Root, opts: Result.ResultOptions)
-
- /**
- * An alias for the `Result#css` property.
- * Use it with syntaxes that generate non-CSS output.
- *
- * ```js
- * result.css === result.content
- * ```
- */
- get content(): string
+ constructor(processor: Processor, root: RootNode, opts: Result.ResultOptions)
/**
* Returns for `Result#css` content.
@@ -199,8 +189,18 @@ declare class Result_ {
* @return Warnings from plugins.
*/
warnings(): Warning[]
+
+ /**
+ * An alias for the `Result#css` property.
+ * Use it with syntaxes that generate non-CSS output.
+ *
+ * ```js
+ * result.css === result.content
+ * ```
+ */
+ get content(): string
}
-declare class Result extends Result_ {}
+declare class Result extends Result_ {}
export = Result
diff --git a/lib/result.js b/lib/result.js
index 4357c2e25..a39751de0 100644
--- a/lib/result.js
+++ b/lib/result.js
@@ -12,10 +12,6 @@ class Result {
this.map = undefined
}
- get content() {
- return this.css
- }
-
toString() {
return this.css
}
@@ -36,6 +32,10 @@ class Result {
warnings() {
return this.messages.filter(i => i.type === 'warning')
}
+
+ get content() {
+ return this.css
+ }
}
module.exports = Result
diff --git a/lib/root.d.ts b/lib/root.d.ts
index 98fb4bc91..9046aacdf 100644
--- a/lib/root.d.ts
+++ b/lib/root.d.ts
@@ -54,6 +54,7 @@ declare namespace Root {
* ```
*/
declare class Root_ extends Container {
+ nodes: NonNullable
parent: Document | undefined
raws: Root.RootRaws
type: 'root'
diff --git a/lib/rule.d.ts b/lib/rule.d.ts
index 04be5d6c0..fc5dd721a 100644
--- a/lib/rule.d.ts
+++ b/lib/rule.d.ts
@@ -1,4 +1,7 @@
-import Container, { ContainerProps } from './container.js'
+import Container, {
+ ContainerProps,
+ ContainerWithChildren
+} from './container.js'
declare namespace Rule {
export interface RuleRaws extends Record {
@@ -69,7 +72,8 @@ declare namespace Rule {
* ```
*/
declare class Rule_ extends Container {
- parent: Container | undefined
+ nodes: NonNullable
+ parent: ContainerWithChildren | undefined
raws: Rule.RuleRaws
/**
* The rule’s full selector represented as a string.
diff --git a/lib/tokenize.js b/lib/tokenize.js
index 5a9ed1764..39a20a37d 100644
--- a/lib/tokenize.js
+++ b/lib/tokenize.js
@@ -22,7 +22,7 @@ const AT = '@'.charCodeAt(0)
const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g
const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g
-const RE_BAD_BRACKET = /.[\n"'(/\\]/
+const RE_BAD_BRACKET = /.[\r\n"'(/\\]/
const RE_HEX_ESCAPE = /[\da-f]/i
module.exports = function tokenizer(input, options = {}) {
diff --git a/package.json b/package.json
index 4648bac4b..07bdf8103 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "postcss",
- "version": "8.4.27",
+ "version": "8.4.35",
"description": "Tool for transforming styles with JS plugins",
"engines": {
"node": "^10 || ^12 || >=14"
@@ -58,7 +58,7 @@
"test:coverage": "c8 pnpm unit",
"test:integration": "node ./test/integration.js",
"test:size": "size-limit",
- "test": "pnpm run /^test:/",
+ "test": "FORCE_COLOR=1 pnpm run /^test:/",
"unit": "uvu -r ts-node/register/transpile-only test \"\\.test\\.(ts|js)$\"",
"old": "uvu -r ../../../../../../../test/old-node.js -r ts-node/register/transpile-only test \"\\.test\\.(ts|js)$\""
},
@@ -84,34 +84,35 @@
"url": "https://github.com/postcss/postcss/issues"
},
"dependencies": {
- "nanoid": "^3.3.6",
+ "nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"devDependencies": {
- "@logux/eslint-config": "^51.0.0",
- "@size-limit/preset-small-lib": "^8.2.6",
- "@types/node": "^20.4.2",
- "@typescript-eslint/eslint-plugin": "^6.1.0",
- "@typescript-eslint/parser": "^6.1.0",
- "c8": "^8.0.0",
+ "@logux/eslint-config": "^52.0.2",
+ "@size-limit/preset-small-lib": "^11.0.2",
+ "@types/node": "^20.11.16",
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
+ "@typescript-eslint/parser": "^6.21.0",
+ "c8": "^9.1.0",
"check-dts": "^0.7.2",
"clean-publish": "^4.2.0",
"concat-with-sourcemaps": "^1.1.0",
- "eslint": "^8.45.0",
+ "eslint": "^8.56.0",
"eslint-config-standard": "^17.1.0",
- "eslint-plugin-import": "^2.27.5",
- "eslint-plugin-n": "^16.0.1",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-n": "^16.6.2",
+ "eslint-plugin-perfectionist": "^2.5.0",
"eslint-plugin-prefer-let": "^3.0.1",
"eslint-plugin-promise": "^6.1.1",
"nanodelay": "^1.0.8",
"nanospy": "^1.0.0",
- "postcss-parser-tests": "^8.6.0",
- "simple-git-hooks": "^2.8.1",
- "size-limit": "^8.2.6",
+ "postcss-parser-tests": "^8.8.0",
+ "simple-git-hooks": "^2.9.0",
+ "size-limit": "^11.0.2",
"strip-ansi": "^6.0.1",
- "ts-node": "^10.9.1",
- "typescript": "^5.1.6",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.3.3",
"uvu": "^0.5.6"
},
"c8": {
@@ -144,7 +145,7 @@
"size-limit": [
{
"path": "lib/postcss.js",
- "limit": "17 KB"
+ "limit": "15 KB"
}
],
"eslintConfig": {
@@ -152,6 +153,7 @@
"rules": {
"@typescript-eslint/consistent-type-imports": "off",
"@typescript-eslint/no-explicit-any": "off",
+ "node-import/prefer-node-protocol": "off",
"consistent-return": "off",
"global-require": "off"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index af013dd8c..957edee16 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,8 +6,8 @@ settings:
dependencies:
nanoid:
- specifier: ^3.3.6
- version: 3.3.6
+ specifier: ^3.3.7
+ version: 3.3.7
picocolors:
specifier: ^1.0.0
version: 1.0.0
@@ -17,26 +17,26 @@ dependencies:
devDependencies:
'@logux/eslint-config':
- specifier: ^51.0.0
- version: 51.0.0(eslint-config-standard@17.1.0)(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-perfectionist@1.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.45.0)
+ specifier: ^52.0.2
+ version: 52.0.2(eslint-config-standard@17.1.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-node-import@1.0.4)(eslint-plugin-perfectionist@2.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)
'@size-limit/preset-small-lib':
- specifier: ^8.2.6
- version: 8.2.6(size-limit@8.2.6)
+ specifier: ^11.0.2
+ version: 11.0.2(size-limit@11.0.2)
'@types/node':
- specifier: ^20.4.2
- version: 20.4.2
+ specifier: ^20.11.16
+ version: 20.11.16
'@typescript-eslint/eslint-plugin':
- specifier: ^6.1.0
- version: 6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6)
+ specifier: ^6.21.0
+ version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/parser':
- specifier: ^6.1.0
- version: 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ specifier: ^6.21.0
+ version: 6.21.0(eslint@8.56.0)(typescript@5.3.3)
c8:
- specifier: ^8.0.0
- version: 8.0.0
+ specifier: ^9.1.0
+ version: 9.1.0
check-dts:
specifier: ^0.7.2
- version: 0.7.2(typescript@5.1.6)
+ version: 0.7.2(typescript@5.3.3)
clean-publish:
specifier: ^4.2.0
version: 4.2.0
@@ -44,23 +44,26 @@ devDependencies:
specifier: ^1.1.0
version: 1.1.0
eslint:
- specifier: ^8.45.0
- version: 8.45.0
+ specifier: ^8.56.0
+ version: 8.56.0
eslint-config-standard:
specifier: ^17.1.0
- version: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.45.0)
+ version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)
eslint-plugin-import:
- specifier: ^2.27.5
- version: 2.27.5(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)
+ specifier: ^2.29.1
+ version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)
eslint-plugin-n:
- specifier: ^16.0.1
- version: 16.0.1(eslint@8.45.0)
+ specifier: ^16.6.2
+ version: 16.6.2(eslint@8.56.0)
+ eslint-plugin-perfectionist:
+ specifier: ^2.5.0
+ version: 2.5.0(eslint@8.56.0)(typescript@5.3.3)
eslint-plugin-prefer-let:
specifier: ^3.0.1
version: 3.0.1
eslint-plugin-promise:
specifier: ^6.1.1
- version: 6.1.1(eslint@8.45.0)
+ version: 6.1.1(eslint@8.56.0)
nanodelay:
specifier: ^1.0.8
version: 1.0.8
@@ -68,23 +71,23 @@ devDependencies:
specifier: ^1.0.0
version: 1.0.0
postcss-parser-tests:
- specifier: ^8.6.0
- version: 8.6.0
+ specifier: ^8.8.0
+ version: 8.8.0
simple-git-hooks:
- specifier: ^2.8.1
- version: 2.8.1
+ specifier: ^2.9.0
+ version: 2.9.0
size-limit:
- specifier: ^8.2.6
- version: 8.2.6
+ specifier: ^11.0.2
+ version: 11.0.2
strip-ansi:
specifier: ^6.0.1
version: 6.0.1
ts-node:
- specifier: ^10.9.1
- version: 10.9.1(@types/node@20.4.2)(typescript@5.1.6)
+ specifier: ^10.9.2
+ version: 10.9.2(@types/node@20.11.16)(typescript@5.3.3)
typescript:
- specifier: ^5.1.6
- version: 5.1.6
+ specifier: ^5.3.3
+ version: 5.3.3
uvu:
specifier: ^0.5.6
version: 0.5.6
@@ -107,8 +110,17 @@ packages:
'@jridgewell/trace-mapping': 0.3.9
dev: true
- /@esbuild/android-arm64@0.18.15:
- resolution: {integrity: sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==}
+ /@esbuild/aix-ppc64@0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64@0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -116,8 +128,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.18.15:
- resolution: {integrity: sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==}
+ /@esbuild/android-arm@0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -125,8 +137,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.18.15:
- resolution: {integrity: sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==}
+ /@esbuild/android-x64@0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -134,8 +146,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.18.15:
- resolution: {integrity: sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==}
+ /@esbuild/darwin-arm64@0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -143,8 +155,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.18.15:
- resolution: {integrity: sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==}
+ /@esbuild/darwin-x64@0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -152,8 +164,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.18.15:
- resolution: {integrity: sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==}
+ /@esbuild/freebsd-arm64@0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -161,8 +173,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.18.15:
- resolution: {integrity: sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==}
+ /@esbuild/freebsd-x64@0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -170,8 +182,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.18.15:
- resolution: {integrity: sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==}
+ /@esbuild/linux-arm64@0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -179,8 +191,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.18.15:
- resolution: {integrity: sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==}
+ /@esbuild/linux-arm@0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -188,8 +200,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.18.15:
- resolution: {integrity: sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==}
+ /@esbuild/linux-ia32@0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -197,8 +209,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.18.15:
- resolution: {integrity: sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==}
+ /@esbuild/linux-loong64@0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -206,8 +218,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.18.15:
- resolution: {integrity: sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==}
+ /@esbuild/linux-mips64el@0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -215,8 +227,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.18.15:
- resolution: {integrity: sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==}
+ /@esbuild/linux-ppc64@0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -224,8 +236,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.18.15:
- resolution: {integrity: sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==}
+ /@esbuild/linux-riscv64@0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -233,8 +245,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.18.15:
- resolution: {integrity: sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==}
+ /@esbuild/linux-s390x@0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -242,8 +254,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.18.15:
- resolution: {integrity: sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==}
+ /@esbuild/linux-x64@0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -251,8 +263,8 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.18.15:
- resolution: {integrity: sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==}
+ /@esbuild/netbsd-x64@0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -260,8 +272,8 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.18.15:
- resolution: {integrity: sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==}
+ /@esbuild/openbsd-x64@0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -269,8 +281,8 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.18.15:
- resolution: {integrity: sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==}
+ /@esbuild/sunos-x64@0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -278,8 +290,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.18.15:
- resolution: {integrity: sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==}
+ /@esbuild/win32-arm64@0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -287,8 +299,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.18.15:
- resolution: {integrity: sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==}
+ /@esbuild/win32-ia32@0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -296,8 +308,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64@0.18.15:
- resolution: {integrity: sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==}
+ /@esbuild/win32-x64@0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -305,30 +317,30 @@ packages:
dev: true
optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0):
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- eslint: 8.45.0
- eslint-visitor-keys: 3.4.1
+ eslint: 8.56.0
+ eslint-visitor-keys: 3.4.3
dev: true
- /@eslint-community/regexpp@4.5.1:
- resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /@eslint/eslintrc@2.1.0:
- resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 9.6.1
- globals: 13.20.0
- ignore: 5.2.4
+ globals: 13.24.0
+ ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -337,16 +349,16 @@ packages:
- supports-color
dev: true
- /@eslint/js@8.44.0:
- resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
+ /@eslint/js@8.56.0:
+ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@humanwhocodes/config-array@0.11.10:
- resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
dependencies:
- '@humanwhocodes/object-schema': 1.2.1
+ '@humanwhocodes/object-schema': 2.0.2
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
@@ -358,8 +370,8 @@ packages:
engines: {node: '>=12.22'}
dev: true
- /@humanwhocodes/object-schema@1.2.1:
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ /@humanwhocodes/object-schema@2.0.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
dev: true
/@istanbuljs/schema@0.1.3:
@@ -367,29 +379,20 @@ packages:
engines: {node: '>=8'}
dev: true
- /@jridgewell/resolve-uri@3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
- dev: true
-
/@jridgewell/resolve-uri@3.1.1:
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
engines: {node: '>=6.0.0'}
dev: true
- /@jridgewell/sourcemap-codec@1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
- dev: true
-
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
dev: true
- /@jridgewell/trace-mapping@0.3.18:
- resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
+ /@jridgewell/trace-mapping@0.3.22:
+ resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==}
dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
dev: true
/@jridgewell/trace-mapping@0.3.9:
@@ -399,25 +402,27 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /@logux/eslint-config@51.0.0(eslint-config-standard@17.1.0)(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-perfectionist@1.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.45.0):
- resolution: {integrity: sha512-x8cdRyBGcYyAGtO+sKbA7cAzGhSKRlQjiqHlgtthgFStqKUDK6+C4TmFgosTLw4veNVuoslVX6iU/jNva7pgGQ==}
+ /@logux/eslint-config@52.0.2(eslint-config-standard@17.1.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-node-import@1.0.4)(eslint-plugin-perfectionist@2.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-oD569Lqs5P/QvlkBLL9GWpKOmI3wXCKb+0VHuY41VVnP8cRpD0LzUbnEqV9pIeld8f9DJwWc+I6JgndtgotElw==}
engines: {node: '>=10.0.0'}
peerDependencies:
- eslint: ^8.42.0
+ eslint: ^8.53.0
eslint-config-standard: ^17.1.0
- eslint-plugin-import: ^2.27.5
- eslint-plugin-n: ^16.0.0
- eslint-plugin-perfectionist: ^1.1.0
+ eslint-plugin-import: ^2.29.0
+ eslint-plugin-n: ^16.3.1
+ eslint-plugin-node-import: ^1.0.4
+ eslint-plugin-perfectionist: ^2.4.0
eslint-plugin-prefer-let: ^3.0.1
eslint-plugin-promise: ^6.1.1
dependencies:
- eslint: 8.45.0
- eslint-config-standard: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.45.0)
- eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)
- eslint-plugin-n: 16.0.1(eslint@8.45.0)
- eslint-plugin-perfectionist: 1.5.0(eslint@8.45.0)(typescript@5.1.6)
+ eslint: 8.56.0
+ eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)
+ eslint-plugin-n: 16.6.2(eslint@8.56.0)
+ eslint-plugin-node-import: 1.0.4(eslint@8.56.0)
+ eslint-plugin-perfectionist: 2.5.0(eslint@8.56.0)(typescript@5.3.3)
eslint-plugin-prefer-let: 3.0.1
- eslint-plugin-promise: 6.1.1(eslint@8.45.0)
+ eslint-plugin-promise: 6.1.1(eslint@8.56.0)
dev: true
/@nodelib/fs.scandir@2.1.5:
@@ -438,38 +443,42 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ fastq: 1.17.1
+ dev: true
+
+ /@sindresorhus/merge-streams@1.0.0:
+ resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==}
+ engines: {node: '>=18'}
dev: true
- /@size-limit/esbuild@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-a4c8xVDuDMYw5jF655ADjQDluw3jGPPYer6UJock5rSnUlWnIbmT/Ohud7gJGq5gqyLUQOCrBD7NB3g+mlhj4g==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /@size-limit/esbuild@11.0.2(size-limit@11.0.2):
+ resolution: {integrity: sha512-67p+y+wkMBJJegLZUp1X3v1YEvgGSbbAukFbHtxJ1c/DTj/ApiHvtgMzvA5ij+A5UOay+jSU4bXetpNJlUK3Ow==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.0.2
dependencies:
- esbuild: 0.18.15
- nanoid: 3.3.6
- size-limit: 8.2.6
+ esbuild: 0.19.12
+ nanoid: 5.0.5
+ size-limit: 11.0.2
dev: true
- /@size-limit/file@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-B7ayjxiJsbtXdIIWazJkB5gezi5WBMecdHTFPMDhI3NwEML1RVvUjAkrb1mPAAkIpt2LVHPnhdCUHjqDdjugwg==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /@size-limit/file@11.0.2(size-limit@11.0.2):
+ resolution: {integrity: sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.0.2
dependencies:
- semver: 7.5.3
- size-limit: 8.2.6
+ size-limit: 11.0.2
dev: true
- /@size-limit/preset-small-lib@8.2.6(size-limit@8.2.6):
- resolution: {integrity: sha512-roanEuscDaaXDsT5Cg9agMbmsQVlMr66eRg3AwT2o4vE7WFLR8Z42p0AHZiwucW1nGpCxAh8E08Qa/yyVuj5nA==}
+ /@size-limit/preset-small-lib@11.0.2(size-limit@11.0.2):
+ resolution: {integrity: sha512-Yo+RRHCLz29PMmRXzq69E3LjiAivspF2XRGdpZ+QdeFOotd3hBYVMJC9GDF3tEigPtfvEJk4L8YLlUK+SE90FA==}
peerDependencies:
- size-limit: 8.2.6
+ size-limit: 11.0.2
dependencies:
- '@size-limit/esbuild': 8.2.6(size-limit@8.2.6)
- '@size-limit/file': 8.2.6(size-limit@8.2.6)
- size-limit: 8.2.6
+ '@size-limit/esbuild': 11.0.2(size-limit@11.0.2)
+ '@size-limit/file': 11.0.2(size-limit@11.0.2)
+ size-limit: 11.0.2
dev: true
/@tsconfig/node10@1.0.9:
@@ -488,32 +497,34 @@ packages:
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
dev: true
- /@types/istanbul-lib-coverage@2.0.4:
- resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
+ /@types/istanbul-lib-coverage@2.0.6:
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
dev: true
- /@types/json-schema@7.0.12:
- resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
dev: true
/@types/json5@0.0.29:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true
- /@types/node@20.4.2:
- resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==}
+ /@types/node@20.11.16:
+ resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==}
+ dependencies:
+ undici-types: 5.26.5
dev: true
- /@types/semver@7.5.0:
- resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
+ /@types/semver@7.5.6:
+ resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
dev: true
- /@types/unist@2.0.7:
- resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==}
+ /@types/unist@2.0.10:
+ resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
dev: true
- /@typescript-eslint/eslint-plugin@6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==}
+ /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
@@ -523,27 +534,26 @@ packages:
typescript:
optional: true
dependencies:
- '@eslint-community/regexpp': 4.5.1
- '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
- '@typescript-eslint/scope-manager': 6.1.0
- '@typescript-eslint/type-utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
- '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
- '@typescript-eslint/visitor-keys': 6.1.0
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4
- eslint: 8.45.0
+ eslint: 8.56.0
graphemer: 1.4.0
- ignore: 5.2.4
+ ignore: 5.3.1
natural-compare: 1.4.0
- natural-compare-lite: 1.4.0
- semver: 7.5.4
- ts-api-utils: 1.0.1(typescript@5.1.6)
- typescript: 5.1.6
+ semver: 7.6.0
+ ts-api-utils: 1.2.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@6.1.0(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==}
+ /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@@ -552,35 +562,27 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 6.1.0
- '@typescript-eslint/types': 6.1.0
- '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
- '@typescript-eslint/visitor-keys': 6.1.0
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4
- eslint: 8.45.0
- typescript: 5.1.6
+ eslint: 8.56.0
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@5.62.0:
- resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
- dev: true
-
- /@typescript-eslint/scope-manager@6.1.0:
- resolution: {integrity: sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==}
+ /@typescript-eslint/scope-manager@6.21.0:
+ resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 6.1.0
- '@typescript-eslint/visitor-keys': 6.1.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
dev: true
- /@typescript-eslint/type-utils@6.1.0(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==}
+ /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@@ -589,49 +591,23 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
- '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4
- eslint: 8.45.0
- ts-api-utils: 1.0.1(typescript@5.1.6)
- typescript: 5.1.6
+ eslint: 8.56.0
+ ts-api-utils: 1.2.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types@5.62.0:
- resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@typescript-eslint/types@6.1.0:
- resolution: {integrity: sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==}
+ /@typescript-eslint/types@6.21.0:
+ resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
- /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6):
- resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.5.4
- tsutils: 3.21.0(typescript@5.1.6)
- typescript: 5.1.6
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/typescript-estree@6.1.0(typescript@5.1.6):
- resolution: {integrity: sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==}
+ /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3):
+ resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
@@ -639,88 +615,65 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 6.1.0
- '@typescript-eslint/visitor-keys': 6.1.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.5.4
- ts-api-utils: 1.0.1(typescript@5.1.6)
- typescript: 5.1.6
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/utils@5.62.0(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
- '@types/json-schema': 7.0.12
- '@types/semver': 7.5.0
- '@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
- eslint: 8.45.0
- eslint-scope: 5.1.1
- semver: 7.5.4
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.2.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
- - typescript
dev: true
- /@typescript-eslint/utils@6.1.0(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==}
+ /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
- '@types/json-schema': 7.0.12
- '@types/semver': 7.5.0
- '@typescript-eslint/scope-manager': 6.1.0
- '@typescript-eslint/types': 6.1.0
- '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
- eslint: 8.45.0
- semver: 7.5.4
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.6
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
+ eslint: 8.56.0
+ semver: 7.6.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys@5.62.0:
- resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@typescript-eslint/visitor-keys@6.21.0:
+ resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 5.62.0
- eslint-visitor-keys: 3.4.1
+ '@typescript-eslint/types': 6.21.0
+ eslint-visitor-keys: 3.4.3
dev: true
- /@typescript-eslint/visitor-keys@6.1.0:
- resolution: {integrity: sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 6.1.0
- eslint-visitor-keys: 3.4.1
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /acorn-jsx@5.3.2(acorn@8.10.0):
+ /acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
dev: true
- /acorn-walk@8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
engines: {node: '>=0.4.0'}
dev: true
- /acorn@8.10.0:
- resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
@@ -762,21 +715,22 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
- /array-buffer-byte-length@1.0.0:
- resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ /array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- is-array-buffer: 3.0.2
+ call-bind: 1.0.5
+ is-array-buffer: 3.0.4
dev: true
- /array-includes@3.1.6:
- resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
+ /array-includes@3.1.7:
+ resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
- get-intrinsic: 1.2.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ get-intrinsic: 1.2.3
is-string: 1.0.7
dev: true
@@ -785,40 +739,64 @@ packages:
engines: {node: '>=8'}
dev: true
- /array.prototype.flat@1.3.1:
- resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
+ /array.prototype.filter@1.0.3:
+ resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
- es-shim-unscopables: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-array-method-boxes-properly: 1.0.0
+ is-string: 1.0.7
dev: true
- /array.prototype.flatmap@1.3.1:
- resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
+ /array.prototype.findlastindex@1.2.3:
+ resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
- es-shim-unscopables: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ get-intrinsic: 1.2.3
dev: true
- /arraybuffer.prototype.slice@1.0.1:
- resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==}
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
engines: {node: '>= 0.4'}
dependencies:
- array-buffer-byte-length: 1.0.0
- call-bind: 1.0.2
- define-properties: 1.2.0
- get-intrinsic: 1.2.1
- is-array-buffer: 3.0.2
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.3
+ is-array-buffer: 3.0.4
is-shared-array-buffer: 1.0.2
dev: true
- /available-typed-arrays@1.0.5:
- resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ /available-typed-arrays@1.0.6:
+ resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==}
engines: {node: '>= 0.4'}
dev: true
@@ -851,10 +829,15 @@ packages:
fill-range: 7.0.1
dev: true
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
/builtins@5.0.1:
resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
- semver: 7.5.4
+ semver: 7.6.0
dev: true
/bytes-iec@3.1.1:
@@ -862,30 +845,30 @@ packages:
engines: {node: '>= 0.8'}
dev: true
- /c8@8.0.0:
- resolution: {integrity: sha512-XHA5vSfCLglAc0Xt8eLBZMv19lgiBSjnb1FLAQgnwkuhJYEonpilhEB4Ea3jPAbm0FhD6VVJrc0z73jPe7JyGQ==}
- engines: {node: '>=12'}
+ /c8@9.1.0:
+ resolution: {integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==}
+ engines: {node: '>=14.14.0'}
hasBin: true
dependencies:
'@bcoe/v8-coverage': 0.2.3
'@istanbuljs/schema': 0.1.3
find-up: 5.0.0
- foreground-child: 2.0.0
- istanbul-lib-coverage: 3.2.0
- istanbul-lib-report: 3.0.0
- istanbul-reports: 3.1.5
- rimraf: 3.0.2
+ foreground-child: 3.1.1
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-reports: 3.1.6
test-exclude: 6.0.0
- v8-to-istanbul: 9.1.0
- yargs: 16.2.0
- yargs-parser: 20.2.9
+ v8-to-istanbul: 9.2.0
+ yargs: 17.7.2
+ yargs-parser: 21.1.1
dev: true
- /call-bind@1.0.2:
- resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
dependencies:
- function-bind: 1.1.1
- get-intrinsic: 1.2.1
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.3
+ set-function-length: 1.2.0
dev: true
/callsites@3.1.0:
@@ -901,17 +884,17 @@ packages:
supports-color: 7.2.0
dev: true
- /check-dts@0.7.2(typescript@5.1.6):
+ /check-dts@0.7.2(typescript@5.3.3):
resolution: {integrity: sha512-ZflsEhv7SXlgNECrNIw1WmMJZ1787KtS62anWknLPI+k9g9OY2eA/UfT+Tsb0i0eWLUZHtFfznrNtGlQJrGaKw==}
engines: {node: '>=14.0.0'}
hasBin: true
peerDependencies:
typescript: '>=4.0.0'
dependencies:
- fast-glob: 3.3.0
+ fast-glob: 3.3.2
nanospinner: 1.1.0
picocolors: 1.0.0
- typescript: 5.1.6
+ typescript: 5.3.3
vfile-location: 4.1.0
dev: true
@@ -927,7 +910,7 @@ packages:
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
/clean-publish@4.2.0:
@@ -936,13 +919,14 @@ packages:
hasBin: true
dependencies:
cross-spawn: 7.0.3
- fast-glob: 3.3.0
+ fast-glob: 3.3.2
lilconfig: 2.1.0
micromatch: 4.0.5
dev: true
- /cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
@@ -970,8 +954,8 @@ packages:
source-map: 0.6.1
dev: true
- /convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
dev: true
/create-require@1.1.1:
@@ -1014,11 +998,21 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
- /define-properties@1.2.0:
- resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
engines: {node: '>= 0.4'}
dependencies:
- has-property-descriptors: 1.0.0
+ get-intrinsic: 1.2.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ has-property-descriptors: 1.0.1
object-keys: 1.1.1
dev: true
@@ -1062,64 +1056,73 @@ packages:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
- /es-abstract@1.22.1:
- resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==}
+ /es-abstract@1.22.3:
+ resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
engines: {node: '>= 0.4'}
dependencies:
- array-buffer-byte-length: 1.0.0
- arraybuffer.prototype.slice: 1.0.1
- available-typed-arrays: 1.0.5
- call-bind: 1.0.2
- es-set-tostringtag: 2.0.1
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.5
+ es-set-tostringtag: 2.0.2
es-to-primitive: 1.2.1
- function.prototype.name: 1.1.5
- get-intrinsic: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.3
get-symbol-description: 1.0.0
globalthis: 1.0.3
gopd: 1.0.1
- has: 1.0.3
- has-property-descriptors: 1.0.0
+ has-property-descriptors: 1.0.1
has-proto: 1.0.1
has-symbols: 1.0.3
- internal-slot: 1.0.5
- is-array-buffer: 3.0.2
+ hasown: 2.0.0
+ internal-slot: 1.0.6
+ is-array-buffer: 3.0.4
is-callable: 1.2.7
is-negative-zero: 2.0.2
is-regex: 1.1.4
is-shared-array-buffer: 1.0.2
is-string: 1.0.7
- is-typed-array: 1.1.12
+ is-typed-array: 1.1.13
is-weakref: 1.0.2
- object-inspect: 1.12.3
+ object-inspect: 1.13.1
object-keys: 1.1.1
- object.assign: 4.1.4
- regexp.prototype.flags: 1.5.0
- safe-array-concat: 1.0.0
- safe-regex-test: 1.0.0
- string.prototype.trim: 1.2.7
- string.prototype.trimend: 1.0.6
- string.prototype.trimstart: 1.0.6
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.1
+ safe-array-concat: 1.1.0
+ safe-regex-test: 1.0.2
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
typed-array-buffer: 1.0.0
typed-array-byte-length: 1.0.0
typed-array-byte-offset: 1.0.0
typed-array-length: 1.0.4
unbox-primitive: 1.0.2
- which-typed-array: 1.1.11
+ which-typed-array: 1.1.14
+ dev: true
+
+ /es-array-method-boxes-properly@1.0.0:
+ resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
dev: true
- /es-set-tostringtag@2.0.1:
- resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /es-set-tostringtag@2.0.2:
+ resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
engines: {node: '>= 0.4'}
dependencies:
- get-intrinsic: 1.2.1
- has: 1.0.3
- has-tostringtag: 1.0.0
+ get-intrinsic: 1.2.3
+ has-tostringtag: 1.0.2
+ hasown: 2.0.0
dev: true
- /es-shim-unscopables@1.0.0:
- resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ /es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
dependencies:
- has: 1.0.3
+ hasown: 2.0.0
dev: true
/es-to-primitive@1.2.1:
@@ -1131,38 +1134,39 @@ packages:
is-symbol: 1.0.4
dev: true
- /esbuild@0.18.15:
- resolution: {integrity: sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==}
+ /esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.18.15
- '@esbuild/android-arm64': 0.18.15
- '@esbuild/android-x64': 0.18.15
- '@esbuild/darwin-arm64': 0.18.15
- '@esbuild/darwin-x64': 0.18.15
- '@esbuild/freebsd-arm64': 0.18.15
- '@esbuild/freebsd-x64': 0.18.15
- '@esbuild/linux-arm': 0.18.15
- '@esbuild/linux-arm64': 0.18.15
- '@esbuild/linux-ia32': 0.18.15
- '@esbuild/linux-loong64': 0.18.15
- '@esbuild/linux-mips64el': 0.18.15
- '@esbuild/linux-ppc64': 0.18.15
- '@esbuild/linux-riscv64': 0.18.15
- '@esbuild/linux-s390x': 0.18.15
- '@esbuild/linux-x64': 0.18.15
- '@esbuild/netbsd-x64': 0.18.15
- '@esbuild/openbsd-x64': 0.18.15
- '@esbuild/sunos-x64': 0.18.15
- '@esbuild/win32-arm64': 0.18.15
- '@esbuild/win32-ia32': 0.18.15
- '@esbuild/win32-x64': 0.18.15
- dev: true
-
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+ dev: true
+
+ /escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
dev: true
@@ -1171,7 +1175,16 @@ packages:
engines: {node: '>=10'}
dev: true
- /eslint-config-standard@17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.45.0):
+ /eslint-compat-utils@0.1.2(eslint@8.56.0):
+ resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0):
resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -1180,23 +1193,23 @@ packages:
eslint-plugin-n: '^15.0.0 || ^16.0.0 '
eslint-plugin-promise: ^6.0.0
dependencies:
- eslint: 8.45.0
- eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)
- eslint-plugin-n: 16.0.1(eslint@8.45.0)
- eslint-plugin-promise: 6.1.1(eslint@8.45.0)
+ eslint: 8.56.0
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)
+ eslint-plugin-n: 16.6.2(eslint@8.56.0)
+ eslint-plugin-promise: 6.1.1(eslint@8.56.0)
dev: true
- /eslint-import-resolver-node@0.3.7:
- resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
debug: 3.2.7
- is-core-module: 2.12.1
- resolve: 1.22.2
+ is-core-module: 2.13.1
+ resolve: 1.22.8
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.1.0)(eslint-import-resolver-node@0.3.7)(eslint@8.45.0):
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@@ -1217,27 +1230,28 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
debug: 3.2.7
- eslint: 8.45.0
- eslint-import-resolver-node: 0.3.7
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-es-x@7.1.0(eslint@8.45.0):
- resolution: {integrity: sha512-AhiaF31syh4CCQ+C5ccJA0VG6+kJK8+5mXKKE7Qs1xcPRg02CDPOj3mWlQxuWS/AYtg7kxrDNgW9YW3vc0Q+Mw==}
+ /eslint-plugin-es-x@7.5.0(eslint@8.56.0):
+ resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '>=8'
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
- '@eslint-community/regexpp': 4.5.1
- eslint: 8.45.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': 4.10.0
+ eslint: 8.56.0
+ eslint-compat-utils: 0.1.2(eslint@8.56.0)
dev: true
- /eslint-plugin-import@2.27.5(@typescript-eslint/parser@6.1.0)(eslint@8.45.0):
- resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -1246,56 +1260,80 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
- array-includes: 3.1.6
- array.prototype.flat: 1.3.1
- array.prototype.flatmap: 1.3.1
+ '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
debug: 3.2.7
doctrine: 2.1.0
- eslint: 8.45.0
- eslint-import-resolver-node: 0.3.7
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.1.0)(eslint-import-resolver-node@0.3.7)(eslint@8.45.0)
- has: 1.0.3
- is-core-module: 2.12.1
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
+ hasown: 2.0.0
+ is-core-module: 2.13.1
is-glob: 4.0.3
minimatch: 3.1.2
- object.values: 1.1.6
- resolve: 1.22.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.2
+ object.values: 1.1.7
semver: 6.3.1
- tsconfig-paths: 3.14.2
+ tsconfig-paths: 3.15.0
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-plugin-n@16.0.1(eslint@8.45.0):
- resolution: {integrity: sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==}
+ /eslint-plugin-n@16.6.2(eslint@8.56.0):
+ resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==}
engines: {node: '>=16.0.0'}
peerDependencies:
eslint: '>=7.0.0'
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
builtins: 5.0.1
- eslint: 8.45.0
- eslint-plugin-es-x: 7.1.0(eslint@8.45.0)
- ignore: 5.2.4
- is-core-module: 2.12.1
+ eslint: 8.56.0
+ eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
+ get-tsconfig: 4.7.2
+ globals: 13.24.0
+ ignore: 5.3.1
+ is-builtin-module: 3.2.1
+ is-core-module: 2.13.1
minimatch: 3.1.2
- resolve: 1.22.2
- semver: 7.5.4
+ resolve: 1.22.8
+ semver: 7.6.0
+ dev: true
+
+ /eslint-plugin-node-import@1.0.4(eslint@8.56.0):
+ resolution: {integrity: sha512-nn6EkM7+vJCDCXZiM0FDpYSekbhlk5LNoHJm9DlVSucGrsT9WoK+qOxIEm+SwoFBeH73cMHMavioDaHsu22b0Q==}
+ engines: {node: ^14.18.0 || ^16.0.0 || >= 18.0.0}
+ peerDependencies:
+ eslint: '>=7'
+ dependencies:
+ eslint: 8.56.0
dev: true
- /eslint-plugin-perfectionist@1.5.0(eslint@8.45.0)(typescript@5.1.6):
- resolution: {integrity: sha512-khVm+M55D95YhoNEjinLdhC5pSse5/EXn7HuI1Y2R+WU1Hb5wWehPlRqAWzWS4VFJKRPWt78OmnzsmnDq1T5IA==}
+ /eslint-plugin-perfectionist@2.5.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==}
peerDependencies:
+ astro-eslint-parser: ^0.16.0
eslint: '>=8.0.0'
+ svelte: '>=3.0.0'
+ svelte-eslint-parser: ^0.33.0
+ vue-eslint-parser: '>=9.0.0'
+ peerDependenciesMeta:
+ astro-eslint-parser:
+ optional: true
+ svelte:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+ vue-eslint-parser:
+ optional: true
dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
- eslint: 8.45.0
- is-core-module: 2.12.1
- json5: 2.2.3
+ '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
minimatch: 9.0.3
natural-compare-lite: 1.4.0
transitivePeerDependencies:
@@ -1310,56 +1348,49 @@ packages:
requireindex: 1.2.0
dev: true
- /eslint-plugin-promise@6.1.1(eslint@8.45.0):
+ /eslint-plugin-promise@6.1.1(eslint@8.56.0):
resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.45.0
+ eslint: 8.56.0
dev: true
- /eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
- dev: true
-
- /eslint-scope@7.2.1:
- resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==}
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
- /eslint-visitor-keys@3.4.1:
- resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint@8.45.0:
- resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==}
+ /eslint@8.56.0:
+ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
- '@eslint-community/regexpp': 4.5.1
- '@eslint/eslintrc': 2.1.0
- '@eslint/js': 8.44.0
- '@humanwhocodes/config-array': 0.11.10
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.56.0
+ '@humanwhocodes/config-array': 0.11.14
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4
doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.1
- eslint-visitor-keys: 3.4.1
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
espree: 9.6.1
esquery: 1.5.0
esutils: 2.0.3
@@ -1367,9 +1398,9 @@ packages:
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.20.0
+ globals: 13.24.0
graphemer: 1.4.0
- ignore: 5.2.4
+ ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -1390,9 +1421,9 @@ packages:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.10.0
- acorn-jsx: 5.3.2(acorn@8.10.0)
- eslint-visitor-keys: 3.4.1
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
dev: true
/esquery@1.5.0:
@@ -1409,11 +1440,6 @@ packages:
estraverse: 5.3.0
dev: true
- /estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
- dev: true
-
/estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@@ -1428,8 +1454,8 @@ packages:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
- /fast-glob@3.3.0:
- resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==}
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -1447,8 +1473,8 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
- /fastq@1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
dependencies:
reusify: 1.0.4
dev: true
@@ -1457,7 +1483,7 @@ packages:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flat-cache: 3.0.4
+ flat-cache: 3.2.0
dev: true
/fill-range@7.0.1:
@@ -1475,16 +1501,17 @@ packages:
path-exists: 4.0.0
dev: true
- /flat-cache@3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flatted: 3.2.7
+ flatted: 3.2.9
+ keyv: 4.5.4
rimraf: 3.0.2
dev: true
- /flatted@3.2.7:
- resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
dev: true
/for-each@0.3.3:
@@ -1493,37 +1520,37 @@ packages:
is-callable: 1.2.7
dev: true
- /foreground-child@2.0.0:
- resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
- engines: {node: '>=8.0.0'}
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
dependencies:
cross-spawn: 7.0.3
- signal-exit: 3.0.7
+ signal-exit: 4.1.0
dev: true
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
- /fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
dev: true
- /function.prototype.name@1.1.5:
- resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
functions-have-names: 1.2.3
dev: true
@@ -1536,21 +1563,29 @@ packages:
engines: {node: 6.* || 8.* || >= 10.*}
dev: true
- /get-intrinsic@1.2.1:
- resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+ /get-intrinsic@1.2.3:
+ resolution: {integrity: sha512-JIcZczvcMVE7AUOP+X72bh8HqHBRxFdz5PDHYtNG/lE3yk9b3KZBJlwFcTyPYjg3L4RLLmZJzvjxhaZVapxFrQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- function-bind: 1.1.1
- has: 1.0.3
+ es-errors: 1.3.0
+ function-bind: 1.1.2
has-proto: 1.0.1
has-symbols: 1.0.3
+ hasown: 2.0.0
dev: true
/get-symbol-description@1.0.0:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
+ dev: true
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
dev: true
/glob-parent@5.1.2:
@@ -1578,8 +1613,8 @@ packages:
path-is-absolute: 1.0.1
dev: true
- /globals@13.20.0:
- resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
@@ -1589,7 +1624,7 @@ packages:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
engines: {node: '>= 0.4'}
dependencies:
- define-properties: 1.2.0
+ define-properties: 1.2.1
dev: true
/globby@11.1.0:
@@ -1598,16 +1633,28 @@ packages:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.0
- ignore: 5.2.4
+ fast-glob: 3.3.2
+ ignore: 5.3.1
merge2: 1.4.1
slash: 3.0.0
dev: true
+ /globby@14.0.0:
+ resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@sindresorhus/merge-streams': 1.0.0
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ path-type: 5.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.1.0
+ dev: true
+
/gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
dependencies:
- get-intrinsic: 1.2.1
+ get-intrinsic: 1.2.3
dev: true
/graphemer@1.4.0:
@@ -1623,10 +1670,10 @@ packages:
engines: {node: '>=8'}
dev: true
- /has-property-descriptors@1.0.0:
- resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ /has-property-descriptors@1.0.1:
+ resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
dependencies:
- get-intrinsic: 1.2.1
+ get-intrinsic: 1.2.3
dev: true
/has-proto@1.0.1:
@@ -1639,26 +1686,26 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /has-tostringtag@1.0.0:
- resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ /has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
dependencies:
has-symbols: 1.0.3
dev: true
- /has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
dev: true
/html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
dev: true
- /ignore@5.2.4:
- resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ /ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
dev: true
@@ -1686,21 +1733,21 @@ packages:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
- /internal-slot@1.0.5:
- resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
+ /internal-slot@1.0.6:
+ resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
engines: {node: '>= 0.4'}
dependencies:
- get-intrinsic: 1.2.1
- has: 1.0.3
+ get-intrinsic: 1.2.3
+ hasown: 2.0.0
side-channel: 1.0.4
dev: true
- /is-array-buffer@3.0.2:
- resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ /is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
- is-typed-array: 1.1.12
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
dev: true
/is-bigint@1.0.4:
@@ -1720,8 +1767,8 @@ packages:
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- has-tostringtag: 1.0.0
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.2
dev: true
/is-buffer@2.0.5:
@@ -1729,22 +1776,29 @@ packages:
engines: {node: '>=4'}
dev: true
+ /is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
/is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
dev: true
- /is-core-module@2.12.1:
- resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
dependencies:
- has: 1.0.3
+ hasown: 2.0.0
dev: true
/is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'}
dependencies:
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
dev: true
/is-extglob@2.1.1:
@@ -1773,7 +1827,7 @@ packages:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
engines: {node: '>= 0.4'}
dependencies:
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
dev: true
/is-number@7.0.0:
@@ -1790,21 +1844,21 @@ packages:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- has-tostringtag: 1.0.0
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.2
dev: true
/is-shared-array-buffer@1.0.2:
resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
dev: true
/is-string@1.0.7:
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
engines: {node: '>= 0.4'}
dependencies:
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
dev: true
/is-symbol@1.0.4:
@@ -1814,17 +1868,17 @@ packages:
has-symbols: 1.0.3
dev: true
- /is-typed-array@1.1.12:
- resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ /is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
engines: {node: '>= 0.4'}
dependencies:
- which-typed-array: 1.1.11
+ which-typed-array: 1.1.14
dev: true
/is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
dev: true
/isarray@2.0.5:
@@ -1835,26 +1889,26 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
- /istanbul-lib-coverage@3.2.0:
- resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
+ /istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
dev: true
- /istanbul-lib-report@3.0.0:
- resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
- engines: {node: '>=8'}
+ /istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
dependencies:
- istanbul-lib-coverage: 3.2.0
- make-dir: 3.1.0
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
supports-color: 7.2.0
dev: true
- /istanbul-reports@3.1.5:
- resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
+ /istanbul-reports@3.1.6:
+ resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
engines: {node: '>=8'}
dependencies:
html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
+ istanbul-lib-report: 3.0.1
dev: true
/js-yaml@4.1.0:
@@ -1864,6 +1918,10 @@ packages:
argparse: 2.0.1
dev: true
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
@@ -1879,10 +1937,10 @@ packages:
minimist: 1.2.8
dev: true
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
dev: true
/kleur@4.1.5:
@@ -1903,6 +1961,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /lilconfig@3.0.0:
+ resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
+ engines: {node: '>=14'}
+ dev: true
+
/locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -1921,11 +1984,11 @@ packages:
yallist: 4.0.0
dev: true
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ /make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
dependencies:
- semver: 6.3.1
+ semver: 7.6.0
dev: true
/make-error@1.3.6:
@@ -1979,10 +2042,17 @@ packages:
resolution: {integrity: sha512-mfVn7t26m4mVoUuWdUevZccq0saIh5T4Lu3cAzbZ6j03yc4sIDwM3Dof0LS70YwflPZtGJ92BGhNYV862wXRvg==}
dev: true
- /nanoid@3.3.6:
- resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ dev: false
+
+ /nanoid@5.0.5:
+ resolution: {integrity: sha512-/Veqm+QKsyMY3kqi4faWplnY1u+VuKO3dD2binyPIybP31DRO29bPF+1mszgLnrR2KqSLceFLBNw0zmvDzN1QQ==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ dev: true
/nanospinner@1.1.0:
resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==}
@@ -2008,8 +2078,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /object-inspect@1.12.3:
- resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
dev: true
/object-keys@1.1.1:
@@ -2017,23 +2087,42 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /object.assign@4.1.4:
- resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
+ /object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
has-symbols: 1.0.3
object-keys: 1.1.1
dev: true
- /object.values@1.1.6:
- resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ /object.fromentries@2.0.7:
+ resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ dev: true
+
+ /object.groupby@1.0.2:
+ resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==}
+ dependencies:
+ array.prototype.filter: 1.0.3
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
+ es-errors: 1.3.0
+ dev: true
+
+ /object.values@1.1.7:
+ resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
/once@1.4.0:
@@ -2099,6 +2188,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ /path-type@5.0.0:
+ resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
+ engines: {node: '>=12'}
+ dev: true
+
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -2107,8 +2201,8 @@ packages:
engines: {node: '>=8.6'}
dev: true
- /postcss-parser-tests@8.6.0:
- resolution: {integrity: sha512-r5P5I4AsL62mlF9KXA1oL/Oel7+wJnwGfQnOA4fMhA54Lx1Pae+67OLmkgla3dAOIpr0FgNjAJg0zxW0CQlrUg==}
+ /postcss-parser-tests@8.8.0:
+ resolution: {integrity: sha512-vAyVrBzp7YmfpmjCG3RGhilE9+oydj6oTZYWMBwkp/3FVOdUURerTRD0w/NVegOreAj51tCPqgCwbb4AW5f5SA==}
dependencies:
picocolors: 1.0.0
dev: true
@@ -2118,8 +2212,8 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /punycode@2.3.0:
- resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
dev: true
@@ -2134,13 +2228,13 @@ packages:
picomatch: 2.3.1
dev: true
- /regexp.prototype.flags@1.5.0:
- resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
+ /regexp.prototype.flags@1.5.1:
+ resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- functions-have-names: 1.2.3
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ set-function-name: 2.0.1
dev: true
/require-directory@2.1.1:
@@ -2158,11 +2252,15 @@ packages:
engines: {node: '>=4'}
dev: true
- /resolve@1.22.2:
- resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
dependencies:
- is-core-module: 2.12.1
+ is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
@@ -2192,21 +2290,22 @@ packages:
mri: 1.2.0
dev: true
- /safe-array-concat@1.0.0:
- resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==}
+ /safe-array-concat@1.1.0:
+ resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==}
engines: {node: '>=0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
has-symbols: 1.0.3
isarray: 2.0.5
dev: true
- /safe-regex-test@1.0.0:
- resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ /safe-regex-test@1.0.2:
+ resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
is-regex: 1.1.4
dev: true
@@ -2215,20 +2314,32 @@ packages:
hasBin: true
dev: true
- /semver@7.5.3:
- resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
+ /semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
lru-cache: 6.0.0
dev: true
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
+ /set-function-length@1.2.0:
+ resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==}
+ engines: {node: '>= 0.4'}
dependencies:
- lru-cache: 6.0.0
+ define-data-property: 1.1.1
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.1
+ dev: true
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.1
dev: true
/shebang-command@2.0.0:
@@ -2246,30 +2357,31 @@ packages:
/side-channel@1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
- object-inspect: 1.12.3
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
+ object-inspect: 1.13.1
dev: true
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
dev: true
- /simple-git-hooks@2.8.1:
- resolution: {integrity: sha512-DYpcVR1AGtSfFUNzlBdHrQGPsOhuuEJ/FkmPOOlFysP60AHd3nsEpkGq/QEOdtUyT1Qhk7w9oLmFoMG+75BDog==}
+ /simple-git-hooks@2.9.0:
+ resolution: {integrity: sha512-waSQ5paUQtyGC0ZxlHmcMmD9I1rRXauikBwX31bX58l5vTOhCEcBC5Bi+ZDkPXTjDnZAF8TbCqKBY+9+sVPScw==}
hasBin: true
requiresBuild: true
dev: true
- /size-limit@8.2.6:
- resolution: {integrity: sha512-zpznim/tX/NegjoQuRKgWTF4XiB0cn2qt90uJzxYNTFAqexk4b94DOAkBD3TwhC6c3kw2r0KcnA5upziVMZqDg==}
- engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
+ /size-limit@11.0.2:
+ resolution: {integrity: sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
bytes-iec: 3.1.1
chokidar: 3.5.3
- globby: 11.1.0
- lilconfig: 2.1.0
+ globby: 14.0.0
+ lilconfig: 3.0.0
nanospinner: 1.1.0
picocolors: 1.0.0
dev: true
@@ -2279,6 +2391,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ /slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+ dev: true
+
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
@@ -2298,29 +2415,29 @@ packages:
strip-ansi: 6.0.1
dev: true
- /string.prototype.trim@1.2.7:
- resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /string.prototype.trimend@1.0.6:
- resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
- /string.prototype.trimstart@1.0.6:
- resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
dependencies:
- call-bind: 1.0.2
- define-properties: 1.2.0
- es-abstract: 1.22.1
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.3
dev: true
/strip-ansi@6.0.1:
@@ -2372,17 +2489,17 @@ packages:
is-number: 7.0.0
dev: true
- /ts-api-utils@1.0.1(typescript@5.1.6):
- resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
- engines: {node: '>=16.13.0'}
+ /ts-api-utils@1.2.0(typescript@5.3.3):
+ resolution: {integrity: sha512-d+3WxW4r8WQy2cZWpNRPPGExX8ffOLGcIhheUANKbL5Sqjbhkneki76fRAWeXkaslV2etTb4tSJBSxOsH5+CJw==}
+ engines: {node: '>=18'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
- typescript: 5.1.6
+ typescript: 5.3.3
dev: true
- /ts-node@10.9.1(@types/node@20.4.2)(typescript@5.1.6):
- resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
+ /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.3):
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true
peerDependencies:
'@swc/core': '>=1.2.50'
@@ -2400,20 +2517,20 @@ packages:
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 20.4.2
- acorn: 8.10.0
- acorn-walk: 8.2.0
+ '@types/node': 20.11.16
+ acorn: 8.11.3
+ acorn-walk: 8.3.2
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 5.1.6
+ typescript: 5.3.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
dev: true
- /tsconfig-paths@3.14.2:
- resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
+ /tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
dependencies:
'@types/json5': 0.0.29
json5: 1.0.2
@@ -2421,20 +2538,6 @@ packages:
strip-bom: 3.0.0
dev: true
- /tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- dev: true
-
- /tsutils@3.21.0(typescript@5.1.6):
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
- dependencies:
- tslib: 1.14.1
- typescript: 5.1.6
- dev: true
-
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -2451,42 +2554,42 @@ packages:
resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
- get-intrinsic: 1.2.1
- is-typed-array: 1.1.12
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.3
+ is-typed-array: 1.1.13
dev: true
/typed-array-byte-length@1.0.0:
resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
for-each: 0.3.3
has-proto: 1.0.1
- is-typed-array: 1.1.12
+ is-typed-array: 1.1.13
dev: true
/typed-array-byte-offset@1.0.0:
resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
engines: {node: '>= 0.4'}
dependencies:
- available-typed-arrays: 1.0.5
- call-bind: 1.0.2
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.5
for-each: 0.3.3
has-proto: 1.0.1
- is-typed-array: 1.1.12
+ is-typed-array: 1.1.13
dev: true
/typed-array-length@1.0.4:
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
for-each: 0.3.3
- is-typed-array: 1.1.12
+ is-typed-array: 1.1.13
dev: true
- /typescript@5.1.6:
- resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
@@ -2494,22 +2597,31 @@ packages:
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.5
has-bigints: 1.0.2
has-symbols: 1.0.3
which-boxed-primitive: 1.0.2
dev: true
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ dev: true
+
+ /unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+ dev: true
+
/unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
dependencies:
- '@types/unist': 2.0.7
+ '@types/unist': 2.0.10
dev: true
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
- punycode: 2.3.0
+ punycode: 2.3.1
dev: true
/uvu@0.5.6:
@@ -2527,33 +2639,33 @@ packages:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
dev: true
- /v8-to-istanbul@9.1.0:
- resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==}
+ /v8-to-istanbul@9.2.0:
+ resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
engines: {node: '>=10.12.0'}
dependencies:
- '@jridgewell/trace-mapping': 0.3.18
- '@types/istanbul-lib-coverage': 2.0.4
- convert-source-map: 1.9.0
+ '@jridgewell/trace-mapping': 0.3.22
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 2.0.0
dev: true
/vfile-location@4.1.0:
resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
dependencies:
- '@types/unist': 2.0.7
+ '@types/unist': 2.0.10
vfile: 5.3.7
dev: true
/vfile-message@3.1.4:
resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
dependencies:
- '@types/unist': 2.0.7
+ '@types/unist': 2.0.10
unist-util-stringify-position: 3.0.3
dev: true
/vfile@5.3.7:
resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
dependencies:
- '@types/unist': 2.0.7
+ '@types/unist': 2.0.10
is-buffer: 2.0.5
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
@@ -2569,15 +2681,15 @@ packages:
is-symbol: 1.0.4
dev: true
- /which-typed-array@1.1.11:
- resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
+ /which-typed-array@1.1.14:
+ resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==}
engines: {node: '>= 0.4'}
dependencies:
- available-typed-arrays: 1.0.5
- call-bind: 1.0.2
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.5
for-each: 0.3.3
gopd: 1.0.1
- has-tostringtag: 1.0.0
+ has-tostringtag: 1.0.2
dev: true
/which@2.0.2:
@@ -2610,22 +2722,22 @@ packages:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true
- /yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
dev: true
- /yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
dependencies:
- cliui: 7.0.4
- escalade: 3.1.1
+ cliui: 8.0.1
+ escalade: 3.1.2
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
- yargs-parser: 20.2.9
+ yargs-parser: 21.1.1
dev: true
/yn@3.1.1:
diff --git a/test/at-rule.test.ts b/test/at-rule.test.ts
index 10a23a871..fff3a13c8 100755
--- a/test/at-rule.test.ts
+++ b/test/at-rule.test.ts
@@ -24,7 +24,7 @@ test('creates nodes property on prepend()', () => {
type(rule.nodes, 'undefined')
rule.prepend('color: black')
- is(rule.nodes.length, 1)
+ is(rule.nodes?.length, 1)
})
test('creates nodes property on append()', () => {
@@ -32,7 +32,7 @@ test('creates nodes property on append()', () => {
type(rule.nodes, 'undefined')
rule.append('color: black')
- is(rule.nodes.length, 1)
+ is(rule.nodes?.length, 1)
})
test('inserts default spaces', () => {
@@ -48,4 +48,10 @@ test('clone spaces from another at-rule', () => {
is(rule.toString(), '@page 1{}')
})
+test('at-rule without body has no nodes property', () => {
+ let root = parse('@layer a, b, c;');
+ let layer = root.first as AtRule
+ type(layer.nodes, 'undefined')
+});
+
test.run()
diff --git a/test/container.test.ts b/test/container.test.ts
index 567bda009..0a4b2d69a 100755
--- a/test/container.test.ts
+++ b/test/container.test.ts
@@ -638,18 +638,18 @@ test('insertBefore() receives array', () => {
test('insertBefore() receives pre-existing child node - a', () => {
let a = parse('a{ align-items: start; color: red; z-index: 1 }')
- let declA = (a.first as Rule).nodes[0];
- let declC = (a.first as Rule).nodes[2];
- declC.before(declA);
+ let declA = (a.first as Rule).nodes[0]
+ let declC = (a.first as Rule).nodes[2]
+ declC.before(declA)
is(a.toString(), 'a{ color: red; align-items: start; z-index: 1 }')
})
test('insertBefore() receives pre-existing child node - b', () => {
let a = parse('a{ align-items: start; color: red; z-index: 1 }')
- let declA = (a.first as Rule).nodes[0];
- let declC = (a.first as Rule).nodes[2];
- declA.before(declC);
+ let declA = (a.first as Rule).nodes[0]
+ let declC = (a.first as Rule).nodes[2]
+ declA.before(declC)
is(a.toString(), 'a{ z-index: 1; align-items: start; color: red }')
})
@@ -708,18 +708,18 @@ test('insertAfter() receives array', () => {
test('insertAfter() receives pre-existing child node - a', () => {
let a = parse('a{ align-items: start; color: red; z-index: 1 }')
- let declA = (a.first as Rule).nodes[0];
- let declC = (a.first as Rule).nodes[2];
- declC.after(declA);
+ let declA = (a.first as Rule).nodes[0]
+ let declC = (a.first as Rule).nodes[2]
+ declC.after(declA)
is(a.toString(), 'a{ color: red; z-index: 1; align-items: start }')
})
test('insertAfter() receives pre-existing child node - b', () => {
let a = parse('a{ align-items: start; color: red; z-index: 1 }')
- let declA = (a.first as Rule).nodes[0];
- let declC = (a.first as Rule).nodes[2];
- declA.after(declC);
+ let declA = (a.first as Rule).nodes[0]
+ let declC = (a.first as Rule).nodes[2]
+ declA.after(declC)
is(a.toString(), 'a{ align-items: start; z-index: 1; color: red }')
})
@@ -874,7 +874,7 @@ test('allows to clone nodes', () => {
test('container.nodes can be sorted', () => {
let root = parse('@b; @c; @a;')
- let b = root.nodes[0];
+ let b = root.nodes[0]
root.nodes.sort((x, y) => {
return (x as AtRule).name.localeCompare((y as AtRule).name)
@@ -884,10 +884,10 @@ test('container.nodes can be sorted', () => {
is(root.toString(), ' @a;@b; @c;')
// Sorted nodes are reflected in "walk".
- let result: string[] = [];
- root.walkAtRules((atRule) => {
+ let result: string[] = []
+ root.walkAtRules(atRule => {
result.push(atRule.name.trim())
- });
+ })
is(result.join(' '), 'a b c')
@@ -895,8 +895,19 @@ test('container.nodes can be sorted', () => {
is(root.index(b), 1)
// Inserting after a sorted node results in the correct order.
- b.after('@d;');
+ b.after('@d;')
is(root.toString(), ' @a;@b;@d; @c;')
})
+test('ignores undefined on adding', () => {
+ let rule = parse('a { a: 1; b: 2 }').first as Rule
+ rule.append({ prop: 'c', value: '3' }, undefined)
+ rule.prepend(undefined)
+ rule.insertAfter(0, undefined)
+ rule.insertBefore(0, undefined)
+ rule.after(undefined)
+ rule.before(undefined)
+ is(rule.parent!.toString(), 'a { a: 1; b: 2; c: 3 }')
+})
+
test.run()
diff --git a/test/location.test.ts b/test/location.test.ts
new file mode 100644
index 000000000..e74c895f0
--- /dev/null
+++ b/test/location.test.ts
@@ -0,0 +1,300 @@
+import { test } from 'uvu'
+import { equal } from 'uvu/assert'
+
+import {
+ AtRule,
+ Comment,
+ Declaration,
+ Node,
+ parse,
+ Rule
+} from '../lib/postcss.js'
+
+function checkOffset(source: string, node: Node, expected: string): void {
+ let start = node.source!.start!.offset
+ let end = node.source!.end!.offset
+ equal(source.slice(start, end), expected)
+}
+
+test('rule', () => {
+ let source = '.a{}'
+ let css = parse(source)
+
+ let rule = css.first as Rule
+ checkOffset(source, rule, '.a{}')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 4,
+ line: 1,
+ offset: 4
+ })
+})
+
+test('single decl (no semicolon)', () => {
+ let source = '.a{b:c}'
+ let css = parse(source)
+
+ let rule = css.first as Rule
+ let decl = rule.first as Declaration
+ checkOffset(source, rule, '.a{b:c}')
+ checkOffset(source, decl, 'b:c')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+ equal(decl.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(decl.source!.end, {
+ column: 6,
+ line: 1,
+ offset: 6
+ })
+})
+
+test('single decl (with semicolon)', () => {
+ let source = '.a{b:c;}'
+ let css = parse(source)
+
+ let rule = css.first as Rule
+ let decl = rule.first as Declaration
+ checkOffset(source, rule, '.a{b:c;}')
+ checkOffset(source, decl, 'b:c;')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 8,
+ line: 1,
+ offset: 8
+ })
+ equal(decl.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(decl.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+})
+
+test('two decls', () => {
+ let source = '.a{b:c;d:e}'
+ let css = parse(source)
+
+ let rule = css.first as Rule
+ let decl1 = rule.first as Declaration
+ let decl2 = decl1.next() as Declaration
+ checkOffset(source, decl1, 'b:c;')
+ checkOffset(source, decl2, 'd:e')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 11,
+ line: 1,
+ offset: 11
+ })
+ equal(decl1.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(decl1.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+ equal(decl2.source!.start, {
+ column: 8,
+ line: 1,
+ offset: 7
+ })
+ equal(decl2.source!.end, {
+ column: 10,
+ line: 1,
+ offset: 10
+ })
+})
+
+test('...rule nested in rule', () => {
+ let source = '.a{.b{}}'
+ let css = parse(source)
+
+ let rule = css.first as Rule
+ let rule2 = rule.first as Rule
+ checkOffset(source, rule, '.a{.b{}}')
+ checkOffset(source, rule2, '.b{}')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 8,
+ line: 1,
+ offset: 8
+ })
+ equal(rule2.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(rule2.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+})
+
+test('at-rule with semicolon', () => {
+ let source = '@a b;'
+ let css = parse(source)
+
+ let atrule = css.first as AtRule
+ checkOffset(source, atrule, '@a b;')
+ equal(atrule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(atrule.source!.end, {
+ column: 5,
+ line: 1,
+ offset: 5
+ })
+})
+
+test('unclosed at-rule', () => {
+ let source = '@a b'
+ let css = parse(source)
+
+ let atrule = css.first as AtRule
+ checkOffset(source, atrule, '@a b')
+ equal(atrule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(atrule.source!.end, {
+ column: 4,
+ line: 1,
+ offset: 4
+ })
+})
+
+test('unclosed at-rule in at-rule', () => {
+ let source = '@a{@b c}'
+ let css = parse(source)
+
+ let atrule = css.first as AtRule
+ let atrule2 = atrule.first as AtRule
+ checkOffset(source, atrule, '@a{@b c}')
+ checkOffset(source, atrule2, '@b c')
+ equal(atrule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(atrule.source!.end, {
+ column: 8,
+ line: 1,
+ offset: 8
+ })
+ equal(atrule2.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(atrule2.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+})
+
+test('at-rule with body', () => {
+ let source = '@a{}'
+ let css = parse(source)
+
+ let atrule = css.first as AtRule
+ checkOffset(source, atrule, '@a{}')
+ equal(atrule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(atrule.source!.end, {
+ column: 4,
+ line: 1,
+ offset: 4
+ })
+})
+
+test('at-rule nested in atrule', () => {
+ let source = '@a{@b{}}'
+ let css = parse(source)
+
+ let atrule = css.first as Rule
+ let atrule2 = atrule.first as Rule
+ checkOffset(source, atrule, '@a{@b{}}')
+ checkOffset(source, atrule2, '@b{}')
+ equal(atrule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(atrule.source!.end, {
+ column: 8,
+ line: 1,
+ offset: 8
+ })
+ equal(atrule2.source!.start, {
+ column: 4,
+ line: 1,
+ offset: 3
+ })
+ equal(atrule2.source!.end, {
+ column: 7,
+ line: 1,
+ offset: 7
+ })
+})
+
+test('comment', () => {
+ let source = '/*a*/'
+ let css = parse(source)
+
+ let rule = css.first as Comment
+ checkOffset(source, rule, '/*a*/')
+ equal(rule.source!.start, {
+ column: 1,
+ line: 1,
+ offset: 0
+ })
+ equal(rule.source!.end, {
+ column: 5,
+ line: 1,
+ offset: 5
+ })
+})
+
+test.run()
diff --git a/test/no-work-result.test.ts b/test/no-work-result.test.ts
index f3b171fec..92af5a8c5 100644
--- a/test/no-work-result.test.ts
+++ b/test/no-work-result.test.ts
@@ -1,9 +1,12 @@
+import postcss = require('../lib/postcss.js')
+import stringify = require('../lib/stringify.js')
import { spy } from 'nanospy'
import { SourceMapGenerator } from 'source-map-js'
import { test } from 'uvu'
import { equal, instance, is, not, throws, type } from 'uvu/assert'
import NoWorkResult from '../lib/no-work-result.js'
+import parse from '../lib/parse.js'
import Processor from '../lib/processor.js'
let processor = new Processor()
@@ -98,4 +101,75 @@ test('prints its object type', () => {
is(Object.prototype.toString.call(result), '[object NoWorkResult]')
})
+test('no work result matches lazy result', async () => {
+ let source = '.foo { color: red }\n';
+
+ let noWorkResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: false
+ });
+
+ let lazyResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: false,
+ syntax: { parse, stringify }
+ });
+
+ equal(noWorkResult.css, lazyResult.css);
+})
+
+// https://github.com/postcss/postcss/issues/1911
+test('no work result matches lazy result when map is true', async () => {
+ let source = '.foo { color: red }\n';
+
+ let noWorkResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: true
+ });
+
+ equal(noWorkResult.css, '.foo { color: red }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvby5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiZm9vLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb28geyBjb2xvcjogcmVkIH1cbiJdfQ== */');
+
+ let lazyResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: true,
+ syntax: { parse, stringify }
+ });
+
+ equal(lazyResult.css, '.foo { color: red }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvby5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXIiwiZmlsZSI6ImZvby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZm9vIHsgY29sb3I6IHJlZCB9XG4iXX0= */');
+})
+
+test('no work result matches lazy result when the source contains an inline source map', async () => {
+ let source = '.foo { color: red }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvby5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXIiwiZmlsZSI6ImZvby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZm9vIHsgY29sb3I6IHJlZCB9XG4iXX0= */\n';
+
+ let noWorkResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: false
+ });
+
+ let lazyResult = await postcss([]).process(source, {
+ from: 'foo.css',
+ map: false,
+ syntax: { parse, stringify }
+ });
+
+ equal(noWorkResult.css, lazyResult.css);
+})
+
+test('no work result matches lazy result when map is true and the source contains an inline source map', async () => {
+ let source = '.foo { color: red }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvby5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXIiwiZmlsZSI6ImZvby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZm9vIHsgY29sb3I6IHJlZCB9XG4iXX0= */\n';
+
+ let lazyResult = await postcss([]).process(source, {
+ from: 'bar.css',
+ map: true,
+ syntax: { parse, stringify }
+ });
+
+ let noWorkResult = await postcss([]).process(source, {
+ from: 'bar.css',
+ map: true
+ });
+
+ equal(noWorkResult.css, lazyResult.css);
+})
+
test.run()
diff --git a/test/parse.test.ts b/test/parse.test.ts
index 21c9544b0..13de89851 100755
--- a/test/parse.test.ts
+++ b/test/parse.test.ts
@@ -15,7 +15,7 @@ eachTest((name, css, json) => {
test(`parses ${name}`, () => {
css = css.replace(/\r\n/g, '\n')
let parsed = jsonify(parse(css, { from: name }))
- equal(JSON.parse(parsed), JSON.parse(json))
+ equal(parsed, json)
})
})
@@ -34,6 +34,12 @@ test('should has false at hasBOM property', () => {
is(css.first?.source?.input.hasBOM, false)
})
+test('parses carrier return', () => {
+ throws(() => {
+ parse('@font-face{ font:(\r/*);} body { a: "a*/)} a{}"}')
+ }, /:1:46: Unclosed string/)
+})
+
test('saves source file', () => {
let css = parse('a {}', { from: 'a.css' })
is(css.first?.source?.input.css, 'a {}')
diff --git a/test/types.ts b/test/types.ts
index ba431938a..316be4ee0 100644
--- a/test/types.ts
+++ b/test/types.ts
@@ -1,10 +1,10 @@
-import postcss, { PluginCreator, Result } from '../lib/postcss.js'
+import postcss, { Document, PluginCreator } from '../lib/postcss.js'
const plugin: PluginCreator = prop => {
return {
Declaration: (decl, { Comment, result }) => {
if (decl.prop === prop) {
- decl.warn(result, `${decl.prop} found`)
+ decl.warn(result, `${decl.prop} found in ${decl.parent?.nodes.length}`)
decl.replaceWith(new Comment({ text: `${decl.prop} removed` }))
}
},
@@ -14,12 +14,20 @@ const plugin: PluginCreator = prop => {
plugin.postcss = true
-const processResult: Promise | Result = postcss([
- plugin
-]).process('h1{color: black;}', { from: undefined })
+postcss([plugin])
+ .process('h1{color: black;}', {
+ from: undefined
+ })
+ .then(result => {
+ console.log(result.root.parent)
+ console.log(result.css)
+ })
-processResult.then((result: Result) => {
- console.log(result.css)
-})
+function parseMarkdown(): Document {
+ return new Document()
+}
+
+let doc = postcss().process('a{}', { parser: parseMarkdown }).root
+console.log(doc.toString())
export default plugin
diff --git a/test/visitor.test.ts b/test/visitor.test.ts
index 251a64ca2..e2a663872 100755
--- a/test/visitor.test.ts
+++ b/test/visitor.test.ts
@@ -18,9 +18,9 @@ import postcss, {
function hasAlready(parent: Container | undefined, selector: string): boolean {
if (typeof parent === 'undefined') return false
- return parent.nodes.some(i => {
+ return parent.nodes?.some(i => {
return i.type === 'rule' && i.selectors.includes(selector)
- })
+ }) ?? false
}
function addIndex(array: any[][]): any[][] {
@@ -1559,9 +1559,9 @@ test('append works after reassigning nodes through .parent', async () => {
OnceExit(root) {
let firstNode = root.nodes[0] as AtRule
let secondNode = root.nodes[1] as AtRule
- let rule2 = secondNode.nodes[0]
+ let rule2 = secondNode.nodes![0]
rule2.parent!.nodes = rule2.parent!.nodes
- firstNode.append(...secondNode.nodes)
+ firstNode.append(...secondNode.nodes!)
secondNode.remove()
},
@@ -1580,7 +1580,7 @@ test('append works after reassigning nodes through .parent', async () => {
let atrule = rule.nodes[0]
- atrule.append(rule.clone({ nodes: [] }).append(...atrule.nodes))
+ atrule.append(rule.clone({ nodes: [] }).append(...atrule.nodes!))
rule.after(atrule)
rule.remove()
diff --git a/tsconfig.json b/tsconfig.json
index 37dc54f8b..8341d6de1 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,7 +3,6 @@
"lib": ["es2018"],
"target": "es2018",
"module": "commonjs",
- "moduleResolution": "node16",
"strict": true,
"noEmit": true
}