diff --git a/.env b/.env index aebb86911..10c99a9de 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ SASS_PATH="node_modules" +VUE_APP_GITHUB_PERSONAL_ACCESS_TOKEN=ghp_l6HSDuOHMiBzb6odsqZAa \ No newline at end of file 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..545087792 --- /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..c2b38fc21 100644 --- a/src/views/RepoPage/RepoPage.vue +++ b/src/views/RepoPage/RepoPage.vue @@ -4,9 +4,12 @@
@@ -15,7 +18,40 @@ diff --git a/src/views/RepoPage/RepoTable.vue b/src/views/RepoPage/RepoTable.vue index de36017f2..602d5e842 100644 --- a/src/views/RepoPage/RepoTable.vue +++ b/src/views/RepoPage/RepoTable.vue @@ -1,12 +1,30 @@