mirror of
https://github.com/LBRYFoundation/lbry-desktop.git
synced 2025-10-03 00:30:36 +00:00
feat: appimage + cookie
This commit is contained in:
parent
851a324862
commit
14c3640e4d
11 changed files with 32 additions and 261 deletions
|
@ -23,7 +23,6 @@ before_install:
|
||||||
export PATH="/tmp/git-lfs:$PATH"
|
export PATH="/tmp/git-lfs:$PATH"
|
||||||
else
|
else
|
||||||
sudo apt-get -qq update
|
sudo apt-get -qq update
|
||||||
sudo apt-get install -y libsecret-1-dev
|
|
||||||
sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib wget
|
sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib wget
|
||||||
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0
|
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0
|
||||||
export PATH="$HOME/.yarn/bin:$PATH"
|
export PATH="$HOME/.yarn/bin:$PATH"
|
||||||
|
|
|
@ -2,7 +2,7 @@ FROM node:10
|
||||||
EXPOSE 1337
|
EXPOSE 1337
|
||||||
|
|
||||||
RUN yarn -v && npm -v
|
RUN yarn -v && npm -v
|
||||||
RUN apt-get update -y && apt-get upgrade -y && apt-get install -y libsecret-1-0 libsecret-1-dev
|
RUN apt-get update -y && apt-get upgrade -y
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ENV PATH="/app/node_modules/.bin:${PATH}"
|
ENV PATH="/app/node_modules/.bin:${PATH}"
|
||||||
|
@ -10,4 +10,4 @@ ENV PATH="/app/node_modules/.bin:${PATH}"
|
||||||
COPY ./ ./
|
COPY ./ ./
|
||||||
|
|
||||||
RUN rm -rf node_modules && APP_ENV=web yarn && SDK_API_URL='https://api.lbry.tv/api/proxy' NODE_ENV=production yarn compile:web --display errors-only
|
RUN rm -rf node_modules && APP_ENV=web yarn && SDK_API_URL='https://api.lbry.tv/api/proxy' NODE_ENV=production yarn compile:web --display errors-only
|
||||||
CMD node ./dist/web/server.js
|
CMD node ./dist/web/server.js
|
||||||
|
|
|
@ -81,16 +81,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deb": {
|
"deb": {
|
||||||
"depends": [
|
"depends": ["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"]
|
||||||
"gconf2",
|
|
||||||
"gconf-service",
|
|
||||||
"libnotify4",
|
|
||||||
"libappindicator1",
|
|
||||||
"libxtst6",
|
|
||||||
"libnss3",
|
|
||||||
"libsecret-1-0",
|
|
||||||
"gnome-keyring"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"nsis": {
|
"nsis": {
|
||||||
"perMachine": true,
|
"perMachine": true,
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
/* eslint space-before-function-paren:0 */
|
/* eslint space-before-function-paren:0 */
|
||||||
// Module imports
|
// Module imports
|
||||||
import '@babel/polyfill';
|
import '@babel/polyfill';
|
||||||
import keytar from 'keytar';
|
|
||||||
import SemVer from 'semver';
|
import SemVer from 'semver';
|
||||||
import https from 'https';
|
import https from 'https';
|
||||||
import { app, dialog, ipcMain, session, shell } from 'electron';
|
import { app, dialog, ipcMain, session, shell } from 'electron';
|
||||||
|
@ -319,42 +318,6 @@ ipcMain.on('version-info-requested', () => {
|
||||||
requestLatestRelease();
|
requestLatestRelease();
|
||||||
});
|
});
|
||||||
|
|
||||||
ipcMain.on('get-auth-token', event => {
|
|
||||||
keytar.getPassword('LBRY', 'auth_token').then(token => {
|
|
||||||
event.sender.send('auth-token-response', token ? token.toString().trim() : null);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on('set-auth-token', (event, token) => {
|
|
||||||
keytar.setPassword('LBRY', 'auth_token', token ? token.toString().trim() : null);
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on('delete-auth-token', (event, password) => {
|
|
||||||
keytar.deletePassword('LBRY', 'auth_token', password).then(res => {
|
|
||||||
event.sender.send('delete-auth-token-response', res);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on('get-password', event => {
|
|
||||||
keytar.getPassword('LBRY', 'wallet_password').then(password => {
|
|
||||||
event.sender.send('get-password-response', password ? password.toString() : null);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on('set-password', (event, password) => {
|
|
||||||
if (password || password === '') {
|
|
||||||
keytar.setPassword('LBRY', 'wallet_password', password).then(res => {
|
|
||||||
event.sender.send('set-password-response', res);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcMain.on('delete-password', event => {
|
|
||||||
keytar.deletePassword('LBRY', 'wallet_password').then(res => {
|
|
||||||
event.sender.send('delete-password-response', res);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on('uncaughtException', error => {
|
process.on('uncaughtException', error => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
dialog.showErrorBox('Error Encountered', `Caught error: ${error}`);
|
dialog.showErrorBox('Error Encountered', `Caught error: ${error}`);
|
||||||
|
|
32
flow-typed/npm/keytar_vx.x.x.js
vendored
32
flow-typed/npm/keytar_vx.x.x.js
vendored
|
@ -1,32 +0,0 @@
|
||||||
// flow-typed signature: 33d904b96c8747ed8b41b631dd56dbab
|
|
||||||
// flow-typed version: <<STUB>>/keytar_v4.4.1/flow_v0.94.0
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is an autogenerated libdef stub for:
|
|
||||||
*
|
|
||||||
* 'keytar'
|
|
||||||
*
|
|
||||||
* Fill this stub out by replacing all the `any` types.
|
|
||||||
*
|
|
||||||
* Once filled out, we encourage you to share your work with the
|
|
||||||
* community by sending a pull request to:
|
|
||||||
* https://github.com/flowtype/flow-typed
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare module 'keytar' {
|
|
||||||
declare module.exports: any;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* We include stubs for each file inside this npm package in case you need to
|
|
||||||
* require those files directly. Feel free to delete any files that aren't
|
|
||||||
* needed.
|
|
||||||
*/
|
|
||||||
declare module 'keytar/lib/keytar' {
|
|
||||||
declare module.exports: any;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Filename aliases
|
|
||||||
declare module 'keytar/lib/keytar.js' {
|
|
||||||
declare module.exports: $Exports<'keytar/lib/keytar'>;
|
|
||||||
}
|
|
|
@ -49,8 +49,7 @@
|
||||||
"electron-notarize": "^0.1.1",
|
"electron-notarize": "^0.1.1",
|
||||||
"electron-updater": "^4.1.2",
|
"electron-updater": "^4.1.2",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"if-env": "^1.0.4",
|
"if-env": "^1.0.4"
|
||||||
"keytar": "^4.4.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.0.0",
|
"@babel/core": "^7.0.0",
|
||||||
|
|
|
@ -110,17 +110,28 @@ export default function YoutubeTransferStatus(props: Props) {
|
||||||
properties={false}
|
properties={false}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<p className="section--padded">
|
<div>
|
||||||
<I18nMessage
|
<p className="section--padded">
|
||||||
tokens={{
|
<I18nMessage
|
||||||
statusLink: <Button button="link" href={STATUS_URL + statusToken} label={__('here')} />,
|
tokens={{
|
||||||
channelName,
|
statusLink: <Button button="link" href={STATUS_URL + statusToken} label={__('here')} />,
|
||||||
}}
|
channelName,
|
||||||
>
|
}}
|
||||||
%channelName% has not finished syncing and is not ready to be transferred to your account. You
|
>
|
||||||
can check the status %statusLink% or check back later.
|
%channelName% is not yet ready to be transferred. Please allow up to one week, though it is
|
||||||
</I18nMessage>
|
frequently faster.
|
||||||
</p>
|
</I18nMessage>
|
||||||
|
</p>
|
||||||
|
<p className="section--padded">
|
||||||
|
<I18nMessage
|
||||||
|
tokens={{
|
||||||
|
faqLink: <Button button="link" label={__('FAQ')} href="https://lbry.com/faq/youtube" />,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
You can check your status %statusLink%. This %faqLink% explains the program in more detail.
|
||||||
|
</I18nMessage>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
19
ui/index.jsx
19
ui/index.jsx
|
@ -109,10 +109,6 @@ Lbryio.setOverride(
|
||||||
authToken = response.auth_token;
|
authToken = response.auth_token;
|
||||||
setAuthToken(authToken);
|
setAuthToken(authToken);
|
||||||
|
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.send('set-auth-token', authToken);
|
|
||||||
// @endif
|
|
||||||
|
|
||||||
resolve(authToken);
|
resolve(authToken);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
@ -122,20 +118,6 @@ Lbryio.setOverride(
|
||||||
'getAuthToken',
|
'getAuthToken',
|
||||||
() =>
|
() =>
|
||||||
new Promise(resolve => {
|
new Promise(resolve => {
|
||||||
// @if TARGET='app'
|
|
||||||
if (authToken) {
|
|
||||||
resolve(authToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
ipcRenderer.once('auth-token-response', (event, token) => {
|
|
||||||
Lbryio.authToken = token;
|
|
||||||
resolve(token);
|
|
||||||
});
|
|
||||||
|
|
||||||
ipcRenderer.send('get-auth-token');
|
|
||||||
// @endif
|
|
||||||
|
|
||||||
// @if TARGET='web'
|
|
||||||
const authTokenToReturn = authToken || getAuthToken();
|
const authTokenToReturn = authToken || getAuthToken();
|
||||||
|
|
||||||
if (authTokenToReturn !== null) {
|
if (authTokenToReturn !== null) {
|
||||||
|
@ -143,7 +125,6 @@ Lbryio.setOverride(
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve(authTokenToReturn);
|
resolve(authTokenToReturn);
|
||||||
// @endif
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
// @flow
|
// @flow
|
||||||
import { ipcRenderer } from 'electron';
|
|
||||||
import { DOMAIN } from 'config';
|
import { DOMAIN } from 'config';
|
||||||
|
|
||||||
const isProduction = process.env.NODE_ENV === 'production';
|
const isProduction = process.env.NODE_ENV === 'production';
|
||||||
|
@ -49,19 +48,13 @@ function deleteCookie(name: string) {
|
||||||
|
|
||||||
export const setSavedPassword = (value?: string, saveToDisk: boolean) => {
|
export const setSavedPassword = (value?: string, saveToDisk: boolean) => {
|
||||||
return new Promise<*>(resolve => {
|
return new Promise<*>(resolve => {
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.once('set-password-response', (event, success) => {
|
|
||||||
resolve(success);
|
|
||||||
});
|
|
||||||
// @endif
|
|
||||||
|
|
||||||
const password = value === undefined || value === null ? '' : value;
|
const password = value === undefined || value === null ? '' : value;
|
||||||
sessionPassword = password;
|
sessionPassword = password;
|
||||||
|
|
||||||
if (saveToDisk) {
|
if (saveToDisk) {
|
||||||
if (password) {
|
if (password) {
|
||||||
// @if TARGET='app'
|
// @if TARGET='app'
|
||||||
ipcRenderer.send('set-password', password);
|
setCookie('saved-password', password, 2147483647);
|
||||||
// @endif
|
// @endif
|
||||||
// @if TARGET='web'
|
// @if TARGET='web'
|
||||||
setCookie('saved-password', password, 14);
|
setCookie('saved-password', password, 14);
|
||||||
|
@ -85,32 +78,15 @@ export const getSavedPassword = () => {
|
||||||
|
|
||||||
export const getKeychainPassword = () => {
|
export const getKeychainPassword = () => {
|
||||||
return new Promise<*>(resolve => {
|
return new Promise<*>(resolve => {
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.once('get-password-response', (event, password) => {
|
|
||||||
resolve(password);
|
|
||||||
});
|
|
||||||
ipcRenderer.send('get-password');
|
|
||||||
// @endif
|
|
||||||
|
|
||||||
// @if TARGET='web'
|
|
||||||
const password = getCookie('saved-password');
|
const password = getCookie('saved-password');
|
||||||
resolve(password);
|
resolve(password);
|
||||||
// @endif
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const deleteSavedPassword = () => {
|
export const deleteSavedPassword = () => {
|
||||||
return new Promise<*>(resolve => {
|
return new Promise<*>(resolve => {
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.once('delete-password-response', (event, success) => {
|
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
ipcRenderer.send('delete-password');
|
|
||||||
// @endif;
|
|
||||||
// @if TARGET='web'
|
|
||||||
deleteCookie('saved-password');
|
deleteCookie('saved-password');
|
||||||
resolve();
|
resolve();
|
||||||
// @endif
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -126,16 +102,7 @@ export const deleteAuthToken = () => {
|
||||||
return new Promise<*>(resolve => {
|
return new Promise<*>(resolve => {
|
||||||
deleteCookie('auth_token');
|
deleteCookie('auth_token');
|
||||||
|
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.once('delete-auth-token-response', (event, success) => {
|
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
ipcRenderer.send('delete-auth-token');
|
|
||||||
// @endif;
|
|
||||||
|
|
||||||
// @if TARGET='web'
|
|
||||||
resolve();
|
resolve();
|
||||||
// @endif
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -144,16 +111,7 @@ export const doSignOutCleanup = () => {
|
||||||
deleteCookie('auth_token');
|
deleteCookie('auth_token');
|
||||||
deleteCookie('saved-password');
|
deleteCookie('saved-password');
|
||||||
|
|
||||||
// @if TARGET='app'
|
|
||||||
ipcRenderer.once('delete-auth-token-response', (event, success) => {
|
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
ipcRenderer.send('delete-auth-token');
|
|
||||||
// @endif;
|
|
||||||
|
|
||||||
// @if TARGET='web'
|
|
||||||
resolve();
|
resolve();
|
||||||
// @endif
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,6 @@ if (process.env.NODE_ENV === 'production') {
|
||||||
// Apply prod overrides
|
// Apply prod overrides
|
||||||
mainConfig = merge(mainConfig, {
|
mainConfig = merge(mainConfig, {
|
||||||
externals: {
|
externals: {
|
||||||
keytar: 'require("keytar")',
|
|
||||||
electron: 'require("electron")',
|
electron: 'require("electron")',
|
||||||
express: 'require("express")',
|
express: 'require("express")',
|
||||||
'electron-updater': 'require("electron-updater")',
|
'electron-updater': 'require("electron-updater")',
|
||||||
|
@ -75,7 +74,6 @@ if (process.env.NODE_ENV === 'production') {
|
||||||
// Apply dev overrides
|
// Apply dev overrides
|
||||||
mainConfig = merge(mainConfig, {
|
mainConfig = merge(mainConfig, {
|
||||||
externals: {
|
externals: {
|
||||||
keytar: 'require("keytar")',
|
|
||||||
electron: 'require("electron")',
|
electron: 'require("electron")',
|
||||||
express: 'require("express")',
|
express: 'require("express")',
|
||||||
'electron-updater': 'require("electron-updater")',
|
'electron-updater': 'require("electron-updater")',
|
||||||
|
|
107
yarn.lock
107
yarn.lock
|
@ -3860,11 +3860,6 @@ detect-file@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
|
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
|
||||||
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
|
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
|
||||||
|
|
||||||
detect-libc@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
|
||||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
|
||||||
|
|
||||||
detect-node@^2.0.4:
|
detect-node@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
|
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
|
||||||
|
@ -4788,11 +4783,6 @@ expand-brackets@^2.1.4:
|
||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
expand-template@^2.0.3:
|
|
||||||
version "2.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
|
|
||||||
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
|
|
||||||
|
|
||||||
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
|
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
|
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
|
||||||
|
@ -5464,11 +5454,6 @@ getpass@^0.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
github-from-package@0.0.0:
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
|
|
||||||
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
|
|
||||||
|
|
||||||
glob-parent@^3.1.0:
|
glob-parent@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
||||||
|
@ -7024,14 +7009,6 @@ keycode@^2.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"
|
resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"
|
||||||
integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=
|
integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=
|
||||||
|
|
||||||
keytar@^4.4.1:
|
|
||||||
version "4.7.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/keytar/-/keytar-4.7.0.tgz#992f646ace0862ee72a513a9f6cf7c21ef97078f"
|
|
||||||
integrity sha512-0hLlRRkhdR0068fVQo21hnIndGvacsh9PtAHGAPMPzxFjJwP8idAkVAcbdb1P5B+gterCBa3+4hxL0NPMDlZtw==
|
|
||||||
dependencies:
|
|
||||||
nan "2.13.2"
|
|
||||||
prebuild-install "5.3.0"
|
|
||||||
|
|
||||||
keyv@3.0.0:
|
keyv@3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373"
|
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373"
|
||||||
|
@ -7977,11 +7954,6 @@ mux.js@5.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-5.1.1.tgz#0e95f048b4ac51d413c9ddc2d78e4cefad8d06de"
|
resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-5.1.1.tgz#0e95f048b4ac51d413c9ddc2d78e4cefad8d06de"
|
||||||
integrity sha512-Mf/UYmh5b8jvUP+jmrTbETnyFZprMdbT0RxKm/lJ/4d2Q3xdc5GaHaRPI1zVV5D3+6uxArVPm78QEb1RsrmaQw==
|
integrity sha512-Mf/UYmh5b8jvUP+jmrTbETnyFZprMdbT0RxKm/lJ/4d2Q3xdc5GaHaRPI1zVV5D3+6uxArVPm78QEb1RsrmaQw==
|
||||||
|
|
||||||
nan@2.13.2:
|
|
||||||
version "2.13.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
|
|
||||||
integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
|
|
||||||
|
|
||||||
nan@^2.12.1, nan@^2.13.2:
|
nan@^2.12.1, nan@^2.13.2:
|
||||||
version "2.14.0"
|
version "2.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
|
||||||
|
@ -8004,11 +7976,6 @@ nanomatch@^1.2.9:
|
||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
napi-build-utils@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508"
|
|
||||||
integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==
|
|
||||||
|
|
||||||
natural-compare@^1.4.0:
|
natural-compare@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||||
|
@ -8036,7 +8003,7 @@ no-case@^2.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
lower-case "^1.1.1"
|
lower-case "^1.1.1"
|
||||||
|
|
||||||
node-abi@^2.5.1, node-abi@^2.7.0:
|
node-abi@^2.5.1:
|
||||||
version "2.8.0"
|
version "2.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.8.0.tgz#bd2e88dbe6a6871e6dd08553e0605779325737ec"
|
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.8.0.tgz#bd2e88dbe6a6871e6dd08553e0605779325737ec"
|
||||||
integrity sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==
|
integrity sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==
|
||||||
|
@ -8207,11 +8174,6 @@ nodemon@^1.19.1:
|
||||||
undefsafe "^2.0.2"
|
undefsafe "^2.0.2"
|
||||||
update-notifier "^2.5.0"
|
update-notifier "^2.5.0"
|
||||||
|
|
||||||
noop-logger@^0.1.1:
|
|
||||||
version "0.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
|
|
||||||
integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
|
|
||||||
|
|
||||||
"nopt@2 || 3":
|
"nopt@2 || 3":
|
||||||
version "3.0.6"
|
version "3.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
||||||
|
@ -8316,7 +8278,7 @@ npm-which@^3.0.1:
|
||||||
npm-path "^2.0.2"
|
npm-path "^2.0.2"
|
||||||
which "^1.2.10"
|
which "^1.2.10"
|
||||||
|
|
||||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.1:
|
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||||
|
@ -8519,7 +8481,7 @@ os-browserify@^0.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
||||||
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
|
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
|
||||||
|
|
||||||
os-homedir@^1.0.0, os-homedir@^1.0.1:
|
os-homedir@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
||||||
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
|
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
|
||||||
|
@ -9628,28 +9590,6 @@ posthtml@^0.11.2, posthtml@^0.11.3:
|
||||||
posthtml-parser "^0.4.1"
|
posthtml-parser "^0.4.1"
|
||||||
posthtml-render "^1.1.5"
|
posthtml-render "^1.1.5"
|
||||||
|
|
||||||
prebuild-install@5.3.0:
|
|
||||||
version "5.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.0.tgz#58b4d8344e03590990931ee088dd5401b03004c8"
|
|
||||||
integrity sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==
|
|
||||||
dependencies:
|
|
||||||
detect-libc "^1.0.3"
|
|
||||||
expand-template "^2.0.3"
|
|
||||||
github-from-package "0.0.0"
|
|
||||||
minimist "^1.2.0"
|
|
||||||
mkdirp "^0.5.1"
|
|
||||||
napi-build-utils "^1.0.1"
|
|
||||||
node-abi "^2.7.0"
|
|
||||||
noop-logger "^0.1.1"
|
|
||||||
npmlog "^4.0.1"
|
|
||||||
os-homedir "^1.0.1"
|
|
||||||
pump "^2.0.1"
|
|
||||||
rc "^1.2.7"
|
|
||||||
simple-get "^2.7.0"
|
|
||||||
tar-fs "^1.13.0"
|
|
||||||
tunnel-agent "^0.6.0"
|
|
||||||
which-pm-runs "^1.0.0"
|
|
||||||
|
|
||||||
prelude-ls@~1.1.2:
|
prelude-ls@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||||
|
@ -9820,14 +9760,6 @@ public-encrypt@^4.0.0:
|
||||||
randombytes "^2.0.1"
|
randombytes "^2.0.1"
|
||||||
safe-buffer "^5.1.2"
|
safe-buffer "^5.1.2"
|
||||||
|
|
||||||
pump@^1.0.0:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
|
|
||||||
integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==
|
|
||||||
dependencies:
|
|
||||||
end-of-stream "^1.1.0"
|
|
||||||
once "^1.3.1"
|
|
||||||
|
|
||||||
pump@^2.0.0, pump@^2.0.1:
|
pump@^2.0.0, pump@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
|
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
|
||||||
|
@ -9979,7 +9911,7 @@ rc-progress@^2.0.6:
|
||||||
babel-runtime "6.x"
|
babel-runtime "6.x"
|
||||||
prop-types "^15.5.8"
|
prop-types "^15.5.8"
|
||||||
|
|
||||||
rc@^1.0.1, rc@^1.1.6, rc@^1.2.1, rc@^1.2.7, rc@^1.2.8:
|
rc@^1.0.1, rc@^1.1.6, rc@^1.2.1, rc@^1.2.8:
|
||||||
version "1.2.8"
|
version "1.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||||
|
@ -11120,20 +11052,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||||
|
|
||||||
simple-concat@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
|
|
||||||
integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
|
|
||||||
|
|
||||||
simple-get@^2.7.0:
|
|
||||||
version "2.8.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d"
|
|
||||||
integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==
|
|
||||||
dependencies:
|
|
||||||
decompress-response "^3.3.0"
|
|
||||||
once "^1.3.1"
|
|
||||||
simple-concat "^1.0.0"
|
|
||||||
|
|
||||||
simple-swizzle@^0.2.2:
|
simple-swizzle@^0.2.2:
|
||||||
version "0.2.2"
|
version "0.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
||||||
|
@ -11801,17 +11719,7 @@ tapable@^1.0.0, tapable@^1.1.3:
|
||||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
||||||
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
|
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
|
||||||
|
|
||||||
tar-fs@^1.13.0:
|
tar-stream@^1.5.2, tar-stream@^1.6.2:
|
||||||
version "1.16.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509"
|
|
||||||
integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==
|
|
||||||
dependencies:
|
|
||||||
chownr "^1.0.1"
|
|
||||||
mkdirp "^0.5.1"
|
|
||||||
pump "^1.0.0"
|
|
||||||
tar-stream "^1.1.2"
|
|
||||||
|
|
||||||
tar-stream@^1.1.2, tar-stream@^1.5.2, tar-stream@^1.6.2:
|
|
||||||
version "1.6.2"
|
version "1.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555"
|
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555"
|
||||||
integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
|
integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
|
||||||
|
@ -12969,11 +12877,6 @@ which-module@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||||
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
||||||
|
|
||||||
which-pm-runs@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
|
|
||||||
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
|
|
||||||
|
|
||||||
which@1, which@^1.2.0, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1:
|
which@1, which@^1.2.0, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||||
|
|
Loading…
Add table
Reference in a new issue