diff --git a/.eslintignore b/.eslintignore index a3799a528..0b0bf0a13 100644 --- a/.eslintignore +++ b/.eslintignore @@ -142,7 +142,12 @@ packages/app-desktop/gui/EditFolderDialog/IconSelector.js packages/app-desktop/gui/EmojiBox.js packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js packages/app-desktop/gui/ErrorBoundary.js +packages/app-desktop/gui/ExtensionBadge.js packages/app-desktop/gui/FolderIconBox.js +packages/app-desktop/gui/HelpButton.js +packages/app-desktop/gui/IconButton.js +packages/app-desktop/gui/ImportScreen.js +packages/app-desktop/gui/ItemList.js packages/app-desktop/gui/KeymapConfig/KeymapConfigScreen.js packages/app-desktop/gui/KeymapConfig/ShortcutRecorder.js packages/app-desktop/gui/KeymapConfig/styles/index.js @@ -193,6 +198,7 @@ packages/app-desktop/gui/MainScreen/commands/toggleVisiblePanes.js packages/app-desktop/gui/MasterPasswordDialog/Dialog.js packages/app-desktop/gui/MenuBar.js packages/app-desktop/gui/MultiNoteActions.js +packages/app-desktop/gui/Navigator.js packages/app-desktop/gui/NoteContentPropertiesDialog.js packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/Editor.js @@ -252,6 +258,10 @@ packages/app-desktop/gui/NoteListControls/commands/focusSearch.js packages/app-desktop/gui/NoteListControls/commands/index.js packages/app-desktop/gui/NoteListItem.js packages/app-desktop/gui/NoteListWrapper/NoteListWrapper.js +packages/app-desktop/gui/NotePropertiesDialog.js +packages/app-desktop/gui/NoteRevisionViewer.js +packages/app-desktop/gui/NoteSearchBar.js +packages/app-desktop/gui/NoteStatusBar.js packages/app-desktop/gui/NoteTextViewer.js packages/app-desktop/gui/NoteToolbar/NoteToolbar.js packages/app-desktop/gui/OneDriveLoginScreen.js @@ -290,12 +300,14 @@ packages/app-desktop/gui/Sidebar/styles/index.js packages/app-desktop/gui/StatusScreen/StatusScreen.js packages/app-desktop/gui/StyleSheets/StyleSheetContainer.js packages/app-desktop/gui/SyncWizard/Dialog.js +packages/app-desktop/gui/TagItem.js packages/app-desktop/gui/TagList.js packages/app-desktop/gui/ToggleEditorsButton/ToggleEditorsButton.js packages/app-desktop/gui/ToggleEditorsButton/styles/index.js packages/app-desktop/gui/ToolbarBase.js packages/app-desktop/gui/ToolbarButton/ToolbarButton.js packages/app-desktop/gui/ToolbarButton/styles/index.js +packages/app-desktop/gui/ToolbarSpace.js packages/app-desktop/gui/dialogs.js packages/app-desktop/gui/hooks/useEffectDebugger.js packages/app-desktop/gui/hooks/useImperativeHandlerDebugger.js diff --git a/.gitignore b/.gitignore index 3d0e3fca7..e52a312aa 100644 --- a/.gitignore +++ b/.gitignore @@ -130,7 +130,12 @@ packages/app-desktop/gui/EditFolderDialog/IconSelector.js packages/app-desktop/gui/EmojiBox.js packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js packages/app-desktop/gui/ErrorBoundary.js +packages/app-desktop/gui/ExtensionBadge.js packages/app-desktop/gui/FolderIconBox.js +packages/app-desktop/gui/HelpButton.js +packages/app-desktop/gui/IconButton.js +packages/app-desktop/gui/ImportScreen.js +packages/app-desktop/gui/ItemList.js packages/app-desktop/gui/KeymapConfig/KeymapConfigScreen.js packages/app-desktop/gui/KeymapConfig/ShortcutRecorder.js packages/app-desktop/gui/KeymapConfig/styles/index.js @@ -181,6 +186,7 @@ packages/app-desktop/gui/MainScreen/commands/toggleVisiblePanes.js packages/app-desktop/gui/MasterPasswordDialog/Dialog.js packages/app-desktop/gui/MenuBar.js packages/app-desktop/gui/MultiNoteActions.js +packages/app-desktop/gui/Navigator.js packages/app-desktop/gui/NoteContentPropertiesDialog.js packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/Editor.js @@ -240,6 +246,10 @@ packages/app-desktop/gui/NoteListControls/commands/focusSearch.js packages/app-desktop/gui/NoteListControls/commands/index.js packages/app-desktop/gui/NoteListItem.js packages/app-desktop/gui/NoteListWrapper/NoteListWrapper.js +packages/app-desktop/gui/NotePropertiesDialog.js +packages/app-desktop/gui/NoteRevisionViewer.js +packages/app-desktop/gui/NoteSearchBar.js +packages/app-desktop/gui/NoteStatusBar.js packages/app-desktop/gui/NoteTextViewer.js packages/app-desktop/gui/NoteToolbar/NoteToolbar.js packages/app-desktop/gui/OneDriveLoginScreen.js @@ -278,12 +288,14 @@ packages/app-desktop/gui/Sidebar/styles/index.js packages/app-desktop/gui/StatusScreen/StatusScreen.js packages/app-desktop/gui/StyleSheets/StyleSheetContainer.js packages/app-desktop/gui/SyncWizard/Dialog.js +packages/app-desktop/gui/TagItem.js packages/app-desktop/gui/TagList.js packages/app-desktop/gui/ToggleEditorsButton/ToggleEditorsButton.js packages/app-desktop/gui/ToggleEditorsButton/styles/index.js packages/app-desktop/gui/ToolbarBase.js packages/app-desktop/gui/ToolbarButton/ToolbarButton.js packages/app-desktop/gui/ToolbarButton/styles/index.js +packages/app-desktop/gui/ToolbarSpace.js packages/app-desktop/gui/dialogs.js packages/app-desktop/gui/hooks/useEffectDebugger.js packages/app-desktop/gui/hooks/useImperativeHandlerDebugger.js diff --git a/packages/app-desktop/gui/ClipperConfigScreen.tsx b/packages/app-desktop/gui/ClipperConfigScreen.tsx index ea831fd06..7c35b79ac 100644 --- a/packages/app-desktop/gui/ClipperConfigScreen.tsx +++ b/packages/app-desktop/gui/ClipperConfigScreen.tsx @@ -1,7 +1,7 @@ const React = require('react'); const { connect } = require('react-redux'); const { clipboard } = require('electron'); -const ExtensionBadge = require('./ExtensionBadge.min'); +import ExtensionBadge from './ExtensionBadge'; import bridge from '../services/bridge'; import { themeStyle } from '@joplin/lib/theme'; import { _ } from '@joplin/lib/locale'; diff --git a/packages/app-desktop/gui/ExtensionBadge.jsx b/packages/app-desktop/gui/ExtensionBadge.jsx deleted file mode 100644 index 9838fa6a6..000000000 --- a/packages/app-desktop/gui/ExtensionBadge.jsx +++ /dev/null @@ -1,45 +0,0 @@ -const React = require('react'); -const bridge = require('@electron/remote').require('./bridge').default; -const styleSelector = require('./style/ExtensionBadge'); -const { _ } = require('@joplin/lib/locale'); - -function platformAssets(type) { - if (type === 'firefox') { - return { - logoImage: `${bridge().buildDir()}/images/firefox-logo.svg`, - locationLabel: _('Firefox Extension'), - }; - } - - if (type === 'chrome') { - return { - logoImage: `${bridge().buildDir()}/images/chrome-logo.svg`, - locationLabel: _('Chrome Web Store'), - }; - } - - throw new Error(`Invalid type:${type}`); -} - -function ExtensionBadge(props) { - const style = styleSelector(null, props); - const assets = platformAssets(props.type); - - const onClick = () => { - bridge().openExternal(props.url); - }; - - const rootStyle = props.style ? Object.assign({}, style.root, props.style) : style.root; - - return ( - - -
-
{_('Get it now:')}
-
{assets.locationLabel}
-
-
- ); -} - -module.exports = ExtensionBadge; diff --git a/packages/app-desktop/gui/ExtensionBadge.tsx b/packages/app-desktop/gui/ExtensionBadge.tsx new file mode 100644 index 000000000..a426ff171 --- /dev/null +++ b/packages/app-desktop/gui/ExtensionBadge.tsx @@ -0,0 +1,98 @@ +import * as React from 'react'; +import bridge from '../services/bridge'; +import { _ } from '@joplin/lib/locale'; +import { themeStyle } from '@joplin/lib/theme'; +const { createSelector } = require('reselect'); + +interface Props { + themeId: number; + type: string; + url: string; + style?: any; +} + +const themeSelector = (_state: any, props: any) => themeStyle(props.themeId); + +const styleSelector = createSelector( + themeSelector, + (theme: any) => { + const output = { + root: { + width: 220, + height: 60, + borderRadius: 4, + border: '1px solid', + borderColor: theme.dividerColor, + backgroundColor: theme.backgroundColor, + paddingLeft: 14, + paddingRight: 14, + paddingTop: 8, + paddingBottom: 8, + boxSizing: 'border-box', + display: 'flex', + flexDirection: 'row', + boxShadow: '0px 1px 1px rgba(0,0,0,0.3)', + }, + logo: { + width: 42, + height: 42, + }, + labelGroup: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + marginLeft: 14, + fontFamily: theme.fontFamily, + color: theme.color, + fontSize: theme.fontSize, + }, + locationLabel: { + fontSize: theme.fontSize * 1.2, + fontWeight: 'bold', + }, + }; + + return output; + } +); + +function platformAssets(type: string) { + if (type === 'firefox') { + return { + logoImage: `${bridge().buildDir()}/images/firefox-logo.svg`, + locationLabel: _('Firefox Extension'), + }; + } + + if (type === 'chrome') { + return { + logoImage: `${bridge().buildDir()}/images/chrome-logo.svg`, + locationLabel: _('Chrome Web Store'), + }; + } + + throw new Error(`Invalid type:${type}`); +} + +function ExtensionBadge(props: Props) { + const style = styleSelector(null, props); + const assets = platformAssets(props.type); + + const onClick = () => { + void bridge().openExternal(props.url); + }; + + const rootStyle = props.style ? Object.assign({}, style.root, props.style) : style.root; + + return ( + + +
+
{_('Get it now:')}
+
{assets.locationLabel}
+
+
+ ); +} + +export default ExtensionBadge; diff --git a/packages/app-desktop/gui/HelpButton.jsx b/packages/app-desktop/gui/HelpButton.tsx similarity index 64% rename from packages/app-desktop/gui/HelpButton.jsx rename to packages/app-desktop/gui/HelpButton.tsx index 3b646688f..6bb19da8d 100644 --- a/packages/app-desktop/gui/HelpButton.jsx +++ b/packages/app-desktop/gui/HelpButton.tsx @@ -1,10 +1,18 @@ -const React = require('react'); +import * as React from 'react'; const { connect } = require('react-redux'); -const { themeStyle } = require('@joplin/lib/theme'); +import { themeStyle } from '@joplin/lib/theme'; +import { AppState } from '../app.reducer'; -class HelpButtonComponent extends React.Component { - constructor() { - super(); +interface Props { + tip: string; + onClick: Function; + themeId: number; + style: any; +} + +class HelpButtonComponent extends React.Component { + constructor(props: Props) { + super(props); this.onClick = this.onClick.bind(this); } @@ -17,7 +25,7 @@ class HelpButtonComponent extends React.Component { const theme = themeStyle(this.props.themeId); const style = Object.assign({}, this.props.style, { color: theme.color, textDecoration: 'none' }); const helpIconStyle = { flex: 0, width: 16, height: 16, marginLeft: 10 }; - const extraProps = {}; + const extraProps: any = {}; if (this.props.tip) extraProps['data-tip'] = this.props.tip; return ( @@ -27,7 +35,7 @@ class HelpButtonComponent extends React.Component { } } -const mapStateToProps = state => { +const mapStateToProps = (state: AppState) => { return { themeId: state.settings.theme, }; @@ -35,4 +43,4 @@ const mapStateToProps = state => { const HelpButton = connect(mapStateToProps)(HelpButtonComponent); -module.exports = HelpButton; +export default HelpButton; diff --git a/packages/app-desktop/gui/IconButton.jsx b/packages/app-desktop/gui/IconButton.tsx similarity index 76% rename from packages/app-desktop/gui/IconButton.jsx rename to packages/app-desktop/gui/IconButton.tsx index 239539271..19233e6a5 100644 --- a/packages/app-desktop/gui/IconButton.jsx +++ b/packages/app-desktop/gui/IconButton.tsx @@ -1,7 +1,14 @@ -const React = require('react'); -const { themeStyle } = require('@joplin/lib/theme'); +import * as React from 'react'; +import { themeStyle } from '@joplin/lib/theme'; -class IconButton extends React.Component { +interface Props { + themeId: number; + style: any; + iconName: string; + onClick: Function; +} + +class IconButton extends React.Component { render() { const style = this.props.style; const theme = themeStyle(this.props.themeId); @@ -42,4 +49,4 @@ class IconButton extends React.Component { } } -module.exports = { IconButton }; +export default IconButton; diff --git a/packages/app-desktop/gui/ImportScreen.jsx b/packages/app-desktop/gui/ImportScreen.tsx similarity index 76% rename from packages/app-desktop/gui/ImportScreen.jsx rename to packages/app-desktop/gui/ImportScreen.tsx index f57d2c30f..38e22018a 100644 --- a/packages/app-desktop/gui/ImportScreen.jsx +++ b/packages/app-desktop/gui/ImportScreen.tsx @@ -1,12 +1,29 @@ -const React = require('react'); +import * as React from 'react'; +import Folder from '@joplin/lib/models/Folder'; +import { themeStyle } from '@joplin/lib/theme'; +import { _ } from '@joplin/lib/locale'; +import { filename, basename } from '@joplin/lib/path-utils'; +import importEnex from '@joplin/lib/import-enex'; +import { AppState } from '../app.reducer'; const { connect } = require('react-redux'); -const Folder = require('@joplin/lib/models/Folder').default; -const { themeStyle } = require('@joplin/lib/theme'); -const { _ } = require('@joplin/lib/locale'); -const { filename, basename } = require('@joplin/lib/path-utils'); -const importEnex = require('@joplin/lib/import-enex').default; -class ImportScreenComponent extends React.Component { +interface Props { + filePath: string; + themeId: number; +} + +interface Message { + key: string; + text: string; +} + +interface State { + filePath: string; + doImport: boolean; + messages: Message[]; +} + +class ImportScreenComponent extends React.Component { UNSAFE_componentWillMount() { this.setState({ doImport: true, @@ -15,7 +32,7 @@ class ImportScreenComponent extends React.Component { }); } - UNSAFE_componentWillReceiveProps(newProps) { + UNSAFE_componentWillReceiveProps(newProps: Props) { if (newProps.filePath) { this.setState( { @@ -24,7 +41,7 @@ class ImportScreenComponent extends React.Component { messages: [], }, () => { - this.doImport(); + void this.doImport(); } ); } @@ -32,11 +49,11 @@ class ImportScreenComponent extends React.Component { componentDidMount() { if (this.state.filePath && this.state.doImport) { - this.doImport(); + void this.doImport(); } } - addMessage(key, text) { + addMessage(key: string, text: string) { const messages = this.state.messages.slice(); messages.push({ key: key, text: text }); @@ -66,7 +83,7 @@ class ImportScreenComponent extends React.Component { let lastProgress = ''; const options = { - onProgress: progressState => { + onProgress: (progressState: any) => { const line = []; line.push(_('Found: %d.', progressState.loaded)); line.push(_('Created: %d.', progressState.created)); @@ -77,7 +94,7 @@ class ImportScreenComponent extends React.Component { lastProgress = line.join(' '); this.addMessage('progress', lastProgress); }, - onError: error => { + onError: (error: any) => { // Don't display the error directly because most of the time it doesn't matter // (eg. for weird broken HTML, but the note is still imported) console.warn('When importing ENEX file', error); @@ -116,7 +133,7 @@ class ImportScreenComponent extends React.Component { } } -const mapStateToProps = state => { +const mapStateToProps = (state: AppState) => { return { themeId: state.settings.theme, }; @@ -124,4 +141,5 @@ const mapStateToProps = state => { const ImportScreen = connect(mapStateToProps)(ImportScreenComponent); -module.exports = { ImportScreen }; +export default ImportScreen; + diff --git a/packages/app-desktop/gui/ItemList.jsx b/packages/app-desktop/gui/ItemList.tsx similarity index 80% rename from packages/app-desktop/gui/ItemList.jsx rename to packages/app-desktop/gui/ItemList.tsx index 08eb723a3..a1508a57b 100644 --- a/packages/app-desktop/gui/ItemList.jsx +++ b/packages/app-desktop/gui/ItemList.tsx @@ -1,8 +1,27 @@ -const React = require('react'); +import * as React from 'react'; -class ItemList extends React.Component { - constructor() { - super(); +interface Props { + style: any; + itemHeight: number; + items: any[]; + disabled: boolean; + onKeyDown: Function; + itemRenderer: Function; + className: string; +} + +interface State { + topItemIndex: number; + bottomItemIndex: number; +} + +class ItemList extends React.Component { + + private scrollTop_: number; + private listRef: any; + + constructor(props: Props) { + super(props); this.scrollTop_ = 0; @@ -12,12 +31,12 @@ class ItemList extends React.Component { this.onKeyDown = this.onKeyDown.bind(this); } - visibleItemCount(props) { + visibleItemCount(props: Props = undefined) { if (typeof props === 'undefined') props = this.props; return Math.ceil(props.style.height / props.itemHeight); } - updateStateItemIndexes(props) { + updateStateItemIndexes(props: Props = undefined) { if (typeof props === 'undefined') props = this.props; const topItemIndex = Math.floor(this.scrollTop_ / props.itemHeight); @@ -44,20 +63,20 @@ class ItemList extends React.Component { this.updateStateItemIndexes(); } - UNSAFE_componentWillReceiveProps(newProps) { + UNSAFE_componentWillReceiveProps(newProps: Props) { this.updateStateItemIndexes(newProps); } - onScroll(event) { + onScroll(event: any) { this.scrollTop_ = event.target.scrollTop; this.updateStateItemIndexes(); } - onKeyDown(event) { + onKeyDown(event: any) { if (this.props.onKeyDown) this.props.onKeyDown(event); } - makeItemIndexVisible(itemIndex) { + makeItemIndexVisible(itemIndex: number) { const top = Math.min(this.props.items.length - 1, this.state.topItemIndex); const bottom = Math.max(0, this.state.bottomItemIndex); @@ -105,7 +124,7 @@ class ItemList extends React.Component { if (!this.props.itemHeight) throw new Error('itemHeight is required'); - const blankItem = function(key, height) { + const blankItem = function(key: string, height: number) { return
; }; @@ -129,4 +148,4 @@ class ItemList extends React.Component { } } -module.exports = { ItemList }; +export default ItemList; diff --git a/packages/app-desktop/gui/MainScreen/MainScreen.tsx b/packages/app-desktop/gui/MainScreen/MainScreen.tsx index 6973c6c27..e9590e64c 100644 --- a/packages/app-desktop/gui/MainScreen/MainScreen.tsx +++ b/packages/app-desktop/gui/MainScreen/MainScreen.tsx @@ -43,7 +43,7 @@ import invitationRespond from '../../services/share/invitationRespond'; import restart from '../../services/restart'; const { connect } = require('react-redux'); import PromptDialog from '../PromptDialog'; -const NotePropertiesDialog = require('../NotePropertiesDialog.min.js'); +import NotePropertiesDialog from '../NotePropertiesDialog'; const PluginManager = require('@joplin/lib/services/PluginManager'); const ipcRenderer = require('electron').ipcRenderer; diff --git a/packages/app-desktop/gui/Navigator.jsx b/packages/app-desktop/gui/Navigator.tsx similarity index 78% rename from packages/app-desktop/gui/Navigator.jsx rename to packages/app-desktop/gui/Navigator.tsx index 361a14b20..f3a65d5bc 100644 --- a/packages/app-desktop/gui/Navigator.jsx +++ b/packages/app-desktop/gui/Navigator.tsx @@ -1,11 +1,15 @@ const React = require('react'); -const Component = React.Component; -const Setting = require('@joplin/lib/models/Setting').default; const { connect } = require('react-redux'); +import Setting from '@joplin/lib/models/Setting'; +import { AppState } from '../app.reducer'; const bridge = require('@electron/remote').require('./bridge').default; -class NavigatorComponent extends Component { - UNSAFE_componentWillReceiveProps(newProps) { +interface Props { + route: any; +} + +class NavigatorComponent extends React.Component { + UNSAFE_componentWillReceiveProps(newProps: Props) { if (newProps.route) { const screenInfo = this.props.screens[newProps.route.routeName]; const devMarker = Setting.value('env') === 'dev' ? ` (DEV - ${Setting.value('profileDir')})` : ''; @@ -17,7 +21,7 @@ class NavigatorComponent extends Component { } } - updateWindowTitle(title) { + updateWindowTitle(title: string) { try { if (bridge().window()) bridge().window().setTitle(title); } catch (error) { @@ -46,10 +50,10 @@ class NavigatorComponent extends Component { } } -const Navigator = connect(state => { +const Navigator = connect((state: AppState) => { return { route: state.route, }; })(NavigatorComponent); -module.exports = { Navigator }; +export default Navigator; diff --git a/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.tsx b/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.tsx index d5fb164ea..04b2282dd 100644 --- a/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.tsx +++ b/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.tsx @@ -882,6 +882,7 @@ function CodeMirror(props: NoteBodyEditorProps, ref: any) {
{ + + private okButton: any; + private keyToLabel_: Record; + private styleKey_: number; + private styles_: any; + + constructor(props: Props) { + super(props); this.revisionsLink_click = this.revisionsLink_click.bind(this); this.buttonRow_click = this.buttonRow_click.bind(this); @@ -37,7 +57,7 @@ class NotePropertiesDialog extends React.Component { } componentDidMount() { - this.loadNote(this.props.noteId); + void this.loadNote(this.props.noteId); } componentDidUpdate() { @@ -46,7 +66,7 @@ class NotePropertiesDialog extends React.Component { } } - async loadNote(noteId) { + async loadNote(noteId: string) { if (!noteId) { this.setState({ formNote: null }); } else { @@ -56,8 +76,8 @@ class NotePropertiesDialog extends React.Component { } } - latLongFromLocation(location) { - const o = {}; + latLongFromLocation(location: string) { + const o: any = {}; const l = location.split(','); if (l.length === 2) { o.latitude = l[0].trim(); @@ -69,8 +89,8 @@ class NotePropertiesDialog extends React.Component { return o; } - noteToFormNote(note) { - const formNote = {}; + noteToFormNote(note: NoteEntity) { + const formNote: any = {}; formNote.user_updated_time = time.formatMsToLocal(note.user_updated_time); formNote.user_created_time = time.formatMsToLocal(note.user_created_time); @@ -93,7 +113,7 @@ class NotePropertiesDialog extends React.Component { return formNote; } - formNoteToNote(formNote) { + formNoteToNote(formNote: any) { const note = Object.assign({ id: formNote.id }, this.latLongFromLocation(formNote.location)); note.user_created_time = time.formatLocalToMs(formNote.user_created_time); note.user_updated_time = time.formatLocalToMs(formNote.user_updated_time); @@ -107,7 +127,7 @@ class NotePropertiesDialog extends React.Component { return note; } - styles(themeId) { + styles(themeId: number) { const styleKey = themeId; if (styleKey === this.styleKey_) return this.styles_; @@ -148,7 +168,7 @@ class NotePropertiesDialog extends React.Component { return this.styles_; } - async closeDialog(applyChanges) { + async closeDialog(applyChanges: boolean) { if (applyChanges) { await this.saveProperty(); const note = this.formNoteToNote(this.state.formNote); @@ -163,26 +183,26 @@ class NotePropertiesDialog extends React.Component { } } - buttonRow_click(event) { - this.closeDialog(event.buttonName === 'ok'); + buttonRow_click(event: any) { + void this.closeDialog(event.buttonName === 'ok'); } revisionsLink_click() { - this.closeDialog(false); + void this.closeDialog(false); if (this.props.onRevisionLinkClick) this.props.onRevisionLinkClick(); } - editPropertyButtonClick(key, initialValue) { + editPropertyButtonClick(key: string, initialValue: any) { this.setState({ editedKey: key, editedValue: initialValue, }); shim.setTimeout(() => { - if (this.refs.editField.openCalendar) { - this.refs.editField.openCalendar(); + if ((this.refs.editField as any).openCalendar) { + (this.refs.editField as any).openCalendar(); } else { - this.refs.editField.focus(); + (this.refs.editField as any).focus(); } }, 100); } @@ -190,7 +210,7 @@ class NotePropertiesDialog extends React.Component { async saveProperty() { if (!this.state.editedKey) return; - return new Promise((resolve) => { + return new Promise((resolve: Function) => { const newFormNote = Object.assign({}, this.state.formNote); if (this.state.editedKey.indexOf('_time') >= 0) { @@ -214,7 +234,7 @@ class NotePropertiesDialog extends React.Component { } async cancelProperty() { - return new Promise((resolve) => { + return new Promise((resolve: Function) => { this.okButton.current.focus(); this.setState({ editedKey: null, @@ -225,7 +245,7 @@ class NotePropertiesDialog extends React.Component { }); } - createNoteField(key, value) { + createNoteField(key: string, value: any) { const styles = this.styles(this.props.themeId); const theme = themeStyle(this.props.themeId); const labelComp = ; @@ -234,11 +254,11 @@ class NotePropertiesDialog extends React.Component { let editCompHandler = null; let editCompIcon = null; - const onKeyDown = event => { + const onKeyDown = (event: any) => { if (event.keyCode === 13) { - this.saveProperty(); + void this.saveProperty(); } else if (event.keyCode === 27) { - this.cancelProperty(); + void this.cancelProperty(); } }; @@ -251,17 +271,17 @@ class NotePropertiesDialog extends React.Component { dateFormat={time.dateFormat()} timeFormat={time.timeFormat()} inputProps={{ - onKeyDown: event => onKeyDown(event, key), + onKeyDown: (event: any) => onKeyDown(event), style: styles.input, }} - onChange={momentObject => { + onChange={(momentObject: any) => { this.setState({ editedValue: momentObject }); }} /> ); editCompHandler = () => { - this.saveProperty(); + void this.saveProperty(); }; editCompIcon = 'fa-save'; } else { @@ -344,12 +364,12 @@ class NotePropertiesDialog extends React.Component { ); } - formatLabel(key) { + formatLabel(key: string) { if (this.keyToLabel_[key]) return this.keyToLabel_[key]; return key; } - formatValue(key, note) { + formatValue(key: string, note: NoteEntity) { if (key === 'location') { if (!Number(note.latitude) && !Number(note.longitude)) return null; const dms = formatcoords(Number(note.latitude), Number(note.longitude)); @@ -357,10 +377,10 @@ class NotePropertiesDialog extends React.Component { } if (['user_updated_time', 'user_created_time', 'todo_completed'].indexOf(key) >= 0) { - return time.formatMsToLocal(note[key]); + return time.formatMsToLocal((note as any)[key]); } - return note[key]; + return (note as any)[key]; } render() { @@ -389,4 +409,4 @@ class NotePropertiesDialog extends React.Component { } } -module.exports = NotePropertiesDialog; +export default NotePropertiesDialog; diff --git a/packages/app-desktop/gui/NoteRevisionViewer.jsx b/packages/app-desktop/gui/NoteRevisionViewer.tsx similarity index 80% rename from packages/app-desktop/gui/NoteRevisionViewer.jsx rename to packages/app-desktop/gui/NoteRevisionViewer.tsx index a451b66e8..20b1c962b 100644 --- a/packages/app-desktop/gui/NoteRevisionViewer.jsx +++ b/packages/app-desktop/gui/NoteRevisionViewer.tsx @@ -1,25 +1,45 @@ -const React = require('react'); -const { connect } = require('react-redux'); -const { themeStyle } = require('@joplin/lib/theme'); -const { _ } = require('@joplin/lib/locale'); -const NoteTextViewer = require('./NoteTextViewer').default; -const HelpButton = require('./HelpButton.min'); -const BaseModel = require('@joplin/lib/BaseModel').default; -const Revision = require('@joplin/lib/models/Revision').default; +import * as React from 'react'; +import { themeStyle } from '@joplin/lib/theme'; +import { _ } from '@joplin/lib/locale'; +import NoteTextViewer from './NoteTextViewer'; +import HelpButton from './HelpButton'; +import BaseModel from '@joplin/lib/BaseModel'; +import Revision from '@joplin/lib/models/Revision'; +import Setting from '@joplin/lib/models/Setting'; +import RevisionService from '@joplin/lib/services/RevisionService'; +import { MarkupToHtml } from '@joplin/renderer'; +import time from '@joplin/lib/time'; +import bridge from '../services/bridge'; +import markupLanguageUtils from '../utils/markupLanguageUtils'; +import { NoteEntity, RevisionEntity } from '@joplin/lib/services/database/types'; +import { AppState } from '../app.reducer'; const urlUtils = require('@joplin/lib/urlUtils'); -const Setting = require('@joplin/lib/models/Setting').default; -const RevisionService = require('@joplin/lib/services/RevisionService').default; -const shared = require('@joplin/lib/components/shared/note-screen-shared.js'); -const { MarkupToHtml } = require('@joplin/renderer'); -const time = require('@joplin/lib/time').default; const ReactTooltip = require('react-tooltip'); const { urlDecode } = require('@joplin/lib/string-utils'); -const bridge = require('@electron/remote').require('./bridge').default; -const markupLanguageUtils = require('../utils/markupLanguageUtils').default; +const { connect } = require('react-redux'); +const shared = require('@joplin/lib/components/shared/note-screen-shared.js'); -class NoteRevisionViewerComponent extends React.PureComponent { - constructor() { - super(); +interface Props { + themeId: number; + noteId: string; + onBack: Function; + customCss: string; +} + +interface State { + note: NoteEntity; + revisions: RevisionEntity[]; + currentRevId: string; + restoring: boolean; +} + +class NoteRevisionViewerComponent extends React.PureComponent { + + private viewerRef_: any; + private helpButton_onClick: Function; + + constructor(props: Props) { + super(props); this.state = { revisions: [], @@ -65,7 +85,7 @@ class NoteRevisionViewerComponent extends React.PureComponent { currentRevId: revisions.length ? revisions[revisions.length - 1].id : '', }, () => { - this.reloadNote(); + void this.reloadNote(); } ); } @@ -82,7 +102,7 @@ class NoteRevisionViewerComponent extends React.PureComponent { if (this.props.onBack) this.props.onBack(); } - revisionList_onChange(event) { + revisionList_onChange(event: any) { const value = event.target.value; if (!value) { @@ -93,7 +113,7 @@ class NoteRevisionViewerComponent extends React.PureComponent { currentRevId: value, }, () => { - this.reloadNote(); + void this.reloadNote(); } ); } @@ -128,12 +148,12 @@ class NoteRevisionViewerComponent extends React.PureComponent { }); this.viewerRef_.current.send('setHtml', result.html, { - cssFiles: result.cssFiles, + // cssFiles: result.cssFiles, pluginAssets: result.pluginAssets, }); } - async webview_ipcMessage(event) { + async webview_ipcMessage(event: any) { // For the revision view, we only suppport a minimal subset of the IPC messages. // For example, we don't need interactive checkboxes or sync between viewer and editor view. // We try to get most links work though, except for internal (joplin://) links. @@ -148,9 +168,9 @@ class NoteRevisionViewerComponent extends React.PureComponent { throw new Error(_('Unsupported link or message: %s', msg)); } else if (urlUtils.urlProtocol(msg)) { if (msg.indexOf('file://') === 0) { - require('electron').shell.openExternal(urlDecode(msg)); + void require('electron').shell.openExternal(urlDecode(msg)); } else { - require('electron').shell.openExternal(msg); + void require('electron').shell.openExternal(msg); } } else if (msg.indexOf('#') === 0) { // This is an internal anchor, which is handled by the WebView so skip this case @@ -202,7 +222,7 @@ class NoteRevisionViewerComponent extends React.PureComponent { const viewer = ; return ( -
+
{titleInput} {viewer} @@ -211,7 +231,7 @@ class NoteRevisionViewerComponent extends React.PureComponent { } } -const mapStateToProps = state => { +const mapStateToProps = (state: AppState) => { return { themeId: state.settings.theme, }; @@ -219,4 +239,4 @@ const mapStateToProps = state => { const NoteRevisionViewer = connect(mapStateToProps)(NoteRevisionViewerComponent); -module.exports = NoteRevisionViewer; +export default NoteRevisionViewer; diff --git a/packages/app-desktop/gui/NoteSearchBar.jsx b/packages/app-desktop/gui/NoteSearchBar.tsx similarity index 84% rename from packages/app-desktop/gui/NoteSearchBar.jsx rename to packages/app-desktop/gui/NoteSearchBar.tsx index 00be6f048..db45601b2 100644 --- a/packages/app-desktop/gui/NoteSearchBar.jsx +++ b/packages/app-desktop/gui/NoteSearchBar.tsx @@ -1,10 +1,27 @@ -const React = require('react'); -const { themeStyle } = require('@joplin/lib/theme'); -const { _ } = require('@joplin/lib/locale'); +import * as React from 'react'; +import { themeStyle } from '@joplin/lib/theme'; +import { _ } from '@joplin/lib/locale'; -class NoteSearchBar extends React.Component { - constructor() { - super(); +interface Props { + themeId: number; + onNext: Function; + onPrevious: Function; + onClose: Function; + onChange: Function; + query: string; + searching: boolean; + resultCount: number; + selectedIndex: number; + visiblePanes: string[]; + style: any; +} + +class NoteSearchBar extends React.Component { + + private backgroundColor: any; + + constructor(props: Props) { + super(props); this.searchInput_change = this.searchInput_change.bind(this); this.searchInput_keyDown = this.searchInput_keyDown.bind(this); @@ -29,7 +46,7 @@ class NoteSearchBar extends React.Component { return style; } - buttonIconComponent(iconName, clickHandler, isEnabled) { + buttonIconComponent(iconName: string, clickHandler: any, isEnabled: boolean) { const theme = themeStyle(this.props.themeId); const searchButton = { @@ -57,12 +74,12 @@ class NoteSearchBar extends React.Component { ); } - searchInput_change(event) { + searchInput_change(event: any) { const query = event.currentTarget.value; this.triggerOnChange(query); } - searchInput_keyDown(event) { + searchInput_keyDown(event: any) { if (event.keyCode === 13) { // ENTER event.preventDefault(); @@ -101,13 +118,13 @@ class NoteSearchBar extends React.Component { if (this.props.onClose) this.props.onClose(); } - triggerOnChange(query) { + triggerOnChange(query: string) { if (this.props.onChange) this.props.onChange(query); } focus() { - this.refs.searchInput.focus(); - this.refs.searchInput.select(); + (this.refs.searchInput as any).focus(); + (this.refs.searchInput as any).select(); } render() { @@ -177,4 +194,4 @@ class NoteSearchBar extends React.Component { } } -module.exports = NoteSearchBar; +export default NoteSearchBar; diff --git a/packages/app-desktop/gui/NoteStatusBar.jsx b/packages/app-desktop/gui/NoteStatusBar.tsx similarity index 60% rename from packages/app-desktop/gui/NoteStatusBar.jsx rename to packages/app-desktop/gui/NoteStatusBar.tsx index 7fbc02f04..0730e662d 100644 --- a/packages/app-desktop/gui/NoteStatusBar.jsx +++ b/packages/app-desktop/gui/NoteStatusBar.tsx @@ -1,9 +1,16 @@ -const React = require('react'); +import * as React from 'react'; +import time from '@joplin/lib/time'; +import { themeStyle } from '@joplin/lib/theme'; +import { NoteEntity } from '@joplin/lib/services/database/types'; +import { AppState } from '../app.reducer'; const { connect } = require('react-redux'); -const time = require('@joplin/lib/time').default; -const { themeStyle } = require('@joplin/lib/theme'); -class NoteStatusBarComponent extends React.Component { +interface Props { + themeId: number; + note: NoteEntity; +} + +class NoteStatusBarComponent extends React.Component { style() { const theme = themeStyle(this.props.themeId); @@ -23,7 +30,7 @@ class NoteStatusBarComponent extends React.Component { } } -const mapStateToProps = state => { +const mapStateToProps = (state: AppState) => { return { // notes: state.notes, // folders: state.folders, @@ -34,4 +41,4 @@ const mapStateToProps = state => { const NoteStatusBar = connect(mapStateToProps)(NoteStatusBarComponent); -module.exports = { NoteStatusBar }; +export default NoteStatusBar; diff --git a/packages/app-desktop/gui/NoteTextViewer.tsx b/packages/app-desktop/gui/NoteTextViewer.tsx index 11b0c1d65..b4a1e9f93 100644 --- a/packages/app-desktop/gui/NoteTextViewer.tsx +++ b/packages/app-desktop/gui/NoteTextViewer.tsx @@ -6,7 +6,8 @@ interface Props { onDomReady: Function; onIpcMessage: Function; viewerStyle: any; - contentMaxWidth: number; + contentMaxWidth?: number; + themeId: number; } export default class NoteTextViewerComponent extends React.Component { diff --git a/packages/app-desktop/gui/Root.tsx b/packages/app-desktop/gui/Root.tsx index 068c968bc..3546cfdc9 100644 --- a/packages/app-desktop/gui/Root.tsx +++ b/packages/app-desktop/gui/Root.tsx @@ -24,9 +24,9 @@ import MasterPasswordDialog from './MasterPasswordDialog/Dialog'; import EditFolderDialog from './EditFolderDialog/Dialog'; import PdfViewer from './PdfViewer'; import StyleSheetContainer from './StyleSheets/StyleSheetContainer'; -const { ImportScreen } = require('./ImportScreen.min.js'); +import ImportScreen from './ImportScreen'; const { ResourceScreen } = require('./ResourceScreen.js'); -const { Navigator } = require('./Navigator.min.js'); +import Navigator from './Navigator'; const WelcomeUtils = require('@joplin/lib/WelcomeUtils'); const { ThemeProvider, StyleSheetManager, createGlobalStyle } = require('styled-components'); const bridge = require('@electron/remote').require('./bridge').default; diff --git a/packages/app-desktop/gui/TagItem.jsx b/packages/app-desktop/gui/TagItem.tsx similarity index 62% rename from packages/app-desktop/gui/TagItem.jsx rename to packages/app-desktop/gui/TagItem.tsx index ddccad46d..7cef9f054 100644 --- a/packages/app-desktop/gui/TagItem.jsx +++ b/packages/app-desktop/gui/TagItem.tsx @@ -1,7 +1,8 @@ const React = require('react'); const { connect } = require('react-redux'); -const { themeStyle } = require('@joplin/lib/theme'); -const CommandService = require('@joplin/lib/services/CommandService').default; +import { themeStyle } from '@joplin/lib/theme'; +import CommandService from '@joplin/lib/services/CommandService'; +import { AppState } from '../app.reducer'; class TagItemComponent extends React.Component { render() { @@ -13,10 +14,8 @@ class TagItemComponent extends React.Component { } } -const mapStateToProps = state => { +const mapStateToProps = (state: AppState) => { return { themeId: state.settings.theme }; }; -const TagItem = connect(mapStateToProps)(TagItemComponent); - -module.exports = TagItem; +export default connect(mapStateToProps)(TagItemComponent); diff --git a/packages/app-desktop/gui/TagList.tsx b/packages/app-desktop/gui/TagList.tsx index f4c0fb96e..7fefb722c 100644 --- a/packages/app-desktop/gui/TagList.tsx +++ b/packages/app-desktop/gui/TagList.tsx @@ -1,10 +1,10 @@ import * as React from 'react'; import { useMemo } from 'react'; import { AppState } from '../app.reducer'; +import TagItem from './TagItem'; const { connect } = require('react-redux'); const { themeStyle } = require('@joplin/lib/theme'); -const TagItem = require('./TagItem.min.js'); interface Props { themeId: number; diff --git a/packages/app-desktop/gui/ToolbarBase.tsx b/packages/app-desktop/gui/ToolbarBase.tsx index 1f49a2990..c9b303445 100644 --- a/packages/app-desktop/gui/ToolbarBase.tsx +++ b/packages/app-desktop/gui/ToolbarBase.tsx @@ -1,9 +1,9 @@ +import * as React from 'react'; import ToolbarButton from './ToolbarButton/ToolbarButton'; import ToggleEditorsButton, { Value } from './ToggleEditorsButton/ToggleEditorsButton'; -const React = require('react'); +import ToolbarSpace from './ToolbarSpace'; const { connect } = require('react-redux'); const { themeStyle } = require('@joplin/lib/theme'); -const ToolbarSpace = require('./ToolbarSpace.min.js'); interface Props { themeId: number; diff --git a/packages/app-desktop/gui/ToolbarSpace.jsx b/packages/app-desktop/gui/ToolbarSpace.jsx deleted file mode 100644 index 8430ec0c2..000000000 --- a/packages/app-desktop/gui/ToolbarSpace.jsx +++ /dev/null @@ -1,14 +0,0 @@ -const React = require('react'); -const { themeStyle } = require('@joplin/lib/theme'); - -class ToolbarSpace extends React.Component { - render() { - const theme = themeStyle(this.props.themeId); - const style = Object.assign({}, theme.toolbarStyle); - style.minWidth = style.height / 2; - - return ; - } -} - -module.exports = ToolbarSpace; diff --git a/packages/app-desktop/gui/ToolbarSpace.tsx b/packages/app-desktop/gui/ToolbarSpace.tsx new file mode 100644 index 000000000..43dbebc6d --- /dev/null +++ b/packages/app-desktop/gui/ToolbarSpace.tsx @@ -0,0 +1,18 @@ +import * as React from 'react'; +import { themeStyle } from '@joplin/lib/theme'; + +interface Props { + themeId: number; +} + +class ToolbarSpace extends React.Component { + render() { + const theme = themeStyle(this.props.themeId); + const style = Object.assign({}, theme.toolbarStyle); + style.minWidth = style.height / 2; + + return ; + } +} + +export default ToolbarSpace; diff --git a/packages/app-desktop/gui/VerticalResizer.jsx b/packages/app-desktop/gui/VerticalResizer.jsx deleted file mode 100644 index 37540c6e1..000000000 --- a/packages/app-desktop/gui/VerticalResizer.jsx +++ /dev/null @@ -1,100 +0,0 @@ -const React = require('react'); -const bridge = require('@electron/remote').require('./bridge').default; - -class VerticalResizer extends React.PureComponent { - constructor() { - super(); - - this.state = { - parentRight: 0, - parentHeight: 0, - parentWidth: 0, - drag: { - startX: 0, - lastX: 0, - }, - }; - - this.onDragStart = this.onDragStart.bind(this); - this.onDrag = this.onDrag.bind(this); - this.onDragEnd = this.onDragEnd.bind(this); - this.document_onDragOver = this.document_onDragOver.bind(this); - } - - document_onDragOver(event) { - // This is just to prevent the cursor from changing to a "+" as it's dragged - // over other elements. With this it stays a normal cursor. - event.dataTransfer.dropEffect = 'none'; - } - - onDragStart(event) { - document.addEventListener('dragover', this.document_onDragOver); - - event.dataTransfer.dropEffect = 'none'; - - const cursor = bridge().screen().getCursorScreenPoint(); - - this.setState({ - drag: { - startX: cursor.x, - lastX: cursor.x, - }, - }); - - if (this.props.onDragStart) this.props.onDragStart({}); - } - - onDrag() { - // If we got a drag event with no buttons pressed, it's the last drag event - // that we should ignore, because it's sometimes use to put the dragged element - // back to its original position (if there was no valid drop target), which we don't want. - // Also if clientX, screenX, etc. are 0, it's also the last event and we want to ignore these buggy values. - // const e = event.nativeEvent; - // if (!e.buttons || (!e.clientX && !e.clientY && !e.screenX && !e.screenY)) return; - - const cursor = bridge().screen().getCursorScreenPoint(); - const newX = cursor.x; - const delta = newX - this.state.drag.lastX; - if (!delta) return; - - this.setState( - { - drag: Object.assign({}, this.state.drag, { lastX: newX }), - }, - () => { - this.props.onDrag({ deltaX: delta }); - } - ); - } - - onDragEnd() { - document.removeEventListener('dragover', this.document_onDragOver); - } - - componentWillUnmount() { - document.removeEventListener('dragover', this.document_onDragOver); - } - - render() { - const debug = false; - - const rootStyle = Object.assign( - {}, - { - height: '100%', - width: 5, - borderColor: 'red', - borderWidth: debug ? 1 : 0, - borderStyle: 'solid', - cursor: 'col-resize', - boxSizing: 'border-box', - opacity: 0, - }, - this.props.style - ); - - return
; - } -} - -module.exports = VerticalResizer; diff --git a/packages/app-desktop/gui/style/ExtensionBadge.js b/packages/app-desktop/gui/style/ExtensionBadge.js index 53149aa65..9d8f1fa95 100644 --- a/packages/app-desktop/gui/style/ExtensionBadge.js +++ b/packages/app-desktop/gui/style/ExtensionBadge.js @@ -1,49 +1,44 @@ +'use strict'; const { createSelector } = require('reselect'); const { themeStyle } = require('@joplin/lib/theme'); - const themeSelector = (state, props) => themeStyle(props.themeId); - -const style = createSelector( - themeSelector, - (theme) => { - const output = { - root: { - width: 220, - height: 60, - borderRadius: 4, - border: '1px solid', - borderColor: theme.dividerColor, - backgroundColor: theme.backgroundColor, - paddingLeft: 14, - paddingRight: 14, - paddingTop: 8, - paddingBottom: 8, - boxSizing: 'border-box', - display: 'flex', - flexDirection: 'row', - boxShadow: '0px 1px 1px rgba(0,0,0,0.3)', - }, - logo: { - width: 42, - height: 42, - }, - labelGroup: { - display: 'flex', - flexDirection: 'column', - justifyContent: 'center', - marginLeft: 14, - fontFamily: theme.fontFamily, - color: theme.color, - fontSize: theme.fontSize, - }, - locationLabel: { - fontSize: theme.fontSize * 1.2, - fontWeight: 'bold', - }, - }; - - return output; - } -); - +const style = createSelector(themeSelector, (theme) => { + const output = { + root: { + width: 220, + height: 60, + borderRadius: 4, + border: '1px solid', + borderColor: theme.dividerColor, + backgroundColor: theme.backgroundColor, + paddingLeft: 14, + paddingRight: 14, + paddingTop: 8, + paddingBottom: 8, + boxSizing: 'border-box', + display: 'flex', + flexDirection: 'row', + boxShadow: '0px 1px 1px rgba(0,0,0,0.3)', + }, + logo: { + width: 42, + height: 42, + }, + labelGroup: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + marginLeft: 14, + fontFamily: theme.fontFamily, + color: theme.color, + fontSize: theme.fontSize, + }, + locationLabel: { + fontSize: theme.fontSize * 1.2, + fontWeight: 'bold', + }, + }; + return output; +}); module.exports = style; +// # sourceMappingURL=ExtensionBadge.js.map diff --git a/packages/app-desktop/package.json b/packages/app-desktop/package.json index 692ab7118..c2e3830df 100644 --- a/packages/app-desktop/package.json +++ b/packages/app-desktop/package.json @@ -113,8 +113,6 @@ "@types/react": "16.14.34", "@types/react-redux": "7.1.25", "@types/styled-components": "5.1.26", - "babel-cli": "6.26.0", - "babel-preset-react": "6.24.1", "electron": "19.1.4", "electron-builder": "23.6.0", "electron-notarize": "1.2.2", diff --git a/packages/app-desktop/plugins/GotoAnything.tsx b/packages/app-desktop/plugins/GotoAnything.tsx index b1f763ccb..6675fa415 100644 --- a/packages/app-desktop/plugins/GotoAnything.tsx +++ b/packages/app-desktop/plugins/GotoAnything.tsx @@ -14,7 +14,7 @@ import Tag from '@joplin/lib/models/Tag'; import Folder from '@joplin/lib/models/Folder'; import Note from '@joplin/lib/models/Note'; const { ItemList } = require('../gui/ItemList.min'); -const HelpButton = require('../gui/HelpButton.min'); +import HelpButton from '../gui/HelpButton'; const { surroundKeywords, nextWhitespaceIndex, removeDiacritics } = require('@joplin/lib/string-utils.js'); import { mergeOverlappingIntervals } from '@joplin/lib/ArrayUtils'; import markupLanguageUtils from '../utils/markupLanguageUtils'; diff --git a/packages/app-desktop/tools/compileScripts.js b/packages/app-desktop/tools/compileScripts.js index 6ee7339ce..7630ec2c6 100644 --- a/packages/app-desktop/tools/compileScripts.js +++ b/packages/app-desktop/tools/compileScripts.js @@ -1,61 +1,8 @@ const fs = require('fs-extra'); -const spawnSync = require('child_process').spawnSync; -const { chdir } = require('process'); const basePath = `${__dirname}/../../..`; -function fileIsNewerThan(path1, path2) { - if (!fs.existsSync(path2)) return true; - - const stat1 = fs.statSync(path1); - const stat2 = fs.statSync(path2); - - return stat1.mtime > stat2.mtime; -} - -function convertJsx(paths) { - chdir(`${__dirname}/..`); - - paths.forEach(path => { - fs.readdirSync(path).forEach((filename) => { - const jsxPath = `${path}/${filename}`; - const p = jsxPath.split('.'); - if (p.length <= 1) return; - const ext = p[p.length - 1]; - if (ext !== 'jsx') return; - p.pop(); - - const basePath = p.join('.'); - - const jsPath = `${basePath}.min.js`; - - if (fileIsNewerThan(jsxPath, jsPath)) { - console.info(`Compiling ${jsxPath}...`); - - // { shell: true } is needed to get it working on Windows: - // https://discourse.joplinapp.org/t/attempting-to-build-on-windows/22559/12 - const result = spawnSync('yarn', ['run', 'babel', '--presets', 'react', '--out-file', jsPath, jsxPath], { shell: true }); - if (result.status !== 0) { - const msg = []; - if (result.stdout) msg.push(result.stdout.toString()); - if (result.stderr) msg.push(result.stderr.toString()); - console.error(msg.join('\n')); - if (result.error) console.error(result.error); - process.exit(result.status); - } - } - }); - }); -} - module.exports = function() { - convertJsx([ - `${__dirname}/../gui`, - `${__dirname}/../gui/MainScreen`, - `${__dirname}/../gui/NoteList`, - `${__dirname}/../plugins`, - ]); - const libContent = [ fs.readFileSync(`${basePath}/packages/lib/string-utils-common.js`, 'utf8'), fs.readFileSync(`${basePath}/packages/lib/markJsUtils.js`, 'utf8'), diff --git a/packages/lib/components/EncryptionConfigScreen/utils.ts b/packages/lib/components/EncryptionConfigScreen/utils.ts index ba541bcbf..cce4549dc 100644 --- a/packages/lib/components/EncryptionConfigScreen/utils.ts +++ b/packages/lib/components/EncryptionConfigScreen/utils.ts @@ -3,7 +3,6 @@ import { _ } from '../../locale'; import BaseItem, { EncryptedItemsStats } from '../../models/BaseItem'; import useAsyncEffect, { AsyncEffectEvent } from '../../hooks/useAsyncEffect'; import { MasterKeyEntity } from '../../services/e2ee/types'; -// import time from '../../time'; import { findMasterKeyPassword, getMasterPasswordStatus, masterPasswordIsValid, MasterPasswordStatus } from '../../services/e2ee/utils'; import EncryptionService from '../../services/e2ee/EncryptionService'; import { masterKeyEnabled, setMasterKeyEnabled } from '../../services/synchronizer/syncInfoUtils'; diff --git a/yarn.lock b/yarn.lock index b2f6f33cd..be593e59b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4697,8 +4697,6 @@ __metadata: "@types/react-redux": 7.1.25 "@types/styled-components": 5.1.26 async-mutex: 0.4.0 - babel-cli: 6.26.0 - babel-preset-react: 6.24.1 codemirror: 5.65.9 color: 3.2.1 compare-versions: 3.6.0 @@ -9033,16 +9031,6 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^1.3.0": - version: 1.3.2 - resolution: "anymatch@npm:1.3.2" - dependencies: - micromatch: ^2.1.5 - normalize-path: ^2.0.0 - checksum: b197f2adb8217d73da7691be10ca508dae86b20cba34c0fe022fe20caad94cf48be56d600d57554916aaf4f03d0cfadda58fe99676e4450749a9c284c9d4975e - languageName: node - linkType: hard - "anymatch@npm:^2.0.0": version: 2.0.0 resolution: "anymatch@npm:2.0.0" @@ -9200,15 +9188,6 @@ __metadata: languageName: node linkType: hard -"arr-diff@npm:^2.0.0": - version: 2.0.0 - resolution: "arr-diff@npm:2.0.0" - dependencies: - arr-flatten: ^1.0.1 - checksum: b56e8d34e8c8d8dba40de3235c61e3ef4e3626486d6d1c83c34fba4fe6187eff96ffde872100e834e8931e724a96ab9dbd71b0bf0068ba5a3deb7d19cb596892 - languageName: node - linkType: hard - "arr-diff@npm:^4.0.0": version: 4.0.0 resolution: "arr-diff@npm:4.0.0" @@ -9426,13 +9405,6 @@ __metadata: languageName: node linkType: hard -"array-unique@npm:^0.2.1": - version: 0.2.1 - resolution: "array-unique@npm:0.2.1" - checksum: 899deaf07abedf17ee89a757c7bcc9253fb248a7f6c394a1fec9ec3f3ac244314feb3048efee80ed7fdcb047960e32d7c234291bfd26b78ced668c346d9f4e3c - languageName: node - linkType: hard - "array-unique@npm:^0.3.2": version: 0.3.2 resolution: "array-unique@npm:0.3.2" @@ -9626,7 +9598,7 @@ __metadata: languageName: node linkType: hard -"async-each@npm:^1.0.0, async-each@npm:^1.0.1": +"async-each@npm:^1.0.1": version: 1.0.3 resolution: "async-each@npm:1.0.3" checksum: 868651cfeb209970b367fbb96df1e1c8dc0b22c681cda7238417005ab2a5fbd944ee524b43f2692977259a57b7cc2547e03ff68f2b5113dbdf953d48cc078dc3 @@ -9787,75 +9759,6 @@ __metadata: languageName: node linkType: hard -"babel-cli@npm:6.26.0": - version: 6.26.0 - resolution: "babel-cli@npm:6.26.0" - dependencies: - babel-core: ^6.26.0 - babel-polyfill: ^6.26.0 - babel-register: ^6.26.0 - babel-runtime: ^6.26.0 - chokidar: ^1.6.1 - commander: ^2.11.0 - convert-source-map: ^1.5.0 - fs-readdir-recursive: ^1.0.0 - glob: ^7.1.2 - lodash: ^4.17.4 - output-file-sync: ^1.1.2 - path-is-absolute: ^1.0.1 - slash: ^1.0.0 - source-map: ^0.5.6 - v8flags: ^2.1.1 - dependenciesMeta: - chokidar: - optional: true - bin: - babel: ./bin/babel.js - babel-doctor: ./bin/babel-doctor.js - babel-external-helpers: ./bin/babel-external-helpers.js - babel-node: ./bin/babel-node.js - checksum: 85b39b347af80562da9a5c3aae439500d5ffa1571bf5451bedf6bad059b3938dde7fe9f771d7999b9e5748acc7345f0e9b4a5f06f424ddde8f59f838b831ef11 - languageName: node - linkType: hard - -"babel-code-frame@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-code-frame@npm:6.26.0" - dependencies: - chalk: ^1.1.3 - esutils: ^2.0.2 - js-tokens: ^3.0.2 - checksum: 9410c3d5a921eb02fa409675d1a758e493323a49e7b9dddb7a2a24d47e61d39ab1129dd29f9175836eac9ce8b1d4c0a0718fcdc57ce0b865b529fd250dbab313 - languageName: node - linkType: hard - -"babel-core@npm:^6.26.0": - version: 6.26.3 - resolution: "babel-core@npm:6.26.3" - dependencies: - babel-code-frame: ^6.26.0 - babel-generator: ^6.26.0 - babel-helpers: ^6.24.1 - babel-messages: ^6.23.0 - babel-register: ^6.26.0 - babel-runtime: ^6.26.0 - babel-template: ^6.26.0 - babel-traverse: ^6.26.0 - babel-types: ^6.26.0 - babylon: ^6.18.0 - convert-source-map: ^1.5.1 - debug: ^2.6.9 - json5: ^0.5.1 - lodash: ^4.17.4 - minimatch: ^3.0.4 - path-is-absolute: ^1.0.1 - private: ^0.1.8 - slash: ^1.0.0 - source-map: ^0.5.7 - checksum: 3d6a37e5c69ea7f7d66c2a261cbd7219197f2f938700e6ebbabb6d84a03f2bf86691ffa066866dcb49ba6c4bd702d347c9e0e147660847d709705cf43c964752 - languageName: node - linkType: hard - "babel-core@npm:^7.0.0-bridge.0": version: 7.0.0-bridge.0 resolution: "babel-core@npm:7.0.0-bridge.0" @@ -9865,43 +9768,6 @@ __metadata: languageName: node linkType: hard -"babel-generator@npm:^6.26.0": - version: 6.26.1 - resolution: "babel-generator@npm:6.26.1" - dependencies: - babel-messages: ^6.23.0 - babel-runtime: ^6.26.0 - babel-types: ^6.26.0 - detect-indent: ^4.0.0 - jsesc: ^1.3.0 - lodash: ^4.17.4 - source-map: ^0.5.7 - trim-right: ^1.0.1 - checksum: 5397f4d4d1243e7157e3336be96c10fcb1f29f73bf2d9842229c71764d9a6431397d249483a38c4d8b1581459e67be4df6f32d26b1666f02d0f5bfc2c2f25193 - languageName: node - linkType: hard - -"babel-helper-builder-react-jsx@npm:^6.24.1": - version: 6.26.0 - resolution: "babel-helper-builder-react-jsx@npm:6.26.0" - dependencies: - babel-runtime: ^6.26.0 - babel-types: ^6.26.0 - esutils: ^2.0.2 - checksum: 1a2c4ab7aea9236ccaa874e41702508383f58418cd8a210259240b537a21764c152a64bcd183ad2d141a4b643651116ffab25994470ff01771d456ff865d6d72 - languageName: node - linkType: hard - -"babel-helpers@npm:^6.24.1": - version: 6.24.1 - resolution: "babel-helpers@npm:6.24.1" - dependencies: - babel-runtime: ^6.22.0 - babel-template: ^6.24.1 - checksum: 751c6010e18648eebae422adfea5f3b5eff70d592d693bfe0f53346227d74b38e6cd2553c4c18de1e64faac585de490eccbd3ab86ba0885bdac42ed4478bc6b0 - languageName: node - linkType: hard - "babel-jest@npm:29.3.1, babel-jest@npm:^29.3.1": version: 29.3.1 resolution: "babel-jest@npm:29.3.1" @@ -9919,15 +9785,6 @@ __metadata: languageName: node linkType: hard -"babel-messages@npm:^6.23.0": - version: 6.23.0 - resolution: "babel-messages@npm:6.23.0" - dependencies: - babel-runtime: ^6.22.0 - checksum: c8075c17587a33869e1a5bd0a5b73bbe395b68188362dacd5418debbc7c8fd784bcd3295e81ee7e410dc2c2655755add6af03698c522209f6a68334c15e6d6ca - languageName: node - linkType: hard - "babel-plugin-dynamic-import-node@npm:^2.3.3": version: 2.3.3 resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" @@ -10037,14 +9894,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-flow@npm:^6.18.0": - version: 6.18.0 - resolution: "babel-plugin-syntax-flow@npm:6.18.0" - checksum: 3fad477cc08e0b275ef3ccba06e9be86e4037fc9a97bfdb51bc7edbf5354e3fc9bd3d2d289e13022184c8bfc8df7c67df21829633f87c8d54f4a866199599d60 - languageName: node - linkType: hard - -"babel-plugin-syntax-jsx@npm:^6.18.0, babel-plugin-syntax-jsx@npm:^6.3.13, babel-plugin-syntax-jsx@npm:^6.8.0": +"babel-plugin-syntax-jsx@npm:^6.18.0": version: 6.18.0 resolution: "babel-plugin-syntax-jsx@npm:6.18.0" checksum: 0c7ce5b81d6cfc01a7dd7a76a9a8f090ee02ba5c890310f51217ef1a7e6163fb7848994bbc14fd560117892e82240df9c7157ad0764da67ca5f2afafb73a7d27 @@ -10058,67 +9908,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-transform-flow-strip-types@npm:^6.22.0": - version: 6.22.0 - resolution: "babel-plugin-transform-flow-strip-types@npm:6.22.0" - dependencies: - babel-plugin-syntax-flow: ^6.18.0 - babel-runtime: ^6.22.0 - checksum: 8342eff25d17df9cef86c7bcf9847d6d33498af94181b87ae6009b7756104e62c0e38cc842bcdfdcc8e46d99f9491d11735f69e5b41669e89a24c89ffd02dfd0 - languageName: node - linkType: hard - -"babel-plugin-transform-react-display-name@npm:^6.23.0": - version: 6.25.0 - resolution: "babel-plugin-transform-react-display-name@npm:6.25.0" - dependencies: - babel-runtime: ^6.22.0 - checksum: 35ca3d03b59c5aee64ef5e3ab75c0b51064ac2fc69b7e71a7f2086f7f213ce5586906aee2867e0c5d1c2b3472eecb06f6677f96a89dc4c1f12a2934ae7a032a3 - languageName: node - linkType: hard - -"babel-plugin-transform-react-jsx-self@npm:^6.22.0": - version: 6.22.0 - resolution: "babel-plugin-transform-react-jsx-self@npm:6.22.0" - dependencies: - babel-plugin-syntax-jsx: ^6.8.0 - babel-runtime: ^6.22.0 - checksum: 1757670eba3379157e76e4aa28c454505f808d7a8435c437c7c8353b3216abcf4c503bb22ab644ee5bb63c197fe9b69d464ba29c852bfc39b08e04f25b0a47b3 - languageName: node - linkType: hard - -"babel-plugin-transform-react-jsx-source@npm:^6.22.0": - version: 6.22.0 - resolution: "babel-plugin-transform-react-jsx-source@npm:6.22.0" - dependencies: - babel-plugin-syntax-jsx: ^6.8.0 - babel-runtime: ^6.22.0 - checksum: 5d0a323c5c87863906aa6e357918beb95a4470a9628963ee39fe464c053de72557b810a4744da24017eaeb19cad2e5b4cfab30b5e6764ff50d67429666b5744c - languageName: node - linkType: hard - -"babel-plugin-transform-react-jsx@npm:^6.24.1": - version: 6.24.1 - resolution: "babel-plugin-transform-react-jsx@npm:6.24.1" - dependencies: - babel-helper-builder-react-jsx: ^6.24.1 - babel-plugin-syntax-jsx: ^6.8.0 - babel-runtime: ^6.22.0 - checksum: fa91aeda9cdcb33d28c4757ebf302430173a854a833e17a5acdd66442247c38e815ee4ae8d4a44b44a7238bca0c04b4794a61fe2372b88ee668e260b51aa2544 - languageName: node - linkType: hard - -"babel-polyfill@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-polyfill@npm:6.26.0" - dependencies: - babel-runtime: ^6.26.0 - core-js: ^2.5.0 - regenerator-runtime: ^0.10.5 - checksum: 6fb1a3c0bfe1b6fc56ce1afcf531878aa629b309277a05fbf3fe950589b24cb4052a6e487db21d318eb5336b68730a21f5ef62166b6cc8aea3406261054d1118 - languageName: node - linkType: hard - "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -10178,15 +9967,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-flow@npm:^6.23.0": - version: 6.23.0 - resolution: "babel-preset-flow@npm:6.23.0" - dependencies: - babel-plugin-transform-flow-strip-types: ^6.22.0 - checksum: d08b2040b0bcb171c6fe35c69fbaec7187d24c1044df62ce6bec5aeb21c618d1327d762f8f4a2c51798d9274f3cecb40b92fac2dd3cc2059df4f6b417ce69aa6 - languageName: node - linkType: hard - "babel-preset-jest@npm:^29.2.0": version: 29.2.0 resolution: "babel-preset-jest@npm:29.2.0" @@ -10199,96 +9979,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-react@npm:6.24.1": - version: 6.24.1 - resolution: "babel-preset-react@npm:6.24.1" - dependencies: - babel-plugin-syntax-jsx: ^6.3.13 - babel-plugin-transform-react-display-name: ^6.23.0 - babel-plugin-transform-react-jsx: ^6.24.1 - babel-plugin-transform-react-jsx-self: ^6.22.0 - babel-plugin-transform-react-jsx-source: ^6.22.0 - babel-preset-flow: ^6.23.0 - checksum: 71d9579726f9ba79a200291d827de3f98c373a5c6943d11e159091f28736f017cb7673cefd79086d0b71183bfaa94dfe2830329eaffe4dbabefc9976e2821818 - languageName: node - linkType: hard - -"babel-register@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-register@npm:6.26.0" - dependencies: - babel-core: ^6.26.0 - babel-runtime: ^6.26.0 - core-js: ^2.5.0 - home-or-tmp: ^2.0.0 - lodash: ^4.17.4 - mkdirp: ^0.5.1 - source-map-support: ^0.4.15 - checksum: 75d5fe060e4850dbdbd5f56db2928cd0b6b6c93a65ba5f2a991465af4dc3f4adf46d575138f228b2169b1e25e3b4a7cdd16515a355fea41b873321bf56467583 - languageName: node - linkType: hard - -"babel-runtime@npm:^6.22.0, babel-runtime@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-runtime@npm:6.26.0" - dependencies: - core-js: ^2.4.0 - regenerator-runtime: ^0.11.0 - checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 - languageName: node - linkType: hard - -"babel-template@npm:^6.24.1, babel-template@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-template@npm:6.26.0" - dependencies: - babel-runtime: ^6.26.0 - babel-traverse: ^6.26.0 - babel-types: ^6.26.0 - babylon: ^6.18.0 - lodash: ^4.17.4 - checksum: 028dd57380f09b5641b74874a19073c53c4fb3f1696e849575aae18f8c80eaf21db75209057db862f3b893ce2cd9b795d539efa591b58f4a0fb011df0a56fbed - languageName: node - linkType: hard - -"babel-traverse@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-traverse@npm:6.26.0" - dependencies: - babel-code-frame: ^6.26.0 - babel-messages: ^6.23.0 - babel-runtime: ^6.26.0 - babel-types: ^6.26.0 - babylon: ^6.18.0 - debug: ^2.6.8 - globals: ^9.18.0 - invariant: ^2.2.2 - lodash: ^4.17.4 - checksum: fca037588d2791ae0409f1b7aa56075b798699cccc53ea04d82dd1c0f97b9e7ab17065f7dd3ecd69101d7874c9c8fd5e0f88fa53abbae1fe94e37e6b81ebcb8d - languageName: node - linkType: hard - -"babel-types@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-types@npm:6.26.0" - dependencies: - babel-runtime: ^6.26.0 - esutils: ^2.0.2 - lodash: ^4.17.4 - to-fast-properties: ^1.0.3 - checksum: d16b0fa86e9b0e4c2623be81d0a35679faff24dd2e43cde4ca58baf49f3e39415a011a889e6c2259ff09e1228e4c3a3db6449a62de59e80152fe1ce7398fde76 - languageName: node - linkType: hard - -"babylon@npm:^6.18.0": - version: 6.18.0 - resolution: "babylon@npm:6.18.0" - bin: - babylon: ./bin/babylon.js - checksum: 0777ae0c735ce1cbfc856d627589ed9aae212b84fb0c03c368b55e6c5d3507841780052808d0ad46e18a2ba516e93d55eeed8cd967f3b2938822dfeccfb2a16d - languageName: node - linkType: hard - "bach@npm:^1.0.0": version: 1.2.0 resolution: "bach@npm:1.2.0" @@ -10551,17 +10241,6 @@ __metadata: languageName: node linkType: hard -"braces@npm:^1.8.2": - version: 1.8.5 - resolution: "braces@npm:1.8.5" - dependencies: - expand-range: ^1.8.1 - preserve: ^0.2.0 - repeat-element: ^1.1.2 - checksum: 9ea4fb6af8c0a224e515678d7be27ddc450bd974620542a3436188d7fae263f7987406d12ea36c1d92a862e7317b089aa3a0ebda7f1f1663b9332beddc92249e - languageName: node - linkType: hard - "braces@npm:^2.3.1, braces@npm:^2.3.2": version: 2.3.2 resolution: "braces@npm:2.3.2" @@ -11568,26 +11247,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^1.6.1": - version: 1.7.0 - resolution: "chokidar@npm:1.7.0" - dependencies: - anymatch: ^1.3.0 - async-each: ^1.0.0 - fsevents: ^1.0.0 - glob-parent: ^2.0.0 - inherits: ^2.0.1 - is-binary-path: ^1.0.0 - is-glob: ^2.0.0 - path-is-absolute: ^1.0.0 - readdirp: ^2.0.0 - dependenciesMeta: - fsevents: - optional: true - checksum: 96b2319b1dd09e1ec927739af537dadae30a9bd853a5698c0bae964443dff714e92b8414017164f7f917fefbbc216fdf1767026e937d25096a7016ec69c8cd1f - languageName: node - linkType: hard - "chokidar@npm:^2.0.0": version: 2.1.8 resolution: "chokidar@npm:2.1.8" @@ -12186,7 +11845,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:2, commander@npm:^2.11.0, commander@npm:^2.16.0, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": +"commander@npm:2, commander@npm:^2.16.0, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -12554,7 +12213,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" dependencies: @@ -12642,13 +12301,6 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^2.4.0, core-js@npm:^2.5.0": - version: 2.6.12 - resolution: "core-js@npm:2.6.12" - checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 - languageName: node - linkType: hard - "core-util-is@npm:1.0.2": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" @@ -14287,15 +13939,6 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "detect-indent@npm:4.0.0" - dependencies: - repeating: ^2.0.0 - checksum: 328f273915c1610899bc7d4784ce874413d0a698346364cd3ee5d79afba1c5cf4dbc97b85a801e20f4d903c0598bd5096af32b800dfb8696b81464ccb3dfda2c - languageName: node - linkType: hard - "detect-indent@npm:^5.0.0": version: 5.0.0 resolution: "detect-indent@npm:5.0.0" @@ -16111,15 +15754,6 @@ __metadata: languageName: node linkType: hard -"expand-brackets@npm:^0.1.4": - version: 0.1.5 - resolution: "expand-brackets@npm:0.1.5" - dependencies: - is-posix-bracket: ^0.1.0 - checksum: 71b2971027eb026f055a1c310d24d18a266427b84fc18cadddcedb4de2e07aaef6084e252406b20e58f7aa7613f6bfbe6136962955562529a66675bf49bb10d7 - languageName: node - linkType: hard - "expand-brackets@npm:^2.1.4": version: 2.1.4 resolution: "expand-brackets@npm:2.1.4" @@ -16135,15 +15769,6 @@ __metadata: languageName: node linkType: hard -"expand-range@npm:^1.8.1": - version: 1.8.2 - resolution: "expand-range@npm:1.8.2" - dependencies: - fill-range: ^2.1.0 - checksum: ca773ec06838d7d53cfd835b7d58c9c662a3773e5d57647ca6f83e50218efd93e29b5ee6cc1ea9c5651794e9005562cad28c4911ea06aac27323a05f3c6b787d - languageName: node - linkType: hard - "expand-template@npm:^2.0.3": version: 2.0.3 resolution: "expand-template@npm:2.0.3" @@ -16219,15 +15844,6 @@ __metadata: languageName: node linkType: hard -"extglob@npm:^0.3.1": - version: 0.3.2 - resolution: "extglob@npm:0.3.2" - dependencies: - is-extglob: ^1.0.0 - checksum: c1c8d5365fe4992fc5b007140cbb37292ffadcd767cb602606de4d572ff96f38620e42855f8cb75020c050aacf1eeb51212dd6312de46eab42e2200277b5fc45 - languageName: node - linkType: hard - "extglob@npm:^2.0.4": version: 2.0.4 resolution: "extglob@npm:2.0.4" @@ -16508,13 +16124,6 @@ __metadata: languageName: node linkType: hard -"filename-regex@npm:^2.0.0": - version: 2.0.1 - resolution: "filename-regex@npm:2.0.1" - checksum: ac181f8184cf49d2f08889a446995537c3967e6f6195752d903b69c7d85f134425fb1446c4e384e77390bac488b60a9658805debc5a91e8c0bc9f81340505371 - languageName: node - linkType: hard - "filing-cabinet@npm:^3.0.1": version: 3.0.1 resolution: "filing-cabinet@npm:3.0.1" @@ -16538,19 +16147,6 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^2.1.0": - version: 2.2.4 - resolution: "fill-range@npm:2.2.4" - dependencies: - is-number: ^2.1.0 - isobject: ^2.0.0 - randomatic: ^3.0.0 - repeat-element: ^1.1.2 - repeat-string: ^1.5.2 - checksum: ee7cb386c983bf7ff8aa120164c8b857a937c9d2b9c4ddf47af22f9d2bb1bd03dfa821946d7246f1631e86816562dd60059e081948d0804ce2ac0ac83f7edc61 - languageName: node - linkType: hard - "fill-range@npm:^4.0.0": version: 4.0.0 resolution: "fill-range@npm:4.0.0" @@ -16851,15 +16447,6 @@ __metadata: languageName: node linkType: hard -"for-own@npm:^0.1.4": - version: 0.1.5 - resolution: "for-own@npm:0.1.5" - dependencies: - for-in: ^1.0.1 - checksum: 07eb0a2e98eb55ce13b56dd11ef4fb5e619ba7380aaec388b9eec1946153d74fa734ce409e8434020557e9489a50c34bc004d55754f5863bf7d77b441d8dee8c - languageName: node - linkType: hard - "for-own@npm:^1.0.0": version: 1.0.0 resolution: "for-own@npm:1.0.0" @@ -17107,13 +16694,6 @@ __metadata: languageName: node linkType: hard -"fs-readdir-recursive@npm:^1.0.0": - version: 1.1.0 - resolution: "fs-readdir-recursive@npm:1.1.0" - checksum: 29d50f3d2128391c7fc9fd051c8b7ea45bcc8aa84daf31ef52b17218e20bfd2bd34d02382742801954cc8d1905832b68227f6b680a666ce525d8b6b75068ad1e - languageName: node - linkType: hard - "fs-write-stream-atomic@npm:^1.0.8": version: 1.0.10 resolution: "fs-write-stream-atomic@npm:1.0.10" @@ -17133,7 +16713,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^1.0.0, fsevents@npm:^1.2.7": +"fsevents@npm:^1.2.7": version: 1.2.13 resolution: "fsevents@npm:1.2.13" dependencies: @@ -17154,7 +16734,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@^1.0.0#~builtin, fsevents@patch:fsevents@^1.2.7#~builtin": +"fsevents@patch:fsevents@^1.2.7#~builtin": version: 1.2.13 resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin::version=1.2.13&hash=d11327" dependencies: @@ -17607,25 +17187,6 @@ __metadata: languageName: node linkType: hard -"glob-base@npm:^0.3.0": - version: 0.3.0 - resolution: "glob-base@npm:0.3.0" - dependencies: - glob-parent: ^2.0.0 - is-glob: ^2.0.0 - checksum: d0e3054a7df6033936980a3454ee6c91bb6661300b86b7a616d822a521e089afff1f5fbbd2582f9cee9f5823aed31d90244ee2e2e55f425103d42558615df294 - languageName: node - linkType: hard - -"glob-parent@npm:^2.0.0": - version: 2.0.0 - resolution: "glob-parent@npm:2.0.0" - dependencies: - is-glob: ^2.0.0 - checksum: 734fc461d9d2753dd490dd072df6ce41fe4ebb60e9319b108bc538707b21780af3a61c3961ec2264131fad5d3d9a493e013a775aef11a69ac2f49fd7d8f46457 - languageName: node - linkType: hard - "glob-parent@npm:^3.1.0": version: 3.1.0 resolution: "glob-parent@npm:3.1.0" @@ -17701,7 +17262,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:5 - 7, glob@npm:^7.0.0, glob@npm:^7.0.5, glob@npm:^7.1.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:5 - 7, glob@npm:^7.0.0, glob@npm:^7.0.5, glob@npm:^7.1.0, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.0 resolution: "glob@npm:7.2.0" dependencies: @@ -17877,13 +17438,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^9.18.0": - version: 9.18.0 - resolution: "globals@npm:9.18.0" - checksum: e9c066aecfdc5ea6f727344a4246ecc243aaf66ede3bffee10ddc0c73351794c25e727dd046090dcecd821199a63b9de6af299a6e3ba292c8b22f0a80ea32073 - languageName: node - linkType: hard - "globalthis@npm:^1.0.1": version: 1.0.2 resolution: "globalthis@npm:1.0.2" @@ -17995,7 +17549,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.4, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.8 resolution: "graceful-fs@npm:4.2.8" checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 @@ -18409,16 +17963,6 @@ __metadata: languageName: node linkType: hard -"home-or-tmp@npm:^2.0.0": - version: 2.0.0 - resolution: "home-or-tmp@npm:2.0.0" - dependencies: - os-homedir: ^1.0.0 - os-tmpdir: ^1.0.1 - checksum: b783c6ffd22f716d82f53e8c781cbe49bc9f4109a89ea86a27951e54c0bd335caf06bd828be2958cd9f4681986df1739558ae786abda6298cdd6d3edc2c362f1 - languageName: node - linkType: hard - "homedir-polyfill@npm:^1.0.1": version: 1.0.3 resolution: "homedir-polyfill@npm:1.0.3" @@ -19283,7 +18827,7 @@ __metadata: languageName: node linkType: hard -"invariant@npm:2.2.4, invariant@npm:^2.2.2, invariant@npm:^2.2.4": +"invariant@npm:2.2.4, invariant@npm:^2.2.4": version: 2.2.4 resolution: "invariant@npm:2.2.4" dependencies: @@ -19565,22 +19109,6 @@ __metadata: languageName: node linkType: hard -"is-dotfile@npm:^1.0.0": - version: 1.0.3 - resolution: "is-dotfile@npm:1.0.3" - checksum: 5257760d998d50ba2d5b4707007c043c69da0b62172f2221505edc6671ff634581c05df494a19d8d7206d248154c2f29f8432193ee199d33b09733e66371fb35 - languageName: node - linkType: hard - -"is-equal-shallow@npm:^0.1.3": - version: 0.1.3 - resolution: "is-equal-shallow@npm:0.1.3" - dependencies: - is-primitive: ^2.0.0 - checksum: 1a296b660b8749ba1449017d9572e81fe8a96764877d5f9739c523a20cc7cdfa49594c16fa17052d0c3ee4711e35fd6919b06bf1b11b7126feab61abb9503ce6 - languageName: node - linkType: hard - "is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -19597,13 +19125,6 @@ __metadata: languageName: node linkType: hard -"is-extglob@npm:^1.0.0": - version: 1.0.0 - resolution: "is-extglob@npm:1.0.0" - checksum: 5eea8517feeae5206547c0fc838c1416ec763b30093c286e1965a05f46b74a59ad391f912565f3b67c9c31cab4769ab9c35420e016b608acb47309be8d0d6e94 - languageName: node - linkType: hard - "is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -19664,15 +19185,6 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^2.0.0, is-glob@npm:^2.0.1": - version: 2.0.1 - resolution: "is-glob@npm:2.0.1" - dependencies: - is-extglob: ^1.0.0 - checksum: 089f5f93640072491396a5f075ce73e949a90f35832b782bc49a6b7637d58e392d53cb0b395e059ccab70fcb82ff35d183f6f9ebbcb43227a1e02e3fed5430c9 - languageName: node - linkType: hard - "is-glob@npm:^3.1.0": version: 3.1.0 resolution: "is-glob@npm:3.1.0" @@ -19769,15 +19281,6 @@ __metadata: languageName: node linkType: hard -"is-number@npm:^2.1.0": - version: 2.1.0 - resolution: "is-number@npm:2.1.0" - dependencies: - kind-of: ^3.0.2 - checksum: d80e041a43a8de31ecc02037d532f1f448ec9c5b6c02fe7ee67bdd45d21cd9a4b3b4cf07e428ae5adafc2f17408c49fcb0a227915916d94a16d576c39e689f60 - languageName: node - linkType: hard - "is-number@npm:^3.0.0": version: 3.0.0 resolution: "is-number@npm:3.0.0" @@ -19859,13 +19362,6 @@ __metadata: languageName: node linkType: hard -"is-posix-bracket@npm:^0.1.0": - version: 0.1.1 - resolution: "is-posix-bracket@npm:0.1.1" - checksum: 8a6391b41e7acef6898e64b00e06885b28c14b0c76398d3251a6ab1e5350d495dd32ec3f7f88f3f877558ce4b970939356fb315ee607f8f99a1716d4db7bdd40 - languageName: node - linkType: hard - "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -19873,13 +19369,6 @@ __metadata: languageName: node linkType: hard -"is-primitive@npm:^2.0.0": - version: 2.0.0 - resolution: "is-primitive@npm:2.0.0" - checksum: 4d63fe952e31a4bc1d1a65d72f8485f5952407dce8d1cd8d8f070586936ea9ae2df79e0a83956b224aa7776cbbf5767eba3277f28119c36a616b20a439f057c0 - languageName: node - linkType: hard - "is-regex@npm:^1.0.4, is-regex@npm:^1.1.4, is-regex@npm:~1.1.3": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -21069,13 +20558,6 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.2": - version: 3.0.2 - resolution: "js-tokens@npm:3.0.2" - checksum: ff24cf90e6e4ac446eba56e604781c1aaf3bdaf9b13a00596a0ebd972fa3b25dc83c0f0f67289c33252abb4111e0d14e952a5d9ffb61f5c22532d555ebd8d8a9 - languageName: node - linkType: hard - "js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -21340,15 +20822,6 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^1.3.0": - version: 1.3.0 - resolution: "jsesc@npm:1.3.0" - bin: - jsesc: bin/jsesc - checksum: 9384cc72bf8ef7f2eb75fea64176b8b0c1c5e77604854c72cb4670b7072e112e3baaa69ef134be98cb078834a7812b0bfe676ad441ccd749a59427f5ed2127f1 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -22269,7 +21742,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.2.1, lodash@npm:^4.7.0": +"lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.2.1, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -22822,13 +22295,6 @@ __metadata: languageName: node linkType: hard -"math-random@npm:^1.0.1": - version: 1.0.4 - resolution: "math-random@npm:1.0.4" - checksum: 9edf31ea337bba21994eb968218fd571d55fce86b51661158d8e241886b73121d9e1a35a5bb8997dba8ce67417a83c8dbd0811917248f886840035b7f1c667b9 - languageName: node - linkType: hard - "md5-file@npm:5.0.0": version: 5.0.0 resolution: "md5-file@npm:5.0.0" @@ -23641,27 +23107,6 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^2.1.5": - version: 2.3.11 - resolution: "micromatch@npm:2.3.11" - dependencies: - arr-diff: ^2.0.0 - array-unique: ^0.2.1 - braces: ^1.8.2 - expand-brackets: ^0.1.4 - extglob: ^0.3.1 - filename-regex: ^2.0.0 - is-extglob: ^1.0.0 - is-glob: ^2.0.1 - kind-of: ^3.0.2 - normalize-path: ^2.0.1 - object.omit: ^2.0.0 - parse-glob: ^3.0.4 - regex-cache: ^0.4.2 - checksum: 562681808a3149c77ba90947cb8cf1874ea6d07da6fa86416a4f9454f847fb6329aea5234e1af060d9465d9bb14eaaf4bc6c482bf24bc561649042f2b81d3092 - languageName: node - linkType: hard - "micromatch@npm:^3.0.4, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": version: 3.1.10 resolution: "micromatch@npm:3.1.10" @@ -24931,7 +24376,7 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^2.0.0, normalize-path@npm:^2.0.1, normalize-path@npm:^2.1.1": +"normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" dependencies: @@ -25416,16 +24861,6 @@ __metadata: languageName: node linkType: hard -"object.omit@npm:^2.0.0": - version: 2.0.1 - resolution: "object.omit@npm:2.0.1" - dependencies: - for-own: ^0.1.4 - is-extendable: ^0.1.1 - checksum: 581de24e16b72388ad294693daef29072943ef8db3da16aaeb580b5ecefacabe58a744893e9d1564e29130d3465c96ba3e13a03fd130d14f3e06525b3176cac4 - languageName: node - linkType: hard - "object.pick@npm:^1.2.0, object.pick@npm:^1.3.0": version: 1.3.0 resolution: "object.pick@npm:1.3.0" @@ -25703,7 +25138,7 @@ __metadata: languageName: node linkType: hard -"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:^1.0.1, os-tmpdir@npm:~1.0.2": +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2": version: 1.0.2 resolution: "os-tmpdir@npm:1.0.2" checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d @@ -25720,17 +25155,6 @@ __metadata: languageName: node linkType: hard -"output-file-sync@npm:^1.1.2": - version: 1.1.2 - resolution: "output-file-sync@npm:1.1.2" - dependencies: - graceful-fs: ^4.1.4 - mkdirp: ^0.5.1 - object-assign: ^4.1.0 - checksum: cd65a441f22198bcd999ceb806ca854bc0b20295d845d118cc296c37aed7ac039f146abfa3f34f894efa741168af4abd586b030d073fa1eac112c56d9f72d4c7 - languageName: node - linkType: hard - "own-or-env@npm:^1.0.2": version: 1.0.2 resolution: "own-or-env@npm:1.0.2" @@ -26032,18 +25456,6 @@ __metadata: languageName: node linkType: hard -"parse-glob@npm:^3.0.4": - version: 3.0.4 - resolution: "parse-glob@npm:3.0.4" - dependencies: - glob-base: ^0.3.0 - is-dotfile: ^1.0.0 - is-extglob: ^1.0.0 - is-glob: ^2.0.0 - checksum: 447bc442d76522c5e03b5babc8582d4a37fe9d59b3e5ef8d7ddae4e03060637ae38d5d28686e03c27e4d20be34983b5cb053cf8b066d34be0f9d1867eb677e45 - languageName: node - linkType: hard - "parse-json@npm:^2.2.0": version: 2.2.0 resolution: "parse-json@npm:2.2.0" @@ -26903,13 +26315,6 @@ __metadata: languageName: node linkType: hard -"preserve@npm:^0.2.0": - version: 0.2.0 - resolution: "preserve@npm:0.2.0" - checksum: dd31d4fd0e6b218cac7178712ae0683c96e6eaa3e5490a37aba6d47095f87c47ffe980a3061ebe72ca07cb2a9a4f1a41bbeecee8944ec77be311c294e05b2e43 - languageName: node - linkType: hard - "prettier@npm:2.8.1": version: 2.8.1 resolution: "prettier@npm:2.8.1" @@ -26987,13 +26392,6 @@ __metadata: languageName: node linkType: hard -"private@npm:^0.1.8": - version: 0.1.8 - resolution: "private@npm:0.1.8" - checksum: a00abd713d25389f6de7294f0e7879b8a5d09a9ec5fd81cc2f21b29d4f9a80ec53bc4222927d3a281d4aadd4cd373d9a28726fca3935921950dc75fd71d1fdbb - languageName: node - linkType: hard - "process-nextick-args@npm:^2.0.0, process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -27408,17 +26806,6 @@ __metadata: languageName: node linkType: hard -"randomatic@npm:^3.0.0": - version: 3.1.1 - resolution: "randomatic@npm:3.1.1" - dependencies: - is-number: ^4.0.0 - kind-of: ^6.0.0 - math-random: ^1.0.1 - checksum: 1952baed71801d3698fe84f3ab01e25ea124fc20ce91e133aa1981268c1347647f9ae1fdc62389db2411ebdad61c0f7cea0ce840dee260ad2adadfcf27299018 - languageName: node - linkType: hard - "randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -28361,7 +27748,7 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:^2.0.0, readdirp@npm:^2.2.1": +"readdirp@npm:^2.2.1": version: 2.2.1 resolution: "readdirp@npm:2.2.1" dependencies: @@ -28507,20 +27894,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.10.5": - version: 0.10.5 - resolution: "regenerator-runtime@npm:0.10.5" - checksum: 35b33dbe5381d268b2be98f4ee4b028702acb38b012bff90723df067f915a337e5c979cce4dab4ed23febb223bbebb8820d46902f897742c55818c22c14e2a7c - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.11.0": - version: 0.11.1 - resolution: "regenerator-runtime@npm:0.11.1" - checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 - languageName: node - linkType: hard - "regenerator-runtime@npm:^0.13.10": version: 0.13.10 resolution: "regenerator-runtime@npm:0.13.10" @@ -28551,15 +27924,6 @@ __metadata: languageName: node linkType: hard -"regex-cache@npm:^0.4.2": - version: 0.4.4 - resolution: "regex-cache@npm:0.4.4" - dependencies: - is-equal-shallow: ^0.1.3 - checksum: fdaf756fbd7048a34dc454ab6da678828148d34ac8e3701636bd747fd9d2df1191f6f80669f7ce7c4173e4631a92d3943ce4dc2a43a1acfa7c5308cdd49a1587 - languageName: node - linkType: hard - "regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": version: 1.0.2 resolution: "regex-not@npm:1.0.2" @@ -28704,7 +28068,7 @@ __metadata: languageName: node linkType: hard -"repeat-string@npm:^1.5.2, repeat-string@npm:^1.6.1": +"repeat-string@npm:^1.6.1": version: 1.6.1 resolution: "repeat-string@npm:1.6.1" checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 @@ -30065,13 +29429,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^1.0.0": - version: 1.0.0 - resolution: "slash@npm:1.0.0" - checksum: 4b6e21b1fba6184a7e2efb1dd173f692d8a845584c1bbf9dc818ff86f5a52fc91b413008223d17cc684604ee8bb9263a420b1182027ad9762e35388434918860 - languageName: node - linkType: hard - "slash@npm:^2.0.0": version: 2.0.0 resolution: "slash@npm:2.0.0" @@ -30366,15 +29723,6 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.4.15": - version: 0.4.18 - resolution: "source-map-support@npm:0.4.18" - dependencies: - source-map: ^0.5.6 - checksum: 669aa7e992fec586fac0ba9a8dea8ce81b7328f92806335f018ffac5709afb2920e3870b4e56c68164282607229f04b8bbcf5d0e5c845eb1b5119b092e7585c0 - languageName: node - linkType: hard - "source-map-url@npm:^0.4.0": version: 0.4.1 resolution: "source-map-url@npm:0.4.1" @@ -32053,13 +31401,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^1.0.3": - version: 1.0.3 - resolution: "to-fast-properties@npm:1.0.3" - checksum: bd0abb58c4722851df63419de3f6d901d5118f0440d3f71293ed776dd363f2657edaaf2dc470e3f6b7b48eb84aa411193b60db8a4a552adac30de9516c5cc580 - languageName: node - linkType: hard - "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -32272,13 +31613,6 @@ __metadata: languageName: node linkType: hard -"trim-right@npm:^1.0.1": - version: 1.0.1 - resolution: "trim-right@npm:1.0.1" - checksum: 9120af534e006a7424a4f9358710e6e707887b6ccf7ea69e50d6ac6464db1fe22268400def01752f09769025d480395159778153fb98d4a2f6f40d4cf5d4f3b6 - languageName: node - linkType: hard - "trivial-deferred@npm:^1.0.1": version: 1.0.1 resolution: "trivial-deferred@npm:1.0.1" @@ -33301,15 +32635,6 @@ __metadata: languageName: node linkType: hard -"user-home@npm:^1.1.1": - version: 1.1.1 - resolution: "user-home@npm:1.1.1" - bin: - user-home: cli.js - checksum: f02a2c292a7fbf83ed69c773daa4fe5d51e34f1f6ba538cfe155deef7711b2f0447ad1e1a36c313a4f5a646055dd8830690fa26bc346b9192d70b747fb5a0940 - languageName: node - linkType: hard - "utf8-byte-length@npm:^1.0.1": version: 1.0.4 resolution: "utf8-byte-length@npm:1.0.4" @@ -33462,15 +32787,6 @@ __metadata: languageName: node linkType: hard -"v8flags@npm:^2.1.1": - version: 2.1.1 - resolution: "v8flags@npm:2.1.1" - dependencies: - user-home: ^1.1.1 - checksum: 4ec2561efc3c4776bcb6eb2998465f0c85836083d17db6c7ecec83b223ab3efe2978cd8add905ac79de8f6179b25eb6620ed3cf154f4310c1cce62337fc0cc0e - languageName: node - linkType: hard - "v8flags@npm:^3.2.0": version: 3.2.0 resolution: "v8flags@npm:3.2.0"