api-platform / create-client

Generate React or Vue.js-based Progressive Web Apps from an Hydra-enabled API. Also support React Native.
https://api-platform.com/docs/client-generator/
MIT License
371 stars 133 forks source link

Nuxt Generator fails with npm; pinia requires extra config #367

Open BurningDog opened 1 year ago

BurningDog commented 1 year ago

API Platform version(s) affected: 3.0.9

Description

Following the steps for the Nuxt generator at https://api-platform.com/docs/create-client/nuxt/ failed. Specifically:

How to reproduce: npm failure

When attempting to use the Nuxt generator with npm:

npm create @api-platform/client https://demo.api-platform.com . --generator nuxt --resource foo

it failed with the following output:

Usage: create-client entrypoint outputDirectory

Generate apps built with Next, Nuxt, Quasar, React, React Native, Vue or Vuetify for any API documented using Hydra or OpenAPI

Options:
  -V, --version                                 output the version number
  -r, --resource [resourceName]                 Generate CRUD for the given resource
  -p, --hydra-prefix [hydraPrefix]              The hydra prefix used by the API (default: "hydra:")
  --username [username]                         Username for basic auth (Hydra only)
  --password [password]                         Password for basic auth (Hydra only)
  --bearer [bearer]                             Token for bearer auth (Hydra only)
  -g, --generator [generator]                   The generator to use, one of "next", "nuxt", "quasar", "react", "react-native", "typescript", "vue", "vuetify" or a path to a
                                                custom generator of your choice (default: "next")
  -t, --template-directory [templateDirectory]  The templates directory base to use. Final directory will be ${templateDirectory}/${generator} (default:
                                                "/Users/rs/.npm/_npx/eeb701ba6cc95913/node_modules/@api-platform/create-client/lib/../templates/")
  -f, --format [hydra|openapi3|openapi2]        "hydra", "openapi3" or "openapi2" (default: "hydra")
  -s, --server-path [serverPath]                Path to express server file to allow route dynamic addition (Next.js generator only)
  -h, --help                                    display help for command

Documentation should be added to say that the Nuxt generator can only be used with yarn.

How to reproduce: pinia installation failure

Installation instructions are only given using yarn. I assumed they would also work with npm but that's not the case. The steps at https://pinia.vuejs.org/ssr/nuxt.html should be followed for npm, which requires adding an overrides to package.json as well as explicitly installing the pinia module.

How to reproduce: pinia failure when opening the Nuxt site in a browser

As per https://pinia.vuejs.org/ssr/nuxt.html

    modules: [
        '@pinia/nuxt',
    ],

should be added to nuxt.config.ts