Skip to content

generate routes.json file from compute file #362

@veeramarni

Description

@veeramarni
  • 1. Generate <package>/lib/routes.json file for each browser package. We added a rollup plugin which generates this by reading through all compute.tsx from the lib directory.

  • 2. We need to also add file: reference in the object pointing to the location of the component. (right now it is not working).
    Changes are in this branch Feat/generate routes #361

  • 3. After this sorted, next we need to create a plugin in vite to gather all the <packages>/lib/routes.json and generate react-router v6 compatible configuration file which can be used in remix.

generated routes.json

[
  {
    "/apollo-server-n-client": {
      "exact": false,
      "icon": "export",
      "key": "dashboard",
      "tab": "Apollo Server",
      "position": "MIDDLE",
      "name": "Apollo Server",
      "path": "/apollo-server-n-client",
      "file": {}
    }
  },
  {
    "/apollo-server-n-client/counter": {
      "key": "counter",
      "name": "Counter",
      "icon": "appstore-o",
      "position": "MIDDLE",
      "path": "/apollo-server-n-client/counter"
    }
  },
  {
    "/": {
      "path": "/",
      "key": "home",
      "exact": true,
      "name": "Home",
      "position": "MIDDLE",
      "file": {}
    }
  },
  {
    "/emotion": {
      "tab": "Emotion Styling",
      "key": "emotion",
      "position": "MIDDLE",
      "name": "Emotion Styling",
      "path": "/emotion",
      "file": {}
    }
  },
  {
    "/redux-first-history": {
      "exact": false,
      "icon": "export",
      "position": "MIDDLE",
      "name": "Redux First History",
      "key": "/redux-first-history",
      "path": "/redux-first-history",
      "file": {}
    }
  },
  {
    "/redux-first-history/hello": {
      "exact": true,
      "icon": "export",
      "name": "Hello",
      "position": "MIDDLE",
      "key": "/redux-first-history/hello",
      "path": "/redux-first-history/hello",
      "file": {}
    }
  },
  {
    "/redux-first-history/counter": {
      "exact": true,
      "icon": "export",
      "name": "Counter",
      "position": "MIDDLE",
      "key": "/redux-first-history/counter",
      "path": "/redux-first-history/counter",
      "file": {}
    }
  }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions