diff --git a/app/config/config-default.js b/app/config/config-default.js index 53b81b99..0cd88464 100644 --- a/app/config/config-default.js +++ b/app/config/config-default.js @@ -163,6 +163,9 @@ module.exports = { // set to true to enable screen reading apps (like NVDA) to read the contents of the terminal screenReaderMode: false, + // set to true to preserve working directory when creating splits or tabs + preserveCWD: true, + // for advanced config flags please refer to https://hyper.is/#cfg }, diff --git a/app/extend-electron.d.ts b/app/extend-electron.d.ts index 0a9a2ef9..557d5cc1 100644 --- a/app/extend-electron.d.ts +++ b/app/extend-electron.d.ts @@ -1,25 +1,27 @@ import type {Server} from './rpc'; -declare module 'electron' { - interface App { - config: typeof import('./config'); - plugins: typeof import('./plugins'); - getWindows: () => Set; - getLastFocusedWindow: () => BrowserWindow | null; - windowCallback?: (win: BrowserWindow) => void; - createWindow: ( - fn?: (win: BrowserWindow) => void, - options?: {size?: [number, number]; position?: [number, number]} - ) => BrowserWindow; - setVersion: (version: string) => void; - } +declare global { + namespace Electron { + interface App { + config: typeof import('./config'); + plugins: typeof import('./plugins'); + getWindows: () => Set; + getLastFocusedWindow: () => BrowserWindow | null; + windowCallback?: (win: BrowserWindow) => void; + createWindow: ( + fn?: (win: BrowserWindow) => void, + options?: {size?: [number, number]; position?: [number, number]} + ) => BrowserWindow; + setVersion: (version: string) => void; + } - // type Server = import('./rpc').Server; - interface BrowserWindow { - uid: string; - sessions: Map; - focusTime: number; - clean: () => void; - rpc: Server; + // type Server = import('./rpc').Server; + interface BrowserWindow { + uid: string; + sessions: Map; + focusTime: number; + clean: () => void; + rpc: Server; + } } } diff --git a/app/menus/menu.ts b/app/menus/menu.ts index 3d3cfb7e..dc2f3c61 100644 --- a/app/menus/menu.ts +++ b/app/menus/menu.ts @@ -54,7 +54,7 @@ export const createMenu = ( void dialog.showMessageBox({ title: `About ${appName}`, message: `${appName} ${appVersion} (${updateChannel})`, - detail: `Renderers: ${renderers}\nPlugins: ${pluginList}\n\nCreated by Guillermo Rauch\nCopyright © 2021 Vercel, Inc.`, + detail: `Renderers: ${renderers}\nPlugins: ${pluginList}\n\nCreated by Guillermo Rauch\nCopyright © 2022 Vercel, Inc.`, buttons: [], icon: icon as any }); diff --git a/app/menus/menus/window.ts b/app/menus/menus/window.ts index 56db6fe5..4f693bda 100644 --- a/app/menus/menus/window.ts +++ b/app/menus/menus/window.ts @@ -5,7 +5,7 @@ export default ( execCommand: (command: string, focusedWindow?: BrowserWindow) => void ): MenuItemConstructorOptions => { // Generating tab:jump array - const tabJump = []; + const tabJump: MenuItemConstructorOptions[] = []; for (let i = 1; i <= 9; i++) { // 9 is a special number because it means 'last' const label = i === 9 ? 'Last' : `${i}`; diff --git a/app/package.json b/app/package.json index a835fbb4..7c45d839 100644 --- a/app/package.json +++ b/app/package.json @@ -10,10 +10,10 @@ }, "repository": "zeit/hyper", "dependencies": { - "@electron/remote": "2.0.1", + "@electron/remote": "2.0.4", "async-retry": "1.3.3", - "chokidar": "^3.5.2", - "color": "4.1.0", + "chokidar": "^3.5.3", + "color": "4.2.0", "default-shell": "1.0.1", "electron-fetch": "1.7.4", "electron-is-dev": "2.0.0", @@ -23,6 +23,7 @@ "lodash": "4.17.21", "mkdirp": "1.0.4", "ms": "2.1.3", + "native-process-working-directory": "^1.0.2", "node-pty": "0.10.1", "os-locale": "5.0.0", "parse-url": "5.0.7", diff --git a/app/plugins.ts b/app/plugins.ts index f0e418de..8caa2641 100644 --- a/app/plugins.ts +++ b/app/plugins.ts @@ -234,7 +234,7 @@ function toDependencies(plugins_: {plugins: string[]}) { if (match) { const index = match.index + 1; - const pieces = []; + const pieces: string[] = []; pieces[0] = plugin.substring(0, index); pieces[1] = plugin.substring(index + 1, plugin.length); diff --git a/app/tsconfig.json b/app/tsconfig.json index 467bd920..d18cc80a 100644 --- a/app/tsconfig.json +++ b/app/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../tsconfig.base.json", "compilerOptions": { "declarationDir": "../dist/tmp/appdts/", - "outDir": "../target/" + "outDir": "../target/", + "noImplicitAny": false }, "include": [ "./**/*", diff --git a/app/ui/window.ts b/app/ui/window.ts index 0580c655..c8b61949 100644 --- a/app/ui/window.ts +++ b/app/ui/window.ts @@ -15,10 +15,12 @@ import {execCommand} from '../commands'; import {setRendererType, unsetRendererType} from '../utils/renderer-utils'; import {decorateSessionOptions, decorateSessionClass} from '../plugins'; import {enable as remoteEnable} from '@electron/remote/main'; +import {configOptions} from '../../lib/config'; +import {getWorkingDirectoryFromPID} from 'native-process-working-directory'; export function newWindow( options_: BrowserWindowConstructorOptions, - cfg: any, + cfg: configOptions, fn?: (win: BrowserWindow) => void ): BrowserWindow { const classOpts = Object.assign({uid: uuidv4()}); @@ -128,10 +130,21 @@ export function newWindow( if (extraOptions[key] !== undefined) extraOptionsFiltered[key] = extraOptions[key]; }); + let cwd = ''; + if (cfg.preserveCWD === undefined || cfg.preserveCWD) { + const activePID = extraOptionsFiltered.activeUid && sessions.get(extraOptionsFiltered.activeUid)?.pty?.pid; + try { + cwd = activePID && getWorkingDirectoryFromPID(activePID); + } catch (error) { + console.error(error); + } + cwd = cwd && isAbsolute(cwd) ? cwd : ''; + } + // remove the rows and cols, the wrong value of them will break layout when init create const defaultOptions = Object.assign( { - cwd: workingDirectory, + cwd: cwd || workingDirectory, splitDirection: undefined, shell: cfg.shell, shellArgs: cfg.shellArgs && Array.from(cfg.shellArgs) diff --git a/app/updater.ts b/app/updater.ts index 7cfe4240..39ba2870 100644 --- a/app/updater.ts +++ b/app/updater.ts @@ -7,7 +7,6 @@ import retry from 'async-retry'; import {version} from './package.json'; import {getDecoratedConfig} from './plugins'; import autoUpdaterLinux from './auto-updater-linux'; -import {execSync} from 'child_process'; const {platform} = process; const isLinux = platform === 'linux'; @@ -35,24 +34,9 @@ let isInit = false; // Default to the "stable" update channel let canaryUpdates = false; -// Detect if we are running inside Rosetta emulation -const isRosetta = () => { - if (platform !== 'darwin') { - return false; - } - const sysctlRosettaInfoKey = 'sysctl.proc_translated'; - let results = ''; - try { - results = execSync(`sysctl ${sysctlRosettaInfoKey}`).toString(); - } catch (error) { - console.log('Failed to detect Rosetta'); - } - return results.includes(`${sysctlRosettaInfoKey}: 1`); -}; - const buildFeedUrl = (canary: boolean, currentVersion: string) => { const updatePrefix = canary ? 'releases-canary' : 'releases'; - const archSuffix = process.arch === 'arm64' || isRosetta() ? '_arm64' : ''; + const archSuffix = process.arch === 'arm64' || app.runningUnderARM64Translation ? '_arm64' : ''; return `https://${updatePrefix}.hyper.is/update/${isLinux ? 'deb' : platform}${archSuffix}/${currentVersion}`; }; diff --git a/app/yarn.lock b/app/yarn.lock index db932596..7676c119 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@electron/remote@2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@electron/remote/-/remote-2.0.1.tgz#810cbc595a21f0f94641eb2d7e8264063a3f84de" - integrity sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA== +"@electron/remote@2.0.4": + version "2.0.4" + resolved "https://registry.npmjs.org/@electron/remote/-/remote-2.0.4.tgz#c3dae436aed79d1b8adcefc5a4963c06750ad5d8" + integrity sha512-8m2P/d2RH986PmMW5lKygbPEjEYJ7RgCe37Y8DQ1wujKMH6VjmLIB+Y+DP2SA611svCZc58TRSd8FraGvcfGZw== "@types/semver@^7.3.8": version "7.3.8" @@ -61,10 +61,10 @@ braces@~3.0.2: dependencies: fill-range "^7.0.1" -chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -96,10 +96,10 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/color/-/color-4.1.0.tgz#9502e6a2dcacb26adf4c60910a27628d010b3de3" - integrity sha512-o2rkkxyLGgYoeUy1OodXpbPAQNmlNBrirQ8ODO8QutzDiDMNdezSOZLNnusQ6pUpCQJUsaJIo9DZJKqa2HgH7A== +color@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/color/-/color-4.2.0.tgz#0c782459a3e98838ea01e4bc0fb43310ca35af78" + integrity sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ== dependencies: color-convert "^2.0.1" color-string "^1.9.0" @@ -441,6 +441,13 @@ nan@^2.14.0: resolved "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +native-process-working-directory@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/native-process-working-directory/-/native-process-working-directory-1.0.2.tgz#7843e2fa1490f53cf8d2c7d1913de8b275e8b89a" + integrity sha512-3a67QQV8r3YMUTSOgvtMOCjPDgCpb/8xjv93L8Cqb8bv3hOKsWis4/+8HCu3bgj8ADQV75SCYFSsAGM5G0cXmQ== + dependencies: + node-addon-api "^3.1.0" + native-reg@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/native-reg/-/native-reg-1.0.0.tgz#77f9acbf59eda02680c00b0b1b9d1e0078b7820d" @@ -448,6 +455,11 @@ native-reg@1.0.0: dependencies: node-gyp-build "4" +node-addon-api@^3.1.0: + version "3.2.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-gyp-build@4: version "4.3.0" resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" diff --git a/electron-builder.json b/electron-builder.json index d2f8d33b..48c4cd31 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -120,7 +120,11 @@ "afterInstall": "./build/linux/after-install.tpl" }, "rpm": { - "afterInstall": "./build/linux/after-install.tpl" + "afterInstall": "./build/linux/after-install.tpl", + "fpm": [ + "--rpm-rpmbuild-define", + "_build_id_links none" + ] }, "snap": { "confinement": "classic", @@ -132,4 +136,4 @@ "ssh" ] } -} +} \ No newline at end of file diff --git a/lib/actions/sessions.ts b/lib/actions/sessions.ts index af77f765..92b07eb1 100644 --- a/lib/actions/sessions.ts +++ b/lib/actions/sessions.ts @@ -13,8 +13,7 @@ import { SESSION_CLEAR_ACTIVE, SESSION_USER_DATA, SESSION_SET_XTERM_TITLE, - SESSION_SEARCH, - SESSION_SEARCH_CLOSE + SESSION_SEARCH } from '../constants/sessions'; import {HyperState, session, HyperDispatch, HyperActions} from '../hyper'; @@ -135,12 +134,13 @@ export function resizeSession(uid: string, cols: number, rows: number) { }; } -export function onSearch(uid?: string) { +export function openSearch(uid?: string) { return (dispatch: HyperDispatch, getState: () => HyperState) => { const targetUid = uid || getState().sessions.activeUid!; dispatch({ type: SESSION_SEARCH, - uid: targetUid + uid: targetUid, + value: true }); }; } @@ -150,8 +150,9 @@ export function closeSearch(uid?: string, keyEvent?: any) { const targetUid = uid || getState().sessions.activeUid!; if (getState().sessions.sessions[targetUid]?.search) { dispatch({ - type: SESSION_SEARCH_CLOSE, - uid: targetUid + type: SESSION_SEARCH, + uid: targetUid, + value: false }); } else { if (keyEvent) { diff --git a/lib/actions/term-groups.ts b/lib/actions/term-groups.ts index 4696bb6d..e8b1ca67 100644 --- a/lib/actions/term-groups.ts +++ b/lib/actions/term-groups.ts @@ -45,12 +45,12 @@ export function requestTermGroup(activeUid: string) { dispatch({ type: TERM_GROUP_REQUEST, effect: () => { - const {ui} = getState(); + const {ui, sessions} = getState(); const {cwd} = ui; rpc.emit('new', { isNewGroup: true, cwd, - activeUid + activeUid: activeUid ? activeUid : sessions.activeUid }); } }); diff --git a/lib/components/term-group.tsx b/lib/components/term-group.tsx index a0a0f691..de13b0a8 100644 --- a/lib/components/term-group.tsx +++ b/lib/components/term-group.tsx @@ -95,7 +95,8 @@ class TermGroup_ extends React.PureComponent { onResize: this.bind(this.props.onResize, null, uid), onTitle: this.bind(this.props.onTitle, null, uid), onData: this.bind(this.props.onData, null, uid), - toggleSearch: this.bind(this.props.toggleSearch, null, uid), + onOpenSearch: this.bind(this.props.onOpenSearch, null, uid), + onCloseSearch: this.bind(this.props.onCloseSearch, null, uid), onContextMenu: this.bind(this.props.onContextMenu, null, uid), borderColor: this.props.borderColor, selectionColor: this.props.selectionColor, diff --git a/lib/components/term.tsx b/lib/components/term.tsx index 352f7026..16846184 100644 --- a/lib/components/term.tsx +++ b/lib/components/term.tsx @@ -309,7 +309,8 @@ export default class Term extends React.PureComponent { }; closeSearchBox = () => { - this.props.toggleSearch(); + this.props.onCloseSearch(); + this.term.focus(); }; resize(cols: number, rows: number) { diff --git a/lib/components/terms.tsx b/lib/components/terms.tsx index 1ba2040c..40c13c9f 100644 --- a/lib/components/terms.tsx +++ b/lib/components/terms.tsx @@ -109,7 +109,8 @@ export default class Terms extends React.Component { onResize: this.props.onResize, onTitle: this.props.onTitle, onData: this.props.onData, - toggleSearch: this.props.toggleSearch, + onOpenSearch: this.props.onOpenSearch, + onCloseSearch: this.props.onCloseSearch, onContextMenu: this.props.onContextMenu, quickEdit: this.props.quickEdit, webGLRenderer: this.props.webGLRenderer, diff --git a/lib/config.d.ts b/lib/config.d.ts index ce0e6c13..7d12c193 100644 --- a/lib/config.d.ts +++ b/lib/config.d.ts @@ -50,6 +50,7 @@ export type configOptions = { cmdIsMeta: boolean; }; padding: string; + preserveCWD: boolean; quickEdit: boolean; screenReaderMode: boolean; scrollback: number; @@ -65,6 +66,7 @@ export type configOptions = { webGLRenderer: boolean; webLinksActivationKey: 'ctrl' | 'alt' | 'meta' | 'shift'; windowSize: [number, number]; + workingDirectory: string; }; export type rawConfig = { diff --git a/lib/constants/sessions.ts b/lib/constants/sessions.ts index 0ef2f5d9..df96b59e 100644 --- a/lib/constants/sessions.ts +++ b/lib/constants/sessions.ts @@ -13,7 +13,6 @@ export const SESSION_URL_UNSET = 'SESSION_URL_UNSET'; export const SESSION_SET_XTERM_TITLE = 'SESSION_SET_XTERM_TITLE'; export const SESSION_SET_CWD = 'SESSION_SET_CWD'; export const SESSION_SEARCH = 'SESSION_SEARCH'; -export const SESSION_SEARCH_CLOSE = 'SESSION_SEARCH_CLOSE'; export interface SessionAddAction { type: typeof SESSION_ADD; @@ -83,10 +82,7 @@ export interface SessionSetCwdAction { export interface SessionSearchAction { type: typeof SESSION_SEARCH; uid: string; -} -export interface SessionSearchCloseAction { - type: typeof SESSION_SEARCH_CLOSE; - uid: string; + value: boolean; } export type SessionActions = @@ -104,5 +100,4 @@ export type SessionActions = | SessionUrlUnsetAction | SessionSetXtermTitleAction | SessionSetCwdAction - | SessionSearchAction - | SessionSearchCloseAction; + | SessionSearchAction; diff --git a/lib/containers/terms.ts b/lib/containers/terms.ts index 346545ff..c6ca776e 100644 --- a/lib/containers/terms.ts +++ b/lib/containers/terms.ts @@ -1,6 +1,13 @@ import Terms from '../components/terms'; import {connect} from '../utils/plugins'; -import {resizeSession, sendSessionData, setSessionXtermTitle, setActiveSession, onSearch} from '../actions/sessions'; +import { + resizeSession, + sendSessionData, + setSessionXtermTitle, + setActiveSession, + openSearch, + closeSearch +} from '../actions/sessions'; import {openContextMenu} from '../actions/ui'; import {getRootGroups} from '../selectors'; @@ -67,8 +74,13 @@ const mapDispatchToProps = (dispatch: HyperDispatch) => { onActive(uid: string) { dispatch(setActiveSession(uid)); }, - toggleSearch(uid: string) { - dispatch(onSearch(uid)); + + onOpenSearch(uid: string) { + dispatch(openSearch(uid)); + }, + + onCloseSearch(uid: string) { + dispatch(closeSearch(uid)); }, onContextMenu(uid: string, selection: any) { diff --git a/lib/hyper.d.ts b/lib/hyper.d.ts index d2941ad7..b6509d81 100644 --- a/lib/hyper.d.ts +++ b/lib/hyper.d.ts @@ -283,7 +283,9 @@ export type TermGroupOwnProps = { | 'modifierKeys' | 'onActive' | 'onContextMenu' + | 'onCloseSearch' | 'onData' + | 'onOpenSearch' | 'onResize' | 'onTitle' | 'padding' @@ -292,7 +294,6 @@ export type TermGroupOwnProps = { | 'scrollback' | 'selectionColor' | 'sessions' - | 'toggleSearch' | 'uiFontFamily' | 'webGLRenderer' | 'webLinksActivationKey' @@ -338,9 +339,11 @@ export type TermProps = { macOptionSelectionMode: string; modifierKeys: Immutable<{altIsMeta: boolean; cmdIsMeta: boolean}>; onActive: () => void; + onCloseSearch: () => void; onContextMenu: (selection: any) => void; onCursorMove?: (cursorFrame: {x: number; y: number; width: number; height: number; col: number; row: number}) => void; onData: (data: string) => void; + onOpenSearch: () => void; onResize: (cols: number, rows: number) => void; onTitle: (title: string) => void; padding: string; @@ -352,7 +355,6 @@ export type TermProps = { searchAddon: SearchAddon | null; selectionColor: string; term: Terminal | null; - toggleSearch: () => void; uid: string; uiFontFamily: string; url: string | null; diff --git a/lib/index.tsx b/lib/index.tsx index 41296004..944d143c 100644 --- a/lib/index.tsx +++ b/lib/index.tsx @@ -148,7 +148,7 @@ rpc.on('session tmux req', () => { }); rpc.on('session search', () => { - store_.dispatch(sessionActions.onSearch()); + store_.dispatch(sessionActions.openSearch()); }); rpc.on('session search close', () => { diff --git a/lib/reducers/sessions.ts b/lib/reducers/sessions.ts index 1850df2f..ade6a2bc 100644 --- a/lib/reducers/sessions.ts +++ b/lib/reducers/sessions.ts @@ -10,8 +10,7 @@ import { SESSION_RESIZE, SESSION_SET_XTERM_TITLE, SESSION_SET_CWD, - SESSION_SEARCH, - SESSION_SEARCH_CLOSE + SESSION_SEARCH } from '../constants/sessions'; import {sessionState, session, Mutable, ISessionReducer} from '../hyper'; @@ -61,10 +60,7 @@ const reducer: ISessionReducer = (state = initialState, action) => { return state.set('activeUid', action.uid); case SESSION_SEARCH: - return state.setIn(['sessions', action.uid, 'search'], !state.sessions[action.uid].search); - - case SESSION_SEARCH_CLOSE: - return state.setIn(['sessions', action.uid, 'search'], false); + return state.setIn(['sessions', action.uid, 'search'], action.value); case SESSION_CLEAR_ACTIVE: return state.merge( diff --git a/package.json b/package.json index 62e9f5d4..0ac0e252 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,10 @@ "email": "team@zeit.co" }, "dependencies": { - "@electron/remote": "2.0.1", + "@electron/remote": "2.0.4", "args": "5.0.1", "chalk": "4.1.2", - "color": "4.1.0", + "color": "4.2.0", "columnify": "1.5.4", "css-loader": "6.5.1", "got": "11.8.3", @@ -48,23 +48,23 @@ "seamless-immutable": "7.1.4", "semver": "7.3.5", "shebang-loader": "0.0.1", - "styled-jsx": "4.0.1", + "styled-jsx": "5.0.0", "stylis": "3.5.4", "uuid": "8.3.2", - "webpack-cli": "4.9.1", - "xterm": "^4.16.0", + "webpack-cli": "4.9.2", + "xterm": "4.18.0-beta.2", "xterm-addon-fit": "^0.5.0", - "xterm-addon-ligatures": "0.6.0-beta.4", + "xterm-addon-ligatures": "0.6.0-beta.7", "xterm-addon-search": "^0.8.2", "xterm-addon-unicode11": "^0.3.0", "xterm-addon-web-links": "^0.5.0", - "xterm-addon-webgl": "^0.11.4" + "xterm-addon-webgl": "0.12.0-beta.24" }, "devDependencies": { "@ava/babel": "2.0.0", "@ava/typescript": "^3.0.1", - "@babel/cli": "7.16.7", - "@babel/core": "7.16.7", + "@babel/cli": "7.16.8", + "@babel/core": "7.16.12", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.16.7", @@ -80,29 +80,29 @@ "@types/mkdirp": "1.0.2", "@types/mousetrap": "1.6.9", "@types/ms": "0.7.31", - "@types/node": "^14.17.14", + "@types/node": "16.11.21", "@types/pify": "5.0.1", "@types/plist": "3.0.2", "@types/react": "^17.0.38", "@types/react-dom": "^17.0.11", - "@types/react-redux": "^7.1.21", + "@types/react-redux": "^7.1.22", "@types/seamless-immutable": "7.1.16", "@types/styled-jsx": "2.2.9", "@types/terser-webpack-plugin": "5.2.0", - "@types/uuid": "8.3.3", + "@types/uuid": "8.3.4", "@typescript-eslint/eslint-plugin": "4.33.0", "@typescript-eslint/parser": "4.33.0", - "ava": "4.0.0", + "ava": "4.0.1", "babel-loader": "8.2.3", "concurrently": "7.0.0", - "copy-webpack-plugin": "10.2.0", + "copy-webpack-plugin": "10.2.4", "cpy-cli": "^3.1.1", "cross-env": "7.0.3", - "electron": "^14.2.3", + "electron": "^16.0.8", "electron-builder": "^22.14.5", "electron-devtools-installer": "3.2.0", "electron-notarize": "1.1.1", - "electron-rebuild": "3.2.5", + "electron-rebuild": "3.2.7", "electronmon": "^2.0.2", "eslint": "7.32.0", "eslint-config-prettier": "8.3.0", @@ -111,10 +111,10 @@ "eslint-plugin-react": "7.28.0", "husky": "7.0.4", "inquirer": "8.2.0", - "node-addon-api": "4.2.0", + "node-addon-api": "4.3.0", "node-gyp": "8.4.1", "null-loader": "4.0.1", - "playwright": "1.17.1", + "playwright": "1.18.1", "plist": "3.0.4", "prettier": "2.5.1", "proxyquire": "2.1.3", @@ -122,8 +122,8 @@ "style-loader": "3.3.1", "terser": "5.10.0", "ts-node": "10.4.0", - "typescript": "4.5.4", - "webpack": "5.65.0" + "typescript": "4.5.5", + "webpack": "5.67.0" }, "electronmon": { "patterns": [ diff --git a/test/index.ts b/test/index.ts index 15370d7e..b88c28aa 100644 --- a/test/index.ts +++ b/test/index.ts @@ -37,15 +37,11 @@ test.before(async () => { test.after(async () => { await app - .evaluate(async ({BrowserWindow, desktopCapturer, screen}) => { - // eslint-disable-next-line prefer-const - let {width, height, ...position} = BrowserWindow.getFocusedWindow()!.getBounds(); - const {scaleFactor} = screen.getDisplayNearestPoint(position); - width *= scaleFactor; - height *= scaleFactor; - const sources = await desktopCapturer.getSources({types: ['window'], thumbnailSize: {width, height}}); - return sources[0].thumbnail.toPNG().toString('base64'); - }) + .evaluate(({BrowserWindow}) => + BrowserWindow.getFocusedWindow() + ?.capturePage() + .then((img) => img.toPNG().toString('base64')) + ) .then((img) => Buffer.from(img || '', 'base64')) .then(async (imageBuffer) => { await fs.writeFile(`dist/tmp/${process.platform}_test.png`, imageBuffer); diff --git a/yarn.lock b/yarn.lock index 562bfa2b..5b0b91c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -47,10 +47,10 @@ escape-string-regexp "^5.0.0" execa "^5.1.1" -"@babel/cli@7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.16.7.tgz#4184b5ec6a22106e9dd64bbcaa2eb22675ff595d" - integrity sha512-0iBF+G2Qml0y3mY5dirolyToLSR88a/KB6F2Gm8J/lOnyL8wbEOHak0DHF8gjc9XZGgTDGv/jYXNiapvsYyHTA== +"@babel/cli@7.16.8": + version "7.16.8" + resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.16.8.tgz#44b9be7706762bfa3bff8adbf746da336eb0ab7c" + integrity sha512-FTKBbxyk5TclXOGmwYyqelqP5IF6hMxaeJskd85jbR5jBfYlwqgwAbJwnixi1ZBbTqKfFuAA95mdmUFeSRwyJA== dependencies: commander "^4.0.1" convert-source-map "^1.1.0" @@ -82,20 +82,20 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.16.7", "@babel/core@^7.14.6": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== +"@babel/core@7.16.12", "@babel/core@^7.14.6": + version "7.16.12" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" + "@babel/generator" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" + "@babel/parser" "^7.16.12" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -103,12 +103,12 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.14.5", "@babel/generator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb" - integrity sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg== +"@babel/generator@^7.0.0", "@babel/generator@^7.14.5", "@babel/generator@^7.16.8": + version "7.16.8" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.16.8" jsesc "^2.5.1" source-map "^0.5.0" @@ -244,7 +244,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.16.7": +"@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== @@ -272,10 +272,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" - integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== +"@babel/parser@^7.0.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7": + version "7.16.12" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== "@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" @@ -336,13 +336,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" - integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" @@ -481,34 +474,26 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz#dac01236a72c2560073658dd1a285fe4e0865d76" - integrity sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ== +"@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7": + version "7.16.10" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" + "@babel/generator" "^7.16.8" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/parser" "^7.16.10" + "@babel/types" "^7.16.8" debug "^4.1.0" globals "^11.1.0" -"@babel/types@7.15.0": - version "7.15.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" - integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - to-fast-properties "^2.0.0" - -"@babel/types@^7.16.0", "@babel/types@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159" - integrity sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg== +"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8": + version "7.16.8" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" @@ -538,10 +523,10 @@ resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== -"@electron/get@^1.0.1": - version "1.12.4" - resolved "https://registry.npmjs.org/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab" - integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg== +"@electron/get@^1.13.0": + version "1.13.1" + resolved "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" + integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== dependencies: debug "^4.1.1" env-paths "^2.2.0" @@ -551,13 +536,13 @@ semver "^6.2.0" sumchecker "^3.0.1" optionalDependencies: - global-agent "^2.0.2" + global-agent "^3.0.0" global-tunnel-ng "^2.7.1" -"@electron/remote@2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@electron/remote/-/remote-2.0.1.tgz#810cbc595a21f0f94641eb2d7e8264063a3f84de" - integrity sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA== +"@electron/remote@2.0.4": + version "2.0.4" + resolved "https://registry.npmjs.org/@electron/remote/-/remote-2.0.4.tgz#c3dae436aed79d1b8adcefc5a4963c06750ad5d8" + integrity sha512-8m2P/d2RH986PmMW5lKygbPEjEYJ7RgCe37Y8DQ1wujKMH6VjmLIB+Y+DP2SA611svCZc58TRSd8FraGvcfGZw== "@electron/universal@1.0.5": version "1.0.5" @@ -878,7 +863,12 @@ resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@^14.17.14", "@types/node@^14.6.2": +"@types/node@*", "@types/node@16.11.21": + version "16.11.21" + resolved "https://registry.npmjs.org/@types/node/-/node-16.11.21.tgz#474d7589a30afcf5291f59bd49cca9ad171ffde4" + integrity sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A== + +"@types/node@^14.6.2": version "14.17.14" resolved "https://registry.npmjs.org/@types/node/-/node-14.17.14.tgz#6fda9785b41570eb628bac27be4b602769a3f938" integrity sha512-rsAj2u8Xkqfc332iXV12SqIsjVi07H479bOP4q94NAcjzmAvapumEhuVIt53koEf7JFrpjgNKjBga5Pnn/GL8A== @@ -913,10 +903,10 @@ dependencies: "@types/react" "*" -"@types/react-redux@^7.1.20", "@types/react-redux@^7.1.21": - version "7.1.21" - resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.21.tgz#f32bbaf7cbc4b93f51e10d340aa54035c084b186" - integrity sha512-bLdglUiBSQNzWVVbmNPKGYYjrzp3/YDPwfOH3nLEz99I4awLlaRAPWjo6bZ2POpxztFWtDDXIPxBLVykXqBt+w== +"@types/react-redux@^7.1.20", "@types/react-redux@^7.1.22": + version "7.1.22" + resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.22.tgz#0eab76a37ef477cc4b53665aeaf29cb60631b72a" + integrity sha512-GxIA1kM7ClU73I6wg9IRTVwSO9GS+SAKZKe0Enj+82HMU6aoESFU2HNAdNi3+J53IaOHPiUfT3kSG4L828joDQ== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -968,10 +958,10 @@ dependencies: terser-webpack-plugin "*" -"@types/uuid@8.3.3": - version "8.3.3" - resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" - integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== +"@types/uuid@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/verror@^1.10.3": version "1.10.4" @@ -1188,22 +1178,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== +"@webpack-cli/configtest@^1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356" + integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg== -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== +"@webpack-cli/info@^1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea" + integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== +"@webpack-cli/serve@^1.6.1": + version "1.6.1" + resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe" + integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -1609,10 +1599,10 @@ atob@^2.1.2: resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -ava@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/ava/-/ava-4.0.0.tgz#9df5f8da7ece86869a66186f139259897aeb2fbf" - integrity sha512-XEVx8EE/ZseJ3nz3nfVG+UoT4aGyUmD5s6SZFs5Aqi04Yr77DZAx7ItyW5hThtYywkOLdsM68as/u6P5fmb52Q== +ava@4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/ava/-/ava-4.0.1.tgz#dadc24ff5f41f48ff8d5cd9b80a9de9d1ffdf016" + integrity sha512-+12A/JDWyShBCZAKISEEPyM2dwkUrrAfPILqXi4LI4Aa58d92PzjY829hmuoSeACPNqrn2Wlbnja8c/n7bKV6Q== dependencies: acorn "^8.7.0" acorn-walk "^8.2.0" @@ -2258,10 +2248,10 @@ color-support@^1.1.2: resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -color@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/color/-/color-4.1.0.tgz#9502e6a2dcacb26adf4c60910a27628d010b3de3" - integrity sha512-o2rkkxyLGgYoeUy1OodXpbPAQNmlNBrirQ8ODO8QutzDiDMNdezSOZLNnusQ6pUpCQJUsaJIo9DZJKqa2HgH7A== +color@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/color/-/color-4.2.0.tgz#0c782459a3e98838ea01e4bc0fb43310ca35af78" + integrity sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ== dependencies: color-convert "^2.0.1" color-string "^1.9.0" @@ -2281,11 +2271,6 @@ colors@1.0.3: resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= -colors@^1.3.3: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - columnify@1.5.4: version "1.5.4" resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -2421,13 +2406,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -convert-source-map@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - convert-source-map@^1.1.0, convert-source-map@^1.7.0, convert-source-map@^1.8.0: version "1.8.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" @@ -2445,10 +2423,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@10.2.0: - version "10.2.0" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz#24c2d256953a55400a1ec66be4e0eccd1c4ae958" - integrity sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og== +copy-webpack-plugin@10.2.4: + version "10.2.4" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== dependencies: fast-glob "^3.2.7" glob-parent "^6.0.1" @@ -2462,11 +2440,6 @@ core-js@^2.0.0: resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.6.5: - version "3.8.2" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz#0a1fd6709246da9ca8eff5bb0cbd15fba9ac7044" - integrity sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A== - core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2908,18 +2881,18 @@ electron-publish@22.14.5: lazy-val "^1.0.5" mime "^2.5.2" -electron-rebuild@3.2.5: - version "3.2.5" - resolved "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.5.tgz#a9e82b4259aac33ad449f6959de68ded2c5679f8" - integrity sha512-U9dKi10V9w/BdIVB8a8dTKYLK3Q1d2WZ+Yo5qfM3XX/O4jI7KpnwgvWgGoVv0jTWPC2NlebF00ffWS/8NfUAtA== +electron-rebuild@3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.7.tgz#0f56c1cc99a6fec0a5b990532283c2a8c838c19b" + integrity sha512-WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw== dependencies: "@malept/cross-spawn-promise" "^2.0.0" - colors "^1.3.3" + chalk "^4.0.0" debug "^4.1.1" detect-libc "^1.0.3" fs-extra "^10.0.0" got "^11.7.0" - lzma-native "^8.0.1" + lzma-native "^8.0.5" node-abi "^3.0.0" node-api-version "^0.1.4" node-gyp "^8.4.0" @@ -2933,12 +2906,12 @@ electron-to-chromium@^1.4.17: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz#9cf8a92d5729c480ee47ff0aa5555f57467ae2fa" integrity sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg== -electron@^14.2.3: - version "14.2.3" - resolved "https://registry.npmjs.org/electron/-/electron-14.2.3.tgz#3facf572c57cefe8ce80154ad3e63f937784644b" - integrity sha512-7wBqvzUKhK1tw544w3+F8J7NajnqURGC4pH3VFTiBHU5ayiI/oaTTXJxyFLZ54zsR7xwon/3dYEVjIm2i68+Zg== +electron@^16.0.8: + version "16.0.8" + resolved "https://registry.npmjs.org/electron/-/electron-16.0.8.tgz#7ebd3e23c4883c239f53d8b7af1100f455ac8a02" + integrity sha512-znTVkl8LaGcPNdfc6SRr+6LYg2GtSCKXln/nW/PC+urBfAFnOYIuDock8QyGVFfzr5PuAa+g8YQQAboHV77D7g== dependencies: - "@electron/get" "^1.0.1" + "@electron/get" "^1.13.0" "@types/node" "^14.6.2" extract-zip "^1.0.3" @@ -2972,11 +2945,6 @@ emoji-regex@^9.2.2: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -3778,13 +3746,12 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -global-agent@^2.0.2: - version "2.1.12" - resolved "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" - integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== dependencies: boolean "^3.0.1" - core-js "^3.6.5" es6-error "^4.1.1" matcher "^3.0.0" roarr "^2.15.3" @@ -3899,10 +3866,10 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.6" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -4873,15 +4840,6 @@ loader-runner@^4.2.0: resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" @@ -4991,10 +4949,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lzma-native@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.1.tgz#8569e2f88de461a9a2469ac9d8183637c387d682" - integrity sha512-Ryr9X3yDVZhRYOxR8QhUBCNe6GdEfy9BvFDIFtUvEkocvSvnrYt9lRm6FR1z0eQn0QSMenrgrDIJRMgUf9zsKQ== +lzma-native@^8.0.5: + version "8.0.5" + resolved "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.5.tgz#096758ef54ff2402cc36d25e3bb5921efaa1c156" + integrity sha512-lEkBBmePuYBycdlK8ul/sKQuZW47FMxAdjeTgDZLY4duX5Q067JJLUueyzN0wCAw6t2Y6YXCcAqHA5A1jQ9ttQ== dependencies: node-addon-api "^3.1.0" node-gyp-build "^4.2.1" @@ -5331,9 +5289,9 @@ mute-stream@0.0.8: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nanoid@^3.1.23: - version "3.1.23" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + version "3.2.0" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== nanomatch@^1.2.9: version "1.2.13" @@ -5379,10 +5337,10 @@ node-abi@^3.0.0: dependencies: semver "^7.3.5" -node-addon-api@4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87" - integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q== +node-addon-api@4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" + integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== node-addon-api@^1.6.3: version "1.7.2" @@ -5975,10 +5933,10 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -playwright-core@=1.17.1: - version "1.17.1" - resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.17.1.tgz#a16e0f89284a0ed8ae6d77e1c905c84b8a2ba022" - integrity sha512-C3c8RpPiC3qr15fRDN6dx6WnUkPLFmST37gms2aoHPDRvp7EaGDPMMZPpqIm/QWB5J40xDrQCD4YYHz2nBTojQ== +playwright-core@=1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.18.1.tgz#a5cf3f212d10692382e2acd1f7bc8c9ff9bbb849" + integrity sha512-NALGl8R1GHzGLlhUApmpmfh6M1rrrPcDTygWvhTbprxwGB9qd/j9DRwyn4HTQcUB6o0/VOpo46fH9ez3+D/Rog== dependencies: commander "^8.2.0" debug "^4.1.1" @@ -5997,12 +5955,12 @@ playwright-core@=1.17.1: yauzl "^2.10.0" yazl "^2.5.1" -playwright@1.17.1: - version "1.17.1" - resolved "https://registry.npmjs.org/playwright/-/playwright-1.17.1.tgz#a6d63302ee40f41283c4bf869de261c4743a787c" - integrity sha512-DisCkW9MblDJNS3rG61p8LiLA2WA7IY/4A4W7DX4BphWe/HuWjKmGQptuk4NVIh5UuSwXpW/jaH2+ZgjHs3GMA== +playwright@1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/playwright/-/playwright-1.18.1.tgz#45c2ca6ee25c44e336985de9b51955727b5f17cf" + integrity sha512-8EaX9EtbtAoMq5tnzIsoA3b/V86V/6Mq2skuOU4qEw+5OVxs1lwesDwmjy/RVU1Qfx5UuwSQzhp45wyH22oa+A== dependencies: - playwright-core "=1.17.1" + playwright-core "=1.18.1" plist@3.0.4, plist@^3.0.1: version "3.0.4" @@ -6880,11 +6838,6 @@ source-map-url@^0.4.0: resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -6895,6 +6848,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" @@ -6970,11 +6928,6 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -string-hash@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -7121,24 +7074,10 @@ style-loader@3.3.1: resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== -styled-jsx@4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-4.0.1.tgz#ae3f716eacc0792f7050389de88add6d5245b9e9" - integrity sha512-Gcb49/dRB1k8B4hdK8vhW27Rlb2zujCk1fISrizCcToIs+55B4vmUM0N9Gi4nnVfFZWe55jRdWpAqH1ldAKWvQ== - dependencies: - "@babel/plugin-syntax-jsx" "7.14.5" - "@babel/types" "7.15.0" - convert-source-map "1.7.0" - loader-utils "1.2.3" - source-map "0.7.3" - string-hash "1.1.3" - stylis "3.5.4" - stylis-rule-sheet "0.0.10" - -stylis-rule-sheet@0.0.10: - version "0.0.10" - resolved "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" - integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== +styled-jsx@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" + integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA== stylis@3.5.4: version "3.5.4" @@ -7441,10 +7380,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.5.4: - version "4.5.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== +typescript@4.5.5: + version "4.5.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== unbox-primitive@^1.0.1: version "1.0.1" @@ -7632,15 +7571,15 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -webpack-cli@4.9.1: - version "4.9.1" - resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== +webpack-cli@4.9.2: + version "4.9.2" + resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d" + integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" + "@webpack-cli/configtest" "^1.1.1" + "@webpack-cli/info" "^1.4.1" + "@webpack-cli/serve" "^1.6.1" colorette "^2.0.14" commander "^7.0.0" execa "^5.0.0" @@ -7658,15 +7597,15 @@ webpack-merge@^5.7.3: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== +webpack@5.67.0: + version "5.67.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" + integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -7682,7 +7621,7 @@ webpack@5.65.0: eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" @@ -7691,7 +7630,7 @@ webpack@5.65.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.3.1" - webpack-sources "^3.2.2" + webpack-sources "^3.2.3" well-known-symbols@^2.0.0: version "2.0.0" @@ -7794,10 +7733,10 @@ xterm-addon-fit@^0.5.0: resolved "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz#2d51b983b786a97dcd6cde805e700c7f913bc596" integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ== -xterm-addon-ligatures@0.6.0-beta.4: - version "0.6.0-beta.4" - resolved "https://registry.npmjs.org/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.4.tgz#d97520ccf874726127562ab42c6c57057d1742bf" - integrity sha512-gQJ4NJodeqc6PfRfHa+DLoWqnSHAyG6J/qIdFyQgcAl827eL1K9PnDQ+8mVjPQRv9mjbfG6fDRNh/hfqbVS52w== +xterm-addon-ligatures@0.6.0-beta.7: + version "0.6.0-beta.7" + resolved "https://registry.npmjs.org/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.7.tgz#9c4bfc96a165e44add390ddcc3e7ea64650e1cf3" + integrity sha512-ZX1H1S79JaFhwzkkUD3WKIn6lTktLBU3UqCwB+0B8vXS6PNAboAjeioTck+aB+N6uyQEBESrimwFBEhwPjujlw== dependencies: font-finder "^1.1.0" font-ligatures "^1.4.1" @@ -7817,15 +7756,15 @@ xterm-addon-web-links@^0.5.0: resolved "https://registry.npmjs.org/xterm-addon-web-links/-/xterm-addon-web-links-0.5.0.tgz#c6869c0032e6709e2437315199d794a3b94a183e" integrity sha512-egDNFDvuArQ0QKE/ZdP1HMo70Lm8nSOjuIJY0kYjqCCE6yntjyuGzjeoYD+CIQ12gJ6B6thVh8nTApi27qYiag== -xterm-addon-webgl@^0.11.4: - version "0.11.4" - resolved "https://registry.npmjs.org/xterm-addon-webgl/-/xterm-addon-webgl-0.11.4.tgz#e22f3ec0cafca3d4adcabb89bb7c16efaaf3c8db" - integrity sha512-/a/VFeftc+etGXQYWaaks977j1P7/wickBXn15zDxZzXYYMT9RN17ztqyIDVLXg9krtg28+icKK6lvgIYghJ0w== +xterm-addon-webgl@0.12.0-beta.24: + version "0.12.0-beta.24" + resolved "https://registry.npmjs.org/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.24.tgz#5c17256933991856554c95c9bd1eaab42e9727a0" + integrity sha512-+wZxKReEOlfN9JRHyikoffA6Do61/THR7QY35ajkQo0lLutKr6hTd/TLTuZh0PhFVelgTgudpXqlP++Lc0WFIA== -xterm@^4.16.0: - version "4.16.0" - resolved "https://registry.npmjs.org/xterm/-/xterm-4.16.0.tgz#af25223c72917438842121e1bcd1b60ffd7e8476" - integrity sha512-nAbuigL9CYkI075mdfqpnB8cHZNKxENCj1CQ9Tm5gSvWkMtkanmRN2mkHGjSaET1/3+X9BqISFFo7Pd2mXVjiQ== +xterm@4.18.0-beta.2: + version "4.18.0-beta.2" + resolved "https://registry.npmjs.org/xterm/-/xterm-4.18.0-beta.2.tgz#50e0de2ebe22fd1600e6d7fbc78136a843bb4c1d" + integrity sha512-fzsSI0xL3HuWBuw5o3xPcR8/R8tTpSd60hHtf0Z2ZrIXDRdniJMw+StOv/xZNp2CUY6LcSiF9MmM0ylgiLHbdw== y18n@^5.0.5: version "5.0.5"