chore: change static logic to integrate with broader architecture
This commit is contained in:
parent
2937a37cdb
commit
76c6d18695
@ -23,3 +23,6 @@ packages/*/lib/app
|
|||||||
*.map
|
*.map
|
||||||
*.png
|
*.png
|
||||||
*.snap
|
*.snap
|
||||||
|
*.ttf
|
||||||
|
*.sh
|
||||||
|
*.txt
|
@ -49,9 +49,9 @@
|
|||||||
"regenerator-runtime": "0.11.1",
|
"regenerator-runtime": "0.11.1",
|
||||||
"pify": "3.0.0",
|
"pify": "3.0.0",
|
||||||
"parse-json": "3.0.0",
|
"parse-json": "3.0.0",
|
||||||
|
"graphql": "0.13.0",
|
||||||
"hoist-non-react-statics": "2.5.0",
|
"hoist-non-react-statics": "2.5.0",
|
||||||
"styled-components": "3.2.1",
|
"stylis-rule-sheet": "0.0.10",
|
||||||
"stylis-rule-sheet": "0.0.7",
|
|
||||||
"react": "16.2.0",
|
"react": "16.2.0",
|
||||||
"breeze-nexttick": "0.2.1",
|
"breeze-nexttick": "0.2.1",
|
||||||
"isarray": "1.0.0"
|
"isarray": "1.0.0"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "joyent-icons",
|
"name": "joyent-icons",
|
||||||
"version": "5.0.0",
|
"version": "5.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": "github:yldio/joyent-portal",
|
"repository": "github:yldio/joyent-portal",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"babel-preset-joyent-portal": "^7.0.1",
|
"babel-preset-joyent-portal": "^7.0.1",
|
||||||
"eslint": "^4.18.1",
|
"eslint": "^4.18.1",
|
||||||
"eslint-config-joyent-portal": "^3.3.1",
|
"eslint-config-joyent-portal": "^3.3.1",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"react": "^16.2.0",
|
"react": "^16.2.0",
|
||||||
"redrun": "^5.10.5"
|
"redrun": "^5.10.5"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "joyent-logo-assets",
|
"name": "joyent-logo-assets",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": "github:yldio/joyent-portal",
|
"repository": "github:yldio/joyent-portal",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"execa": "^0.9.0",
|
"execa": "^0.9.0",
|
||||||
"globby": "^8.0.1",
|
"globby": "^8.0.1",
|
||||||
"htmltojsx": "^0.3.0",
|
"htmltojsx": "^0.3.0",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"mz": "^2.7.0",
|
"mz": "^2.7.0",
|
||||||
"prettier": "^1.11.0",
|
"prettier": "^1.11.0",
|
||||||
"react": "^16.2.0",
|
"react": "^16.2.0",
|
||||||
|
@ -1,26 +1,30 @@
|
|||||||
const Inert = require('inert');
|
const Inert = require('inert');
|
||||||
const Path = require('path');
|
const Path = require('path');
|
||||||
const RenderReact = require('hapi-render-react');
|
const RenderReact = require('hapi-render-react');
|
||||||
const Wreck = require('wreck');
|
|
||||||
const Url = require('url');
|
const Url = require('url');
|
||||||
|
const Intercept = require('apr-intercept');
|
||||||
|
const Fs = require('mz/fs');
|
||||||
|
|
||||||
|
const { NAMESPACE = 'images' } = process.env;
|
||||||
|
|
||||||
exports.register = async server => {
|
exports.register = async server => {
|
||||||
|
const relativeTo = Path.join(__dirname, 'app');
|
||||||
|
const buildRoot = Path.join(__dirname, `../build/${NAMESPACE}/static/`);
|
||||||
|
const publicRoot = Path.join(__dirname, `../public/static/`);
|
||||||
|
|
||||||
await server.register([
|
await server.register([
|
||||||
{
|
{
|
||||||
plugin: Inert
|
plugin: Inert
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
plugin: RenderReact,
|
plugin: RenderReact
|
||||||
options: {
|
|
||||||
relativeTo: Path.join(__dirname, 'app')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
server.route([
|
server.route([
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/service-worker.js',
|
path: `/${NAMESPACE}/service-worker.js`,
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false,
|
||||||
handler: {
|
handler: {
|
||||||
@ -32,7 +36,7 @@ exports.register = async server => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/favicon.ico',
|
path: `/${NAMESPACE}/favicon.ico`,
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false,
|
||||||
handler: {
|
handler: {
|
||||||
@ -44,92 +48,42 @@ exports.register = async server => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/font/{pathname*}',
|
path: `/${NAMESPACE}/static/{rest*}`,
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false
|
||||||
|
},
|
||||||
handler: async (request, h) => {
|
handler: async (request, h) => {
|
||||||
const { params } = request;
|
const { params } = request;
|
||||||
const { pathname } = params;
|
const { rest } = params;
|
||||||
|
|
||||||
const location = Url.format({
|
const publicPathname = Path.join(publicRoot, rest);
|
||||||
protocol: 'https:',
|
const buildPathname = Path.join(buildRoot, rest);
|
||||||
slashes: true,
|
|
||||||
host: 'fonts.gstatic.com',
|
|
||||||
pathname
|
|
||||||
});
|
|
||||||
|
|
||||||
const res = await Wreck.request('GET', location);
|
const [err] = await Intercept(
|
||||||
return h.response(res);
|
Fs.access(publicPathname, Fs.constants.R_OK)
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/fonts/css',
|
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: async (request, h) => {
|
|
||||||
const { query, headers } = request;
|
|
||||||
const { family } = query;
|
|
||||||
const { host } = headers;
|
|
||||||
const url = Url.parse(`http://${host}`);
|
|
||||||
|
|
||||||
const location = Url.format({
|
|
||||||
protocol: 'https:',
|
|
||||||
slashes: true,
|
|
||||||
host: 'fonts.googleapis.com',
|
|
||||||
pathname: '/css',
|
|
||||||
query: { family }
|
|
||||||
});
|
|
||||||
|
|
||||||
const res = await Wreck.request('GET', location);
|
|
||||||
const body = await Wreck.read(res);
|
|
||||||
|
|
||||||
const _body = body
|
|
||||||
.toString()
|
|
||||||
.replace(
|
|
||||||
/https:\/\/fonts\.gstatic\.com/g,
|
|
||||||
`http://${url.host}/font`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return h
|
const file = err ? buildPathname : publicPathname;
|
||||||
.response(_body)
|
return h.file(file, { confine: false });
|
||||||
.header('content-type', res.headers['content-type'])
|
|
||||||
.header('expires', res.headers.expires)
|
|
||||||
.header('date', res.headers.date)
|
|
||||||
.header('cache-control', res.headers['cache-control']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: '*',
|
||||||
path: '/static/{path*}',
|
path: `/${NAMESPACE}/~server-error`,
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: {
|
handler: {
|
||||||
directory: {
|
view: {
|
||||||
path: Path.join(__dirname, '../build/static/'),
|
name: 'server-error',
|
||||||
redirectToSlash: true,
|
relativeTo
|
||||||
index: false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: '*',
|
method: '*',
|
||||||
path: '/~server-error',
|
path: `/${NAMESPACE}/{path*}`,
|
||||||
handler: {
|
handler: {
|
||||||
view: {
|
view: {
|
||||||
name: 'server-error'
|
name: 'app',
|
||||||
}
|
relativeTo
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: '*',
|
|
||||||
path: '/{path*}',
|
|
||||||
handler: {
|
|
||||||
view: {
|
|
||||||
name: 'app'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "my-joy-images",
|
"name": "my-joy-images",
|
||||||
"version": "1.1.8",
|
"version": "1.3.6",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": "github:yldio/joyent-portal",
|
"repository": "github:yldio/joyent-portal",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "NODE_ENV=development REACT_APP_GQL_PORT=4000 PORT=3070 joyent-react-scripts start",
|
"dev": "NAMESPACE=images NODE_ENV=development REACT_APP_GQL_PORT=4000 PORT=3070 joyent-react-scripts start",
|
||||||
"build:test": "echo 0",
|
"build:test": "echo 0",
|
||||||
"build:lib": "echo 0",
|
"build:lib": "echo 0",
|
||||||
"build:bundle": "NAMESPACE=images NODE_ENV=production redrun -p build:frontend build:ssr",
|
"build:bundle": "NAMESPACE=images NODE_ENV=production redrun -p build:frontend build:ssr",
|
||||||
@ -25,22 +25,29 @@
|
|||||||
"apollo-client": "^2.2.5",
|
"apollo-client": "^2.2.5",
|
||||||
"apollo-link-http": "^1.5.2",
|
"apollo-link-http": "^1.5.2",
|
||||||
"apr-intercept": "^3.0.3",
|
"apr-intercept": "^3.0.3",
|
||||||
|
"apr-reduce": "^3.0.3",
|
||||||
|
"cross-fetch": "^2.1.0",
|
||||||
"date-fns": "^1.29.0",
|
"date-fns": "^1.29.0",
|
||||||
"declarative-redux-form": "^2.0.8",
|
"declarative-redux-form": "^2.0.8",
|
||||||
|
"exenv": "^1.2.2",
|
||||||
"force-array": "^3.1.0",
|
"force-array": "^3.1.0",
|
||||||
"fuse.js": "^3.2.0",
|
"fuse.js": "^3.2.0",
|
||||||
"hapi-render-react": "^2.2.0",
|
"hapi-render-react": "^2.2.0",
|
||||||
"hapi-render-react-joyent-document": "^5.0.0",
|
"hapi-render-react-joyent-document": "^5.0.0",
|
||||||
"joyent-logo-assets": "^1.0.0",
|
"inert": "^5.1.0",
|
||||||
|
"joyent-logo-assets": "^1.1.0",
|
||||||
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
||||||
"joyent-ui-toolkit": "^5.0.0",
|
"joyent-ui-toolkit": "^6.0.0",
|
||||||
|
"lodash.assign": "^4.2.0",
|
||||||
"lodash.find": "^4.6.0",
|
"lodash.find": "^4.6.0",
|
||||||
"lodash.get": "^4.4.2",
|
"lodash.get": "^4.4.2",
|
||||||
"lodash.isfinite": "^3.3.2",
|
"lodash.isfinite": "^3.3.2",
|
||||||
"lodash.isfunction": "^3.0.9",
|
"lodash.isfunction": "^3.0.9",
|
||||||
|
"lodash.keys": "^4.2.0",
|
||||||
"lodash.omit": "^4.5.0",
|
"lodash.omit": "^4.5.0",
|
||||||
"lodash.uniqby": "^4.7.0",
|
"lodash.uniqby": "^4.7.0",
|
||||||
"lunr": "^2.1.6",
|
"lunr": "^2.1.6",
|
||||||
|
"mz": "^2.7.0",
|
||||||
"param-case": "^2.1.1",
|
"param-case": "^2.1.1",
|
||||||
"react": "^16.2.0",
|
"react": "^16.2.0",
|
||||||
"react-apollo": "^2.0.4",
|
"react-apollo": "^2.0.4",
|
||||||
@ -66,7 +73,7 @@
|
|||||||
"eslint-config-joyent-portal": "^3.3.1",
|
"eslint-config-joyent-portal": "^3.3.1",
|
||||||
"jest-image-snapshot": "^2.3.0",
|
"jest-image-snapshot": "^2.3.0",
|
||||||
"jest-styled-components": "^5.0.0",
|
"jest-styled-components": "^5.0.0",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"react-screenshot-renderer": "^1.1.2",
|
"react-screenshot-renderer": "^1.1.2",
|
||||||
"react-test-renderer": "^16.2.0",
|
"react-test-renderer": "^16.2.0",
|
||||||
"redrun": "^5.10.5"
|
"redrun": "^5.10.5"
|
||||||
|
31
packages/my-joy-images/public/static/css/libre-franklin.css
Normal file
31
packages/my-joy-images/public/static/css/libre-franklin.css
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Libre Franklin'), local('LibreFranklin-Regular'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-regular.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Libre Franklin Medium'), local('LibreFranklin-Medium'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-medium.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
src: local('Libre Franklin SemiBold'), local('LibreFranklin-SemiBold'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-semibold.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Libre Franklin Bold'), local('LibreFranklin-Bold'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-bold.ttf) format('truetype');
|
||||||
|
}
|
15
packages/my-joy-images/public/static/css/roboto-mono.css
Normal file
15
packages/my-joy-images/public/static/css/roboto-mono.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto Mono'), local('RobotoMono-Regular'),
|
||||||
|
url(../fonts/roboto-mono/roboto-mono-regular.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Mono Bold'), local('RobotoMono-Bold'),
|
||||||
|
url(../fonts/roboto-mono/roboto-mono-bold.ttf) format('truetype');
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
93
packages/my-joy-images/public/static/fonts/libre-franklin/license.txt
Executable file
93
packages/my-joy-images/public/static/fonts/libre-franklin/license.txt
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2015, Impallari Type (www.impallari.com)
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
202
packages/my-joy-images/public/static/fonts/roboto-mono/license.txt
Executable file
202
packages/my-joy-images/public/static/fonts/roboto-mono/license.txt
Executable file
@ -0,0 +1,202 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
BIN
packages/my-joy-images/public/static/fonts/roboto-mono/roboto-mono-bold.ttf
Executable file
BIN
packages/my-joy-images/public/static/fonts/roboto-mono/roboto-mono-bold.ttf
Executable file
Binary file not shown.
BIN
packages/my-joy-images/public/static/fonts/roboto-mono/roboto-mono-regular.ttf
Executable file
BIN
packages/my-joy-images/public/static/fonts/roboto-mono/roboto-mono-regular.ttf
Executable file
Binary file not shown.
@ -16,12 +16,23 @@ const getState = request => {
|
|||||||
const _font = get(theme, 'font.href', () => '');
|
const _font = get(theme, 'font.href', () => '');
|
||||||
const _mono = get(theme, 'monoFont.href', () => '');
|
const _mono = get(theme, 'monoFont.href', () => '');
|
||||||
const _addr = url.parse(`http://${req.headers.host}`);
|
const _addr = url.parse(`http://${req.headers.host}`);
|
||||||
|
|
||||||
const _theme = Object.assign({}, theme, {
|
const _theme = Object.assign({}, theme, {
|
||||||
font: Object.assign({}, theme.font, {
|
font: Object.assign({}, theme.font, {
|
||||||
href: () => _font(_addr)
|
href: () =>
|
||||||
|
_font(
|
||||||
|
Object.assign(_addr, {
|
||||||
|
namespace: 'images'
|
||||||
|
})
|
||||||
|
)
|
||||||
}),
|
}),
|
||||||
monoFont: Object.assign({}, theme.monoFont, {
|
monoFont: Object.assign({}, theme.monoFont, {
|
||||||
href: () => _mono(_addr)
|
href: () =>
|
||||||
|
_mono(
|
||||||
|
Object.assign(_addr, {
|
||||||
|
namespace: 'images'
|
||||||
|
})
|
||||||
|
)
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
import React, { Component } from 'react';
|
|
||||||
import scrollToElement from 'scroll-to-element';
|
|
||||||
|
|
||||||
function slideDown(el) {
|
|
||||||
const { style } = el;
|
|
||||||
const INITIAL = 'initial';
|
|
||||||
const HIDDEN = 'hidden';
|
|
||||||
|
|
||||||
// Get element height
|
|
||||||
style.transition = INITIAL;
|
|
||||||
style.visibility = HIDDEN;
|
|
||||||
style.maxHeight = INITIAL;
|
|
||||||
const offsetHeight = el.offsetHeight;
|
|
||||||
const height = offsetHeight + 'px';
|
|
||||||
style.removeProperty('visibility');
|
|
||||||
style.maxHeight = '0';
|
|
||||||
style.overflow = HIDDEN;
|
|
||||||
|
|
||||||
const timing = `${parseInt(height, 10) * 1.9}ms linear`;
|
|
||||||
|
|
||||||
// Begin transition
|
|
||||||
style.transition = `max-height ${timing}, opacity ${timing}`;
|
|
||||||
requestAnimationFrame(() => {
|
|
||||||
style.maxHeight = height;
|
|
||||||
style.opacity = '1';
|
|
||||||
});
|
|
||||||
|
|
||||||
window.setTimeout(() => {
|
|
||||||
style.removeProperty('overflow');
|
|
||||||
style.removeProperty('max-height');
|
|
||||||
}, 300);
|
|
||||||
}
|
|
||||||
|
|
||||||
const Animated = WrappedComponent =>
|
|
||||||
class Animated extends Component {
|
|
||||||
componentDidUpdate() {
|
|
||||||
const { match, step } = this.props;
|
|
||||||
if (match.params.step === step) {
|
|
||||||
slideDown(this.wrapper);
|
|
||||||
scrollToElement(this.wrapper, {
|
|
||||||
offset: -50
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
shouldComponentUpdate = nextProps =>
|
|
||||||
this.props.match.params.step !== nextProps.match.params.step;
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
ref={w => {
|
|
||||||
this.wrapper = w;
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<WrappedComponent {...this.props} />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Animated;
|
|
@ -11,7 +11,6 @@ import intercept from 'apr-intercept';
|
|||||||
import get from 'lodash.get';
|
import get from 'lodash.get';
|
||||||
import uniqBy from 'lodash.uniqby';
|
import uniqBy from 'lodash.uniqby';
|
||||||
import omit from 'lodash.omit';
|
import omit from 'lodash.omit';
|
||||||
import find from 'lodash.find';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ViewContainer,
|
ViewContainer,
|
||||||
|
@ -103,9 +103,9 @@ export default compose(
|
|||||||
ssr: false,
|
ssr: false,
|
||||||
pollInterval: 1000
|
pollInterval: 1000
|
||||||
}),
|
}),
|
||||||
props: ({ data: { images, loading, error, refetch } }) => ({
|
props: ({ data: { images = [], loading, error, refetch } }) => ({
|
||||||
images,
|
images: images || [],
|
||||||
index: new Fuse(images, {
|
index: new Fuse(images || [], {
|
||||||
keys: ['name', 'os', 'version', 'state', 'type']
|
keys: ['name', 'os', 'version', 'state', 'type']
|
||||||
}),
|
}),
|
||||||
loading,
|
loading,
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
import React, { Fragment } from 'react';
|
import React, { Fragment } from 'react';
|
||||||
import { compose, graphql } from 'react-apollo';
|
import { compose, graphql } from 'react-apollo';
|
||||||
import { Margin } from 'styled-components-spacing';
|
import { Margin } from 'styled-components-spacing';
|
||||||
import find from 'lodash.find';
|
|
||||||
import get from 'lodash.get';
|
|
||||||
import remcalc from 'remcalc';
|
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import intercept from 'apr-intercept';
|
import intercept from 'apr-intercept';
|
||||||
import { set } from 'react-redux-values';
|
import { set } from 'react-redux-values';
|
||||||
|
import get from 'lodash.get';
|
||||||
|
import remcalc from 'remcalc';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ViewContainer,
|
ViewContainer,
|
||||||
|
@ -6,7 +6,6 @@ import ReduxForm from 'declarative-redux-form';
|
|||||||
import { destroy } from 'redux-form';
|
import { destroy } from 'redux-form';
|
||||||
import { set } from 'react-redux-values';
|
import { set } from 'react-redux-values';
|
||||||
import intercept from 'apr-intercept';
|
import intercept from 'apr-intercept';
|
||||||
import find from 'lodash.find';
|
|
||||||
import get from 'lodash.get';
|
import get from 'lodash.get';
|
||||||
import remcalc from 'remcalc';
|
import remcalc from 'remcalc';
|
||||||
import Fuse from 'fuse.js';
|
import Fuse from 'fuse.js';
|
||||||
@ -133,7 +132,7 @@ export default compose(
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
props: ({ data }) => {
|
props: ({ data }) => {
|
||||||
const { loading = false, error = null, image, refetch, ...rest } = data;
|
const { loading = false, error = null, image, refetch } = data;
|
||||||
|
|
||||||
const tags = get(image || {}, 'tags', []);
|
const tags = get(image || {}, 'tags', []);
|
||||||
const index = new Fuse(tags, {
|
const index = new Fuse(tags, {
|
||||||
|
@ -7,8 +7,7 @@ import { BrowserRouter } from 'react-router-dom';
|
|||||||
import isFunction from 'lodash.isfunction';
|
import isFunction from 'lodash.isfunction';
|
||||||
import isFinite from 'lodash.isfinite';
|
import isFinite from 'lodash.isfinite';
|
||||||
|
|
||||||
import { theme } from 'joyent-ui-toolkit';
|
import theme from '@state/theme';
|
||||||
|
|
||||||
import createStore from '@state/redux-store';
|
import createStore from '@state/redux-store';
|
||||||
import createClient from '@state/apollo-client';
|
import createClient from '@state/apollo-client';
|
||||||
import App from './app';
|
import App from './app';
|
||||||
|
@ -68,6 +68,8 @@ export default () => (
|
|||||||
|
|
||||||
<Route path="/images/~server-error" component={ServerError} />
|
<Route path="/images/~server-error" component={ServerError} />
|
||||||
|
|
||||||
|
<Route path="/" exact component={() => <Redirect to="/images" />} />
|
||||||
|
|
||||||
<noscript>
|
<noscript>
|
||||||
<ViewContainer main>
|
<ViewContainer main>
|
||||||
<Message warning>
|
<Message warning>
|
||||||
|
21
packages/my-joy-images/src/state/theme.js
Normal file
21
packages/my-joy-images/src/state/theme.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { theme } from 'joyent-ui-toolkit';
|
||||||
|
|
||||||
|
const font = theme.font.href({
|
||||||
|
namespace: 'images'
|
||||||
|
});
|
||||||
|
|
||||||
|
const monoFont = theme.monoFont.href({
|
||||||
|
namespace: 'images'
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
...theme,
|
||||||
|
font: {
|
||||||
|
...theme.font,
|
||||||
|
href: () => font
|
||||||
|
},
|
||||||
|
monoFont: {
|
||||||
|
...theme.monoFont,
|
||||||
|
href: () => monoFont
|
||||||
|
}
|
||||||
|
};
|
@ -1,17 +1,17 @@
|
|||||||
const Inert = require('inert');
|
const Inert = require('inert');
|
||||||
const resolvePkg = require('resolve-pkg');
|
|
||||||
const Path = require('path');
|
const Path = require('path');
|
||||||
const RenderReact = require('hapi-render-react');
|
const RenderReact = require('hapi-render-react');
|
||||||
const Wreck = require('wreck');
|
const Wreck = require('wreck');
|
||||||
const Url = require('url');
|
const Url = require('url');
|
||||||
|
const Intercept = require('apr-intercept');
|
||||||
|
const Fs = require('mz/fs');
|
||||||
|
|
||||||
const ImagesRoot = resolvePkg('my-joy-images', {
|
const { NAMESPACE = 'instances' } = process.env;
|
||||||
cwd: __dirname
|
|
||||||
});
|
|
||||||
|
|
||||||
exports.register = async server => {
|
exports.register = async server => {
|
||||||
const InstancesRelativeTo = Path.join(__dirname, 'app');
|
const relativeTo = Path.join(__dirname, 'app');
|
||||||
const ImagesRelativeTo = Path.join(ImagesRoot, 'lib/app');
|
const buildRoot = Path.join(__dirname, `../build/${NAMESPACE}/static/`);
|
||||||
|
const publicRoot = Path.join(__dirname, `../public/static/`);
|
||||||
|
|
||||||
await server.register([
|
await server.register([
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ exports.register = async server => {
|
|||||||
server.route([
|
server.route([
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/instances/service-worker.js',
|
path: `/${NAMESPACE}/service-worker.js`,
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false,
|
||||||
handler: {
|
handler: {
|
||||||
@ -37,19 +37,7 @@ exports.register = async server => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/images/service-worker.js',
|
path: `/${NAMESPACE}/favicon.ico`,
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: {
|
|
||||||
file: {
|
|
||||||
path: Path.join(ImagesRoot, 'build/service-worker.js')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/instances/favicon.ico',
|
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false,
|
||||||
handler: {
|
handler: {
|
||||||
@ -61,140 +49,42 @@ exports.register = async server => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
path: '/images/favicon.ico',
|
path: `/${NAMESPACE}/static/{rest*}`,
|
||||||
config: {
|
config: {
|
||||||
auth: false,
|
auth: false
|
||||||
handler: {
|
|
||||||
file: {
|
|
||||||
path: Path.join(ImagesRoot, 'build/favicon.ico')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/font/{pathname*}',
|
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: async (request, h) => {
|
handler: async (request, h) => {
|
||||||
const { params } = request;
|
const { params } = request;
|
||||||
const { pathname } = params;
|
const { rest } = params;
|
||||||
|
|
||||||
const location = Url.format({
|
const publicPathname = Path.join(publicRoot, rest);
|
||||||
protocol: 'https:',
|
const buildPathname = Path.join(buildRoot, rest);
|
||||||
slashes: true,
|
|
||||||
host: 'fonts.gstatic.com',
|
|
||||||
pathname
|
|
||||||
});
|
|
||||||
|
|
||||||
const res = await Wreck.request('GET', location);
|
const [err] = await Intercept(
|
||||||
return h.response(res);
|
Fs.access(publicPathname, Fs.constants.R_OK)
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/fonts/css',
|
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: async (request, h) => {
|
|
||||||
const { query, headers } = request;
|
|
||||||
const { family } = query;
|
|
||||||
const { host } = headers;
|
|
||||||
const url = Url.parse(`http://${host}`);
|
|
||||||
|
|
||||||
const location = Url.format({
|
|
||||||
protocol: 'https:',
|
|
||||||
slashes: true,
|
|
||||||
host: 'fonts.googleapis.com',
|
|
||||||
pathname: '/css',
|
|
||||||
query: { family }
|
|
||||||
});
|
|
||||||
|
|
||||||
const res = await Wreck.request('GET', location);
|
|
||||||
const body = await Wreck.read(res);
|
|
||||||
|
|
||||||
const _body = body
|
|
||||||
.toString()
|
|
||||||
.replace(
|
|
||||||
/https:\/\/fonts\.gstatic\.com/g,
|
|
||||||
`http://${url.host}/font`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return h
|
const file = err ? buildPathname : publicPathname;
|
||||||
.response(_body)
|
return h.file(file, { confine: false });
|
||||||
.header('content-type', res.headers['content-type'])
|
|
||||||
.header('expires', res.headers.expires)
|
|
||||||
.header('date', res.headers.date)
|
|
||||||
.header('cache-control', res.headers['cache-control']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/instances/static/{path*}',
|
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: {
|
|
||||||
directory: {
|
|
||||||
path: Path.join(__dirname, '../build/instances/static/'),
|
|
||||||
redirectToSlash: true,
|
|
||||||
index: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: 'GET',
|
|
||||||
path: '/images/static/{path*}',
|
|
||||||
config: {
|
|
||||||
auth: false,
|
|
||||||
handler: {
|
|
||||||
directory: {
|
|
||||||
path: Path.join(ImagesRoot, 'build/images/static/'),
|
|
||||||
redirectToSlash: true,
|
|
||||||
index: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: '*',
|
method: '*',
|
||||||
path: '/instances/~server-error',
|
path: `/${NAMESPACE}/~server-error`,
|
||||||
handler: {
|
handler: {
|
||||||
view: {
|
view: {
|
||||||
name: 'server-error',
|
name: 'server-error',
|
||||||
relativeTo: InstancesRelativeTo
|
relativeTo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
method: '*',
|
method: '*',
|
||||||
path: '/images/~server-error',
|
path: `/${NAMESPACE}/{path*}`,
|
||||||
handler: {
|
|
||||||
view: {
|
|
||||||
name: 'server-error',
|
|
||||||
relativeTo: ImagesRelativeTo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: '*',
|
|
||||||
path: '/images/{path*}',
|
|
||||||
handler: {
|
handler: {
|
||||||
view: {
|
view: {
|
||||||
name: 'app',
|
name: 'app',
|
||||||
relativeTo: ImagesRelativeTo
|
relativeTo
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
method: '*',
|
|
||||||
path: '/{path*}',
|
|
||||||
handler: {
|
|
||||||
view: {
|
|
||||||
name: 'app',
|
|
||||||
relativeTo: InstancesRelativeTo
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "my-joy-instances",
|
"name": "my-joy-instances",
|
||||||
"version": "2.1.9",
|
"version": "2.2.6",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": "github:yldio/joyent-portal",
|
"repository": "github:yldio/joyent-portal",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "NODE_ENV=development REACT_APP_GQL_PORT=4000 PORT=3069 joyent-react-scripts start",
|
"dev": "NAMESPACE=instances NODE_ENV=development REACT_APP_GQL_PORT=4000 PORT=3069 joyent-react-scripts start",
|
||||||
"build:test": "echo 0",
|
"build:test": "echo 0",
|
||||||
"build:lib": "echo 0",
|
"build:lib": "echo 0",
|
||||||
"build:bundle": "NAMESPACE=instances NODE_ENV=production redrun -p build:frontend build:ssr",
|
"build:bundle": "NAMESPACE=instances NODE_ENV=production redrun -p build:frontend build:ssr",
|
||||||
@ -34,10 +34,10 @@
|
|||||||
"hapi-render-react": "^2.2.0",
|
"hapi-render-react": "^2.2.0",
|
||||||
"hapi-render-react-joyent-document": "^5.0.0",
|
"hapi-render-react-joyent-document": "^5.0.0",
|
||||||
"inert": "^5.1.0",
|
"inert": "^5.1.0",
|
||||||
"joyent-logo-assets": "^1.0.0",
|
"joyent-logo-assets": "^1.1.0",
|
||||||
"joyent-manifest-editor": "^1.4.0",
|
"joyent-manifest-editor": "^1.4.0",
|
||||||
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
||||||
"joyent-ui-toolkit": "^5.0.0",
|
"joyent-ui-toolkit": "^6.0.0",
|
||||||
"lodash.find": "^4.6.0",
|
"lodash.find": "^4.6.0",
|
||||||
"lodash.findindex": "^4.6.0",
|
"lodash.findindex": "^4.6.0",
|
||||||
"lodash.flatten": "^4.4.0",
|
"lodash.flatten": "^4.4.0",
|
||||||
@ -70,7 +70,6 @@
|
|||||||
"redux": "^3.7.2",
|
"redux": "^3.7.2",
|
||||||
"redux-form": "^7.2.3",
|
"redux-form": "^7.2.3",
|
||||||
"remcalc": "^1.0.10",
|
"remcalc": "^1.0.10",
|
||||||
"resolve-pkg": "^1.0.0",
|
|
||||||
"styled-components": "^3.2.1",
|
"styled-components": "^3.2.1",
|
||||||
"styled-components-spacing": "^2.1.3",
|
"styled-components-spacing": "^2.1.3",
|
||||||
"styled-flex-component": "^2.2.1",
|
"styled-flex-component": "^2.2.1",
|
||||||
@ -84,7 +83,7 @@
|
|||||||
"eslint-config-joyent-portal": "^3.3.1",
|
"eslint-config-joyent-portal": "^3.3.1",
|
||||||
"jest-image-snapshot": "^2.3.0",
|
"jest-image-snapshot": "^2.3.0",
|
||||||
"jest-styled-components": "^5.0.0",
|
"jest-styled-components": "^5.0.0",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"react-screenshot-renderer": "^1.1.2",
|
"react-screenshot-renderer": "^1.1.2",
|
||||||
"react-test-renderer": "^16.2.0",
|
"react-test-renderer": "^16.2.0",
|
||||||
"redrun": "^5.10.5"
|
"redrun": "^5.10.5"
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Libre Franklin'), local('LibreFranklin-Regular'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-regular.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local('Libre Franklin Medium'), local('LibreFranklin-Medium'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-medium.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
src: local('Libre Franklin SemiBold'), local('LibreFranklin-SemiBold'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-semibold.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Libre Franklin';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Libre Franklin Bold'), local('LibreFranklin-Bold'),
|
||||||
|
url(../fonts/libre-franklin/libre-franklin-bold.ttf) format('truetype');
|
||||||
|
}
|
15
packages/my-joy-instances/public/static/css/roboto-mono.css
Normal file
15
packages/my-joy-instances/public/static/css/roboto-mono.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto Mono'), local('RobotoMono-Regular'),
|
||||||
|
url(../fonts/roboto-mono/roboto-mono-regular.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Roboto Mono Bold'), local('RobotoMono-Bold'),
|
||||||
|
url(../fonts/roboto-mono/roboto-mono-bold.ttf) format('truetype');
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
93
packages/my-joy-instances/public/static/fonts/libre-franklin/license.txt
Executable file
93
packages/my-joy-instances/public/static/fonts/libre-franklin/license.txt
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2015, Impallari Type (www.impallari.com)
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
202
packages/my-joy-instances/public/static/fonts/roboto-mono/license.txt
Executable file
202
packages/my-joy-instances/public/static/fonts/roboto-mono/license.txt
Executable file
@ -0,0 +1,202 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
BIN
packages/my-joy-instances/public/static/fonts/roboto-mono/roboto-mono-bold.ttf
Executable file
BIN
packages/my-joy-instances/public/static/fonts/roboto-mono/roboto-mono-bold.ttf
Executable file
Binary file not shown.
Binary file not shown.
@ -16,12 +16,23 @@ const getState = request => {
|
|||||||
const _font = get(theme, 'font.href', () => '');
|
const _font = get(theme, 'font.href', () => '');
|
||||||
const _mono = get(theme, 'monoFont.href', () => '');
|
const _mono = get(theme, 'monoFont.href', () => '');
|
||||||
const _addr = url.parse(`http://${req.headers.host}`);
|
const _addr = url.parse(`http://${req.headers.host}`);
|
||||||
|
|
||||||
const _theme = Object.assign({}, theme, {
|
const _theme = Object.assign({}, theme, {
|
||||||
font: Object.assign({}, theme.font, {
|
font: Object.assign({}, theme.font, {
|
||||||
href: () => _font(_addr)
|
href: () =>
|
||||||
|
_font(
|
||||||
|
Object.assign(_addr, {
|
||||||
|
namespace: 'instances'
|
||||||
|
})
|
||||||
|
)
|
||||||
}),
|
}),
|
||||||
monoFont: Object.assign({}, theme.monoFont, {
|
monoFont: Object.assign({}, theme.monoFont, {
|
||||||
href: () => _mono(_addr)
|
href: () =>
|
||||||
|
_mono(
|
||||||
|
Object.assign(_addr, {
|
||||||
|
namespace: 'instances'
|
||||||
|
})
|
||||||
|
)
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -333,73 +333,17 @@ exports[`renders <Summary loading /> without throwing 1`] = `
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`renders <Summary loadingError /> without throwing 1`] = `
|
exports[`renders <Summary loadingError /> without throwing 1`] = `
|
||||||
.c2 {
|
.c1 {
|
||||||
fill: rgb(59,70,204);
|
margin-bottom: 1.5rem;
|
||||||
stroke: rgb(59,70,204);
|
|
||||||
-webkit-animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.c3 {
|
.c6 {
|
||||||
fill: rgb(59,70,204);
|
|
||||||
stroke: rgb(59,70,204);
|
|
||||||
-webkit-animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
-webkit-animation-delay: 0.5s;
|
|
||||||
animation-delay: 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.c4 {
|
|
||||||
fill: rgb(59,70,204);
|
|
||||||
stroke: rgb(59,70,204);
|
|
||||||
-webkit-animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
animation: iCqDak 1.5s ease-out 0s infinite;
|
|
||||||
-webkit-animation-delay: 1s;
|
|
||||||
animation-delay: 1s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.c5 {
|
|
||||||
color: rgb(73,73,73);
|
color: rgb(73,73,73);
|
||||||
line-height: 1.5rem;
|
line-height: 1.5rem;
|
||||||
font-size: 0.9375rem;
|
font-size: 0.9375rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
-webkit-flex: 0 0 auto;
|
line-height: 0.875rem;
|
||||||
-ms-flex: 0 0 auto;
|
font-size: 0.8125rem;
|
||||||
flex: 0 0 auto;
|
|
||||||
-webkit-align-self: stretch;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch;
|
|
||||||
text-align: center;
|
|
||||||
margin-bottom: 0;
|
|
||||||
margin-left: 0.375rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.c1 {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-flex-direction: column;
|
|
||||||
-ms-flex-direction: column;
|
|
||||||
flex-direction: column;
|
|
||||||
-webkit-flex-wrap: nowrap;
|
|
||||||
-ms-flex-wrap: nowrap;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-webkit-justify-content: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
-webkit-align-content: center;
|
|
||||||
-ms-flex-line-pack: center;
|
|
||||||
align-content: center;
|
|
||||||
-webkit-align-items: center;
|
|
||||||
-webkit-box-align: center;
|
|
||||||
-ms-flex-align: center;
|
|
||||||
align-items: center;
|
|
||||||
min-height: 1.25rem;
|
|
||||||
-webkit-flex: 1 0 auto;
|
|
||||||
-ms-flex: 1 0 auto;
|
|
||||||
flex: 1 0 auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.c0 {
|
.c0 {
|
||||||
@ -409,27 +353,40 @@ exports[`renders <Summary loadingError /> without throwing 1`] = `
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 62.5rem;
|
max-width: 62.5rem;
|
||||||
padding-bottom: 1.125rem;
|
padding-bottom: 1.125rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.c5 {
|
||||||
|
color: rgb(73,73,73);
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 1.5rem;
|
||||||
|
font-size: 0.9375rem;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.c2 {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
display: -webkit-flex;
|
display: -webkit-flex;
|
||||||
display: -ms-flexbox;
|
display: -ms-flexbox;
|
||||||
display: flex;
|
display: flex;
|
||||||
-webkit-flex-direction: column;
|
position: relative;
|
||||||
-ms-flex-direction: column;
|
background-color: rgb(255,255,255);
|
||||||
flex-direction: column;
|
box-shadow: 0 0.125rem 0 0 rgba(0,0,0,0.05);
|
||||||
-webkit-flex-wrap: nowrap;
|
border: 0.0625rem solid rgb(216,216,216);
|
||||||
-ms-flex-wrap: nowrap;
|
border-radius: 0.1875rem;
|
||||||
flex-wrap: nowrap;
|
width: 100%;
|
||||||
-webkit-box-pack: center;
|
}
|
||||||
-webkit-justify-content: center;
|
|
||||||
-ms-flex-pack: center;
|
.c3 {
|
||||||
justify-content: center;
|
border-radius: 0.1875rem 0 0 0.1875rem;
|
||||||
-webkit-align-content: center;
|
margin: -0.0625rem 0 -0.0625rem -0.0625rem;
|
||||||
-ms-flex-line-pack: center;
|
min-width: 0.75rem;
|
||||||
align-content: center;
|
min-height: 100%;
|
||||||
-webkit-align-items: center;
|
background-color: rgb(0,152,88);
|
||||||
-webkit-box-align: center;
|
background-color: rgb(210,67,58);
|
||||||
-ms-flex-align: center;
|
}
|
||||||
align-items: center;
|
|
||||||
|
.c4 {
|
||||||
|
padding: 1.125rem 1.125rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width:48em) {
|
@media only screen and (min-width:48em) {
|
||||||
@ -463,39 +420,29 @@ exports[`renders <Summary loadingError /> without throwing 1`] = `
|
|||||||
<div
|
<div
|
||||||
className="c1"
|
className="c1"
|
||||||
>
|
>
|
||||||
<svg
|
<div
|
||||||
height="10"
|
|
||||||
width="28"
|
|
||||||
>
|
|
||||||
<rect
|
|
||||||
className="c2"
|
className="c2"
|
||||||
height="6"
|
>
|
||||||
width="6"
|
<div
|
||||||
x="2"
|
|
||||||
y="2"
|
|
||||||
/>
|
|
||||||
<rect
|
|
||||||
className="c3"
|
className="c3"
|
||||||
height="6"
|
|
||||||
width="6"
|
|
||||||
x="11"
|
|
||||||
y="2"
|
|
||||||
/>
|
/>
|
||||||
<rect
|
<div
|
||||||
className="c4"
|
className="c4"
|
||||||
height="6"
|
>
|
||||||
width="6"
|
<h4
|
||||||
x="20"
|
|
||||||
y="2"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
<p
|
|
||||||
className="c5"
|
className="c5"
|
||||||
>
|
>
|
||||||
Loading...
|
Ooops!
|
||||||
|
</h4>
|
||||||
|
<p
|
||||||
|
className="c6"
|
||||||
|
>
|
||||||
|
An error occurred while loading your instance summary
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`renders <Summary mutationError /> without throwing 1`] = `
|
exports[`renders <Summary mutationError /> without throwing 1`] = `
|
||||||
|
@ -10,6 +10,7 @@ import queryString from 'query-string';
|
|||||||
import intercept from 'apr-intercept';
|
import intercept from 'apr-intercept';
|
||||||
import get from 'lodash.get';
|
import get from 'lodash.get';
|
||||||
import find from 'lodash.find';
|
import find from 'lodash.find';
|
||||||
|
import isInteger from 'lodash.isinteger';
|
||||||
import isNaN from 'lodash.isnan';
|
import isNaN from 'lodash.isnan';
|
||||||
import reverse from 'lodash.reverse';
|
import reverse from 'lodash.reverse';
|
||||||
import sort from 'lodash.sortby';
|
import sort from 'lodash.sortby';
|
||||||
@ -200,12 +201,16 @@ export default compose(
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
props: ({ data: { loading, error, refetch, variables, ...rest } }) => {
|
props: ({ data: { loading, error, refetch, variables, ...rest } }) => {
|
||||||
const result = get(rest, 'machines', {});
|
const result = get(rest, 'machines', {}) || {};
|
||||||
const machines = get(result, 'results', []);
|
const machines = get(result, 'results', []);
|
||||||
const offset = Number(variables.offset);
|
const offset = Number(variables.offset);
|
||||||
const limit = Number(variables.limit);
|
const limit = Number(variables.limit);
|
||||||
|
|
||||||
const fetching = !(limit === result.limit && offset === result.offset);
|
const fetching =
|
||||||
|
!error &&
|
||||||
|
isInteger(result.limit) &&
|
||||||
|
isInteger(result.offset) &&
|
||||||
|
!(limit === result.limit && offset === result.offset);
|
||||||
|
|
||||||
const instances = forceArray(machines).map(({ state, ...machine }) => ({
|
const instances = forceArray(machines).map(({ state, ...machine }) => ({
|
||||||
...machine,
|
...machine,
|
||||||
|
@ -37,7 +37,9 @@ export const Summary = ({
|
|||||||
rebooting,
|
rebooting,
|
||||||
removing
|
removing
|
||||||
}) => {
|
}) => {
|
||||||
const _loading = loading || !instance ? <StatusLoader /> : null;
|
const _loading =
|
||||||
|
loading || (!instance && !loadingError) ? <StatusLoader /> : null;
|
||||||
|
|
||||||
const _summary = !_loading &&
|
const _summary = !_loading &&
|
||||||
instance && (
|
instance && (
|
||||||
<SummaryScreen
|
<SummaryScreen
|
||||||
|
21
packages/my-joy-instances/src/state/theme.js
Normal file
21
packages/my-joy-instances/src/state/theme.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { theme } from 'joyent-ui-toolkit';
|
||||||
|
|
||||||
|
const font = theme.font.href({
|
||||||
|
namespace: 'instances'
|
||||||
|
});
|
||||||
|
|
||||||
|
const monoFont = theme.monoFont.href({
|
||||||
|
namespace: 'instances'
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
...theme,
|
||||||
|
font: {
|
||||||
|
...theme.font,
|
||||||
|
href: () => font
|
||||||
|
},
|
||||||
|
monoFont: {
|
||||||
|
...theme.monoFont,
|
||||||
|
href: () => monoFont
|
||||||
|
}
|
||||||
|
};
|
@ -26,8 +26,8 @@
|
|||||||
"emotion-theming": "^8.0.12",
|
"emotion-theming": "^8.0.12",
|
||||||
"graphql-tag": "^2.8.0",
|
"graphql-tag": "^2.8.0",
|
||||||
"inert": "^5.1.0",
|
"inert": "^5.1.0",
|
||||||
"joyent-icons": "^5.0.0",
|
"joyent-icons": "^5.1.0",
|
||||||
"joyent-ui-toolkit": "^5.0.0",
|
"joyent-ui-toolkit": "^6.0.0",
|
||||||
"lodash.chunk": "^4.2.0",
|
"lodash.chunk": "^4.2.0",
|
||||||
"lodash.keys": "^4.2.0",
|
"lodash.keys": "^4.2.0",
|
||||||
"outy": "^0.1.2",
|
"outy": "^0.1.2",
|
||||||
@ -46,7 +46,7 @@
|
|||||||
"babel-preset-joyent-portal": "^7.0.1",
|
"babel-preset-joyent-portal": "^7.0.1",
|
||||||
"eslint": "^4.18.1",
|
"eslint": "^4.18.1",
|
||||||
"eslint-config-joyent-portal": "^3.3.1",
|
"eslint-config-joyent-portal": "^3.3.1",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"redrun": "^5.10.5"
|
"redrun": "^5.10.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "joyent-ui-toolkit",
|
"name": "joyent-ui-toolkit",
|
||||||
"version": "5.0.0",
|
"version": "6.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": "github:yldio/joyent-portal",
|
"repository": "github:yldio/joyent-portal",
|
||||||
@ -28,7 +28,7 @@
|
|||||||
"clipboard-copy": "^1.4.2",
|
"clipboard-copy": "^1.4.2",
|
||||||
"exenv": "^1.2.2",
|
"exenv": "^1.2.2",
|
||||||
"joy-react-broadcast": "^0.6.9",
|
"joy-react-broadcast": "^0.6.9",
|
||||||
"joyent-icons": "^5.0.0",
|
"joyent-icons": "^5.1.0",
|
||||||
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
"joyent-react-styled-flexboxgrid": "^2.2.3",
|
||||||
"lodash.assign": "^4.2.0",
|
"lodash.assign": "^4.2.0",
|
||||||
"lodash.isboolean": "^3.0.3",
|
"lodash.isboolean": "^3.0.3",
|
||||||
@ -57,7 +57,7 @@
|
|||||||
"eslint": "^4.18.1",
|
"eslint": "^4.18.1",
|
||||||
"eslint-config-joyent-portal": "^3.3.1",
|
"eslint-config-joyent-portal": "^3.3.1",
|
||||||
"jest-styled-components": "^5.0.0",
|
"jest-styled-components": "^5.0.0",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"react": "^16.2.0",
|
"react": "^16.2.0",
|
||||||
"react-docgen": "^3.0.0-beta8",
|
"react-docgen": "^3.0.0-beta8",
|
||||||
"react-docgen-displayname-handler": "^1.0.1",
|
"react-docgen-displayname-handler": "^1.0.1",
|
||||||
|
@ -150,11 +150,11 @@ export const font = {
|
|||||||
family: '"Libre Franklin"',
|
family: '"Libre Franklin"',
|
||||||
families:
|
families:
|
||||||
'"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica, sans-serif',
|
'"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica, sans-serif',
|
||||||
href: ({ protocol, host } = {}) => {
|
href: ({ protocol, host, namespace } = {}) => {
|
||||||
const _protocol = protocol || globals.protocol;
|
const _protocol = protocol || globals.protocol;
|
||||||
const _host = host || globals.host;
|
const _host = host || globals.host;
|
||||||
|
|
||||||
return `${_protocol}//${_host}/fonts/css?family=Libre+Franklin:400,500,600,700`;
|
return `${_protocol}//${_host}/${namespace}/static/css/libre-franklin.css`;
|
||||||
},
|
},
|
||||||
weight: {
|
weight: {
|
||||||
bold: 700,
|
bold: 700,
|
||||||
@ -171,11 +171,11 @@ export const monoFont = {
|
|||||||
textMuted: base.secondary,
|
textMuted: base.secondary,
|
||||||
family: '"Roboto Mono"',
|
family: '"Roboto Mono"',
|
||||||
families: '"Roboto Mono", monospace',
|
families: '"Roboto Mono", monospace',
|
||||||
href: ({ protocol, host } = {}) => {
|
href: ({ protocol, host, namespace } = {}) => {
|
||||||
const _protocol = protocol || globals.protocol;
|
const _protocol = protocol || globals.protocol;
|
||||||
const _host = host || globals.host;
|
const _host = host || globals.host;
|
||||||
|
|
||||||
return `${_protocol}//${_host}/fonts/css?family=Roboto+Mono:700,400`;
|
return `${_protocol}//${_host}/${namespace}/static/css/roboto-mono.css`;
|
||||||
},
|
},
|
||||||
weight: {
|
weight: {
|
||||||
bold: 700,
|
bold: 700,
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"babel-preset-joyent-portal": "^7.0.0",
|
"babel-preset-joyent-portal": "^7.0.0",
|
||||||
"eslint": "^4.11.0",
|
"eslint": "^4.11.0",
|
||||||
"eslint-config-joyent-portal": "^3.2.0",
|
"eslint-config-joyent-portal": "^3.2.0",
|
||||||
"joyent-react-scripts": "^7.4.0",
|
"joyent-react-scripts": "^8.0.2",
|
||||||
"prettier": "^1.8.2",
|
"prettier": "^1.8.2",
|
||||||
"stylelint": "^8.4.0",
|
"stylelint": "^8.4.0",
|
||||||
"stylelint-config-joyent-portal": "^2.0.1"
|
"stylelint-config-joyent-portal": "^2.0.1"
|
||||||
|
350
yarn.lock
350
yarn.lock
@ -224,8 +224,8 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.47.tgz#f49ba1dd1f189486beb6e1d070a850f6ab4bd521"
|
resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.47.tgz#f49ba1dd1f189486beb6e1d070a850f6ab4bd521"
|
||||||
|
|
||||||
"@types/node@^9.4.6":
|
"@types/node@^9.4.6":
|
||||||
version "9.4.7"
|
version "9.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.7.tgz#57d81cd98719df2c9de118f2d5f3b1120dcd7275"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.0.tgz#d3480ee666df9784b1001a1872a2f6ccefb6c2d7"
|
||||||
|
|
||||||
"@types/zen-observable@^0.5.3":
|
"@types/zen-observable@^0.5.3":
|
||||||
version "0.5.3"
|
version "0.5.3"
|
||||||
@ -1093,7 +1093,7 @@ babel-messages@^6.23.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
babel-runtime "^6.22.0"
|
babel-runtime "^6.22.0"
|
||||||
|
|
||||||
babel-minify-webpack-plugin@^0.3.0:
|
babel-minify-webpack-plugin@^0.3.1:
|
||||||
version "0.3.1"
|
version "0.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-minify-webpack-plugin/-/babel-minify-webpack-plugin-0.3.1.tgz#292aa240af190e2dcadf4f684d6d84d179b6d5a4"
|
resolved "https://registry.yarnpkg.com/babel-minify-webpack-plugin/-/babel-minify-webpack-plugin-0.3.1.tgz#292aa240af190e2dcadf4f684d6d84d179b6d5a4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2274,8 +2274,8 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
|||||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000819.tgz#c3b7dd559e5e6d63d5dcaa62bac6bd04c7619709"
|
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000819.tgz#c3b7dd559e5e6d63d5dcaa62bac6bd04c7619709"
|
||||||
|
|
||||||
caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000792:
|
caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000792:
|
||||||
version "1.0.30000817"
|
version "1.0.30000819"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000817.tgz#e993c380eb4bfe76a2aed4223f841c02d6e0d832"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000819.tgz#aabee5fd15a080febab6ae5d30c9ea15f4c6d4e2"
|
||||||
|
|
||||||
capture-stack-trace@^1.0.0:
|
capture-stack-trace@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -2382,7 +2382,7 @@ chokidar@^1.6.0, chokidar@^1.6.1:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "^1.0.0"
|
fsevents "^1.0.0"
|
||||||
|
|
||||||
chokidar@^2.0.0:
|
chokidar@^2.0.0, chokidar@^2.0.2:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
|
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2400,24 +2400,6 @@ chokidar@^2.0.0:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "^1.1.2"
|
fsevents "^1.1.2"
|
||||||
|
|
||||||
chokidar@^2.0.2:
|
|
||||||
version "2.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7"
|
|
||||||
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.0.0"
|
|
||||||
|
|
||||||
chownr@^1.0.1:
|
chownr@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
|
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
|
||||||
@ -2540,8 +2522,8 @@ clone@^1.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||||
|
|
||||||
cloudapi-gql@^7.1.3:
|
cloudapi-gql@^7.1.3:
|
||||||
version "7.1.3"
|
version "7.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/cloudapi-gql/-/cloudapi-gql-7.1.3.tgz#bb963454dd68f6e36e2a44302456faecf97831aa"
|
resolved "https://registry.yarnpkg.com/cloudapi-gql/-/cloudapi-gql-7.1.4.tgz#4baed087d980d86b44e6bf1c8fac2a486901e3fa"
|
||||||
dependencies:
|
dependencies:
|
||||||
apr-map "3.x.x"
|
apr-map "3.x.x"
|
||||||
boom "7.x.x"
|
boom "7.x.x"
|
||||||
@ -2804,39 +2786,39 @@ conventional-changelog-angular@^1.3.3, conventional-changelog-angular@^1.6.6:
|
|||||||
compare-func "^1.3.1"
|
compare-func "^1.3.1"
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-atom@^0.2.4:
|
conventional-changelog-atom@^0.2.5:
|
||||||
version "0.2.4"
|
version "0.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.4.tgz#4917759947f4db86073f9d3838a2d54302d5843d"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.5.tgz#456fb0245965cb41b38dbc558829aaeadf678ed2"
|
||||||
dependencies:
|
dependencies:
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-cli@^1.3.13:
|
conventional-changelog-cli@^1.3.13:
|
||||||
version "1.3.16"
|
version "1.3.17"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.16.tgz#69acdcc4b68b4d123c5945868dffe394960cea9d"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.17.tgz#6455c22dbd439e2ad8054167f37ec7562c8c4e84"
|
||||||
dependencies:
|
dependencies:
|
||||||
add-stream "^1.0.0"
|
add-stream "^1.0.0"
|
||||||
conventional-changelog "^1.1.18"
|
conventional-changelog "^1.1.19"
|
||||||
lodash "^4.2.1"
|
lodash "^4.2.1"
|
||||||
meow "^4.0.0"
|
meow "^4.0.0"
|
||||||
tempfile "^1.1.1"
|
tempfile "^1.1.1"
|
||||||
|
|
||||||
conventional-changelog-codemirror@^0.3.4:
|
conventional-changelog-codemirror@^0.3.5:
|
||||||
version "0.3.4"
|
version "0.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.4.tgz#debc43991d487d7964e65087fbbe034044bd51fb"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.5.tgz#3e82f128912c86c1e1e0f1dab5ce745d0c2a78a8"
|
||||||
dependencies:
|
dependencies:
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-core@^2.0.5:
|
conventional-changelog-core@^2.0.6:
|
||||||
version "2.0.5"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.5.tgz#45b6347c4c6512e1f163f7ff55c9f5bcb88fd990"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.6.tgz#a750621cfb943c9c990c95d5ae8f18fc35be38fa"
|
||||||
dependencies:
|
dependencies:
|
||||||
conventional-changelog-writer "^3.0.4"
|
conventional-changelog-writer "^3.0.5"
|
||||||
conventional-commits-parser "^2.1.5"
|
conventional-commits-parser "^2.1.6"
|
||||||
dateformat "^3.0.0"
|
dateformat "^3.0.0"
|
||||||
get-pkg-repo "^1.0.0"
|
get-pkg-repo "^1.0.0"
|
||||||
git-raw-commits "^1.3.4"
|
git-raw-commits "^1.3.5"
|
||||||
git-remote-origin-url "^2.0.0"
|
git-remote-origin-url "^2.0.0"
|
||||||
git-semver-tags "^1.3.4"
|
git-semver-tags "^1.3.5"
|
||||||
lodash "^4.2.1"
|
lodash "^4.2.1"
|
||||||
normalize-package-data "^2.3.5"
|
normalize-package-data "^2.3.5"
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
@ -2844,21 +2826,21 @@ conventional-changelog-core@^2.0.5:
|
|||||||
read-pkg-up "^1.0.1"
|
read-pkg-up "^1.0.1"
|
||||||
through2 "^2.0.0"
|
through2 "^2.0.0"
|
||||||
|
|
||||||
conventional-changelog-ember@^0.3.6:
|
conventional-changelog-ember@^0.3.7:
|
||||||
version "0.3.6"
|
version "0.3.7"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.6.tgz#f3825d7434168f3d9211b5532dc1d5769532b668"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.7.tgz#096a14794e054fc08dde055364e98aaee8b1a8c4"
|
||||||
dependencies:
|
dependencies:
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-eslint@^1.0.5:
|
conventional-changelog-eslint@^1.0.6:
|
||||||
version "1.0.5"
|
version "1.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.5.tgz#8bae05ebbf574e6506caf7b37dc51ca21b74d220"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.6.tgz#e9060f450ec8d63c671e54bd471e0502ee19183f"
|
||||||
dependencies:
|
dependencies:
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-express@^0.3.4:
|
conventional-changelog-express@^0.3.5:
|
||||||
version "0.3.4"
|
version "0.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.4.tgz#812a9cf778677e12f978ac9c40d85297c0bfcca9"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.5.tgz#b01b9f9a8f2d4e37bbafec7cc7d9c0b0570f6b26"
|
||||||
dependencies:
|
dependencies:
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
@ -2874,23 +2856,23 @@ conventional-changelog-jscs@^0.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
q "^1.4.1"
|
q "^1.4.1"
|
||||||
|
|
||||||
conventional-changelog-jshint@^0.3.4:
|
conventional-changelog-jshint@^0.3.5:
|
||||||
version "0.3.4"
|
version "0.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.4.tgz#b2de33cd0870d9af804ac6a4fded0ee25b69c9bb"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.5.tgz#ae9fadbeb9b05cd305e665efd0df54dfb19a00f9"
|
||||||
dependencies:
|
dependencies:
|
||||||
compare-func "^1.3.1"
|
compare-func "^1.3.1"
|
||||||
q "^1.5.1"
|
q "^1.5.1"
|
||||||
|
|
||||||
conventional-changelog-preset-loader@^1.1.6:
|
conventional-changelog-preset-loader@^1.1.7:
|
||||||
version "1.1.6"
|
version "1.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.6.tgz#b29af6332f9313857be36427623c9016bfeeaf33"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.7.tgz#58a7ef85f980ca17f1373dc222ff449606222fb6"
|
||||||
|
|
||||||
conventional-changelog-writer@^3.0.4:
|
conventional-changelog-writer@^3.0.5:
|
||||||
version "3.0.4"
|
version "3.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.4.tgz#705b46a8b8277bd7fd79cad8032095b5d803864c"
|
resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.5.tgz#d7ce157209c55057a2487e645193a2e6b9027943"
|
||||||
dependencies:
|
dependencies:
|
||||||
compare-func "^1.3.1"
|
compare-func "^1.3.1"
|
||||||
conventional-commits-filter "^1.1.5"
|
conventional-commits-filter "^1.1.6"
|
||||||
dateformat "^3.0.0"
|
dateformat "^3.0.0"
|
||||||
handlebars "^4.0.2"
|
handlebars "^4.0.2"
|
||||||
json-stringify-safe "^5.0.1"
|
json-stringify-safe "^5.0.1"
|
||||||
@ -2900,32 +2882,32 @@ conventional-changelog-writer@^3.0.4:
|
|||||||
split "^1.0.0"
|
split "^1.0.0"
|
||||||
through2 "^2.0.0"
|
through2 "^2.0.0"
|
||||||
|
|
||||||
conventional-changelog@^1.1.18:
|
conventional-changelog@^1.1.19:
|
||||||
version "1.1.18"
|
version "1.1.19"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.18.tgz#ffe28798e4ddef5f6e2f74398e8248bcb233360b"
|
resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.19.tgz#a2b2335839e16122cc4ccec6ef57312c749d67c5"
|
||||||
dependencies:
|
dependencies:
|
||||||
conventional-changelog-angular "^1.6.6"
|
conventional-changelog-angular "^1.6.6"
|
||||||
conventional-changelog-atom "^0.2.4"
|
conventional-changelog-atom "^0.2.5"
|
||||||
conventional-changelog-codemirror "^0.3.4"
|
conventional-changelog-codemirror "^0.3.5"
|
||||||
conventional-changelog-core "^2.0.5"
|
conventional-changelog-core "^2.0.6"
|
||||||
conventional-changelog-ember "^0.3.6"
|
conventional-changelog-ember "^0.3.7"
|
||||||
conventional-changelog-eslint "^1.0.5"
|
conventional-changelog-eslint "^1.0.6"
|
||||||
conventional-changelog-express "^0.3.4"
|
conventional-changelog-express "^0.3.5"
|
||||||
conventional-changelog-jquery "^0.1.0"
|
conventional-changelog-jquery "^0.1.0"
|
||||||
conventional-changelog-jscs "^0.1.0"
|
conventional-changelog-jscs "^0.1.0"
|
||||||
conventional-changelog-jshint "^0.3.4"
|
conventional-changelog-jshint "^0.3.5"
|
||||||
conventional-changelog-preset-loader "^1.1.6"
|
conventional-changelog-preset-loader "^1.1.7"
|
||||||
|
|
||||||
conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.5:
|
conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.6:
|
||||||
version "1.1.5"
|
version "1.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.5.tgz#77aac065e3de9c1a74b801e8e25c9affb3184f65"
|
resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831"
|
||||||
dependencies:
|
dependencies:
|
||||||
is-subset "^0.1.1"
|
is-subset "^0.1.1"
|
||||||
modify-values "^1.0.0"
|
modify-values "^1.0.0"
|
||||||
|
|
||||||
conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.5:
|
conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.6:
|
||||||
version "2.1.5"
|
version "2.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.5.tgz#9ac3a4ab221c0c3c9e9dd2c09ae01e6d1e1dabe0"
|
resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.6.tgz#e594bbd8342d3e6758aa0344ca074719d69a7dc0"
|
||||||
dependencies:
|
dependencies:
|
||||||
JSONStream "^1.0.4"
|
JSONStream "^1.0.4"
|
||||||
is-text-path "^1.0.0"
|
is-text-path "^1.0.0"
|
||||||
@ -3064,6 +3046,13 @@ cross-fetch@^1.1.1:
|
|||||||
node-fetch "1.7.3"
|
node-fetch "1.7.3"
|
||||||
whatwg-fetch "2.0.3"
|
whatwg-fetch "2.0.3"
|
||||||
|
|
||||||
|
cross-fetch@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.1.0.tgz#7d4ea7e10a4f3bb73d5c2f0a3791ec3752d39b50"
|
||||||
|
dependencies:
|
||||||
|
node-fetch "2.1.1"
|
||||||
|
whatwg-fetch "2.0.3"
|
||||||
|
|
||||||
cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
||||||
version "5.1.0"
|
version "5.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||||
@ -3072,6 +3061,16 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
|||||||
shebang-command "^1.2.0"
|
shebang-command "^1.2.0"
|
||||||
which "^1.2.9"
|
which "^1.2.9"
|
||||||
|
|
||||||
|
cross-spawn@^6.0.0:
|
||||||
|
version "6.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
||||||
|
dependencies:
|
||||||
|
nice-try "^1.0.4"
|
||||||
|
path-key "^2.0.1"
|
||||||
|
semver "^5.5.0"
|
||||||
|
shebang-command "^1.2.0"
|
||||||
|
which "^1.2.9"
|
||||||
|
|
||||||
cryptiles@2.x.x:
|
cryptiles@2.x.x:
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
|
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
|
||||||
@ -4079,8 +4078,8 @@ eslint@4.10.0:
|
|||||||
text-table "~0.2.0"
|
text-table "~0.2.0"
|
||||||
|
|
||||||
eslint@^4.18.1:
|
eslint@^4.18.1:
|
||||||
version "4.19.0"
|
version "4.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.0.tgz#9e900efb5506812ac374557034ef6f5c3642fc4c"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv "^5.3.0"
|
ajv "^5.3.0"
|
||||||
babel-code-frame "^6.22.0"
|
babel-code-frame "^6.22.0"
|
||||||
@ -4198,6 +4197,18 @@ exec-sh@^0.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
merge "^1.1.3"
|
merge "^1.1.3"
|
||||||
|
|
||||||
|
execa@^0.10.0:
|
||||||
|
version "0.10.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
|
||||||
|
dependencies:
|
||||||
|
cross-spawn "^6.0.0"
|
||||||
|
get-stream "^3.0.0"
|
||||||
|
is-stream "^1.1.0"
|
||||||
|
npm-run-path "^2.0.0"
|
||||||
|
p-finally "^1.0.0"
|
||||||
|
signal-exit "^3.0.0"
|
||||||
|
strip-eof "^1.0.0"
|
||||||
|
|
||||||
execa@^0.7.0:
|
execa@^0.7.0:
|
||||||
version "0.7.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
||||||
@ -4849,9 +4860,9 @@ getpass@^0.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
git-raw-commits@^1.3.0, git-raw-commits@^1.3.4:
|
git-raw-commits@^1.3.0, git-raw-commits@^1.3.5:
|
||||||
version "1.3.4"
|
version "1.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.4.tgz#442c3df5985b4f5689e9e43597f5194736aac001"
|
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.5.tgz#0951ae8dc80e5cee8ef54934db4ef65a6d161c60"
|
||||||
dependencies:
|
dependencies:
|
||||||
dargs "^4.0.1"
|
dargs "^4.0.1"
|
||||||
lodash.template "^4.0.2"
|
lodash.template "^4.0.2"
|
||||||
@ -4866,9 +4877,9 @@ git-remote-origin-url@^2.0.0:
|
|||||||
gitconfiglocal "^1.0.0"
|
gitconfiglocal "^1.0.0"
|
||||||
pify "^2.3.0"
|
pify "^2.3.0"
|
||||||
|
|
||||||
git-semver-tags@^1.3.0, git-semver-tags@^1.3.4:
|
git-semver-tags@^1.3.0, git-semver-tags@^1.3.5:
|
||||||
version "1.3.4"
|
version "1.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.4.tgz#2ceb2a355c6d7514c123c35e297067d08caf3a92"
|
resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.5.tgz#b803e8ee36c09e8cec3e9441f5bac292fd163c18"
|
||||||
dependencies:
|
dependencies:
|
||||||
meow "^4.0.0"
|
meow "^4.0.0"
|
||||||
semver "^5.5.0"
|
semver "^5.5.0"
|
||||||
@ -5053,11 +5064,11 @@ graphql-tag@^2.8.0:
|
|||||||
version "2.8.0"
|
version "2.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.8.0.tgz#52cdea07a842154ec11a2e840c11b977f9b835ce"
|
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.8.0.tgz#52cdea07a842154ec11a2e840c11b977f9b835ce"
|
||||||
|
|
||||||
graphql@0.13.x, graphql@^0.13.1:
|
graphql@0.13.0, graphql@0.13.x, graphql@^0.13.1:
|
||||||
version "0.13.2"
|
version "0.13.0"
|
||||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.2.tgz#4c740ae3c222823e7004096f832e7b93b2108270"
|
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.0.tgz#d1b44a282279a9ce0a6ec1037329332f4c1079b6"
|
||||||
dependencies:
|
dependencies:
|
||||||
iterall "^1.2.1"
|
iterall "1.1.x"
|
||||||
|
|
||||||
growly@^1.3.0:
|
growly@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
@ -5312,7 +5323,7 @@ hoek@5.0.x, hoek@5.x.x:
|
|||||||
version "5.0.3"
|
version "5.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.3.tgz#b71d40d943d0a95da01956b547f83c4a5b4a34ac"
|
resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.3.tgz#b71d40d943d0a95da01956b547f83c4a5b4a34ac"
|
||||||
|
|
||||||
hoist-non-react-statics@2.5.0, hoist-non-react-statics@^1.2.0, hoist-non-react-statics@^2.2.0, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0:
|
hoist-non-react-statics@2.5.0, hoist-non-react-statics@^1.2.0, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0:
|
||||||
version "2.5.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40"
|
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40"
|
||||||
|
|
||||||
@ -6147,9 +6158,9 @@ istanbul-reports@^1.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
handlebars "^4.0.3"
|
handlebars "^4.0.3"
|
||||||
|
|
||||||
iterall@^1.2.1:
|
iterall@1.1.x:
|
||||||
version "1.2.2"
|
version "1.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7"
|
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.4.tgz#0db40d38fdcf53ae14dc8ec674e62ab190d52cfc"
|
||||||
|
|
||||||
javascript-stringify@^1.6.0:
|
javascript-stringify@^1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
@ -6419,15 +6430,15 @@ joyent-manifest-editor@^1.4.0:
|
|||||||
prop-types "^15.6.0"
|
prop-types "^15.6.0"
|
||||||
react-codemirror "^1.0.0"
|
react-codemirror "^1.0.0"
|
||||||
|
|
||||||
joyent-react-scripts@^7.4.0:
|
joyent-react-scripts@^8.0.2:
|
||||||
version "7.4.0"
|
version "8.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/joyent-react-scripts/-/joyent-react-scripts-7.4.0.tgz#1b6d55d94251b4db6cb1ab4e8cda697c8bdcdbc8"
|
resolved "https://registry.yarnpkg.com/joyent-react-scripts/-/joyent-react-scripts-8.0.3.tgz#0fa8684c924dbc582711c948167234278d925c5f"
|
||||||
dependencies:
|
dependencies:
|
||||||
apr-for-each "^3.0.3"
|
apr-for-each "^3.0.3"
|
||||||
apr-main "^4.0.3"
|
apr-main "^4.0.3"
|
||||||
babel-minify-webpack-plugin "^0.3.0"
|
babel-minify-webpack-plugin "^0.3.1"
|
||||||
duplicate-package-checker-webpack-plugin "^2.1.0"
|
duplicate-package-checker-webpack-plugin "^2.1.0"
|
||||||
execa "^0.9.0"
|
execa "^0.10.0"
|
||||||
graphql "^0.13.1"
|
graphql "^0.13.1"
|
||||||
graphql-tag "^2.8.0"
|
graphql-tag "^2.8.0"
|
||||||
jest-transform-graphql "^2.1.0"
|
jest-transform-graphql "^2.1.0"
|
||||||
@ -6435,9 +6446,9 @@ joyent-react-scripts@^7.4.0:
|
|||||||
lodash.isstring "^4.0.1"
|
lodash.isstring "^4.0.1"
|
||||||
mz "^2.7.0"
|
mz "^2.7.0"
|
||||||
react-scripts "^1.1.1"
|
react-scripts "^1.1.1"
|
||||||
request "^2.83.0"
|
send "^0.16.2"
|
||||||
sw-precache-webpack-plugin "^0.11.4"
|
sw-precache-webpack-plugin "^0.11.5"
|
||||||
uglifyjs-webpack-plugin "^1.2.2"
|
uglifyjs-webpack-plugin "^1.2.4"
|
||||||
webpack-common-shake "^1.5.3"
|
webpack-common-shake "^1.5.3"
|
||||||
webpack-visualizer-plugin "^0.1.11"
|
webpack-visualizer-plugin "^0.1.11"
|
||||||
|
|
||||||
@ -6448,6 +6459,36 @@ joyent-react-styled-flexboxgrid@^2.2.3:
|
|||||||
lodash.isinteger "^4.0.4"
|
lodash.isinteger "^4.0.4"
|
||||||
prop-types "^15.6.0"
|
prop-types "^15.6.0"
|
||||||
|
|
||||||
|
joyent-ui-toolkit@^5.0.0:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/joyent-ui-toolkit/-/joyent-ui-toolkit-5.2.0.tgz#f8668483c73b16442e34e6960416db5a59e868e1"
|
||||||
|
dependencies:
|
||||||
|
camel-case "^3.0.0"
|
||||||
|
clipboard-copy "^1.4.2"
|
||||||
|
exenv "^1.2.2"
|
||||||
|
joy-react-broadcast "^0.6.9"
|
||||||
|
joyent-icons "^5.1.0"
|
||||||
|
joyent-react-styled-flexboxgrid "^2.2.3"
|
||||||
|
lodash.assign "^4.2.0"
|
||||||
|
lodash.isboolean "^3.0.3"
|
||||||
|
lodash.isnan "^3.0.2"
|
||||||
|
lodash.isundefined "^3.0.1"
|
||||||
|
lodash.values "^4.3.0"
|
||||||
|
normalized-styled-components "^1.0.18"
|
||||||
|
outy "^0.1.2"
|
||||||
|
pascal-case "^2.0.1"
|
||||||
|
prop-types "^15.6.1"
|
||||||
|
react-bundle "^1.1.0"
|
||||||
|
react-popper "^0.8.2"
|
||||||
|
react-responsive "^4.0.4"
|
||||||
|
remcalc "^1.0.10"
|
||||||
|
rnd-id "^2.0.2"
|
||||||
|
styled-components "^3.2.1"
|
||||||
|
styled-components-spacing "^2.1.3"
|
||||||
|
styled-flex-component "^2.2.1"
|
||||||
|
styled-is "^1.1.2"
|
||||||
|
unitcalc "^1.2.3"
|
||||||
|
|
||||||
js-base64@^2.1.9:
|
js-base64@^2.1.9:
|
||||||
version "2.4.3"
|
version "2.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
|
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
|
||||||
@ -6861,10 +6902,6 @@ lodash.flatten@^4.4.0:
|
|||||||
version "4.4.0"
|
version "4.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
|
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
|
||||||
|
|
||||||
lodash.flowright@^3.5.0:
|
|
||||||
version "3.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/lodash.flowright/-/lodash.flowright-3.5.0.tgz#2b5fff399716d7e7dc5724fe9349f67065184d67"
|
|
||||||
|
|
||||||
lodash.get@^4.4.2:
|
lodash.get@^4.4.2:
|
||||||
version "4.4.2"
|
version "4.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||||
@ -6937,10 +6974,6 @@ lodash.omit@^4.5.0:
|
|||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
|
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
|
||||||
|
|
||||||
lodash.pick@^4.4.0:
|
|
||||||
version "4.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
|
|
||||||
|
|
||||||
lodash.reduce@^4.6.0:
|
lodash.reduce@^4.6.0:
|
||||||
version "4.6.0"
|
version "4.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
|
resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
|
||||||
@ -6982,7 +7015,7 @@ lodash.values@^4.3.0:
|
|||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347"
|
resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347"
|
||||||
|
|
||||||
"lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
|
lodash@4.17.5, "lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
|
||||||
version "4.17.5"
|
version "4.17.5"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
|
||||||
|
|
||||||
@ -7227,7 +7260,7 @@ micromatch@^2.1.5, micromatch@^2.3.11:
|
|||||||
parse-glob "^3.0.4"
|
parse-glob "^3.0.4"
|
||||||
regex-cache "^0.4.2"
|
regex-cache "^0.4.2"
|
||||||
|
|
||||||
micromatch@^3.1.4:
|
micromatch@^3.1.4, micromatch@^3.1.8:
|
||||||
version "3.1.10"
|
version "3.1.10"
|
||||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
|
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -7245,24 +7278,6 @@ micromatch@^3.1.4:
|
|||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.2"
|
to-regex "^3.0.2"
|
||||||
|
|
||||||
micromatch@^3.1.8:
|
|
||||||
version "3.1.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89"
|
|
||||||
dependencies:
|
|
||||||
arr-diff "^4.0.0"
|
|
||||||
array-unique "^0.3.2"
|
|
||||||
braces "^2.3.1"
|
|
||||||
define-property "^2.0.2"
|
|
||||||
extend-shallow "^3.0.2"
|
|
||||||
extglob "^2.0.4"
|
|
||||||
fragment-cache "^0.2.1"
|
|
||||||
kind-of "^6.0.2"
|
|
||||||
nanomatch "^1.2.9"
|
|
||||||
object.pick "^1.3.0"
|
|
||||||
regex-not "^1.0.0"
|
|
||||||
snapdragon "^0.8.1"
|
|
||||||
to-regex "^3.0.1"
|
|
||||||
|
|
||||||
miller-rabin@^4.0.0:
|
miller-rabin@^4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
|
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
|
||||||
@ -7377,8 +7392,8 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdi
|
|||||||
minimist "0.0.8"
|
minimist "0.0.8"
|
||||||
|
|
||||||
modify-values@^1.0.0:
|
modify-values@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2"
|
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
|
||||||
|
|
||||||
moment@^2.6.0:
|
moment@^2.6.0:
|
||||||
version "2.21.0"
|
version "2.21.0"
|
||||||
@ -7517,6 +7532,10 @@ next-tick@1:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
||||||
|
|
||||||
|
nice-try@^1.0.4:
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4"
|
||||||
|
|
||||||
nigel@3.x.x:
|
nigel@3.x.x:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/nigel/-/nigel-3.0.0.tgz#a6e3378a8a34281e75ba1641e886a415d4be93ad"
|
resolved "https://registry.yarnpkg.com/nigel/-/nigel-3.0.0.tgz#a6e3378a8a34281e75ba1641e886a415d4be93ad"
|
||||||
@ -7550,6 +7569,10 @@ node-fetch@1.7.3, node-fetch@^1.0.1:
|
|||||||
encoding "^0.1.11"
|
encoding "^0.1.11"
|
||||||
is-stream "^1.0.1"
|
is-stream "^1.0.1"
|
||||||
|
|
||||||
|
node-fetch@2.1.1:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.1.tgz#369ca70b82f50c86496104a6c776d274f4e4a2d4"
|
||||||
|
|
||||||
node-forge@0.7.1:
|
node-forge@0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
|
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
|
||||||
@ -8026,7 +8049,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
||||||
|
|
||||||
path-key@^2.0.0:
|
path-key@^2.0.0, path-key@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
||||||
|
|
||||||
@ -8456,15 +8479,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
|
|||||||
source-map "^0.5.6"
|
source-map "^0.5.6"
|
||||||
supports-color "^3.2.3"
|
supports-color "^3.2.3"
|
||||||
|
|
||||||
postcss@^6.0.0, postcss@^6.0.13:
|
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13:
|
||||||
version "6.0.20"
|
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.20.tgz#686107e743a12d5530cb68438c590d5b2bf72c3c"
|
|
||||||
dependencies:
|
|
||||||
chalk "^2.3.2"
|
|
||||||
source-map "^0.6.1"
|
|
||||||
supports-color "^5.3.0"
|
|
||||||
|
|
||||||
postcss@^6.0.1:
|
|
||||||
version "6.0.21"
|
version "6.0.21"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.21.tgz#8265662694eddf9e9a5960db6da33c39e4cd069d"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.21.tgz#8265662694eddf9e9a5960db6da33c39e4cd069d"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -8801,15 +8816,14 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
|
|||||||
strip-json-comments "~2.0.1"
|
strip-json-comments "~2.0.1"
|
||||||
|
|
||||||
react-apollo@^2.0.4:
|
react-apollo@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-2.0.4.tgz#01dd32a8e388672f5d7385b21cdd0b94009ee9ee"
|
resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-2.1.0.tgz#b94c4aca513776d90c368f20a65f99e98fdfea17"
|
||||||
dependencies:
|
dependencies:
|
||||||
apollo-link "^1.0.0"
|
fbjs "^0.8.16"
|
||||||
hoist-non-react-statics "^2.2.0"
|
hoist-non-react-statics "^2.3.1"
|
||||||
invariant "^2.2.1"
|
invariant "^2.2.2"
|
||||||
lodash.flowright "^3.5.0"
|
lodash "4.17.5"
|
||||||
lodash.pick "^4.4.0"
|
prop-types "^15.6.0"
|
||||||
prop-types "^15.5.8"
|
|
||||||
|
|
||||||
react-bundle@^1.1.0:
|
react-bundle@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
@ -9530,7 +9544,7 @@ request@2.81.0:
|
|||||||
tunnel-agent "^0.6.0"
|
tunnel-agent "^0.6.0"
|
||||||
uuid "^3.0.0"
|
uuid "^3.0.0"
|
||||||
|
|
||||||
"request@>= 2.44.0 < 3.0.0", request@^2.79.0, request@^2.83.0:
|
"request@>= 2.44.0 < 3.0.0", request@^2.79.0:
|
||||||
version "2.85.0"
|
version "2.85.0"
|
||||||
resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa"
|
resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -9609,10 +9623,6 @@ resolve-from@^1.0.0:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
|
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
|
||||||
|
|
||||||
resolve-from@^2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
|
|
||||||
|
|
||||||
resolve-from@^3.0.0:
|
resolve-from@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
|
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
|
||||||
@ -9621,12 +9631,6 @@ resolve-pathname@^2.2.0:
|
|||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
|
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
|
||||||
|
|
||||||
resolve-pkg@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz#e19a15e78aca2e124461dc92b2e3943ef93494d9"
|
|
||||||
dependencies:
|
|
||||||
resolve-from "^2.0.0"
|
|
||||||
|
|
||||||
resolve-url@^0.2.1, resolve-url@~0.2.1:
|
resolve-url@^0.2.1, resolve-url@~0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||||
@ -9805,7 +9809,7 @@ semver-utils@^1.1.1:
|
|||||||
version "5.5.0"
|
version "5.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||||
|
|
||||||
send@0.16.2:
|
send@0.16.2, send@^0.16.2:
|
||||||
version "0.16.2"
|
version "0.16.2"
|
||||||
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
|
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -10395,9 +10399,9 @@ styled-components-spacing@^2.1.3:
|
|||||||
react-create-component-from-tag-prop "^1.2.1"
|
react-create-component-from-tag-prop "^1.2.1"
|
||||||
styled-components-breakpoint "^1.0.0-preview.3"
|
styled-components-breakpoint "^1.0.0-preview.3"
|
||||||
|
|
||||||
styled-components@3.2.1, styled-components@^3.1.6, styled-components@^3.2.1:
|
styled-components@^3.1.6, styled-components@^3.2.1:
|
||||||
version "3.2.1"
|
version "3.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.2.1.tgz#4f780c588829eb06624b686f9b793a10d04db139"
|
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.2.3.tgz#50f71207320eeb1ef539dec4637f21f5e3c936b4"
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "^5.0.3"
|
buffer "^5.0.3"
|
||||||
css-to-react-native "^2.0.3"
|
css-to-react-native "^2.0.3"
|
||||||
@ -10406,8 +10410,8 @@ styled-components@3.2.1, styled-components@^3.1.6, styled-components@^3.2.1:
|
|||||||
is-plain-object "^2.0.1"
|
is-plain-object "^2.0.1"
|
||||||
opencollective "^1.0.3"
|
opencollective "^1.0.3"
|
||||||
prop-types "^15.5.4"
|
prop-types "^15.5.4"
|
||||||
stylis "^3.4.10"
|
stylis "^3.5.0"
|
||||||
stylis-rule-sheet "^0.0.8"
|
stylis-rule-sheet "^0.0.10"
|
||||||
supports-color "^3.2.3"
|
supports-color "^3.2.3"
|
||||||
|
|
||||||
styled-flex-component@^2.2.1:
|
styled-flex-component@^2.2.1:
|
||||||
@ -10420,11 +10424,11 @@ styled-is@1.1.2, styled-is@^1.1.2:
|
|||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/styled-is/-/styled-is-1.1.2.tgz#f23a43249ba52ac9136c166aac1da30a5711593e"
|
resolved "https://registry.yarnpkg.com/styled-is/-/styled-is-1.1.2.tgz#f23a43249ba52ac9136c166aac1da30a5711593e"
|
||||||
|
|
||||||
stylis-rule-sheet@0.0.7, stylis-rule-sheet@^0.0.5, stylis-rule-sheet@^0.0.8:
|
stylis-rule-sheet@0.0.10, stylis-rule-sheet@^0.0.10, stylis-rule-sheet@^0.0.5:
|
||||||
version "0.0.7"
|
version "0.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.7.tgz#5c51dc879141a61821c2094ba91d2cbcf2469c6c"
|
resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
|
||||||
|
|
||||||
stylis@^3.0.0, stylis@^3.3.2, stylis@^3.4.10:
|
stylis@^3.0.0, stylis@^3.3.2, stylis@^3.5.0:
|
||||||
version "3.5.0"
|
version "3.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.0.tgz#016fa239663d77f868fef5b67cf201c4b7c701e1"
|
resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.0.tgz#016fa239663d77f868fef5b67cf201c4b7c701e1"
|
||||||
|
|
||||||
@ -10480,7 +10484,7 @@ sw-precache-webpack-plugin@0.11.4:
|
|||||||
sw-precache "^5.1.1"
|
sw-precache "^5.1.1"
|
||||||
uglify-js "^3.0.13"
|
uglify-js "^3.0.13"
|
||||||
|
|
||||||
sw-precache-webpack-plugin@^0.11.4:
|
sw-precache-webpack-plugin@^0.11.5:
|
||||||
version "0.11.5"
|
version "0.11.5"
|
||||||
resolved "https://registry.yarnpkg.com/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.5.tgz#9b53f65a4966e3adc298e256b3cef7a55c73fdfd"
|
resolved "https://registry.yarnpkg.com/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.5.tgz#9b53f65a4966e3adc298e256b3cef7a55c73fdfd"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -10899,7 +10903,7 @@ uglify-to-browserify@~1.0.0:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
|
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
|
||||||
|
|
||||||
uglifyjs-webpack-plugin@1.2.4, uglifyjs-webpack-plugin@^1.2.2:
|
uglifyjs-webpack-plugin@1.2.4, uglifyjs-webpack-plugin@^1.2.4:
|
||||||
version "1.2.4"
|
version "1.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.4.tgz#5eec941b2e9b8538be0a20fc6eda25b14c7c1043"
|
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.4.tgz#5eec941b2e9b8538be0a20fc6eda25b14c7c1043"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
Loading…
Reference in New Issue
Block a user