update to v2.1.0

add support for querySeletor
add toHTMLElement
clean up comments
fix bug in README
This commit is contained in:
2025-09-13 01:21:22 -04:00
parent 35058fe201
commit c10e8cd345
11 changed files with 258 additions and 166 deletions

View File

@@ -61,7 +61,7 @@ All assume that `$d` is the default function from `fluent-dom-esm` (`import $d f
### Create a Paragraph ### Create a Paragraph
``` ```
$(document.body).app($d $d(document.body).app($d
.c("p") .c("p")
.s("background-color", "yellow") .s("background-color", "yellow")
.s("color", "black") .s("color", "black")
@@ -99,7 +99,7 @@ const $ul = $d
); );
}); });
$(document.body).app($ul); $d(document.body).app($ul);
``` ```
renders (with added spaces) as renders (with added spaces) as
@@ -114,6 +114,32 @@ renders (with added spaces) as
</body> </body>
``` ```
### Access via QuerySelector
Given the [example list above](#create-a-list):
```
$d('#example-list')
.app($d
.c("li")
.id(`fluentDom-example-list-item4`)
.t("List Item 4")
);
```
renders (with added spaces) as
```
<body>
<ul class="example-list" id="example-list">
<li id="fluentDom-example-list-item1">List Item 1</li>
<li id="fluentDom-example-list-item2">List Item 2</li>
<li id="fluentDom-example-list-item3">List Item 3</li>
<li id="fluentDom-example-list-item4">List Item 4</li>
</ul>
</body>
```
## License ## License
Copyright &copy; 2025 Eric Woodward Copyright &copy; 2025 Eric Woodward
@@ -123,8 +149,7 @@ Based on [original source](https://glacius.tmont.com/articles/fluent-dom-manipul
``` ```
This program is free software. It comes without any warranty, to the This program is free software. It comes without any warranty, to the
extent permitted by applicable law. You can redistribute it and/or extent permitted by applicable law. You can redistribute it and/or
modify it under the terms of the Do What The Fuck You Want To Public modify it under the terms of the following license:
License, Version 2, as published by Sam Hocevar.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004 Version 2, December 2004

View File

@@ -4,25 +4,29 @@ const isHTMLElement = (value) => !!value.nodeType;
const isNumber = (value) => typeof value === "number"; const isNumber = (value) => typeof value === "number";
const isString = (value) => typeof value === "string"; const isString = (value) => typeof value === "string";
/** /**
* fluent-dom-esm v2.0.0 * fluent-dom-esm v2.1.0
* *
* Fluent DOM Manipulation, adapted to ESM and cranked up to v2.0(.0). * Fluent DOM Manipulation, adapted to ESM and cranked up to v2.1(.0).
* *
* https://git.itsericwoodward.com/eric/fluent-dom-esm * https://git.itsericwoodward.com/eric/fluent-dom-esm
* *
* v2.0.0 Copyright (c) 2025 Eric Woodward * v2.1.0 Copyright (c) 2025 Eric Woodward
* Original copyright (c) 2009 Tommy Montgomery (https://glacius.tmont.com/articles/fluent-dom-manipulation-in-javascript) * Original copyright (c) 2009 Tommy Montgomery (https://glacius.tmont.com/articles/fluent-dom-manipulation-in-javascript)
* *
* Released under the WTFPL (Do What the Fuck You Want to Public License) * Released under the WTFPL (Do What the Fuck You Want to Public License)
* *
* @author Eric Woodward (v2.0.0 update) * @author Eric Woodward (v2.1.0 update)
* @author Tommy Montgomery (original) * @author Tommy Montgomery (original)
* @license http://sam.zoy.org/wtfpl/ * @license http://sam.zoy.org/wtfpl/
*/ */
const APP_VERSION = "2.0.0"; const APP_VERSION = "2.1.0";
const fluentDomEsm = (function() { const fluentDomEsm = (function() {
const FluentDom = function(node) { const FluentDom = function(nodeOrQuerySelector) {
return new FluentDomInternal(node); if (typeof nodeOrQuerySelector !== "string")
return new FluentDomInternal(nodeOrQuerySelector);
const f = new FluentDomInternal();
f.querySelector(nodeOrQuerySelector);
return f;
}; };
FluentDom.create = FluentDom.c = function(tagName) { FluentDom.create = FluentDom.c = function(tagName) {
const f = new FluentDomInternal(); const f = new FluentDomInternal();
@@ -97,6 +101,10 @@ const fluentDomEsm = (function() {
root.addEventListener(...props); root.addEventListener(...props);
return this; return this;
}; };
this.q = this.querySelector = function(selector) {
root = document.querySelector(selector);
return this;
};
function styleFunction(prop, value) { function styleFunction(prop, value) {
if (!root) { if (!root) {
throw new Error("Cannot get or set style for a non-element"); throw new Error("Cannot get or set style for a non-element");
@@ -118,21 +126,17 @@ const fluentDomEsm = (function() {
this.s = this.style = styleFunction; this.s = this.style = styleFunction;
this.t = this.text = function(text) { this.t = this.text = function(text) {
if (!root) { if (!root) {
throw new Error( throw new Error("Cannot set innerText for a non-element");
"Cannot get or set innerText for a non-element"
);
} }
return this.append(text); return this.append(text);
}; };
this.title = function(title) { this.title = function(title) {
if (!root) { if (!root) {
throw new Error( throw new Error("Cannot get or set title for a non-element");
"Cannot get or set outerHTML for a non-element"
);
} }
return this.attr("title", title); return this.attr("title", title);
}; };
this.toDom = function() { this.toDom = this.toHTMLElement = function() {
return root; return root;
}; };
this.unlisten = function(...props) { this.unlisten = function(...props) {

View File

@@ -16,11 +16,14 @@ export interface FluentDomObject {
id: (id: string) => FluentDomObject; id: (id: string) => FluentDomObject;
l: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject; l: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject;
listen: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject; listen: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject;
q: (selector: string) => FluentDomObject;
querySelector: (selector: string) => FluentDomObject;
s: ((prop: CSSStyleDeclaration) => FluentDomObject) | ((prop: string, value: string) => FluentDomObject); s: ((prop: CSSStyleDeclaration) => FluentDomObject) | ((prop: string, value: string) => FluentDomObject);
style: ((prop: CSSStyleDeclaration) => FluentDomObject) | ((prop: string, value: string) => FluentDomObject); style: ((prop: CSSStyleDeclaration) => FluentDomObject) | ((prop: string, value: string) => FluentDomObject);
t: (text: string) => FluentDomObject; t: (text: string) => FluentDomObject;
text: (text: string) => FluentDomObject; text: (text: string) => FluentDomObject;
title: (title: string) => FluentDomObject; title: (title: string) => FluentDomObject;
toDom: () => HTMLElement | null; toDom: () => HTMLElement | null;
toHTMLElement: () => HTMLElement | null;
unlisten: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject; unlisten: (type: keyof HTMLElementEventMap, listener: () => {}, optionsOrUseCapture?: boolean | object) => FluentDomObject;
} }

View File

@@ -47,6 +47,10 @@ figure {
color: #347c7a; color: #347c7a;
} }
.code-cmnt {
color: #ccc;
}
.code-dom { .code-dom {
color: var(--main-light); color: var(--main-light);
} }

View File

@@ -11,21 +11,27 @@
<script type="module"> <script type="module">
import $d from "/src/fluent-dom-esm.ts"; import $d from "/src/fluent-dom-esm.ts";
// Create new objects in memory with a simple, chainable interface
const $article = $d const $article = $d
.c("article") .create("article")
.id("fde-article") .id("fde-article")
.cls("cool-article") .className("cool-article")
.app($d.c("h1").cls("cool-heading").t("fluent-dom-esm")) .append(
.app(
$d $d
.c("p") .create("h1")
.s("background-color", "#db7c17") .className("cool-heading")
.s("color", "var(--main-dark)") .text("fluent-dom-esm"),
.t("Why is it so cool?"), )
.append(
$d
.create("p")
.style("background-color", "#db7c17")
.style("color", "var(--main-dark)")
.text("Why is it so cool?"),
); );
// Or if you prefer the shorter syntax...
const $ul = $d.c("ul").id("fluentDom-example-list"); const $ul = $d.c("ul").id("fluentDom-example-list");
[ [
"Remarkably simple syntax", "Remarkably simple syntax",
"Surprisingly powerful features", "Surprisingly powerful features",
@@ -35,10 +41,12 @@
$d $d
.c("li") .c("li")
.id(`fluentDom-example-list-item${idx + 1}`) .id(`fluentDom-example-list-item${idx + 1}`)
.s("font-style", "italic")
.t(reason), .t(reason),
); );
}); });
// HTMLElements an also be wrapped and combined with other in-memory objects
$d(document.body).app( $d(document.body).app(
$article $article
.app($ul) .app($ul)
@@ -46,6 +54,14 @@
$d.c("em").t("Try it today!").style("color", "#c43a19"), $d.c("em").t("Try it today!").style("color", "#c43a19"),
), ),
); );
// Or pass in a querySelector value to wrap the first matching element
$d("#fluentDom-example-list").app(
$d
.c("li")
.id("fluentDom-example-list-itemExtra")
.t("More features coming soon"),
);
</script> </script>
<script type="module"> <script type="module">
@@ -58,21 +74,27 @@
\<script type="module"> \<script type="module">
import $d from "/src/fluent-dom-esm.ts"; import $d from "/src/fluent-dom-esm.ts";
// Create new objects in memory with a simple, chainable interface
const $article = $d const $article = $d
.c("article") .create("article")
.id("fde-article") .id("fde-article")
.cls("cool-article") .className("cool-article")
.app($d.c("h1").cls("cool-heading").t("fluent-dom-esm")) .append(
.app(
$d $d
.c("p") .create("h1")
.s("background-color", "#db7c17") .className("cool-heading")
.s("color", "var(--main-dark)") .text("fluent-dom-esm"),
.t("Why is it so cool?"), )
.append(
$d
.create("p")
.style("background-color", "#db7c17")
.style("color", "var(--main-dark)")
.text("Why is it so cool?"),
); );
// Or if you prefer the shorter syntax
const $ul = $d.c("ul").id("fluentDom-example-list"); const $ul = $d.c("ul").id("fluentDom-example-list");
[ [
"Remarkably simple syntax", "Remarkably simple syntax",
"Surprisingly powerful features", "Surprisingly powerful features",
@@ -82,10 +104,12 @@
$d $d
.c("li") .c("li")
.id(\`fluentDom-example-list-item$\{idx + 1}\`) .id(\`fluentDom-example-list-item$\{idx + 1}\`)
.s("font-style", "italic")
.t(reason), .t(reason),
); );
}); });
// HTMLElements can also be wrapped and combined with other in-memory objects
$d(document.body).app( $d(document.body).app(
$article $article
.app($ul) .app($ul)
@@ -94,6 +118,14 @@
), ),
); );
// Or pass in a querySelector value to wrap the first matching element
$d("#fluentDom-example-list").app(
$d
.c("li")
.id("fluentDom-example-list-itemExtra")
.t("More features coming soon"),
);
<\/script> <\/script>
` `
.trim() .trim()
@@ -112,6 +144,10 @@
? `<span class="code-str">${val}</span>` ? `<span class="code-str">${val}</span>`
: val, : val,
) )
.replace(
/\/\/.*/g,
(val) => `<span class="code-cmnt">${val}</span>`,
)
.replace( .replace(
/\`[^`]+\`/g, /\`[^`]+\`/g,
(val) => `<span class="code-str">${val}</span>`, (val) => `<span class="code-str">${val}</span>`,

View File

@@ -1,5 +1,5 @@
{ {
"name": "@itsericwoodward/fluent-dom-esm", "name": "@itsericwoodward/fluent-dom-esm",
"version": "2.0.0", "version": "2.1.0",
"exports": "./src/fluent-dom-esm.ts" "exports": "./src/fluent-dom-esm.ts"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "fluent-dom-esm", "name": "fluent-dom-esm",
"version": "2.0.0", "version": "2.1.0",
"description": "", "description": "",
"license": "WTFPL", "license": "WTFPL",
"exports": { "exports": {
@@ -27,7 +27,7 @@
"prettier": "^3.6.2", "prettier": "^3.6.2",
"typescript": "^5.9.2", "typescript": "^5.9.2",
"unplugin-dts": "1.0.0-beta.6", "unplugin-dts": "1.0.0-beta.6",
"vite": "^7.1.4" "vite": "^7.1.5"
}, },
"packageManager": "yarn@4.9.4" "packageManager": "yarn@4.9.4"
} }

View File

@@ -47,6 +47,10 @@ figure {
color: #347c7a; color: #347c7a;
} }
.code-cmnt {
color: #ccc;
}
.code-dom { .code-dom {
color: var(--main-light); color: var(--main-light);
} }

View File

@@ -1,16 +1,16 @@
/** /**
* fluent-dom-esm v2.0.0 * fluent-dom-esm v2.1.0
* *
* Fluent DOM Manipulation, adapted to ESM and cranked up to v2.0(.0). * Fluent DOM Manipulation, adapted to ESM and cranked up to v2.1(.0).
* *
* https://git.itsericwoodward.com/eric/fluent-dom-esm * https://git.itsericwoodward.com/eric/fluent-dom-esm
* *
* v2.0.0 Copyright (c) 2025 Eric Woodward * v2.1.0 Copyright (c) 2025 Eric Woodward
* Original copyright (c) 2009 Tommy Montgomery (https://glacius.tmont.com/articles/fluent-dom-manipulation-in-javascript) * Original copyright (c) 2009 Tommy Montgomery (https://glacius.tmont.com/articles/fluent-dom-manipulation-in-javascript)
* *
* Released under the WTFPL (Do What the Fuck You Want to Public License) * Released under the WTFPL (Do What the Fuck You Want to Public License)
* *
* @author Eric Woodward (v2.0.0 update) * @author Eric Woodward (v2.1.0 update)
* @author Tommy Montgomery (original) * @author Tommy Montgomery (original)
* @license http://sam.zoy.org/wtfpl/ * @license http://sam.zoy.org/wtfpl/
*/ */
@@ -24,7 +24,7 @@ import {
isString, isString,
} from "./fluent-dom-esm.type-guards"; } from "./fluent-dom-esm.type-guards";
const APP_VERSION = "2.0.0"; const APP_VERSION = "2.1.0";
/** /**
* IIFE that creates the FluentDomObject as default export * IIFE that creates the FluentDomObject as default export
@@ -33,8 +33,13 @@ export default (function () {
/** /**
* Wraps provided element in a FluentDomObject which is then returned * Wraps provided element in a FluentDomObject which is then returned
*/ */
const FluentDom = function (node: HTMLElement) { const FluentDom = function (nodeOrQuerySelector: string | HTMLElement) {
return new (FluentDomInternal as any)(node); if (typeof nodeOrQuerySelector !== "string")
return new (FluentDomInternal as any)(nodeOrQuerySelector);
const f = new (FluentDomInternal as any)();
f.querySelector(nodeOrQuerySelector);
return f;
}; };
/** /**
@@ -168,8 +173,13 @@ export default (function () {
return this; return this;
}; };
this.q = this.querySelector = function (selector: string) {
root = document.querySelector(selector);
return this;
};
/** /**
* Gets or sets a one or more style attributes on the wrapped HTMLElement * Sets one or more style attributes on the wrapped HTMLElement
*/ */
function styleFunction( function styleFunction(
this: FluentDomObject, this: FluentDomObject,
@@ -211,35 +221,31 @@ export default (function () {
this.s = this.style = styleFunction; this.s = this.style = styleFunction;
/** /**
* Gets or sets the wrapped HTMLElement's "innerText" property * Sets the wrapped HTMLElement's "innerText" property via `this.append`
*/ */
this.t = this.text = function (text) { this.t = this.text = function (text) {
if (!root) { if (!root) {
throw new Error( throw new Error("Cannot set innerText for a non-element");
"Cannot get or set innerText for a non-element",
);
} }
return this.append(text); return this.append(text);
}; };
/** /**
* Gets or sets the "title" attribute on the wrapped HTMLElement * Sets the "title" attribute on the wrapped HTMLElement
*/ */
this.title = function (title) { this.title = function (title) {
if (!root) { if (!root) {
throw new Error( throw new Error("Cannot get or set title for a non-element");
"Cannot get or set outerHTML for a non-element",
);
} }
return this.attr("title", title); return this.attr("title", title);
}; };
/** /**
* Gets the wrapped HTMLElement itself * Gets the wrapped HTMLElement
*/ */
this.toDom = function () { this.toDom = this.toHTMLElement = function () {
return root; return root;
}; };

View File

@@ -6,15 +6,19 @@ export interface FluentDomObject {
append: (obj: FluentDomObject | HTMLElement | string) => FluentDomObject; append: (obj: FluentDomObject | HTMLElement | string) => FluentDomObject;
attr: (name: string, value: string) => FluentDomObject; attr: (name: string, value: string) => FluentDomObject;
c: (tagName: string) => FluentDomObject; c: (tagName: string) => FluentDomObject;
create: (tagName: string) => FluentDomObject; create: (tagName: string) => FluentDomObject;
className: (className: string) => FluentDomObject; className: (className: string) => FluentDomObject;
clear: () => FluentDomObject; clear: () => FluentDomObject;
cls: (className: string) => FluentDomObject; cls: (className: string) => FluentDomObject;
clr: () => FluentDomObject; clr: () => FluentDomObject;
h: (url: string) => FluentDomObject; h: (url: string) => FluentDomObject;
href: (url: string) => FluentDomObject; href: (url: string) => FluentDomObject;
html: (content: string) => FluentDomObject; html: (content: string) => FluentDomObject;
id: (id: string) => FluentDomObject; id: (id: string) => FluentDomObject;
l: ( l: (
type: keyof HTMLElementEventMap, type: keyof HTMLElementEventMap,
listener: () => {}, listener: () => {},
@@ -25,6 +29,10 @@ export interface FluentDomObject {
listener: () => {}, listener: () => {},
optionsOrUseCapture?: boolean | object, optionsOrUseCapture?: boolean | object,
) => FluentDomObject; ) => FluentDomObject;
q: (selector: string) => FluentDomObject;
querySelector: (selector: string) => FluentDomObject;
s: s:
| ((prop: CSSStyleDeclaration) => FluentDomObject) | ((prop: CSSStyleDeclaration) => FluentDomObject)
| ((prop: string, value: string) => FluentDomObject); | ((prop: string, value: string) => FluentDomObject);
@@ -36,6 +44,8 @@ export interface FluentDomObject {
text: (text: string) => FluentDomObject; text: (text: string) => FluentDomObject;
title: (title: string) => FluentDomObject; title: (title: string) => FluentDomObject;
toDom: () => HTMLElement | null; toDom: () => HTMLElement | null;
toHTMLElement: () => HTMLElement | null;
unlisten: ( unlisten: (
type: keyof HTMLElementEventMap, type: keyof HTMLElementEventMap,
listener: () => {}, listener: () => {},

218
yarn.lock
View File

@@ -245,12 +245,12 @@ __metadata:
linkType: hard linkType: hard
"@jridgewell/trace-mapping@npm:^0.3.24": "@jridgewell/trace-mapping@npm:^0.3.24":
version: 0.3.30 version: 0.3.31
resolution: "@jridgewell/trace-mapping@npm:0.3.30" resolution: "@jridgewell/trace-mapping@npm:0.3.31"
dependencies: dependencies:
"@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/resolve-uri": "npm:^3.1.0"
"@jridgewell/sourcemap-codec": "npm:^1.4.14" "@jridgewell/sourcemap-codec": "npm:^1.4.14"
checksum: 10c0/3a1516c10f44613b9ba27c37a02ff8f410893776b2b3dad20a391b51b884dd60f97bbb56936d65d2ff8fe978510a0000266654ab8426bdb9ceb5fb4585b19e23 checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9
languageName: node languageName: node
linkType: hard linkType: hard
@@ -299,149 +299,149 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-android-arm-eabi@npm:4.50.0": "@rollup/rollup-android-arm-eabi@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-android-arm-eabi@npm:4.50.0" resolution: "@rollup/rollup-android-arm-eabi@npm:4.50.1"
conditions: os=android & cpu=arm conditions: os=android & cpu=arm
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-android-arm64@npm:4.50.0": "@rollup/rollup-android-arm64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-android-arm64@npm:4.50.0" resolution: "@rollup/rollup-android-arm64@npm:4.50.1"
conditions: os=android & cpu=arm64 conditions: os=android & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-darwin-arm64@npm:4.50.0": "@rollup/rollup-darwin-arm64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-darwin-arm64@npm:4.50.0" resolution: "@rollup/rollup-darwin-arm64@npm:4.50.1"
conditions: os=darwin & cpu=arm64 conditions: os=darwin & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-darwin-x64@npm:4.50.0": "@rollup/rollup-darwin-x64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-darwin-x64@npm:4.50.0" resolution: "@rollup/rollup-darwin-x64@npm:4.50.1"
conditions: os=darwin & cpu=x64 conditions: os=darwin & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-freebsd-arm64@npm:4.50.0": "@rollup/rollup-freebsd-arm64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.0" resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.1"
conditions: os=freebsd & cpu=arm64 conditions: os=freebsd & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-freebsd-x64@npm:4.50.0": "@rollup/rollup-freebsd-x64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-freebsd-x64@npm:4.50.0" resolution: "@rollup/rollup-freebsd-x64@npm:4.50.1"
conditions: os=freebsd & cpu=x64 conditions: os=freebsd & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0": "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0" resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.1"
conditions: os=linux & cpu=arm & libc=glibc conditions: os=linux & cpu=arm & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-arm-musleabihf@npm:4.50.0": "@rollup/rollup-linux-arm-musleabihf@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.0" resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.1"
conditions: os=linux & cpu=arm & libc=musl conditions: os=linux & cpu=arm & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-arm64-gnu@npm:4.50.0": "@rollup/rollup-linux-arm64-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.1"
conditions: os=linux & cpu=arm64 & libc=glibc conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-arm64-musl@npm:4.50.0": "@rollup/rollup-linux-arm64-musl@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.0" resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.1"
conditions: os=linux & cpu=arm64 & libc=musl conditions: os=linux & cpu=arm64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0": "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.1"
conditions: os=linux & cpu=loong64 & libc=glibc conditions: os=linux & cpu=loong64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-ppc64-gnu@npm:4.50.0": "@rollup/rollup-linux-ppc64-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.1"
conditions: os=linux & cpu=ppc64 & libc=glibc conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-riscv64-gnu@npm:4.50.0": "@rollup/rollup-linux-riscv64-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.1"
conditions: os=linux & cpu=riscv64 & libc=glibc conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-riscv64-musl@npm:4.50.0": "@rollup/rollup-linux-riscv64-musl@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.0" resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.1"
conditions: os=linux & cpu=riscv64 & libc=musl conditions: os=linux & cpu=riscv64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-s390x-gnu@npm:4.50.0": "@rollup/rollup-linux-s390x-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.1"
conditions: os=linux & cpu=s390x & libc=glibc conditions: os=linux & cpu=s390x & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-x64-gnu@npm:4.50.0": "@rollup/rollup-linux-x64-gnu@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.0" resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.1"
conditions: os=linux & cpu=x64 & libc=glibc conditions: os=linux & cpu=x64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-linux-x64-musl@npm:4.50.0": "@rollup/rollup-linux-x64-musl@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.0" resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.1"
conditions: os=linux & cpu=x64 & libc=musl conditions: os=linux & cpu=x64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-openharmony-arm64@npm:4.50.0": "@rollup/rollup-openharmony-arm64@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.0" resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.1"
conditions: os=openharmony & cpu=arm64 conditions: os=openharmony & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-win32-arm64-msvc@npm:4.50.0": "@rollup/rollup-win32-arm64-msvc@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.0" resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.1"
conditions: os=win32 & cpu=arm64 conditions: os=win32 & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-win32-ia32-msvc@npm:4.50.0": "@rollup/rollup-win32-ia32-msvc@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.0" resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.1"
conditions: os=win32 & cpu=ia32 conditions: os=win32 & cpu=ia32
languageName: node languageName: node
linkType: hard linkType: hard
"@rollup/rollup-win32-x64-msvc@npm:4.50.0": "@rollup/rollup-win32-x64-msvc@npm:4.50.1":
version: 4.50.0 version: 4.50.1
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.0" resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.1"
conditions: os=win32 & cpu=x64 conditions: os=win32 & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
@@ -511,9 +511,9 @@ __metadata:
linkType: hard linkType: hard
"ansi-regex@npm:^6.0.1": "ansi-regex@npm:^6.0.1":
version: 6.2.0 version: 6.2.2
resolution: "ansi-regex@npm:6.2.0" resolution: "ansi-regex@npm:6.2.2"
checksum: 10c0/20a2e55ae9816074a60e6729dbe3daad664cd967fc82acc08b02f5677db84baa688babf940d71f50acbbb184c02459453789705e079f4d521166ae66451de551 checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f
languageName: node languageName: node
linkType: hard linkType: hard
@@ -527,9 +527,9 @@ __metadata:
linkType: hard linkType: hard
"ansi-styles@npm:^6.1.0": "ansi-styles@npm:^6.1.0":
version: 6.2.1 version: 6.2.3
resolution: "ansi-styles@npm:6.2.1" resolution: "ansi-styles@npm:6.2.3"
checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868
languageName: node languageName: node
linkType: hard linkType: hard
@@ -809,7 +809,7 @@ __metadata:
prettier: "npm:^3.6.2" prettier: "npm:^3.6.2"
typescript: "npm:^5.9.2" typescript: "npm:^5.9.2"
unplugin-dts: "npm:1.0.0-beta.6" unplugin-dts: "npm:1.0.0-beta.6"
vite: "npm:^7.1.4" vite: "npm:^7.1.5"
languageName: unknown languageName: unknown
linkType: soft linkType: soft
@@ -984,11 +984,11 @@ __metadata:
linkType: hard linkType: hard
"magic-string@npm:^0.30.17": "magic-string@npm:^0.30.17":
version: 0.30.18 version: 0.30.19
resolution: "magic-string@npm:0.30.18" resolution: "magic-string@npm:0.30.19"
dependencies: dependencies:
"@jridgewell/sourcemap-codec": "npm:^1.5.5" "@jridgewell/sourcemap-codec": "npm:^1.5.5"
checksum: 10c0/80fba01e13ce1f5c474a0498a5aa462fa158eb56567310747089a0033e432d83a2021ee2c109ac116010cd9dcf90a5231d89fbe3858165f73c00a50a74dbefcd checksum: 10c0/db23fd2e2ee98a1aeb88a4cdb2353137fcf05819b883c856dd79e4c7dfb25151e2a5a4d5dbd88add5e30ed8ae5c51bcf4accbc6becb75249d924ec7b4fbcae27
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1304,30 +1304,30 @@ __metadata:
linkType: hard linkType: hard
"rollup@npm:^4.43.0": "rollup@npm:^4.43.0":
version: 4.50.0 version: 4.50.1
resolution: "rollup@npm:4.50.0" resolution: "rollup@npm:4.50.1"
dependencies: dependencies:
"@rollup/rollup-android-arm-eabi": "npm:4.50.0" "@rollup/rollup-android-arm-eabi": "npm:4.50.1"
"@rollup/rollup-android-arm64": "npm:4.50.0" "@rollup/rollup-android-arm64": "npm:4.50.1"
"@rollup/rollup-darwin-arm64": "npm:4.50.0" "@rollup/rollup-darwin-arm64": "npm:4.50.1"
"@rollup/rollup-darwin-x64": "npm:4.50.0" "@rollup/rollup-darwin-x64": "npm:4.50.1"
"@rollup/rollup-freebsd-arm64": "npm:4.50.0" "@rollup/rollup-freebsd-arm64": "npm:4.50.1"
"@rollup/rollup-freebsd-x64": "npm:4.50.0" "@rollup/rollup-freebsd-x64": "npm:4.50.1"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.50.0" "@rollup/rollup-linux-arm-gnueabihf": "npm:4.50.1"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.50.0" "@rollup/rollup-linux-arm-musleabihf": "npm:4.50.1"
"@rollup/rollup-linux-arm64-gnu": "npm:4.50.0" "@rollup/rollup-linux-arm64-gnu": "npm:4.50.1"
"@rollup/rollup-linux-arm64-musl": "npm:4.50.0" "@rollup/rollup-linux-arm64-musl": "npm:4.50.1"
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.50.0" "@rollup/rollup-linux-loongarch64-gnu": "npm:4.50.1"
"@rollup/rollup-linux-ppc64-gnu": "npm:4.50.0" "@rollup/rollup-linux-ppc64-gnu": "npm:4.50.1"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.50.0" "@rollup/rollup-linux-riscv64-gnu": "npm:4.50.1"
"@rollup/rollup-linux-riscv64-musl": "npm:4.50.0" "@rollup/rollup-linux-riscv64-musl": "npm:4.50.1"
"@rollup/rollup-linux-s390x-gnu": "npm:4.50.0" "@rollup/rollup-linux-s390x-gnu": "npm:4.50.1"
"@rollup/rollup-linux-x64-gnu": "npm:4.50.0" "@rollup/rollup-linux-x64-gnu": "npm:4.50.1"
"@rollup/rollup-linux-x64-musl": "npm:4.50.0" "@rollup/rollup-linux-x64-musl": "npm:4.50.1"
"@rollup/rollup-openharmony-arm64": "npm:4.50.0" "@rollup/rollup-openharmony-arm64": "npm:4.50.1"
"@rollup/rollup-win32-arm64-msvc": "npm:4.50.0" "@rollup/rollup-win32-arm64-msvc": "npm:4.50.1"
"@rollup/rollup-win32-ia32-msvc": "npm:4.50.0" "@rollup/rollup-win32-ia32-msvc": "npm:4.50.1"
"@rollup/rollup-win32-x64-msvc": "npm:4.50.0" "@rollup/rollup-win32-x64-msvc": "npm:4.50.1"
"@types/estree": "npm:1.0.8" "@types/estree": "npm:1.0.8"
fsevents: "npm:~2.3.2" fsevents: "npm:~2.3.2"
dependenciesMeta: dependenciesMeta:
@@ -1377,7 +1377,7 @@ __metadata:
optional: true optional: true
bin: bin:
rollup: dist/bin/rollup rollup: dist/bin/rollup
checksum: 10c0/8a9aa0885b61ee08315cdc097fb9f97b626a0992546a6857d7668f4690a7344d8497fa7504e4dba03acefc77f03d90fec3c11bfa80777177e76ea5d8c18ddc97 checksum: 10c0/2029282826d5fb4e308be261b2c28329a4d2bd34304cc3960da69fd21d5acccd0267d6770b1656ffc8f166203ef7e865b4583d5f842a519c8ef059ac71854205
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1496,11 +1496,11 @@ __metadata:
linkType: hard linkType: hard
"strip-ansi@npm:^7.0.1": "strip-ansi@npm:^7.0.1":
version: 7.1.0 version: 7.1.2
resolution: "strip-ansi@npm:7.1.0" resolution: "strip-ansi@npm:7.1.2"
dependencies: dependencies:
ansi-regex: "npm:^6.0.1" ansi-regex: "npm:^6.0.1"
checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 checksum: 10c0/0d6d7a023de33368fd042aab0bf48f4f4077abdfd60e5393e73c7c411e85e1b3a83507c11af2e656188511475776215df9ca589b4da2295c9455cc399ce1858b
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1518,7 +1518,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14": "tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15":
version: 0.2.15 version: 0.2.15
resolution: "tinyglobby@npm:0.2.15" resolution: "tinyglobby@npm:0.2.15"
dependencies: dependencies:
@@ -1628,9 +1628,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"vite@npm:^7.1.4": "vite@npm:^7.1.5":
version: 7.1.4 version: 7.1.5
resolution: "vite@npm:7.1.4" resolution: "vite@npm:7.1.5"
dependencies: dependencies:
esbuild: "npm:^0.25.0" esbuild: "npm:^0.25.0"
fdir: "npm:^6.5.0" fdir: "npm:^6.5.0"
@@ -1638,7 +1638,7 @@ __metadata:
picomatch: "npm:^4.0.3" picomatch: "npm:^4.0.3"
postcss: "npm:^8.5.6" postcss: "npm:^8.5.6"
rollup: "npm:^4.43.0" rollup: "npm:^4.43.0"
tinyglobby: "npm:^0.2.14" tinyglobby: "npm:^0.2.15"
peerDependencies: peerDependencies:
"@types/node": ^20.19.0 || >=22.12.0 "@types/node": ^20.19.0 || >=22.12.0
jiti: ">=1.21.0" jiti: ">=1.21.0"
@@ -1679,7 +1679,7 @@ __metadata:
optional: true optional: true
bin: bin:
vite: bin/vite.js vite: bin/vite.js
checksum: 10c0/dbe2ba29926ffe8985c93d1b3718dcc9040080b7fa10a74c82a52aad7449136a391ba17b265288ff03b864e6f1033b9b537247521a96d5491a9d4af90ac04702 checksum: 10c0/782d2f20c25541b26d1fb39bef5f194149caff39dc25b7836e25f049ca919f2e2ce186bddb21f3f20f6195354b3579ec637a8ca08d65b117f8b6f81e3e730a9c
languageName: node languageName: node
linkType: hard linkType: hard