diff --git a/package.json b/package.json
index bf6c235..df592e2 100644
--- a/package.json
+++ b/package.json
@@ -36,12 +36,12 @@
"dependencies": {
"@material-ui/core": "^4.9.5",
"@material-ui/icons": "^4.9.1",
+ "@wasmer/io-devices": "^0.10.1",
"@wasmer/wasm-terminal": "^0.10.1",
"@wasmer/wasm-transformer": "^0.10.1",
- "@wasmer/io-devices": "^0.10.1",
"@wasmer/wasmfs": "^0.10.1",
- "comlink": "^4.2.0",
"classnames": "^2.2.6",
+ "comlink": "^4.2.0",
"connected-react-router": "^6.6.1",
"ethers": "^4.0.45",
"inherits": "^2.0.4",
@@ -74,6 +74,7 @@
"devDependencies": {
"@types/classnames": "^2.2.10",
"@types/jszip": "^3.1.7",
+ "@types/material-ui": "^0.21.7",
"@types/react": "^16.9.23",
"@types/react-dom": "^16.9.5",
"@types/react-loadable": "^5.5.3",
diff --git a/src/img/PlayOSLogoSide_white.svg b/src/img/PlayOSLogoSide_white.svg
new file mode 100644
index 0000000..721a993
--- /dev/null
+++ b/src/img/PlayOSLogoSide_white.svg
@@ -0,0 +1,27 @@
+
+
+
+ PlayOSLogoSide
+ Created with Sketch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/js/App.tsx b/src/js/App.tsx
index aa1f227..2a93c3c 100644
--- a/src/js/App.tsx
+++ b/src/js/App.tsx
@@ -17,7 +17,6 @@ export default class App {
constructor(id: string = 'app') {
this.domId = id;
- console.log('[] id -> ', id);
}
run() {
diff --git a/src/js/apps/Explorer/components/File/File.tsx b/src/js/apps/Explorer/components/File/File.tsx
index edcf8f1..0d3857c 100644
--- a/src/js/apps/Explorer/components/File/File.tsx
+++ b/src/js/apps/Explorer/components/File/File.tsx
@@ -1,5 +1,4 @@
import * as React from 'react';
-import Dirent from 'memfs/lib/Dirent';
import InsertDriveFileOutlinedIcon from '@material-ui/icons/InsertDriveFileOutlined';
import WebIcon from '@material-ui/icons/Web';
import getFileExtension from '../../../../services/micro/getFileExtension';
diff --git a/src/js/apps/Explorer/components/Folder/Folder.tsx b/src/js/apps/Explorer/components/Folder/Folder.tsx
index c4d079e..e5b7de9 100644
--- a/src/js/apps/Explorer/components/Folder/Folder.tsx
+++ b/src/js/apps/Explorer/components/Folder/Folder.tsx
@@ -15,8 +15,9 @@ interface Props {
}
export default function Folder(props: Props) {
+ const { folder } = props;
const [icon, setIcon] = React.useState('');
- const [name, setName] = React.useState(props.folder.name);
+ const [name, setName] = React.useState(folder.name);
React.useEffect(() => {
async function processFile() {
@@ -34,7 +35,7 @@ export default function Folder(props: Props) {
// const info = await getWappInformation(file);
if (wappInfo !== null) {
- const newFolderName = folderName.replace('.' + WAPP_EXTENSION, '');
+ const newFolderName = folderName.replace(`.${WAPP_EXTENSION}`, '');
setIcon(wappInfo.icon);
setName(newFolderName);
diff --git a/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.module.scss b/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.module.scss
new file mode 100644
index 0000000..80b06b8
--- /dev/null
+++ b/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.module.scss
@@ -0,0 +1,42 @@
+.wrapper {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 100%;
+}
+
+
+.defaultBackground {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+
+ width: 100%;
+ height: 100%;
+
+ background-image: var(--default-background);
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+
+ opacity: 1;
+
+ transition: opacity 2s ease-in-out;
+}
+
+.backgroundSet {
+ opacity: 0;
+}
+
+.background {
+ position: absolute;
+ top: 0;
+ z-index: 0;
+
+ width: 100%;
+ height: 100%;
+
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+}
diff --git a/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.tsx b/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.tsx
new file mode 100644
index 0000000..a62e636
--- /dev/null
+++ b/src/js/components/atoms/BackgroundWallpaper/BackgroundWallpaper.tsx
@@ -0,0 +1,23 @@
+import React from 'react';
+import classnames from 'classnames';
+import styles from './BackgroundWallpaper.module.scss';
+
+interface Props {
+ src?: string;
+}
+
+export default function BackgroundWallpaper(props: Props) {
+ const { src } = props;
+ const backgroundImage = src ? `url(${src})` : undefined;
+
+ const defaultBackgroundClassName = classnames(styles.defaultBackground, {
+ [styles.backgroundSet]: !!backgroundImage,
+ });
+
+ return (
+
+ );
+}
diff --git a/src/js/components/atoms/BackgroundWallpaper/index.ts b/src/js/components/atoms/BackgroundWallpaper/index.ts
new file mode 100644
index 0000000..802031f
--- /dev/null
+++ b/src/js/components/atoms/BackgroundWallpaper/index.ts
@@ -0,0 +1 @@
+export { default } from './BackgroundWallpaper';
diff --git a/src/js/components/molecules/Header/Header.module.scss b/src/js/components/molecules/Header/Header.module.scss
index f671756..d857a2a 100644
--- a/src/js/components/molecules/Header/Header.module.scss
+++ b/src/js/components/molecules/Header/Header.module.scss
@@ -13,7 +13,7 @@
position: fixed;
top: 0;
- z-index: 3;
+ z-index: 20;
// border-bottom: 2px solid rgba(86, 86, 86, 0.63);
diff --git a/src/js/layout/DefaultLayout.jsx b/src/js/layout/DefaultLayout.jsx
deleted file mode 100644
index b29f055..0000000
--- a/src/js/layout/DefaultLayout.jsx
+++ /dev/null
@@ -1,79 +0,0 @@
-import React from 'react';
-import { connect } from 'react-redux';
-import { Route } from 'react-router';
-import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
-import Paper from 'material-ui/Paper';
-import styles from './DefaultLayout.module.scss';
-import classnames from 'classnames';
-import logo from '../../img/PlayOSLogoSide_black.svg';
-import ChoosePage from '../pages/ChoosePage';
-import LoginPage from '../pages/LoginPage';
-import RegisterPage from '../pages/RegisterPage';
-import HomePage from '../pages/HomePage/HomePage';
-
-function getRoutes() {
- return (
- <>
-
-
-
-
- >
- )
-}
-
-class DefaultLayout extends React.Component {
- render() {
- const wallpaper = this.props.user.info.wallpaper;
- const backgroundImage = wallpaper ? `url(${wallpaper})` : null;
- const backgroundClasses = classnames(styles.defaultLayoutBackground, {
- [styles.defaultLayoutBackgroundDefault]: !wallpaper,
- });
-
- return (
-
-
- {/* The background, we can keep that across the site */}
-
-
- {this.props.currentPathName !== '/os/home' &&
-
-
-
-
-
-
-
-
- {getRoutes()}
-
-
-
- }
-
- {this.props.currentPathName === '/os/home' &&
-
- {getRoutes()}
-
- }
- {/*
*/}
-
-
- );
- }
-}
-
-const mapStateToProps = store => {
- return ({
- SnackBarMessageStore: store.SnackBarMessageStore,
- user: store.UserInfoStore,
- currentPathName: store.router.location ? store.router.location.pathname : '',
- })
-};
-
-export default connect(mapStateToProps)(DefaultLayout);
diff --git a/src/js/layout/DefaultLayout.module.scss b/src/js/layout/DefaultLayout.module.scss
index d7922a8..12cf672 100644
--- a/src/js/layout/DefaultLayout.module.scss
+++ b/src/js/layout/DefaultLayout.module.scss
@@ -2,11 +2,14 @@
position: fixed;
width: 100%;
height: 100%;
+ z-index: 10;
&Background {
position: absolute;
top: 0;
- background-color: #252525;
+ // background-color: #252525;
+ background-image: linear-gradient(45deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
+ // background: linear-gradient(45deg, #FF512F 0%, #DD2476 100%);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
@@ -16,7 +19,7 @@
position: fixed;
&Default {
- background-image: url('/res/img/background.jpg');
+ // background-image: url('/res/img/background.jpg');
}
}
@@ -29,6 +32,7 @@
top: -100px;
bottom: 0;
margin: auto;
+ z-index: 15;
&Paper {
padding: 20px;
@@ -38,12 +42,16 @@
display: block;
&Logo {
- text-align: center;
color: black;
- font-size: 40px;
-webkit-font-smoothing: antialiased;
letter-spacing: 0;
- display: block;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 30px;
+
+ img {
+ width: 180px;
+ }
}
&-Description {
@@ -65,6 +73,7 @@
.childrenWrapper {
position: absolute;
+ z-index: 10;
width: 100%;
height: 100%;
}
diff --git a/src/js/layout/DefaultLayout.tsx b/src/js/layout/DefaultLayout.tsx
new file mode 100644
index 0000000..8202c61
--- /dev/null
+++ b/src/js/layout/DefaultLayout.tsx
@@ -0,0 +1,73 @@
+import React from 'react';
+import { connect } from 'react-redux';
+import { Route } from 'react-router';
+import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
+import Paper from 'material-ui/Paper';
+import classnames from 'classnames';
+import styles from './DefaultLayout.module.scss';
+import logo from '../../img/PlayOSLogoSide_white.svg';
+import ChoosePage from '../pages/ChoosePage';
+import LoginPage from '../pages/LoginPage';
+import RegisterPage from '../pages/RegisterPage';
+import HomePage from '../pages/HomePage/HomePage';
+import BackgroundWallpaper from '../components/atoms/BackgroundWallpaper';
+
+function getRoutes() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+interface Props {
+ user: any;
+ currentPathName: string;
+}
+
+function DefaultLayout(props: Props) {
+ const { user, currentPathName } = props;
+ const { wallpaper } = user.info;
+
+ return (
+
+
+
+
+ {currentPathName !== '/os/home'
+ && (
+
+
+
+
+
+
+
+
+ {getRoutes()}
+
+
+
+ )}
+
+ {currentPathName === '/os/home'
+ && (
+
+ {getRoutes()}
+
+ )}
+
+
+ );
+}
+
+const mapStateToProps = (store: any) => ({
+ SnackBarMessageStore: store.SnackBarMessageStore,
+ user: store.UserInfoStore,
+ currentPathName: store.router.location ? store.router.location.pathname : '',
+});
+
+export default connect(mapStateToProps)(DefaultLayout);
diff --git a/src/js/pages/HomePage/HomePage.tsx b/src/js/pages/HomePage/HomePage.tsx
index df123fa..897fe4d 100644
--- a/src/js/pages/HomePage/HomePage.tsx
+++ b/src/js/pages/HomePage/HomePage.tsx
@@ -35,7 +35,7 @@ class HomePage extends React.Component {
await bootSystem(keys);
if (!this.props.user.info.fullName && keys) {
- this.props.dispatch(loadUserInfo());
+ this.props.dispatch(loadUserInfo(keys));
this.props.dispatch(loadApps());
}
}
diff --git a/src/js/pages/RegisterPage/RegisterPage.tsx b/src/js/pages/RegisterPage/RegisterPage.tsx
index 00545d7..4a30e3a 100644
--- a/src/js/pages/RegisterPage/RegisterPage.tsx
+++ b/src/js/pages/RegisterPage/RegisterPage.tsx
@@ -3,6 +3,7 @@ import TextField from '@material-ui/core/TextField';
import Button from '@material-ui/core/Button';
import Typography from '@material-ui/core/Typography';
import KeyService from '../../services/KeyService';
+
const styles = require('./RegisterPage.module.scss');
export default function RegisterPage() {
@@ -15,7 +16,7 @@ export default function RegisterPage() {
const [keys, setKeys] = React.useState('');
function handleChange(name: string) {
- return function(event: React.ChangeEvent) {
+ return (event: React.ChangeEvent) => {
setValues({
...values,
[name]: event.target.value,
@@ -45,20 +46,24 @@ export default function RegisterPage() {
return (
- {!keys && <>
-
-
-
- Create account
- >}
+ {!keys && (
+ <>
+
+
+
+ Create account
+ >
+ )}
- {keys && <>
-
- Please save the following words securely. They are the only way to recover your account.
-
-
- I saved my keys
- >}
+ {keys && (
+ <>
+
+ Please save the following words securely. They are the only way to recover your account.
+
+
+ I saved my keys
+ >
+ )}
);
diff --git a/src/js/services/AuthService.ts b/src/js/services/AuthService.ts
index 15c9f5b..4660a03 100644
--- a/src/js/services/AuthService.ts
+++ b/src/js/services/AuthService.ts
@@ -1,31 +1,35 @@
-import { PrivateKey, Account } from "./providers/IProvider";
-import KeyService from "./KeyService";
+import { PrivateKey, Account } from './providers/IProvider';
+import KeyService from './KeyService';
+import Kernel from '../../vendor/kernel';
class AuthService {
- static async getAccountInfo(privateKey: PrivateKey): Promise {
+ static async getAccountInfo(privateKey: PrivateKey, kernel: Kernel): Promise {
+ const username = await kernel.registry.get('username');
+
return {
currencyTicker: 'RUT',
balance: '0',
// balance: ethers.utils.formatEther(balance),
- fullName: 'Test account',
+ fullName: username,
address: privateKey.address,
profilePic: '',
- wallpaper: 'https://playos.io/wp-content/uploads/2019/10/background.jpg?id=4353',
+ wallpaper: './res/img/background.jpg',
};
}
- static async login(): Promise {
+ static async login(kernel: Kernel): Promise {
const keys = KeyService.keysFromStorage();
if (!keys) {
throw new Error('Login failed, no keys found');
}
- return AuthService.getAccountInfo(keys);
+ return AuthService.getAccountInfo(keys, kernel);
}
static async logout(): Promise {
KeyService.removeKeys();
+ localStorage.clear();
}
static async isLoggedIn(): Promise {
diff --git a/src/js/services/FileService.ts b/src/js/services/FileService.ts
index 2625852..a39911a 100644
--- a/src/js/services/FileService.ts
+++ b/src/js/services/FileService.ts
@@ -45,7 +45,6 @@ export async function getFile(path: string): Promise {
});
process.on('exit', () => {
- console.log('[] buffer -> ', output);
resolve(Buffer.from(output));
});
});
diff --git a/src/js/services/TerminalService.ts b/src/js/services/TerminalService.ts
index 0cc1552..d4ca063 100644
--- a/src/js/services/TerminalService.ts
+++ b/src/js/services/TerminalService.ts
@@ -65,8 +65,13 @@ export default class TerminalService extends EventEmitter {
let terminalResult: string = '';
+ if (this.terminal) {
+ this.terminal.wasmTty.print('\n');
+ }
+
process.on('message', (msg: string) => {
if (this.terminal) {
+ this.terminal.wasmTty.print(msg, true);
terminalResult += msg;
}
});
diff --git a/src/js/services/bootSystem.ts b/src/js/services/bootSystem.ts
index ed0e457..47cb7f2 100644
--- a/src/js/services/bootSystem.ts
+++ b/src/js/services/bootSystem.ts
@@ -5,7 +5,7 @@ import BackgroundTerminal from '../background/BackgroundTerminal';
import isNodeJs from './isNodeJs';
-export default async function πbootSystem(keys: PrivateKey) {
+export default async function bootSystem(keys: PrivateKey) {
let kernel: Kernel;
if (isNodeJs()) {
diff --git a/src/js/store/UserInfoStore.ts b/src/js/store/UserInfoStore.ts
index 8e98f4c..bc8bc0a 100644
--- a/src/js/store/UserInfoStore.ts
+++ b/src/js/store/UserInfoStore.ts
@@ -1,5 +1,7 @@
import InstanceBag from "../InstanceBag";
import Kernel from "../../vendor/kernel";
+import { PrivateKey } from "../services/providers/IProvider";
+import AuthService from "../services/AuthService";
export interface UserInfo {
info: {
@@ -41,34 +43,25 @@ function UserInfoStore(state = defaultState, action: any) {
return currentState;
}
-export function loadUserInfo() {
+export function setUserInfo(payload: any) {
+ return {
+ type: 'SET_USER_INFO',
+ payload,
+ };
+}
+
+export function loadUserInfo(privateKey: PrivateKey) {
return async (dispatch: any) => {
const kernel = InstanceBag.get('kernel');
- const username = await kernel.registry.get('username');
-
- console.log('[] username -> ', username);
+ const userInfo = await AuthService.getAccountInfo(privateKey, kernel);
// Make sure we preload the background image to get a nice effect
- // const response = await fetch(user.wallpaper);
- // const blob = await response.blob();
- // const blobUrl = window.URL.createObjectURL(blob);
- // user.wallpaper = blobUrl;
+ const response = await fetch(userInfo.wallpaper);
+ const blob = await response.blob();
+ const blobUrl = window.URL.createObjectURL(blob);
+ userInfo.wallpaper = blobUrl;
- dispatch(setUserInfo({
- fullName: username,
- address: '',
- profilePic: '',
- wallpaper: '',
- currencyTicker: '',
- balance: '',
- }));
- }
-}
-
-export function setUserInfo(payload: any) {
- return {
- type: 'SET_USER_INFO',
- payload,
+ dispatch(setUserInfo(userInfo));
};
}
diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss
index 81457f2..2361481 100644
--- a/src/scss/_variables.scss
+++ b/src/scss/_variables.scss
@@ -7,3 +7,7 @@ $dashboard-tab-size: 48px;
$desktop-breakpoint: 960px;
$container-large: 1500px;
+
+:root {
+ --default-background: linear-gradient(45deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
+}
diff --git a/yarn.lock b/yarn.lock
index 16202fc..3a0d5bc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1573,10 +1573,10 @@
dependencies:
"@types/node" "*"
-"@types/classnames@^2.2.9":
- version "2.2.9"
- resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.9.tgz#d868b6febb02666330410fe7f58f3c4b8258be7b"
- integrity sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A==
+"@types/classnames@^2.2.10":
+ version "2.2.10"
+ resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.10.tgz#cc658ca319b6355399efc1f5b9e818f1a24bf999"
+ integrity sha512-1UzDldn9GfYYEsWWnn/P4wkTlkZDH7lDb0wBMGbtIQc9zXEQq7FlKBdZUn6OBqD8sKZZ2RQO2mAjGpXiDGoRmQ==
"@types/color-name@^1.1.1":
version "1.1.1"
@@ -1647,6 +1647,14 @@
dependencies:
"@types/node" "*"
+"@types/material-ui@^0.21.7":
+ version "0.21.7"
+ resolved "https://registry.yarnpkg.com/@types/material-ui/-/material-ui-0.21.7.tgz#2a4ab77a56a16adef044ba607edde5214151a5d8"
+ integrity sha512-OxGu+Jfm3d8IVYu5w2cqosSFU+8KJYCeVjw1jLZ7DzgoE7KpSFFpbDJKWhV1FAf/HEQXzL1IpX6PmLwINlE4Xg==
+ dependencies:
+ "@types/react" "*"
+ "@types/react-addons-linked-state-mixin" "*"
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -1682,6 +1690,13 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
+"@types/react-addons-linked-state-mixin@*":
+ version "0.14.20"
+ resolved "https://registry.yarnpkg.com/@types/react-addons-linked-state-mixin/-/react-addons-linked-state-mixin-0.14.20.tgz#5f0cd884ace049d538982a3b254f4807b9395eb6"
+ integrity sha512-17M8ymjR/vvyaQnLNuLSQipxtUrxaIq19phbWKKz1drIXeVQx+AnqMVVVIClno/gPheJWcLVCbf+yXXbbRalIg==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-dom@^16.9.5":
version "16.9.5"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.5.tgz#5de610b04a35d07ffd8f44edad93a71032d9aaa7"
@@ -1873,29 +1888,29 @@
semver "^6.3.0"
tsutils "^3.17.1"
-"@wasmer/io-devices@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@wasmer/io-devices/-/io-devices-0.10.0.tgz#5b0665fb18e1f9f3baac6b1f7902d57200c8ebeb"
- integrity sha512-RbWxr7INIOlhki2f/EvmjAqXGhAWlBC7U65eij5Rd3V+j2FgA2y/sEuohiusiPMM/U6kYq79xlghrSJDAcCfRg==
+"@wasmer/io-devices@^0.10.1", "@wasmer/io-devices@^0.10.2":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@wasmer/io-devices/-/io-devices-0.10.2.tgz#bc1fcbc3288b0b7086d472799ce49cc369db1626"
+ integrity sha512-wGaOlaERnSiGxYAQ4q9MFiETB+KPcrpVJ+n/n22ijevnNqACTH47zDXERTqxLptXkkBi/YUiAg0G9iyaKM6fhQ==
-"@wasmer/wasi@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@wasmer/wasi/-/wasi-0.10.0.tgz#883221fae0d4c9ab8220e548b477f149d4bb660a"
- integrity sha512-9toRqlH9QZDVdAn7xv3cPw/Jkl/agYyqY4TuxcEC0B9TgmuvGI0yj3TNMwbbULMm3Yi8Jla/ErpLTLkhnlhGqQ==
+"@wasmer/wasi@^0.10.2":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@wasmer/wasi/-/wasi-0.10.2.tgz#4bd79bcae88cfa23224c21b6af7ef6d2a07081eb"
+ integrity sha512-zEcZnGmPcO+b6o95W+uF4AK4oGBvBaM6oyyIOH1Kv/Sigy/knRMmawHWPDdJlImYmea7NLvn6PwdN+XJBYSz5A==
dependencies:
browser-process-hrtime "^1.0.0"
buffer-es6 "^4.9.3"
path-browserify "^1.0.0"
randomfill "^1.0.4"
-"@wasmer/wasm-terminal@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@wasmer/wasm-terminal/-/wasm-terminal-0.10.0.tgz#91d94bcbf7bc2b83b97866f12068e9c4906445d9"
- integrity sha512-YCrx+KqKGPDjSEJAKvoIGOt3EhKeFiUEPhoXkiRkWEmCvNMjQlTFvvHABJYWfoU5OVlVpXNENJ49FJlB+VKVaA==
+"@wasmer/wasm-terminal@^0.10.1":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@wasmer/wasm-terminal/-/wasm-terminal-0.10.2.tgz#eb9b948bfd3bb4988ef1de1bebde955ded9cb014"
+ integrity sha512-uy88vDjUSZ9cAr5IwKQDVULNSxJUoUmOMS1gcRh/oVvn2Y/a4xtLLnwMRR0ejeNqAj+6ctPMgphT7U+cnqWIEQ==
dependencies:
- "@wasmer/io-devices" "^0.10.0"
- "@wasmer/wasi" "^0.10.0"
- "@wasmer/wasmfs" "^0.10.0"
+ "@wasmer/io-devices" "^0.10.2"
+ "@wasmer/wasi" "^0.10.2"
+ "@wasmer/wasmfs" "^0.10.2"
comlink "^4.0.5"
shell-parse "0.0.2"
shell-quote "^1.7.1"
@@ -1904,17 +1919,17 @@
xterm-addon-web-links "^0.2.1"
xterm-addon-webgl "^0.2.1"
-"@wasmer/wasm-transformer@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@wasmer/wasm-transformer/-/wasm-transformer-0.10.0.tgz#759c3a23aef70c4245b1a474b7207b8199a1bc80"
- integrity sha512-y0askaNhJUklqATadEA7665skxcKu5/9m7tz60eGWbPIt6Lky1j7t3A7xmC4LnERHM3i+GrSn8egEgrWXDCFbg==
+"@wasmer/wasm-transformer@^0.10.1":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@wasmer/wasm-transformer/-/wasm-transformer-0.10.2.tgz#1f69a4a9766974f1b170de7ad4d46e2f0d2ffec6"
+ integrity sha512-cWctY14yLCJrNDrQfWVVlvrblYffwb8PVxsHnvdcbsaA8j8il0I7u/qzaGDA6k4jeN5Hd3QKWM4x+M1AJ6hOwg==
dependencies:
wasm-feature-detect "^1.2.2"
-"@wasmer/wasmfs@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@wasmer/wasmfs/-/wasmfs-0.10.0.tgz#9ea7ff263a0a06e5ac2a354b0e3aeb0f6243c23f"
- integrity sha512-VdMLE9PV7Yws0M3j3PWr482Q602FzH8FChz366cb2cPFCEzAgHpPIsmaUCq9qn6MbST2oFhkB/sLeUM/DxQMxw==
+"@wasmer/wasmfs@^0.10.1", "@wasmer/wasmfs@^0.10.2":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@wasmer/wasmfs/-/wasmfs-0.10.2.tgz#d82a3ff3dfd304c8c51177b1a1a710047779fa19"
+ integrity sha512-/sH64+/nyWwqY+gJO+q5qMrEG9SaTxmqr8jVvB6fiLOKEPCFnp9Dz+4dhc9O9W1tjScmcf15yGpZ+196w2m/6A==
dependencies:
memfs "3.0.4"
pako "^1.0.11"
@@ -3716,7 +3731,7 @@ concat-stream@~1.5.0:
readable-stream "~2.0.0"
typedarray "~0.0.5"
-confusing-browser-globals@^1.0.7, confusing-browser-globals@^1.0.9:
+confusing-browser-globals@^1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd"
integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==
@@ -4427,7 +4442,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
dependencies:
ms "2.0.0"
-debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
+debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
@@ -4536,11 +4551,6 @@ deep-equal@^1.0.1:
object-keys "^1.1.1"
regexp.prototype.flags "^1.2.0"
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -4646,11 +4656,6 @@ detect-indent@6.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-
detect-newline@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
@@ -5189,23 +5194,23 @@ escodegen@^1.11.0, escodegen@^1.9.1:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-airbnb-base@^14.0.0:
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz#8a7bcb9643d13c55df4dd7444f138bf4efa61e17"
- integrity sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==
+eslint-config-airbnb-base@^14.1.0:
+ version "14.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz#2ba4592dd6843258221d9bff2b6831bd77c874e4"
+ integrity sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw==
dependencies:
- confusing-browser-globals "^1.0.7"
+ confusing-browser-globals "^1.0.9"
object.assign "^4.1.0"
- object.entries "^1.1.0"
+ object.entries "^1.1.1"
-eslint-config-airbnb@^18.0.1:
- version "18.0.1"
- resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz#a3a74cc29b46413b6096965025381df8fb908559"
- integrity sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ==
+eslint-config-airbnb@^18.1.0:
+ version "18.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz#724d7e93dadd2169492ff5363c5aaa779e01257d"
+ integrity sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw==
dependencies:
- eslint-config-airbnb-base "^14.0.0"
+ eslint-config-airbnb-base "^14.1.0"
object.assign "^4.1.0"
- object.entries "^1.1.0"
+ object.entries "^1.1.1"
eslint-config-react-app@^5.2.0:
version "5.2.0"
@@ -6924,7 +6929,7 @@ hyphenate-style-name@^1.0.2, hyphenate-style-name@^1.0.3:
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48"
integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==
-iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
+iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -6967,13 +6972,6 @@ iferr@^0.1.5:
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-ignore-walk@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
- integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
- dependencies:
- minimatch "^3.0.4"
-
ignore@^3.3.5:
version "3.3.10"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
@@ -7087,7 +7085,7 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-ini@^1.3.2, ini@^1.3.5, ini@~1.3.0:
+ini@^1.3.2, ini@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
@@ -8900,10 +8898,10 @@ memfs@3.0.4:
fast-extend "1.0.2"
fs-monkey "0.3.3"
-memfs@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.1.1.tgz#3a23799a783102d40b13595cb25a7b39605bbcd0"
- integrity sha512-A6QWLLH6HolvLeACaEc6WAAxU7c7iAvVgeyp1iDwzSIbwfGUjR4x9bAFUVq3YtSVFCYQAx4Nw2o4TEYAfH+lAg==
+memfs@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.1.2.tgz#2bb51600dacec67ed35677b1185abb708b7d2ad6"
+ integrity sha512-YubKuE+RGSdpZcRq2Nih8HcHj3LrqndsDFNB9IFjrgwzdM4eq+fImlDMfNm/HdRhYRkLdUecHGIpdz+wyrqlDg==
dependencies:
fs-monkey "1.0.0"
@@ -9329,15 +9327,6 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-needle@^2.2.1:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.3.tgz#a041ad1d04a871b0ebb666f40baaf1fb47867117"
- integrity sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
@@ -9447,22 +9436,6 @@ node-notifier@^5.4.2:
shellwords "^0.1.1"
which "^1.3.0"
-node-pre-gyp@*:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
- integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4.4.2"
-
node-releases@^1.1.47, node-releases@^1.1.50:
version "1.1.50"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.50.tgz#803c40d2c45db172d0410e4efec83aa8c6ad0592"
@@ -9500,14 +9473,6 @@ node-sass@^4.13.1:
dependencies:
abbrev "1"
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
@@ -9562,27 +9527,6 @@ now-and-later@^2.0.0:
dependencies:
once "^1.3.2"
-npm-bundled@^1.0.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
- integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
- dependencies:
- npm-normalize-package-bin "^1.0.1"
-
-npm-normalize-package-bin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
- integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-
-npm-packlist@^1.1.6:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
- integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
- npm-normalize-package-bin "^1.0.1"
-
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -9590,7 +9534,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -9867,7 +9811,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@0, osenv@^0.1.4:
+osenv@0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
@@ -11380,16 +11324,6 @@ raw-body@~1.1.0:
bytes "1"
string_decoder "0.10"
-rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
re-resizable@6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.2.0.tgz#7b42aee4df6de4e1f602c78828052d41f642bc94"
@@ -12282,7 +12216,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1:
+rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
@@ -12498,7 +12432,7 @@ selfsigned@^1.10.7:
dependencies:
node-forge "0.9.0"
-"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -13268,7 +13202,7 @@ strip-indent@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
-strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
+strip-json-comments@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
@@ -13435,7 +13369,7 @@ tar@^2.0.0:
fstream "^1.0.12"
inherits "2"
-tar@^4.0.2, tar@^4.4.2:
+tar@^4.0.2:
version "4.4.13"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==