Skip to content
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

Fix the route mapping for nested resources #806

Merged
merged 1 commit into from
Jun 21, 2023

Conversation

JayaKrishnaNamburu
Copy link
Member

No description provided.

@JayaKrishnaNamburu JayaKrishnaNamburu self-assigned this Jun 21, 2023
@ionutpasca ionutpasca merged commit ca0270f into feat/better-fetch Jun 21, 2023
2 checks passed
@ionutpasca ionutpasca deleted the fix/resources-under-nested-components branch June 21, 2023 15:07
JayaKrishnaNamburu added a commit that referenced this pull request Jan 10, 2024
…`getStaticPaths` in NextJS for integrating with CMS resources (#784)

* feat(nextjs static paths and props): nextjs static paths and props

Add the possibility for each page to define resources for static paths and props

* feat: fetch support

Add support for fetch requests and nextjs static paths and props

* Small change

* Small fix on template concat

* Small change

* Get the first item on details page - initial props

* Fix tests

* Add support for pagination on static paths/props (#749)

* Add support for pagination on static paths/props

* Small changes in cms project uidl

---------

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Add support for context

* Small change

* Primitive implementation for context support

* Primitive implementation for cms-list and item support

* Handle cms-list node individually

* Handle cms-list node individually

* Remove package.lock

* Fix tests

* Handle CMS project uidl in standalone test

* Add support for CMS list and CMS item inside nextjs generators

* Changes required for contentful support (#764)

* Changes required for contentful support

* Small changes

* Add possibility to use mapper functions for cms list/items & initialProps (#767)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

---------

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Feat/dynamic links support for cms details pages (#765)

* Progress so far

* Progress so far

* aRemove type cast that was unnecesarry

* A better example

* Feat/contentful richtext (#768)

* Support for dynamic attributes from ctx

* Test and fix for contentful richtext node

* Remove console.log

* We dont use package.lock

* Bring back standalone

---------

Co-authored-by: Eliza Nitoi <eliza.nitoi@gmail.com>
Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Allow static values on component seo and meta tags (#772)

* Allow static values on component seo and meta tags

* Small change

---------

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Subselector support for classes (#770)

* Subselector support for classes

* Add explanation for &

* Support states and MQs for subselector classes as well

* Fix run standalone for next project with cms uidl

* Better debug for problematic context providers

* fix/THQ-2027 read-nested-data (#773)

* Check if node attributes have contexts

* Check if node attributes have contexts (#774)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Some changes to fix the contentful normalisation

* Revert "Merge with better fetch"

This reverts commit 618b405.

* Use id as fallback for context if

* Add support for empty/error/loading states in cms list/item nodes (#779)

* Add support for empty/error/loading states in cms list/item nodes

* Changes after code review

---------

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Handle markdown node with external package

* Generate cms nodes only if they exist

* add element in cms-project.json to test

* Fix for missinng importAlias in decoders

* Fixing existing tests with defaults for the new values in pageOptions

* Allow lerna to run on this fetch branch

* chore(release): 'publish v0.27.3-alpha.0'

* Context name fix for dash-cases

* chore(release): 'publish v0.27.3-alpha.1'

* (fix): Handlig names for states in cms nodes (#789)

* Fix handlig names for states in cms nodes

* Fix prop ad state handling for naming convenntons

* Enforce the casing during UIDL resolution phase

* Fix remaning tests

* Resolve cms-list items referece for prop naming convention

* use parser instead of resolver for prop changes

* Fix bug with parsing for cms-list item

* Fix naming convention in parsing for UIDL parser

* Fix for name hanndling in node-to-jsx handler

* Fix for adding loading and error ast

* Generating loading states at parsing time in the UIDL

* Final fix for component reference style parsing

* chore(release): 'publish v0.27.3-alpha.2'

* Add support for wordpress - minor changes required (#790)

* (refactor): Refactor better fetch branch and UIDL

* Wrap resources with exports

* Refactor for resource responses

* Refactor passing params to resource fetcher functions

* (fix): Pass params from context to resource fetcher

* Use imported resouse for getStaticPaths AST

* WIP: Simplyfying cms and cms-list-node

* Add support for wordpress - minor changes required

* Merging better fetch with the refactoring chages

---------

Co-authored-by: JayaKrishnaNamburu <namburu1995@gmail.com>
Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Revert "Add support for wordpress - minor changes required (#790)" (#792)

This reverts commit fefe05d.

* Add support for wordpress - minor changes required

* Mark totalCount as non optional property

* chore(release): 'publish v0.27.3-alpha.3'

* Fix cms project for this branch

* (refactor): normalization of UIDL and new changes for resource mappings (#795)

* normalization of UIDL and new changes for resource mappings

* Add support for cms-list using api and plugins

* Combine next and react fetch plugins into one

* Allow trace for logs

* Ability to handle cms-item and make the request post only when needed

* Add params only when needed in next apis

* Make mappers configurable and fix all the tests

* Pass content-type headers for nextjs fetch calls

* chore(release): 'publish v0.27.3-alpha.4'

* Add missing plugin-contexts in teleport-code-generator plugin

* fix use context from link ability (#793)

* fix use context from link ability (#797)

Co-authored-by: Eliza N <eliza.nitoi@gmail.com>

* Params fix for keys and default validation for mappers

* Add naming convention for the resource imports

* chore(release): 'publish v0.27.3-alpha.6'

* chore(release): 'publish v0.27.5-alpha.0'

* Commit yarn.lock

* (feat): Add response type for resources (#800)

* (feat): Add response type for resources

* Add explanation for AST resposnse

* chore(release): 'publish v0.27.6-alpha.0'

* Use unique names for resource files (#803)

* chore(release): 'publish v0.27.7-alpha.0'

* Fix the route mapping for nested resources (#806)

* chore(release): 'publish v0.27.8-alpha.0'

* Allow page attribute to be taken from query params (#805)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Add support for date-time nodes (#809)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* (refactor): `cms-list` and `cms-item` to use predefined primitives (#802)

* Refactor cms-list and cms-item to use predefned primitives

* Add attributes for cms nodes

* (refactor): Remove un-used contexts and inline-fetch implementation

* (refactor): Allow support for nodesLookup for cms-list and cms-item

* Add examples for nesting and inline fetch improvements

* Final changes for support for nested cms nodes

* fix tests

* Mirror the next wrapped API to reflect the original resource signature

* Add ability to add dynamic params to route links for page navigation

* Add examples for all use-cases with csm

* Refactor the path mapping for blogpost nodes

* Remove duplicate UIDL

* Add cms identifier to use the mapper

* Fix for resource name for wrapped next apis

* delete cms-list and cms-list-item components from react template

* (fix): drop react inline-fetch and fix valuePath and itemValuePath

* Update the sample for the cms-project

* Use expressions for renderprop child instead of dynamic nodes

* Add ability to set expressions for url and navlinks

* fix tests for the chnges for uidl navlink

* change the way params are passed to nested cms nodes

* Add router dependency for supporting pagination query params

* Fix typos for rosource names

* Delete react inline-fetch file

* chore(release): 'publish v0.28.0-alpha.0'

* (refactor): Refactor cms  to use new data-provider and repeater pattern (#811)

* (refactor): Refactor cms and cms-item to use new data-provider and repeater pattern

* Load DataProvder and Repeater from github

* add persistentForInitialRender flag for loading intialData

* fix tests for custom-files

* chore(release): 'publish v0.29.0-alpha.0'

* Add support for state values for cms dynamic data (#812)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Add none response type so mappers can read headers and body both

* chore(release): 'publish v0.30.0-alpha.0'

* test push

* (feat): Add support for external resource fetchers

* (refactor): Improve import statements for getStaticProps and getStaticPaths

* Add support for external packages for inline fetch

* caisy rich text. fix custom headers

* Handle CMS list repeater separately from CMS list node (#818)

* Handle CMS list repeater separately from CMS list node

* V1 that will only in part be merged

* Improved version

* Use pagination from new normalizer

* Push test project

* Change resourceMappers to accept params

* chore(release): 'publish v0.31.0-alpha.0'

* Add support for importDefinitions inside conditional nodes. Caisy rich text renderer

* Allow namedImport for external resources

* (feat): Add support for ISR and on-demand cache validation in projects (#817)

* (feat): Add ability to handle cache validator for on demand ISR

* Upgrade next, react and react-dom

* Add teleport-config fil by default

* (fix): missing getStaticProps in listing and details pages

* calculate paths only in the handler

* Update script for revalidate

* (fix): switch back to next@12

* add dependency instead of creating a side effect with revalidate

* Use revalidate from the response and not from request

* Add new version of code-generation for web-hook system

* (feat): More advanced use-cases for cache configuration

* (fix): when secret is not sent to the plugin. Don't add any if conditions to check for the secret

* add optional chaining while reading resources

* rename next-cache plugin to revalidate-api

* chore(release): 'publish v0.32.0-alpha.0'

* Return only the actual data for cms items, without pagination meta (#821)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* Re-add pagination meta to static props (#824)

* (fix): Parse and use template literals

* Add missing @babel/types in the plugin-common package

* chore(release): 'publish v0.33.0-alpha.0'

* (fix): Fix grouping dependencies with multiple aliasies

* Add namedImport in react mapping and updated json

* Allow to import and use something from existing npm package

* uncomment code from standalone

* Add caisy uidl sample

* Use local for local resource dependencies

* fix import for additional importDefinitions

* refactor package.json versions

* Update the node version in CI to node 18

* (refactor): Add error logging for revalidate end point (#827)

* Fix and update CMS node parsing to not have ifs in a switch (#826)

* Fix and update CMS node parsing to not have ifs in a switch

* Remove initialData from repeater

* Use optional expressions instead of member expressions

* Use fallback: blocking on CMS pages for non-tiny datasets to work (#829)

* chore(release): 'publish v0.34.0-alpha.0'

* Remove unused import

* Update yarn.lock file

* Update @babl/types and fix template literals error

* chore(release): 'publish v0.35.0-alpha.0'

* (fix): transform component attributes for local components (#834)

* chore(release): 'publish v0.36.0-alpha.0'

* Use latest thq-react-component packages (#835)

* chore(release): 'publish v0.37.0-alpha.0'

* (fix): parse change change the value for state and prop modifiers (#836)

* (fix): parse change change the value for state and prop modifiers

* Fix tests for the events default behaviour

* chore(release): 'publish v0.37.1-alpha.0'

* fix/THQ-2643 Fix generated code for pagination cases (#837)

* chore(release): 'publish v0.38.0-alpha.0'

* (feat): Support expressions for resource params

* chore(release): 'publish v0.39.0-alpha.0'

* Add support for dynamic meta information for CMS pages

* (feat): Allow to send prop and state values to resource fetchers

* (refactor): Types refactoring and decoder check for not allowing states and props in initialProps

* Update yarn.lock

* Use id as data provider key for main cms items (#842)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* (feat): Extract root resources from the the cms-list and cms-item (#840)

* (feat): Extract root resources from the the cms-list and cms-item

* Inject the extracted resource from the cms-list and cms-item

* reset cms-project.json file

* Refactor valuePath and itemValuePath handling and add the handling for the cms-list and cms-item

* remove type handling

* Add proper check for valuePath and itemValuePath

* rever changes for the unnecessary files

* Add nullish check for getStaticPaths

* Add valuePath even when nothing is defined

* chore(release): 'publish v0.40.0-alpha.0'

* fix getStaticPaths calculation

* chore(release): 'publish v0.40.1-alpha.0'

* Redirect to 404 page if entity got from staticProps is falsy

* Catch errors and redirect to 404

* chore(release): 'publish v0.40.2-alpha.0'

* Build cms projects on git push

* (feat): Add nesting routing support for `cms` related projects (#847)

* (feat): Add support for nested routes (#845)

* (feat): Add support for nested routes

* Supported nested routes for html

* Revert changes for the project.json file

* Fix tests for the url links

* Fix tests for multiple runs

* fix nested file name issues

* chore(release): 'publish v0.29.2'

* Nested urls support for strapi

* Rever files that don"t need changes

* Update regex to follow the new dynamic page names

* Refactor workflow file

* fix bug for injecting extracted resources inside try block

* Add new cms workflow file

* Add flotiq examples

* Remove regular test workflow

* (fix): Inject extracted resource inside try block (#849)

* correct all UIDL to new syntax with navLinks

* chore(release): 'publish v0.41.0'

* chore(release): 'publish v0.42.0-alpha.0'

* Add Caisy UIDL

* (chore): Use `latest` version of the packages from npm

* Update UIDLs to use pacakges from npm

* update caisy uidl

* (refactor): Wrap `getStaticPaths` with try-catch to handle un-expected errors from the CMS providers (#851)

* chore(release): 'publish v0.42.1-alpha.0'

* Add source support for repeater node (#852)

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>

* chore(release): 'publish v0.43.0-alpha.0'

* chore(release): 'publish v0.44.0-alpha.0'

* fix/THQ-2815 Replace MarkdownToJsx with ReactMarkdown (#860)

* mark cms releaes as alpha

* chore(release): 'publish v0.44.1-alpha.0'

* use lerna --dist-tag option for npm publish

* (feat): Add support for `cms-mixed-type` node. (#855)

* (feat): Add support for cms-mixed-type node

* Add mapping configuration for cms nodes

* Add support for cms-mixed-type with node configuration

* chore(release): 'publish v0.45.0-alpha.0'

* chore(release): 'publish v0.45.1-alpha.0'

* Insert links in cms mixed type elements

* chore(release): 'publish v0.45.2-alpha.0'

* (feat): Extract root resources for data fetching from external resources (#867)

* (feat): Extrtact root resources for caisy

* fix resource file name

* Fix resource names for extracted imports

* skip test workflow on better-fetch branch

* chore(release): 'publish v0.45.3-alpha.0'

* (fix): Parse mapping nodes for cms-mixed-type elements

* (fix): Use different identifiers for page and component names

* chore(release): 'publish v0.45.4-alpha.0'

* (fix): Resolve cms nodes w.r.t to mapped elements

* Revert changes for the cms standalone file

* chore(release): 'publish v0.45.5-alpha.0'

* (refactor): Extract all resource fetchers for cmsnodes and not only root nodes (#873)

* (refactor): Extract all resource fetchers for cmsnodes and not only root nodes

* use descriptive names for the nodes

* chore(release): 'publish v0.45.6-alpha.0'

* (fix): Add revalidate for extracted resources (#874)

* chore(release): 'publish v0.45.7-alpha.0'

* update yarn.lock file

* Update package version to 0.32.0

* (chore): Fix github workflows

* Delete a un-used workflow

---------

Co-authored-by: Ionut Pasca <ionut.pasca@teleporthq.io>
Co-authored-by: Eliza Nitoi <eliza.nitoi@gmail.com>
Co-authored-by: Vlad Grecu <51508637+vladgrecu@users.noreply.github.com>
Co-authored-by: Vlad Nicula <vladnicula@users.noreply.github.com>
Co-authored-by: TudorCe <101194278+TudorCe@users.noreply.github.com>
Co-authored-by: Vlad Nicula <vladnicula@gmail.com>
Co-authored-by: JayaKrishnaNamburu <namburu1995@gmail.com>
Co-authored-by: TudorCe <tudor.cernusca@teleporthq.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants