api-platform / api-platform/create-client

Nuxt Generator fails with npm; pinia requires extra config

Open
#367 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
376
Forks
132
PR merge metrics
No merged PRs in 30d

Description

**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:

* I was unable to use `npm` to create the nuxt client - I had to use yarn (which worked). I assumed that based on the [README](https://github.com/api-platform/create-client/blob/main/README.md#hydra) I should be able to use npm.
* Installing pinia requires additional steps. Opening the Nuxt site and navigating to my resource showed this error in browser: `getActivePinia was called with no active Pinia. Did you forget to install pinia? const pinia = createPinia() app.use(pinia) This will fail in production.`

**How to reproduce: npm failure**

When attempting to use the Nuxt generator with npm:

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

it failed with the following output:

```sh
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

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

should be added to `nuxt.config.ts`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.