diff --git a/docs/package-lock.json b/docs/package-lock.json
index f8f3ddf8..9ef5a650 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -9,15 +9,15 @@
"version": "0.0.0",
"dependencies": {
"@hono/node-server": "^1.2.0",
- "highlight.js": "^11.8.0",
- "hono": "^3.7.5",
- "hwy": "^0.4.1"
+ "highlight.js": "^11.9.0",
+ "hono": "^3.8.3",
+ "hwy": "0.4.2-beta.6"
},
"devDependencies": {
- "@hwy-js/build": "^0.4.1",
- "@hwy-js/dev": "^0.4.1",
- "@types/node": "^20.8.3",
- "@types/nprogress": "^0.2.1",
+ "@hwy-js/build": "0.4.2-beta.6",
+ "@hwy-js/dev": "0.4.2-beta.6",
+ "@types/node": "^20.8.7",
+ "@types/nprogress": "^0.2.2",
"htmx.org": "^1.9.6",
"nprogress": "^0.2.0",
"tailwindcss": "^3.3.3",
@@ -400,14 +400,14 @@
}
},
"node_modules/@hwy-js/build": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@hwy-js/build/-/build-0.4.1.tgz",
- "integrity": "sha512-7i+BPaSiYKjLs8Q2/SiQtkl9CmnbXkW0VUocbRXicoqeIjOWyrfXFtVxZfcDrIhw5rf9wqs9tF5mm+nv0KDtRg==",
+ "version": "0.4.2-beta.6",
+ "resolved": "https://registry.npmjs.org/@hwy-js/build/-/build-0.4.2-beta.6.tgz",
+ "integrity": "sha512-NjcL/1EEradxs/7q1aU/RnPUKFayW1IERPYi49jye4ydsWg9BNdc/RUrcSr2JYj+OEXqiFD3ADSwWv6rs1/AQg==",
"dev": true,
"dependencies": {
"chokidar": "^3.5.3",
"dotenv": "^16.3.1",
- "esbuild": "^0.19.2",
+ "esbuild": "^0.19.5",
"picocolors": "^1.0.0",
"readdirp": "^3.6.0"
},
@@ -417,9 +417,9 @@
}
},
"node_modules/@hwy-js/dev": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@hwy-js/dev/-/dev-0.4.1.tgz",
- "integrity": "sha512-EtKdV/I6LU9tEIFoRV2NhIPL6OWj8+Y/Pf9ctfoSbJKnrA9xDImEtvUh95CjXcOVrPQ7xaznFTb02imVVnVhfw==",
+ "version": "0.4.2-beta.6",
+ "resolved": "https://registry.npmjs.org/@hwy-js/dev/-/dev-0.4.2-beta.6.tgz",
+ "integrity": "sha512-SljyJrosW0B1lkxOFUx9QBgXVUNW3wFaRBTA2WrHpXcfI/2eW3YXqXMrgHwy62Ngc3XkUx+Ypjf9EYWkZ3Nm0w==",
"dev": true,
"dependencies": {
"picocolors": "^1.0.0"
@@ -816,9 +816,9 @@
}
},
"node_modules/hono": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/hono/-/hono-3.8.1.tgz",
- "integrity": "sha512-im5K3bEyb6iMQP5Tfei5vfoHLnIKrsAqT/GNJJ4lxS75MvNaecUbPX0Xgi0ibTIos31lA5oYevMDGNNXhHJ9wA==",
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/hono/-/hono-3.8.3.tgz",
+ "integrity": "sha512-NLJgUCKKMvijBy+V+U1FQTsNwHk2bD1KGlWJA9+qaCNWgx5St9bhfQwxrpcTGvG2Gi2naemTWCzBavDNXOqO6Q==",
"engines": {
"node": ">=16.0.0"
}
@@ -830,9 +830,9 @@
"dev": true
},
"node_modules/hwy": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/hwy/-/hwy-0.4.1.tgz",
- "integrity": "sha512-jDR8f5DPrwnvNsFnf3+6jgi9p8ZrzqkDFje95MuchYyxBloRqFkltK3Y6N7qnT4kgQu4T7hcbQY6ynoDBpd0pw=="
+ "version": "0.4.2-beta.6",
+ "resolved": "https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.6.tgz",
+ "integrity": "sha512-VtVcC5dzPHgALL3pAWRMQ84LYbuqVIdJtKiL9Ko8XYt2mM0XXk4QIT4BAXHCC7Xmja0omuy//5YQzh5zddlgzw=="
},
"node_modules/inflight": {
"version": "1.0.6",
diff --git a/docs/package.json b/docs/package.json
index e0f38430..9557130e 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -11,15 +11,15 @@
},
"dependencies": {
"@hono/node-server": "^1.2.0",
- "highlight.js": "^11.8.0",
- "hono": "^3.7.5",
- "hwy": "^0.4.1"
+ "highlight.js": "^11.9.0",
+ "hono": "^3.8.3",
+ "hwy": "0.4.2-beta.6"
},
"devDependencies": {
- "@hwy-js/build": "^0.4.1",
- "@hwy-js/dev": "^0.4.1",
- "@types/node": "^20.8.3",
- "@types/nprogress": "^0.2.1",
+ "@hwy-js/build": "0.4.2-beta.6",
+ "@hwy-js/dev": "0.4.2-beta.6",
+ "@types/node": "^20.8.7",
+ "@types/nprogress": "^0.2.2",
"htmx.org": "^1.9.6",
"nprogress": "^0.2.0",
"tailwindcss": "^3.3.3",
diff --git a/docs/src/components/inline-code.tsx b/docs/src/components/inline-code.tsx
index 2d95a7ae..0b02e4d1 100644
--- a/docs/src/components/inline-code.tsx
+++ b/docs/src/components/inline-code.tsx
@@ -16,7 +16,7 @@ function InlineCode({
high_contrast
? "bg-black text-white dark:bg-white dark:text-black"
: "bg-[#7772] dark:bg-[#7773] rounded",
- rest.class
+ rest.class,
)}
>
{children}
diff --git a/docs/src/main.tsx b/docs/src/main.tsx
index 6f4592ec..b3a20327 100644
--- a/docs/src/main.tsx
+++ b/docs/src/main.tsx
@@ -85,7 +85,7 @@ app.all("*", async (c, next) => {
return (
-
+
{
return (
-
+
{
return (
diff --git a/packages/core/src/components/head-elements.tsx b/packages/core/src/components/head-elements.tsx
index a0b03838..692c700d 100644
--- a/packages/core/src/components/head-elements.tsx
+++ b/packages/core/src/components/head-elements.tsx
@@ -86,9 +86,9 @@ function HeadElements(props: {
<>
{head_blocks.map((block, i) => {
if ("title" in block) {
- return {block.title};
+ return {block.title};
} else {
- return ;
+ return ;
}
})}
>
diff --git a/packages/core/src/router/get-matching-path-data-internal.ts b/packages/core/src/router/get-matching-path-data-internal.ts
index e3aecc5d..db511f4f 100644
--- a/packages/core/src/router/get-matching-path-data-internal.ts
+++ b/packages/core/src/router/get-matching-path-data-internal.ts
@@ -13,7 +13,28 @@ function get_matching_paths_internal(__paths: Array) {
: x.realSegmentsLength;
// make sure any remaining matches are not longer than the path itself
- return x.segments.length <= index_adjusted_real_segments_length;
+ const should_move_on =
+ x.segments.length <= index_adjusted_real_segments_length;
+
+ if (!should_move_on) {
+ return false;
+ }
+
+ // now we need to remove ineligible indices
+ if (!x.isIndex) {
+ // if not an index, then you're already confirmed good
+ return true;
+ }
+
+ const truthy_segments_length = x.segments.filter((x) => x.segment).length;
+
+ const path_segments_length = x.path.split("/").filter(Boolean).length;
+
+ if (truthy_segments_length === path_segments_length) {
+ return true;
+ }
+
+ return false;
});
// if there are multiple matches, filter out the ultimate catch-all
diff --git a/packages/core/src/router/get-matching-path-data.ts b/packages/core/src/router/get-matching-path-data.ts
index af406279..1cced1f4 100644
--- a/packages/core/src/router/get-matching-path-data.ts
+++ b/packages/core/src/router/get-matching-path-data.ts
@@ -60,20 +60,20 @@ function fully_decorate_paths({
throw e;
}
},
- loader: async (loader_args: DataFunctionArgs) => {
+ loader: async (loaderArgs: DataFunctionArgs) => {
try {
const imported = await get_imported();
- return imported.loader ? imported.loader(loader_args) : undefined;
+ return imported.loader ? imported.loader(loaderArgs) : undefined;
} catch (e) {
if (e instanceof Response) return e;
console.error(e);
throw e;
}
},
- action: async (action_args: DataFunctionArgs) => {
+ action: async (actionArgs: DataFunctionArgs) => {
try {
const imported = await get_imported();
- return imported.action ? imported.action(action_args) : undefined;
+ return imported.action ? imported.action(actionArgs) : undefined;
} catch (e) {
if (e instanceof Response) return e;
console.error(e);
diff --git a/packages/create-hwy/__common/pages/_index.client.ts b/packages/create-hwy/__common/pages/_index.client.ts
new file mode 100644
index 00000000..659be000
--- /dev/null
+++ b/packages/create-hwy/__common/pages/_index.client.ts
@@ -0,0 +1,12 @@
+///
+
+const el = document.getElementById("increment-button");
+
+if (el) {
+ let count = 0;
+
+ el.addEventListener("click", () => {
+ count++;
+ el.innerHTML = count.toString();
+ });
+}
diff --git a/packages/create-hwy/__common/pages/_index.page.tsx b/packages/create-hwy/__common/pages/_index.page.tsx
index cfbc9b62..04066c9d 100644
--- a/packages/create-hwy/__common/pages/_index.page.tsx
+++ b/packages/create-hwy/__common/pages/_index.page.tsx
@@ -10,6 +10,15 @@ export default function () {
The nav bar above is being rendered from src/main.tsx
,
which is your site's main server "entry point".
+
+
+ Click the button below to increment the number (my click handler is in{" "}
+ src/pages/_index.client.ts
):
+
+
+
>
);
}
diff --git a/packages/create-hwy/index.ts b/packages/create-hwy/index.ts
index 470263b8..0451e918 100644
--- a/packages/create-hwy/index.ts
+++ b/packages/create-hwy/index.ts
@@ -355,8 +355,8 @@ async function main() {
is_jsx: false,
});
- // pages
- const pages_to_copy = [
+ // pages dir in __common
+ const tsx_list = [
"about.page",
"$.page",
"_index.page",
@@ -365,15 +365,24 @@ async function main() {
"__auth/login.page",
];
+ const ts_list = ["_index.client"];
+
+ const files_to_copy = [...tsx_list, ...ts_list];
+
await Promise.all(
- pages_to_copy.map(async (page) => {
+ files_to_copy.map(async (file) => {
+ const is_jsx = tsx_list.includes(file);
+
return handle_ts_or_js_file_copy({
code: fs.readFileSync(
- path.join(root_dir_path, "__common/pages/" + page + ".tsx"),
+ path.join(
+ root_dir_path,
+ "__common/pages/" + file + (is_jsx ? ".tsx" : ".ts"),
+ ),
"utf8",
),
- destination_without_extension: "src/pages/" + page,
- is_jsx: true,
+ destination_without_extension: "src/pages/" + file,
+ is_jsx,
});
}),
);
diff --git a/packages/create-hwy/package.json b/packages/create-hwy/package.json
index e48cdc6e..607558e4 100644
--- a/packages/create-hwy/package.json
+++ b/packages/create-hwy/package.json
@@ -1,6 +1,6 @@
{
"name": "create-hwy",
- "version": "0.4.1",
+ "version": "0.4.2-beta.6",
"author": {
"name": "Samuel J. Cook"
},
@@ -28,10 +28,10 @@
"picocolors": "^1.0.0"
},
"devDependencies": {
- "@types/inquirer": "^9.0.3",
- "@types/node": "^20.8.3",
- "@types/nprogress": "^0.2.1",
- "hono": "^3.7.5",
+ "@types/inquirer": "^9.0.6",
+ "@types/node": "^20.8.7",
+ "@types/nprogress": "^0.2.2",
+ "hono": "^3.8.3",
"hwy": "workspace:*",
"nprogress": "^0.2.0",
"prettier": "^3.0.3",
diff --git a/packages/create-hwy/src/get-main.ts b/packages/create-hwy/src/get-main.ts
index 25a5035c..3b0da057 100644
--- a/packages/create-hwy/src/get-main.ts
+++ b/packages/create-hwy/src/get-main.ts
@@ -65,11 +65,7 @@ ${
: `await hwyInit({
app,
importMetaUrl: import.meta.url,
- serveStatic,${
- options.css_preference === "tailwind"
- ? `\n watchExclusions: ["src/styles/tw-output.bundle.css"],`
- : ""
- }
+ serveStatic,
});`
}
@@ -81,7 +77,7 @@ app.all("*", async (c, next) => {
return (
-
+
=16'}
cpu: [x64]
os: [darwin]
@@ -734,8 +734,8 @@ packages:
dev: true
optional: true
- /@cloudflare/workerd-darwin-arm64@1.20231002.0:
- resolution: {integrity: sha512-dv8nztYFaTYYgBpyy80vc4hdMYv9mhyNbvBsZywm8S7ivcIpzogi0UKkGU4E/G0lYK6W3WtwTBqwRe+pXJ1+Ww==}
+ /@cloudflare/workerd-darwin-arm64@1.20231016.0:
+ resolution: {integrity: sha512-MvydDdiLXt+jy57vrVZ2lU6EQwCdpieyZoN8uBXSWzfG3zR/6dxU1+okvPQPlHN0jtlufqPeHrpJyAqqgLHUKA==}
engines: {node: '>=16'}
cpu: [arm64]
os: [darwin]
@@ -743,8 +743,8 @@ packages:
dev: true
optional: true
- /@cloudflare/workerd-linux-64@1.20231002.0:
- resolution: {integrity: sha512-UG8SlLcGzaQDSSw6FR4+Zf408925wkLOCAi8w5qEoFYu3g4Ef7ZenstesCOsyWL7qBDKx0/iwk6+a76W5IHI0Q==}
+ /@cloudflare/workerd-linux-64@1.20231016.0:
+ resolution: {integrity: sha512-y6Sj37yTzM8QbAghG9LRqoSBrsREnQz8NkcmpjSxeK6KMc2g0L5A/OemCdugNlIiv+zRv9BYX1aosaoxY5JbeQ==}
engines: {node: '>=16'}
cpu: [x64]
os: [linux]
@@ -752,8 +752,8 @@ packages:
dev: true
optional: true
- /@cloudflare/workerd-linux-arm64@1.20231002.0:
- resolution: {integrity: sha512-GPaa66ZSq1gK09r87c5CJbHIApcIU//LVHz3rnUxK0//00YCwUuGUUK1dn/ylg+fVqDQxIDmH+ABnobBanvcDA==}
+ /@cloudflare/workerd-linux-arm64@1.20231016.0:
+ resolution: {integrity: sha512-LqMIRUHD1YeRg2TPIfIQEhapSKMFSq561RypvJoXZvTwSbaROxGdW6Ku+PvButqTkEvuAtfzN/kGje7fvfQMHg==}
engines: {node: '>=16'}
cpu: [arm64]
os: [linux]
@@ -761,8 +761,8 @@ packages:
dev: true
optional: true
- /@cloudflare/workerd-windows-64@1.20231002.0:
- resolution: {integrity: sha512-ybIy+sCme0VO0RscndXvqWNBaRMUOc8vhi+1N2h/KDsKfNLsfEQph+XWecfKzJseUy1yE2rV1xei3BaNmaa6vg==}
+ /@cloudflare/workerd-windows-64@1.20231016.0:
+ resolution: {integrity: sha512-96ojBwIHyiUAbsWlzBqo9P/cvH8xUh8SuBboFXtwAeXcJ6/urwKN2AqPa/QzOGUTCdsurWYiieARHT5WWWPhKw==}
engines: {node: '>=16'}
cpu: [x64]
os: [win32]
@@ -770,8 +770,8 @@ packages:
dev: true
optional: true
- /@cloudflare/workers-types@4.20231002.0:
- resolution: {integrity: sha512-gQMKf3THqAFWH426OXXfVx0gFLXiSiL2fo6mKjQYx4PU74MgmVDFh25NvpAIBK+XN+xXlrImClfYeqErXIT7jA==}
+ /@cloudflare/workers-types@4.20231016.0:
+ resolution: {integrity: sha512-eGB0cRVyoJpeyGJx2re5sbd9R316a61sY73xwnqm4cwGpb+OxCK2gc651RxGiN7H4w6LY1RpysUgeGLmj5B3+g==}
dev: true
/@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19):
@@ -810,8 +810,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm64@0.19.2:
- resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==}
+ /@esbuild/android-arm64@0.19.5:
+ resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -837,8 +837,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.19.2:
- resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==}
+ /@esbuild/android-arm@0.19.5:
+ resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -864,8 +864,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.19.2:
- resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==}
+ /@esbuild/android-x64@0.19.5:
+ resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -891,8 +891,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.19.2:
- resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==}
+ /@esbuild/darwin-arm64@0.19.5:
+ resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -918,8 +918,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.19.2:
- resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==}
+ /@esbuild/darwin-x64@0.19.5:
+ resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -945,8 +945,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.19.2:
- resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==}
+ /@esbuild/freebsd-arm64@0.19.5:
+ resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -972,8 +972,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.19.2:
- resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==}
+ /@esbuild/freebsd-x64@0.19.5:
+ resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -999,8 +999,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.19.2:
- resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==}
+ /@esbuild/linux-arm64@0.19.5:
+ resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -1026,8 +1026,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.19.2:
- resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==}
+ /@esbuild/linux-arm@0.19.5:
+ resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -1053,8 +1053,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.19.2:
- resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==}
+ /@esbuild/linux-ia32@0.19.5:
+ resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -1080,8 +1080,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.19.2:
- resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==}
+ /@esbuild/linux-loong64@0.19.5:
+ resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -1107,8 +1107,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.19.2:
- resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==}
+ /@esbuild/linux-mips64el@0.19.5:
+ resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -1134,8 +1134,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.19.2:
- resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==}
+ /@esbuild/linux-ppc64@0.19.5:
+ resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -1161,8 +1161,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.19.2:
- resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==}
+ /@esbuild/linux-riscv64@0.19.5:
+ resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -1188,8 +1188,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.19.2:
- resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==}
+ /@esbuild/linux-s390x@0.19.5:
+ resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -1215,8 +1215,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.19.2:
- resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==}
+ /@esbuild/linux-x64@0.19.5:
+ resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -1242,8 +1242,8 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.19.2:
- resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==}
+ /@esbuild/netbsd-x64@0.19.5:
+ resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -1269,8 +1269,8 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.19.2:
- resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==}
+ /@esbuild/openbsd-x64@0.19.5:
+ resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -1296,8 +1296,8 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.19.2:
- resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==}
+ /@esbuild/sunos-x64@0.19.5:
+ resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -1323,8 +1323,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.19.2:
- resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==}
+ /@esbuild/win32-arm64@0.19.5:
+ resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -1350,8 +1350,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.19.2:
- resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==}
+ /@esbuild/win32-ia32@0.19.5:
+ resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -1377,8 +1377,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64@0.19.2:
- resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==}
+ /@esbuild/win32-x64@0.19.5:
+ resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -1465,8 +1465,8 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
- /@types/inquirer@9.0.3:
- resolution: {integrity: sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==}
+ /@types/inquirer@9.0.6:
+ resolution: {integrity: sha512-1Go1AAP/yOy3Pth5Xf1DC3nfZ03cJLCPx6E2YnSN/5I3w1jHBVH4170DkZ+JxfmA7c9kL9+bf9z3FRGa4kNAqg==}
dependencies:
'@types/through': 0.0.32
rxjs: 7.8.1
@@ -1486,8 +1486,8 @@ packages:
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
dev: true
- /@types/node@20.8.4:
- resolution: {integrity: sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==}
+ /@types/node@20.8.7:
+ resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==}
dependencies:
undici-types: 5.25.3
dev: true
@@ -1496,8 +1496,8 @@ packages:
resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==}
dev: true
- /@types/nprogress@0.2.1:
- resolution: {integrity: sha512-TYuyVnp+nOnimgdOydDIDYIxv2kSeuJZw4tF0p/KG7hpzcMF1WkHaREwM8O4blqfT1F7rq0nht6Ko2KVUfWzBA==}
+ /@types/nprogress@0.2.2:
+ resolution: {integrity: sha512-2wLrSJXLztGmr7wXwM0hA/wuIOY9DznVdd+ZFofHOiXcj9JnVt+2ZeLRJ7v5ZVlmheSkUOSg3Q3O4Ce7yji79A==}
dev: true
/@types/semver@7.5.4:
@@ -1507,7 +1507,7 @@ packages:
/@types/through@0.0.32:
resolution: {integrity: sha512-7XsfXIsjdfJM2wFDRAtEWp3zb2aVPk5QeyZxGlVK57q4u26DczMHhJmlhr0Jqv0THwxam/L8REXkj8M2I/lcvw==}
dependencies:
- '@types/node': 20.8.4
+ '@types/node': 20.8.7
dev: true
/@vue/compiler-core@3.3.6:
@@ -1707,7 +1707,7 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001551
+ caniuse-lite: 1.0.30001553
electron-to-chromium: 1.4.563
node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.22.1)
@@ -1765,8 +1765,8 @@ packages:
engines: {node: '>=6'}
dev: true
- /caniuse-lite@1.0.30001551:
- resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==}
+ /caniuse-lite@1.0.30001553:
+ resolution: {integrity: sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==}
dev: false
/capnp-ts@0.7.0:
@@ -2187,34 +2187,34 @@ packages:
'@esbuild/win32-x64': 0.18.20
dev: true
- /esbuild@0.19.2:
- resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==}
+ /esbuild@0.19.5:
+ resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.19.2
- '@esbuild/android-arm64': 0.19.2
- '@esbuild/android-x64': 0.19.2
- '@esbuild/darwin-arm64': 0.19.2
- '@esbuild/darwin-x64': 0.19.2
- '@esbuild/freebsd-arm64': 0.19.2
- '@esbuild/freebsd-x64': 0.19.2
- '@esbuild/linux-arm': 0.19.2
- '@esbuild/linux-arm64': 0.19.2
- '@esbuild/linux-ia32': 0.19.2
- '@esbuild/linux-loong64': 0.19.2
- '@esbuild/linux-mips64el': 0.19.2
- '@esbuild/linux-ppc64': 0.19.2
- '@esbuild/linux-riscv64': 0.19.2
- '@esbuild/linux-s390x': 0.19.2
- '@esbuild/linux-x64': 0.19.2
- '@esbuild/netbsd-x64': 0.19.2
- '@esbuild/openbsd-x64': 0.19.2
- '@esbuild/sunos-x64': 0.19.2
- '@esbuild/win32-arm64': 0.19.2
- '@esbuild/win32-ia32': 0.19.2
- '@esbuild/win32-x64': 0.19.2
+ '@esbuild/android-arm': 0.19.5
+ '@esbuild/android-arm64': 0.19.5
+ '@esbuild/android-x64': 0.19.5
+ '@esbuild/darwin-arm64': 0.19.5
+ '@esbuild/darwin-x64': 0.19.5
+ '@esbuild/freebsd-arm64': 0.19.5
+ '@esbuild/freebsd-x64': 0.19.5
+ '@esbuild/linux-arm': 0.19.5
+ '@esbuild/linux-arm64': 0.19.5
+ '@esbuild/linux-ia32': 0.19.5
+ '@esbuild/linux-loong64': 0.19.5
+ '@esbuild/linux-mips64el': 0.19.5
+ '@esbuild/linux-ppc64': 0.19.5
+ '@esbuild/linux-riscv64': 0.19.5
+ '@esbuild/linux-s390x': 0.19.5
+ '@esbuild/linux-x64': 0.19.5
+ '@esbuild/netbsd-x64': 0.19.5
+ '@esbuild/openbsd-x64': 0.19.5
+ '@esbuild/sunos-x64': 0.19.5
+ '@esbuild/win32-arm64': 0.19.5
+ '@esbuild/win32-ia32': 0.19.5
+ '@esbuild/win32-x64': 0.19.5
dev: false
/escalade@3.1.1:
@@ -2524,8 +2524,8 @@ packages:
dependencies:
function-bind: 1.1.2
- /hono@3.7.5:
- resolution: {integrity: sha512-ZaaqAul84HHLXZKwwfH+eMInidwvRj9IdyOoI5Ze0v+WUOAAtQruml3QaUUWkOuI2Myt6IZAiUqkYklLK77k4g==}
+ /hono@3.8.3:
+ resolution: {integrity: sha512-NLJgUCKKMvijBy+V+U1FQTsNwHk2bD1KGlWJA9+qaCNWgx5St9bhfQwxrpcTGvG2Gi2naemTWCzBavDNXOqO6Q==}
engines: {node: '>=16.0.0'}
/hosted-git-info@2.8.9:
@@ -2975,8 +2975,8 @@ packages:
engines: {node: '>=4'}
dev: true
- /miniflare@3.20231002.1:
- resolution: {integrity: sha512-4xJ8FezJkQqHzCm71lovb9L/wJ0VV/odMFf5CIxfLTunsx97kTIlZnhS6aHuvcbzdztbWp1RR71K/1qFUHdpdQ==}
+ /miniflare@3.20231016.0:
+ resolution: {integrity: sha512-AmlqI89zsnBJfC+nKKZdCB/fuu0q/br24Kqt9NZwcT6yJEpO5NytNKfjl6nJROHROwuJSRQR1T3yopCtG1/0DA==}
engines: {node: '>=16.13'}
dependencies:
acorn: 8.10.0
@@ -2987,7 +2987,7 @@ packages:
source-map-support: 0.5.21
stoppable: 1.1.0
undici: 5.26.4
- workerd: 1.20231002.0
+ workerd: 1.20231016.0
ws: 8.14.2
youch: 3.3.2
zod: 3.22.4
@@ -4191,21 +4191,21 @@ packages:
isexe: 2.0.0
dev: true
- /workerd@1.20231002.0:
- resolution: {integrity: sha512-NFuUQBj30ZguDoPZ6bL40hINiu8aP2Pvxr/3xAdhWOwVFLuObPOiSdQ8qm4JYZ7jovxWjWE4Z7VR2avjIzEksQ==}
+ /workerd@1.20231016.0:
+ resolution: {integrity: sha512-v2GDb5XitSqgub/xm7EWHVAlAK4snxQu3itdMQxXstGtUG9hl79fQbXS/8fNFbmms2R2bAxUwSv47q8k5T5Erw==}
engines: {node: '>=16'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@cloudflare/workerd-darwin-64': 1.20231002.0
- '@cloudflare/workerd-darwin-arm64': 1.20231002.0
- '@cloudflare/workerd-linux-64': 1.20231002.0
- '@cloudflare/workerd-linux-arm64': 1.20231002.0
- '@cloudflare/workerd-windows-64': 1.20231002.0
+ '@cloudflare/workerd-darwin-64': 1.20231016.0
+ '@cloudflare/workerd-darwin-arm64': 1.20231016.0
+ '@cloudflare/workerd-linux-64': 1.20231016.0
+ '@cloudflare/workerd-linux-arm64': 1.20231016.0
+ '@cloudflare/workerd-windows-64': 1.20231016.0
dev: true
- /wrangler@3.11.0:
- resolution: {integrity: sha512-glR3UPD1RJDokOIOUt56vPLacV7riWdfhPUCx5ZmZWVn0dDXB51ktj9DyK2VU8zHM+yj90OQhwHVdI77mGxWkw==}
+ /wrangler@3.14.0:
+ resolution: {integrity: sha512-4vzw11yG1/KXpYKbumvRJ61Iyhm/yKXb/ayOw/2xiIRdKdpsfN9/796d2l525+CDaGwZWswpLENe6ZMS0p/Ghg==}
engines: {node: '>=16.13.0'}
hasBin: true
dependencies:
@@ -4215,7 +4215,7 @@ packages:
blake3-wasm: 2.1.5
chokidar: 3.5.3
esbuild: 0.17.19
- miniflare: 3.20231002.1
+ miniflare: 3.20231016.0
nanoid: 3.3.6
path-to-regexp: 6.2.1
selfsigned: 2.1.1
diff --git a/testers/cf-pages/package.json b/testers/cf-pages/package.json
index b060215f..9e46cc68 100644
--- a/testers/cf-pages/package.json
+++ b/testers/cf-pages/package.json
@@ -13,19 +13,19 @@
},
"dependencies": {
"@hono/node-server": "^1.2.0",
- "hono": "^3.7.5",
+ "hono": "^3.8.3",
"hwy": "workspace:*"
},
"devDependencies": {
- "@cloudflare/workers-types": "^4.20231002.0",
+ "@cloudflare/workers-types": "^4.20231016.0",
"@hwy-js/build": "workspace:*",
"@hwy-js/dev": "workspace:*",
- "@types/node": "^20.8.4",
+ "@types/node": "^20.8.7",
"htmx.org": "^1.9.6",
"npm-run-all": "^4.1.5",
"tailwindcss": "^3.3.3",
"typescript": "^5.2.2",
- "wrangler": "^3.11.0"
+ "wrangler": "^3.14.0"
},
"engines": {
"node": ">=18.14.1"
diff --git a/testers/cf-pages/src/main.tsx b/testers/cf-pages/src/main.tsx
index d4d0770d..a1461624 100644
--- a/testers/cf-pages/src/main.tsx
+++ b/testers/cf-pages/src/main.tsx
@@ -24,7 +24,7 @@ app.all("*", async (c, next) => {
return (
-
+
- 0
-
+
);
}
diff --git a/testers/routes/hwy.config.ts b/testers/routes/hwy.config.ts
new file mode 100644
index 00000000..327c2ed1
--- /dev/null
+++ b/testers/routes/hwy.config.ts
@@ -0,0 +1,8 @@
+import type { HwyConfig } from "@hwy-js/build";
+
+export default {
+ dev: {
+ port: 9872,
+ },
+ deploymentTarget: "node",
+} satisfies HwyConfig;
diff --git a/testers/routes/package.json b/testers/routes/package.json
index 5a337c5d..4b413574 100644
--- a/testers/routes/package.json
+++ b/testers/routes/package.json
@@ -10,13 +10,13 @@
},
"dependencies": {
"@hono/node-server": "^1.2.0",
- "hono": "^3.7.5",
+ "hono": "^3.8.3",
"hwy": "workspace:*"
},
"devDependencies": {
"@hwy-js/build": "workspace:*",
"@hwy-js/dev": "workspace:*",
- "@types/node": "^20.8.3",
+ "@types/node": "^20.8.7",
"htmx.org": "^1.9.6",
"typescript": "^5.2.2"
},
diff --git a/testers/routes/src/components/sidebar.tsx b/testers/routes/src/components/sidebar.tsx
index 825372d3..e5fa1a94 100644
--- a/testers/routes/src/components/sidebar.tsx
+++ b/testers/routes/src/components/sidebar.tsx
@@ -23,6 +23,11 @@ function Sidebar() {
+ -------------
+
+
+
+
);
}
diff --git a/testers/routes/src/main.tsx b/testers/routes/src/main.tsx
index 26868f98..0ecf22a9 100644
--- a/testers/routes/src/main.tsx
+++ b/testers/routes/src/main.tsx
@@ -43,7 +43,7 @@ app.all("*", async (c, next) => {
return (
-
+