gristlabs_grist-core/app/server/declarations.d.ts
Dmitry S dd2eadc86e (core) Speed up and upgrade build.
Summary:
- Upgrades to build-related packages:
  - Upgrade typescript, related libraries and typings.
  - Upgrade webpack, eslint; add tsc-watch, node-dev, eslint_d.

- Build organization changes:
  - Build webpack from original typescript, transpiling only; with errors still
    reported by a background tsc watching process.

- Typescript-related changes:
  - Reduce imports of AWS dependencies (very noticeable speedup)
  - Avoid auto-loading global @types
  - Client code is now built with isolatedModules flag (for safe transpilation)
  - Use allowJs to avoid copying JS files manually.

- Linting changes
  - Enhance Arcanist ESLintLinter to run before/after commands, and set up to use eslint_d
  - Update eslint config, and include .eslintignore to avoid linting generated files.
  - Include a bunch of eslint-prompted and eslint-generated fixes
  - Add no-unused-expression rule to eslint, and fix a few warnings about it

- Other items:
  - Refactor cssInput to avoid circular dependency
  - Remove a bit of unused code, libraries, dependencies

Test Plan: No behavior changes, all existing tests pass. There are 30 tests fewer reported because `test_gpath.py` was removed (it's been unused for years)

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3498
2022-06-27 16:10:10 -04:00

53 lines
1.5 KiB
TypeScript

declare module "app/server/lib/ActionLog";
declare module "app/server/lib/sandboxUtil";
declare module "app/server/lib/User";
declare module "app/server/lib/shutdown" {
export function addCleanupHandler<T>(context: T, method: (this: T) => void, timeout?: number, name?: string): void;
export function removeCleanupHandlers<T>(context: T): void;
export function cleanupOnSignals(...signalNames: string[]): void;
export function exit(optExitCode?: number): Promise<void>;
}
// There is a @types/bluebird, but it's not great, and breaks for some of our usages.
declare module "bluebird";
// Redlock types refer to bluebird.Disposer.
declare module "bluebird" {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
class Disposer<T> {}
}
// Used in one place, and the typings are almost entirely unhelpful.
declare module "multiparty";
// Used in one place, for one call.
declare module "chokidar";
// Used in one place
declare module "mime-types";
// Used in one place
declare module "morgan";
declare module "cookie";
declare module "cookie-parser";
declare module "on-headers";
declare module "@gristlabs/express-session";
// Used for command line path tweaks.
declare module "app-module-path" {
export function addPath(path: string): void;
}
// version of pidusage that has correct ctime on linux
declare module '@gristlabs/pidusage' {
import * as pidusage from 'pidusage';
export = pidusage;
}
declare module "csv";
declare module 'winston/lib/winston/common' {
export function serialize(meta: any): string;
}