@uasyraf/helm 0.1.0
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/.claude-plugin/plugin.json +9 -0
- package/.mcp.json +8 -0
- package/LICENSE +21 -0
- package/README.md +114 -0
- package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css +1 -0
- package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css.br +0 -0
- package/dashboard/build/client/_app/immutable/assets/0.DPthOi2j.css.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/B3NJzl7g.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/Bvgn0Gys.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js +3 -0
- package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/C72aErMY.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/CjpPs8iz.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DNLp8810.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DYkFpqG7.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/DYkFpqG7.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DYkFpqG7.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js +2 -0
- package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/DsiL0ppy.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/bJX5vhEj.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/bJX5vhEj.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/bJX5vhEj.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js +1 -0
- package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js.br +0 -0
- package/dashboard/build/client/_app/immutable/chunks/gQDp4_Ul.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js +2 -0
- package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js.br +0 -0
- package/dashboard/build/client/_app/immutable/entry/app.D4j9hUjJ.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js +1 -0
- package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js.br +2 -0
- package/dashboard/build/client/_app/immutable/entry/start.D59wIHuS.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/0.HocD0HAQ.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/1.xo_a-jPh.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/2.BwywD4n3.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/3.BGY0bNfC.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/4.C7uIivCS.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/5.YszfczJW.js.gz +0 -0
- package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js +1 -0
- package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js.br +0 -0
- package/dashboard/build/client/_app/immutable/nodes/6.7fhKcbBK.js.gz +0 -0
- package/dashboard/build/client/_app/version.json +1 -0
- package/dashboard/build/client/_app/version.json.br +0 -0
- package/dashboard/build/client/_app/version.json.gz +0 -0
- package/dashboard/build/env.js +94 -0
- package/dashboard/build/handler.js +1494 -0
- package/dashboard/build/index.js +345 -0
- package/dashboard/build/server/chunks/0-DUUsxI66.js +40 -0
- package/dashboard/build/server/chunks/0-DUUsxI66.js.map +1 -0
- package/dashboard/build/server/chunks/1-BDkdOGL6.js +9 -0
- package/dashboard/build/server/chunks/1-BDkdOGL6.js.map +1 -0
- package/dashboard/build/server/chunks/2-BLt1vNET.js +51 -0
- package/dashboard/build/server/chunks/2-BLt1vNET.js.map +1 -0
- package/dashboard/build/server/chunks/3-B-4sxMk4.js +41 -0
- package/dashboard/build/server/chunks/3-B-4sxMk4.js.map +1 -0
- package/dashboard/build/server/chunks/4-CRZIwHJO.js +39 -0
- package/dashboard/build/server/chunks/4-CRZIwHJO.js.map +1 -0
- package/dashboard/build/server/chunks/5-CwiVOtz6.js +30 -0
- package/dashboard/build/server/chunks/5-CwiVOtz6.js.map +1 -0
- package/dashboard/build/server/chunks/6-mID2_gX2.js +53 -0
- package/dashboard/build/server/chunks/6-mID2_gX2.js.map +1 -0
- package/dashboard/build/server/chunks/_layout.svelte-DeOKequ-.js +31 -0
- package/dashboard/build/server/chunks/_layout.svelte-DeOKequ-.js.map +1 -0
- package/dashboard/build/server/chunks/_page.svelte-BGS-bwra.js +65 -0
- package/dashboard/build/server/chunks/_page.svelte-BGS-bwra.js.map +1 -0
- package/dashboard/build/server/chunks/_page.svelte-BiRjdIbl.js +35 -0
- package/dashboard/build/server/chunks/_page.svelte-BiRjdIbl.js.map +1 -0
- package/dashboard/build/server/chunks/_page.svelte-C_NO0kPy.js +49 -0
- package/dashboard/build/server/chunks/_page.svelte-C_NO0kPy.js.map +1 -0
- package/dashboard/build/server/chunks/_page.svelte-DvSQBjcA.js +80 -0
- package/dashboard/build/server/chunks/_page.svelte-DvSQBjcA.js.map +1 -0
- package/dashboard/build/server/chunks/_page.svelte-ZUq8J-ew.js +33 -0
- package/dashboard/build/server/chunks/_page.svelte-ZUq8J-ew.js.map +1 -0
- package/dashboard/build/server/chunks/error.svelte-DJ3O9Tia.js +12 -0
- package/dashboard/build/server/chunks/error.svelte-DJ3O9Tia.js.map +1 -0
- package/dashboard/build/server/chunks/exports-BnaAAAnL.js +3262 -0
- package/dashboard/build/server/chunks/exports-BnaAAAnL.js.map +1 -0
- package/dashboard/build/server/chunks/index-DwR_KaNY.js +44 -0
- package/dashboard/build/server/chunks/index-DwR_KaNY.js.map +1 -0
- package/dashboard/build/server/chunks/index-lhTMmBNn.js +207 -0
- package/dashboard/build/server/chunks/index-lhTMmBNn.js.map +1 -0
- package/dashboard/build/server/chunks/queries-DGWi-KlP.js +198 -0
- package/dashboard/build/server/chunks/queries-DGWi-KlP.js.map +1 -0
- package/dashboard/build/server/chunks/renderer-DdMvhZZr.js +1930 -0
- package/dashboard/build/server/chunks/renderer-DdMvhZZr.js.map +1 -0
- package/dashboard/build/server/index.js +5911 -0
- package/dashboard/build/server/index.js.map +1 -0
- package/dashboard/build/server/manifest.js +78 -0
- package/dashboard/build/server/manifest.js.map +1 -0
- package/dashboard/build/shims.js +32 -0
- package/dashboard/package.json +29 -0
- package/dashboard/svelte.config.js +15 -0
- package/dist/bin/helm.d.ts +2 -0
- package/dist/bin/helm.js +167 -0
- package/dist/bin/helm.js.map +1 -0
- package/dist/server/src/banner.d.ts +1 -0
- package/dist/server/src/banner.js +34 -0
- package/dist/server/src/banner.js.map +1 -0
- package/dist/server/src/config/load.d.ts +14 -0
- package/dist/server/src/config/load.js +43 -0
- package/dist/server/src/config/load.js.map +1 -0
- package/dist/server/src/dashboard.d.ts +5 -0
- package/dist/server/src/dashboard.js +79 -0
- package/dist/server/src/dashboard.js.map +1 -0
- package/dist/server/src/db/bootstrap.d.ts +2 -0
- package/dist/server/src/db/bootstrap.js +106 -0
- package/dist/server/src/db/bootstrap.js.map +1 -0
- package/dist/server/src/db/client.d.ts +14 -0
- package/dist/server/src/db/client.js +32 -0
- package/dist/server/src/db/client.js.map +1 -0
- package/dist/server/src/db/open-project.d.ts +17 -0
- package/dist/server/src/db/open-project.js +27 -0
- package/dist/server/src/db/open-project.js.map +1 -0
- package/dist/server/src/db/open-repo.d.ts +8 -0
- package/dist/server/src/db/open-repo.js +45 -0
- package/dist/server/src/db/open-repo.js.map +1 -0
- package/dist/server/src/db/pg-bootstrap.d.ts +4 -0
- package/dist/server/src/db/pg-bootstrap.js +106 -0
- package/dist/server/src/db/pg-bootstrap.js.map +1 -0
- package/dist/server/src/db/pg-client.d.ts +10 -0
- package/dist/server/src/db/pg-client.js +42 -0
- package/dist/server/src/db/pg-client.js.map +1 -0
- package/dist/server/src/db/repo-pg.d.ts +3 -0
- package/dist/server/src/db/repo-pg.js +245 -0
- package/dist/server/src/db/repo-pg.js.map +1 -0
- package/dist/server/src/db/repo-sqlite.d.ts +3 -0
- package/dist/server/src/db/repo-sqlite.js +224 -0
- package/dist/server/src/db/repo-sqlite.js.map +1 -0
- package/dist/server/src/db/repo.d.ts +54 -0
- package/dist/server/src/db/repo.js +2 -0
- package/dist/server/src/db/repo.js.map +1 -0
- package/dist/server/src/db/schema-pg.d.ts +2712 -0
- package/dist/server/src/db/schema-pg.js +107 -0
- package/dist/server/src/db/schema-pg.js.map +1 -0
- package/dist/server/src/db/schema.d.ts +2721 -0
- package/dist/server/src/db/schema.js +107 -0
- package/dist/server/src/db/schema.js.map +1 -0
- package/dist/server/src/events/emit.d.ts +21 -0
- package/dist/server/src/events/emit.js +17 -0
- package/dist/server/src/events/emit.js.map +1 -0
- package/dist/server/src/http/server.d.ts +10 -0
- package/dist/server/src/http/server.js +119 -0
- package/dist/server/src/http/server.js.map +1 -0
- package/dist/server/src/index.d.ts +2 -0
- package/dist/server/src/index.js +13 -0
- package/dist/server/src/index.js.map +1 -0
- package/dist/server/src/init.d.ts +12 -0
- package/dist/server/src/init.js +59 -0
- package/dist/server/src/init.js.map +1 -0
- package/dist/server/src/install.d.ts +8 -0
- package/dist/server/src/install.js +100 -0
- package/dist/server/src/install.js.map +1 -0
- package/dist/server/src/project/bootstrap.d.ts +9 -0
- package/dist/server/src/project/bootstrap.js +83 -0
- package/dist/server/src/project/bootstrap.js.map +1 -0
- package/dist/server/src/project/detect.d.ts +10 -0
- package/dist/server/src/project/detect.js +82 -0
- package/dist/server/src/project/detect.js.map +1 -0
- package/dist/server/src/project/identity.d.ts +8 -0
- package/dist/server/src/project/identity.js +42 -0
- package/dist/server/src/project/identity.js.map +1 -0
- package/dist/server/src/server.d.ts +8 -0
- package/dist/server/src/server.js +22 -0
- package/dist/server/src/server.js.map +1 -0
- package/dist/server/src/tools/debt.d.ts +2 -0
- package/dist/server/src/tools/debt.js +88 -0
- package/dist/server/src/tools/debt.js.map +1 -0
- package/dist/server/src/tools/decision.d.ts +2 -0
- package/dist/server/src/tools/decision.js +39 -0
- package/dist/server/src/tools/decision.js.map +1 -0
- package/dist/server/src/tools/epic.d.ts +2 -0
- package/dist/server/src/tools/epic.js +95 -0
- package/dist/server/src/tools/epic.js.map +1 -0
- package/dist/server/src/tools/index.d.ts +3 -0
- package/dist/server/src/tools/index.js +21 -0
- package/dist/server/src/tools/index.js.map +1 -0
- package/dist/server/src/tools/nelson.d.ts +2 -0
- package/dist/server/src/tools/nelson.js +28 -0
- package/dist/server/src/tools/nelson.js.map +1 -0
- package/dist/server/src/tools/progress.d.ts +2 -0
- package/dist/server/src/tools/progress.js +45 -0
- package/dist/server/src/tools/progress.js.map +1 -0
- package/dist/server/src/tools/sprint.d.ts +2 -0
- package/dist/server/src/tools/sprint.js +98 -0
- package/dist/server/src/tools/sprint.js.map +1 -0
- package/dist/server/src/tools/status.d.ts +2 -0
- package/dist/server/src/tools/status.js +31 -0
- package/dist/server/src/tools/status.js.map +1 -0
- package/dist/server/src/tools/story.d.ts +2 -0
- package/dist/server/src/tools/story.js +155 -0
- package/dist/server/src/tools/story.js.map +1 -0
- package/dist/server/src/tools/task.d.ts +2 -0
- package/dist/server/src/tools/task.js +90 -0
- package/dist/server/src/tools/task.js.map +1 -0
- package/dist/server/src/tools/types.d.ts +15 -0
- package/dist/server/src/tools/types.js +11 -0
- package/dist/server/src/tools/types.js.map +1 -0
- package/dist/server/src/util/git.d.ts +8 -0
- package/dist/server/src/util/git.js +51 -0
- package/dist/server/src/util/git.js.map +1 -0
- package/dist/server/src/util/ids.d.ts +2 -0
- package/dist/server/src/util/ids.js +8 -0
- package/dist/server/src/util/ids.js.map +1 -0
- package/dist/server/src/util/paths.d.ts +2 -0
- package/dist/server/src/util/paths.js +9 -0
- package/dist/server/src/util/paths.js.map +1 -0
- package/dist/server/src/worker/client.d.ts +12 -0
- package/dist/server/src/worker/client.js +89 -0
- package/dist/server/src/worker/client.js.map +1 -0
- package/dist/server/src/worker/hook.d.ts +1 -0
- package/dist/server/src/worker/hook.js +36 -0
- package/dist/server/src/worker/hook.js.map +1 -0
- package/dist/server/src/worker/ingest.d.ts +14 -0
- package/dist/server/src/worker/ingest.js +86 -0
- package/dist/server/src/worker/ingest.js.map +1 -0
- package/dist/server/src/worker/markers/any-type.d.ts +6 -0
- package/dist/server/src/worker/markers/any-type.js +19 -0
- package/dist/server/src/worker/markers/any-type.js.map +1 -0
- package/dist/server/src/worker/markers/debt.d.ts +11 -0
- package/dist/server/src/worker/markers/debt.js +53 -0
- package/dist/server/src/worker/markers/debt.js.map +1 -0
- package/dist/server/src/worker/markers/file-size.d.ts +5 -0
- package/dist/server/src/worker/markers/file-size.js +32 -0
- package/dist/server/src/worker/markers/file-size.js.map +1 -0
- package/dist/server/src/worker/scanner.d.ts +23 -0
- package/dist/server/src/worker/scanner.js +23 -0
- package/dist/server/src/worker/scanner.js.map +1 -0
- package/dist/server/src/worker/server.d.ts +1 -0
- package/dist/server/src/worker/server.js +137 -0
- package/dist/server/src/worker/server.js.map +1 -0
- package/dist/server/src/worker/socket.d.ts +3 -0
- package/dist/server/src/worker/socket.js +12 -0
- package/dist/server/src/worker/socket.js.map +1 -0
- package/hooks/hooks.json +33 -0
- package/package.json +56 -0
- package/skills/backlog/SKILL.md +18 -0
- package/skills/debt/SKILL.md +39 -0
- package/skills/epic/SKILL.md +22 -0
- package/skills/nelson-integration/SKILL.md +44 -0
- package/skills/project-tracker/SKILL.md +60 -0
- package/skills/review/SKILL.md +27 -0
- package/skills/sprint/SKILL.md +23 -0
- package/skills/story/SKILL.md +29 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { a5 as escape_html, a3 as ensure_array_like, Y as attr, Z as attr_class, $ as clsx } from './renderer-DdMvhZZr.js';
|
|
2
|
+
import { p as page } from './index-DwR_KaNY.js';
|
|
3
|
+
import './exports-BnaAAAnL.js';
|
|
4
|
+
|
|
5
|
+
function _layout($$renderer, $$props) {
|
|
6
|
+
$$renderer.component(($$renderer2) => {
|
|
7
|
+
let { data, children } = $$props;
|
|
8
|
+
const links = [
|
|
9
|
+
{ href: "/", label: "Home" },
|
|
10
|
+
{ href: "/debt", label: "Debt" },
|
|
11
|
+
{ href: "/sprints", label: "Sprints" },
|
|
12
|
+
{ href: "/decisions", label: "Decisions" }
|
|
13
|
+
];
|
|
14
|
+
function isActive(href) {
|
|
15
|
+
if (href === "/") return page.url.pathname === "/";
|
|
16
|
+
return page.url.pathname.startsWith(href);
|
|
17
|
+
}
|
|
18
|
+
$$renderer2.push(`<div class="layout"><header class="nav"><span class="brand">helm</span> <span class="muted mono">${escape_html(data.project.slug)}</span> <nav><!--[-->`);
|
|
19
|
+
const each_array = ensure_array_like(links);
|
|
20
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
21
|
+
let link = each_array[$$index];
|
|
22
|
+
$$renderer2.push(`<a${attr("href", link.href)}${attr_class(clsx(isActive(link.href) ? "active" : ""))}>${escape_html(link.label)}</a>`);
|
|
23
|
+
}
|
|
24
|
+
$$renderer2.push(`<!--]--></nav></header> `);
|
|
25
|
+
children($$renderer2);
|
|
26
|
+
$$renderer2.push(`<!----></div>`);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { _layout as default };
|
|
31
|
+
//# sourceMappingURL=_layout.svelte-DeOKequ-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_layout.svelte-DeOKequ-.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.svelte.js"],"sourcesContent":["import { X as escape_html, V as ensure_array_like, G as attr, J as attr_class, N as clsx } from \"../../chunks/renderer.js\";\nimport { p as page } from \"../../chunks/index.js\";\nfunction _layout($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data, children } = $$props;\n const links = [\n { href: \"/\", label: \"Home\" },\n { href: \"/debt\", label: \"Debt\" },\n { href: \"/sprints\", label: \"Sprints\" },\n { href: \"/decisions\", label: \"Decisions\" }\n ];\n function isActive(href) {\n if (href === \"/\") return page.url.pathname === \"/\";\n return page.url.pathname.startsWith(href);\n }\n $$renderer2.push(`<div class=\"layout\"><header class=\"nav\"><span class=\"brand\">helm</span> <span class=\"muted mono\">${escape_html(data.project.slug)}</span> <nav><!--[-->`);\n const each_array = ensure_array_like(links);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let link = each_array[$$index];\n $$renderer2.push(`<a${attr(\"href\", link.href)}${attr_class(clsx(isActive(link.href) ? \"active\" : \"\"))}>${escape_html(link.label)}</a>`);\n }\n $$renderer2.push(`<!--]--></nav></header> `);\n children($$renderer2);\n $$renderer2.push(`<!----></div>`);\n });\n}\nexport {\n _layout as default\n};\n"],"names":[],"mappings":";;;;AAEA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO;AACpC,IAAI,MAAM,KAAK,GAAG;AAClB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;AAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AACtC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;AAC5C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW;AAC9C,KAAK;AACL,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC5B,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG;AACxD,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/C,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,iGAAiG,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC/K,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC/C,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACvF,MAAM,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;AACpC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7I,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAChD,IAAI,QAAQ,CAAC,WAAW,CAAC;AACzB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACrC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { a5 as escape_html, Z as attr_class, ao as stringify, a3 as ensure_array_like } from './renderer-DdMvhZZr.js';
|
|
2
|
+
|
|
3
|
+
function _page($$renderer, $$props) {
|
|
4
|
+
$$renderer.component(($$renderer2) => {
|
|
5
|
+
let { data } = $$props;
|
|
6
|
+
function deltaClass(n) {
|
|
7
|
+
if (n > 0) return "delta-positive";
|
|
8
|
+
if (n < 0) return "delta-negative";
|
|
9
|
+
return "delta-zero";
|
|
10
|
+
}
|
|
11
|
+
function deltaLabel(n) {
|
|
12
|
+
return n > 0 ? `+${n}` : `${n}`;
|
|
13
|
+
}
|
|
14
|
+
function formatTs(ts) {
|
|
15
|
+
const d = new Date(ts);
|
|
16
|
+
return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}`;
|
|
17
|
+
}
|
|
18
|
+
$$renderer2.push(`<div class="card"><h2>${escape_html(data.sprint.name)} <span${attr_class(`pill status-${stringify(data.sprint.status)}`)} style="margin-left: 8px;">${escape_html(data.sprint.status)}</span></h2> `);
|
|
19
|
+
if (data.sprint.goal) {
|
|
20
|
+
$$renderer2.push("<!--[0-->");
|
|
21
|
+
$$renderer2.push(`<p style="margin: 8px 0;">${escape_html(data.sprint.goal)}</p>`);
|
|
22
|
+
} else {
|
|
23
|
+
$$renderer2.push("<!--[-1-->");
|
|
24
|
+
}
|
|
25
|
+
$$renderer2.push(`<!--]--> <div class="muted" style="margin-top: 4px;">${escape_html(new Date(data.sprint.startedAt).toLocaleDateString())} `);
|
|
26
|
+
if (data.sprint.endedAt) {
|
|
27
|
+
$$renderer2.push("<!--[0-->");
|
|
28
|
+
$$renderer2.push(`→ ${escape_html(new Date(data.sprint.endedAt).toLocaleDateString())}`);
|
|
29
|
+
} else {
|
|
30
|
+
$$renderer2.push("<!--[-1-->");
|
|
31
|
+
}
|
|
32
|
+
$$renderer2.push(`<!--]--></div></div> <div class="row"><div class="card"><h2>Stories</h2> <div class="metric">${escape_html(data.metric.storiesDone)}<span class="muted" style="font-size: 24px;">/${escape_html(data.metric.storiesTotal)}</span></div> <div class="muted" style="margin-top: 8px;">completed</div></div> <div class="card"><h2>Debt delta</h2> <div${attr_class(`metric ${stringify(deltaClass(data.metric.debtDelta))}`)}>${escape_html(deltaLabel(data.metric.debtDelta))}</div> <div class="muted" style="margin-top: 8px;"><span style="color: var(--danger);">+${escape_html(data.metric.debtOpened)}</span> opened · <span style="color: var(--ok);">−${escape_html(data.metric.debtClosed)}</span> closed</div></div></div> <div class="card"><h2>Stories in sprint</h2> `);
|
|
33
|
+
if (data.stories.length === 0) {
|
|
34
|
+
$$renderer2.push("<!--[0-->");
|
|
35
|
+
$$renderer2.push(`<div class="empty">No stories pulled into this sprint.</div>`);
|
|
36
|
+
} else {
|
|
37
|
+
$$renderer2.push("<!--[-1-->");
|
|
38
|
+
$$renderer2.push(`<table><thead><tr><th>Title</th><th>Status</th><th>Size</th><th>Priority</th></tr></thead><tbody><!--[-->`);
|
|
39
|
+
const each_array = ensure_array_like(data.stories);
|
|
40
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
41
|
+
let s = each_array[$$index];
|
|
42
|
+
$$renderer2.push(`<tr><td>${escape_html(s.title)}</td><td><span${attr_class(`pill status-${stringify(s.status)}`)}>${escape_html(s.status)}</span></td><td class="muted">${escape_html(s.size ?? "—")}</td><td class="muted">P${escape_html(s.priority)}</td></tr>`);
|
|
43
|
+
}
|
|
44
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
45
|
+
}
|
|
46
|
+
$$renderer2.push(`<!--]--></div> <div class="card"><h2>Timeline</h2> `);
|
|
47
|
+
if (data.events.length === 0) {
|
|
48
|
+
$$renderer2.push("<!--[0-->");
|
|
49
|
+
$$renderer2.push(`<div class="empty">No events.</div>`);
|
|
50
|
+
} else {
|
|
51
|
+
$$renderer2.push("<!--[-1-->");
|
|
52
|
+
$$renderer2.push(`<table><thead><tr><th style="width: 160px;">When</th><th style="width: 160px;">Kind</th><th>Summary</th></tr></thead><tbody><!--[-->`);
|
|
53
|
+
const each_array_1 = ensure_array_like(data.events);
|
|
54
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
55
|
+
let e = each_array_1[$$index_1];
|
|
56
|
+
$$renderer2.push(`<tr><td class="muted">${escape_html(formatTs(e.ts))}</td><td class="mono muted">${escape_html(e.kind)}</td><td>${escape_html(e.summary)}</td></tr>`);
|
|
57
|
+
}
|
|
58
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
59
|
+
}
|
|
60
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { _page as default };
|
|
65
|
+
//# sourceMappingURL=_page.svelte-BGS-bwra.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-BGS-bwra.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/sprints/_id_/_page.svelte.js"],"sourcesContent":["import { X as escape_html, J as attr_class, a9 as stringify, V as ensure_array_like } from \"../../../../chunks/renderer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n function deltaClass(n) {\n if (n > 0) return \"delta-positive\";\n if (n < 0) return \"delta-negative\";\n return \"delta-zero\";\n }\n function deltaLabel(n) {\n return n > 0 ? `+${n}` : `${n}`;\n }\n function formatTs(ts) {\n const d = new Date(ts);\n return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" })}`;\n }\n $$renderer2.push(`<div class=\"card\"><h2>${escape_html(data.sprint.name)} <span${attr_class(`pill status-${stringify(data.sprint.status)}`)} style=\"margin-left: 8px;\">${escape_html(data.sprint.status)}</span></h2> `);\n if (data.sprint.goal) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p style=\"margin: 8px 0;\">${escape_html(data.sprint.goal)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"muted\" style=\"margin-top: 4px;\">${escape_html(new Date(data.sprint.startedAt).toLocaleDateString())} `);\n if (data.sprint.endedAt) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`→ ${escape_html(new Date(data.sprint.endedAt).toLocaleDateString())}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"row\"><div class=\"card\"><h2>Stories</h2> <div class=\"metric\">${escape_html(data.metric.storiesDone)}<span class=\"muted\" style=\"font-size: 24px;\">/${escape_html(data.metric.storiesTotal)}</span></div> <div class=\"muted\" style=\"margin-top: 8px;\">completed</div></div> <div class=\"card\"><h2>Debt delta</h2> <div${attr_class(`metric ${stringify(deltaClass(data.metric.debtDelta))}`)}>${escape_html(deltaLabel(data.metric.debtDelta))}</div> <div class=\"muted\" style=\"margin-top: 8px;\"><span style=\"color: var(--danger);\">+${escape_html(data.metric.debtOpened)}</span> opened · <span style=\"color: var(--ok);\">−${escape_html(data.metric.debtClosed)}</span> closed</div></div></div> <div class=\"card\"><h2>Stories in sprint</h2> `);\n if (data.stories.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No stories pulled into this sprint.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th>Title</th><th>Status</th><th>Size</th><th>Priority</th></tr></thead><tbody><!--[-->`);\n const each_array = ensure_array_like(data.stories);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let s = each_array[$$index];\n $$renderer2.push(`<tr><td>${escape_html(s.title)}</td><td><span${attr_class(`pill status-${stringify(s.status)}`)}>${escape_html(s.status)}</span></td><td class=\"muted\">${escape_html(s.size ?? \"—\")}</td><td class=\"muted\">P${escape_html(s.priority)}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"card\"><h2>Timeline</h2> `);\n if (data.events.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No events.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th style=\"width: 160px;\">When</th><th style=\"width: 160px;\">Kind</th><th>Summary</th></tr></thead><tbody><!--[-->`);\n const each_array_1 = ensure_array_like(data.events);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let e = each_array_1[$$index_1];\n $$renderer2.push(`<tr><td class=\"muted\">${escape_html(formatTs(e.ts))}</td><td class=\"mono muted\">${escape_html(e.kind)}</td><td>${escape_html(e.summary)}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { a3 as ensure_array_like, a5 as escape_html, Z as attr_class, ao as stringify } from './renderer-DdMvhZZr.js';
|
|
2
|
+
|
|
3
|
+
function _page($$renderer, $$props) {
|
|
4
|
+
$$renderer.component(($$renderer2) => {
|
|
5
|
+
let { data } = $$props;
|
|
6
|
+
function formatTs(ts) {
|
|
7
|
+
return new Date(ts).toLocaleDateString();
|
|
8
|
+
}
|
|
9
|
+
$$renderer2.push(`<div class="card"><h2>Architectural decisions</h2> `);
|
|
10
|
+
if (data.decisions.length === 0) {
|
|
11
|
+
$$renderer2.push("<!--[0-->");
|
|
12
|
+
$$renderer2.push(`<div class="empty">No decisions recorded. Use <code>record_decision</code> to capture one.</div>`);
|
|
13
|
+
} else {
|
|
14
|
+
$$renderer2.push("<!--[-1-->");
|
|
15
|
+
$$renderer2.push(`<table><thead><tr><th style="width: 110px;">Date</th><th>Title</th><th>Decision</th><th style="width: 110px;">Status</th></tr></thead><tbody><!--[-->`);
|
|
16
|
+
const each_array = ensure_array_like(data.decisions);
|
|
17
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
18
|
+
let d = each_array[$$index];
|
|
19
|
+
$$renderer2.push(`<tr><td class="muted">${escape_html(formatTs(d.decidedAt))}</td><td><strong>${escape_html(d.title)}</strong> `);
|
|
20
|
+
if (d.context) {
|
|
21
|
+
$$renderer2.push("<!--[0-->");
|
|
22
|
+
$$renderer2.push(`<div class="muted" style="font-size: 13px; margin-top: 4px;">${escape_html(d.context)}</div>`);
|
|
23
|
+
} else {
|
|
24
|
+
$$renderer2.push("<!--[-1-->");
|
|
25
|
+
}
|
|
26
|
+
$$renderer2.push(`<!--]--></td><td>${escape_html(d.decision)}</td><td><span${attr_class(`pill status-${stringify(d.status)}`)}>${escape_html(d.status)}</span></td></tr>`);
|
|
27
|
+
}
|
|
28
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
29
|
+
}
|
|
30
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { _page as default };
|
|
35
|
+
//# sourceMappingURL=_page.svelte-BiRjdIbl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-BiRjdIbl.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/decisions/_page.svelte.js"],"sourcesContent":["import { V as ensure_array_like, X as escape_html, J as attr_class, a9 as stringify } from \"../../../chunks/renderer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n function formatTs(ts) {\n return new Date(ts).toLocaleDateString();\n }\n $$renderer2.push(`<div class=\"card\"><h2>Architectural decisions</h2> `);\n if (data.decisions.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No decisions recorded. Use <code>record_decision</code> to capture one.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th style=\"width: 110px;\">Date</th><th>Title</th><th>Decision</th><th style=\"width: 110px;\">Status</th></tr></thead><tbody><!--[-->`);\n const each_array = ensure_array_like(data.decisions);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let d = each_array[$$index];\n $$renderer2.push(`<tr><td class=\"muted\">${escape_html(formatTs(d.decidedAt))}</td><td><strong>${escape_html(d.title)}</strong> `);\n if (d.context) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"muted\" style=\"font-size: 13px; margin-top: 4px;\">${escape_html(d.context)}</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></td><td>${escape_html(d.decision)}</td><td><span${attr_class(`pill status-${stringify(d.status)}`)}>${escape_html(d.status)}</span></td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,SAAS,QAAQ,CAAC,EAAE,EAAE;AAC1B,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE;AAC9C,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC3E,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gGAAgG,CAAC,CAAC;AAC1H,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,qJAAqJ,CAAC,CAAC;AAC/K,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1D,MAAM,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACzF,QAAQ,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AACnC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AACzI,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE;AACvB,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,6DAA6D,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1H,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAClL,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAClD,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Y as attr, ao as stringify, a3 as ensure_array_like, a5 as escape_html, Z as attr_class, $ as clsx, a2 as derived } from './renderer-DdMvhZZr.js';
|
|
2
|
+
|
|
3
|
+
function _page($$renderer, $$props) {
|
|
4
|
+
$$renderer.component(($$renderer2) => {
|
|
5
|
+
let { data } = $$props;
|
|
6
|
+
const maxVelocity = derived(() => Math.max(1, ...data.metrics.map((m) => m.storiesDone)));
|
|
7
|
+
function deltaClass(n) {
|
|
8
|
+
if (n > 0) return "delta-positive";
|
|
9
|
+
if (n < 0) return "delta-negative";
|
|
10
|
+
return "delta-zero";
|
|
11
|
+
}
|
|
12
|
+
function deltaLabel(n) {
|
|
13
|
+
return n > 0 ? `+${n}` : `${n}`;
|
|
14
|
+
}
|
|
15
|
+
$$renderer2.push(`<div class="card"><h2>Velocity (stories done per sprint)</h2> `);
|
|
16
|
+
if (data.metrics.length === 0) {
|
|
17
|
+
$$renderer2.push("<!--[0-->");
|
|
18
|
+
$$renderer2.push(`<div class="empty">No sprints yet.</div>`);
|
|
19
|
+
} else {
|
|
20
|
+
$$renderer2.push("<!--[-1-->");
|
|
21
|
+
$$renderer2.push(`<svg${attr("viewBox", `0 0 ${stringify(Math.max(data.metrics.length * 60, 240))} 140`)} style="width: 100%; height: 140px;"><!--[-->`);
|
|
22
|
+
const each_array = ensure_array_like(data.metrics.slice().reverse());
|
|
23
|
+
for (let i = 0, $$length = each_array.length; i < $$length; i++) {
|
|
24
|
+
let m = each_array[i];
|
|
25
|
+
const barHeight = m.storiesDone / maxVelocity() * 100;
|
|
26
|
+
$$renderer2.push(`<g${attr("transform", `translate(${stringify(i * 60 + 20)}, 0)`)}><rect x="0"${attr("y", 120 - barHeight)} width="40"${attr("height", barHeight)} fill="var(--accent)"${attr("opacity", m.status === "active" ? 1 : 0.5)}></rect><text x="20" y="135" text-anchor="middle" font-size="10" fill="var(--muted)" class="mono">${escape_html(m.name)}</text><text x="20"${attr("y", 114 - barHeight)} text-anchor="middle" font-size="11" fill="var(--fg)" font-weight="600">${escape_html(m.storiesDone)}</text></g>`);
|
|
27
|
+
}
|
|
28
|
+
$$renderer2.push(`<!--]--></svg>`);
|
|
29
|
+
}
|
|
30
|
+
$$renderer2.push(`<!--]--></div> <div class="card"><h2>All sprints</h2> `);
|
|
31
|
+
if (data.metrics.length === 0) {
|
|
32
|
+
$$renderer2.push("<!--[0-->");
|
|
33
|
+
$$renderer2.push(`<div class="empty">No sprints yet.</div>`);
|
|
34
|
+
} else {
|
|
35
|
+
$$renderer2.push("<!--[-1-->");
|
|
36
|
+
$$renderer2.push(`<table><thead><tr><th>Sprint</th><th>Status</th><th>Stories</th><th>Debt delta</th><th>Started</th><th>Ended</th></tr></thead><tbody><!--[-->`);
|
|
37
|
+
const each_array_1 = ensure_array_like(data.metrics);
|
|
38
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
39
|
+
let m = each_array_1[$$index_1];
|
|
40
|
+
$$renderer2.push(`<tr><td><a${attr("href", `/sprints/${stringify(m.sprintId)}`)} class="mono">${escape_html(m.name)}</a></td><td><span${attr_class(`pill status-${stringify(m.status)}`)}>${escape_html(m.status)}</span></td><td>${escape_html(m.storiesDone)}/${escape_html(m.storiesTotal)}</td><td${attr_class(clsx(deltaClass(m.debtDelta)))}>${escape_html(deltaLabel(m.debtDelta))}</td><td class="muted">${escape_html(new Date(m.startedAt).toLocaleDateString())}</td><td class="muted">${escape_html(m.endedAt ? new Date(m.endedAt).toLocaleDateString() : "—")}</td></tr>`);
|
|
41
|
+
}
|
|
42
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
43
|
+
}
|
|
44
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { _page as default };
|
|
49
|
+
//# sourceMappingURL=_page.svelte-C_NO0kPy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-C_NO0kPy.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/sprints/_page.svelte.js"],"sourcesContent":["import { G as attr, a9 as stringify, V as ensure_array_like, X as escape_html, J as attr_class, N as clsx, Q as derived } from \"../../../chunks/renderer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const maxVelocity = derived(() => Math.max(1, ...data.metrics.map((m) => m.storiesDone)));\n function deltaClass(n) {\n if (n > 0) return \"delta-positive\";\n if (n < 0) return \"delta-negative\";\n return \"delta-zero\";\n }\n function deltaLabel(n) {\n return n > 0 ? `+${n}` : `${n}`;\n }\n $$renderer2.push(`<div class=\"card\"><h2>Velocity (stories done per sprint)</h2> `);\n if (data.metrics.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No sprints yet.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<svg${attr(\"viewBox\", `0 0 ${stringify(Math.max(data.metrics.length * 60, 240))} 140`)} style=\"width: 100%; height: 140px;\"><!--[-->`);\n const each_array = ensure_array_like(data.metrics.slice().reverse());\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let m = each_array[i];\n const barHeight = m.storiesDone / maxVelocity() * 100;\n $$renderer2.push(`<g${attr(\"transform\", `translate(${stringify(i * 60 + 20)}, 0)`)}><rect x=\"0\"${attr(\"y\", 120 - barHeight)} width=\"40\"${attr(\"height\", barHeight)} fill=\"var(--accent)\"${attr(\"opacity\", m.status === \"active\" ? 1 : 0.5)}></rect><text x=\"20\" y=\"135\" text-anchor=\"middle\" font-size=\"10\" fill=\"var(--muted)\" class=\"mono\">${escape_html(m.name)}</text><text x=\"20\"${attr(\"y\", 114 - barHeight)} text-anchor=\"middle\" font-size=\"11\" fill=\"var(--fg)\" font-weight=\"600\">${escape_html(m.storiesDone)}</text></g>`);\n }\n $$renderer2.push(`<!--]--></svg>`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"card\"><h2>All sprints</h2> `);\n if (data.metrics.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No sprints yet.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th>Sprint</th><th>Status</th><th>Stories</th><th>Debt delta</th><th>Started</th><th>Ended</th></tr></thead><tbody><!--[-->`);\n const each_array_1 = ensure_array_like(data.metrics);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let m = each_array_1[$$index_1];\n $$renderer2.push(`<tr><td><a${attr(\"href\", `/sprints/${stringify(m.sprintId)}`)} class=\"mono\">${escape_html(m.name)}</a></td><td><span${attr_class(`pill status-${stringify(m.status)}`)}>${escape_html(m.status)}</span></td><td>${escape_html(m.storiesDone)}/${escape_html(m.storiesTotal)}</td><td${attr_class(clsx(deltaClass(m.debtDelta)))}>${escape_html(deltaLabel(m.debtDelta))}</td><td class=\"muted\">${escape_html(new Date(m.startedAt).toLocaleDateString())}</td><td class=\"muted\">${escape_html(m.endedAt ? new Date(m.endedAt).toLocaleDateString() : \"—\")}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { a5 as escape_html, Z as attr_class, ao as stringify, a3 as ensure_array_like } from './renderer-DdMvhZZr.js';
|
|
2
|
+
|
|
3
|
+
function _page($$renderer, $$props) {
|
|
4
|
+
$$renderer.component(($$renderer2) => {
|
|
5
|
+
let { data } = $$props;
|
|
6
|
+
function sprintDay(startedAt) {
|
|
7
|
+
const start = Date.parse(startedAt);
|
|
8
|
+
if (Number.isNaN(start)) return 1;
|
|
9
|
+
return Math.max(1, Math.floor((Date.now() - start) / 864e5) + 1);
|
|
10
|
+
}
|
|
11
|
+
function deltaClass(n) {
|
|
12
|
+
if (n > 0) return "delta-positive";
|
|
13
|
+
if (n < 0) return "delta-negative";
|
|
14
|
+
return "delta-zero";
|
|
15
|
+
}
|
|
16
|
+
function deltaLabel(n) {
|
|
17
|
+
if (n > 0) return `+${n}`;
|
|
18
|
+
return `${n}`;
|
|
19
|
+
}
|
|
20
|
+
function formatTs(ts) {
|
|
21
|
+
const d = new Date(ts);
|
|
22
|
+
return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}`;
|
|
23
|
+
}
|
|
24
|
+
$$renderer2.push(`<div class="row"><div class="card" style="flex: 2;"><h2>Active sprint</h2> `);
|
|
25
|
+
if (data.activeSprint && data.metric) {
|
|
26
|
+
$$renderer2.push("<!--[0-->");
|
|
27
|
+
$$renderer2.push(`<div style="display: flex; justify-content: space-between; align-items: baseline; gap: 24px;"><div><div style="font-size: 22px; font-weight: 600;">${escape_html(data.activeSprint.name)}</div> <div class="muted" style="margin-top: 4px;">day ${escape_html(sprintDay(data.activeSprint.startedAt))} of ${escape_html(data.project.sprintLengthDays)} `);
|
|
28
|
+
if (data.activeSprint.goal) {
|
|
29
|
+
$$renderer2.push("<!--[0-->");
|
|
30
|
+
$$renderer2.push(`· goal: ${escape_html(data.activeSprint.goal)}`);
|
|
31
|
+
} else {
|
|
32
|
+
$$renderer2.push("<!--[-1-->");
|
|
33
|
+
}
|
|
34
|
+
$$renderer2.push(`<!--]--></div></div> <div style="text-align: right;"><div class="label">stories</div> <div class="metric">${escape_html(data.metric.storiesDone)}<span class="muted" style="font-size: 24px;">/${escape_html(data.metric.storiesTotal)}</span></div></div></div>`);
|
|
35
|
+
} else {
|
|
36
|
+
$$renderer2.push("<!--[-1-->");
|
|
37
|
+
$$renderer2.push(`<div class="empty">No active sprint.</div>`);
|
|
38
|
+
}
|
|
39
|
+
$$renderer2.push(`<!--]--></div> <div class="card"><h2>Debt delta this sprint</h2> `);
|
|
40
|
+
if (data.metric) {
|
|
41
|
+
$$renderer2.push("<!--[0-->");
|
|
42
|
+
$$renderer2.push(`<div${attr_class(`metric ${stringify(deltaClass(data.metric.debtDelta))}`)}>${escape_html(deltaLabel(data.metric.debtDelta))}</div> <div class="muted" style="margin-top: 8px;"><span style="color: var(--danger);">+${escape_html(data.metric.debtOpened)}</span> opened · <span style="color: var(--ok);">−${escape_html(data.metric.debtClosed)}</span> closed</div>`);
|
|
43
|
+
} else {
|
|
44
|
+
$$renderer2.push("<!--[-1-->");
|
|
45
|
+
$$renderer2.push(`<div class="empty">—</div>`);
|
|
46
|
+
}
|
|
47
|
+
$$renderer2.push(`<!--]--></div></div> <div class="card"><h2>Top open debt</h2> `);
|
|
48
|
+
if (data.topDebt.length === 0) {
|
|
49
|
+
$$renderer2.push("<!--[0-->");
|
|
50
|
+
$$renderer2.push(`<div class="empty">No open debt items.</div>`);
|
|
51
|
+
} else {
|
|
52
|
+
$$renderer2.push("<!--[-1-->");
|
|
53
|
+
$$renderer2.push(`<table><thead><tr><th>Severity</th><th>Title</th><th>Location</th><th>Opened</th></tr></thead><tbody><!--[-->`);
|
|
54
|
+
const each_array = ensure_array_like(data.topDebt);
|
|
55
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
56
|
+
let d = each_array[$$index];
|
|
57
|
+
$$renderer2.push(`<tr><td><span${attr_class(`pill sev-${stringify(d.severity)}`)}>${escape_html(d.severity)}</span></td><td>${escape_html(d.title)}</td><td class="mono muted">${escape_html(d.location ?? "")}</td><td class="muted">${escape_html(formatTs(d.openedAt))}</td></tr>`);
|
|
58
|
+
}
|
|
59
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
60
|
+
}
|
|
61
|
+
$$renderer2.push(`<!--]--></div> <div class="card"><h2>Recent events</h2> `);
|
|
62
|
+
if (data.events.length === 0) {
|
|
63
|
+
$$renderer2.push("<!--[0-->");
|
|
64
|
+
$$renderer2.push(`<div class="empty">No events yet.</div>`);
|
|
65
|
+
} else {
|
|
66
|
+
$$renderer2.push("<!--[-1-->");
|
|
67
|
+
$$renderer2.push(`<table><thead><tr><th style="width: 160px;">When</th><th style="width: 160px;">Kind</th><th>Summary</th></tr></thead><tbody><!--[-->`);
|
|
68
|
+
const each_array_1 = ensure_array_like(data.events);
|
|
69
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
70
|
+
let e = each_array_1[$$index_1];
|
|
71
|
+
$$renderer2.push(`<tr><td class="muted">${escape_html(formatTs(e.ts))}</td><td class="mono muted">${escape_html(e.kind)}</td><td>${escape_html(e.summary)}</td></tr>`);
|
|
72
|
+
}
|
|
73
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
74
|
+
}
|
|
75
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { _page as default };
|
|
80
|
+
//# sourceMappingURL=_page.svelte-DvSQBjcA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DvSQBjcA.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { X as escape_html, J as attr_class, a9 as stringify, V as ensure_array_like } from \"../../chunks/renderer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n function sprintDay(startedAt) {\n const start = Date.parse(startedAt);\n if (Number.isNaN(start)) return 1;\n return Math.max(1, Math.floor((Date.now() - start) / 864e5) + 1);\n }\n function deltaClass(n) {\n if (n > 0) return \"delta-positive\";\n if (n < 0) return \"delta-negative\";\n return \"delta-zero\";\n }\n function deltaLabel(n) {\n if (n > 0) return `+${n}`;\n return `${n}`;\n }\n function formatTs(ts) {\n const d = new Date(ts);\n return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" })}`;\n }\n $$renderer2.push(`<div class=\"row\"><div class=\"card\" style=\"flex: 2;\"><h2>Active sprint</h2> `);\n if (data.activeSprint && data.metric) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div style=\"display: flex; justify-content: space-between; align-items: baseline; gap: 24px;\"><div><div style=\"font-size: 22px; font-weight: 600;\">${escape_html(data.activeSprint.name)}</div> <div class=\"muted\" style=\"margin-top: 4px;\">day ${escape_html(sprintDay(data.activeSprint.startedAt))} of ${escape_html(data.project.sprintLengthDays)} `);\n if (data.activeSprint.goal) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`· goal: ${escape_html(data.activeSprint.goal)}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div> <div style=\"text-align: right;\"><div class=\"label\">stories</div> <div class=\"metric\">${escape_html(data.metric.storiesDone)}<span class=\"muted\" style=\"font-size: 24px;\">/${escape_html(data.metric.storiesTotal)}</span></div></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"empty\">No active sprint.</div>`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"card\"><h2>Debt delta this sprint</h2> `);\n if (data.metric) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_class(`metric ${stringify(deltaClass(data.metric.debtDelta))}`)}>${escape_html(deltaLabel(data.metric.debtDelta))}</div> <div class=\"muted\" style=\"margin-top: 8px;\"><span style=\"color: var(--danger);\">+${escape_html(data.metric.debtOpened)}</span> opened · <span style=\"color: var(--ok);\">−${escape_html(data.metric.debtClosed)}</span> closed</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"empty\">—</div>`);\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"card\"><h2>Top open debt</h2> `);\n if (data.topDebt.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No open debt items.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th>Severity</th><th>Title</th><th>Location</th><th>Opened</th></tr></thead><tbody><!--[-->`);\n const each_array = ensure_array_like(data.topDebt);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let d = each_array[$$index];\n $$renderer2.push(`<tr><td><span${attr_class(`pill sev-${stringify(d.severity)}`)}>${escape_html(d.severity)}</span></td><td>${escape_html(d.title)}</td><td class=\"mono muted\">${escape_html(d.location ?? \"\")}</td><td class=\"muted\">${escape_html(formatTs(d.openedAt))}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"card\"><h2>Recent events</h2> `);\n if (data.events.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">No events yet.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th style=\"width: 160px;\">When</th><th style=\"width: 160px;\">Kind</th><th>Summary</th></tr></thead><tbody><!--[-->`);\n const each_array_1 = ensure_array_like(data.events);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let e = each_array_1[$$index_1];\n $$renderer2.push(`<tr><td class=\"muted\">${escape_html(formatTs(e.ts))}</td><td class=\"mono muted\">${escape_html(e.kind)}</td><td>${escape_html(e.summary)}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { _ as attr_style, a5 as escape_html, a3 as ensure_array_like, Z as attr_class, ao as stringify, a2 as derived } from './renderer-DdMvhZZr.js';
|
|
2
|
+
|
|
3
|
+
function _page($$renderer, $$props) {
|
|
4
|
+
$$renderer.component(($$renderer2) => {
|
|
5
|
+
let { data } = $$props;
|
|
6
|
+
const filtered = derived(() => data.debt.filter((d) => {
|
|
7
|
+
return !d.closedAt;
|
|
8
|
+
}));
|
|
9
|
+
function formatTs(ts) {
|
|
10
|
+
if (!ts) return "—";
|
|
11
|
+
const d = new Date(ts);
|
|
12
|
+
return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}`;
|
|
13
|
+
}
|
|
14
|
+
$$renderer2.push(`<div class="card"><h2>Tech debt</h2> <div style="display: flex; gap: 8px; margin-bottom: 12px;"><button class="pill"${attr_style(`cursor: pointer; background: ${stringify("var(--border)")};`)}>Open</button> <button class="pill"${attr_style(`cursor: pointer; background: ${stringify("transparent")};`)}>Closed</button> <button class="pill"${attr_style(`cursor: pointer; background: ${stringify("transparent")};`)}>All</button> <span class="muted" style="margin-left: auto;">${escape_html(filtered().length)} item${escape_html(filtered().length === 1 ? "" : "s")}</span></div> `);
|
|
15
|
+
if (filtered().length === 0) {
|
|
16
|
+
$$renderer2.push("<!--[0-->");
|
|
17
|
+
$$renderer2.push(`<div class="empty">Nothing here.</div>`);
|
|
18
|
+
} else {
|
|
19
|
+
$$renderer2.push("<!--[-1-->");
|
|
20
|
+
$$renderer2.push(`<table><thead><tr><th>Severity</th><th>Title</th><th>Location</th><th>Opened</th><th>Closed</th><th>Expires</th></tr></thead><tbody><!--[-->`);
|
|
21
|
+
const each_array = ensure_array_like(filtered());
|
|
22
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
23
|
+
let d = each_array[$$index];
|
|
24
|
+
$$renderer2.push(`<tr><td><span${attr_class(`pill sev-${stringify(d.severity)}`)}>${escape_html(d.severity)}</span></td><td>${escape_html(d.title)}</td><td class="mono muted">${escape_html(d.location ?? "")}</td><td class="muted">${escape_html(formatTs(d.openedAt))}</td><td class="muted">${escape_html(formatTs(d.closedAt))}</td><td class="muted">${escape_html(d.expiresAt ?? "—")}</td></tr>`);
|
|
25
|
+
}
|
|
26
|
+
$$renderer2.push(`<!--]--></tbody></table>`);
|
|
27
|
+
}
|
|
28
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { _page as default };
|
|
33
|
+
//# sourceMappingURL=_page.svelte-ZUq8J-ew.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-ZUq8J-ew.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/debt/_page.svelte.js"],"sourcesContent":["import { K as attr_style, X as escape_html, V as ensure_array_like, J as attr_class, a9 as stringify, Q as derived } from \"../../../chunks/renderer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const filtered = derived(() => data.debt.filter((d) => {\n return !d.closedAt;\n }));\n function formatTs(ts) {\n if (!ts) return \"—\";\n const d = new Date(ts);\n return `${d.toLocaleDateString()} ${d.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" })}`;\n }\n $$renderer2.push(`<div class=\"card\"><h2>Tech debt</h2> <div style=\"display: flex; gap: 8px; margin-bottom: 12px;\"><button class=\"pill\"${attr_style(`cursor: pointer; background: ${stringify(\"var(--border)\")};`)}>Open</button> <button class=\"pill\"${attr_style(`cursor: pointer; background: ${stringify(\"transparent\")};`)}>Closed</button> <button class=\"pill\"${attr_style(`cursor: pointer; background: ${stringify(\"transparent\")};`)}>All</button> <span class=\"muted\" style=\"margin-left: auto;\">${escape_html(filtered().length)} item${escape_html(filtered().length === 1 ? \"\" : \"s\")}</span></div> `);\n if (filtered().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"empty\">Nothing here.</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<table><thead><tr><th>Severity</th><th>Title</th><th>Location</th><th>Opened</th><th>Closed</th><th>Expires</th></tr></thead><tbody><!--[-->`);\n const each_array = ensure_array_like(filtered());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let d = each_array[$$index];\n $$renderer2.push(`<tr><td><span${attr_class(`pill sev-${stringify(d.severity)}`)}>${escape_html(d.severity)}</span></td><td>${escape_html(d.title)}</td><td class=\"mono muted\">${escape_html(d.location ?? \"\")}</td><td class=\"muted\">${escape_html(formatTs(d.openedAt))}</td><td class=\"muted\">${escape_html(formatTs(d.closedAt))}</td><td class=\"muted\">${escape_html(d.expiresAt ?? \"—\")}</td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { a5 as escape_html } from './renderer-DdMvhZZr.js';
|
|
2
|
+
import { p as page } from './index-DwR_KaNY.js';
|
|
3
|
+
import './exports-BnaAAAnL.js';
|
|
4
|
+
|
|
5
|
+
function Error($$renderer, $$props) {
|
|
6
|
+
$$renderer.component(($$renderer2) => {
|
|
7
|
+
$$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { Error as default };
|
|
12
|
+
//# sourceMappingURL=error.svelte-DJ3O9Tia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.svelte-DJ3O9Tia.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { X as escape_html } from \"../../chunks/renderer.js\";\nimport \"clsx\";\nimport { p as page } from \"../../chunks/index.js\";\nfunction Error($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n });\n}\nexport {\n Error as default\n};\n"],"names":[],"mappings":";;;;AAGA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACvG,EAAE,CAAC,CAAC;AACJ;;;;"}
|