mirror of
https://codeberg.org/readeck/readeck.git
synced 2025-12-22 05:07:08 +00:00
Merge branch 'release'
This commit is contained in:
@@ -10,22 +10,24 @@ import (
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
"github.com/go-shiori/dom"
|
||||
"golang.org/x/net/html"
|
||||
"golang.org/x/net/html/atom"
|
||||
|
||||
"github.com/go-shiori/dom"
|
||||
)
|
||||
|
||||
// Policy holds the cleaning rules and provides methods to
|
||||
// perform the DOM cleaning.
|
||||
type Policy struct {
|
||||
blockAttrs []*regexp.Regexp
|
||||
elementMap map[string]string
|
||||
elementMap map[string]tagRule
|
||||
}
|
||||
|
||||
// New creates a new cleaning policy.
|
||||
func New(blockAttrs []*regexp.Regexp, elementMap map[string]string) Policy {
|
||||
func New(blockAttrs []*regexp.Regexp, elements map[string]tagRule) Policy {
|
||||
return Policy{
|
||||
blockAttrs: blockAttrs,
|
||||
elementMap: elementMap,
|
||||
elementMap: elements,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,24 +57,35 @@ func (p Policy) Clean(top *html.Node) {
|
||||
p.cleanAttributes(top)
|
||||
}
|
||||
|
||||
// cleanTags discards unwanted tags from all nodes.
|
||||
// cleanTags cleans up all the [html.Node] children.
|
||||
// It applies, in one pass, a removal or renaming of elements.
|
||||
func (p *Policy) cleanTags(top *html.Node) {
|
||||
// Remove unwanted tags
|
||||
dom.RemoveNodes(dom.QuerySelectorAll(top, "*"), func(node *html.Node) bool {
|
||||
if e, ok := p.elementMap[dom.TagName(node)]; ok && e == "-" {
|
||||
if node.Type != html.ElementNode {
|
||||
return false
|
||||
}
|
||||
name := node.Data
|
||||
|
||||
rule, exists := p.elementMap[name]
|
||||
if rule&tagRemove > 0 {
|
||||
// Remove tag, done
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
|
||||
// Rename tags
|
||||
dom.ForEachNode(dom.QuerySelectorAll(top, "*"), func(node *html.Node, _ int) {
|
||||
if e, ok := p.elementMap[dom.TagName(node)]; ok && e != "" && e != "-" {
|
||||
node.Data = e
|
||||
} else if !ok {
|
||||
// unknown tags become div
|
||||
node.Data = "div"
|
||||
// Rename tag when it's unknown or has the [tagRename] flag.
|
||||
if !exists || rule&tagRename > 0 {
|
||||
if _, ok := blockTags[name]; ok || !exists {
|
||||
// a block or unknown tag becomes a div
|
||||
node.Data = "div"
|
||||
node.DataAtom = atom.Div
|
||||
} else {
|
||||
// otherwise, a span
|
||||
node.Data = "span"
|
||||
node.DataAtom = atom.Span
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
})
|
||||
}
|
||||
|
||||
@@ -97,18 +110,18 @@ func (p *Policy) cleanAttributes(top *html.Node) {
|
||||
// empty means: no child nodes, no attributes and no text content.
|
||||
func (p Policy) RemoveEmptyNodes(top *html.Node) {
|
||||
dom.RemoveNodes(dom.QuerySelectorAll(top, "*"), func(node *html.Node) bool {
|
||||
// Keep self closing tags
|
||||
if _, ok := selfClosingTags[dom.TagName(node)]; ok {
|
||||
if node.Type != html.ElementNode {
|
||||
return false
|
||||
}
|
||||
name := node.Data
|
||||
|
||||
// Keep tags that are explicitly allowed to be empty, e.g. <hr>
|
||||
if p.elementMap[name]&tagKeepEmpty > 0 {
|
||||
return false
|
||||
}
|
||||
|
||||
// Keep <a name> tags
|
||||
if dom.TagName(node) == "a" && dom.GetAttribute(node, "name") != "" {
|
||||
return false
|
||||
}
|
||||
|
||||
// Keep td and th
|
||||
if dom.TagName(node) == "td" || dom.TagName(node) == "th" {
|
||||
if name == "a" && dom.GetAttribute(node, "name") != "" {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -118,7 +131,7 @@ func (p Policy) RemoveEmptyNodes(top *html.Node) {
|
||||
}
|
||||
|
||||
// Keep nodes with any text
|
||||
if _, ok := blockTags[dom.TagName(node)]; ok {
|
||||
if _, ok := blockTags[name]; ok {
|
||||
// We can remove block tags with only spaces
|
||||
if strings.TrimFunc(dom.TextContent(node), isHTMLSpace) != "" {
|
||||
return false
|
||||
@@ -129,7 +142,7 @@ func (p Policy) RemoveEmptyNodes(top *html.Node) {
|
||||
}
|
||||
|
||||
// Remove node unless it's the document body
|
||||
return dom.TagName(node) != "body"
|
||||
return name != "body"
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,13 @@ func TestClean(t *testing.T) {
|
||||
`<div><custom><script>alert("test")</script></custom></div>`,
|
||||
`<body><div><div></div></div></body>`,
|
||||
},
|
||||
{
|
||||
func(n *html.Node) {
|
||||
bleach.DefaultPolicy.Clean(n)
|
||||
},
|
||||
`<p><font>test</font></div>`,
|
||||
`<body><p><span>test</span></p></body>`,
|
||||
},
|
||||
{
|
||||
func(n *html.Node) {
|
||||
bleach.DefaultPolicy.Clean(n)
|
||||
@@ -102,6 +109,11 @@ func TestClean(t *testing.T) {
|
||||
`<body><table><tbody><tr><td></td><td>test</td></tr>
|
||||
<tr><td>A</td><td>B</td></tr></tbody></table></body>`,
|
||||
},
|
||||
{
|
||||
bleach.DefaultPolicy.RemoveEmptyNodes,
|
||||
`<math><mtable><mrow><mtd></mtd><mtd>2</mtd></mrow><mrow></mrow></mtable><mspace></mspace></math>`,
|
||||
`<body><math><mtable><mrow><mtd></mtd><mtd>2</mtd></mrow><mrow></mrow></mtable><mspace></mspace></math></body>`,
|
||||
},
|
||||
{
|
||||
bleach.DefaultPolicy.SetLinkRel,
|
||||
`<p><a href="foo">link</a></p>`,
|
||||
|
||||
@@ -6,25 +6,14 @@ package bleach
|
||||
|
||||
import "strings"
|
||||
|
||||
var selfClosingTags = map[string]struct{}{
|
||||
"area": {},
|
||||
"base": {},
|
||||
"br": {},
|
||||
"col": {},
|
||||
"command": {},
|
||||
"embed": {},
|
||||
"hr": {},
|
||||
"img": {},
|
||||
"input": {},
|
||||
"keygen": {},
|
||||
"link": {},
|
||||
"menuitem": {},
|
||||
"meta": {},
|
||||
"param": {},
|
||||
"source": {},
|
||||
"track": {},
|
||||
"wbr": {},
|
||||
}
|
||||
type tagRule uint8
|
||||
|
||||
const (
|
||||
tagKeep = 1 << iota
|
||||
tagKeepEmpty
|
||||
tagRemove
|
||||
tagRename
|
||||
)
|
||||
|
||||
var blockTags = map[string]struct{}{
|
||||
"address": {},
|
||||
@@ -64,177 +53,178 @@ var blockTags = map[string]struct{}{
|
||||
}
|
||||
|
||||
// elementMap is the map of all known elements
|
||||
// and what they can be transformed to.
|
||||
// A value of "-" means the elements must be removed.
|
||||
// and the [tagRule]s that apply to them.
|
||||
// As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element
|
||||
var elementMap = map[string]string{
|
||||
"a": "",
|
||||
"abbr": "",
|
||||
"acronym": "",
|
||||
"address": "",
|
||||
"applet": "-", // remove
|
||||
"area": "",
|
||||
"article": "",
|
||||
"aside": "",
|
||||
"audio": "-", // remove
|
||||
"b": "",
|
||||
"base": "-", // remove
|
||||
"bdi": "",
|
||||
"bdo": "",
|
||||
"big": "",
|
||||
"blockquote": "",
|
||||
"body": "",
|
||||
"br": "",
|
||||
"button": "-", // remove
|
||||
"canvas": "-", // remove
|
||||
"caption": "",
|
||||
"center": "",
|
||||
"cite": "",
|
||||
"code": "",
|
||||
"col": "",
|
||||
"colgroup": "",
|
||||
"data": "",
|
||||
"datalist": "",
|
||||
"dd": "",
|
||||
"del": "",
|
||||
"details": "",
|
||||
"dfn": "",
|
||||
"dialog": "-", // remove
|
||||
"dir": "",
|
||||
"div": "",
|
||||
"dl": "",
|
||||
"dt": "",
|
||||
"em": "",
|
||||
"embed": "-", // remove
|
||||
"fieldset": "div",
|
||||
"figcaption": "",
|
||||
"figure": "",
|
||||
"font": "span",
|
||||
"footer": "",
|
||||
"form": "div",
|
||||
"frame": "-", // remove
|
||||
"frameset": "-", // remove
|
||||
"h1": "",
|
||||
"h2": "",
|
||||
"h3": "",
|
||||
"h4": "",
|
||||
"h5": "",
|
||||
"h6": "",
|
||||
"head": "-", // remove
|
||||
"header": "",
|
||||
"hgroup": "",
|
||||
"hr": "",
|
||||
"html": "",
|
||||
"i": "",
|
||||
"iframe": "-", // remove
|
||||
"image": "",
|
||||
"img": "",
|
||||
"input": "-", // remove
|
||||
"ins": "",
|
||||
"kbd": "",
|
||||
"label": "",
|
||||
"legend": "",
|
||||
"li": "",
|
||||
"link": "-", // remove
|
||||
"main": "",
|
||||
"map": "",
|
||||
"mark": "",
|
||||
"marquee": "",
|
||||
"menu": "",
|
||||
"menuitem": "",
|
||||
"meta": "-", // remove
|
||||
"meter": "",
|
||||
"nav": "",
|
||||
"nobr": "",
|
||||
"noembed": "div",
|
||||
"noframes": "div",
|
||||
"noscript": "div",
|
||||
"object": "-", // remove
|
||||
"ol": "",
|
||||
"optgroup": "",
|
||||
"option": "",
|
||||
"output": "",
|
||||
"p": "",
|
||||
"param": "-", // remove
|
||||
"picture": "",
|
||||
"plaintext": "",
|
||||
"portal": "-", // remove
|
||||
"pre": "",
|
||||
"progress": "",
|
||||
"q": "",
|
||||
"rb": "",
|
||||
"rp": "",
|
||||
"rt": "",
|
||||
"rtc": "",
|
||||
"ruby": "",
|
||||
"s": "",
|
||||
"samp": "",
|
||||
"script": "-", // remove
|
||||
"search": "",
|
||||
"section": "",
|
||||
"select": "-", // remove
|
||||
"slot": "-", // remove
|
||||
"small": "",
|
||||
"source": "-", // remove
|
||||
"span": "",
|
||||
"strike": "",
|
||||
"strong": "",
|
||||
"style": "-", // remove
|
||||
"sub": "",
|
||||
"summary": "",
|
||||
"sup": "",
|
||||
"table": "",
|
||||
"tbody": "",
|
||||
"td": "",
|
||||
"template": "-", // remove
|
||||
"textarea": "-", // remove
|
||||
"tfoot": "",
|
||||
"th": "",
|
||||
"thead": "",
|
||||
"time": "",
|
||||
"title": "-", // remove
|
||||
"tr": "",
|
||||
"track": "-", // remove
|
||||
"tt": "",
|
||||
"u": "",
|
||||
"ul": "",
|
||||
"var": "",
|
||||
"video": "-", // remove
|
||||
"wbr": "",
|
||||
"xmp": "",
|
||||
var elementMap = map[string]tagRule{
|
||||
"a": tagKeep,
|
||||
"abbr": tagKeep,
|
||||
"acronym": tagKeep,
|
||||
"address": tagKeep,
|
||||
"applet": tagRemove,
|
||||
"area": tagKeep | tagKeepEmpty,
|
||||
"article": tagKeep,
|
||||
"aside": tagKeep,
|
||||
"audio": tagRemove,
|
||||
"b": tagKeep,
|
||||
"base": tagRemove | tagKeepEmpty,
|
||||
"bdi": tagKeep,
|
||||
"bdo": tagKeep,
|
||||
"big": tagKeep,
|
||||
"blockquote": tagKeep,
|
||||
"body": tagKeep,
|
||||
"br": tagKeep | tagKeepEmpty,
|
||||
"button": tagRemove,
|
||||
"canvas": tagRemove,
|
||||
"caption": tagKeep,
|
||||
"center": tagKeep,
|
||||
"cite": tagKeep,
|
||||
"code": tagKeep,
|
||||
"col": tagKeep | tagKeepEmpty,
|
||||
"command": tagKeepEmpty,
|
||||
"colgroup": tagKeep,
|
||||
"data": tagKeep,
|
||||
"datalist": tagKeep,
|
||||
"dd": tagKeep,
|
||||
"del": tagKeep,
|
||||
"details": tagKeep,
|
||||
"dfn": tagKeep,
|
||||
"dialog": tagRemove,
|
||||
"dir": tagKeep,
|
||||
"div": tagKeep,
|
||||
"dl": tagKeep,
|
||||
"dt": tagKeep,
|
||||
"em": tagKeep,
|
||||
"embed": tagRemove | tagKeepEmpty,
|
||||
"fieldset": tagRename,
|
||||
"figcaption": tagKeep,
|
||||
"figure": tagKeep,
|
||||
"font": tagRename,
|
||||
"footer": tagKeep,
|
||||
"form": tagRename,
|
||||
"frame": tagRemove,
|
||||
"frameset": tagRemove,
|
||||
"h1": tagKeep,
|
||||
"h2": tagKeep,
|
||||
"h3": tagKeep,
|
||||
"h4": tagKeep,
|
||||
"h5": tagKeep,
|
||||
"h6": tagKeep,
|
||||
"head": tagRemove,
|
||||
"header": tagKeep,
|
||||
"hgroup": tagKeep,
|
||||
"hr": tagKeep | tagKeepEmpty,
|
||||
"html": tagKeep,
|
||||
"i": tagKeep,
|
||||
"iframe": tagRemove,
|
||||
"image": tagKeep,
|
||||
"img": tagKeep | tagKeepEmpty,
|
||||
"input": tagRemove | tagKeepEmpty,
|
||||
"ins": tagKeep,
|
||||
"kbd": tagKeep,
|
||||
"keygen": tagKeepEmpty,
|
||||
"label": tagKeep,
|
||||
"legend": tagKeep,
|
||||
"li": tagKeep,
|
||||
"link": tagRemove | tagKeepEmpty,
|
||||
"main": tagKeep,
|
||||
"map": tagKeep,
|
||||
"mark": tagKeep,
|
||||
"marquee": tagKeep,
|
||||
"menu": tagKeep,
|
||||
"menuitem": tagKeep | tagKeepEmpty,
|
||||
"meta": tagRemove | tagKeepEmpty,
|
||||
"meter": tagKeep,
|
||||
"nav": tagKeep,
|
||||
"nobr": tagKeep,
|
||||
"noembed": tagRename,
|
||||
"noframes": tagRename,
|
||||
"noscript": tagRename,
|
||||
"object": tagRemove,
|
||||
"ol": tagKeep,
|
||||
"optgroup": tagKeep,
|
||||
"option": tagKeep,
|
||||
"output": tagKeep,
|
||||
"p": tagKeep,
|
||||
"param": tagRemove | tagKeepEmpty,
|
||||
"picture": tagKeep,
|
||||
"plaintext": tagKeep,
|
||||
"portal": tagRemove,
|
||||
"pre": tagKeep,
|
||||
"progress": tagKeep,
|
||||
"q": tagKeep,
|
||||
"rb": tagKeep,
|
||||
"rp": tagKeep,
|
||||
"rt": tagKeep,
|
||||
"rtc": tagKeep,
|
||||
"ruby": tagKeep,
|
||||
"s": tagKeep,
|
||||
"samp": tagKeep,
|
||||
"script": tagRemove,
|
||||
"search": tagKeep,
|
||||
"section": tagKeep,
|
||||
"select": tagRemove,
|
||||
"slot": tagRemove,
|
||||
"small": tagKeep,
|
||||
"source": tagRemove | tagKeepEmpty,
|
||||
"span": tagKeep,
|
||||
"strike": tagKeep,
|
||||
"strong": tagKeep,
|
||||
"style": tagRemove,
|
||||
"sub": tagKeep,
|
||||
"summary": tagKeep,
|
||||
"sup": tagKeep,
|
||||
"table": tagKeep,
|
||||
"tbody": tagKeep,
|
||||
"td": tagKeep | tagKeepEmpty,
|
||||
"template": tagRemove,
|
||||
"textarea": tagRemove,
|
||||
"tfoot": tagKeep,
|
||||
"th": tagKeep | tagKeepEmpty,
|
||||
"thead": tagKeep,
|
||||
"time": tagKeep,
|
||||
"title": tagRemove,
|
||||
"tr": tagKeep,
|
||||
"track": tagRemove | tagKeepEmpty,
|
||||
"tt": tagKeep,
|
||||
"u": tagKeep,
|
||||
"ul": tagKeep,
|
||||
"var": tagKeep,
|
||||
"video": tagRemove,
|
||||
"wbr": tagKeep | tagKeepEmpty,
|
||||
"xmp": tagKeep,
|
||||
|
||||
// MathML Core elements
|
||||
// curl -fsSL https://www.w3.org/Math/RelaxNG/mathml4/mathml4-core.rnc | grep -oE 'element [a-z-]+' | cut -d' ' -f2 | grep -v '^none$' | sort
|
||||
"annotation": "",
|
||||
"annotation-xml": "",
|
||||
"maction": "",
|
||||
"math": "",
|
||||
"merror": "",
|
||||
"mfrac": "",
|
||||
"mi": "",
|
||||
"mmultiscripts": "",
|
||||
"mn": "",
|
||||
"mo": "",
|
||||
"mover": "",
|
||||
"mpadded": "",
|
||||
"mphantom": "",
|
||||
"mprescripts": "",
|
||||
"mroot": "",
|
||||
"mrow": "",
|
||||
"ms": "",
|
||||
"mspace": "",
|
||||
"msqrt": "",
|
||||
"mstyle": "",
|
||||
"msub": "",
|
||||
"msubsup": "",
|
||||
"msup": "",
|
||||
"mtable": "",
|
||||
"mtd": "",
|
||||
"mtext": "",
|
||||
"mtr": "",
|
||||
"munder": "",
|
||||
"munderover": "",
|
||||
"semantics": "",
|
||||
"annotation": tagKeep,
|
||||
"annotation-xml": tagKeep,
|
||||
"maction": tagKeep,
|
||||
"math": tagKeep,
|
||||
"merror": tagKeep,
|
||||
"mfrac": tagKeep,
|
||||
"mi": tagKeep,
|
||||
"mmultiscripts": tagKeep,
|
||||
"mn": tagKeep,
|
||||
"mo": tagKeep,
|
||||
"mover": tagKeep,
|
||||
"mpadded": tagKeep,
|
||||
"mphantom": tagKeep,
|
||||
"mprescripts": tagKeep | tagKeepEmpty,
|
||||
"mroot": tagKeep,
|
||||
"mrow": tagKeep | tagKeepEmpty,
|
||||
"ms": tagKeep,
|
||||
"mspace": tagKeep | tagKeepEmpty,
|
||||
"msqrt": tagKeep,
|
||||
"mstyle": tagKeep,
|
||||
"msub": tagKeep,
|
||||
"msubsup": tagKeep,
|
||||
"msup": tagKeep,
|
||||
"mtable": tagKeep,
|
||||
"mtd": tagKeep | tagKeepEmpty,
|
||||
"mtext": tagKeep,
|
||||
"mtr": tagKeep,
|
||||
"munder": tagKeep,
|
||||
"munderover": tagKeep,
|
||||
"semantics": tagKeep,
|
||||
}
|
||||
|
||||
var excludedChars = [][2]int{
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"title_selectors": [
|
||||
"substring-before( //title/text() , '| ' )"
|
||||
],
|
||||
"body_selectors": [
|
||||
"//div[contains(concat(' ',normalize-space(@class),' '),' gendai-articleContents ')]"
|
||||
],
|
||||
"date_selectors": null,
|
||||
"author_selectors": null,
|
||||
"strip_selectors": [
|
||||
"//figcaption",
|
||||
"//a[contain(@class, \"text-sm\")]"
|
||||
],
|
||||
"strip_id_or_class": null,
|
||||
"strip_image_src": null,
|
||||
"native_ad_selectors": null,
|
||||
"tidy": false,
|
||||
"prune": false,
|
||||
"autodetect_on_failure": true,
|
||||
"single_page_link_selectors": null,
|
||||
"next_page_link_selectors": [
|
||||
"//a[@data-testid=\"pagination-next-page-link\"]"
|
||||
],
|
||||
"replace_strings": [
|
||||
[
|
||||
"h2\u003e",
|
||||
"h3\u003e"
|
||||
]
|
||||
],
|
||||
"http_headers": null,
|
||||
"tests": [
|
||||
{
|
||||
"url": "https://gendai.media/articles/-/160916",
|
||||
"contains": []
|
||||
},
|
||||
{
|
||||
"url": "https://gendai.media/articles/-/151783",
|
||||
"contains": []
|
||||
},
|
||||
{
|
||||
"url": "https://gendai.media/articles/-/160153",
|
||||
"contains": []
|
||||
}
|
||||
]
|
||||
}
|
||||
27
pkg/extract/contentscripts/assets/site-config/news.jp.json
Normal file
27
pkg/extract/contentscripts/assets/site-config/news.jp.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"title_selectors": [
|
||||
"substring-before(//meta[@property='og:title']/@content , ' | NEWSjp')"
|
||||
],
|
||||
"body_selectors": [
|
||||
"//div[@class=\"nordot-body\"]"
|
||||
],
|
||||
"date_selectors": null,
|
||||
"author_selectors": null,
|
||||
"strip_selectors": null,
|
||||
"strip_id_or_class": null,
|
||||
"strip_image_src": null,
|
||||
"native_ad_selectors": null,
|
||||
"tidy": false,
|
||||
"prune": false,
|
||||
"autodetect_on_failure": true,
|
||||
"single_page_link_selectors": null,
|
||||
"next_page_link_selectors": null,
|
||||
"replace_strings": null,
|
||||
"http_headers": null,
|
||||
"tests": [
|
||||
{
|
||||
"url": "https://news.jp/i/1364403662903378547?c=768367547562557440",
|
||||
"contains": []
|
||||
}
|
||||
]
|
||||
}
|
||||
28
pkg/extract/contentscripts/assets/site-config/taxacc.jp.json
Normal file
28
pkg/extract/contentscripts/assets/site-config/taxacc.jp.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"title_selectors": [
|
||||
"substring-before(//title, '/朝日税理士法人')"
|
||||
],
|
||||
"body_selectors": null,
|
||||
"date_selectors": null,
|
||||
"author_selectors": null,
|
||||
"strip_selectors": [
|
||||
"//h3[contains(., 'カテゴリー')]",
|
||||
"//h3[contains(., '月別アーカイブ')]"
|
||||
],
|
||||
"strip_id_or_class": null,
|
||||
"strip_image_src": null,
|
||||
"native_ad_selectors": null,
|
||||
"tidy": false,
|
||||
"prune": false,
|
||||
"autodetect_on_failure": true,
|
||||
"single_page_link_selectors": null,
|
||||
"next_page_link_selectors": null,
|
||||
"replace_strings": null,
|
||||
"http_headers": null,
|
||||
"tests": [
|
||||
{
|
||||
"url": "https://www.taxacc.jp/blog/202512/",
|
||||
"contains": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"title_selectors": [
|
||||
"substring-before(//meta[@property='og:title']/@content , ' | ゲキサカ')"
|
||||
],
|
||||
"body_selectors": [
|
||||
"//div[@class=\"geki_contentitem\"]"
|
||||
],
|
||||
"date_selectors": null,
|
||||
"author_selectors": null,
|
||||
"strip_selectors": null,
|
||||
"strip_id_or_class": null,
|
||||
"strip_image_src": null,
|
||||
"native_ad_selectors": null,
|
||||
"tidy": false,
|
||||
"prune": false,
|
||||
"autodetect_on_failure": true,
|
||||
"single_page_link_selectors": null,
|
||||
"next_page_link_selectors": null,
|
||||
"replace_strings": null,
|
||||
"http_headers": null,
|
||||
"tests": [
|
||||
{
|
||||
"url": "https://web.gekisaka.jp/news/japan/detail/?441149-441149-fl=",
|
||||
"contains": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"title_selectors": [
|
||||
"substring-before(//meta[@property='og:title']/@content , ' | XenoSpectrum')"
|
||||
],
|
||||
"body_selectors": null,
|
||||
"date_selectors": null,
|
||||
"author_selectors": null,
|
||||
"strip_selectors": [
|
||||
"//hr[contains(@class, \"wp-block-separator\")]",
|
||||
"//div[contains(@class, \"addtoany_content\")]",
|
||||
"//div[contains(@class, \"xenos-adlabel\")]",
|
||||
"//strong[contains(., 'Sources')]"
|
||||
],
|
||||
"strip_id_or_class": [
|
||||
"wp-block-list"
|
||||
],
|
||||
"strip_image_src": null,
|
||||
"native_ad_selectors": null,
|
||||
"tidy": false,
|
||||
"prune": false,
|
||||
"autodetect_on_failure": true,
|
||||
"single_page_link_selectors": null,
|
||||
"next_page_link_selectors": null,
|
||||
"replace_strings": null,
|
||||
"http_headers": null,
|
||||
"tests": [
|
||||
{
|
||||
"url": "https://xenospectrum.com/zhonghao-xinying-tpu-vs-nvidia-a100-google-engineer-china-chip/",
|
||||
"contains": []
|
||||
}
|
||||
]
|
||||
}
|
||||
444
web/package-lock.json
generated
444
web/package-lock.json
generated
@@ -25,7 +25,7 @@
|
||||
"cssnano": "^7.1.2",
|
||||
"culori": "^4.0.2",
|
||||
"del": "^8.0.1",
|
||||
"esbuild": "^0.27.1",
|
||||
"esbuild": "^0.27.2",
|
||||
"esbuild-plugin-stimulus": "^0.2.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
@@ -50,7 +50,7 @@
|
||||
"postcss-preset-env": "^10.5.0",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"prettier": "^3.7.4",
|
||||
"sass": "^1.96.0",
|
||||
"sass": "^1.97.0",
|
||||
"tailwindcss": "^3.4.19",
|
||||
"through2": "^4.0.2"
|
||||
}
|
||||
@@ -1351,9 +1351,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz",
|
||||
"integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
|
||||
"integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1367,9 +1367,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz",
|
||||
"integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
|
||||
"integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1383,9 +1383,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1399,9 +1399,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1415,9 +1415,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1431,9 +1431,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1447,9 +1447,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1463,9 +1463,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1479,9 +1479,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz",
|
||||
"integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
|
||||
"integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1495,9 +1495,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1511,9 +1511,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz",
|
||||
"integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
|
||||
"integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@@ -1527,9 +1527,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz",
|
||||
"integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
|
||||
"integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@@ -1543,9 +1543,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz",
|
||||
"integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
|
||||
"integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
@@ -1559,9 +1559,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz",
|
||||
"integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
|
||||
"integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1575,9 +1575,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz",
|
||||
"integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
|
||||
"integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@@ -1591,9 +1591,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz",
|
||||
"integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
|
||||
"integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -1607,9 +1607,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1623,9 +1623,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1639,9 +1639,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1655,9 +1655,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1671,9 +1671,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1687,9 +1687,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openharmony-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1703,9 +1703,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1719,9 +1719,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1735,9 +1735,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz",
|
||||
"integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
|
||||
"integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@@ -1751,9 +1751,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -4241,9 +4241,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz",
|
||||
"integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
|
||||
"integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -4253,32 +4253,32 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.27.1",
|
||||
"@esbuild/android-arm": "0.27.1",
|
||||
"@esbuild/android-arm64": "0.27.1",
|
||||
"@esbuild/android-x64": "0.27.1",
|
||||
"@esbuild/darwin-arm64": "0.27.1",
|
||||
"@esbuild/darwin-x64": "0.27.1",
|
||||
"@esbuild/freebsd-arm64": "0.27.1",
|
||||
"@esbuild/freebsd-x64": "0.27.1",
|
||||
"@esbuild/linux-arm": "0.27.1",
|
||||
"@esbuild/linux-arm64": "0.27.1",
|
||||
"@esbuild/linux-ia32": "0.27.1",
|
||||
"@esbuild/linux-loong64": "0.27.1",
|
||||
"@esbuild/linux-mips64el": "0.27.1",
|
||||
"@esbuild/linux-ppc64": "0.27.1",
|
||||
"@esbuild/linux-riscv64": "0.27.1",
|
||||
"@esbuild/linux-s390x": "0.27.1",
|
||||
"@esbuild/linux-x64": "0.27.1",
|
||||
"@esbuild/netbsd-arm64": "0.27.1",
|
||||
"@esbuild/netbsd-x64": "0.27.1",
|
||||
"@esbuild/openbsd-arm64": "0.27.1",
|
||||
"@esbuild/openbsd-x64": "0.27.1",
|
||||
"@esbuild/openharmony-arm64": "0.27.1",
|
||||
"@esbuild/sunos-x64": "0.27.1",
|
||||
"@esbuild/win32-arm64": "0.27.1",
|
||||
"@esbuild/win32-ia32": "0.27.1",
|
||||
"@esbuild/win32-x64": "0.27.1"
|
||||
"@esbuild/aix-ppc64": "0.27.2",
|
||||
"@esbuild/android-arm": "0.27.2",
|
||||
"@esbuild/android-arm64": "0.27.2",
|
||||
"@esbuild/android-x64": "0.27.2",
|
||||
"@esbuild/darwin-arm64": "0.27.2",
|
||||
"@esbuild/darwin-x64": "0.27.2",
|
||||
"@esbuild/freebsd-arm64": "0.27.2",
|
||||
"@esbuild/freebsd-x64": "0.27.2",
|
||||
"@esbuild/linux-arm": "0.27.2",
|
||||
"@esbuild/linux-arm64": "0.27.2",
|
||||
"@esbuild/linux-ia32": "0.27.2",
|
||||
"@esbuild/linux-loong64": "0.27.2",
|
||||
"@esbuild/linux-mips64el": "0.27.2",
|
||||
"@esbuild/linux-ppc64": "0.27.2",
|
||||
"@esbuild/linux-riscv64": "0.27.2",
|
||||
"@esbuild/linux-s390x": "0.27.2",
|
||||
"@esbuild/linux-x64": "0.27.2",
|
||||
"@esbuild/netbsd-arm64": "0.27.2",
|
||||
"@esbuild/netbsd-x64": "0.27.2",
|
||||
"@esbuild/openbsd-arm64": "0.27.2",
|
||||
"@esbuild/openbsd-x64": "0.27.2",
|
||||
"@esbuild/openharmony-arm64": "0.27.2",
|
||||
"@esbuild/sunos-x64": "0.27.2",
|
||||
"@esbuild/win32-arm64": "0.27.2",
|
||||
"@esbuild/win32-ia32": "0.27.2",
|
||||
"@esbuild/win32-x64": "0.27.2"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild-plugin-stimulus": {
|
||||
@@ -9198,9 +9198,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.96.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.96.0.tgz",
|
||||
"integrity": "sha512-8u4xqqUeugGNCYwr9ARNtQKTOj4KmYiJAVKXf2CTIivTCR51j96htbMKWDru8H5SaQWpyVgTfOF8Ylyf5pun1Q==",
|
||||
"version": "1.97.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.0.tgz",
|
||||
"integrity": "sha512-KR0igP1z4avUJetEuIeOdDlwaUDvkH8wSx7FdSjyYBS3dpyX3TzHfAMO0G1Q4/3cdjcmi3r7idh+KCmKqS+KeQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chokidar": "^4.0.0",
|
||||
@@ -11240,159 +11240,159 @@
|
||||
"requires": {}
|
||||
},
|
||||
"@esbuild/aix-ppc64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz",
|
||||
"integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
|
||||
"integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/android-arm": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz",
|
||||
"integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
|
||||
"integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/android-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/android-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/darwin-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/darwin-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/freebsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/freebsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-arm": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz",
|
||||
"integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
|
||||
"integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-ia32": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz",
|
||||
"integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
|
||||
"integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-loong64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz",
|
||||
"integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
|
||||
"integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-mips64el": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz",
|
||||
"integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
|
||||
"integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-ppc64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz",
|
||||
"integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
|
||||
"integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-riscv64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz",
|
||||
"integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
|
||||
"integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-s390x": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz",
|
||||
"integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
|
||||
"integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/linux-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/netbsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/netbsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/openbsd-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/openbsd-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/openharmony-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/sunos-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/win32-arm64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz",
|
||||
"integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/win32-ia32": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz",
|
||||
"integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
|
||||
"integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@esbuild/win32-x64": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz",
|
||||
"integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@eslint-community/eslint-utils": {
|
||||
@@ -12941,36 +12941,36 @@
|
||||
}
|
||||
},
|
||||
"esbuild": {
|
||||
"version": "0.27.1",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz",
|
||||
"integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==",
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
|
||||
"integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
|
||||
"requires": {
|
||||
"@esbuild/aix-ppc64": "0.27.1",
|
||||
"@esbuild/android-arm": "0.27.1",
|
||||
"@esbuild/android-arm64": "0.27.1",
|
||||
"@esbuild/android-x64": "0.27.1",
|
||||
"@esbuild/darwin-arm64": "0.27.1",
|
||||
"@esbuild/darwin-x64": "0.27.1",
|
||||
"@esbuild/freebsd-arm64": "0.27.1",
|
||||
"@esbuild/freebsd-x64": "0.27.1",
|
||||
"@esbuild/linux-arm": "0.27.1",
|
||||
"@esbuild/linux-arm64": "0.27.1",
|
||||
"@esbuild/linux-ia32": "0.27.1",
|
||||
"@esbuild/linux-loong64": "0.27.1",
|
||||
"@esbuild/linux-mips64el": "0.27.1",
|
||||
"@esbuild/linux-ppc64": "0.27.1",
|
||||
"@esbuild/linux-riscv64": "0.27.1",
|
||||
"@esbuild/linux-s390x": "0.27.1",
|
||||
"@esbuild/linux-x64": "0.27.1",
|
||||
"@esbuild/netbsd-arm64": "0.27.1",
|
||||
"@esbuild/netbsd-x64": "0.27.1",
|
||||
"@esbuild/openbsd-arm64": "0.27.1",
|
||||
"@esbuild/openbsd-x64": "0.27.1",
|
||||
"@esbuild/openharmony-arm64": "0.27.1",
|
||||
"@esbuild/sunos-x64": "0.27.1",
|
||||
"@esbuild/win32-arm64": "0.27.1",
|
||||
"@esbuild/win32-ia32": "0.27.1",
|
||||
"@esbuild/win32-x64": "0.27.1"
|
||||
"@esbuild/aix-ppc64": "0.27.2",
|
||||
"@esbuild/android-arm": "0.27.2",
|
||||
"@esbuild/android-arm64": "0.27.2",
|
||||
"@esbuild/android-x64": "0.27.2",
|
||||
"@esbuild/darwin-arm64": "0.27.2",
|
||||
"@esbuild/darwin-x64": "0.27.2",
|
||||
"@esbuild/freebsd-arm64": "0.27.2",
|
||||
"@esbuild/freebsd-x64": "0.27.2",
|
||||
"@esbuild/linux-arm": "0.27.2",
|
||||
"@esbuild/linux-arm64": "0.27.2",
|
||||
"@esbuild/linux-ia32": "0.27.2",
|
||||
"@esbuild/linux-loong64": "0.27.2",
|
||||
"@esbuild/linux-mips64el": "0.27.2",
|
||||
"@esbuild/linux-ppc64": "0.27.2",
|
||||
"@esbuild/linux-riscv64": "0.27.2",
|
||||
"@esbuild/linux-s390x": "0.27.2",
|
||||
"@esbuild/linux-x64": "0.27.2",
|
||||
"@esbuild/netbsd-arm64": "0.27.2",
|
||||
"@esbuild/netbsd-x64": "0.27.2",
|
||||
"@esbuild/openbsd-arm64": "0.27.2",
|
||||
"@esbuild/openbsd-x64": "0.27.2",
|
||||
"@esbuild/openharmony-arm64": "0.27.2",
|
||||
"@esbuild/sunos-x64": "0.27.2",
|
||||
"@esbuild/win32-arm64": "0.27.2",
|
||||
"@esbuild/win32-ia32": "0.27.2",
|
||||
"@esbuild/win32-x64": "0.27.2"
|
||||
}
|
||||
},
|
||||
"esbuild-plugin-stimulus": {
|
||||
@@ -16234,9 +16234,9 @@
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"sass": {
|
||||
"version": "1.96.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.96.0.tgz",
|
||||
"integrity": "sha512-8u4xqqUeugGNCYwr9ARNtQKTOj4KmYiJAVKXf2CTIivTCR51j96htbMKWDru8H5SaQWpyVgTfOF8Ylyf5pun1Q==",
|
||||
"version": "1.97.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.0.tgz",
|
||||
"integrity": "sha512-KR0igP1z4avUJetEuIeOdDlwaUDvkH8wSx7FdSjyYBS3dpyX3TzHfAMO0G1Q4/3cdjcmi3r7idh+KCmKqS+KeQ==",
|
||||
"requires": {
|
||||
"@parcel/watcher": "^2.4.1",
|
||||
"chokidar": "^4.0.0",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"cssnano": "^7.1.2",
|
||||
"culori": "^4.0.2",
|
||||
"del": "^8.0.1",
|
||||
"esbuild": "^0.27.1",
|
||||
"esbuild": "^0.27.2",
|
||||
"esbuild-plugin-stimulus": "^0.2.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
@@ -49,7 +49,7 @@
|
||||
"postcss-preset-env": "^10.5.0",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"prettier": "^3.7.4",
|
||||
"sass": "^1.96.0",
|
||||
"sass": "^1.97.0",
|
||||
"tailwindcss": "^3.4.19",
|
||||
"through2": "^4.0.2"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user