Skip to content

joe-bell/astro-bug-params-undefined

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astro Bug Reproduction

Description

This repo is a reproduction; two routes have been created for demo purposes:

  • src/example/[...slug].ts
  • src/api/example/[...slug].ts

Expectation

When using params in a getStaticPaths function, I would expect undefined to result in the creation of an index route.

Actual Behaviour

The build fails in Vercel

Success: Without undefined params

19:36:18.324	▶ src/pages/example/[...slug].astro
19:36:18.345	  ├─ /example/one/index.html (+21ms)
19:36:18.347	  ├─ /example/two/index.html (+23ms)
19:36:18.348	  └─ /example/three/index.html (+25ms)
19:36:18.349	λ src/pages/api/example/[...slug].ts
19:36:18.350	  ├─ /api/example/one (+1ms)
19:36:18.351	  ├─ /api/example/two (+2ms)
19:36:18.351	  └─ /api/example/three (+3ms)
19:36:18.351	Completed in 59ms.

Error: With undefined params

▶ src/pages/example/[...slug].astro
19:39:10.815	  ├─ /example/one/index.html (+18ms)
19:39:10.817	  ├─ /example/two/index.html (+19ms)
19:39:10.818	  ├─ /example/three/index.html (+21ms)
19:39:10.820	  └─ /example/index.html (+22ms)
19:39:10.820	λ src/pages/api/example/[...slug].ts
19:39:10.821	  ├─ /api/example/one (+1ms)
19:39:10.822	  ├─ /api/example/two (+2ms)
19:39:10.822	  ├─ /api/example/three (+3ms)
19:39:10.911	 error   EISDIR: illegal operation on a directory, open '/vercel/path0/.vercel/output/static/api/example'
19:39:10.911	Error: EISDIR: illegal operation on a directory, open '/vercel/path0/.vercel/output/static/api/example'
19:39:10.926	 ELIFECYCLE  Command failed with exit code 1.
19:39:10.940	Error: Command "pnpm run build" exited with 1

Astro Starter Kit: Basics

pnpm create astro@latest -- --template basics

Open in StackBlitz Open with CodeSandbox

🧑‍🚀 Seasoned astronaut? Delete this file. Have fun!

basics

🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

/
├── public/
│   └── favicon.svg
├── src/
│   ├── components/
│   │   └── Card.astro
│   ├── layouts/
│   │   └── Layout.astro
│   └── pages/
│       └── index.astro
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm run dev Starts local dev server at localhost:3000
pnpm run build Build your production site to ./dist/
pnpm run preview Preview your build locally, before deploying
pnpm run astro ... Run CLI commands like astro add, astro check
pnpm run astro --help Get help using the Astro CLI

👀 Want to learn more?

Feel free to check our documentation or jump into our Discord server.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published