Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[✨] Add trailingIndex to QwikCity that enables SPA builds to function in Capacitor, Cordova, and other hybrid native app environments #45

Closed
n8sabes opened this issue Feb 5, 2024 · 4 comments
Labels
[STAGE-2] incomplete implementation Remove this label when implementation is complete [STAGE-2] not fully covered by tests yet Remove this label when tests are verified to cover the implementation [STAGE-2] unresolved discussions left Remove this label when all critical discussions are resolved on the issue [STAGE-3] docs changes not added yet Remove this label when the necessary documentation for the feature / change is added [STAGE-3] missing 2 reviews for RFC PRs Remove this label when at least 2 core team members reviewed and approved the RFC implementation

Comments

@n8sabes
Copy link

n8sabes commented Feb 5, 2024

Is your feature request related to a problem?

To support SPA builds for Capacitor, Cordova and other static hybrid host environments, it is necessary to include /index.html to the path. Currently this is not possible without custom link logic sprinkled throughout the entire project.

Describe the solution you'd like

Enhance QwikCity to include trailingIndex.

export interface QwikCityPlan {
  readonly routes: RouteData[];
  readonly serverPlugins?: RouteModule[];
  readonly basePathname?: string;
  readonly menus?: MenuData[];
  readonly trailingSlash?: boolean;
  readonly trailingIndex?: boolean;    // <-------
  readonly cacheModules?: boolean;
}

Describe alternatives you've considered

Custom <SmartLink /> components. This works but adds a layer of complexity to every project.

Additional context

Related to QwikDev/qwik#5731

@wmertens
Copy link
Member

wmertens commented Feb 5, 2024

This makes sense but I think it should be a third state for trailingSlash, so true, false, or "index". If .html$ is missing from the path, /index.html should always be added.

Qwik-city doesn't have any other .html files right? So if you do /products/[id] it should result in /products/chair/index.html, correct?

@n8sabes
Copy link
Author

n8sabes commented Feb 6, 2024

@wmertens, your example path is correct. I agree the third state would be a better solution, but just don't like the variable name but can live with it.

@devcaeg
Copy link

devcaeg commented Feb 9, 2024

I am working on a Capacitor integration in Qwik, this enhancement would be good.

@gioboa
Copy link
Member

gioboa commented Oct 14, 2024

We moved this issue to qwik-evolution repo to create a RFC discussion for this.
Here is our Qwik RFC process thanks.

@gioboa gioboa transferred this issue from QwikDev/qwik Oct 14, 2024
@github-project-automation github-project-automation bot moved this to In Progress (STAGE 2) in Qwik Evolution Oct 14, 2024
@github-actions github-actions bot added [STAGE-2] incomplete implementation Remove this label when implementation is complete [STAGE-2] not fully covered by tests yet Remove this label when tests are verified to cover the implementation [STAGE-2] unresolved discussions left Remove this label when all critical discussions are resolved on the issue [STAGE-3] docs changes not added yet Remove this label when the necessary documentation for the feature / change is added [STAGE-3] missing 2 reviews for RFC PRs Remove this label when at least 2 core team members reviewed and approved the RFC implementation labels Oct 14, 2024
@QwikDev QwikDev locked and limited conversation to collaborators Oct 14, 2024
@gioboa gioboa converted this issue into discussion #122 Oct 14, 2024
@github-project-automation github-project-automation bot moved this from In Progress (STAGE 2) to Released as Stable (STAGE 5) in Qwik Evolution Oct 14, 2024
@shairez shairez removed this from Qwik Evolution Oct 15, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
[STAGE-2] incomplete implementation Remove this label when implementation is complete [STAGE-2] not fully covered by tests yet Remove this label when tests are verified to cover the implementation [STAGE-2] unresolved discussions left Remove this label when all critical discussions are resolved on the issue [STAGE-3] docs changes not added yet Remove this label when the necessary documentation for the feature / change is added [STAGE-3] missing 2 reviews for RFC PRs Remove this label when at least 2 core team members reviewed and approved the RFC implementation
Projects
None yet
Development

No branches or pull requests

4 participants