yarr icon indicating copy to clipboard operation
yarr copied to clipboard

Wildcard matching problem

Open alpcanaydin opened this issue 3 years ago • 0 comments

I have a route like this:

import { RouteConfig } from 'yarr';
import { loadQuery } from 'react-relay';

import environment from '../../relay/environment';
import AssessmentCodeTreeQueryGraphql, {  AssessmentCodeTreeQuery} from './__generated__/AssessmentCodeTreeQuery.graphql';
import { AssessmentCodeTreeProps } from './AssessmentCodeTree';
import { loginRequired } from '../../utils/router';

const assessmentCodeTreeRoute: RouteConfig<
  '',
  '/:companySlug/assessment/:slug/code/tree/*',
  AssessmentCodeTreeProps
> = {
  path: '/:companySlug/assessment/:slug/code/tree/*',
  component: async () => {
    const module = await import('./AssessmentCodeTree');
    return module.default;
  },
  preload: (params) => ({
    query: loadQuery<AssessmentCodeTreeQuery>(environment, AssessmentCodeTreeQueryGraphql, {
      slug: params.slug,
      path: params.$rest,
    }),
  }),
  redirectRules: loginRequired,
};

export default assessmentCodeTreeRoute;

This route works like GitHub. The wildcard is some path from a git repository and the code suppose to pass the path by $rest parameter to the GraphQL server. But if this URL contains ., - kind of characters this route never matches.

Example: https://example.com/acme/assessment/repo/code/tree/.eslintrc https://example.com/acme/assessment/repo/code/tree/some-folder

Can you guide about this?

alpcanaydin avatar Jun 16 '22 18:06 alpcanaydin