@tanstack/solid-router 1.131.21 → 1.131.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/HeadContent.cjs +9 -6
- package/dist/cjs/HeadContent.cjs.map +1 -1
- package/dist/esm/HeadContent.js +9 -6
- package/dist/esm/HeadContent.js.map +1 -1
- package/dist/source/HeadContent.jsx +9 -7
- package/dist/source/HeadContent.jsx.map +1 -1
- package/package.json +3 -3
- package/src/HeadContent.tsx +9 -6
package/dist/cjs/HeadContent.cjs
CHANGED
|
@@ -34,9 +34,12 @@ const useTags = () => {
|
|
|
34
34
|
const resultMeta = [];
|
|
35
35
|
const metaByAttribute = {};
|
|
36
36
|
let title;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const routeMetasArray = routeMeta();
|
|
38
|
+
for (let i = routeMetasArray.length - 1; i >= 0; i--) {
|
|
39
|
+
const metas = routeMetasArray[i];
|
|
40
|
+
for (let j = metas.length - 1; j >= 0; j--) {
|
|
41
|
+
const m = metas[j];
|
|
42
|
+
if (!m) continue;
|
|
40
43
|
if (m.title) {
|
|
41
44
|
if (!title) {
|
|
42
45
|
title = {
|
|
@@ -48,7 +51,7 @@ const useTags = () => {
|
|
|
48
51
|
const attribute = m.name ?? m.property;
|
|
49
52
|
if (attribute) {
|
|
50
53
|
if (metaByAttribute[attribute]) {
|
|
51
|
-
|
|
54
|
+
continue;
|
|
52
55
|
} else {
|
|
53
56
|
metaByAttribute[attribute] = true;
|
|
54
57
|
}
|
|
@@ -60,8 +63,8 @@ const useTags = () => {
|
|
|
60
63
|
}
|
|
61
64
|
});
|
|
62
65
|
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
65
68
|
if (title) {
|
|
66
69
|
resultMeta.push(title);
|
|
67
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadContent.cjs","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n
|
|
1
|
+
{"version":3,"file":"HeadContent.cjs","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = useRouterState({\n select: (state) => {\n const constructed = state.matches\n .map((match) => match.links!)\n .filter(Boolean)\n .flat(1)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n },\n })) satisfies Array<RouterManagedTag>\n\n const manifest = router.ssr?.manifest\n\n // These are the assets extracted from the ViteManifest\n // using the `startManifestPlugin`\n const assets = state.matches\n .map((match) => manifest?.routes[match.routeId]?.assets ?? [])\n .filter(Boolean)\n .flat(1)\n .filter((asset) => asset.tag === 'link')\n .map(\n (asset) =>\n ({\n tag: 'link',\n attrs: asset.attrs,\n }) satisfies RouterManagedTag,\n )\n\n return [...constructed, ...assets]\n },\n })\n\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta: Array<RouterManagedTag> = []\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n router.ssr?.manifest?.routes[route.id]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadMeta.push({\n tag: 'link',\n attrs: {\n rel: 'modulepreload',\n href: preload,\n },\n })\n }),\n )\n\n return preloadMeta\n },\n })\n\n const styles = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.styles!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n },\n children,\n })),\n })\n\n const headScripts = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.headScripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n })\n\n return () =>\n uniqBy(\n [\n ...meta(),\n ...preloadMeta(),\n ...links(),\n ...styles(),\n ...headScripts(),\n ] as Array<RouterManagedTag>,\n (d) => {\n return JSON.stringify(d)\n },\n )\n}\n\n/**\n * @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.\n * It should be rendered in the `<head>` of your document.\n */\nexport function HeadContent() {\n const tags = useTags()\n return (\n <MetaProvider>\n {tags().map((tag) => (\n <Asset {...tag} />\n ))}\n </MetaProvider>\n )\n}\n\nfunction uniqBy<T>(arr: Array<T>, fn: (item: T) => string) {\n const seen = new Set<string>()\n return arr.filter((item) => {\n const key = fn(item)\n if (seen.has(key)) {\n return false\n }\n seen.add(key)\n return true\n })\n}\n"],"names":["useTags","router","useRouter","routeMeta","useRouterState","select","state","matches","map","match","meta","filter","Boolean","Solid","createMemo","resultMeta","metaByAttribute","title","routeMetasArray","i","length","metas","j","m","tag","children","attribute","name","property","push","attrs","reverse","links","constructed","flat","link","manifest","ssr","assets","routes","routeId","asset","preloadMeta","looseRoutesById","forEach","route","id","preloads","preload","rel","href","styles","style","headScripts","script","uniqBy","d","JSON","stringify","HeadContent","tags","_$createComponent","MetaProvider","Asset","arr","fn","seen","Set","item","key","has","add"],"mappings":"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"}
|
package/dist/esm/HeadContent.js
CHANGED
|
@@ -15,9 +15,12 @@ const useTags = () => {
|
|
|
15
15
|
const resultMeta = [];
|
|
16
16
|
const metaByAttribute = {};
|
|
17
17
|
let title;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const routeMetasArray = routeMeta();
|
|
19
|
+
for (let i = routeMetasArray.length - 1; i >= 0; i--) {
|
|
20
|
+
const metas = routeMetasArray[i];
|
|
21
|
+
for (let j = metas.length - 1; j >= 0; j--) {
|
|
22
|
+
const m = metas[j];
|
|
23
|
+
if (!m) continue;
|
|
21
24
|
if (m.title) {
|
|
22
25
|
if (!title) {
|
|
23
26
|
title = {
|
|
@@ -29,7 +32,7 @@ const useTags = () => {
|
|
|
29
32
|
const attribute = m.name ?? m.property;
|
|
30
33
|
if (attribute) {
|
|
31
34
|
if (metaByAttribute[attribute]) {
|
|
32
|
-
|
|
35
|
+
continue;
|
|
33
36
|
} else {
|
|
34
37
|
metaByAttribute[attribute] = true;
|
|
35
38
|
}
|
|
@@ -41,8 +44,8 @@ const useTags = () => {
|
|
|
41
44
|
}
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
46
49
|
if (title) {
|
|
47
50
|
resultMeta.push(title);
|
|
48
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadContent.js","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n
|
|
1
|
+
{"version":3,"file":"HeadContent.js","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = useRouterState({\n select: (state) => {\n const constructed = state.matches\n .map((match) => match.links!)\n .filter(Boolean)\n .flat(1)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n },\n })) satisfies Array<RouterManagedTag>\n\n const manifest = router.ssr?.manifest\n\n // These are the assets extracted from the ViteManifest\n // using the `startManifestPlugin`\n const assets = state.matches\n .map((match) => manifest?.routes[match.routeId]?.assets ?? [])\n .filter(Boolean)\n .flat(1)\n .filter((asset) => asset.tag === 'link')\n .map(\n (asset) =>\n ({\n tag: 'link',\n attrs: asset.attrs,\n }) satisfies RouterManagedTag,\n )\n\n return [...constructed, ...assets]\n },\n })\n\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta: Array<RouterManagedTag> = []\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n router.ssr?.manifest?.routes[route.id]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadMeta.push({\n tag: 'link',\n attrs: {\n rel: 'modulepreload',\n href: preload,\n },\n })\n }),\n )\n\n return preloadMeta\n },\n })\n\n const styles = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.styles!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n },\n children,\n })),\n })\n\n const headScripts = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.headScripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n })\n\n return () =>\n uniqBy(\n [\n ...meta(),\n ...preloadMeta(),\n ...links(),\n ...styles(),\n ...headScripts(),\n ] as Array<RouterManagedTag>,\n (d) => {\n return JSON.stringify(d)\n },\n )\n}\n\n/**\n * @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.\n * It should be rendered in the `<head>` of your document.\n */\nexport function HeadContent() {\n const tags = useTags()\n return (\n <MetaProvider>\n {tags().map((tag) => (\n <Asset {...tag} />\n ))}\n </MetaProvider>\n )\n}\n\nfunction uniqBy<T>(arr: Array<T>, fn: (item: T) => string) {\n const seen = new Set<string>()\n return arr.filter((item) => {\n const key = fn(item)\n if (seen.has(key)) {\n return false\n }\n seen.add(key)\n return true\n })\n}\n"],"names":["useTags","router","useRouter","routeMeta","useRouterState","select","state","matches","map","match","meta","filter","Boolean","Solid","createMemo","resultMeta","metaByAttribute","title","routeMetasArray","i","length","metas","j","m","tag","children","attribute","name","property","push","attrs","reverse","links","constructed","flat","link","manifest","ssr","assets","routes","routeId","asset","preloadMeta","looseRoutesById","forEach","route","id","preloads","preload","rel","href","styles","style","headScripts","script","uniqBy","d","JSON","stringify","HeadContent","tags","_$createComponent","MetaProvider","Asset","arr","fn","seen","Set","item","key","has","add"],"mappings":"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"}
|
|
@@ -14,11 +14,13 @@ export const useTags = () => {
|
|
|
14
14
|
const resultMeta = [];
|
|
15
15
|
const metaByAttribute = {};
|
|
16
16
|
let title;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const routeMetasArray = routeMeta();
|
|
18
|
+
for (let i = routeMetasArray.length - 1; i >= 0; i--) {
|
|
19
|
+
const metas = routeMetasArray[i];
|
|
20
|
+
for (let j = metas.length - 1; j >= 0; j--) {
|
|
21
|
+
const m = metas[j];
|
|
20
22
|
if (!m)
|
|
21
|
-
|
|
23
|
+
continue;
|
|
22
24
|
if (m.title) {
|
|
23
25
|
if (!title) {
|
|
24
26
|
title = {
|
|
@@ -31,7 +33,7 @@ export const useTags = () => {
|
|
|
31
33
|
const attribute = m.name ?? m.property;
|
|
32
34
|
if (attribute) {
|
|
33
35
|
if (metaByAttribute[attribute]) {
|
|
34
|
-
|
|
36
|
+
continue;
|
|
35
37
|
}
|
|
36
38
|
else {
|
|
37
39
|
metaByAttribute[attribute] = true;
|
|
@@ -44,8 +46,8 @@ export const useTags = () => {
|
|
|
44
46
|
},
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
49
51
|
if (title) {
|
|
50
52
|
resultMeta.push(title);
|
|
51
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadContent.jsx","sourceRoot":"","sources":["../../src/HeadContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAClE,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,IAAI,GAA4C,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC1E,MAAM,UAAU,GAA4B,EAAE,CAAA;QAC9C,MAAM,eAAe,GAAyB,EAAE,CAAA;QAChD,IAAI,KAAmC,
|
|
1
|
+
{"version":3,"file":"HeadContent.jsx","sourceRoot":"","sources":["../../src/HeadContent.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-router",
|
|
3
|
-
"version": "1.131.
|
|
3
|
+
"version": "1.131.23",
|
|
4
4
|
"description": "Modern and scalable routing for Solid applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"isbot": "^5.1.22",
|
|
89
89
|
"tiny-invariant": "^1.3.3",
|
|
90
90
|
"tiny-warning": "^1.0.3",
|
|
91
|
-
"@tanstack/
|
|
92
|
-
"@tanstack/
|
|
91
|
+
"@tanstack/history": "1.131.2",
|
|
92
|
+
"@tanstack/router-core": "1.131.23"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@solidjs/testing-library": "^0.8.10",
|
package/src/HeadContent.tsx
CHANGED
|
@@ -18,9 +18,12 @@ export const useTags = () => {
|
|
|
18
18
|
const resultMeta: Array<RouterManagedTag> = []
|
|
19
19
|
const metaByAttribute: Record<string, true> = {}
|
|
20
20
|
let title: RouterManagedTag | undefined
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const routeMetasArray = routeMeta()
|
|
22
|
+
for (let i = routeMetasArray.length - 1; i >= 0; i--) {
|
|
23
|
+
const metas = routeMetasArray[i]!
|
|
24
|
+
for (let j = metas.length - 1; j >= 0; j--) {
|
|
25
|
+
const m = metas[j]
|
|
26
|
+
if (!m) continue
|
|
24
27
|
|
|
25
28
|
if (m.title) {
|
|
26
29
|
if (!title) {
|
|
@@ -33,7 +36,7 @@ export const useTags = () => {
|
|
|
33
36
|
const attribute = m.name ?? m.property
|
|
34
37
|
if (attribute) {
|
|
35
38
|
if (metaByAttribute[attribute]) {
|
|
36
|
-
|
|
39
|
+
continue
|
|
37
40
|
} else {
|
|
38
41
|
metaByAttribute[attribute] = true
|
|
39
42
|
}
|
|
@@ -46,8 +49,8 @@ export const useTags = () => {
|
|
|
46
49
|
},
|
|
47
50
|
})
|
|
48
51
|
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
if (title) {
|
|
53
56
|
resultMeta.push(title)
|