How do I generate all the pages in nuxt generate routes? There are more than 100 records

At that moment I have code like this:

let query = `query pagesQuery {
  allPages(filter: {_status: {in: [published, updated]}}) {
    path
  }
}`

export default {
  generate: {
    routes(){
      const pageRoutes = new Promise(function(resolve, reject){
        axios({ url, headers, method: 'post', data: {query}})
        .then(response => {
            let result = [];
            let localeList = process.env.LOCALE_LIST.split(',')
            let localeDefault = process.env.LOCALE_DEFAULT
            response.data.data.allPages.map(page => {
              console.log(page.path);
                localeList.map(language => {
                  language == localeDefault ?  
                    result.push('/' + page.path) : result.push('/' + language + '/' + page.path)
                })
            })
            resolve(result)
        })
      })
      return pageRoutes      
    }  
  }
}

but this code generate only 20 records. Sure I can use :first in query, but I can enter only 100 records.

Hello @greeb.spb and welcome to the community!

To do so you have to paginate your requests, as documented here: Content Delivery API - Pagination - DatoCMS Docs

As you said one request can return at most 100 records, so after the first 100 records, a subsequent request must be made for the next 100 records, using the skip attribute.

You can loop through this skipping 100 more each time until you reached the total number of records for that model.
You can also dynamically request the total records for that model through the β€œcount” attribute on a _meta request, as exemplified here with the β€œArtist” model:

{
  _allArtistsMeta {
    count
  }
}