diff --git a/crates/tuono/Cargo.toml b/crates/tuono/Cargo.toml index a7e7bb1e..bdb5a19b 100644 --- a/crates/tuono/Cargo.toml +++ b/crates/tuono/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuono" -version = "0.11.0" +version = "0.11.1" edition = "2021" authors = ["V. Ageno "] description = "The react/rust fullstack framework" diff --git a/crates/tuono_lib/Cargo.toml b/crates/tuono_lib/Cargo.toml index 9681642d..ac8c4778 100644 --- a/crates/tuono_lib/Cargo.toml +++ b/crates/tuono_lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuono_lib" -version = "0.11.0" +version = "0.11.1" edition = "2021" authors = ["V. Ageno "] description = "The react/rust fullstack framework" @@ -33,7 +33,7 @@ either = "1.13.0" tower-http = {version = "0.6.0", features = ["fs"]} colored = "2.1.0" -tuono_lib_macros = {path = "../tuono_lib_macros", version = "0.11.0"} +tuono_lib_macros = {path = "../tuono_lib_macros", version = "0.11.1"} # Match the same version used by axum tokio-tungstenite = "0.24.0" futures-util = { version = "0.3", default-features = false, features = ["sink", "std"] } diff --git a/crates/tuono_lib_macros/Cargo.toml b/crates/tuono_lib_macros/Cargo.toml index e45e15bb..17df5ecf 100644 --- a/crates/tuono_lib_macros/Cargo.toml +++ b/crates/tuono_lib_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tuono_lib_macros" -version = "0.11.0" +version = "0.11.1" edition = "2021" description = "The react/rust fullstack framework" keywords = [ "react", "typescript", "fullstack", "web", "ssr"] diff --git a/packages/fs-router-vite-plugin/package.json b/packages/fs-router-vite-plugin/package.json index 35983016..b71c1c78 100644 --- a/packages/fs-router-vite-plugin/package.json +++ b/packages/fs-router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "tuono-fs-router-vite-plugin", - "version": "0.11.0", + "version": "0.11.1", "description": "Plugin for the tuono's file system router. Tuono is the react/rust fullstack framework", "scripts": { "dev": "vite build --watch", diff --git a/packages/fs-router-vite-plugin/src/generator.ts b/packages/fs-router-vite-plugin/src/generator.ts index dcb52460..b31b63b4 100644 --- a/packages/fs-router-vite-plugin/src/generator.ts +++ b/packages/fs-router-vite-plugin/src/generator.ts @@ -21,6 +21,7 @@ import { ROUTES_FOLDER, ROOT_PATH_ID, GENERATED_ROUTE_TREE } from './constants' import { format } from 'prettier' import { sortRouteNodes } from './sort-route-nodes' +import isDefaultExported from './utils/is-default-exported' let latestTask = 0 @@ -50,6 +51,13 @@ async function getRouteNodes( if (dirent.isDirectory()) { await recurse(relativePath) } else if (fullPath.match(/\.(tsx|ts|jsx|js|mdx)$/)) { + // Check that the route is correctly default exported + if ( + fullPath.match(/\.(tsx|ts|jsx|js)$/) && + !isDefaultExported((await fsp.readFile(fullPath)).toString()) + ) { + return + } const filePath = replaceBackslash(path.join(dir, dirent.name)) const filePathNoExt = removeExt(filePath) let routePath = diff --git a/packages/fs-router-vite-plugin/src/utils/is-default-exported.ts b/packages/fs-router-vite-plugin/src/utils/is-default-exported.ts new file mode 100644 index 00000000..e53f0c85 --- /dev/null +++ b/packages/fs-router-vite-plugin/src/utils/is-default-exported.ts @@ -0,0 +1,4 @@ +export default function isDefaultExported(source: string): boolean { + const regex = new RegExp('export default') + return regex.test(source) +} diff --git a/packages/fs-router-vite-plugin/tests/generator/mdx/routes/index.tsx b/packages/fs-router-vite-plugin/tests/generator/mdx/routes/index.tsx index ab504e42..abad96d2 100644 --- a/packages/fs-router-vite-plugin/tests/generator/mdx/routes/index.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/mdx/routes/index.tsx @@ -1 +1,2 @@ /** */ +// export default diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/about.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/about.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/about.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/about.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/index.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/index.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/index.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/index.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/[post].tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/[post].tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/[post].tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/[post].tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/index.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/index.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/index.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/index.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/my-post.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/my-post.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/my-post.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/my-post.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/about.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/about.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/about.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/about.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/index.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/index.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/index.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/index.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/posts/my-post.tsx b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/posts/my-post.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/posts/my-post.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/multi-level/routes/posts/my-post.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/single-level/routes/about.tsx b/packages/fs-router-vite-plugin/tests/generator/single-level/routes/about.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/single-level/routes/about.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/single-level/routes/about.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/fs-router-vite-plugin/tests/generator/single-level/routes/index.tsx b/packages/fs-router-vite-plugin/tests/generator/single-level/routes/index.tsx index ab504e42..cc6be575 100644 --- a/packages/fs-router-vite-plugin/tests/generator/single-level/routes/index.tsx +++ b/packages/fs-router-vite-plugin/tests/generator/single-level/routes/index.tsx @@ -1 +1 @@ -/** */ +/** export default */ diff --git a/packages/lazy-fn-vite-plugin/package.json b/packages/lazy-fn-vite-plugin/package.json index 6fc85b07..2545f0f5 100644 --- a/packages/lazy-fn-vite-plugin/package.json +++ b/packages/lazy-fn-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "tuono-lazy-fn-vite-plugin", - "version": "0.11.0", + "version": "0.11.1", "description": "Plugin for the tuono's lazy fn. Tuono is the react/rust fullstack framework", "scripts": { "dev": "vite build --watch", diff --git a/packages/router/package.json b/packages/router/package.json index 5c36f765..056d65c0 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "tuono-router", - "version": "0.11.0", + "version": "0.11.1", "description": "React routing component for the framework tuono. Tuono is the react/rust fullstack framework", "scripts": { "dev": "vite build --watch", diff --git a/packages/tuono/package.json b/packages/tuono/package.json index 3f2c37ad..85f22186 100644 --- a/packages/tuono/package.json +++ b/packages/tuono/package.json @@ -1,6 +1,6 @@ { "name": "tuono", - "version": "0.11.0", + "version": "0.11.1", "description": "The react/rust fullstack framework", "scripts": { "dev": "vite build --watch",