diff --git a/app/client/components/ActionLog.ts b/app/client/components/ActionLog.ts index b3f44b31..fd456ce4 100644 --- a/app/client/components/ActionLog.ts +++ b/app/client/components/ActionLog.ts @@ -3,7 +3,7 @@ */ import * as dispose from 'app/client/lib/dispose'; -import * as dom from 'app/client/lib/dom'; +import dom from 'app/client/lib/dom'; import {timeFormat} from 'app/common/timeFormat'; import * as ko from 'knockout'; import map = require('lodash/map'); diff --git a/app/client/components/ChartView.ts b/app/client/components/ChartView.ts index 0059b0ab..0d071725 100644 --- a/app/client/components/ChartView.ts +++ b/app/client/components/ChartView.ts @@ -1,4 +1,4 @@ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {GristDoc} from 'app/client/components/GristDoc'; import {consolidateValues, formatPercent, sortByXValues, splitValuesByIndex, uniqXValues} from 'app/client/lib/chartUtil'; @@ -6,7 +6,7 @@ import {Delay} from 'app/client/lib/Delay'; import {Disposable} from 'app/client/lib/dispose'; import {fromKoSave} from 'app/client/lib/fromKoSave'; import {loadPlotly, PlotlyType} from 'app/client/lib/imports'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {ColumnRec, ViewFieldRec, ViewSectionRec} from 'app/client/models/DocModel'; import {reportError} from 'app/client/models/errors'; import {KoSaveableObservable, ObjObservable, setSaveValue} from 'app/client/models/modelUtil'; diff --git a/app/client/components/Cursor.ts b/app/client/components/Cursor.ts index 6a5c6907..a5017209 100644 --- a/app/client/components/Cursor.ts +++ b/app/client/components/Cursor.ts @@ -4,9 +4,9 @@ */ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import * as commands from 'app/client/components/commands'; -import * as BaseRowModel from 'app/client/models/BaseRowModel'; +import BaseRowModel from 'app/client/models/BaseRowModel'; import {LazyArrayModel} from 'app/client/models/DataTableModel'; import type {RowId} from 'app/client/models/rowset'; import {Disposable} from 'grainjs'; diff --git a/app/client/components/CustomView.ts b/app/client/components/CustomView.ts index 2085a6a7..71c51d56 100644 --- a/app/client/components/CustomView.ts +++ b/app/client/components/CustomView.ts @@ -1,4 +1,4 @@ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {Cursor} from 'app/client/components/Cursor'; import * as commands from 'app/client/components/commands'; import {GristDoc} from 'app/client/components/GristDoc'; @@ -7,9 +7,9 @@ import {ConfigNotifier, CustomSectionAPIImpl, GristDocAPIImpl, GristViewImpl, WidgetFrame} from 'app/client/components/WidgetFrame'; import {CustomSectionElement, ViewProcess} from 'app/client/lib/CustomSectionElement'; import {Disposable} from 'app/client/lib/dispose'; -import * as dom from 'app/client/lib/dom'; +import dom from 'app/client/lib/dom'; import * as kd from 'app/client/lib/koDom'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {ViewSectionRec} from 'app/client/models/DocModel'; import {CustomViewSectionDef} from 'app/client/models/entities/ViewSectionRec'; import {UserError} from 'app/client/models/errors'; diff --git a/app/client/components/GristDoc.ts b/app/client/components/GristDoc.ts index 7f203922..c46f2dcb 100644 --- a/app/client/components/GristDoc.ts +++ b/app/client/components/GristDoc.ts @@ -5,7 +5,7 @@ import {AccessRules} from 'app/client/aclui/AccessRules'; import {ActionLog} from 'app/client/components/ActionLog'; -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {isNumericLike, isNumericOnly} from 'app/client/components/ChartView'; import {CodeEditorPanel} from 'app/client/components/CodeEditorPanel'; import * as commands from 'app/client/components/commands'; @@ -27,7 +27,7 @@ import {createSessionObs} from 'app/client/lib/sessionObs'; import {setTestState} from 'app/client/lib/testState'; import {selectFiles} from 'app/client/lib/uploads'; import {reportError} from 'app/client/models/AppModel'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {DataTableModelWithDiff} from 'app/client/models/DataTableModelWithDiff'; import {DocData} from 'app/client/models/DocData'; import {DocInfoRec, DocModel, ViewRec, ViewSectionRec} from 'app/client/models/DocModel'; diff --git a/app/client/components/LinkingState.ts b/app/client/components/LinkingState.ts index 3af3f46c..9dfc7249 100644 --- a/app/client/components/LinkingState.ts +++ b/app/client/components/LinkingState.ts @@ -1,5 +1,5 @@ import {DataRowModel} from "app/client/models/DataRowModel"; -import * as DataTableModel from "app/client/models/DataTableModel"; +import DataTableModel from "app/client/models/DataTableModel"; import {DocModel} from 'app/client/models/DocModel'; import {ColumnRec} from "app/client/models/entities/ColumnRec"; import {TableRec} from "app/client/models/entities/TableRec"; diff --git a/app/client/components/Printing.ts b/app/client/components/Printing.ts index 661746d4..3532aed9 100644 --- a/app/client/components/Printing.ts +++ b/app/client/components/Printing.ts @@ -1,6 +1,6 @@ import {CustomView} from 'app/client/components/CustomView'; import {DataRowModel} from 'app/client/models/DataRowModel'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {ViewSectionRec} from 'app/client/models/DocModel'; import {dom} from 'grainjs'; diff --git a/app/client/components/ViewLayout.ts b/app/client/components/ViewLayout.ts index 19b21295..0bd40549 100644 --- a/app/client/components/ViewLayout.ts +++ b/app/client/components/ViewLayout.ts @@ -1,4 +1,4 @@ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {ChartView} from 'app/client/components/ChartView'; import * as commands from 'app/client/components/commands'; import {CustomView} from 'app/client/components/CustomView'; diff --git a/app/client/components/ViewPane.ts b/app/client/components/ViewPane.ts index 3efab565..f60c87f6 100644 --- a/app/client/components/ViewPane.ts +++ b/app/client/components/ViewPane.ts @@ -1,6 +1,6 @@ // This module is unused except to group some modules for a webpack bundle. // TODO It is a vestige of the old ViewPane.js, and can go away with some bundling improvements. -import * as ViewConfigTab from 'app/client/components/ViewConfigTab'; +import ViewConfigTab from 'app/client/components/ViewConfigTab'; import * as FieldConfig from 'app/client/ui/FieldConfig'; export {ViewConfigTab, FieldConfig}; diff --git a/app/client/components/WidgetFrame.ts b/app/client/components/WidgetFrame.ts index b214e45f..3b714f10 100644 --- a/app/client/components/WidgetFrame.ts +++ b/app/client/components/WidgetFrame.ts @@ -1,4 +1,4 @@ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {GristDoc} from 'app/client/components/GristDoc'; import {get as getBrowserGlobals} from 'app/client/lib/browserGlobals'; import {ColumnRec, ViewSectionRec} from 'app/client/models/DocModel'; diff --git a/app/client/declarations.d.ts b/app/client/declarations.d.ts index fbee77c5..2d88624a 100644 --- a/app/client/declarations.d.ts +++ b/app/client/declarations.d.ts @@ -33,10 +33,10 @@ declare module "app/client/components/BaseView" { import {Cursor, CursorPos} from 'app/client/components/Cursor'; import {GristDoc} from 'app/client/components/GristDoc'; import {Disposable} from 'app/client/lib/dispose'; - import * as BaseRowModel from "app/client/models/BaseRowModel"; + import BaseRowModel from "app/client/models/BaseRowModel"; import {DataRowModel} from 'app/client/models/DataRowModel'; import {LazyArrayModel} from "app/client/models/DataTableModel"; - import * as DataTableModel from "app/client/models/DataTableModel"; + import DataTableModel from "app/client/models/DataTableModel"; import {ViewSectionRec} from "app/client/models/DocModel"; import {FilterInfo} from 'app/client/models/entities/ViewSectionRec'; import {SortedRowSet} from 'app/client/models/rowset'; @@ -141,7 +141,7 @@ declare module "app/client/components/commands" { declare module "app/client/models/BaseRowModel" { import {Disposable} from 'app/client/lib/dispose'; - import * as TableModel from 'app/client/models/TableModel'; + import TableModel from 'app/client/models/TableModel'; import {ColValues} from 'app/common/DocActions'; namespace BaseRowModel {} @@ -158,7 +158,7 @@ declare module "app/client/models/BaseRowModel" { } declare module "app/client/models/MetaRowModel" { - import * as BaseRowModel from "app/client/models/BaseRowModel"; + import BaseRowModel from "app/client/models/BaseRowModel"; namespace MetaRowModel {} class MetaRowModel extends BaseRowModel { public _isDeleted: ko.Observable; @@ -246,10 +246,10 @@ declare module "app/client/models/TableModel" { declare module "app/client/models/MetaTableModel" { import {KoArray} from "app/client/lib/koArray"; import {DocModel} from "app/client/models/DocModel"; - import * as MetaRowModel from "app/client/models/MetaRowModel"; + import MetaRowModel from "app/client/models/MetaRowModel"; import {RowSource} from "app/client/models/rowset"; import {TableData} from "app/client/models/TableData"; - import * as TableModel from "app/client/models/TableModel"; + import TableModel from "app/client/models/TableModel"; import {CellValue} from "app/common/DocActions"; namespace MetaTableModel {} @@ -270,12 +270,12 @@ declare module "app/client/models/MetaTableModel" { declare module "app/client/models/DataTableModel" { import {KoArray} from "app/client/lib/koArray"; - import * as BaseRowModel from "app/client/models/BaseRowModel"; + import BaseRowModel from "app/client/models/BaseRowModel"; import {DocModel, TableRec} from "app/client/models/DocModel"; import {TableQuerySets} from 'app/client/models/QuerySet'; import {SortedRowSet} from "app/client/models/rowset"; import {TableData} from "app/client/models/TableData"; - import * as TableModel from "app/client/models/TableModel"; + import TableModel from "app/client/models/TableModel"; import {UIRowId} from "app/common/UIRowId"; namespace DataTableModel { diff --git a/app/client/lib/SafeBrowser.ts b/app/client/lib/SafeBrowser.ts index 2e76214a..a33f23d9 100644 --- a/app/client/lib/SafeBrowser.ts +++ b/app/client/lib/SafeBrowser.ts @@ -31,7 +31,7 @@ import { ClientScope } from 'app/client/components/ClientScope'; import { get as getBrowserGlobals } from 'app/client/lib/browserGlobals'; -import * as dom from 'app/client/lib/dom'; +import dom from 'app/client/lib/dom'; import * as Mousetrap from 'app/client/lib/Mousetrap'; import { ActionRouter } from 'app/common/ActionRouter'; import { BaseComponent, BaseLogger, createRpcLogger, PluginInstance, warnIfNotReady } from 'app/common/PluginInstance'; diff --git a/app/client/models/ClientColumnGetters.ts b/app/client/models/ClientColumnGetters.ts index 1b678898..72e081cd 100644 --- a/app/client/models/ClientColumnGetters.ts +++ b/app/client/models/ClientColumnGetters.ts @@ -1,4 +1,4 @@ -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import { ColumnGetter, ColumnGetters } from 'app/common/ColumnGetters'; import * as gristTypes from 'app/common/gristTypes'; import { choiceGetter } from 'app/common/SortFunc'; diff --git a/app/client/models/DataRowModel.ts b/app/client/models/DataRowModel.ts index 08294b72..eab7571b 100644 --- a/app/client/models/DataRowModel.ts +++ b/app/client/models/DataRowModel.ts @@ -1,7 +1,7 @@ import { KoArray } from 'app/client/lib/koArray'; import * as koUtil from 'app/client/lib/koUtil'; -import * as BaseRowModel from 'app/client/models/BaseRowModel'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import BaseRowModel from 'app/client/models/BaseRowModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import { IRowModel } from 'app/client/models/DocModel'; import { ValidationRec } from 'app/client/models/entities/ValidationRec'; import * as modelUtil from 'app/client/models/modelUtil'; diff --git a/app/client/models/DataTableModelWithDiff.ts b/app/client/models/DataTableModelWithDiff.ts index 1459a71e..5ee0030c 100644 --- a/app/client/models/DataTableModelWithDiff.ts +++ b/app/client/models/DataTableModelWithDiff.ts @@ -1,5 +1,5 @@ -import * as BaseRowModel from "app/client/models/BaseRowModel"; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import BaseRowModel from "app/client/models/BaseRowModel"; +import DataTableModel from 'app/client/models/DataTableModel'; import { DocModel } from 'app/client/models/DocModel'; import { TableRec } from 'app/client/models/entities/TableRec'; import { TableQuerySets } from 'app/client/models/QuerySet'; diff --git a/app/client/models/DocModel.ts b/app/client/models/DocModel.ts index dbf2fc0b..d9837a46 100644 --- a/app/client/models/DocModel.ts +++ b/app/client/models/DocModel.ts @@ -16,11 +16,11 @@ import * as ko from 'knockout'; import * as koArray from 'app/client/lib/koArray'; import * as koUtil from 'app/client/lib/koUtil'; -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {DocData} from 'app/client/models/DocData'; import {urlState} from 'app/client/models/gristUrlState'; -import * as MetaRowModel from 'app/client/models/MetaRowModel'; -import * as MetaTableModel from 'app/client/models/MetaTableModel'; +import MetaRowModel from 'app/client/models/MetaRowModel'; +import MetaTableModel from 'app/client/models/MetaTableModel'; import * as rowset from 'app/client/models/rowset'; import {isHiddenTable, isRawTable} from 'app/common/isHiddenTable'; import {schema, SchemaTypes} from 'app/common/schema'; diff --git a/app/client/models/HomeModel.ts b/app/client/models/HomeModel.ts index f8bbd248..17dbf812 100644 --- a/app/client/models/HomeModel.ts +++ b/app/client/models/HomeModel.ts @@ -13,7 +13,7 @@ import {SortPref, UserOrgPrefs, ViewPref} from 'app/common/Prefs'; import * as roles from 'app/common/roles'; import {Document, Organization, Workspace} from 'app/common/UserAPI'; import {bundleChanges, Computed, Disposable, Observable, subscribe} from 'grainjs'; -import * as moment from 'moment'; +import moment from 'moment'; import flatten = require('lodash/flatten'); import sortBy = require('lodash/sortBy'); diff --git a/app/client/models/QuerySet.ts b/app/client/models/QuerySet.ts index b883f86d..7f5ed5ac 100644 --- a/app/client/models/QuerySet.ts +++ b/app/client/models/QuerySet.ts @@ -26,7 +26,7 @@ * TODO: client-side should show "..." or "50000 more rows not shown" in that case. * TODO: Reference columns don't work properly because always use a displayCol which relies on formulas */ -import * as DataTableModel from 'app/client/models/DataTableModel'; +import DataTableModel from 'app/client/models/DataTableModel'; import {DocModel} from 'app/client/models/DocModel'; import {BaseFilteredRowSource, RowId, RowList, RowSource} from 'app/client/models/rowset'; import {TableData} from 'app/client/models/TableData'; diff --git a/app/client/models/entities/TableRec.ts b/app/client/models/entities/TableRec.ts index 182b231d..99a3a541 100644 --- a/app/client/models/entities/TableRec.ts +++ b/app/client/models/entities/TableRec.ts @@ -4,7 +4,7 @@ import {ColumnRec, ValidationRec, ViewRec} from 'app/client/models/DocModel'; import * as modelUtil from 'app/client/models/modelUtil'; import {MANUALSORT} from 'app/common/gristTypes'; import * as ko from 'knockout'; -import * as randomcolor from 'randomcolor'; +import randomcolor from 'randomcolor'; // Represents a user-defined table. export interface TableRec extends IRowModel<"_grist_Tables"> { diff --git a/app/client/models/entities/ViewSectionRec.ts b/app/client/models/entities/ViewSectionRec.ts index 5daa7466..f47f41fe 100644 --- a/app/client/models/entities/ViewSectionRec.ts +++ b/app/client/models/entities/ViewSectionRec.ts @@ -1,4 +1,4 @@ -import * as BaseView from 'app/client/components/BaseView'; +import BaseView from 'app/client/components/BaseView'; import {CursorPos} from 'app/client/components/Cursor'; import {FilterColValues, LinkingState} from 'app/client/components/LinkingState'; import {KoArray} from 'app/client/lib/koArray'; diff --git a/app/client/ui/DocHistory.ts b/app/client/ui/DocHistory.ts index fe6a2b9e..76b35754 100644 --- a/app/client/ui/DocHistory.ts +++ b/app/client/ui/DocHistory.ts @@ -12,7 +12,7 @@ import {buildUrlId, parseUrlId} from 'app/common/gristUrls'; import {StringUnion} from 'app/common/StringUnion'; import {DocSnapshot} from 'app/common/UserAPI'; import {Disposable, dom, IDomComponent, MultiHolder, Observable, styled} from 'grainjs'; -import * as moment from 'moment'; +import moment from 'moment'; const DocHistorySubTab = StringUnion("activity", "snapshots"); diff --git a/app/client/ui/FileDialog.ts b/app/client/ui/FileDialog.ts index 8db81f0a..450f9298 100644 --- a/app/client/ui/FileDialog.ts +++ b/app/client/ui/FileDialog.ts @@ -16,7 +16,7 @@ */ import * as browserGlobals from 'app/client/lib/browserGlobals'; -import * as dom from 'app/client/lib/dom'; +import dom from 'app/client/lib/dom'; const G = browserGlobals.get('document', 'window'); export interface FileDialogOptions { diff --git a/app/client/ui/Pages.ts b/app/client/ui/Pages.ts index 09c0a5e1..8a3f17bd 100644 --- a/app/client/ui/Pages.ts +++ b/app/client/ui/Pages.ts @@ -3,7 +3,7 @@ import {duplicatePage} from 'app/client/components/duplicatePage'; import {GristDoc} from 'app/client/components/GristDoc'; import {PageRec} from 'app/client/models/DocModel'; import {urlState} from 'app/client/models/gristUrlState'; -import * as MetaTableModel from 'app/client/models/MetaTableModel'; +import MetaTableModel from 'app/client/models/MetaTableModel'; import {find as findInTree, fromTableData, TreeItemRecord, TreeRecord, TreeTableData} from 'app/client/models/TreeModel'; import {TreeViewComponent} from 'app/client/ui/TreeViewComponent'; diff --git a/app/client/ui/RightPanel.ts b/app/client/ui/RightPanel.ts index cc5f286a..2a3b21ce 100644 --- a/app/client/ui/RightPanel.ts +++ b/app/client/ui/RightPanel.ts @@ -16,8 +16,8 @@ import * as commands from 'app/client/components/commands'; import {GristDoc, IExtraTool, TabContent} from 'app/client/components/GristDoc'; -import * as RefSelect from 'app/client/components/RefSelect'; -import * as ViewConfigTab from 'app/client/components/ViewConfigTab'; +import RefSelect from 'app/client/components/RefSelect'; +import ViewConfigTab from 'app/client/components/ViewConfigTab'; import {domAsync} from 'app/client/lib/domAsync'; import * as imports from 'app/client/lib/imports'; import {createSessionObs} from 'app/client/lib/sessionObs'; diff --git a/app/client/ui/selectBy.ts b/app/client/ui/selectBy.ts index c4287bc0..399a469a 100644 --- a/app/client/ui/selectBy.ts +++ b/app/client/ui/selectBy.ts @@ -2,7 +2,7 @@ import { ColumnRec, DocModel, TableRec, ViewSectionRec } from 'app/client/models import { IPageWidget } from 'app/client/ui/PageWidgetPicker'; import { getReferencedTableId } from 'app/common/gristTypes'; import { IOptionFull } from 'grainjs'; -import * as assert from 'assert'; +import assert from 'assert'; import * as gutil from "app/common/gutil"; // some unicode characters diff --git a/app/client/widgets/FieldBuilder.ts b/app/client/widgets/FieldBuilder.ts index dc42bdae..cfa043c1 100644 --- a/app/client/widgets/FieldBuilder.ts +++ b/app/client/widgets/FieldBuilder.ts @@ -4,7 +4,7 @@ import { FormulaTransform } from 'app/client/components/FormulaTransform'; import { GristDoc } from 'app/client/components/GristDoc'; import { addColTypeSuffix } from 'app/client/components/TypeConversion'; import { TypeTransform } from 'app/client/components/TypeTransform'; -import * as dom from 'app/client/lib/dom'; +import dom from 'app/client/lib/dom'; import { KoArray } from 'app/client/lib/koArray'; import * as kd from 'app/client/lib/koDom'; import * as kf from 'app/client/lib/koForm'; diff --git a/app/common/DocLimits.ts b/app/common/DocLimits.ts index 9e6a9356..4471d619 100644 --- a/app/common/DocLimits.ts +++ b/app/common/DocLimits.ts @@ -1,7 +1,7 @@ import {ApiError} from 'app/common/ApiError'; import {APPROACHING_LIMIT_RATIO, DataLimitStatus, DocumentUsage, getUsageRatio} from 'app/common/DocUsage'; import {Features} from 'app/common/Features'; -import * as moment from 'moment-timezone'; +import moment from 'moment-timezone'; /** * Error class indicating failure due to limits being exceeded. diff --git a/app/common/UserAPI.ts b/app/common/UserAPI.ts index 3a9930da..f8d549ad 100644 --- a/app/common/UserAPI.ts +++ b/app/common/UserAPI.ts @@ -9,13 +9,13 @@ import {OrgUsageSummary} from 'app/common/DocUsage'; import {Product} from 'app/common/Features'; import {ICustomWidget} from 'app/common/CustomWidget'; import {isClient} from 'app/common/gristUrls'; -import {FullUser} from 'app/common/LoginSessionAPI'; +import {FullUser, UserProfile} from 'app/common/LoginSessionAPI'; import {OrgPrefs, UserOrgPrefs, UserPrefs} from 'app/common/Prefs'; import * as roles from 'app/common/roles'; import {addCurrentOrgToPath} from 'app/common/urlUtils'; import {encodeQueryParams} from 'app/common/gutil'; -export {FullUser} from 'app/common/LoginSessionAPI'; +export type {FullUser, UserProfile}; // Nominal email address of the anonymous user. export const ANONYMOUS_USER_EMAIL = 'anon@getgrist.com'; @@ -285,8 +285,6 @@ export interface DocStateComparisonDetails { rightChanges: ActionSummary; } -export {UserProfile} from 'app/common/LoginSessionAPI'; - export interface UserAPI { getSessionActive(): Promise; setSessionActive(email: string): Promise; diff --git a/app/common/ValueFormatter.ts b/app/common/ValueFormatter.ts index 9078d1a6..9ff05f27 100644 --- a/app/common/ValueFormatter.ts +++ b/app/common/ValueFormatter.ts @@ -12,7 +12,7 @@ import {buildNumberFormat, NumberFormatOptions} from 'app/common/NumberFormat'; import {createParserOrFormatterArguments, ReferenceParsingOptions} from 'app/common/ValueParser'; import {GristObjCode} from 'app/plugin/GristData'; import {decodeObject, GristDateTime} from 'app/plugin/objtypes'; -import * as moment from 'moment-timezone'; +import moment from 'moment-timezone'; import isPlainObject = require('lodash/isPlainObject'); export {PENDING_DATA_PLACEHOLDER} from 'app/plugin/objtypes'; diff --git a/app/common/marshal.ts b/app/common/marshal.ts index 9a95b959..60443ac9 100644 --- a/app/common/marshal.ts +++ b/app/common/marshal.ts @@ -25,7 +25,7 @@ * unmarshalled to JS strings if 'bufferToString' option is set. */ import {BigInt} from 'app/common/BigInt'; -import * as MemBuffer from 'app/common/MemBuffer'; +import MemBuffer from 'app/common/MemBuffer'; import {EventEmitter} from 'events'; import * as util from 'util'; diff --git a/app/common/parseDate.ts b/app/common/parseDate.ts index a98b29d3..9a4c89b5 100644 --- a/app/common/parseDate.ts +++ b/app/common/parseDate.ts @@ -3,8 +3,8 @@ import last = require('lodash/last'); import memoize = require('lodash/memoize'); import {getDistinctValues, isNonNullish} from 'app/common/gutil'; // Simply importing 'moment-guess' inconsistently imports bundle.js or bundle.esm.js depending on environment -import * as guessFormat from '@gristlabs/moment-guess/dist/bundle.js'; -import * as moment from 'moment-timezone'; +import guessFormat from '@gristlabs/moment-guess/dist/bundle.js'; +import moment from 'moment-timezone'; // When using YY format, use a consistent interpretation in datepicker and in moment parsing: add // 2000 if the result is at most 10 years greater than the current year; otherwise add 1900. See diff --git a/app/gen-server/ApiServer.ts b/app/gen-server/ApiServer.ts index 04a089c9..0e87a790 100644 --- a/app/gen-server/ApiServer.ts +++ b/app/gen-server/ApiServer.ts @@ -9,7 +9,7 @@ import {getAuthorizedUserId, getUserId, getUserProfiles, RequestWithLogin} from import {getSessionUser, linkOrgWithEmail} from 'app/server/lib/BrowserSession'; import {expressWrap} from 'app/server/lib/expressWrap'; import {RequestWithOrg} from 'app/server/lib/extractOrg'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {addPermit, clearSessionCacheIfNeeded, getDocScope, getScope, integerParam, isParameterOn, sendOkReply, sendReply, stringParam} from 'app/server/lib/requestUtils'; import {IWidgetRepository} from 'app/server/lib/WidgetRepository'; diff --git a/app/gen-server/lib/DocWorkerMap.ts b/app/gen-server/lib/DocWorkerMap.ts index e53740b7..17ea3335 100644 --- a/app/gen-server/lib/DocWorkerMap.ts +++ b/app/gen-server/lib/DocWorkerMap.ts @@ -1,13 +1,13 @@ import {MapWithTTL} from 'app/common/AsyncCreate'; import * as version from 'app/common/version'; import {DocStatus, DocWorkerInfo, IDocWorkerMap} from 'app/server/lib/DocWorkerMap'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {checkPermitKey, formatPermitKey, IPermitStore, Permit} from 'app/server/lib/Permit'; import {promisifyAll} from 'bluebird'; import mapValues = require('lodash/mapValues'); import {createClient, Multi, RedisClient} from 'redis'; -import * as Redlock from 'redlock'; -import * as uuidv4 from 'uuid/v4'; +import Redlock from 'redlock'; +import uuidv4 from 'uuid/v4'; promisifyAll(RedisClient.prototype); promisifyAll(Multi.prototype); diff --git a/app/gen-server/lib/HomeDBManager.ts b/app/gen-server/lib/HomeDBManager.ts index b65ebaa0..505b485a 100644 --- a/app/gen-server/lib/HomeDBManager.ts +++ b/app/gen-server/lib/HomeDBManager.ts @@ -52,7 +52,7 @@ import { } from 'app/gen-server/sqlUtils'; import {getOrCreateConnection} from 'app/server/lib/dbUtils'; import {makeId} from 'app/server/lib/idUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {Permit} from 'app/server/lib/Permit'; import {getScope} from 'app/server/lib/requestUtils'; import {WebHookSecret} from "app/server/lib/Triggers"; @@ -66,7 +66,7 @@ import { SelectQueryBuilder, WhereExpression } from "typeorm"; -import * as uuidv4 from "uuid/v4"; +import uuidv4 from "uuid/v4"; import flatten = require('lodash/flatten'); import pick = require('lodash/pick'); diff --git a/app/gen-server/lib/Housekeeper.ts b/app/gen-server/lib/Housekeeper.ts index cb32b629..6695a04c 100644 --- a/app/gen-server/lib/Housekeeper.ts +++ b/app/gen-server/lib/Housekeeper.ts @@ -7,7 +7,7 @@ import { getAuthorizedUserId } from 'app/server/lib/Authorizer'; import { expressWrap } from 'app/server/lib/expressWrap'; import { GristServer } from 'app/server/lib/GristServer'; import { IElectionStore } from 'app/server/lib/IElectionStore'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { IPermitStore } from 'app/server/lib/Permit'; import { stringParam } from 'app/server/lib/requestUtils'; import * as express from 'express'; diff --git a/app/gen-server/lib/TypeORMPatches.ts b/app/gen-server/lib/TypeORMPatches.ts index f67145ff..ab1ca9a2 100644 --- a/app/gen-server/lib/TypeORMPatches.ts +++ b/app/gen-server/lib/TypeORMPatches.ts @@ -14,7 +14,7 @@ import * as sqlite3 from '@gristlabs/sqlite3'; import {delay} from 'app/common/delay'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {Mutex, MutexInterface} from 'async-mutex'; import isEqual = require('lodash/isEqual'); import {EntityManager, QueryRunner} from 'typeorm'; diff --git a/app/gen-server/lib/Usage.ts b/app/gen-server/lib/Usage.ts index 2bfc3b64..865fa2b1 100644 --- a/app/gen-server/lib/Usage.ts +++ b/app/gen-server/lib/Usage.ts @@ -2,7 +2,7 @@ import {Document} from 'app/gen-server/entity/Document'; import {Organization} from 'app/gen-server/entity/Organization'; import {User} from 'app/gen-server/entity/User'; import {HomeDBManager} from 'app/gen-server/lib/HomeDBManager'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; // Frequency of logging usage information. Not something we need // to track with much granularity. diff --git a/app/server/declarations.d.ts b/app/server/declarations.d.ts index 46d753a9..7d24946e 100644 --- a/app/server/declarations.d.ts +++ b/app/server/declarations.d.ts @@ -41,8 +41,8 @@ declare module "app-module-path" { // version of pidusage that has correct ctime on linux declare module '@gristlabs/pidusage' { - import * as pidusage from 'pidusage'; - export = pidusage; + import pidusage from 'pidusage'; + export default pidusage; } declare module "csv"; diff --git a/app/server/devServerMain.ts b/app/server/devServerMain.ts index dc901112..a7f20a23 100644 --- a/app/server/devServerMain.ts +++ b/app/server/devServerMain.ts @@ -20,7 +20,7 @@ import {updateDb} from 'app/server/lib/dbUtils'; import {FlexServer} from 'app/server/lib/FlexServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {main as mergedServerMain} from 'app/server/mergedServerMain'; import {promisifyAll} from 'bluebird'; import * as fse from 'fs-extra'; diff --git a/app/server/lib/ActiveDoc.ts b/app/server/lib/ActiveDoc.ts index 5310a2c2..d10bb1d2 100644 --- a/app/server/lib/ActiveDoc.ts +++ b/app/server/lib/ActiveDoc.ts @@ -74,23 +74,23 @@ import {ICreateActiveDocOptions} from 'app/server/lib/ICreate'; import {makeForkIds} from 'app/server/lib/idUtils'; import {GRIST_DOC_SQL, GRIST_DOC_WITH_TABLE1_SQL} from 'app/server/lib/initialDocSql'; import {ISandbox} from 'app/server/lib/ISandbox'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {LogMethods} from "app/server/lib/LogMethods"; import {DocRequests} from 'app/server/lib/Requests'; import {shortDesc} from 'app/server/lib/shortDesc'; import {TableMetadataLoader} from 'app/server/lib/TableMetadataLoader'; import {DocTriggers} from "app/server/lib/Triggers"; import {fetchURL, FileUploadInfo, globalUploadSet, UploadInfo} from 'app/server/lib/uploads'; -import * as assert from 'assert'; +import assert from 'assert'; import {Mutex} from 'async-mutex'; import * as bluebird from 'bluebird'; import {EventEmitter} from 'events'; import {IMessage, MsgType} from 'grain-rpc'; -import * as imageSize from 'image-size'; +import imageSize from 'image-size'; import * as moment from 'moment-timezone'; import fetch from 'node-fetch'; import {createClient, RedisClient} from 'redis'; -import * as tmp from 'tmp'; +import tmp from 'tmp'; import {ActionHistory} from './ActionHistory'; import {ActionHistoryImpl} from './ActionHistoryImpl'; diff --git a/app/server/lib/ActiveDocImport.ts b/app/server/lib/ActiveDocImport.ts index fcf4c8d9..b0f1392f 100644 --- a/app/server/lib/ActiveDocImport.ts +++ b/app/server/lib/ActiveDocImport.ts @@ -17,7 +17,7 @@ import {ParseFileResult, ParseOptions} from 'app/plugin/FileParserAPI'; import {GristColumn, GristTable} from 'app/plugin/GristTable'; import {ActiveDoc} from 'app/server/lib/ActiveDoc'; import {DocSession, OptDocSession} from 'app/server/lib/DocSession'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {globalUploadSet, moveUpload, UploadInfo} from 'app/server/lib/uploads'; import {buildComparisonQuery} from 'app/server/lib/ExpandedQuery'; import flatten = require('lodash/flatten'); diff --git a/app/server/lib/AppEndpoint.ts b/app/server/lib/AppEndpoint.ts index 5a2cf8ea..557774ca 100644 --- a/app/server/lib/AppEndpoint.ts +++ b/app/server/lib/AppEndpoint.ts @@ -19,7 +19,7 @@ import {DocStatus, IDocWorkerMap} from 'app/server/lib/DocWorkerMap'; import {expressWrap} from 'app/server/lib/expressWrap'; import {DocTemplate, GristServer} from 'app/server/lib/GristServer'; import {getAssignmentId} from 'app/server/lib/idUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {adaptServerUrl, addOrgToPathIfNeeded, pruneAPIResult, trustOrigin} from 'app/server/lib/requestUtils'; import {ISendAppPageOptions} from 'app/server/lib/sendAppPage'; diff --git a/app/server/lib/Authorizer.ts b/app/server/lib/Authorizer.ts index 1924a726..b11b66bc 100644 --- a/app/server/lib/Authorizer.ts +++ b/app/server/lib/Authorizer.ts @@ -14,13 +14,13 @@ import {RequestWithOrg} from 'app/server/lib/extractOrg'; import {COOKIE_MAX_AGE, getAllowedOrgForSessionID, getCookieDomain, cookieName as sessionCookieName} from 'app/server/lib/gristSessions'; import {makeId} from 'app/server/lib/idUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {IPermitStore, Permit} from 'app/server/lib/Permit'; import {allowHost, getOriginUrl, optStringParam} from 'app/server/lib/requestUtils'; import * as cookie from 'cookie'; import {NextFunction, Request, RequestHandler, Response} from 'express'; import {IncomingMessage} from 'http'; -import * as onHeaders from 'on-headers'; +import onHeaders from 'on-headers'; export interface RequestWithLogin extends Request { sessionID: string; diff --git a/app/server/lib/BrowserSession.ts b/app/server/lib/BrowserSession.ts index 81df20ce..83de69cd 100644 --- a/app/server/lib/BrowserSession.ts +++ b/app/server/lib/BrowserSession.ts @@ -1,7 +1,7 @@ import {normalizeEmail} from 'app/common/emails'; import {UserProfile} from 'app/common/LoginSessionAPI'; import {SessionStore} from 'app/server/lib/gristSessions'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {fromCallback} from 'app/server/lib/serverUtils'; import {Request} from 'express'; diff --git a/app/server/lib/Client.ts b/app/server/lib/Client.ts index 1ad4b0db..73bb9a6f 100644 --- a/app/server/lib/Client.ts +++ b/app/server/lib/Client.ts @@ -12,12 +12,12 @@ import {Authorizer} from 'app/server/lib/Authorizer'; import {ScopedSession} from 'app/server/lib/BrowserSession'; import type {Comm} from 'app/server/lib/Comm'; import {DocSession} from 'app/server/lib/DocSession'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {LogMethods} from "app/server/lib/LogMethods"; import {shortDesc} from 'app/server/lib/shortDesc'; import {fromCallback} from 'app/server/lib/serverUtils'; import * as crypto from 'crypto'; -import * as moment from 'moment'; +import moment from 'moment'; import * as WebSocket from 'ws'; /// How many messages to accumulate for a disconnected client before booting it. diff --git a/app/server/lib/Comm.ts b/app/server/lib/Comm.ts index a00f499d..dac19486 100644 --- a/app/server/lib/Comm.ts +++ b/app/server/lib/Comm.ts @@ -47,7 +47,7 @@ import {ScopedSession} from "app/server/lib/BrowserSession"; import {Client, ClientMethod} from "app/server/lib/Client"; import {Hosts, RequestWithOrg} from 'app/server/lib/extractOrg'; import {GristLoginMiddleware} from 'app/server/lib/GristServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {localeFromRequest} from 'app/server/lib/ServerLocale'; import {fromCallback} from 'app/server/lib/serverUtils'; import {Sessions} from 'app/server/lib/Sessions'; diff --git a/app/server/lib/DocApi.ts b/app/server/lib/DocApi.ts index 3da0a9d6..daea4831 100644 --- a/app/server/lib/DocApi.ts +++ b/app/server/lib/DocApi.ts @@ -58,16 +58,16 @@ import {localeFromRequest} from "app/server/lib/ServerLocale"; import {allowedEventTypes, isUrlAllowed, WebhookAction, WebHookSecret} from "app/server/lib/Triggers"; import {handleOptionalUpload, handleUpload} from "app/server/lib/uploads"; import * as assert from 'assert'; -import * as contentDisposition from 'content-disposition'; +import contentDisposition from 'content-disposition'; import {Application, NextFunction, Request, RequestHandler, Response} from "express"; import * as _ from "lodash"; -import * as LRUCache from 'lru-cache'; +import LRUCache from 'lru-cache'; import * as moment from 'moment'; import fetch from 'node-fetch'; import * as path from 'path'; import * as t from "ts-interface-checker"; import {Checker} from "ts-interface-checker"; -import * as uuidv4 from "uuid/v4"; +import uuidv4 from "uuid/v4"; // Cap on the number of requests that can be outstanding on a single document via the // rest doc api. When this limit is exceeded, incoming requests receive an immediate diff --git a/app/server/lib/DocManager.ts b/app/server/lib/DocManager.ts index 63900df5..a03d3c05 100644 --- a/app/server/lib/DocManager.ts +++ b/app/server/lib/DocManager.ts @@ -1,4 +1,4 @@ -import * as pidusage from '@gristlabs/pidusage'; +import pidusage from '@gristlabs/pidusage'; import {Document} from 'app/gen-server/entity/Document'; import {getScope} from 'app/server/lib/requestUtils'; import * as bluebird from 'bluebird'; @@ -27,7 +27,7 @@ import {GristServer} from 'app/server/lib/GristServer'; import {IDocStorageManager} from 'app/server/lib/IDocStorageManager'; import {makeForkIds, makeId} from 'app/server/lib/idUtils'; import {checkAllegedGristDoc} from 'app/server/lib/serverUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {ActiveDoc} from './ActiveDoc'; import {PluginManager} from './PluginManager'; import {getFileUploadInfo, globalUploadSet, makeAccessId, UploadInfo} from './uploads'; diff --git a/app/server/lib/DocPluginManager.ts b/app/server/lib/DocPluginManager.ts index bd0310f4..7be46805 100644 --- a/app/server/lib/DocPluginManager.ts +++ b/app/server/lib/DocPluginManager.ts @@ -13,13 +13,13 @@ import { DocPluginData } from 'app/server/lib/DocPluginData'; import { makeExceptionalDocSession } from 'app/server/lib/DocSession'; import { FileParserElement } from 'app/server/lib/FileParserElement'; import { GristServer } from 'app/server/lib/GristServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { SafePythonComponent } from 'app/server/lib/SafePythonComponent'; import { UnsafeNodeComponent } from 'app/server/lib/UnsafeNodeComponent'; import { promisifyAll } from 'bluebird'; import * as fse from 'fs-extra'; import * as path from 'path'; -import * as tmp from 'tmp'; +import tmp from 'tmp'; promisifyAll(tmp); diff --git a/app/server/lib/DocSnapshots.ts b/app/server/lib/DocSnapshots.ts index 45b2bc4b..01b1f5a1 100644 --- a/app/server/lib/DocSnapshots.ts +++ b/app/server/lib/DocSnapshots.ts @@ -3,7 +3,7 @@ import {SnapshotWindow} from 'app/common/Features'; import {KeyedMutex} from 'app/common/KeyedMutex'; import {KeyedOps} from 'app/common/KeyedOps'; import {ExternalStorage} from 'app/server/lib/ExternalStorage'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import * as fse from 'fs-extra'; import * as moment from 'moment-timezone'; diff --git a/app/server/lib/DocStorage.ts b/app/server/lib/DocStorage.ts index af500a76..97f0021f 100644 --- a/app/server/lib/DocStorage.ts +++ b/app/server/lib/DocStorage.ts @@ -18,14 +18,14 @@ import {GristObjCode} from "app/plugin/GristData"; import {ActionHistoryImpl} from 'app/server/lib/ActionHistoryImpl'; import {ExpandedQuery} from 'app/server/lib/ExpandedQuery'; import {IDocStorageManager} from 'app/server/lib/IDocStorageManager'; -import * as log from 'app/server/lib/log'; -import * as assert from 'assert'; +import log from 'app/server/lib/log'; +import assert from 'assert'; import * as bluebird from 'bluebird'; import * as fse from 'fs-extra'; import {RunResult} from 'sqlite3'; import * as _ from 'underscore'; import * as util from 'util'; -import * as uuidv4 from "uuid/v4"; +import uuidv4 from "uuid/v4"; import {OnDemandStorage} from './OnDemandActions'; import {ISQLiteDB, MigrationHooks, OpenMode, quoteIdent, ResultRow, SchemaInfo, SQLiteDB} from './SQLiteDB'; import chunk = require('lodash/chunk'); diff --git a/app/server/lib/DocStorageManager.ts b/app/server/lib/DocStorageManager.ts index 47dfce75..863523be 100644 --- a/app/server/lib/DocStorageManager.ts +++ b/app/server/lib/DocStorageManager.ts @@ -1,7 +1,7 @@ import * as bluebird from 'bluebird'; import * as chokidar from 'chokidar'; import * as fse from 'fs-extra'; -import * as moment from 'moment'; +import moment from 'moment'; import * as path from 'path'; import {DocEntry, DocEntryTag} from 'app/common/DocListAPI'; @@ -13,8 +13,8 @@ import * as docUtils from 'app/server/lib/docUtils'; import {GristServer} from 'app/server/lib/GristServer'; import {IDocStorageManager} from 'app/server/lib/IDocStorageManager'; import {IShell} from 'app/server/lib/IShell'; -import * as log from 'app/server/lib/log'; -import * as uuidv4 from "uuid/v4"; +import log from 'app/server/lib/log'; +import uuidv4 from "uuid/v4"; /** diff --git a/app/server/lib/DocWorker.ts b/app/server/lib/DocWorker.ts index f05fa6c4..61400add 100644 --- a/app/server/lib/DocWorker.ts +++ b/app/server/lib/DocWorker.ts @@ -10,10 +10,10 @@ import {Comm} from 'app/server/lib/Comm'; import {DocSession, docSessionFromRequest} from 'app/server/lib/DocSession'; import {filterDocumentInPlace} from 'app/server/lib/filterUtils'; import {IDocStorageManager} from 'app/server/lib/IDocStorageManager'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {getDocId, integerParam, optStringParam, stringParam} from 'app/server/lib/requestUtils'; import {OpenMode, quoteIdent, SQLiteDB} from 'app/server/lib/SQLiteDB'; -import * as contentDisposition from 'content-disposition'; +import contentDisposition from 'content-disposition'; import * as express from 'express'; import * as fse from 'fs-extra'; import * as mimeTypes from 'mime-types'; diff --git a/app/server/lib/ExcelFormatter.ts b/app/server/lib/ExcelFormatter.ts index 7d2bbc11..2041df46 100644 --- a/app/server/lib/ExcelFormatter.ts +++ b/app/server/lib/ExcelFormatter.ts @@ -6,7 +6,7 @@ import {FormatOptions, formatUnknown, IsRightTypeFunc} from 'app/common/ValueFor import {GristType} from 'app/plugin/GristData'; import {decodeObject} from 'app/plugin/objtypes'; import {Style} from 'exceljs'; -import * as moment from 'moment-timezone'; +import moment from 'moment-timezone'; interface WidgetOptions extends NumberFormatOptions { textColor?: 'string'; diff --git a/app/server/lib/ExportCSV.ts b/app/server/lib/ExportCSV.ts index 46972175..70adad72 100644 --- a/app/server/lib/ExportCSV.ts +++ b/app/server/lib/ExportCSV.ts @@ -2,10 +2,10 @@ import {ApiError} from 'app/common/ApiError'; import {createFormatter} from 'app/common/ValueFormatter'; import {ActiveDoc} from 'app/server/lib/ActiveDoc'; import {ExportData, exportSection, exportTable, Filter} from 'app/server/lib/Export'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import * as bluebird from 'bluebird'; -import * as contentDisposition from 'content-disposition'; -import * as csv from 'csv'; +import contentDisposition from 'content-disposition'; +import csv from 'csv'; import * as express from 'express'; export interface DownloadCSVOptions { diff --git a/app/server/lib/ExportXLSX.ts b/app/server/lib/ExportXLSX.ts index 360afe94..1de7ea92 100644 --- a/app/server/lib/ExportXLSX.ts +++ b/app/server/lib/ExportXLSX.ts @@ -3,8 +3,8 @@ import {createExcelFormatter} from 'app/server/lib/ExcelFormatter'; import {ExportData, exportDoc} from 'app/server/lib/Export'; import {Alignment, Border, Fill, Workbook} from 'exceljs'; import * as express from 'express'; -import * as log from 'app/server/lib/log'; -import * as contentDisposition from 'content-disposition'; +import log from 'app/server/lib/log'; +import contentDisposition from 'content-disposition'; export interface DownloadXLSXOptions { filename: string; diff --git a/app/server/lib/ExternalStorage.ts b/app/server/lib/ExternalStorage.ts index 3c456909..e961f5f5 100644 --- a/app/server/lib/ExternalStorage.ts +++ b/app/server/lib/ExternalStorage.ts @@ -1,5 +1,5 @@ import {ObjMetadata, ObjSnapshot, ObjSnapshotWithMetadata} from 'app/common/DocSnapshot'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {createTmpDir} from 'app/server/lib/uploads'; import {delay} from 'bluebird'; import * as fse from 'fs-extra'; diff --git a/app/server/lib/FlexServer.ts b/app/server/lib/FlexServer.ts index d8acd6ce..7fd2598f 100644 --- a/app/server/lib/FlexServer.ts +++ b/app/server/lib/FlexServer.ts @@ -39,7 +39,7 @@ import {HostedStorageManager} from 'app/server/lib/HostedStorageManager'; import {IBilling} from 'app/server/lib/IBilling'; import {IDocStorageManager} from 'app/server/lib/IDocStorageManager'; import {INotifier} from 'app/server/lib/INotifier'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {getLoginSystem} from 'app/server/lib/logins'; import {IPermitStore} from 'app/server/lib/Permit'; import {getAppPathTo, getAppRoot, getUnpackedAppRoot} from 'app/server/lib/places'; @@ -59,12 +59,12 @@ import {addUploadRoute} from 'app/server/lib/uploads'; import {buildWidgetRepository, IWidgetRepository} from 'app/server/lib/WidgetRepository'; import axios from 'axios'; import * as bodyParser from 'body-parser'; -import * as express from 'express'; +import express from 'express'; import * as fse from 'fs-extra'; import * as http from 'http'; import * as https from 'https'; import mapValues = require('lodash/mapValues'); -import * as morganLogger from 'morgan'; +import morganLogger from 'morgan'; import {AddressInfo} from 'net'; import fetch from 'node-fetch'; import * as path from 'path'; diff --git a/app/server/lib/GoogleAuth.ts b/app/server/lib/GoogleAuth.ts index 3cc0b568..92c5c6f1 100644 --- a/app/server/lib/GoogleAuth.ts +++ b/app/server/lib/GoogleAuth.ts @@ -2,7 +2,7 @@ import {auth} from '@googleapis/oauth2'; import {ApiError} from 'app/common/ApiError'; import {parseSubdomain} from 'app/common/gristUrls'; import {expressWrap} from 'app/server/lib/expressWrap'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {getOriginUrl, optStringParam, stringParam} from 'app/server/lib/requestUtils'; import * as express from 'express'; import {URL} from 'url'; diff --git a/app/server/lib/GoogleExport.ts b/app/server/lib/GoogleExport.ts index f0545bbe..e2c2b610 100644 --- a/app/server/lib/GoogleExport.ts +++ b/app/server/lib/GoogleExport.ts @@ -2,7 +2,7 @@ import {drive} from '@googleapis/drive'; import {ActiveDoc} from 'app/server/lib/ActiveDoc'; import {RequestWithLogin} from 'app/server/lib/Authorizer'; import {makeXLSX} from 'app/server/lib/ExportXLSX'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {optStringParam} from 'app/server/lib/requestUtils'; import {Request, Response} from 'express'; import {PassThrough} from 'stream'; diff --git a/app/server/lib/GoogleImport.ts b/app/server/lib/GoogleImport.ts index 435f5698..82d59366 100644 --- a/app/server/lib/GoogleImport.ts +++ b/app/server/lib/GoogleImport.ts @@ -3,7 +3,7 @@ import {Readable} from 'form-data'; import {GaxiosError, GaxiosPromise} from 'gaxios'; import {FetchError, Response as FetchResponse, Headers} from 'node-fetch'; import {getGoogleAuth} from "app/server/lib/GoogleAuth"; -import * as contentDisposition from 'content-disposition'; +import contentDisposition from 'content-disposition'; const SPREADSHEETS_MIMETYPE = 'application/vnd.google-apps.spreadsheet', diff --git a/app/server/lib/GranularAccess.ts b/app/server/lib/GranularAccess.ts index fb34afed..d0f7d753 100644 --- a/app/server/lib/GranularAccess.ts +++ b/app/server/lib/GranularAccess.ts @@ -31,7 +31,7 @@ import { compileAclFormula } from 'app/server/lib/ACLFormula'; import { DocClients } from 'app/server/lib/DocClients'; import { getDocSessionAccess, getDocSessionAltSessionId, getDocSessionUser, OptDocSession } from 'app/server/lib/DocSession'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { IPermissionInfo, PermissionInfo, PermissionSetWithContext } from 'app/server/lib/PermissionInfo'; import { TablePermissionSetWithContext } from 'app/server/lib/PermissionInfo'; import { integerParam } from 'app/server/lib/requestUtils'; diff --git a/app/server/lib/HostedMetadataManager.ts b/app/server/lib/HostedMetadataManager.ts index 9db8e02d..bce0a055 100644 --- a/app/server/lib/HostedMetadataManager.ts +++ b/app/server/lib/HostedMetadataManager.ts @@ -1,5 +1,5 @@ import {DocumentMetadata, HomeDBManager} from 'app/gen-server/lib/HomeDBManager'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; /** * HostedMetadataManager handles pushing document metadata changes to the Home database when diff --git a/app/server/lib/HostedStorageManager.ts b/app/server/lib/HostedStorageManager.ts index 75e371a8..fded820e 100644 --- a/app/server/lib/HostedStorageManager.ts +++ b/app/server/lib/HostedStorageManager.ts @@ -19,7 +19,7 @@ import {LogMethods} from "app/server/lib/LogMethods"; import {fromCallback} from 'app/server/lib/serverUtils'; import * as fse from 'fs-extra'; import * as path from 'path'; -import * as uuidv4 from "uuid/v4"; +import uuidv4 from "uuid/v4"; import { OpenMode, SQLiteDB } from './SQLiteDB'; // Check for a valid document id. diff --git a/app/server/lib/ISandbox.ts b/app/server/lib/ISandbox.ts index b0b95374..c53583fa 100644 --- a/app/server/lib/ISandbox.ts +++ b/app/server/lib/ISandbox.ts @@ -1,4 +1,4 @@ -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {ISandboxOptions} from 'app/server/lib/NSandbox'; /** diff --git a/app/server/lib/LogMethods.ts b/app/server/lib/LogMethods.ts index b7394a63..52c1213e 100644 --- a/app/server/lib/LogMethods.ts +++ b/app/server/lib/LogMethods.ts @@ -1,4 +1,4 @@ -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; export type ILogMeta = log.ILogMeta; diff --git a/app/server/lib/NSandbox.ts b/app/server/lib/NSandbox.ts index 63fe083e..5c73b2c0 100644 --- a/app/server/lib/NSandbox.ts +++ b/app/server/lib/NSandbox.ts @@ -4,7 +4,7 @@ import {arrayToString} from 'app/common/arrayToString'; import * as marshal from 'app/common/marshal'; import {ISandbox, ISandboxCreationOptions, ISandboxCreator} from 'app/server/lib/ISandbox'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {DirectProcessControl, ISandboxControl, NoProcessControl, ProcessInfo, SubprocessControl} from 'app/server/lib/SandboxControl'; import * as sandboxUtil from 'app/server/lib/sandboxUtil'; diff --git a/app/server/lib/PermissionInfo.ts b/app/server/lib/PermissionInfo.ts index 8ffa2462..6a1816cf 100644 --- a/app/server/lib/PermissionInfo.ts +++ b/app/server/lib/PermissionInfo.ts @@ -5,7 +5,7 @@ import { ALL_PERMISSION_PROPS, emptyPermissionSet, import { ACLRuleCollection } from 'app/common/ACLRuleCollection'; import { AclMatchInput, RuleSet, UserInfo } from 'app/common/GranularAccessClause'; import { getSetMapValue } from 'app/common/gutil'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { mapValues } from 'lodash'; /** diff --git a/app/server/lib/PluginEndpoint.ts b/app/server/lib/PluginEndpoint.ts index 549a0a9d..7afdc6be 100644 --- a/app/server/lib/PluginEndpoint.ts +++ b/app/server/lib/PluginEndpoint.ts @@ -1,5 +1,5 @@ import {FlexServer} from 'app/server/lib/FlexServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {PluginManager} from 'app/server/lib/PluginManager'; import * as express from 'express'; import * as mimeTypes from 'mime-types'; diff --git a/app/server/lib/PluginManager.ts b/app/server/lib/PluginManager.ts index fb1e7669..712838b9 100644 --- a/app/server/lib/PluginManager.ts +++ b/app/server/lib/PluginManager.ts @@ -1,5 +1,5 @@ import {DirectoryScanEntry, LocalPlugin} from 'app/common/plugin'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {readManifest} from 'app/server/lib/manifest'; import {getAppPathTo} from 'app/server/lib/places'; import * as fse from 'fs-extra'; diff --git a/app/server/lib/Requests.ts b/app/server/lib/Requests.ts index 3835b1ff..6031c6b1 100644 --- a/app/server/lib/Requests.ts +++ b/app/server/lib/Requests.ts @@ -11,7 +11,7 @@ import chunk = require('lodash/chunk'); import fromPairs = require('lodash/fromPairs'); import zipObject = require('lodash/zipObject'); import * as fse from 'fs-extra'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; export class DocRequests { // Request responses are briefly cached in files only to handle multiple requests in a formula diff --git a/app/server/lib/SQLiteDB.ts b/app/server/lib/SQLiteDB.ts index 73119584..e509299d 100644 --- a/app/server/lib/SQLiteDB.ts +++ b/app/server/lib/SQLiteDB.ts @@ -70,11 +70,11 @@ import {ErrorWithCode} from 'app/common/ErrorWithCode'; import {timeFormat} from 'app/common/timeFormat'; import * as docUtils from 'app/server/lib/docUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {fromCallback} from 'app/server/lib/serverUtils'; import * as sqlite3 from '@gristlabs/sqlite3'; -import * as assert from 'assert'; +import assert from 'assert'; import {each} from 'bluebird'; import * as fse from 'fs-extra'; import {RunResult} from 'sqlite3'; diff --git a/app/server/lib/SafePythonComponent.ts b/app/server/lib/SafePythonComponent.ts index bb40885a..9d0eb87a 100644 --- a/app/server/lib/SafePythonComponent.ts +++ b/app/server/lib/SafePythonComponent.ts @@ -2,7 +2,7 @@ import {LocalPlugin} from 'app/common/plugin'; import {BaseComponent, createRpcLogger} from 'app/common/PluginInstance'; import {GristServer} from 'app/server/lib/GristServer'; import {ISandbox} from 'app/server/lib/ISandbox'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {IMsgCustom, IMsgRpcCall} from 'grain-rpc'; // TODO safePython component should be able to call other components function diff --git a/app/server/lib/SamlConfig.ts b/app/server/lib/SamlConfig.ts index 593e1f53..5cdac99a 100644 --- a/app/server/lib/SamlConfig.ts +++ b/app/server/lib/SamlConfig.ts @@ -59,7 +59,7 @@ import * as saml2 from 'saml2-js'; import {expressWrap} from 'app/server/lib/expressWrap'; import {GristLoginSystem, GristServer} from 'app/server/lib/GristServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {Permit} from 'app/server/lib/Permit'; import {getOriginUrl} from 'app/server/lib/requestUtils'; import {fromCallback} from 'app/server/lib/serverUtils'; diff --git a/app/server/lib/SandboxControl.ts b/app/server/lib/SandboxControl.ts index 43ac43f8..d2626d1b 100644 --- a/app/server/lib/SandboxControl.ts +++ b/app/server/lib/SandboxControl.ts @@ -1,8 +1,8 @@ import { delay } from 'app/common/delay'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { Throttle } from 'app/server/lib/Throttle'; -import * as pidusage from '@gristlabs/pidusage'; +import pidusage from '@gristlabs/pidusage'; import * as childProcess from 'child_process'; import * as util from 'util'; diff --git a/app/server/lib/Sharing.ts b/app/server/lib/Sharing.ts index f8383b60..eb06ca32 100644 --- a/app/server/lib/Sharing.ts +++ b/app/server/lib/Sharing.ts @@ -8,12 +8,12 @@ import { } from 'app/common/ActionBundle'; import {CALCULATING_USER_ACTIONS, DocAction, getNumRows, UserAction} from 'app/common/DocActions'; import {allToken} from 'app/common/sharing'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {LogMethods} from "app/server/lib/LogMethods"; import {shortDesc} from 'app/server/lib/shortDesc'; -import * as assert from 'assert'; +import assert from 'assert'; import {Mutex} from 'async-mutex'; -import * as Deque from 'double-ended-queue'; +import Deque from 'double-ended-queue'; import {ActionHistory, asActionGroup, getActionUndoInfo} from './ActionHistory'; import {ActiveDoc} from './ActiveDoc'; import {makeExceptionalDocSession, OptDocSession} from './DocSession'; diff --git a/app/server/lib/TestingHooks.ts b/app/server/lib/TestingHooks.ts index d406de32..de502457 100644 --- a/app/server/lib/TestingHooks.ts +++ b/app/server/lib/TestingHooks.ts @@ -5,7 +5,7 @@ import {Deps as ActiveDocDeps} from 'app/server/lib/ActiveDoc'; import {Deps as DiscourseConnectDeps} from 'app/server/lib/DiscourseConnect'; import {Deps as CommClientDeps} from 'app/server/lib/Client'; import {Comm} from 'app/server/lib/Comm'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {IMessage, Rpc} from 'grain-rpc'; import {Request} from 'express'; import * as t from 'ts-interface-checker'; diff --git a/app/server/lib/Throttle.ts b/app/server/lib/Throttle.ts index e1d40c1b..3499747a 100644 --- a/app/server/lib/Throttle.ts +++ b/app/server/lib/Throttle.ts @@ -18,8 +18,8 @@ * */ -import * as pidusage from '@gristlabs/pidusage'; -import * as log from 'app/server/lib/log'; +import pidusage from '@gristlabs/pidusage'; +import log from 'app/server/lib/log'; /** * Parameters related to throttling. diff --git a/app/server/lib/Triggers.ts b/app/server/lib/Triggers.ts index ca7524e9..2622dccc 100644 --- a/app/server/lib/Triggers.ts +++ b/app/server/lib/Triggers.ts @@ -9,7 +9,7 @@ import {CellDelta} from 'app/common/TabularDiff'; import {summarizeAction} from 'app/server/lib/ActionSummary'; import {ActiveDoc} from 'app/server/lib/ActiveDoc'; import {makeExceptionalDocSession} from 'app/server/lib/DocSession'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {promisifyAll} from 'bluebird'; import * as _ from 'lodash'; import fetch from 'node-fetch'; diff --git a/app/server/lib/UnsafeNodeComponent.ts b/app/server/lib/UnsafeNodeComponent.ts index 0b59f229..44126008 100644 --- a/app/server/lib/UnsafeNodeComponent.ts +++ b/app/server/lib/UnsafeNodeComponent.ts @@ -2,7 +2,7 @@ import { ActionRouter } from 'app/common/ActionRouter'; import { LocalPlugin } from 'app/common/plugin'; import { BaseComponent, createRpcLogger, warnIfNotReady } from 'app/common/PluginInstance'; import { GristAPI, RPC_GRISTAPI_INTERFACE } from 'app/plugin/GristAPI'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { getAppPathTo } from 'app/server/lib/places'; import { makeLinePrefixer } from 'app/server/lib/sandboxUtil'; import { exitPromise, timeoutReached } from 'app/server/lib/serverUtils'; diff --git a/app/server/lib/WidgetRepository.ts b/app/server/lib/WidgetRepository.ts index d3e58c96..26d4a7a7 100644 --- a/app/server/lib/WidgetRepository.ts +++ b/app/server/lib/WidgetRepository.ts @@ -1,8 +1,8 @@ import {ICustomWidget} from 'app/common/CustomWidget'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import fetch from 'node-fetch'; import {ApiError} from 'app/common/ApiError'; -import * as LRUCache from 'lru-cache'; +import LRUCache from 'lru-cache'; /** * Widget Repository returns list of available Custom Widgets. diff --git a/app/server/lib/WorkCoordinator.ts b/app/server/lib/WorkCoordinator.ts index b787fa10..d0cefcde 100644 --- a/app/server/lib/WorkCoordinator.ts +++ b/app/server/lib/WorkCoordinator.ts @@ -1,4 +1,4 @@ -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; /** * WorkCoordinator is a helper to do work serially. It takes a doWork() callback which may either diff --git a/app/server/lib/expressWrap.ts b/app/server/lib/expressWrap.ts index 25964891..9fe3b3c4 100644 --- a/app/server/lib/expressWrap.ts +++ b/app/server/lib/expressWrap.ts @@ -1,5 +1,5 @@ import {RequestWithLogin} from 'app/server/lib/Authorizer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import * as express from 'express'; /** diff --git a/app/server/lib/gristSessions.ts b/app/server/lib/gristSessions.ts index bd64f547..4abea09c 100644 --- a/app/server/lib/gristSessions.ts +++ b/app/server/lib/gristSessions.ts @@ -1,4 +1,4 @@ -import * as session from '@gristlabs/express-session'; +import session from '@gristlabs/express-session'; import {parseSubdomain} from 'app/common/gristUrls'; import {isNumber} from 'app/common/gutil'; import {RequestWithOrg} from 'app/server/lib/extractOrg'; diff --git a/app/server/lib/reportTimeTaken.ts b/app/server/lib/reportTimeTaken.ts index 09f3af62..3d56b9a4 100644 --- a/app/server/lib/reportTimeTaken.ts +++ b/app/server/lib/reportTimeTaken.ts @@ -1,4 +1,4 @@ -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; export function reportTimeTaken(locationLabel: string, callback: () => T): T { const start = Date.now(); diff --git a/app/server/lib/requestUtils.ts b/app/server/lib/requestUtils.ts index f204e784..0ff636bd 100644 --- a/app/server/lib/requestUtils.ts +++ b/app/server/lib/requestUtils.ts @@ -5,7 +5,7 @@ import {DocScope, QueryResult, Scope} from 'app/gen-server/lib/HomeDBManager'; import {getUserId, RequestWithLogin} from 'app/server/lib/Authorizer'; import {RequestWithOrg} from 'app/server/lib/extractOrg'; import {RequestWithGrist} from 'app/server/lib/GristServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {Permit} from 'app/server/lib/Permit'; import {Request, Response} from 'express'; import {URL} from 'url'; diff --git a/app/server/lib/sandboxUtil.ts b/app/server/lib/sandboxUtil.ts index ca03d973..80211c55 100644 --- a/app/server/lib/sandboxUtil.ts +++ b/app/server/lib/sandboxUtil.ts @@ -2,7 +2,7 @@ * Various utilities and constants for communicating with the python sandbox. */ import * as MemBuffer from 'app/common/MemBuffer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; /** diff --git a/app/server/lib/serverUtils.ts b/app/server/lib/serverUtils.ts index d1a8b1b6..86bb9045 100644 --- a/app/server/lib/serverUtils.ts +++ b/app/server/lib/serverUtils.ts @@ -1,12 +1,12 @@ -import * as bluebird from 'bluebird'; +import bluebird from 'bluebird'; import { ChildProcess } from 'child_process'; import * as net from 'net'; import * as path from 'path'; import { ConnectionOptions } from 'typeorm'; -import * as uuidv4 from 'uuid/v4'; +import uuidv4 from 'uuid/v4'; import {EngineCode} from 'app/common/DocumentSettings'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { OpenMode, SQLiteDB } from 'app/server/lib/SQLiteDB'; import { getDocSessionAccessOrNull, getDocSessionUser, OptDocSession } from './DocSession'; diff --git a/app/server/lib/uploads.ts b/app/server/lib/uploads.ts index ef74597a..453f05e0 100644 --- a/app/server/lib/uploads.ts +++ b/app/server/lib/uploads.ts @@ -8,7 +8,7 @@ import {expressWrap} from 'app/server/lib/expressWrap'; import {downloadFromGDrive, isDriveUrl} from 'app/server/lib/GoogleImport'; import {GristServer, RequestWithGrist} from 'app/server/lib/GristServer'; import {guessExt} from 'app/server/lib/guessExt'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {optStringParam} from 'app/server/lib/requestUtils'; import {isPathWithin} from 'app/server/lib/serverUtils'; import * as shutdown from 'app/server/lib/shutdown'; diff --git a/app/server/mergedServerMain.ts b/app/server/mergedServerMain.ts index 37681987..8b482e3b 100644 --- a/app/server/mergedServerMain.ts +++ b/app/server/mergedServerMain.ts @@ -6,7 +6,7 @@ */ import {FlexServer, FlexServerOptions} from 'app/server/lib/FlexServer'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; // Allowed server types. We'll start one or a combination based on the value of GRIST_SERVERS // environment variable. diff --git a/buildtools/tsconfig-base.json b/buildtools/tsconfig-base.json index 9b1e2f15..cfde2fa2 100644 --- a/buildtools/tsconfig-base.json +++ b/buildtools/tsconfig-base.json @@ -1,8 +1,10 @@ { "compilerOptions": { - "allowSyntheticDefaultImports": true, "target": "es2017", "module": "commonjs", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "isolatedModules": true, "strict": true, "strictPropertyInitialization": false, "useUnknownInCatchVariables": false, diff --git a/test/chai-as-promised.js b/test/chai-as-promised.js new file mode 100644 index 00000000..03f5e170 --- /dev/null +++ b/test/chai-as-promised.js @@ -0,0 +1,4 @@ +const chai = require('chai'); +const chaiAsPromised = require('chai-as-promised'); + +chai.use(chaiAsPromised); diff --git a/test/mocha.opts b/test/mocha.opts index 59f9bdad..7376bd86 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,3 +1,4 @@ --require source-map-support/register test/report-why-tests-hang test/init-mocha-webdriver +test/chai-as-promised diff --git a/test/nbrowser/Fork.ts b/test/nbrowser/Fork.ts index 40640632..40db59dd 100644 --- a/test/nbrowser/Fork.ts +++ b/test/nbrowser/Fork.ts @@ -3,7 +3,7 @@ import {UserAPI} from 'app/common/UserAPI'; import {assert, driver, Key} from 'mocha-webdriver'; import * as gu from 'test/nbrowser/gristUtils'; import {server, setupTestSuite} from 'test/nbrowser/testUtils'; -import * as uuidv4 from "uuid/v4"; +import uuidv4 from "uuid/v4"; describe("Fork", function() { diff --git a/test/nbrowser/homeUtil.ts b/test/nbrowser/homeUtil.ts index ec66c8aa..e0169f88 100644 --- a/test/nbrowser/homeUtil.ts +++ b/test/nbrowser/homeUtil.ts @@ -1,7 +1,7 @@ /** * Contains some non-webdriver functionality needed by tests. */ -import * as FormData from 'form-data'; +import FormData from 'form-data'; import * as fse from 'fs-extra'; import defaults = require('lodash/defaults'); import {WebElement} from 'mocha-webdriver'; @@ -13,7 +13,7 @@ import {WebDriver} from 'selenium-webdriver'; import {UserProfile} from 'app/common/LoginSessionAPI'; import {DocWorkerAPI, UserAPI, UserAPIImpl} from 'app/common/UserAPI'; import {HomeDBManager} from 'app/gen-server/lib/HomeDBManager'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {TestingHooksClient} from 'app/server/lib/TestingHooks'; export interface Server { diff --git a/test/nbrowser/testServer.ts b/test/nbrowser/testServer.ts index a0ac3bce..9e483376 100644 --- a/test/nbrowser/testServer.ts +++ b/test/nbrowser/testServer.ts @@ -12,7 +12,7 @@ */ import {encodeUrl, IGristUrlState, parseSubdomain} from 'app/common/gristUrls'; import {HomeDBManager} from 'app/gen-server/lib/HomeDBManager'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {getAppRoot} from 'app/server/lib/places'; import {makeGristConfig} from 'app/server/lib/sendAppPage'; import {exitPromise} from 'app/server/lib/serverUtils'; diff --git a/test/nbrowser/testUtils.ts b/test/nbrowser/testUtils.ts index 7ba7f3c0..37caa780 100644 --- a/test/nbrowser/testUtils.ts +++ b/test/nbrowser/testUtils.ts @@ -15,7 +15,7 @@ * Run `bin/mocha 'test/nbrowser/*.ts' -b --no-exit` to open a command-line prompt on * first-failure for debugging and quick reruns. */ -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {addToRepl, assert, driver, enableDebugCapture, Key, setOptionsModifyFunc, useServer} from 'mocha-webdriver'; import * as gu from 'test/nbrowser/gristUtils'; import {server} from 'test/nbrowser/testServer'; diff --git a/test/server/Comm.ts b/test/server/Comm.ts index 427faf7b..1891c0e1 100644 --- a/test/server/Comm.ts +++ b/test/server/Comm.ts @@ -4,7 +4,7 @@ import {assert} from 'chai'; import * as http from 'http'; import {AddressInfo, Server, Socket} from 'net'; import * as sinon from 'sinon'; -import * as WebSocket from 'ws'; +import WebSocket from 'ws'; import * as path from 'path'; import * as tmp from 'tmp'; @@ -80,6 +80,9 @@ describe('Comm', function() { beforeEach(function() { // Silence console messages from client-side Comm.ts. if (!process.env.VERBOSE) { + // TODO: This no longer works, now that 'log' is a more proper "module" object rather than + // an arbitrary JS object. Also used in a couple other tests where logs are no longer + // silenced. sandbox.stub(log, 'debug'); } }); diff --git a/test/server/customUtil.ts b/test/server/customUtil.ts index 331ed024..ca10f327 100644 --- a/test/server/customUtil.ts +++ b/test/server/customUtil.ts @@ -1,6 +1,6 @@ import {getAppRoot} from 'app/server/lib/places'; import {fromCallback, listenPromise} from 'app/server/lib/serverUtils'; -import * as express from 'express'; +import express from 'express'; import * as http from 'http'; import {AddressInfo, Socket} from 'net'; import * as path from 'path'; diff --git a/test/server/gristClient.ts b/test/server/gristClient.ts index 78512f42..93538054 100644 --- a/test/server/gristClient.ts +++ b/test/server/gristClient.ts @@ -2,7 +2,7 @@ import { DocAction } from 'app/common/DocActions'; import { FlexServer } from 'app/server/lib/FlexServer'; import axios from 'axios'; import pick = require('lodash/pick'); -import * as WebSocket from 'ws'; +import WebSocket from 'ws'; interface GristRequest { reqId: number; diff --git a/test/server/lib/Authorizer.ts b/test/server/lib/Authorizer.ts index ba99b670..d10dd4e2 100644 --- a/test/server/lib/Authorizer.ts +++ b/test/server/lib/Authorizer.ts @@ -10,7 +10,7 @@ import {configForUser, getGristConfig} from 'test/gen-server/testUtils'; import {createDocTools} from 'test/server/docTools'; import {openClient} from 'test/server/gristClient'; import * as testUtils from 'test/server/testUtils'; -import * as uuidv4 from 'uuid/v4'; +import uuidv4 from 'uuid/v4'; let serverUrl: string; let server: FlexServer; diff --git a/test/server/lib/DocApi.ts b/test/server/lib/DocApi.ts index 3823e375..d7498a21 100644 --- a/test/server/lib/DocApi.ts +++ b/test/server/lib/DocApi.ts @@ -11,7 +11,7 @@ import { docPeriodicApiUsageKey, getDocApiUsageKeysToIncr } from 'app/server/lib/DocApi'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import {exitPromise} from 'app/server/lib/serverUtils'; import {connectTestingHooks, TestingHooksClient} from 'app/server/lib/TestingHooks'; import axios, {AxiosResponse} from 'axios'; @@ -19,10 +19,10 @@ import {delay} from 'bluebird'; import * as bodyParser from 'body-parser'; import {assert} from 'chai'; import {ChildProcess, execFileSync, spawn} from 'child_process'; -import * as FormData from 'form-data'; +import FormData from 'form-data'; import * as fse from 'fs-extra'; import * as _ from 'lodash'; -import * as LRUCache from 'lru-cache'; +import LRUCache from 'lru-cache'; import * as moment from 'moment'; import fetch from 'node-fetch'; import {tmpdir} from 'os'; diff --git a/test/server/testUtils.ts b/test/server/testUtils.ts index b1553150..dac5978e 100644 --- a/test/server/testUtils.ts +++ b/test/server/testUtils.ts @@ -11,9 +11,7 @@ /* global before, after */ import * as _ from 'underscore'; -import * as chai from 'chai'; import { assert } from 'chai'; -import * as chaiAsPromised from 'chai-as-promised'; import * as path from 'path'; import * as fse from 'fs-extra'; import clone = require('lodash/clone'); @@ -22,11 +20,9 @@ import * as winston from 'winston'; import { serialize } from 'winston/lib/winston/common'; import * as docUtils from 'app/server/lib/docUtils'; -import * as log from 'app/server/lib/log'; +import log from 'app/server/lib/log'; import { getAppRoot } from 'app/server/lib/places'; -chai.use(chaiAsPromised); - /** * Creates a temporary file with the given contents. * @param {String} content. Data to store in the file. diff --git a/test/tsconfig.json b/test/tsconfig.json index 652b065b..7ee48c91 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -8,6 +8,9 @@ "../stubs/app/server/declarations.d.ts", "../stubs/app/server/declarations/**/*.d.ts" ], + "files": [ + "chai-as-promised.js" + ], "references": [ { "path": "../app" }, { "path": "../stubs/app" }