From 53a0e880f44d6df8501b21460558bf326dd710d9 Mon Sep 17 00:00:00 2001 From: Alvaro Prataviera Filho Date: Fri, 25 Aug 2023 18:18:47 -0300 Subject: [PATCH 1/7] feat(tutorial): complete step 3 --- .env | 1 + apollo.config.js | 26 + package.json | 21 +- src/main.js | 2 + src/views/RepoPage/LinkList.vue | 28 + src/views/RepoPage/RepoPage.vue | 115 +- src/views/RepoPage/RepoTable.vue | 31 +- src/vue-apollo.js | 110 + yarn.lock | 4161 +++++++++++++++++++++++++++++- 9 files changed, 4386 insertions(+), 109 deletions(-) create mode 100644 apollo.config.js create mode 100644 src/views/RepoPage/LinkList.vue create mode 100644 src/vue-apollo.js diff --git a/.env b/.env index aebb86911..dcf61da18 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ SASS_PATH="node_modules" +VUE_APP_GITHUB_PERSONAL_ACCESS_TOKEN="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" diff --git a/apollo.config.js b/apollo.config.js new file mode 100644 index 000000000..7a9649c22 --- /dev/null +++ b/apollo.config.js @@ -0,0 +1,26 @@ +const path = require('path'); + +// Load .env files +const { loadEnv } = require('vue-cli-plugin-apollo/utils/load-env'); +const env = loadEnv([ + path.resolve(__dirname, '.env'), + path.resolve(__dirname, '.env.local') +]); + +module.exports = { + client: { + service: env.VUE_APP_APOLLO_ENGINE_SERVICE, + includes: ['src/**/*.{js,jsx,ts,tsx,vue,gql}'] + }, + service: { + name: env.VUE_APP_APOLLO_ENGINE_SERVICE, + localSchemaFile: path.resolve( + __dirname, + './node_modules/.temp/graphql/schema.json' + ) + }, + engine: { + endpoint: process.env.APOLLO_ENGINE_API_ENDPOINT, + apiKey: env.VUE_APP_APOLLO_ENGINE_KEY + } +}; diff --git a/package.json b/package.json index 9f2c66ece..a237aad3b 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", - "ci-check": "yarn format:diff", - "format:diff": "prettier --list-different \"src/**/*.{js,vue,scss}\"", + "test:unit": "vue-cli-service test:unit", "lint": "vue-cli-service lint", - "test:unit": "vue-cli-service test:unit" + "ci-check": "yarn format:diff", + "format:diff": "prettier --list-different \"src/**/*.{js,vue,scss}\"" }, "dependencies": { "@carbon/icons-vue": "^10.30.0", @@ -17,6 +17,7 @@ "core-js": "^3.11.0", "mock-apollo-client": "^1.1.0", "vue": "^2.6.12", + "vue-apollo": "^3.0.0-beta.11", "vue-router": "^3.5.1" }, "devDependencies": { @@ -31,13 +32,12 @@ "eslint": "^7.25.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-vue": "^7.9.0", + "graphql-tag": "^2.9.0", "sass": "^1.32.11", "sass-loader": "^10.1.1", + "vue-cli-plugin-apollo": "~0.22.2", "vue-template-compiler": "^2.6.12" }, - "prettier": { - "singleQuote": true - }, "eslintConfig": { "root": true, "env": { @@ -52,6 +52,9 @@ "parser": "babel-eslint" } }, + "prettier": { + "singleQuote": true + }, "postcss": { "plugins": { "autoprefixer": {} @@ -68,8 +71,10 @@ "json", "vue" ], - "setupFiles": ["./tests/setup.js"], - "transform": { + "setupFiles": [ + "./tests/setup.js" + ], + "transform": { "^.+\\.vue$": "vue-jest", ".+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$": "jest-transform-stub", "^.+\\.jsx?$": "babel-jest" diff --git a/src/main.js b/src/main.js index 99abe98a0..9f2275e83 100644 --- a/src/main.js +++ b/src/main.js @@ -3,11 +3,13 @@ import App from './App.vue'; import router from './router'; import CarbonComponentsVue from '@carbon/vue'; +import { createProvider } from './vue-apollo'; Vue.use(CarbonComponentsVue); Vue.config.productionTip = false; new Vue({ router, + apolloProvider: createProvider(), render: h => h(App) }).$mount('#app'); diff --git a/src/views/RepoPage/LinkList.vue b/src/views/RepoPage/LinkList.vue new file mode 100644 index 000000000..2f9c40050 --- /dev/null +++ b/src/views/RepoPage/LinkList.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/RepoPage/RepoPage.vue b/src/views/RepoPage/RepoPage.vue index 60eed062b..fb038fe1d 100644 --- a/src/views/RepoPage/RepoPage.vue +++ b/src/views/RepoPage/RepoPage.vue @@ -4,9 +4,12 @@
@@ -15,6 +18,41 @@ diff --git a/src/views/RepoPage/RepoTable.vue b/src/views/RepoPage/RepoTable.vue index de36017f2..980b63b14 100644 --- a/src/views/RepoPage/RepoTable.vue +++ b/src/views/RepoPage/RepoTable.vue @@ -1,12 +1,30 @@