Showing preview only (468K chars total). Download the full file or copy to clipboard to get everything.
Repository: ramsaylanier/wordexpress-starter-vue
Branch: 3.0.0-beta
Commit: 3fa7189ebd6a
Files: 86
Total size: 440.0 KB
Directory structure:
gitextract_x5kofju5/
├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .travis.yml
├── History.md
├── README.md
├── acf-export.json
├── babel.config.js
├── config/
│ └── sample-client.config.json
├── jest.config.js
├── package.json
├── public/
│ └── index.html
├── scripts/
│ ├── serve.js
│ └── start.js
├── server.js
├── src/
│ ├── core/
│ │ ├── app.js
│ │ ├── graphql/
│ │ │ ├── category.gql
│ │ │ ├── menu.gql
│ │ │ ├── page.gql
│ │ │ ├── post.gql
│ │ │ ├── posts.gql
│ │ │ └── user.gql
│ │ ├── plugin/
│ │ │ └── index.js
│ │ ├── router.js
│ │ ├── ssr/
│ │ │ ├── entry-client.js
│ │ │ └── entry-server.js
│ │ ├── vue-apollo.js
│ │ └── vuex/
│ │ ├── actions.js
│ │ ├── getters.js
│ │ └── store.js
│ ├── index.template.html
│ └── themes/
│ ├── basic/
│ │ ├── App.vue
│ │ ├── components/
│ │ │ ├── category/
│ │ │ │ ├── CategoryList.vue
│ │ │ │ └── containers/
│ │ │ │ └── CategoryContainer.vue
│ │ │ ├── header/
│ │ │ │ └── header.vue
│ │ │ ├── icons/
│ │ │ │ └── icons.vue
│ │ │ ├── menu/
│ │ │ │ ├── menu.vue
│ │ │ │ ├── menuContainer.vue
│ │ │ │ └── menuLink.vue
│ │ │ ├── page/
│ │ │ │ ├── PageHeader.vue
│ │ │ │ ├── layouts/
│ │ │ │ │ ├── DefaultPage.vue
│ │ │ │ │ ├── PageWithHeader.vue
│ │ │ │ │ ├── PageWithSidebar.vue
│ │ │ │ │ └── layouts.js
│ │ │ │ └── page.vue
│ │ │ └── post/
│ │ │ ├── PostContent.vue
│ │ │ ├── PostList.vue
│ │ │ ├── PostListItem.vue
│ │ │ ├── PostSingle.vue
│ │ │ └── containers/
│ │ │ ├── PostContainer.vue
│ │ │ └── PostsContainer.vue
│ │ ├── routes/
│ │ │ └── index.js
│ │ └── styles/
│ │ ├── colors.scss
│ │ ├── reset.css
│ │ └── typography.css
│ └── multi-user/
│ ├── App.vue
│ ├── components/
│ │ ├── author/
│ │ │ ├── AuthorSingle.vue
│ │ │ └── containers/
│ │ │ └── AuthorContainer.vue
│ │ ├── category/
│ │ │ ├── CategoryList.vue
│ │ │ └── containers/
│ │ │ └── CategoryContainer.vue
│ │ ├── header/
│ │ │ └── header.vue
│ │ ├── icons/
│ │ │ └── icons.vue
│ │ ├── menu/
│ │ │ ├── menu.vue
│ │ │ ├── menuContainer.vue
│ │ │ └── menuLink.vue
│ │ ├── page/
│ │ │ ├── PageHeader.vue
│ │ │ ├── layouts/
│ │ │ │ ├── DefaultPage.vue
│ │ │ │ ├── PageWithHeader.vue
│ │ │ │ ├── PageWithSidebar.vue
│ │ │ │ └── layouts.js
│ │ │ └── page.vue
│ │ └── post/
│ │ ├── PostContent.vue
│ │ ├── PostList.vue
│ │ ├── PostListItem.vue
│ │ ├── PostSingle.vue
│ │ └── containers/
│ │ ├── PostContainer.vue
│ │ └── PostsContainer.vue
│ ├── routes/
│ │ └── index.js
│ └── styles/
│ ├── colors.scss
│ ├── reset.css
│ └── typography.css
├── tests/
│ └── unit/
│ ├── .eslintrc.js
│ └── HelloWorld.spec.js
├── vue.config.js
└── yarn-error.log
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
================================================
FILE: .eslintignore
================================================
build/*.js
dist/*.js
node_modules/*
**/lib/*
*.gql
================================================
FILE: .eslintrc.js
================================================
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/essential',
'@vue/prettier'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
},
parserOptions: {
parser: 'babel-eslint'
}
}
================================================
FILE: .gitignore
================================================
.DS_Store
node_modules/
dist/
npm-debug.log
.vscode/
config/client.json
config/development.json
config/production.json
================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
- "6"
- "7"
script: npm run unit --single-run
================================================
FILE: History.md
================================================
# V.3.0.0-beta
- Completely replaced build system using Vue CLI 3.0 (beta release)
# V.2.1
- Created a multi-user theme to display author profile pages.
- Add gravatar link helper to plugin
# V.2.0
I have since moved the GraphQL server into its own stand-alone repo called [WordExpress Server](https://github.com/ramsaylanier/WordExpress-Server). V.1.X of this repo included the GraphQL server and schema, etc. If you are migrating from V.1.X, you'll first need to clone the WordExpress Server repo and follow the instructions on setting it up.
# V.1.0
Welcome to VuePress
================================================
FILE: README.md
================================================
# WordExpress Starter - Vue (AKA VuePress)
> WordPress development using Vue, GraphQL, and Express.
[Read the Introduction to Vue Press](https://medium.com/@rmmmsy/introducing-vuepress-wordpress-development-with-vue-and-graphql-f5063a97bb69)
This repo is a starting off point for working with WordExpress using Vue. Its meant to work with [WordExpress Server](https://github.com/ramsaylanier/WordExpress-Server).
## Node Version Requirement
```bash
node 6.*
node 7.*
```
## Before Doing Anything Else
Please make sure you have cloned the [WordExpress Server](https://github.com/ramsaylanier/WordExpress-Server) repo and have followed the instructions for getting it up and running. WordExpress server provides you with a connection to your WordPress database using GraphQL.
## Config
Using the `/config/sample-client.config.json` file as an example, create a `client.json` file. As of now, this the config files just point to the url of where your WordExpress Server is running, and which theme in the `src/themes` directory to use.
## Build Setup
``` bash
yarn
yarn build
yarn start
=======
npm install
npm run build
```
## Development Setup
```bash
yarn
yarn serve
```
# Working With WordPress
## First Steps
In a fresh WordPress install, you'll need to do a few basic setup items:
- Create a page called 'Homepage'
- Create a menu called 'primary-navigation'
- Install Advanced Custom Fields plugin (see below)
## Advanced Custom Fields
VuePress uses some custom post fields. You're best bet is to install the Advanced Custom Fields plugin into your WordPress backend. I've included am `acf-export` JSON file in this repo that you should import. This will give you just a few basic custom page fields that can be used to give your pages custom layout components.
## Layout Components
Currently there are only [three layout components](https://github.com/ramsaylanier/VuePress/tree/master/src/components/page/layouts) - `DefaultPage`, `PageWithHeader`, and `PostList`. In order to set the layout component, simply type the name of the component in the custom field. If there is nothing in the layout component field, `DefaultPage` will be used.
### PageWithHeader
In the backend:
<img width="965" alt="screen shot 2017-12-19 at 8 54 27 pm" src="https://user-images.githubusercontent.com/2359852/34187337-dadf8bec-e4fe-11e7-84a0-3f1d885437d7.png">
Result:
<img width="1428" alt="screen shot 2017-12-19 at 9 06 14 pm" src="https://user-images.githubusercontent.com/2359852/34187651-80791a72-e500-11e7-8c9d-ec7bdbeb62be.png">
### PostList
In the backend:
<img width="962" alt="screen shot 2017-12-19 at 9 10 04 pm" src="https://user-images.githubusercontent.com/2359852/34187773-0762ff30-e501-11e7-8b82-bd16d2b77c94.png">
Result:
<img width="1440" alt="screen shot 2017-12-19 at 9 08 38 pm" src="https://user-images.githubusercontent.com/2359852/34187730-d36b6442-e500-11e7-9af3-a52674dbfd6a.png">
## License
[MIT](http://opensource.org/licenses/MIT)
================================================
FILE: acf-export.json
================================================
[
{
"key": "group_5a32cdd1b53f1",
"title": "Page Fields",
"fields": [
{
"key": "field_5699475fcd949",
"label": "Layout Component",
"name": "page_layout_component",
"type": "select",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"choices": {
"Default": "Default",
"PageWithHeader": "PageWithHeader",
"PostList": "PostList",
"AboutPage": "AboutPage"
},
"default_value": [
"Default"
],
"allow_null": 0,
"multiple": 0,
"ui": 0,
"ajax": 0,
"return_format": "value",
"placeholder": ""
},
{
"key": "field_5a43baa53bf80",
"label": "Post Type",
"name": "post_type",
"type": "select",
"instructions": "",
"required": 0,
"conditional_logic": [
[
{
"field": "field_5699475fcd949",
"operator": "==",
"value": "PostList"
}
]
],
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"choices": {
"post": "Post",
"tutorial": "Tutorial"
},
"default_value": [
"post"
],
"allow_null": 0,
"multiple": 0,
"ui": 0,
"ajax": 0,
"return_format": "value",
"placeholder": ""
},
{
"key": "field_5a43c2c5ab175",
"label": "Post Item Component",
"name": "post_item_component",
"type": "select",
"instructions": "",
"required": 0,
"conditional_logic": [
[
{
"field": "field_5699475fcd949",
"operator": "==",
"value": "PostList"
}
]
],
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"choices": {
"PostListItem": "PostListItem",
"TutorialListItem": "TutorialListItem"
},
"default_value": [],
"allow_null": 0,
"multiple": 0,
"ui": 0,
"ajax": 0,
"return_format": "value",
"placeholder": ""
},
{
"key": "field_5a4423fc9061e",
"label": "About Image",
"name": "about_image",
"type": "image",
"instructions": "",
"required": 0,
"conditional_logic": [
[
{
"field": "field_5699475fcd949",
"operator": "==",
"value": "AboutPage"
}
]
],
"wrapper": {
"width": "",
"class": "",
"id": ""
},
"return_format": "url",
"preview_size": "thumbnail",
"library": "all",
"min_width": "",
"min_height": "",
"min_size": "",
"max_width": "",
"max_height": "",
"max_size": "",
"mime_types": ""
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "page"
}
]
],
"menu_order": 0,
"position": "acf_after_title",
"style": "seamless",
"label_placement": "top",
"instruction_placement": "label",
"hide_on_screen": "",
"active": 1,
"description": ""
}
]
================================================
FILE: babel.config.js
================================================
module.exports = {
presets: ["@vue/app"]
};
================================================
FILE: config/sample-client.config.json
================================================
{
"wordexpressServerHost": "http://localhost:4000",
"theme": "basic"
}
================================================
FILE: jest.config.js
================================================
module.exports = {
moduleFileExtensions: ["js", "jsx", "json", "vue"],
transform: {
"^.+\\.vue$": "vue-jest",
".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$":
"jest-transform-stub",
"^.+\\.jsx?$": "babel-jest"
},
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/src/$1"
},
snapshotSerializers: ["jest-serializer-vue"],
testMatch: [
"<rootDir>/(tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx))"
]
};
================================================
FILE: package.json
================================================
{
"name": "wordexpress-starter-kit-vue",
"version": "3.0.0-beta",
"private": false,
"scripts": {
"start": "cross-env NODE_ENV=production node scripts/start",
"serve": "vue-cli-service serve",
"build": "npm run build:server && mv dist/vue-ssr-server-bundle.json bundle && npm run build:client && mv bundle dist/vue-ssr-server-bundle.json",
"lint": "vue-cli-service lint",
"build:client": "vue-cli-service build",
"build:server": "cross-env WEBPACK_TARGET=node vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"ssr:serve": "vue-cli-service ssr:serve",
"ssr:build": "vue-cli-service ssr:build",
"ssr:start": "cross-env NODE_ENV=production vue-cli-service ssr:serve --mode production"
},
"dependencies": {
"apollo-link-http": "^1.5.4",
"config": "^1.30.0",
"graphql": "^14.0.0-rc.1",
"gsap": "^2.0.1",
"highlightjs": "^9.10.0",
"isomorphic-fetch": "^2.2.1",
"vue": "^2.5.16",
"vue-apollo": "^3.0.0-beta.10",
"vue-resource": "^1.5.1",
"vue-router": "^3.0.1",
"vue-server-renderer": "^2.5.16",
"vuex": "^3.0.1",
"vuex-router-sync": "^5.0.0",
"wordexpress-tools": "^1.3.0"
},
"devDependencies": {
"@akryum/vue-cli-plugin-ssr": "^0.1.2",
"@vue/cli-plugin-babel": "^3.0.0-beta.15",
"@vue/cli-plugin-eslint": "^3.0.0-beta.15",
"@vue/cli-plugin-unit-jest": "^3.0.0-beta.15",
"@vue/cli-service": "^3.0.0-beta.15",
"@vue/eslint-config-prettier": "^3.0.0-beta.16",
"@vue/test-utils": "^1.0.0-beta.16",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"cross-env": "^5.1.6",
"eslint": "^5.6.1",
"eslint-loader": "^2.1.1",
"eslint-plugin-html": "^4.0.3",
"eslint-plugin-vue": "^4.7.1",
"graphql-tag": "^2.9.2",
"lodash.merge": "^4.6.1",
"node-sass": "^4.9.0",
"sass-loader": "^7.0.1",
"vue-cli-plugin-apollo": "^0.16.0",
"vue-template-compiler": "^2.5.16",
"webpack": "^4.20.2",
"webpack-node-externals": "^1.7.2"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"bugs": {
"url": "https://github.com/ramsaylanier/VuePress/issues"
},
"homepage": "https://github.com/ramsaylanier/VuePress#readme",
"author": "ramsay lanier <ramsaylanier@gmail.com>",
"keywords": [
"vue",
"vuex",
"vue-router",
"webpack",
"starter",
"server-side",
"boilerplate",
"wordpress"
],
"repository": {
"type": "git",
"url": "git+https://github.com/ramsaylanier/VuePress"
},
"description": "WordPress with Vue",
"license": "MIT"
}
================================================
FILE: public/index.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>WordExpress Starter Vue</title>
</head>
<body>
<noscript>
<strong>We're sorry but wordexpress-starter-vue-temp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!--vue-ssr-outlet-->
</body>
</html>
================================================
FILE: scripts/serve.js
================================================
const { spawn } = require("child_process");
const serve = spawn("npx", ["vue-cli-service", "serve"]);
const log = console.log;
const errAndExit = err => {
console.log(err);
process.exit(1);
};
serve.on("data", log);
serve.on("error", errAndExit);
serve.on("close", log);
================================================
FILE: scripts/start.js
================================================
const app = require("../server");
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`server started at localhost:${port}`);
});
================================================
FILE: server.js
================================================
const fs = require("fs");
const path = require("path");
const express = require("express");
var proxy = require("http-proxy-middleware");
const { createBundleRenderer } = require("vue-server-renderer");
const devServerBaseURL = process.env.DEV_SERVER_BASE_URL || "http://localhost";
const devServerPort = process.env.DEV_SERVER_PORT || 8080;
const app = express();
function createRenderer(bundle, options) {
return createBundleRenderer(
bundle,
Object.assign(options, {
runInNewContext: false
})
);
}
let renderer;
const templatePath = path.resolve(__dirname, "./src/index.template.html");
const bundle = require("./dist/vue-ssr-server-bundle.json");
const template = fs.readFileSync(templatePath, "utf-8");
const clientManifest = require("./dist/vue-ssr-client-manifest.json");
renderer = createRenderer(bundle, {
template,
clientManifest
});
if (process.env.NODE_ENV !== "production") {
app.use(
"/js/main*",
proxy({
target: `${devServerBaseURL}/${devServerPort}`,
changeOrigin: true,
pathRewrite: function(path) {
return path.includes("main") ? "/main.js" : path;
},
prependPath: false
})
);
app.use(
"/*hot-update*",
proxy({
target: `${devServerBaseURL}/${devServerPort}`,
changeOrigin: true
})
);
app.use(
"/sockjs-node",
proxy({
target: `${devServerBaseURL}/${devServerPort}`,
changeOrigin: true,
ws: true
})
);
}
app.use("/js", express.static(path.resolve(__dirname, "./dist/js")));
app.use("/css", express.static(path.resolve(__dirname, "./dist/css")));
app.get("*", (req, res) => {
res.setHeader("Content-Type", "text/html");
const context = {
title: "WordExpress Starter Vue", // default title
url: req.url
};
renderer.renderToString(context, (err, html) => {
if (err) {
if (err.url) {
res.redirect(err.url);
} else {
// Render Error Page or Redirect
res.status(500).end("500 | Internal Server Error");
console.error(`error during render : ${req.url}`);
console.error(err.stack);
}
}
res.status(context.HTTPStatus || 200);
res.send(html);
});
});
module.exports = app;
================================================
FILE: src/core/app.js
================================================
import Vue from "vue";
import createStore from "./vuex/store";
import createRouter from "./router.js";
import { sync } from "vuex-router-sync";
import { createProvider } from "./vue-apollo.js";
import VueResource from "vue-resource";
import WordExpressPlugin from "./plugin";
import { WordExpressShortcodes, WordExpressHelpers } from "wordexpress-tools";
// THEME
import App from "@/App.vue";
import routes from "@/routes/index.js";
Vue.use(VueResource);
Vue.use(WordExpressPlugin, {
shortcodes: WordExpressShortcodes,
helpers: WordExpressHelpers
});
export function createApp(context) {
const apolloProvider = createProvider({ ssr: context.ssr }).provide();
const router = createRouter(routes);
const store = createStore();
sync(store, router);
const app = new Vue({
el: "#app",
store,
router,
provide: apolloProvider,
...App,
render: h => h(App)
});
return { app, router, store, apolloProvider };
}
================================================
FILE: src/core/graphql/category.gql
================================================
query Category($term_id: Int!){
category(term_id: $term_id){
name
slug
posts{
id
post_name
post_date
post_title
post_meta{
meta_value
meta_key
}
categories{
term_id
name
}
thumbnail{
src
sizes{
size
file
}
}
}
}
}
================================================
FILE: src/core/graphql/menu.gql
================================================
query Menu($menu: String!) {
menus(name: $menu) {
items {
id
order
navitem{
id
post_title
post_name
post_meta{
meta_value
meta_key
}
}
children{
id
linkedId
navitem{
post_title
post_name
}
}
}
}
}
================================================
FILE: src/core/graphql/page.gql
================================================
query Page($name: String){
post(name: $name){
id
post_title
post_content
thumbnail{
src
}
post_meta{
meta_key
meta_value
}
layout{
meta_value
}
}
}
================================================
FILE: src/core/graphql/post.gql
================================================
query Post($name: String) {
post(name: $name){
id
post_name
post_parent
post_content
post_title
post_date
thumbnail{
src
sizes{
size
file
}
}
post_meta{
meta_value
meta_key
}
author{
user_nicename
display_name
}
}
}
================================================
FILE: src/core/graphql/posts.gql
================================================
query Posts($post_type: [String], $limit: Int, $skip: Int, $order: OrderInput) {
posts(post_type: $post_type, limit: $limit, skip: $skip, order: $order){
id
post_name
post_title
post_date
post_meta{
meta_value
meta_key
}
categories{
term_id
name
}
author{
user_nicename
display_name
}
}
}
================================================
FILE: src/core/graphql/user.gql
================================================
query User($name: String) {
user(name: $name){
display_name
user_email
posts{
post_name
post_title
post_date
}
}
}
================================================
FILE: src/core/plugin/index.js
================================================
const WordExpressPlugin = {
install(Vue, options) {
const { shortcodes, helpers } = options;
Vue.prototype.$parseContent = function(content) {
return helpers.parseContent(content, shortcodes);
};
Vue.prototype.$getThumbnail = function(thumbnail, size) {
return helpers.getThumbnail(thumbnail, size);
};
Vue.prototype.$formatDate = function(date) {
return helpers.formatDate(date);
};
Vue.prototype.$renderEmbed = function(embed) {
return helpers.renderEmbed(embed);
};
Vue.prototype.$getAvatarLink = function(email, size) {
return helpers.getAvatarLink(email, size);
};
}
};
export default WordExpressPlugin;
================================================
FILE: src/core/router.js
================================================
import Vue from "vue";
import Router from "vue-router";
Vue.use(Router);
export function createRouter(routes) {
return new Router({
mode: "history",
routes
});
}
export default createRouter;
================================================
FILE: src/core/ssr/entry-client.js
================================================
import { loadAsyncComponents } from "@akryum/vue-cli-plugin-ssr/client";
import { createApp } from "../app";
createApp({
async beforeApp({ router }) {
const components = await loadAsyncComponents({ router });
console.log(components);
},
afterApp({ app, store }) {
store.replaceState(window.__INITIAL_STATE__);
app.$mount("#app");
}
});
================================================
FILE: src/core/ssr/entry-server.js
================================================
import "isomorphic-fetch";
import { createApp } from "../app";
export default context => {
return new Promise(async (resolve, reject) => {
const { app, router, store, apolloProvider } = await createApp();
router.push(context.url);
router.onReady(() => {
const matchedComponents = router.getMatchedComponents();
if (!matchedComponents.length) {
// eslint-disable-next-line prefer-promise-reject-errors
return reject({ code: 404 });
}
Promise.all([
// Async data
...matchedComponents.map(Component => {
if (Component.asyncData) {
return Component.asyncData({
store,
route: router.currentRoute
});
}
}),
// Apollo prefetch
apolloProvider.prefetchAll(
{
route: router.currentRoute
},
matchedComponents
)
]).then(() => {
// After all preFetch hooks are resolved, our store is now
// filled with the state needed to render the app.
// When we attach the state to the context, and the `template` option
// is used for the renderer, the state will automatically be
// serialized and injected into the HTML as `window.__INITIAL_STATE__`.
context.state = store.state;
// Apollo
context.apolloState = apolloProvider.getStates();
});
resolve(app);
}, reject);
});
};
================================================
FILE: src/core/vue-apollo.js
================================================
import Vue from "vue";
import VueApollo from "vue-apollo";
import {
createApolloClient,
restartWebsockets
} from "vue-cli-plugin-apollo/graphql-client";
import config from "config";
const { wordexpressServerHost } = config;
// Install the vue plugin
Vue.use(VueApollo);
// Name of the localStorage item
const AUTH_TOKEN = "apollo-token";
// Http endpoint
const httpEndpoint = wordexpressServerHost;
// Files URL root
export const filesRoot =
process.env.VUE_APP_FILES_ROOT ||
httpEndpoint.substr(0, httpEndpoint.indexOf("/graphql"));
Object.defineProperty(Vue.prototype, "$filesRoot", {
get: () => filesRoot
});
// Config
const defaultOptions = {
// You can use `https` for secure connection (recommended in production)
httpEndpoint,
// You can use `wss` for secure connection (recommended in production)
// Use `null` to disable subscriptions
wsEndpoint: null,
// LocalStorage token
tokenName: AUTH_TOKEN,
// Enable Automatic Query persisting with Apollo Engine
persisting: false,
// Use websockets for everything (no HTTP)
// You need to pass a `wsEndpoint` for this to work
websocketsOnly: false,
// Is being rendered on the server?
ssr: true
// Override default http link
// link: myLink
// Override default cache
// cache: myCache
// Override the way the Authorization header is set
// getAuth: (tokenName) => ...
// Additional ApolloClient options
// apollo: { ... }
// Client local data (see apollo-link-state)
// clientState: { resolvers: { ... }, defaults: { ... } }
};
// Call this in the Vue app file
export function createProvider(options = {}) {
// Create apollo client
const { apolloClient, wsClient } = createApolloClient({
...defaultOptions,
...options
});
apolloClient.wsClient = wsClient;
// Create vue apollo provider
const apolloProvider = new VueApollo({
defaultClient: apolloClient,
defaultOptions: {
$query: {
// fetchPolicy: 'cache-and-network',
}
},
errorHandler(error) {
// eslint-disable-next-line no-console
console.log(
"%cError",
"background: red; color: white; padding: 2px 4px; border-radius: 3px; font-weight: bold;",
error.message
);
}
});
return apolloProvider;
}
// Manually call this when user log in
export async function onLogin(apolloClient, token) {
localStorage.setItem(AUTH_TOKEN, token);
if (apolloClient.wsClient) restartWebsockets(apolloClient.wsClient);
try {
await apolloClient.resetStore();
} catch (e) {
// eslint-disable-next-line no-console
console.log("%cError on cache reset (login)", "color: orange;", e.message);
}
}
// Manually call this when user log out
export async function onLogout(apolloClient) {
localStorage.removeItem(AUTH_TOKEN);
if (apolloClient.wsClient) restartWebsockets(apolloClient.wsClient);
try {
await apolloClient.resetStore();
} catch (e) {
// eslint-disable-next-line no-console
console.log("%cError on cache reset (logout)", "color: orange;", e.message);
}
}
================================================
FILE: src/core/vuex/actions.js
================================================
export const activeMenuName = ({ commit }, name) =>
commit("ACTIVE_MENU_NAME", { name: name });
================================================
FILE: src/core/vuex/getters.js
================================================
export const getActiveMenuName = state => state.getActiveMenuName;
================================================
FILE: src/core/vuex/store.js
================================================
import Vue from "vue";
import Vuex from "vuex";
import * as actions from "./actions";
import * as getters from "./getters";
Vue.use(Vuex);
const state = {
activeMenuName: null
};
const mutations = {
ACTIVE_MENU_NAME: (state, name) => {
state.activeMenuName = name;
}
};
function createStore() {
return new Vuex.Store({
state,
actions,
mutations,
getters
});
}
export default createStore;
================================================
FILE: src/index.template.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#40b883"/>
<meta name="msapplication-navbutton-color" content="#40b883"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<title>{{ title }}</title>
{{{ renderResourceHints() }}}
{{{ renderStyles() }}}
</head>
<body>
<!--vue-ssr-outlet-->
{{{ renderState() }}}
{{{ renderState({ contextKey: 'apolloState', windowKey: '__APOLLO_STATE__' }) }}}
{{{ renderScripts() }}}
</body>
</html>
================================================
FILE: src/themes/basic/App.vue
================================================
<template>
<div id="app">
<icons/>
<app-header/>
<div class="main">
<transition
appear
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-bind:css="false"
>
<router-view/>
</transition>
</div>
</div>
</template>
<script>
import Icons from "./components/icons/icons";
import AppHeader from "./components/header/header";
import { TweenMax, Power4 } from "gsap";
export default {
name: "app",
components: {
Icons,
AppHeader
},
methods: {
beforeEnter: function(el) {
TweenMax.set(el, {
alpha: 0
});
},
enter: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 1,
ease: Power4.easeOut
});
done();
}
}
};
</script>
<style lang="scss">
@import url("https://fonts.googleapis.com/css?family=Oswald:300|Source+Sans+Pro:300,400|Source+Code+Pro:400,700");
@import "./styles/reset.css";
@import "./styles/typography.css";
* {
box-sizing: border-box;
}
body {
font-family: var(--copy-font);
background-color: var(--dark-color);
padding: 0;
margin: 0;
}
:root {
--primary-color: #b60fe0;
--secondary-color: #acf3a7;
--dark-color: #380436;
--light-grey-color: #f3f3f3;
--heading-font: "Oswald", sans-serif;
--copy-font: "Source Sans Pro", sans-serif;
--mono-font: "Source Code Pro", monospace;
}
</style>
================================================
FILE: src/themes/basic/components/category/CategoryList.vue
================================================
<template>
<div class="wrapper">
<page-header :page="{post_title: category.name}" />
<div class="page-content">
<transition
appear
@enter="enter"
:css="false"
v-if="category"
>
<div class="posts">
<post-list-item v-for="post in category.posts" :key="post.id" :post="post"/>
</div>
</transition>
</div>
</div>
</template>
<script>
import PageHeader from "../page/PageHeader";
import CategoryContainer from "./containers/CategoryContainer";
import PostListItem from "../post/PostListItem";
import { TweenMax, Power4 } from "gsap";
export default {
name: "category-list",
props: ["category"],
methods: {
enter: function(el, done) {
TweenMax.staggerFromTo(
el.children,
1,
{
y: 10,
alpha: 0
},
{
y: 0,
alpha: 1,
ease: Power4.easeOut,
onComplete: done
},
0.05
);
}
},
components: {
PageHeader,
CategoryContainer,
PostListItem
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 5%;
}
.posts {
display: grid;
grid-row-gap: 1rem;
}
.page-content {
grid-column: 2;
max-width: 800px;
width: 100%;
justify-self: center;
padding: 2rem 0;
}
</style>
================================================
FILE: src/themes/basic/components/category/containers/CategoryContainer.vue
================================================
<template>
<category-list v-if="category" :category="category"/>
</template>
<script>
import CategoryQuery from "core/graphql/category.gql";
import CategoryList from "../CategoryList";
export default {
name: "category-container",
data() {
return {
post: {}
};
},
watch: {
"$route.params.id": function(id) {
this.$apollo.queries.category.refetch({ term_id: id });
}
},
apollo: {
category() {
return {
query: CategoryQuery,
variables: {
term_id: this.$route.params.id
}
};
}
},
components: {
CategoryList
}
};
</script>
================================================
FILE: src/themes/basic/components/header/header.vue
================================================
<template>
<header class="header">
<div class="wrapper">
<menu-container :menuName="'primary-navigation'">
<app-menu slot-scope="menu" :menuItems="menu.items"/>
</menu-container>
</div>
</header>
</template>
<script>
import MenuContainer from "../menu/menuContainer";
import AppMenu from "../menu/menu";
export default {
name: "app-header",
components: {
MenuContainer,
AppMenu
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 10;
height: 40px;
display: flex;
justify-content: center;
}
.wrapper {
background: darken($dark-color, 3%);
height: 100%;
padding: 0rem 1rem;
display: flex;
justify-content: space-between;
align-items: center;
border-width: 0 1px 1px 1px;
border-style: solid;
border-color: $secondary-color;
}
</style>
================================================
FILE: src/themes/basic/components/icons/icons.vue
================================================
<template>
<svg style="display:none;">
<symbol id="plus-icon" viewBox="0 0 24 24">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</symbol>
</svg>
</template>
<script>
export default {
name: "icons"
};
</script>
<style>
</style>
================================================
FILE: src/themes/basic/components/menu/menu.vue
================================================
<template>
<ul class="menu">
<li class="item">
<router-link :to="{name: 'Home'}">Home</router-link>
</li>
<li class="item" v-for="item in menuItems" :key="item.id">
<menu-link :link="item.navitem"/>
</li>
</ul>
</template>
<script>
import MenuLink from "./menuLink";
export default {
name: "app-menu",
props: ["menuItems"],
components: {
MenuLink
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors";
.menu {
padding: 0;
display: flex;
}
.item {
padding: 0rem 1rem;
a {
text-decoration: none;
color: $secondary-color;
font-size: 0.9rem;
}
}
</style>
================================================
FILE: src/themes/basic/components/menu/menuContainer.vue
================================================
<template>
<div>
<slot :items="menus.items">
</slot>
</div>
</template>
<script>
import MenuQuery from "core/graphql/menu.gql";
export default {
name: "menu-container",
props: ["menuName"],
data() {
return {
menus: {}
};
},
apollo: {
menus() {
return {
query: MenuQuery,
variables: {
menu: this.menuName
}
};
}
}
};
</script>
================================================
FILE: src/themes/basic/components/menu/menuLink.vue
================================================
<template>
<a v-if="type === 'custom'" class="link" :href="url">{{link.post_title}}</a>
<router-link v-else class="link" :to="`/${link.post_name}`">{{link.post_title}}</router-link>
</template>
<script>
export default {
name: "menu-link",
props: ["link"],
data() {
return {
type: "",
url: "",
to: ""
};
},
mounted() {
this.parseLink();
},
methods: {
parseLink() {
this.link.post_meta.forEach(meta => {
switch (meta.meta_key) {
case "_menu_item_type":
this.type = meta.meta_value;
break;
case "_menu_item_url":
this.url = meta.meta_value;
break;
}
});
}
}
};
</script>
================================================
FILE: src/themes/basic/components/page/PageHeader.vue
================================================
<template>
<div class="header" :style="renderHeaderImage()">
<div class="header-content">
<h2 class="title">{{page.post_title}}</h2>
</div>
</div>
</template>
<script>
export default {
name: "page-header",
props: ["page"],
methods: {
renderHeaderImage() {
const imageSrc = this.page.thumbnail ? this.page.thumbnail : null;
return `backgroundImage: url('${imageSrc}');`;
}
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.header {
grid-column: 1 / 4;
grid-row: 1;
padding: 2rem;
background-color: $secondary-color;
}
.header-content {
max-width: 800px;
margin: 0 auto;
padding: 2rem 0;
}
.title {
margin: 0;
font-weight: 100;
letter-spacing: 0.015em;
}
</style>
================================================
FILE: src/themes/basic/components/page/layouts/DefaultPage.vue
================================================
<template>
<div class="wrapper">
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import PostContent from "../../post/PostContent";
export default {
name: "default-page",
props: ["page"],
components: {
PostContent
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 90% 5%;
}
.body {
grid-column: 2;
position: relative;
width: 100%;
max-width: 800px;
justify-self: center;
margin: 4rem auto 0rem auto;
z-index: 2;
}
.post-content {
padding: 2rem;
margin-top: 2rem;
background-color: white;
}
</style>
================================================
FILE: src/themes/basic/components/page/layouts/PageWithHeader.vue
================================================
<template>
<div class="wrapper">
<page-header :page="page"/>
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import PostContent from "../../post/PostContent";
import PageHeader from "../PageHeader";
export default {
name: "front-page",
props: ["page"],
methods: {
renderHeader() {
const header = this.page.post_meta.filter(meta => {
return meta.meta_key === "page_header";
});
if (header.length > 0) {
return header[0].meta_value;
}
},
renderHeaderImage() {
const imageSrc = this.page.thumbnail
? this.page.thumbnail
: require("assets/post_header_bg.png");
return `backgroundImage: url('${imageSrc}');`;
}
},
components: {
PostContent,
PageHeader
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 90% 5%;
}
.header {
grid-column: 1 / 4;
grid-row: 1;
padding: 2rem;
}
.header-content {
max-width: 800px;
margin: 0 auto;
padding: 2rem 0;
}
.title {
margin: 0;
font-weight: 100;
letter-spacing: 0.015em;
}
.body {
grid-column: 2;
position: relative;
width: 100%;
max-width: 800px;
justify-self: center;
margin: -4rem auto 0rem auto;
z-index: 2;
}
.post-content {
padding: 2rem;
margin-top: 2rem;
background-color: white;
}
</style>
================================================
FILE: src/themes/basic/components/page/layouts/PageWithSidebar.vue
================================================
<template>
<div class="wrapper">
<menu-container class="sidebar" :menuName="getSidebarMenuName()">
<ul class="menu" slot-scope="menu">
<li class="item" v-for="item in menu.items" :key="item.id">
<menu-link :link="item.navitem"/>
</li>
</ul>
</menu-container>
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import MenuContainer from "../../menu/menuContainer";
import MenuLink from "../../menu/menuLink";
import PostContent from "../../post/PostContent";
export default {
name: "page-with-sidebar",
props: ["page"],
components: {
MenuContainer,
MenuLink,
PostContent
},
methods: {
getSidebarMenuName() {
return this.page.post_meta.filter(item => {
return item.meta_key === "sidebarmenu";
})[0].meta_value;
}
}
};
</script>
<style scoped lang="scss">
@import "../../../styles/colors.scss";
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 4fr 5%;
margin-top: 4rem;
}
.sidebar {
padding: 1rem;
grid-column: 2;
display: flex;
flex-flow: column;
background-color: $secondary-color;
}
.body {
grid-column: 3;
}
.post-content {
padding: 2rem;
background-color: white;
}
.item {
a {
font-size: 1.2rem;
color: $dark-color;
text-decoration: none;
&:hover {
color: $primary-color;
}
}
&:not(:last-of-type) {
margin-bottom: 1rem;
}
}
</style>
================================================
FILE: src/themes/basic/components/page/layouts/layouts.js
================================================
import DefaultPage from "./DefaultPage";
import PageWithHeader from "./PageWithHeader";
import PageWithSidebar from "./PageWithSidebar";
import PostList from "../../post/PostList";
export default {
DefaultPage,
PageWithHeader,
PageWithSidebar,
PostList
};
================================================
FILE: src/themes/basic/components/page/page.vue
================================================
<template>
<div class="page">
<transition
appear
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:leave="leave"
v-bind:css="false"
>
<component v-if="post && !isLoading" :is="getLayout()" :page="post"/>
</transition>
</div>
</template>
<script>
import PageQuery from "core/graphql/page.gql";
import Layouts from "./layouts/layouts";
import { TweenMax, Power4 } from "gsap";
export default {
name: "page",
props: ["name"],
data() {
return {
post: {},
isLoading: 0
};
},
apollo: {
post: {
query: PageQuery,
loadingKey: "isLoading",
prefetch: ({ route }) => {
return {
name: route.params.name || "homepage"
};
},
variables() {
return {
name: this.$route.params.name || "homepage"
};
}
}
},
methods: {
getLayout: function() {
const layout = this.post.layout
? this.post.layout.meta_value
: "DefaultPage";
return Layouts[layout];
},
beforeEnter: function(el) {
TweenMax.set(el, {
alpha: 0
});
},
enter: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 1,
ease: Power4.easeOut
});
done();
},
leave: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 0,
ease: Power4.easeOut
});
done();
}
}
};
</script>
<style scoped>
.page {
min-height: 100vh;
width: 100vw;
background-color: var(--dark-color);
}
</style>
================================================
FILE: src/themes/basic/components/post/PostContent.vue
================================================
<template>
<div class="post-content" v-html="$parseContent(content)"/>
</template>
<script>
import { map } from "lodash";
import hljs from "highlightjs";
export default {
name: "post-content",
props: ["content"],
mounted() {
const anchors = this.$el.getElementsByTagName("a");
const r = new RegExp("^(?:[a-z]+:)?//", "i");
const m = new RegExp("mailto", "g");
// add transitions to all internal links
map(anchors, anchor => {
const target = anchor.getAttribute("href");
if (!r.test(target) && !m.test(target)) {
anchor.addEventListener("click", e => {
e.preventDefault();
this.$router.push(target);
});
}
});
let targets = this.$el.querySelectorAll("pre code");
targets.forEach(target => {
hljs.highlightBlock(target);
});
let embeds = this.$el.querySelectorAll(".js-embed");
embeds.forEach(embed => {
this.$renderEmbed(embed);
});
}
};
</script>
<style lang="scss">
.post-content {
font-size: 1.15rem;
.cta {
display: inline-block;
margin: 1rem 0;
padding: 0.75rem 1.5rem;
background-color: var(--primary-color);
color: white;
border-radius: 3px;
text-decoration: none;
font-size: 1.25rem;
font-family: var(--heading-font);
&:hover {
background-color: var(--secondary-color);
}
}
ul {
list-style-type: square;
margin-left: 1rem;
li {
margin-bottom: 1rem;
}
}
a {
color: var(--primary-color);
font-weight: 600;
}
blockquote {
margin-left: 1rem;
padding: 2rem;
background-color: var(--light-grey-color);
font-size: 1.2rem;
border-left: 0.5rem solid var(--primary-color);
}
figure {
max-width: 100%;
padding: 2rem 0;
}
img {
max-width: 100%;
height: auto;
&.alignright {
float: right;
margin-left: 1rem;
}
&.alignleft {
float: left;
margin-right: 1rem;
}
&.aligncenter {
display: block;
margin: 1rem auto;
}
}
figcaption {
background-color: var(--light-grey-color);
padding: 0.25rem;
margin-top: -7px;
text-align: center;
}
code {
font-size: 0.8rem;
background-color: var(--light-grey-color);
padding: 0.1rem;
font-family: var(--mono-font);
}
pre {
padding: 0.25rem;
background-color: var(--light-grey-color);
code {
font-size: 0.9rem;
}
.hljs {
top: 0;
}
}
.hljs {
display: inline-block;
position: relative;
}
}
</style>
================================================
FILE: src/themes/basic/components/post/PostList.vue
================================================
<template>
<div class="wrapper">
<page-header :page="{post_title: 'Posts'}" />
<div class="page-content">
<posts-container>
<transition
appear
slot-scope="data"
@enter="enter"
:css="false"
>
<div class="posts" v-if="!data.isLoading">
<post-list-item v-for="post in data.posts" :key="post.id" :post="post"/>
</div>
</transition>
</posts-container>
</div>
</div>
</template>
<script>
import PageHeader from "../page/PageHeader";
import PostsContainer from "./containers/PostsContainer";
import PostListItem from "./PostListItem";
import { TweenMax, Power4 } from "gsap";
export default {
name: "post-list",
methods: {
enter: function(el, done) {
TweenMax.staggerFromTo(
el.children,
2,
{
y: 20,
alpha: 0
},
{
y: 0,
alpha: 1,
ease: Power4.easeOut,
onComplete: done
},
0.1
);
}
},
components: {
PageHeader,
PostsContainer,
PostListItem
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 5%;
}
.posts {
display: grid;
grid-row-gap: 1rem;
}
.page-content {
grid-column: 2;
max-width: 800px;
width: 100%;
justify-self: center;
padding: 2rem 0;
}
</style>
================================================
FILE: src/themes/basic/components/post/PostListItem.vue
================================================
<template>
<div class="post-list-item">
<router-link class="post-link" :to="{name: 'Post', params: {postname: post.post_name}}">
<h3 class="post-title">{{post.post_title}}</h3>
<p class="post-date">{{$formatDate(post.post_date)}}</p>
</router-link>
<ul class="post-categories">
<li class="post-category" v-for="cat in post.categories" :key="cat.name">
<router-link :to="{name: 'Category', params: {id: cat.term_id}}">{{cat.name}}</router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: "post-list-item",
props: ["post"]
};
</script>
<style scoped>
.post-list-item {
background-color: var(--light-grey-color);
width: 100%;
display: grid;
box-shadow: 8px 8px 8px -8px var(--dark-color);
}
.post-link:hover .post-title,
.post-link:hover .post-date {
color: var(--primary-color);
}
.post-link {
display: block;
padding: 2rem;
text-decoration: none;
}
.post-title {
margin: 0;
}
.post-date {
margin: 0;
}
.post-categories {
border-top: 1px solid var(--dark-color);
padding: 0.5rem 2rem;
align-self: center;
display: flex;
}
.post-category {
margin-right: 1rem;
}
.post-category a {
text-decoration: none;
font-size: 0.8rem;
}
</style>
================================================
FILE: src/themes/basic/components/post/PostSingle.vue
================================================
<template>
<div v-if="post.id">
<div class="post-header" :style="renderHeaderImage()">
<h2 class="post-title">{{post.post_title}}</h2>
</div>
<post-content :content="post.post_content"/>
</div>
</template>
<script>
import PostContent from "./PostContent";
export default {
name: "post-single",
props: ["post"],
methods: {
renderHeaderImage() {
const imageSrc = this.post.thumbnail
? this.$getThumbnail(this.post.thumbnail, "large")
: require("assets/post_header_bg.png");
return `backgroundImage: url('${imageSrc}');`;
}
},
components: {
PostContent
}
};
</script>
<style scoped>
.post-header {
height: 300px;
width: 100%;
background-size: cover;
background-color: var(--primary-color);
display: flex;
align-items: center;
justify-content: center;
}
.post-title {
margin: 0;
font-size: 4rem;
}
.post-content {
padding: 2rem;
max-width: 800px;
margin: 0 auto;
background-color: white;
}
</style>
================================================
FILE: src/themes/basic/components/post/containers/PostContainer.vue
================================================
<template>
<post-single :post="post"/>
</template>
<script>
import PostQuery from "core/graphql/post.gql";
import PostSingle from "../PostSingle";
export default {
name: "posts-container",
data() {
return {
post: {}
};
},
apollo: {
post: {
query: PostQuery,
prefetch({ route }) {
return {
name: route.params.postname
};
},
variables() {
return {
name: this.$route.params.postname
};
}
}
},
components: {
PostSingle
}
};
</script>
================================================
FILE: src/themes/basic/components/post/containers/PostsContainer.vue
================================================
<template>
<div>
<slot :posts="posts" :isLoading="isLoading">
</slot>
</div>
</template>
<script>
import PostsQuery from "core/graphql/posts.gql";
export default {
name: "posts-container",
props: ["postType", "limit", "skip", "order"],
data() {
return {
isLoading: 0
};
},
apollo: {
posts: {
query: PostsQuery,
loadingKey: "isLoading",
prefetch: () => {
return {
post_type: this.a.props.postType
};
},
variables() {
return {
post_type: this.postType
};
}
}
}
};
</script>
================================================
FILE: src/themes/basic/routes/index.js
================================================
import Page from "../components/page/page";
import Post from "../components/post/containers/PostContainer";
import Category from "../components/category/containers/CategoryContainer";
const routes = [
{
path: "/",
name: "Home",
component: Page
},
{
path: "/:name",
name: "Page",
component: Page
},
{
path: "/post/:postname",
name: "Post",
component: Post
},
{
path: "/category/:id",
name: "Category",
component: Category
}
];
export default routes;
================================================
FILE: src/themes/basic/styles/colors.scss
================================================
$primary-color: #B60FE0;
$secondary-color: #acf3a7;
$accent-color: #F53C76;
$secondary-accent-color: #FF594F;
$dark-color: #380436;
$light-grey-color: #f3f3f3;
$colors: $primary-color, $secondary-color, $accent-color, $secondary-accent-color
================================================
FILE: src/themes/basic/styles/reset.css
================================================
/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}body { line-height: 1;}ol, ul { list-style: none;}blockquote, q { quotes: none;}blockquote:before, blockquote:after,q:before, q:after { content: ''; content: none;}table { border-collapse: collapse; border-spacing: 0;}
================================================
FILE: src/themes/basic/styles/typography.css
================================================
html {font-size: 1.125em;}
body {
font-family: var(--copy-font);
font-weight: 400;
line-height: 1.45;
}
h1, h2, h3, h4, h5 {
margin: 1.414em 0 0.5em;
line-height: 1.2;
font-weight: 700;
font-family: var(--heading-font);
color: var(--dark-color);
}
h1 {
margin-top: 0;
font-size: 3.998em;
}
h2 {font-size: 2.827em;}
h3 {font-size: 1.999em;}
h4 {font-size: 1.414em;}
small, .font_small {font-size: 0.707em;}
hr {
border: 1px solid;
margin: -1px 0;
}
p {
margin-bottom: 1.3em;
font-family: var(--copy-font);
}
b, strong, em, small, code {
line-height: 1;
}
sup {
line-height: 0;
position: relative;
vertical-align: baseline;
top: -0.5em;
}
pre{
font-family: var(--mono-font);
font-size: 1rem;
padding: 1rem;
border: 1px solid darken(white, 5%);
background-color: darken(white, 10%);
font-size: .8rem;
overflow: auto;
margin-bottom: 1.5rem;
}
pre p{
font-family: var(--mono-font);
margin: 0;
}
sub {
bottom: -0.25em;
}
em{
font-style: italic;
}
strong{
font-weight: 700;
}
figcaption{
font-size: .9rem;
font-style: italic;
}
.sans{
font-family: var(--heading-font);
}
.serif{
font-family: var(--copy-font);
}
.black{
font-weight: 900;
}
.bold{
font-weight: 700;
}
.thin{
font-weight: 100;
}
.uppercase{
text-transform: uppercase;
}
.center{
text-align: center;
}
================================================
FILE: src/themes/multi-user/App.vue
================================================
<template>
<div id="app">
<icons/>
<app-header/>
<div class="main">
<transition
appear
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-bind:css="false"
>
<router-view/>
</transition>
</div>
</div>
</template>
<script>
import Icons from "./components/icons/icons";
import AppHeader from "./components/header/header";
import { TweenMax, Power4 } from "gsap";
export default {
name: "app",
components: {
Icons,
AppHeader
},
methods: {
beforeEnter: function(el) {
TweenMax.set(el, {
alpha: 0
});
},
enter: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 1,
ease: Power4.easeOut
});
done();
}
}
};
</script>
<style lang="scss">
@import url("https://fonts.googleapis.com/css?family=Oswald:300|Source+Sans+Pro:300,400|Source+Code+Pro:400,700");
@import "./styles/reset.css";
@import "./styles/typography.css";
* {
box-sizing: border-box;
}
body {
font-family: var(--copy-font);
background-color: var(--dark-color);
padding: 0;
margin: 0;
}
:root {
--primary-color: #b60fe0;
--secondary-color: #acf3a7;
--dark-color: #380436;
--light-grey-color: #f3f3f3;
--heading-font: "Oswald", sans-serif;
--copy-font: "Source Sans Pro", sans-serif;
--mono-font: "Source Code Pro", monospace;
}
</style>
================================================
FILE: src/themes/multi-user/components/author/AuthorSingle.vue
================================================
<template>
<author-container class="author-page">
<div class="author-content" slot-scope="data" v-if="data.author">
<page-header>
<span slot="title">{{data.author.display_name}}</span>
</page-header>
<div class="body">
<div class="wrapper">
<div class="avatar">
<img :src="$getAvatarLink(data.author.user_email, 150)" :alt="`${data.author.display_name} Avatar`"/>
</div>
<transition
appear
@enter="enter"
:css="false"
>
<div class="posts" v-if="!data.isLoading">
<post-list-item v-for="post in data.author.posts" :key="post.id" :post="post" ref="posts"/>
</div>
</transition>
</div>
</div>
</div>
</author-container>
</template>
<script>
import AuthorContainer from "./containers/AuthorContainer";
import PageHeader from "@/components/page/PageHeader";
import PostListItem from "@/components/post/PostListItem";
import { TweenMax, Power4 } from "gsap";
export default {
name: "author-single",
components: {
AuthorContainer,
PageHeader,
PostListItem
},
methods: {
enter: function(el, done) {
TweenMax.staggerFromTo(
el.children,
2,
{
y: 20,
alpha: 0
},
{
y: 0,
alpha: 1,
ease: Power4.easeOut,
onComplete: done
},
0.1
);
}
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.author-header {
display: flex;
justify-content: center;
padding: 4rem 0;
}
.wrapper {
position: relative;
max-width: 800px;
margin: 0 auto;
}
.avatar {
position: absolute;
top: -75px;
right: 0;
z-index: 2;
img {
border-radius: 50%;
border: 5px solid $dark-color;
box-sizing: content-box;
}
}
.posts {
position: relative;
display: grid;
grid-row-gap: 1rem;
padding-top: 2rem;
z-index: 1;
}
</style>
================================================
FILE: src/themes/multi-user/components/author/containers/AuthorContainer.vue
================================================
<template>
<div>
<slot :author="user" :isLoading="isLoading"></slot>
</div>
</template>
<script>
import UserQuery from "core/graphql/user.gql";
import { willPrefetch } from "vue-apollo";
export default willPrefetch({
name: "author-container",
data() {
return {
isLoading: 0
};
},
apollo: {
user: {
query: UserQuery,
loadingKey: "isLoading",
prefetch({ route }) {
return {
name: route.params.name
};
},
variables() {
return {
name: this.$route.params.name
};
}
}
}
});
</script>
================================================
FILE: src/themes/multi-user/components/category/CategoryList.vue
================================================
<template>
<div class="wrapper">
<page-header :page="{post_title: category.name}" />
<div class="page-content">
<transition
appear
@enter="enter"
:css="false"
v-if="category"
>
<div class="posts">
<post-list-item v-for="post in category.posts" :key="post.id" :post="post"/>
</div>
</transition>
</div>
</div>
</template>
<script>
import PageHeader from "../page/PageHeader";
import CategoryContainer from "./containers/CategoryContainer";
import PostListItem from "../post/PostListItem";
import { TweenMax, Power4 } from "gsap";
export default {
name: "category-list",
props: ["category"],
methods: {
enter: function(el, done) {
TweenMax.staggerFromTo(
el.children,
1,
{
y: 10,
alpha: 0
},
{
y: 0,
alpha: 1,
ease: Power4.easeOut,
onComplete: done
},
0.05
);
}
},
components: {
PageHeader,
CategoryContainer,
PostListItem
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 5%;
}
.posts {
display: grid;
grid-row-gap: 1rem;
}
.page-content {
grid-column: 2;
max-width: 800px;
width: 100%;
justify-self: center;
padding: 2rem 0;
}
</style>
================================================
FILE: src/themes/multi-user/components/category/containers/CategoryContainer.vue
================================================
<template>
<category-list v-if="category" :category="category"/>
</template>
<script>
import CategoryQuery from "core/graphql/category.gql";
import CategoryList from "../CategoryList";
export default {
name: "category-container",
data() {
return {
post: {}
};
},
watch: {
"$route.params.id": function(id) {
this.$apollo.queries.category.refetch({ term_id: id });
}
},
apollo: {
category() {
return {
query: CategoryQuery,
variables: {
term_id: this.$route.params.id
}
};
}
},
components: {
CategoryList
}
};
</script>
================================================
FILE: src/themes/multi-user/components/header/header.vue
================================================
<template>
<header class="header">
<div class="wrapper">
<menu-container :menuName="'primary-navigation'">
<app-menu slot-scope="menu" :menuItems="menu.items"/>
</menu-container>
</div>
</header>
</template>
<script>
import MenuContainer from "../menu/menuContainer";
import AppMenu from "../menu/menu";
export default {
name: "app-header",
components: {
MenuContainer,
AppMenu
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 10;
height: 40px;
display: flex;
justify-content: center;
}
.wrapper {
background: darken($dark-color, 3%);
height: 100%;
padding: 0rem 1rem;
display: flex;
justify-content: space-between;
align-items: center;
border-width: 0 1px 1px 1px;
border-style: solid;
border-color: $secondary-color;
}
</style>
================================================
FILE: src/themes/multi-user/components/icons/icons.vue
================================================
<template>
<svg style="display:none;">
<symbol id="plus-icon" viewBox="0 0 24 24">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</symbol>
</svg>
</template>
<script>
export default {
name: "icons"
};
</script>
<style>
</style>
================================================
FILE: src/themes/multi-user/components/menu/menu.vue
================================================
<template>
<ul class="menu">
<li class="item">
<router-link :to="{name: 'Home'}">Home</router-link>
</li>
<li class="item" v-for="item in menuItems" :key="item.id">
<menu-link :link="item.navitem"/>
</li>
</ul>
</template>
<script>
import MenuLink from "./menuLink";
export default {
name: "app-menu",
props: ["menuItems"],
components: {
MenuLink
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors";
.menu {
padding: 0;
display: flex;
}
.item {
padding: 0rem 1rem;
a {
text-decoration: none;
color: $secondary-color;
font-size: 0.9rem;
}
}
</style>
================================================
FILE: src/themes/multi-user/components/menu/menuContainer.vue
================================================
<template>
<div>
<slot :items="menus.items">
</slot>
</div>
</template>
<script>
import MenuQuery from "core/graphql/menu.gql";
export default {
name: "menu-container",
props: ["menuName"],
data() {
return {
menus: {}
};
},
apollo: {
menus() {
return {
query: MenuQuery,
variables: {
menu: this.menuName
}
};
}
}
};
</script>
================================================
FILE: src/themes/multi-user/components/menu/menuLink.vue
================================================
<template>
<a v-if="type === 'custom'" class="link" :href="url">{{link.post_title}}</a>
<router-link v-else class="link" :to="`/${link.post_name}`">{{link.post_title}}</router-link>
</template>
<script>
export default {
name: "menu-link",
props: ["link"],
data() {
return {
type: "",
url: "",
to: ""
};
},
mounted() {
this.parseLink();
},
methods: {
parseLink() {
this.link.post_meta.forEach(meta => {
switch (meta.meta_key) {
case "_menu_item_type":
this.type = meta.meta_value;
break;
case "_menu_item_url":
this.url = meta.meta_value;
break;
}
});
}
}
};
</script>
================================================
FILE: src/themes/multi-user/components/page/PageHeader.vue
================================================
<template>
<div class="header" v-bind:style="`backgroundImage: url(${this.image});`">
<div class="header-content">
<h2 class="title">
<slot name="title"></slot>
</h2>
</div>
</div>
</template>
<script>
export default {
name: "page-header",
props: ["image"]
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.header {
grid-column: 1 / 4;
grid-row: 1;
padding: 2rem;
background-color: $secondary-color;
}
.header-content {
max-width: 800px;
margin: 0 auto;
padding: 2rem 0;
}
.title {
margin: 0;
font-weight: 100;
letter-spacing: 0.015em;
}
</style>
================================================
FILE: src/themes/multi-user/components/page/layouts/DefaultPage.vue
================================================
<template>
<div class="wrapper">
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import PostContent from "../../post/PostContent";
export default {
name: "default-page",
props: ["page"],
components: {
PostContent
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 90% 5%;
}
.body {
grid-column: 2;
position: relative;
width: 100%;
max-width: 800px;
justify-self: center;
margin: 4rem auto 0rem auto;
z-index: 2;
}
.post-content {
padding: 2rem;
margin-top: 2rem;
background-color: white;
}
</style>
================================================
FILE: src/themes/multi-user/components/page/layouts/PageWithHeader.vue
================================================
<template>
<div class="wrapper">
<page-header>
<span slot="title">{{page.post_title}}</span>
</page-header>
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import PostContent from "../../post/PostContent";
import PageHeader from "../PageHeader";
export default {
name: "front-page",
props: ["page"],
methods: {
renderHeader() {
const header = this.page.post_meta.filter(meta => {
return meta.meta_key === "page_header";
});
if (header.length > 0) {
return header[0].meta_value;
}
},
renderHeaderImage() {
const imageSrc = this.page.thumbnail
? this.page.thumbnail
: require("assets/post_header_bg.png");
return `backgroundImage: url('${imageSrc}');`;
}
},
components: {
PostContent,
PageHeader
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 90% 5%;
}
.header {
grid-column: 1 / 4;
grid-row: 1;
padding: 2rem;
}
.header-content {
max-width: 800px;
margin: 0 auto;
padding: 2rem 0;
}
.title {
margin: 0;
font-weight: 100;
letter-spacing: 0.015em;
}
.body {
grid-column: 2;
position: relative;
width: 100%;
max-width: 800px;
justify-self: center;
margin: -4rem auto 0rem auto;
z-index: 2;
}
.post-content {
padding: 2rem;
margin-top: 2rem;
background-color: white;
}
</style>
================================================
FILE: src/themes/multi-user/components/page/layouts/PageWithSidebar.vue
================================================
<template>
<div class="wrapper">
<menu-container class="sidebar" :menuName="getSidebarMenuName()">
<ul class="menu" slot-scope="menu">
<li class="item" v-for="item in menu.items" :key="item.id">
<menu-link :link="item.navitem"/>
</li>
</ul>
</menu-container>
<div class="body">
<post-content :content="page.post_content"/>
</div>
</div>
</template>
<script>
import MenuContainer from "../../menu/menuContainer";
import MenuLink from "../../menu/menuLink";
import PostContent from "../../post/PostContent";
export default {
name: "page-with-sidebar",
props: ["page"],
components: {
MenuContainer,
MenuLink,
PostContent
},
methods: {
getSidebarMenuName() {
return this.page.post_meta.filter(item => {
return item.meta_key === "sidebarmenu";
})[0].meta_value;
}
}
};
</script>
<style scoped lang="scss">
@import "../../../styles/colors.scss";
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 4fr 5%;
margin-top: 4rem;
}
.sidebar {
padding: 1rem;
grid-column: 2;
display: flex;
flex-flow: column;
background-color: $secondary-color;
}
.body {
grid-column: 3;
}
.post-content {
padding: 2rem;
background-color: white;
}
.item {
a {
font-size: 1.2rem;
color: $dark-color;
text-decoration: none;
&:hover {
color: $primary-color;
}
}
&:not(:last-of-type) {
margin-bottom: 1rem;
}
}
</style>
================================================
FILE: src/themes/multi-user/components/page/layouts/layouts.js
================================================
import DefaultPage from "./DefaultPage";
import PageWithHeader from "./PageWithHeader";
import PageWithSidebar from "./PageWithSidebar";
import PostList from "../../post/PostList";
export default {
DefaultPage,
PageWithHeader,
PageWithSidebar,
PostList
};
================================================
FILE: src/themes/multi-user/components/page/page.vue
================================================
<template>
<div class="page">
<transition
appear
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:leave="leave"
v-bind:css="false"
>
<component v-if="post && !isLoading" :is="getLayout()" :page="post"/>
</transition>
</div>
</template>
<script>
import PageQuery from "core/graphql/page.gql";
import Layouts from "./layouts/layouts";
import { TweenMax, Power4 } from "gsap";
import { willPrefetch } from "vue-apollo";
export default willPrefetch({
name: "page",
props: ["name"],
data() {
return {
post: {},
isLoading: 0
};
},
apollo: {
post: {
query: PageQuery,
loadingKey: "isLoading",
prefetch: ({ route }) => {
return {
name: route.params.name || "homepage"
};
},
variables() {
return {
name: this.$route.params.name || "homepage"
};
}
}
},
methods: {
getLayout: function() {
const layout = this.post.layout
? this.post.layout.meta_value
: "DefaultPage";
return Layouts[layout];
},
beforeEnter: function(el) {
TweenMax.set(el, {
alpha: 0
});
},
enter: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 1,
ease: Power4.easeOut
});
done();
},
leave: function(el, done) {
TweenMax.to(el, 1, {
y: 0,
alpha: 0,
ease: Power4.easeOut
});
done();
}
}
});
</script>
<style scoped>
.page {
min-height: 100vh;
width: 100vw;
background-color: var(--dark-color);
}
</style>
================================================
FILE: src/themes/multi-user/components/post/PostContent.vue
================================================
<template>
<div class="post-content" v-html="$parseContent(content)"/>
</template>
<script>
import { map } from "lodash";
import hljs from "highlightjs";
export default {
name: "post-content",
props: ["content"],
mounted() {
const anchors = this.$el.getElementsByTagName("a");
const r = new RegExp("^(?:[a-z]+:)?//", "i");
const m = new RegExp("mailto", "g");
// add transitions to all internal links
map(anchors, anchor => {
const target = anchor.getAttribute("href");
if (!r.test(target) && !m.test(target)) {
anchor.addEventListener("click", e => {
e.preventDefault();
this.$router.push(target);
});
}
});
let targets = this.$el.querySelectorAll("pre code");
targets.forEach(target => {
hljs.highlightBlock(target);
});
let embeds = this.$el.querySelectorAll(".js-embed");
embeds.forEach(embed => {
this.$renderEmbed(embed);
});
}
};
</script>
<style lang="scss">
.post-content {
font-size: 1.15rem;
.cta {
display: inline-block;
margin: 1rem 0;
padding: 0.75rem 1.5rem;
background-color: var(--primary-color);
color: white;
border-radius: 3px;
text-decoration: none;
font-size: 1.25rem;
font-family: var(--heading-font);
&:hover {
background-color: var(--secondary-color);
}
}
ul {
list-style-type: square;
margin-left: 1rem;
li {
margin-bottom: 1rem;
}
}
a {
color: var(--primary-color);
font-weight: 600;
}
blockquote {
margin-left: 1rem;
padding: 2rem;
background-color: var(--light-grey-color);
font-size: 1.2rem;
border-left: 0.5rem solid var(--primary-color);
}
figure {
max-width: 100%;
padding: 2rem 0;
}
img {
max-width: 100%;
height: auto;
&.alignright {
float: right;
margin-left: 1rem;
}
&.alignleft {
float: left;
margin-right: 1rem;
}
&.aligncenter {
display: block;
margin: 1rem auto;
}
}
figcaption {
background-color: var(--light-grey-color);
padding: 0.25rem;
margin-top: -7px;
text-align: center;
}
code {
font-size: 0.8rem;
background-color: var(--light-grey-color);
padding: 0.1rem;
font-family: var(--mono-font);
}
pre {
padding: 0.25rem;
background-color: var(--light-grey-color);
code {
font-size: 0.9rem;
}
.hljs {
top: 0;
}
}
.hljs {
display: inline-block;
position: relative;
}
}
</style>
================================================
FILE: src/themes/multi-user/components/post/PostList.vue
================================================
<template>
<div class="wrapper">
<page-header>
<span slot="title">Posts</span>
</page-header>
<div class="page-content">
<posts-container :postType="'post'">
<transition
appear
slot-scope="data"
@enter="enter"
:css="false"
>
<div class="posts" v-if="!data.isLoading">
<post-list-item v-for="post in data.posts" :key="post.id" :post="post"/>
</div>
</transition>
</posts-container>
</div>
</div>
</template>
<script>
import PageHeader from "../page/PageHeader";
import PostsContainer from "./containers/PostsContainer";
import PostListItem from "./PostListItem";
import { TweenMax, Power4 } from "gsap";
export default {
name: "post-list",
methods: {
enter: function(el, done) {
TweenMax.staggerFromTo(
el.children,
2,
{
y: 20,
alpha: 0
},
{
y: 0,
alpha: 1,
ease: Power4.easeOut,
onComplete: done
},
0.1
);
}
},
components: {
PageHeader,
PostsContainer,
PostListItem
}
};
</script>
<style scoped>
.wrapper {
display: grid;
grid-template-columns: 5% 1fr 5%;
}
.posts {
display: grid;
grid-row-gap: 1rem;
}
.page-content {
grid-column: 2;
max-width: 800px;
width: 100%;
justify-self: center;
padding: 2rem 0;
}
</style>
================================================
FILE: src/themes/multi-user/components/post/PostListItem.vue
================================================
<template>
<div class="post-list-item">
<div class="post-body">
<router-link class="post-link" :to="{name: 'Post', params: {postname: post.post_name}}">
<h3 class="post-title">{{post.post_title}}</h3>
</router-link>
<p>Written {{$formatDate(post.post_date)}}
<span v-if="post.author">
by <router-link class="post-link" :to="{name: 'Author', params: {name: post.author.user_nicename}}">{{post.author.display_name}}</router-link>
</span>
</p>
</div>
<ul class="post-categories" v-if="post.categories && post.categories.length > 0">
<li class="post-category" v-for="cat in post.categories" :key="cat.name">
<router-link :to="{name: 'Category', params: {id: cat.term_id}}">{{cat.name}}</router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: "post-list-item",
props: ["post"]
};
</script>
<style scoped>
.post-list-item {
background-color: var(--light-grey-color);
width: 100%;
display: grid;
box-shadow: 8px 8px 8px -8px var(--dark-color);
}
.post-body {
padding: 0rem 2rem;
}
.post-link:hover .post-title,
.post-link:hover .post-date {
color: var(--primary-color);
}
.post-title {
/* margin: 0; */
}
.post-date {
margin: 0;
}
.post-categories {
border-top: 1px solid var(--dark-color);
padding: 0.5rem 2rem;
align-self: center;
display: flex;
}
.post-category {
margin-right: 1rem;
}
.post-category a {
text-decoration: none;
font-size: 0.8rem;
}
</style>
================================================
FILE: src/themes/multi-user/components/post/PostSingle.vue
================================================
<template>
<div v-if="post.id">
<div class="post-header" :style="renderHeaderImage()">
<div class="wrapper">
<h2 class="post-title">{{post.post_title}}</h2>
<div class="post-meta">
<p> Written {{$formatDate(post.post_date)}}
<span v-if="post.author">
by <router-link class="post-link" :to="{name: 'Author', params: {name: post.author.user_nicename}}">{{post.author.display_name}}</router-link>
</span>
</p>
</div>
</div>
</div>
<post-content :content="post.post_content"/>
</div>
</template>
<script>
import PostContent from "./PostContent";
export default {
name: "post-single",
props: ["post"],
methods: {
renderHeaderImage() {
const imageSrc = this.post.thumbnail
? this.$getThumbnail(this.post.thumbnail, "large")
: require("assets/post_header_bg.png");
return `backgroundImage: url('${imageSrc}');`;
}
},
components: {
PostContent
}
};
</script>
<style scoped lang="scss">
@import "../../styles/colors.scss";
.post-header {
height: 300px;
width: 100%;
background-size: cover;
background-color: var(--primary-color);
}
.wrapper {
display: flex;
height: 100%;
align-items: center;
justify-content: center;
position: relative;
max-width: 800px;
margin: 0 auto;
}
.post-title {
margin: 0;
font-size: 4rem;
}
.post-meta {
position: absolute;
bottom: 0;
left: 0;
background-color: white;
padding: 0.5rem 1rem;
p {
margin: 0;
// color: white;
}
a {
color: $primary-color;
}
}
.post-content {
padding: 2rem;
max-width: 800px;
margin: 0 auto;
background-color: white;
border-top: 3px solid $dark-color;
}
</style>
================================================
FILE: src/themes/multi-user/components/post/containers/PostContainer.vue
================================================
<template>
<post-single :post="post"/>
</template>
<script>
import PostQuery from "core/graphql/post.gql";
import PostSingle from "../PostSingle";
export default {
name: "posts-container",
data() {
return {
post: {}
};
},
apollo: {
post: {
query: PostQuery,
prefetch({ route }) {
return {
name: route.params.postname
};
},
variables() {
return {
name: this.$route.params.postname
};
}
}
},
components: {
PostSingle
}
};
</script>
================================================
FILE: src/themes/multi-user/components/post/containers/PostsContainer.vue
================================================
<template>
<div>
<slot :posts="posts" :isLoading="isLoading">
</slot>
</div>
</template>
<script>
import PostsQuery from "core/graphql/posts.gql";
import { willPrefetch } from "vue-apollo";
export default willPrefetch({
name: "posts-container",
props: ["postType", "limit", "skip", "order"],
data() {
return {
isLoading: 0
};
},
apollo: {
posts: {
query: PostsQuery,
loadingKey: "isLoading",
prefetch: () => {
return {
post_type: this.a.props.postType
};
},
variables() {
return {
post_type: this.postType
};
}
}
}
});
</script>
================================================
FILE: src/themes/multi-user/routes/index.js
================================================
import Page from "../components/page/page";
import Post from "../components/post/containers/PostContainer";
import Category from "../components/category/containers/CategoryContainer";
import Author from "../components/author/AuthorSingle";
const routes = [
{
path: "/",
name: "Home",
component: Page
},
{
path: "/:name",
name: "Page",
component: Page
},
{
path: "/post/:postname",
name: "Post",
component: Post
},
{
path: "/category/:id",
name: "Category",
component: Category
},
{
path: "/author/:name",
name: "Author",
component: Author
}
];
export default routes;
================================================
FILE: src/themes/multi-user/styles/colors.scss
================================================
$primary-color: #B60FE0;
$secondary-color: #acf3a7;
$accent-color: #F53C76;
$secondary-accent-color: #FF594F;
$dark-color: #380436;
$light-grey-color: #f3f3f3;
$colors: $primary-color, $secondary-color, $accent-color, $secondary-accent-color
================================================
FILE: src/themes/multi-user/styles/reset.css
================================================
/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}body { line-height: 1;}ol, ul { list-style: none;}blockquote, q { quotes: none;}blockquote:before, blockquote:after,q:before, q:after { content: ''; content: none;}table { border-collapse: collapse; border-spacing: 0;}
================================================
FILE: src/themes/multi-user/styles/typography.css
================================================
html {font-size: 1.125em;}
body {
font-family: var(--copy-font);
font-weight: 400;
line-height: 1.45;
}
h1, h2, h3, h4, h5 {
margin: 1.414em 0 0.5em;
line-height: 1.2;
font-weight: 700;
font-family: var(--heading-font);
color: var(--dark-color);
}
h1 {
margin-top: 0;
font-size: 3.998em;
}
h2 {font-size: 2.827em;}
h3 {font-size: 1.999em;}
h4 {font-size: 1.414em;}
small, .font_small {font-size: 0.707em;}
hr {
border: 1px solid;
margin: -1px 0;
}
p {
margin-bottom: 1.3em;
font-family: var(--copy-font);
}
b, strong, em, small, code {
line-height: 1;
}
sup {
line-height: 0;
position: relative;
vertical-align: baseline;
top: -0.5em;
}
pre{
font-family: var(--mono-font);
font-size: 1rem;
padding: 1rem;
border: 1px solid darken(white, 5%);
background-color: darken(white, 10%);
font-size: .8rem;
overflow: auto;
margin-bottom: 1.5rem;
}
pre p{
font-family: var(--mono-font);
margin: 0;
}
sub {
bottom: -0.25em;
}
em{
font-style: italic;
}
strong{
font-weight: 700;
}
figcaption{
font-size: .9rem;
font-style: italic;
}
.sans{
font-family: var(--heading-font);
}
.serif{
font-family: var(--copy-font);
}
.black{
font-weight: 900;
}
.bold{
font-weight: 700;
}
.thin{
font-weight: 100;
}
.uppercase{
text-transform: uppercase;
}
.center{
text-align: center;
}
================================================
FILE: tests/unit/.eslintrc.js
================================================
module.exports = {
env: {
jest: true
},
rules: {
'import/no-extraneous-dependencies': 'off'
}
}
================================================
FILE: tests/unit/HelloWorld.spec.js
================================================
import { shallowMount } from "@vue/test-utils";
import HelloWorld from "@/components/HelloWorld.vue";
describe("HelloWorld.vue", () => {
it("renders props.msg when passed", () => {
const msg = "new message";
const wrapper = shallowMount(HelloWorld, {
propsData: { msg }
});
expect(wrapper.text()).toMatch(msg);
});
});
================================================
FILE: vue.config.js
================================================
const VueSSRServerPlugin = require("vue-server-renderer/server-plugin");
const VueSSRClientPlugin = require("vue-server-renderer/client-plugin");
const nodeExternals = require("webpack-node-externals");
const merge = require("lodash.merge");
const { theme } = require("./config/client.json");
const path = require("path");
console.log(`Current Theme: ${theme}`);
const TARGET_NODE = process.env.WEBPACK_TARGET === "node";
const createApiFile = TARGET_NODE
? "./create-api-server.js"
: "./create-api-client.js";
const target = TARGET_NODE ? "server" : "client";
module.exports = {
pluginOptions: {
ssr: {
entry: target => `./src/core/ssr/entry-${target}`
}
},
configureWebpack: () => ({
entry: `./src/core/ssr/entry-${target}`,
target: TARGET_NODE ? "node" : "web",
node: TARGET_NODE ? undefined : false,
plugins: [
TARGET_NODE ? new VueSSRServerPlugin() : new VueSSRClientPlugin()
],
externals: TARGET_NODE
? nodeExternals({
whitelist: /\.css$/
})
: undefined,
output: {
libraryTarget: TARGET_NODE ? "commonjs2" : undefined
},
optimization: {
splitChunks: undefined
},
resolve: {
alias: {
"create-api": createApiFile,
"@": path.resolve(__dirname, `./src/themes/${theme}`),
assets: path.resolve(__dirname, "./src/assets"),
core: path.resolve(__dirname, "./src/core"),
config: path.resolve(__dirname, "./config/client.json")
}
}
}),
chainWebpack: config => {
config.module
.rule("vue")
.use("vue-loader")
.tap(options =>
merge(options, {
optimizeSSR: true
})
);
}
};
================================================
FILE: yarn-error.log
================================================
Arguments:
/Users/rlanier/.nvm/versions/node/v10.1.0/bin/node /usr/local/Cellar/yarn/1.7.0/libexec/bin/yarn.js add @vue/cli-plugin-babel @vue/cli-plugin-eslint @vue/cli-plugin-unit-test
PATH:
/Users/rlanier/.pyenv/shims:/Users/rlanier/.nvm/versions/node/v10.1.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/Cellar/mysql/5.6.27/bin:/Users/rlanier/Library/Android/sdk/platform-tools:/Users/rlanier/.local/bin
Yarn version:
1.7.0
Node version:
10.1.0
Platform:
darwin x64
Trace:
Error: https://registry.yarnpkg.com/@vue%2fcli-plugin-unit-test: Not found
at Request.params.callback [as _callback] (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:65656:18)
at Request.self.callback (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:134675:22)
at Request.emit (events.js:182:13)
at Request.<anonymous> (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:135658:10)
at Request.emit (events.js:182:13)
at IncomingMessage.<anonymous> (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:135578:12)
at Object.onceWrapper (events.js:273:13)
at IncomingMessage.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1086:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
npm manifest:
{
"name": "wordexpress-starter-kit-vue",
"version": "3.0.0-beta",
"description": "WordPress with Vue",
"repository": {
"type": "git",
"url": "git+https://github.com/ramsaylanier/VuePress"
},
"keywords": [
"vue",
"vuex",
"vue-router",
"webpack",
"starter",
"server-side",
"boilerplate",
"wordpress"
],
"author": "ramsay lanier <ramsaylanier@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/ramsaylanier/VuePress/issues"
},
"homepage": "https://github.com/ramsaylanier/VuePress#readme",
"private": false,
"scripts": {
"serve": "npm run build && node scripts/serve",
"build": "npm run build:server && mv dist/vue-ssr-server-bundle.json bundle && npm run build:client && mv bundle dist/vue-ssr-server-bundle.json",
"lint": "vue-cli-service lint",
"build:client": "vue-cli-service build",
"build:server": "cross-env WEBPACK_TARGET=node vue-cli-service build",
"start": "cross-env NODE_ENV=production node scripts/start",
"test:unit": "vue-cli-service test:unit"
},
"dependencies": {
"apollo-link-http": "^1.5.4",
"config": "^1.30.0",
"graphql": "^14.0.0-rc.1",
"gsap": "^2.0.1",
"highlightjs": "^9.10.0",
"vue": "^2.5.16",
"vue-apollo": "^3.0.0-beta.10",
"vue-resource": "^1.5.1",
"vue-router": "^3.0.1",
"vue-server-renderer": "^2.5.16",
"vuex": "^3.0.1",
"vuex-router-sync": "^5.0.0",
"wordexpress-tools": "^1.3.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.0.0-beta.15",
"@vue/cli-plugin-eslint": "^3.0.0-beta.15",
"@vue/cli-plugin-unit-jest": "^3.0.0-beta.15",
"@vue/cli-service": "^3.0.0-rc.5",
"@vue/eslint-config-prettier": "^3.0.0-beta.16",
"@vue/test-utils": "^1.0.0-beta.16",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"cross-env": "^5.1.6",
"eslint-plugin-html": "^4.0.3",
"graphql-tag": "^2.9.2",
"lodash.merge": "^4.6.1",
"node-sass": "^4.9.0",
"sass-loader": "^7.0.1",
"vue-cli-plugin-apollo": "^0.13.6",
"vue-template-compiler": "^2.5.16",
"webpack-node-externals": "^1.7.2"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
yarn manifest:
No manifest
Lockfile:
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/code-frame@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9"
dependencies:
"@babel/highlight" "7.0.0-beta.44"
"@babel/code-frame@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27"
dependencies:
"@babel/highlight" "7.0.0-beta.47"
"@babel/code-frame@^7.0.0-beta.35":
version "7.0.0-beta.49"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz#becd805482734440c9d137e46d77340e64d7f51b"
dependencies:
"@babel/highlight" "7.0.0-beta.49"
"@babel/core@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.47.tgz#b9c164fb9a1e1083f067c236a9da1d7a7d759271"
dependencies:
"@babel/code-frame" "7.0.0-beta.47"
"@babel/generator" "7.0.0-beta.47"
"@babel/helpers" "7.0.0-beta.47"
"@babel/template" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
babylon "7.0.0-beta.47"
convert-source-map "^1.1.0"
debug "^3.1.0"
json5 "^0.5.0"
lodash "^4.17.5"
micromatch "^2.3.11"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
"@babel/generator@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42"
dependencies:
"@babel/types" "7.0.0-beta.44"
jsesc "^2.5.1"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
"@babel/generator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.47.tgz#1835709f377cc4d2a4affee6d9258a10bbf3b9d1"
dependencies:
"@babel/types" "7.0.0-beta.47"
jsesc "^2.5.1"
lodash "^4.17.5"
source-map "^0.5.0"
trim-right "^1.0.1"
"@babel/helper-annotate-as-pure@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz#354fb596055d9db369211bf075f0d5e93904d6f6"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz#d5917c29ee3d68abc2c72f604bc043f6e056e907"
dependencies:
"@babel/helper-explode-assignable-expression" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-call-delegate@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz#96b7804397075f722a4030d3876f51ec19d8829b"
dependencies:
"@babel/helper-hoist-variables" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-define-map@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz#43a9def87c5166dc29630d51b3da9cc4320c131c"
dependencies:
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/helper-explode-assignable-expression@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz#56b688e282a698f4d1cf135453a11ae8af870a19"
dependencies:
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-function-name@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd"
dependencies:
"@babel/helper-get-function-arity" "7.0.0-beta.44"
"@babel/template" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
"@babel/helper-function-name@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz#8057d63e951e85c57c02cdfe55ad7608d73ffb7d"
dependencies:
"@babel/helper-get-function-arity" "7.0.0-beta.47"
"@babel/template" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-get-function-arity@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15"
dependencies:
"@babel/types" "7.0.0-beta.44"
"@babel/helper-get-function-arity@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz#2de04f97c14b094b55899d3fa83144a16d207510"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-hoist-variables@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz#ce295d1d723fe22b2820eaec748ed701aa5ae3d0"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-member-expression-to-functions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz#35bfcf1d16dce481ef3dec66d5a1ae6a7d80bb45"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-module-imports@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz#5af072029ffcfbece6ffbaf5d9984c75580f3f04"
dependencies:
"@babel/types" "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/helper-module-transforms@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz#7eff91fc96873bd7b8d816698f1a69bbc01f3c38"
dependencies:
"@babel/helper-module-imports" "7.0.0-beta.47"
"@babel/helper-simple-access" "7.0.0-beta.47"
"@babel/helper-split-export-declaration" "7.0.0-beta.47"
"@babel/template" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/helper-optimise-call-expression@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz#085d864d0613c5813c1b7c71b61bea36f195929e"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-plugin-utils@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz#4f564117ec39f96cf60fafcde35c9ddce0e008fd"
"@babel/helper-regex@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz#b8e3b53132c4edbb04804242c02ffe4d60316971"
dependencies:
lodash "^4.17.5"
"@babel/helper-remap-async-to-generator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz#444dc362f61470bd61a745ebb364431d9ca186c2"
dependencies:
"@babel/helper-annotate-as-pure" "7.0.0-beta.47"
"@babel/helper-wrap-function" "7.0.0-beta.47"
"@babel/template" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-replace-supers@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz#310b206a302868a792b659455ceba27db686cbb7"
dependencies:
"@babel/helper-member-expression-to-functions" "7.0.0-beta.47"
"@babel/helper-optimise-call-expression" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helper-simple-access@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz#234d754acbda9251a10db697ef50181eab125042"
dependencies:
"@babel/template" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/helper-split-export-declaration@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc"
dependencies:
"@babel/types" "7.0.0-beta.44"
"@babel/helper-split-export-declaration@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz#e11277855472d8d83baf22f2d0186c4a2059b09a"
dependencies:
"@babel/types" "7.0.0-beta.47"
"@babel/helper-wrap-function@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz#6528b44a3ccb4f3aeeb79add0a88192f7eb81161"
dependencies:
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/template" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/helpers@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.47.tgz#f9b42ed2e4d5f75ec0fb2e792c173e451e8d40fd"
dependencies:
"@babel/template" "7.0.0-beta.47"
"@babel/traverse" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
"@babel/highlight@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
"@babel/highlight@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
"@babel/highlight@7.0.0-beta.49":
version "7.0.0-beta.49"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.49.tgz#96bdc6b43e13482012ba6691b1018492d39622cc"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz#571142284708c5ad4ec904d9aa705461a010be53"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-remap-async-to-generator" "7.0.0-beta.47"
"@babel/plugin-syntax-async-generators" "7.0.0-beta.47"
"@babel/plugin-proposal-class-properties@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz#08c1a1dfc92d0f5c37b39096c6fb883e1ca4b0f5"
dependencies:
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-replace-supers" "7.0.0-beta.47"
"@babel/plugin-syntax-class-properties" "7.0.0-beta.47"
"@babel/plugin-proposal-decorators@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0-beta.47.tgz#5e8943c8f8eb3301f911ef0dcd3ed64cf28c723e"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-decorators" "7.0.0-beta.47"
"@babel/plugin-proposal-export-namespace-from@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0-beta.47.tgz#38171dd0fd5f54aee377d338ed41bb92e25d6720"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-export-namespace-from" "7.0.0-beta.47"
"@babel/plugin-proposal-function-sent@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-beta.47.tgz#3ad46c04a277a887731f21843013292d254f7ba9"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-wrap-function" "7.0.0-beta.47"
"@babel/plugin-syntax-function-sent" "7.0.0-beta.47"
"@babel/plugin-proposal-numeric-separator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0-beta.47.tgz#3ace5cbacb62c3fa223c3c0b66c0c16e63a8e259"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-numeric-separator" "7.0.0-beta.47"
"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz#e1529fddc88e948868ee1d0edaa27ebd9502322d"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47"
"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.47.tgz#8c6453919537517ea773bb8f3fceda4250795efa"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.47"
"@babel/plugin-proposal-throw-expressions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.0.0-beta.47.tgz#9a67f8b0852b4b0b255eff5d6d25fa436928424f"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-throw-expressions" "7.0.0-beta.47"
"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.47.tgz#34d7e4811bdc4f512400bb29d01051842528c8d5"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-regex" "7.0.0-beta.47"
regexpu-core "^4.1.4"
"@babel/plugin-syntax-async-generators@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz#8ab94852bf348badc866af85bd852221f0961256"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-class-properties@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz#de52bed12fd472c848e1562f57dd4a202fe27f11"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-decorators@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0-beta.47.tgz#a42f10fcd651940bc475d93b3ac23432b4a8a293"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-dynamic-import@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz#ee964915014a687701ee8e15c289e31a7c899e60"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-export-namespace-from@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0-beta.47.tgz#fd446c76c59849f15e6cde235b5b8e153413f21e"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-function-sent@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-beta.47.tgz#8d15536f55b21acdf9bfaa177c46591a589fe8b0"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-import-meta@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0-beta.47.tgz#8ab5174209a954b91e327004a7d16737bcc4774d"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-jsx@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz#f3849d94288695d724bd205b4f6c3c99e4ec24a4"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-numeric-separator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0-beta.47.tgz#9f06cb770a94f464b3b2889d2110080bc302fc80"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz#21da514d94c138b2261ca09f0dec9abadce16185"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.47.tgz#0b1c52b066aa36893c41450773a5adb904cd4024"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-syntax-throw-expressions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.0.0-beta.47.tgz#8ca197bab3534f443eecd7eb79da47e199dafaf7"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-arrow-functions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz#d6eecda4c652b909e3088f0983ebaf8ec292984b"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-async-to-generator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz#5723816ea1e91fa313a84e6ee9cc12ff31d46610"
dependencies:
"@babel/helper-module-imports" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-remap-async-to-generator" "7.0.0-beta.47"
"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz#e422278e06c797b43c45f459d83c7af9d6237002"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-block-scoping@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz#b737cc58a81bea57efd5bda0baef9a43a25859ad"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/plugin-transform-classes@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz#7aff9cbe7b26fd94d7a9f97fa90135ef20c93fb6"
dependencies:
"@babel/helper-annotate-as-pure" "7.0.0-beta.47"
"@babel/helper-define-map" "7.0.0-beta.47"
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/helper-optimise-call-expression" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-replace-supers" "7.0.0-beta.47"
"@babel/helper-split-export-declaration" "7.0.0-beta.47"
globals "^11.1.0"
"@babel/plugin-transform-computed-properties@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz#56ef2a021769a2b65e90a3e12fd10b791da9f3e0"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-destructuring@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz#452b607775fd1c4d10621997837189efc0a6d428"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-dotall-regex@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.47.tgz#d8da9b706d4bfc68dec9d565661f83e6e8036636"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-regex" "7.0.0-beta.47"
regexpu-core "^4.1.3"
"@babel/plugin-transform-duplicate-keys@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.47.tgz#4aabeda051ca3007e33a207db08f1a0cf9bd253b"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz#930e1abf5db9f4db5b63dbf97f3581ad0be1e907"
dependencies:
"@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-for-of@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz#527d5dc24e4a4ad0fc1d0a3990d29968cb984e76"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-function-name@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz#fb443c81cc77f3206a863b730b35c8c553ce5041"
dependencies:
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-literals@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz#448fad196f062163684a38f10f14e83315892e9c"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-modules-amd@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.47.tgz#84564419b11c1be6b9fcd4c7b3a6737f2335aac4"
dependencies:
"@babel/helper-module-transforms" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-modules-commonjs@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz#dfe5c6d867aa9614e55f7616736073edb3aab887"
dependencies:
"@babel/helper-module-transforms" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-simple-access" "7.0.0-beta.47"
"@babel/plugin-transform-modules-systemjs@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.47.tgz#8514dbcdfca3345abd690059e7e8544e16ecbf05"
dependencies:
"@babel/helper-hoist-variables" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-modules-umd@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.47.tgz#6dcfb9661fdd131b20b721044746a7a309882918"
dependencies:
"@babel/helper-module-transforms" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-new-target@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.47.tgz#4b5cb7ce30d7bffa105a1f43ed07d6ae206a4155"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-object-super@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz#ca8e5f326c5011c879f3a6ed749e58bd10fff05d"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-replace-supers" "7.0.0-beta.47"
"@babel/plugin-transform-parameters@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz#46a4236040a6552a5f165fb3ddd60368954b0ddd"
dependencies:
"@babel/helper-call-delegate" "7.0.0-beta.47"
"@babel/helper-get-function-arity" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-regenerator@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz#86500e1c404055fb98fc82b73b09bd053cacb516"
dependencies:
regenerator-transform "^0.12.3"
"@babel/plugin-transform-runtime@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz#1700938fa8710909cbf28f7dd39f9b40688b09fd"
dependencies:
"@babel/helper-module-imports" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-shorthand-properties@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz#00be44c4fad8fe2c00ed18ea15ea3c88dd519dbb"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-spread@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz#3feadb02292ed1e9b75090d651b9df88a7ab5c50"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-sticky-regex@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz#c0aa347d76b5dc87d3b37ac016ada3f950605131"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-regex" "7.0.0-beta.47"
"@babel/plugin-transform-template-literals@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz#5f7b5badf64c4c5da79026aeab03001e62a6ee5f"
dependencies:
"@babel/helper-annotate-as-pure" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-typeof-symbol@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz#03c612ec09213eb386a81d5fa67c234ee4b2034c"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-transform-unicode-regex@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz#efed0b2f1dfbf28283502234a95b4be88f7fdcb6"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/helper-regex" "7.0.0-beta.47"
regexpu-core "^4.1.3"
"@babel/preset-env@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.47.tgz#a3dab3b5fac4de56e3510bdbcb528f1cbdedbe2d"
dependencies:
"@babel/helper-module-imports" "7.0.0-beta.47"
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.47"
"@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47"
"@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.47"
"@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.47"
"@babel/plugin-syntax-async-generators" "7.0.0-beta.47"
"@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47"
"@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.47"
"@babel/plugin-transform-arrow-functions" "7.0.0-beta.47"
"@babel/plugin-transform-async-to-generator" "7.0.0-beta.47"
"@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.47"
"@babel/plugin-transform-block-scoping" "7.0.0-beta.47"
"@babel/plugin-transform-classes" "7.0.0-beta.47"
"@babel/plugin-transform-computed-properties" "7.0.0-beta.47"
"@babel/plugin-transform-destructuring" "7.0.0-beta.47"
"@babel/plugin-transform-dotall-regex" "7.0.0-beta.47"
"@babel/plugin-transform-duplicate-keys" "7.0.0-beta.47"
"@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47"
"@babel/plugin-transform-for-of" "7.0.0-beta.47"
"@babel/plugin-transform-function-name" "7.0.0-beta.47"
"@babel/plugin-transform-literals" "7.0.0-beta.47"
"@babel/plugin-transform-modules-amd" "7.0.0-beta.47"
"@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47"
"@babel/plugin-transform-modules-systemjs" "7.0.0-beta.47"
"@babel/plugin-transform-modules-umd" "7.0.0-beta.47"
"@babel/plugin-transform-new-target" "7.0.0-beta.47"
"@babel/plugin-transform-object-super" "7.0.0-beta.47"
"@babel/plugin-transform-parameters" "7.0.0-beta.47"
"@babel/plugin-transform-regenerator" "7.0.0-beta.47"
"@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47"
"@babel/plugin-transform-spread" "7.0.0-beta.47"
"@babel/plugin-transform-sticky-regex" "7.0.0-beta.47"
"@babel/plugin-transform-template-literals" "7.0.0-beta.47"
"@babel/plugin-transform-typeof-symbol" "7.0.0-beta.47"
"@babel/plugin-transform-unicode-regex" "7.0.0-beta.47"
browserslist "^3.0.0"
invariant "^2.2.2"
semver "^5.3.0"
"@babel/preset-stage-2@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/preset-stage-2/-/preset-stage-2-7.0.0-beta.47.tgz#deb930c44d7d6e519a33174bba121a2a630ed654"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-proposal-decorators" "7.0.0-beta.47"
"@babel/plugin-proposal-export-namespace-from" "7.0.0-beta.47"
"@babel/plugin-proposal-function-sent" "7.0.0-beta.47"
"@babel/plugin-proposal-numeric-separator" "7.0.0-beta.47"
"@babel/plugin-proposal-throw-expressions" "7.0.0-beta.47"
"@babel/preset-stage-3" "7.0.0-beta.47"
"@babel/preset-stage-3@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/preset-stage-3/-/preset-stage-3-7.0.0-beta.47.tgz#17028f3b5dddc548d80404c86ed62622f601597b"
dependencies:
"@babel/helper-plugin-utils" "7.0.0-beta.47"
"@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.47"
"@babel/plugin-proposal-class-properties" "7.0.0-beta.47"
"@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47"
"@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.47"
"@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.47"
"@babel/plugin-syntax-dynamic-import" "7.0.0-beta.47"
"@babel/plugin-syntax-import-meta" "7.0.0-beta.47"
"@babel/runtime@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.47.tgz#273f5e71629e80f6cbcd7507503848615e59f7e0"
dependencies:
core-js "^2.5.3"
regenerator-runtime "^0.11.1"
"@babel/runtime@^7.0.0-beta.38", "@babel/runtime@^7.0.0-beta.40":
version "7.0.0-beta.49"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.49.tgz#03b3bf07eb982072c8e851dd2ddd5110282e61bf"
dependencies:
core-js "^2.5.6"
regenerator-runtime "^0.11.1"
"@babel/template@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f"
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
lodash "^4.2.0"
"@babel/template@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.47.tgz#0473970a7c0bee7a1a18c1ca999d3ba5e5bad83d"
dependencies:
"@babel/code-frame" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
babylon "7.0.0-beta.47"
lodash "^4.17.5"
"@babel/traverse@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966"
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/generator" "7.0.0-beta.44"
"@babel/helper-function-name" "7.0.0-beta.44"
"@babel/helper-split-export-declaration" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
debug "^3.1.0"
globals "^11.1.0"
invariant "^2.2.0"
lodash "^4.2.0"
"@babel/traverse@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.47.tgz#0e57fdbb9ff3a909188b6ebf1e529c641e6c82a4"
dependencies:
"@babel/code-frame" "7.0.0-beta.47"
"@babel/generator" "7.0.0-beta.47"
"@babel/helper-function-name" "7.0.0-beta.47"
"@babel/helper-split-export-declaration" "7.0.0-beta.47"
"@babel/types" "7.0.0-beta.47"
babylon "7.0.0-beta.47"
debug "^3.1.0"
globals "^11.1.0"
invariant "^2.2.0"
lodash "^4.17.5"
"@babel/types@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757"
dependencies:
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^2.0.0"
"@babel/types@7.0.0-beta.47":
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.47.tgz#e6fcc1a691459002c2671d558a586706dddaeef8"
dependencies:
esutils "^2.0.2"
lodash "^4.17.5"
to-fast-properties "^2.0.0"
"@intervolga/optimize-cssnano-plugin@^1.0.5":
version "1.0.6"
resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8"
dependencies:
cssnano "^4.0.0"
cssnano-preset-default "^4.0.0"
postcss "^7.0.0"
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
dependencies:
call-me-maybe "^1.0.1"
glob-to-regexp "^0.3.0"
"@nodelib/fs.stat@^1.0.1":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz#50c1e2260ac0ed9439a181de3725a0168d59c48a"
"@sindresorhus/is@^0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
"@types/accepts@*":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
dependencies:
"@types/node" "*"
"@types/async@2.0.49":
version "2.0.49"
resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.49.tgz#92e33d13f74c895cb9a7f38ba97db8431ed14bc0"
"@types/body-parser@*":
version "1.17.0"
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c"
dependencies:
"@types/connect" "*"
"@types/node" "*"
"@types/bunyan@*":
version "1.8.4"
resolved "https://registry.yarnpkg.com/@types/bunyan/-/bunyan-1.8.4.tgz#69c11adc7b50538d45fb68d9ae39d062b9432f38"
dependencies:
"@types/events" "*"
"@types/node" "*"
"@types/connect@*", "@types/connect@^3.4.31":
version "3.4.32"
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28"
dependencies:
"@types/node" "*"
"@types/cookies@*":
version "0.7.1"
resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.1.tgz#f9f204bd6767d389eea3b87609e30c090c77a540"
dependencies:
"@types/connect" "*"
"@types/express" "*"
"@types/keygrip" "*"
"@types/node" "*"
"@types/events@*":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86"
"@types/express-serve-static-core@*":
version "4.16.0"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7"
dependencies:
"@types/events" "*"
"@types/node" "*"
"@types/range-parser" "*"
"@types/express@*", "@types/express@^4.0.36":
version "4.16.0"
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19"
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
"@types/graphql@0.12.6":
version "0.12.6"
resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.12.6.tgz#3d619198585fcabe5f4e1adfb5cf5f3388c66c13"
"@types/http-assert@*":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.3.0.tgz#5e932606153da28e1d04f9043f4912cf61fd55dd"
"@types/keygrip@*":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.1.tgz#ff540462d2fb4d0a88441ceaf27d287b01c3d878"
"@types/koa-bodyparser@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@types/koa-bodyparser/-/koa-bodyparser-4.2.0.tgz#04febc567f3d3dd40e3d1a0e095cdf7b07c4d7ce"
dependencies:
"@types/koa" "*"
"@types/koa-compose@*":
version "3.2.2"
resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.2.tgz#dc106e000bbf92a3ac900f756df47344887ee847"
"@types/koa-router@^7.0.27":
version "7.0.28"
resolved "https://registry.yarnpkg.com/@types/koa-router/-/koa-router-7.0.28.tgz#67487c862a831099aed8864a8996bfa7e989edc0"
dependencies:
"@types/koa" "*"
"@types/koa@*", "@types/koa@^2.0.39":
version "2.0.46"
resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.0.46.tgz#24bc3cd405d10fcde81f876cd8285b44d4ddc3e9"
dependencies:
"@types/accepts" "*"
"@types/cookies" "*"
"@types/events" "*"
"@types/http-assert" "*"
"@types/keygrip" "*"
"@types/koa-compose" "*"
"@types/node" "*"
"@types/mime@*":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b"
"@types/node@*":
version "10.3.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.2.tgz#3840ec6c12556fdda6e0e6d036df853101d732a4"
"@types/node@^9.4.6":
version "9.6.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.21.tgz#4563c26a53531c5aca943065fcdf2dd562f63cd4"
"@types/range-parser@*":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.2.tgz#fa8e1ad1d474688a757140c91de6dace6f4abc8d"
"@types/restify@^5.0.7":
version "5.0.9"
resolved "https://registry.yarnpkg.com/@types/restify/-/restify-5.0.9.tgz#95bf30b0fd7b92329a695bbd60feae019f3e31fd"
dependencies:
"@types/bunyan" "*"
"@types/node" "*"
"@types/spdy" "*"
"@types/serve-static@*":
version "1.13.2"
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48"
dependencies:
"@types/express-serve-static-core" "*"
"@types/mime" "*"
"@types/spdy@*":
version "3.4.4"
resolved "https://registry.yarnpkg.com/@types/spdy/-/spdy-3.4.4.tgz#3282fd4ad8c4603aa49f7017dd520a08a345b2bc"
dependencies:
"@types/node" "*"
"@types/strip-bom@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
"@types/strip-json-comments@0.0.30":
version "0.0.30"
resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
"@types/zen-observable@^0.5.3":
version "0.5.3"
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.3.tgz#91b728599544efbb7386d8b6633693a3c2e7ade5"
"@vue/babel-preset-app@^3.0.0-beta.16":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-3.0.0-beta.16.tgz#e5b4eaedfdcb842b2d3a4da9e23c1f8f81e4db01"
dependencies:
"@babel/plugin-syntax-jsx" "7.0.0-beta.47"
"@babel/plugin-transform-runtime" "7.0.0-beta.47"
"@babel/preset-env" "7.0.0-beta.47"
"@babel/preset-stage-2" "7.0.0-beta.47"
"@babel/runtime" "7.0.0-beta.47"
babel-helper-vue-jsx-merge-props "^2.0.3"
babel-plugin-dynamic-import-node "^1.2.0"
babel-plugin-transform-vue-jsx "^4.0.1"
"@vue/cli-overlay@^3.0.0-rc.5":
version "3.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-3.0.0-rc.5.tgz#0a61adb1b6af9a2fce75b97cc83c54ee5227f629"
"@vue/cli-plugin-babel@^3.0.0-beta.15":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-3.0.0-beta.16.tgz#ccf9d11425947c446f3c6f31e7a3b1e8a789696f"
dependencies:
"@babel/core" "7.0.0-beta.47"
"@vue/babel-preset-app" "^3.0.0-beta.16"
babel-loader "^8.0.0-0"
"@vue/cli-plugin-eslint@^3.0.0-beta.15":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-3.0.0-beta.16.tgz#9dfb37cc9506996b319860562551838bc55a635e"
dependencies:
"@vue/cli-shared-utils" "^3.0.0-beta.16"
babel-eslint "^8.2.3"
eslint "^4.19.1"
eslint-loader "^2.0.0"
eslint-plugin-vue "^4.5.0"
"@vue/cli-plugin-unit-jest@^3.0.0-beta.15":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-3.0.0-beta.16.tgz#b33b0f1ecbc8266c81e344689b4c0e447e29b3b5"
dependencies:
"@vue/cli-shared-utils" "^3.0.0-beta.16"
jest "^23.1.0"
jest-serializer-vue "^1.0.0"
jest-transform-stub "^1.0.0"
vue-jest "^2.6.0"
"@vue/cli-service@^3.0.0-rc.5":
version "3.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-3.0.0-rc.5.tgz#ed931795d7efebcd4afe794fc845874ddfacce63"
dependencies:
"@intervolga/optimize-cssnano-plugin" "^1.0.5"
"@vue/cli-overlay" "^3.0.0-rc.5"
"@vue/cli-shared-utils" "^3.0.0-rc.5"
"@vue/preload-webpack-plugin" "^1.0.0"
"@vue/web-component-wrapper" "^1.2.0"
acorn "^5.7.1"
address "^1.0.3"
autoprefixer "^8.6.5"
cache-loader "^1.2.2"
case-sensitive-paths-webpack-plugin "^2.1.2"
chalk "^2.4.1"
clipboardy "^1.2.3"
cliui "^4.1.0"
copy-webpack-plugin "^4.5.2"
css-loader "^1.0.0"
debug "^3.1.0"
escape-string-regexp "^1.0.5"
file-loader "^1.1.11"
friendly-errors-webpack-plugin "^1.7.0"
fs-extra "^6.0.1"
globby "^8.0.1"
hash-sum "^1.0.2"
html-webpack-plugin "^3.2.0"
launch-editor-middleware "^2.2.1"
lodash.defaultsdeep "^4.6.0"
lodash.mapvalues "^4.6.0"
lodash.transform "^4.6.0"
mini-css-extract-plugin "^0.4.1"
minimist "^1.2.0"
ora "^2.1.0"
portfinder "^1.0.13"
postcss-loader "^2.1.6"
read-pkg "^4.0.1"
semver "^5.5.0"
slash "^2.0.0"
source-map-url "^0.4.0"
string.prototype.padend "^3.0.0"
thread-loader "^1.1.5"
uglifyjs-webpack-plugin "^1.2.7"
url-loader "^1.0.1"
vue-loader "^15.2.4"
vue-template-compiler "^2.5.16"
webpack "^4.15.1"
webpack-bundle-analyzer "^2.13.1"
webpack-chain "^4.8.0"
webpack-dev-server "^3.1.4"
webpack-merge "^4.1.3"
yorkie "^1.0.3"
"@vue/cli-shared-utils@^3.0.0-beta.16":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-3.0.0-beta.16.tgz#b7908567a0e755f0bdfc0bf7ab897965b7fb89e7"
dependencies:
chalk "^2.3.0"
execa "^0.10.0"
joi "^12.0.0"
node-ipc "^9.1.1"
opn "^5.2.0"
ora "^1.3.0"
request "^2.83.0"
request-promise-native "^1.0.5"
string.prototype.padstart "^3.0.0"
"@vue/cli-shared-utils@^3.0.0-rc.5":
version "3.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-3.0.0-rc.5.tgz#665cc1af7454609313cd1de68ba1dddd82f3c4de"
dependencies:
chalk "^2.4.1"
execa "^0.10.0"
joi "^13.0.0"
node-ipc "^9.1.1"
opn "^5.3.0"
ora "^2.1.0"
request "^2.87.0"
request-promise-native "^1.0.5"
semver "^5.5.0"
string.prototype.padstart "^3.0.0"
"@vue/component-compiler-utils@^2.0.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.1.0.tgz#8331eadc8acdbc35aace5a61d2153e6f6434bfe2"
dependencies:
consolidate "^0.15.1"
hash-sum "^1.0.2"
lru-cache "^4.1.2"
merge-source-map "^1.1.0"
postcss "^6.0.20"
postcss-selector-parser "^3.1.1"
prettier "^1.13.7"
source-map "^0.5.6"
vue-template-es2015-compiler "^1.6.0"
"@vue/eslint-config-prettier@^3.0.0-beta.16":
version "3.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-3.0.0-beta.16.tgz#b6575d7238c18559f86a692a2a053625863ebe0d"
dependencies:
eslint-config-prettier "^2.9.0"
eslint-plugin-prettier "^2.6.0"
prettier "^1.12.1"
"@vue/preload-webpack-plugin@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.0.0.tgz#08f156532909824da2aad258e151742d1e8f822e"
"@vue/test-utils@^1.0.0-beta.16":
version "1.0.0-beta.16"
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.16.tgz#dcf7a30304391422e382b5f97db6eb9508112906"
dependencies:
lodash "^4.17.4"
"@vue/web-component-wrapper@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1"
"@webassemblyjs/ast@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25"
dependencies:
"@webassemblyjs/helper-module-context" "1.5.13"
"@webassemblyjs/helper-wasm-bytecode" "1.5.13"
"@webassemblyjs/wast-parser" "1.5.13"
debug "^3.1.0"
mamacro "^0.0.3"
"@webassemblyjs/floating-point-hex-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298"
"@webassemblyjs/helper-api-error@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59"
"@webassemblyjs/helper-buffer@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e"
dependencies:
debug "^3.1.0"
"@webassemblyjs/helper-code-frame@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58"
dependencies:
"@webassemblyjs/wast-printer" "1.5.13"
"@webassemblyjs/helper-fsm@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924"
"@webassemblyjs/helper-module-context@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5"
dependencies:
debug "^3.1.0"
mamacro "^0.0.3"
"@webassemblyjs/helper-wasm-bytecode@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747"
"@webassemblyjs/helper-wasm-section@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/helper-buffer" "1.5.13"
"@webassemblyjs/helper-wasm-bytecode" "1.5.13"
"@webassemblyjs/wasm-gen" "1.5.13"
debug "^3.1.0"
"@webassemblyjs/ieee754@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364"
dependencies:
ieee754 "^1.1.11"
"@webassemblyjs/leb128@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee"
dependencies:
long "4.0.0"
"@webassemblyjs/utf8@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469"
"@webassemblyjs/wasm-edit@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/helper-buffer" "1.5.13"
"@webassemblyjs/helper-wasm-bytecode" "1.5.13"
"@webassemblyjs/helper-wasm-section" "1.5.13"
"@webassemblyjs/wasm-gen" "1.5.13"
"@webassemblyjs/wasm-opt" "1.5.13"
"@webassemblyjs/wasm-parser" "1.5.13"
"@webassemblyjs/wast-printer" "1.5.13"
debug "^3.1.0"
"@webassemblyjs/wasm-gen@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/helper-wasm-bytecode" "1.5.13"
"@webassemblyjs/ieee754" "1.5.13"
"@webassemblyjs/leb128" "1.5.13"
"@webassemblyjs/utf8" "1.5.13"
"@webassemblyjs/wasm-opt@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/helper-buffer" "1.5.13"
"@webassemblyjs/wasm-gen" "1.5.13"
"@webassemblyjs/wasm-parser" "1.5.13"
debug "^3.1.0"
"@webassemblyjs/wasm-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/helper-api-error" "1.5.13"
"@webassemblyjs/helper-wasm-bytecode" "1.5.13"
"@webassemblyjs/ieee754" "1.5.13"
"@webassemblyjs/leb128" "1.5.13"
"@webassemblyjs/utf8" "1.5.13"
"@webassemblyjs/wast-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/floating-point-hex-parser" "1.5.13"
"@webassemblyjs/helper-api-error" "1.5.13"
"@webassemblyjs/helper-code-frame" "1.5.13"
"@webassemblyjs/helper-fsm" "1.5.13"
long "^3.2.0"
mamacro "^0.0.3"
"@webassemblyjs/wast-printer@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95"
dependencies:
"@webassemblyjs/ast" "1.5.13"
"@webassemblyjs/wast-parser" "1.5.13"
long "^3.2.0"
"@webpack-contrib/schema-utils@^1.0.0-beta.0":
version "1.0.0-beta.0"
resolved "https://registry.yarnpkg.com/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz#bf9638c9464d177b48209e84209e23bee2eb4f65"
dependencies:
ajv "^6.1.0"
ajv-keywords "^3.1.0"
chalk "^2.3.2"
strip-ansi "^4.0.0"
text-table "^0.2.0"
webpack-log "^1.1.2"
abab@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
accepts@~1.3.4, accepts@~1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
dependencies:
mime-types "~2.1.18"
negotiator "0.6.1"
acorn-dynamic-import@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
dependencies:
acorn "^5.0.0"
acorn-globals@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
dependencies:
acorn "^5.0.0"
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
dependencies:
acorn "^3.0.4"
acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0, acorn@^5.6.2:
version "5.6.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7"
acorn@^5.7.1:
version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
address@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
ajv-keywords@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
ajv-keywords@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
ajv@^4.9.1:
version "4.11.8"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
dependencies:
co "^4.6.0"
json-stable-stringify "^1.0.1"
ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
co "^4.6.0"
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
ajv@^6.1.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c"
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
uri-js "^4.2.1"
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
repeat-string "^1.5.2"
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
ansi-align@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
dependencies:
string-width "^2.0.0"
ansi-escapes@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
dependencies:
color-convert "^1.9.0"
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
dependencies:
micromatch "^3.1.4"
normalize-path "^2.1.1"
apollo-cache-control@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.1.1.tgz#173d14ceb3eb9e7cb53de7eb8b61bee6159d4171"
dependencies:
graphql-extensions "^0.0.x"
apollo-cache-inmemory@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.2.2.tgz#051b1fec5b3cec1b348bd7ac9c713a72a0bba45b"
dependencies:
apollo-cache "^1.1.9"
apollo-utilities "^1.0.13"
graphql-anywhere "^4.1.11"
apollo-cache@^1.1.9:
version "1.1.9"
resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.1.9.tgz#90426f25c43bc66ae02808af01194d78fd15ea40"
dependencies:
apollo-utilities "^1.0.13"
apollo-client@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.3.2.tgz#0c4c06eba0aedc63d2d988f247a9310cb2152c2e"
dependencies:
"@types/zen-observable" "^0.5.3"
apollo-cache "^1.1.9"
apollo-link "^1.0.0"
apollo-link-dedup "^1.0.0"
apollo-utilities "^1.0.13"
symbol-observable "^1.0.2"
zen-observable "^0.8.0"
optionalDependencies:
"@types/async" "2.0.49"
apollo-engine-binary-darwin@0.2018.4-86-gf35bdc892:
version "0.2018.4-86-gf35bdc892"
resolved "https://registry.yarnpkg.com/apollo-engine-binary-darwin/-/apollo-engine-binary-darwin-0.2018.4-86-gf35bdc892.tgz#f1e4ae4b72afdb298039d0230e38dab8774c8890"
apollo-engine-binary-linux@0.2018.4-86-gf35bdc892:
version "0.2018.4-86-gf35bdc892"
resolved "https://registry.yarnpkg.com/apollo-engine-binary-linux/-/apollo-engine-binary-linux-0.2018.4-86-gf35bdc892.tgz#bc63eee10cb5191d7eb5e61f01d50e28983c89d7"
apollo-engine-binary-windows@0.2018.4-86-gf35bdc892:
version "0.2018.4-86-gf35bdc892"
resolved "https://registry.yarnpkg.com/apollo-engine-binary-windows/-/apollo-engine-binary-windows-0.2018.4-86-gf35bdc892.tgz#1e02f8ceb9f75ab72551f584a4730260907ef199"
apollo-engine@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/apollo-engine/-/apollo-engine-1.1.1.tgz#5e0ea8f1d6d23b5b931cee5404c472893045b201"
dependencies:
"@types/connect" "^3.4.31"
"@types/express" "^4.0.36"
"@types/koa" "^2.0.39"
"@types/koa-bodyparser" "^4.2.0"
"@types/koa-router" "^7.0.27"
"@types/restify" "^5.0.7"
optionalDependencies:
apollo-engine-binary-darwin "0.2018.4-86-gf35bdc892"
apollo-engine-binary-linux "0.2018.4-86-gf35bdc892"
apollo-engine-binary-windows "0.2018.4-86-gf35bdc892"
apollo-link-context@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/apollo-link-context/-/apollo-link-context-1.0.8.tgz#c967a56ac6ed32add748937735bcb57c5cc64c95"
dependencies:
apollo-link "^1.2.2"
apollo-link-dedup@^1.0.0:
version "1.0.9"
resolved "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.9.tgz#3c4e4af88ef027cbddfdb857c043fd0574051dad"
dependencies:
apollo-link "^1.2.2"
apollo-link-http-common@^0.2.3, apollo-link-http-common@^0.2.4:
version "0.2.4"
resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.4.tgz#877603f7904dc8f70242cac61808b1f8d034b2c3"
dependencies:
apollo-link "^1.2.2"
apollo-link-http@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.4.tgz#b80b7b4b342c655b6a5614624b076a36be368f43"
dependencies:
apollo-link "^1.2.2"
apollo-link-http-common "^0.2.4"
apollo-link-persisted-queries@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/apollo-link-persisted-queries/-/apollo-link-persisted-queries-0.2.0.tgz#3f970f1f07caabf050b18d5acc1aa6d058993339"
dependencies:
apollo-link "^1.2.1"
hash.js "^1.1.3"
apollo-link-state@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/apollo-link-state/-/apollo-link-state-0.4.1.tgz#65e9e0e12c67936b8c4b12b8438434f393104579"
dependencies:
apollo-utilities "^1.0.8"
graphql-anywhere "^4.1.0-alpha.0"
apollo-link-ws@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/apollo-link-ws/-/apollo-link-ws-1.0.8.tgz#ac1de8f29e92418728479a9a523af9f75b9ccc8b"
dependencies:
apollo-link "^1.2.2"
apollo-link@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.1.tgz#c120b16059f9bd93401b9f72b94d2f80f3f305d2"
dependencies:
"@types/node" "^9.4.6"
apollo-utilities "^1.0.0"
zen-observable-ts "^0.8.6"
apollo-link@^1.0.0, apollo-link@^1.2.1, apollo-link@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.2.tgz#54c84199b18ac1af8d63553a68ca389c05217a03"
dependencies:
"@types/graphql" "0.12.6"
apollo-utilities "^1.0.0"
zen-observable-ts "^0.8.9"
apollo-server-core@^1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.6.tgz#08636243c2de56fa8c267d68dd602cb1fbd323e3"
dependencies:
apollo-cache-control "^0.1.0"
apollo-tracing "^0.1.0"
graphql-extensions "^0.0.x"
apollo-server-express@^1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.6.tgz#2120b05021a87def44fafd846e8a0e2a32852db7"
dependencies:
apollo-server-core "^1.3.6"
apollo-server-module-graphiql "^1.3.4"
apollo-server-module-graphiql@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.3.4.tgz#50399b7c51b7267d0c841529f5173e5fc7304de4"
apollo-tracing@^0.1.0:
version "0.1.4"
resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.1.4.tgz#5b8ae1b01526b160ee6e552a7f131923a9aedcc7"
dependencies:
graphql-extensions "~0.0.9"
apollo-upload-client@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-8.0.0.tgz#0067f3b426b3828f971964799bc31f8073bd0607"
dependencies:
"@babel/runtime" "^7.0.0-beta.40"
apollo-link-http-common "^0.2.3"
extract-files "^3.1.0"
apollo-upload-server@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-5.0.0.tgz#c953b523608313966e0c8444637f4ae8ef77d5bc"
dependencies:
"@babel/runtime" "^7.0.0-beta.40"
busboy "^0.2.14"
object-path "^0.11.4"
apollo-utilities@^1.0.0, apollo-utilities@^1.0.1, apollo-utilities@^1.0.12, apollo-utilities@^1.0.13, apollo-utilities@^1.0.8:
version "1.0.13"
resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.13.tgz#793c858bb42243f7254d3c2961c64a7158e51022"
append-transform@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
dependencies:
default-require-extensions "^2.0.0"
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
arch@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.0.tgz#3613aa46149064b3c1f0607919bf1d4786e82889"
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
dependencies:
sprintf-js "~1.0.2"
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
dependencies:
arr-flatten "^1.0.1"
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
arr-flatten@^1.0.1, arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
array-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
array-flatten@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296"
array-includes@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
dependencies:
define-properties "^1.1.2"
es-abstract "^1.7.0"
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
array-reduce@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
dependencies:
array-uniq "^1.0.1"
array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
asn1@~0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
assert@^1.1.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
dependencies:
util "0.10.3"
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
async-foreach@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
async@^1.4.0, async@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
async@^2.1.4, async@^2.3.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
dependencies:
lodash "^4.17.10"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
atob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
autoprefixer@^8.6.5:
version "8.6.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9"
dependencies:
browserslist "^3.2.8"
caniuse-lite "^1.0.30000864"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^6.0.23"
postcss-value-parser "^3.2.3"
aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.2.1, aws4@^1.6.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
js-tokens "^3.0.2"
babel-core@7.0.0-bridge.0:
version "7.0.0-bridge.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
babel-core@^6.0.0, babel-core@^6.26.0:
version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
babel-helpers "^6.24.1"
babel-messages "^6.23.0"
babel-register "^6.26.0"
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
convert-source-map "^1.5.1"
debug "^2.6.9"
json5 "^0.5.1"
lodash "^4.17.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
private "^0.1.8"
slash "^1.0.0"
source-map "^0.5.7"
babel-eslint@^8.2.3:
version "8.2.3"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf"
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/traverse" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
eslint-scope "~3.7.1"
eslint-visitor-keys "^1.0.0"
babel-generator@^6.18.0, babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.17.4"
source-map "^0.5.7"
trim-right "^1.0.1"
babel-helper-vue-jsx-merge-props@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-jest@^23.0.1:
version "23.0.1"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.0.1.tgz#bbad3bf523fb202da05ed0a6540b48c84eed13a6"
dependencies:
babel-plugin-istanbul "^4.1.6"
babel-preset-jest "^23.0.1"
babel-loader@^8.0.0-0:
version "8.0.0-beta.3"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.0-beta.3.tgz#49efeea6e8058d5af860a18a6de88b8c1450645b"
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
mkdirp "^0.5.1"
util.promisify "^1.0.0"
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-dynamic-import-node@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz#f91631e703e0595e47d4beafbb088576c87fbeee"
dependencies:
babel-plugin-syntax-dynamic-import "^6.18.0"
babel-plugin-istanbul@^4.1.6:
version "4.1.6"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
dependencies:
babel-plugin-syntax-object-rest-spread "^6.13.0"
find-up "^2.1.0"
istanbul-lib-instrument "^1.10.1"
test-exclude "^4.2.1"
babel-plugin-jest-hoist@^23.0.1:
version "23.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz#eaa11c964563aea9c21becef2bdf7853f7f3c148"
babel-plugin-syntax-dynamic-import@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da"
babel-plugin-syntax-object-rest-spread@^6.13.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
version "6.26.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
dependencies:
babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-types "^6.26.0"
babel-plugin-transform-strict-mode@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
babel-plugin-transform-vue-jsx@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-4.0.1.tgz#2c8bddce87a6ef09eaa59869ff1bfbeeafc5f88d"
dependencies:
esutils "^2.0.2"
babel-preset-jest@^23.0.1:
version "23.0.1"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz#631cc545c6cf021943013bcaf22f45d87fe62198"
dependencies:
babel-plugin-jest-hoist "^23.0.1"
babel-plugin-syntax-object-rest-spread "^6.13.0"
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
core-js "^2.5.0"
home-or-tmp "^2.0.0"
lodash "^4.17.4"
mkdirp "^0.5.1"
source-map-support "^0.4.15"
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
lodash "^4.17.4"
babel-traverse@^6.18.0, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
debug "^2.6.8"
globals "^9.18.0"
invariant "^2.2.2"
lodash "^4.17.4"
babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
babylon@7.0.0-beta.44:
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
babylon@7.0.0-beta.47:
version "7.0.0-beta.47"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80"
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
backo2@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
base64-js@^1.0.2:
version "1.3.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
component-emitter "^1.2.1"
define-property "^1.0.0"
isobject "^3.0.1"
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
batch@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
bcrypt-pbkdf@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
dependencies:
tweetnacl "^0.14.3"
bfj-node4@^5.2.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/bfj-node4/-/bfj-node4-5.3.1.tgz#e23d8b27057f1d0214fc561142ad9db998f26830"
dependencies:
bluebird "^3.5.1"
check-types "^7.3.0"
tryer "^1.0.0"
big.js@^3.1.3:
version "3.2.0"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
binary-extensions@^1.0.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
dependencies:
inherits "~2.0.0"
bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
body-parser@1.18.2:
version "1.18.2"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
dependencies:
bytes "3.0.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.1"
http-errors "~1.6.2"
iconv-lite "0.4.19"
on-finished "~2.3.0"
qs "6.5.1"
raw-body "2.3.2"
type-is "~1.6.15"
body-parser@^1.18.2:
version "1.18.3"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
dependencies:
bytes "3.0.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.2"
http-errors "~1.6.3"
iconv-lite "0.4.23"
on-finished "~2.3.0"
qs "6.5.2"
raw-body "2.3.3"
type-is "~1.6.16"
bonjour@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
dependencies:
array-flatten "^2.1.0"
deep-equal "^1.0.1"
dns-equal "^1.0.0"
dns-txt "^2.0.2"
multicast-dns "^6.0.1"
multicast-dns-service-types "^1.1.0"
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
boom@2.x.x:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
dependencies:
hoek "2.x.x"
boxen@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
dependencies:
ansi-align "^2.0.0"
camelcase "^4.0.0"
chalk "^2.0.1"
cli-boxes "^1.0.0"
string-width "^2.0.0"
term-size "^1.2.0"
widest-line "^2.0.0"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
dependencies:
expand-range "^1.8.1"
preserve "^0.2.0"
repeat-element "^1.1.2"
braces@^2.3.0, braces@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
extend-shallow "^2.0.1"
fill-range "^4.0.0"
isobject "^3.0.1"
repeat-element "^1.1.2"
snapdragon "^0.8.1"
snapdragon-node "^2.0.1"
split-string "^3.0.2"
to-regex "^3.0.1"
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
browser-process-hrtime@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
browser-resolve@^1.11.2:
version "1.11.2"
resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
dependencies:
resolve "1.1.7"
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
create-hash "^1.1.0"
evp_bytestokey "^1.0.3"
inherits "^2.0.1"
safe-buffer "^5.0.1"
browserify-cipher@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
evp_bytestokey "^1.0.0"
browserify-des@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c"
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
inherits "^2.0.1"
browserify-rsa@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
dependencies:
bn.js "^4.1.0"
randombytes "^2.0.1"
browserify-sign@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
dependencies:
bn.js "^4.1.1"
browserify-rsa "^4.0.0"
create-hash "^1.1.0"
create-hmac "^1.1.2"
elliptic "^6.0.0"
inherits "^2.0.1"
parse-asn1 "^5.0.0"
browserify-zlib@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
dependencies:
pako "~1.0.5"
browserslist@^3.0.0, browserslist@^3.2.8:
version "3.2.8"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6"
dependencies:
caniuse-lite "^1.0.30000844"
electron-to-chromium "^1.3.47"
browserslist@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.0.1.tgz#61c05ce2a5843c7d96166408bc23d58b5416e818"
dependencies:
caniuse-lite "^1.0.30000865"
electron-to-chromium "^1.3.52"
node-releases "^1.0.0-alpha.10"
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
dependencies:
node-int64 "^0.4.0"
buffer-from@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
buffer-indexof@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
buffer@^4.3.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
isarray "^1.0.0"
builtin-modules@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
busboy@^0.2.14:
version "0.2.14"
resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
dependencies:
dicer "0.2.5"
readable-stream "1.1.x"
bytes@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
cacache@^10.0.4:
version "10.0.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460"
dependencies:
bluebird "^3.5.1"
chownr "^1.0.1"
glob "^7.1.2"
graceful-fs "^4.1.11"
lru-cache "^4.1.1"
mississippi "^2.0.0"
mkdirp "^0.5.1"
move-concurrently "^1.0.1"
promise-inflight "^1.0.1"
rimraf "^2.6.2"
ssri "^5.2.4"
unique-filename "^1.1.0"
y18n "^4.0.0"
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
get-value "^2.0.6"
has-value "^1.0.0"
isobject "^3.0.1"
set-value "^2.0.0"
to-object-path "^0.3.0"
union-value "^1.0.0"
unset-value "^1.0.0"
cache-loader@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-1.2.2.tgz#6d5c38ded959a09cc5d58190ab5af6f73bd353f5"
dependencies:
loader-utils "^1.1.0"
mkdirp "^0.5.1"
neo-async "^2.5.0"
schema-utils "^0.4.2"
cacheable-request@^2.1.1:
version "2.1.4"
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d"
dependencies:
clone-response "1.0.2"
get-stream "3.0.0"
http-cache-semantics "3.8.1"
keyv "3.0.0"
lowercase-keys "1.0.0"
normalize-url "2.0.1"
responselike "1.0.2"
call-me-maybe@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
caller-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
dependencies:
callsites "^0.2.0"
callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
callsites@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
camel-case@3.0.x:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
dependencies:
no-case "^2.2.0"
upper-case "^1.1.1"
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
dependencies:
camelcase "^2.0.0"
map-obj "^1.0.0"
camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
camelcase@^4.0.0, camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
dependencies:
browserslist "^4.0.0"
caniuse-lite "^1.0.0"
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000864, caniuse-lite@^1.0.30000865:
version "1.0.30000865"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz#70026616e8afe6e1442f8bb4e1092987d81a2f25"
caniuse-lite@^1.0.30000844:
version "1.0.30000851"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000851.tgz#3b498aebf9f92cf6cff4ab54d13b557c0b590533"
capture-exit@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"
dependencies:
rsvp "^3.3.3"
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
case-sensitive-paths-webpack-plugin@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192"
caseless@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"
chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chardet@^0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
charenc@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
check-types@^7.3.0:
version "7.4.0"
resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4"
chokidar@^2.0.0, chokidar@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
braces "^2.3.0"
glob-parent "^3.1.0"
inherits "^2.0.1"
is-binary-path "^1.0.0"
is-glob "^4.0.0"
normalize-path "^2.1.1"
path-is-absolute "^1.0.0"
readdirp "^2.0.0"
upath "^1.0.0"
optionalDependencies:
fsevents "^1.1.2"
chownr@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
chrome-trace-event@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"
dependencies:
tslib "^1.9.0"
ci-info@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
circular-json@^0.3.1:
version "0.3.3"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
isobject "^3.0.0"
static-extend "^0.1.1"
clean-css@4.1.x:
version "4.1.11"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a"
dependencies:
source-map "0.5.x"
cli-boxes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
dependencies:
restore-cursor "^2.0.0"
cli-spinners@^1.0.1, cli-spinners@^1.1.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
clipboardy@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef"
dependencies:
arch "^2.1.0"
execa "^0.8.0"
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
wordwrap "0.0.2"
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
wrap-ansi "^2.0.0"
cliui@^4.0.0, cliui@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
dependencies:
string-width "^2.1.1"
strip-ansi "^4.0.0"
wrap-ansi "^2.0.0"
clone-deep@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713"
dependencies:
for-own "^1.0.0"
is-plain-object "^2.0.4"
kind-of "^6.0.0"
shallow-clone "^1.0.0"
clone-response@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
dependencies:
mimic-response "^1.0.0"
clone@2.x:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
coa@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af"
dependencies:
q "^1.1.2"
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
color-convert@^1.9.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
dependencies:
color-name "^1.1.1"
color-convert@^1.9.1:
version "1.9.2"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
dependencies:
color-name "1.1.1"
color-name@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
color-name@^1.0.0, color-name@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
color-string@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.2.tgz#26e45814bc3c9a7cbd6751648a41434514a773a9"
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a"
dependencies:
color-convert "^1.9.1"
gitextract_x5kofju5/ ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .travis.yml ├── History.md ├── README.md ├── acf-export.json ├── babel.config.js ├── config/ │ └── sample-client.config.json ├── jest.config.js ├── package.json ├── public/ │ └── index.html ├── scripts/ │ ├── serve.js │ └── start.js ├── server.js ├── src/ │ ├── core/ │ │ ├── app.js │ │ ├── graphql/ │ │ │ ├── category.gql │ │ │ ├── menu.gql │ │ │ ├── page.gql │ │ │ ├── post.gql │ │ │ ├── posts.gql │ │ │ └── user.gql │ │ ├── plugin/ │ │ │ └── index.js │ │ ├── router.js │ │ ├── ssr/ │ │ │ ├── entry-client.js │ │ │ └── entry-server.js │ │ ├── vue-apollo.js │ │ └── vuex/ │ │ ├── actions.js │ │ ├── getters.js │ │ └── store.js │ ├── index.template.html │ └── themes/ │ ├── basic/ │ │ ├── App.vue │ │ ├── components/ │ │ │ ├── category/ │ │ │ │ ├── CategoryList.vue │ │ │ │ └── containers/ │ │ │ │ └── CategoryContainer.vue │ │ │ ├── header/ │ │ │ │ └── header.vue │ │ │ ├── icons/ │ │ │ │ └── icons.vue │ │ │ ├── menu/ │ │ │ │ ├── menu.vue │ │ │ │ ├── menuContainer.vue │ │ │ │ └── menuLink.vue │ │ │ ├── page/ │ │ │ │ ├── PageHeader.vue │ │ │ │ ├── layouts/ │ │ │ │ │ ├── DefaultPage.vue │ │ │ │ │ ├── PageWithHeader.vue │ │ │ │ │ ├── PageWithSidebar.vue │ │ │ │ │ └── layouts.js │ │ │ │ └── page.vue │ │ │ └── post/ │ │ │ ├── PostContent.vue │ │ │ ├── PostList.vue │ │ │ ├── PostListItem.vue │ │ │ ├── PostSingle.vue │ │ │ └── containers/ │ │ │ ├── PostContainer.vue │ │ │ └── PostsContainer.vue │ │ ├── routes/ │ │ │ └── index.js │ │ └── styles/ │ │ ├── colors.scss │ │ ├── reset.css │ │ └── typography.css │ └── multi-user/ │ ├── App.vue │ ├── components/ │ │ ├── author/ │ │ │ ├── AuthorSingle.vue │ │ │ └── containers/ │ │ │ └── AuthorContainer.vue │ │ ├── category/ │ │ │ ├── CategoryList.vue │ │ │ └── containers/ │ │ │ └── CategoryContainer.vue │ │ ├── header/ │ │ │ └── header.vue │ │ ├── icons/ │ │ │ └── icons.vue │ │ ├── menu/ │ │ │ ├── menu.vue │ │ │ ├── menuContainer.vue │ │ │ └── menuLink.vue │ │ ├── page/ │ │ │ ├── PageHeader.vue │ │ │ ├── layouts/ │ │ │ │ ├── DefaultPage.vue │ │ │ │ ├── PageWithHeader.vue │ │ │ │ ├── PageWithSidebar.vue │ │ │ │ └── layouts.js │ │ │ └── page.vue │ │ └── post/ │ │ ├── PostContent.vue │ │ ├── PostList.vue │ │ ├── PostListItem.vue │ │ ├── PostSingle.vue │ │ └── containers/ │ │ ├── PostContainer.vue │ │ └── PostsContainer.vue │ ├── routes/ │ │ └── index.js │ └── styles/ │ ├── colors.scss │ ├── reset.css │ └── typography.css ├── tests/ │ └── unit/ │ ├── .eslintrc.js │ └── HelloWorld.spec.js ├── vue.config.js └── yarn-error.log
SYMBOL INDEX (12 symbols across 8 files)
FILE: server.js
function createRenderer (line 12) | function createRenderer(bundle, options) {
FILE: src/core/app.js
function createApp (line 20) | function createApp(context) {
FILE: src/core/plugin/index.js
method install (line 2) | install(Vue, options) {
FILE: src/core/router.js
function createRouter (line 6) | function createRouter(routes) {
FILE: src/core/ssr/entry-client.js
method beforeApp (line 5) | async beforeApp({ router }) {
method afterApp (line 10) | afterApp({ app, store }) {
FILE: src/core/vue-apollo.js
constant AUTH_TOKEN (line 15) | const AUTH_TOKEN = "apollo-token";
function createProvider (line 63) | function createProvider(options = {}) {
function onLogin (line 93) | async function onLogin(apolloClient, token) {
function onLogout (line 105) | async function onLogout(apolloClient) {
FILE: src/core/vuex/store.js
function createStore (line 18) | function createStore() {
FILE: vue.config.js
constant TARGET_NODE (line 10) | const TARGET_NODE = process.env.WEBPACK_TARGET === "node";
Condensed preview — 86 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (485K chars).
[
{
"path": ".editorconfig",
"chars": 147,
"preview": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_"
},
{
"path": ".eslintignore",
"chars": 50,
"preview": "build/*.js\ndist/*.js\nnode_modules/*\n**/lib/*\n*.gql"
},
{
"path": ".eslintrc.js",
"chars": 347,
"preview": "module.exports = {\n root: true,\n env: {\n node: true\n },\n 'extends': [\n 'plugin:vue/essential',\n '@vue/prett"
},
{
"path": ".gitignore",
"chars": 118,
"preview": ".DS_Store\nnode_modules/\ndist/\nnpm-debug.log\n.vscode/\nconfig/client.json\nconfig/development.json\nconfig/production.json"
},
{
"path": ".travis.yml",
"chars": 76,
"preview": "language: node_js\nnode_js:\n - \"6\"\n - \"7\"\nscript: npm run unit --single-run"
},
{
"path": "History.md",
"chars": 581,
"preview": "# V.3.0.0-beta\n\n- Completely replaced build system using Vue CLI 3.0 (beta release)\n\n# V.2.1\n\n- Created a multi-user the"
},
{
"path": "README.md",
"chars": 2989,
"preview": "# WordExpress Starter - Vue (AKA VuePress)\n\n> WordPress development using Vue, GraphQL, and Express.\n\n[Read the Introduc"
},
{
"path": "acf-export.json",
"chars": 4806,
"preview": "[\n {\n \"key\": \"group_5a32cdd1b53f1\",\n \"title\": \"Page Fields\",\n \"fields\": [\n {\n "
},
{
"path": "babel.config.js",
"chars": 46,
"preview": "module.exports = {\n presets: [\"@vue/app\"]\n};\n"
},
{
"path": "config/sample-client.config.json",
"chars": 74,
"preview": "{\n \"wordexpressServerHost\": \"http://localhost:4000\",\n \"theme\": \"basic\"\n}"
},
{
"path": "jest.config.js",
"chars": 464,
"preview": "module.exports = {\n moduleFileExtensions: [\"js\", \"jsx\", \"json\", \"vue\"],\n transform: {\n \"^.+\\\\.vue$\": \"vue-jest\",\n "
},
{
"path": "package.json",
"chars": 2609,
"preview": "{\n \"name\": \"wordexpress-starter-kit-vue\",\n \"version\": \"3.0.0-beta\",\n \"private\": false,\n \"scripts\": {\n \"start\": \"c"
},
{
"path": "public/index.html",
"chars": 557,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n "
},
{
"path": "scripts/serve.js",
"chars": 277,
"preview": "const { spawn } = require(\"child_process\");\nconst serve = spawn(\"npx\", [\"vue-cli-service\", \"serve\"]);\n\nconst log = conso"
},
{
"path": "scripts/start.js",
"chars": 158,
"preview": "const app = require(\"../server\");\n\nconst port = process.env.PORT || 3000;\n\napp.listen(port, () => {\n console.log(`serve"
},
{
"path": "server.js",
"chars": 2226,
"preview": "const fs = require(\"fs\");\nconst path = require(\"path\");\nconst express = require(\"express\");\nvar proxy = require(\"http-pr"
},
{
"path": "src/core/app.js",
"chars": 946,
"preview": "import Vue from \"vue\";\nimport createStore from \"./vuex/store\";\nimport createRouter from \"./router.js\";\nimport { sync } f"
},
{
"path": "src/core/graphql/category.gql",
"chars": 369,
"preview": "query Category($term_id: Int!){\n category(term_id: $term_id){\n name\n slug\n posts{\n id\n post_name\n "
},
{
"path": "src/core/graphql/menu.gql",
"chars": 356,
"preview": "query Menu($menu: String!) {\n menus(name: $menu) {\n items {\n id\n order\n navitem{\n id\n p"
},
{
"path": "src/core/graphql/page.gql",
"chars": 211,
"preview": "query Page($name: String){\n post(name: $name){\n id\n post_title\n post_content\n thumbnail{\n src\n }\n "
},
{
"path": "src/core/graphql/post.gql",
"chars": 325,
"preview": "query Post($name: String) {\n post(name: $name){\n id\n post_name\n post_parent\n post_content\n post_title\n "
},
{
"path": "src/core/graphql/posts.gql",
"chars": 368,
"preview": "query Posts($post_type: [String], $limit: Int, $skip: Int, $order: OrderInput) {\n posts(post_type: $post_type, limit: $"
},
{
"path": "src/core/graphql/user.gql",
"chars": 152,
"preview": "query User($name: String) {\n user(name: $name){\n display_name\n user_email\n posts{\n post_name\n post_t"
},
{
"path": "src/core/plugin/index.js",
"chars": 692,
"preview": "const WordExpressPlugin = {\n install(Vue, options) {\n const { shortcodes, helpers } = options;\n Vue.prototype.$pa"
},
{
"path": "src/core/router.js",
"chars": 206,
"preview": "import Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nexport function createRouter(routes) {\n retu"
},
{
"path": "src/core/ssr/entry-client.js",
"chars": 362,
"preview": "import { loadAsyncComponents } from \"@akryum/vue-cli-plugin-ssr/client\";\nimport { createApp } from \"../app\";\n\ncreateApp("
},
{
"path": "src/core/ssr/entry-server.js",
"chars": 1466,
"preview": "import \"isomorphic-fetch\";\nimport { createApp } from \"../app\";\n\nexport default context => {\n return new Promise(async ("
},
{
"path": "src/core/vue-apollo.js",
"chars": 3064,
"preview": "import Vue from \"vue\";\nimport VueApollo from \"vue-apollo\";\nimport {\n createApolloClient,\n restartWebsockets\n} from \"vu"
},
{
"path": "src/core/vuex/actions.js",
"chars": 98,
"preview": "export const activeMenuName = ({ commit }, name) =>\n commit(\"ACTIVE_MENU_NAME\", { name: name });\n"
},
{
"path": "src/core/vuex/getters.js",
"chars": 67,
"preview": "export const getActiveMenuName = state => state.getActiveMenuName;\n"
},
{
"path": "src/core/vuex/store.js",
"chars": 423,
"preview": "import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport * as actions from \"./actions\";\nimport * as getters from \"./getter"
},
{
"path": "src/index.template.html",
"chars": 673,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width\">\n <"
},
{
"path": "src/themes/basic/App.vue",
"chars": 1399,
"preview": "<template>\n <div id=\"app\">\n <icons/>\n <app-header/>\n <div class=\"main\">\n <transition\n appear\n "
},
{
"path": "src/themes/basic/components/category/CategoryList.vue",
"chars": 1346,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header :page=\"{post_title: category.name}\" />\n <div class=\"page-content\""
},
{
"path": "src/themes/basic/components/category/containers/CategoryContainer.vue",
"chars": 626,
"preview": "<template>\n <category-list v-if=\"category\" :category=\"category\"/>\n</template>\n\n<script>\nimport CategoryQuery from \"core"
},
{
"path": "src/themes/basic/components/header/header.vue",
"chars": 909,
"preview": "<template>\n <header class=\"header\">\n <div class=\"wrapper\">\n <menu-container :menuName=\"'primary-navigation'\">\n "
},
{
"path": "src/themes/basic/components/icons/icons.vue",
"chars": 298,
"preview": "<template>\n <svg style=\"display:none;\">\n <symbol id=\"plus-icon\" viewBox=\"0 0 24 24\">\n <path d=\"M19 13h-6v6h-2v-"
},
{
"path": "src/themes/basic/components/menu/menu.vue",
"chars": 640,
"preview": "<template>\n <ul class=\"menu\">\n <li class=\"item\">\n <router-link :to=\"{name: 'Home'}\">Home</router-link>\n </li"
},
{
"path": "src/themes/basic/components/menu/menuContainer.vue",
"chars": 419,
"preview": "<template>\n <div>\n <slot :items=\"menus.items\">\n </slot>\n </div>\n</template>\n\n<script>\nimport MenuQuery from \"cor"
},
{
"path": "src/themes/basic/components/menu/menuLink.vue",
"chars": 723,
"preview": "<template>\n <a v-if=\"type === 'custom'\" class=\"link\" :href=\"url\">{{link.post_title}}</a>\n <router-link v-else class=\"l"
},
{
"path": "src/themes/basic/components/page/PageHeader.vue",
"chars": 762,
"preview": "<template>\n <div class=\"header\" :style=\"renderHeaderImage()\">\n <div class=\"header-content\">\n <h2 class=\"title\">"
},
{
"path": "src/themes/basic/components/page/layouts/DefaultPage.vue",
"chars": 640,
"preview": "<template>\n <div class=\"wrapper\">\n <div class=\"body\">\n <post-content :content=\"page.post_content\"/> \n </div>"
},
{
"path": "src/themes/basic/components/page/layouts/PageWithHeader.vue",
"chars": 1389,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header :page=\"page\"/>\n <div class=\"body\">\n <post-content :content=\""
},
{
"path": "src/themes/basic/components/page/layouts/PageWithSidebar.vue",
"chars": 1476,
"preview": "<template>\n <div class=\"wrapper\">\n <menu-container class=\"sidebar\" :menuName=\"getSidebarMenuName()\">\n <ul class"
},
{
"path": "src/themes/basic/components/page/layouts/layouts.js",
"chars": 265,
"preview": "import DefaultPage from \"./DefaultPage\";\nimport PageWithHeader from \"./PageWithHeader\";\nimport PageWithSidebar from \"./P"
},
{
"path": "src/themes/basic/components/page/page.vue",
"chars": 1576,
"preview": "<template>\n <div class=\"page\">\n <transition\n appear\n v-on:before-enter=\"beforeEnter\"\n v-on:enter=\"en"
},
{
"path": "src/themes/basic/components/post/PostContent.vue",
"chars": 2562,
"preview": "<template>\n <div class=\"post-content\" v-html=\"$parseContent(content)\"/> \n</template>\n\n<script>\nimport { map } from \"lod"
},
{
"path": "src/themes/basic/components/post/PostList.vue",
"chars": 1387,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header :page=\"{post_title: 'Posts'}\" />\n <div class=\"page-content\">\n "
},
{
"path": "src/themes/basic/components/post/PostListItem.vue",
"chars": 1250,
"preview": "<template>\n <div class=\"post-list-item\">\n <router-link class=\"post-link\" :to=\"{name: 'Post', params: {postname: post"
},
{
"path": "src/themes/basic/components/post/PostSingle.vue",
"chars": 1001,
"preview": "<template>\n <div v-if=\"post.id\">\n <div class=\"post-header\" :style=\"renderHeaderImage()\">\n <h2 class=\"post-title"
},
{
"path": "src/themes/basic/components/post/containers/PostContainer.vue",
"chars": 556,
"preview": "<template>\n <post-single :post=\"post\"/>\n</template>\n\n<script>\nimport PostQuery from \"core/graphql/post.gql\";\nimport Pos"
},
{
"path": "src/themes/basic/components/post/containers/PostsContainer.vue",
"chars": 608,
"preview": "<template>\n <div>\n <slot :posts=\"posts\" :isLoading=\"isLoading\">\n </slot>\n </div>\n</template>\n\n<script>\nimport Po"
},
{
"path": "src/themes/basic/routes/index.js",
"chars": 515,
"preview": "import Page from \"../components/page/page\";\nimport Post from \"../components/post/containers/PostContainer\";\nimport Categ"
},
{
"path": "src/themes/basic/styles/colors.scss",
"chars": 242,
"preview": "$primary-color: #B60FE0;\n$secondary-color: #acf3a7;\n$accent-color: #F53C76;\n$secondary-accent-color: #FF594F;\n$dark-colo"
},
{
"path": "src/themes/basic/styles/reset.css",
"chars": 1051,
"preview": "/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */html, body, div, s"
},
{
"path": "src/themes/basic/styles/typography.css",
"chars": 1365,
"preview": "html {font-size: 1.125em;}\n\nbody {\n font-family: var(--copy-font);\n font-weight: 400;\n line-height: 1.45;\n}\n\nh1, h2, "
},
{
"path": "src/themes/multi-user/App.vue",
"chars": 1399,
"preview": "<template>\n <div id=\"app\">\n <icons/>\n <app-header/>\n <div class=\"main\">\n <transition\n appear\n "
},
{
"path": "src/themes/multi-user/components/author/AuthorSingle.vue",
"chars": 2015,
"preview": "<template>\n <author-container class=\"author-page\">\n <div class=\"author-content\" slot-scope=\"data\" v-if=\"data.author\""
},
{
"path": "src/themes/multi-user/components/author/containers/AuthorContainer.vue",
"chars": 608,
"preview": "<template>\n <div>\n <slot :author=\"user\" :isLoading=\"isLoading\"></slot>\n </div>\n</template>\n\n<script>\nimport UserQue"
},
{
"path": "src/themes/multi-user/components/category/CategoryList.vue",
"chars": 1346,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header :page=\"{post_title: category.name}\" />\n <div class=\"page-content\""
},
{
"path": "src/themes/multi-user/components/category/containers/CategoryContainer.vue",
"chars": 626,
"preview": "<template>\n <category-list v-if=\"category\" :category=\"category\"/>\n</template>\n\n<script>\nimport CategoryQuery from \"core"
},
{
"path": "src/themes/multi-user/components/header/header.vue",
"chars": 909,
"preview": "<template>\n <header class=\"header\">\n <div class=\"wrapper\">\n <menu-container :menuName=\"'primary-navigation'\">\n "
},
{
"path": "src/themes/multi-user/components/icons/icons.vue",
"chars": 298,
"preview": "<template>\n <svg style=\"display:none;\">\n <symbol id=\"plus-icon\" viewBox=\"0 0 24 24\">\n <path d=\"M19 13h-6v6h-2v-"
},
{
"path": "src/themes/multi-user/components/menu/menu.vue",
"chars": 640,
"preview": "<template>\n <ul class=\"menu\">\n <li class=\"item\">\n <router-link :to=\"{name: 'Home'}\">Home</router-link>\n </li"
},
{
"path": "src/themes/multi-user/components/menu/menuContainer.vue",
"chars": 419,
"preview": "<template>\n <div>\n <slot :items=\"menus.items\">\n </slot>\n </div>\n</template>\n\n<script>\nimport MenuQuery from \"cor"
},
{
"path": "src/themes/multi-user/components/menu/menuLink.vue",
"chars": 723,
"preview": "<template>\n <a v-if=\"type === 'custom'\" class=\"link\" :href=\"url\">{{link.post_title}}</a>\n <router-link v-else class=\"l"
},
{
"path": "src/themes/multi-user/components/page/PageHeader.vue",
"chars": 635,
"preview": "<template>\n <div class=\"header\" v-bind:style=\"`backgroundImage: url(${this.image});`\">\n <div class=\"header-content\">"
},
{
"path": "src/themes/multi-user/components/page/layouts/DefaultPage.vue",
"chars": 640,
"preview": "<template>\n <div class=\"wrapper\">\n <div class=\"body\">\n <post-content :content=\"page.post_content\"/> \n </div>"
},
{
"path": "src/themes/multi-user/components/page/layouts/PageWithHeader.vue",
"chars": 1446,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header>\n <span slot=\"title\">{{page.post_title}}</span>\n </page-head"
},
{
"path": "src/themes/multi-user/components/page/layouts/PageWithSidebar.vue",
"chars": 1476,
"preview": "<template>\n <div class=\"wrapper\">\n <menu-container class=\"sidebar\" :menuName=\"getSidebarMenuName()\">\n <ul class"
},
{
"path": "src/themes/multi-user/components/page/layouts/layouts.js",
"chars": 265,
"preview": "import DefaultPage from \"./DefaultPage\";\nimport PageWithHeader from \"./PageWithHeader\";\nimport PageWithSidebar from \"./P"
},
{
"path": "src/themes/multi-user/components/page/page.vue",
"chars": 1633,
"preview": "<template>\n <div class=\"page\">\n <transition\n appear\n v-on:before-enter=\"beforeEnter\"\n v-on:enter=\"en"
},
{
"path": "src/themes/multi-user/components/post/PostContent.vue",
"chars": 2562,
"preview": "<template>\n <div class=\"post-content\" v-html=\"$parseContent(content)\"/> \n</template>\n\n<script>\nimport { map } from \"lod"
},
{
"path": "src/themes/multi-user/components/post/PostList.vue",
"chars": 1431,
"preview": "<template>\n <div class=\"wrapper\">\n <page-header>\n <span slot=\"title\">Posts</span>\n </page-header>\n <div c"
},
{
"path": "src/themes/multi-user/components/post/PostListItem.vue",
"chars": 1519,
"preview": "<template>\n <div class=\"post-list-item\">\n <div class=\"post-body\">\n <router-link class=\"post-link\" :to=\"{name: '"
},
{
"path": "src/themes/multi-user/components/post/PostSingle.vue",
"chars": 1752,
"preview": "<template>\n <div v-if=\"post.id\">\n <div class=\"post-header\" :style=\"renderHeaderImage()\">\n <div class=\"wrapper\">"
},
{
"path": "src/themes/multi-user/components/post/containers/PostContainer.vue",
"chars": 556,
"preview": "<template>\n <post-single :post=\"post\"/>\n</template>\n\n<script>\nimport PostQuery from \"core/graphql/post.gql\";\nimport Pos"
},
{
"path": "src/themes/multi-user/components/post/containers/PostsContainer.vue",
"chars": 665,
"preview": "<template>\n <div>\n <slot :posts=\"posts\" :isLoading=\"isLoading\">\n </slot>\n </div>\n</template>\n\n<script>\nimport Po"
},
{
"path": "src/themes/multi-user/routes/index.js",
"chars": 649,
"preview": "import Page from \"../components/page/page\";\nimport Post from \"../components/post/containers/PostContainer\";\nimport Categ"
},
{
"path": "src/themes/multi-user/styles/colors.scss",
"chars": 242,
"preview": "$primary-color: #B60FE0;\n$secondary-color: #acf3a7;\n$accent-color: #F53C76;\n$secondary-accent-color: #FF594F;\n$dark-colo"
},
{
"path": "src/themes/multi-user/styles/reset.css",
"chars": 1051,
"preview": "/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */html, body, div, s"
},
{
"path": "src/themes/multi-user/styles/typography.css",
"chars": 1365,
"preview": "html {font-size: 1.125em;}\n\nbody {\n font-family: var(--copy-font);\n font-weight: 400;\n line-height: 1.45;\n}\n\nh1, h2, "
},
{
"path": "tests/unit/.eslintrc.js",
"chars": 111,
"preview": "module.exports = {\n env: {\n jest: true\n },\n rules: {\n 'import/no-extraneous-dependencies': 'off'\n }\n}"
},
{
"path": "tests/unit/HelloWorld.spec.js",
"chars": 346,
"preview": "import { shallowMount } from \"@vue/test-utils\";\nimport HelloWorld from \"@/components/HelloWorld.vue\";\n\ndescribe(\"HelloWo"
},
{
"path": "vue.config.js",
"chars": 1702,
"preview": "const VueSSRServerPlugin = require(\"vue-server-renderer/server-plugin\");\nconst VueSSRClientPlugin = require(\"vue-server-"
},
{
"path": "yarn-error.log",
"chars": 373174,
"preview": "Arguments: \n /Users/rlanier/.nvm/versions/node/v10.1.0/bin/node /usr/local/Cellar/yarn/1.7.0/libexec/bin/yarn.js add @v"
}
]
About this extraction
This page contains the full source code of the ramsaylanier/wordexpress-starter-vue GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 86 files (440.0 KB), approximately 175.5k tokens, and a symbol index with 12 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.