Akryum / Akryum/vue-cli-plugin-apollo

it does not work in vue cli preset

Ouverte
#342 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
477
Forks
109
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

when i put vue-cli-plugin-apollo in my vue-cli preset. the .vuerc file is:

{
"useTaobaoRegistry": false,
"packageManager": "yarn",
"latestVersion": "4.4.1",
"lastChecked": 1590545595795,
"presets": {
"test": {
"useConfigFiles": true,
"plugins": {
"@vue/cli-plugin-babel": {},
"@vue/cli-plugin-typescript": {
"classComponent": true,
"useTsWithBabel": true
},
"@vue/cli-plugin-router": {
"historyMode": true
},
"@vue/cli-plugin-eslint": {
"config": "base",
"lintOn": [
"save"
]
},
"vue-cli-plugin-apollo":{"addServer":false,
"publishSchema":false,
"addExamples":false,
"addApolloEngine":false}
}
}
}

it cannot modify main.js file.

in plugin's generator, the main.js or main.ts don't exist when plugin run.

solution:

replace the code

```
try {
const tsPath = api.resolve('src/main.ts')
const jsPath = api.resolve('src/main.js')

const tsExists = fs.existsSync(tsPath)
const jsExists = fs.existsSync(jsPath)

if (!tsExists && !jsExists) {
throw new Error('No entry found')
}

const file = tsExists ? 'src/main.ts' : 'src/main.js'
api.injectImports(file, `import { createProvider } from './vue-apollo'`)
api.injectRootOptions(file, `apolloProvider: createProvider(),`)
} catch (e) {
api.exitLog(`Your main file couldn't be modified. You will have to edit the code yourself: https://github.com/Akryum/vue-cli-plugin-apollo#manual-code-changes`, 'warn')
}
```

by

```
try {
api.injectImports(api.entryFile, `import { createProvider } from './vue-apollo'`)
api.injectRootOptions(api.entryFile, `apolloProvider: createProvider(),`)
} catch (e) {
api.exitLog(`Your main file couldn't be modified. You will have to edit the code yourself: https://github.com/Akryum/vue-cli-plugin-apollo#manual-code-changes`, 'warn')
}

```
thx.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.