mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
51ff72c15e
Summary: Building: - Builds no longer wait for tsc for either client, server, or test targets. All use esbuild which is very fast. - Build still runs tsc, but only to report errors. This may be turned off with `SKIP_TSC=1` env var. - Grist-core continues to build using tsc. - Esbuild requires ES6 module semantics. Typescript's esModuleInterop is turned on, so that tsc accepts and enforces correct usage. - Client-side code is watched and bundled by webpack as before (using esbuild-loader) Code changes: - Imports must now follow ES6 semantics: `import * as X from ...` produces a module object; to import functions or class instances, use `import X from ...`. - Everything is now built with isolatedModules flag. Some exports were updated for it. Packages: - Upgraded browserify dependency, and related packages (used for the distribution-building step). - Building the distribution now uses esbuild's minification. babel-minify is no longer used. Test Plan: Should have no behavior changes, existing tests should pass, and docker image should build too. Reviewers: georgegevoian Reviewed By: georgegevoian Subscribers: alexmojaki Differential Revision: https://phab.getgrist.com/D3506
53 lines
1.5 KiB
TypeScript
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 pidusage from 'pidusage';
|
|
export default pidusage;
|
|
}
|
|
|
|
declare module "csv";
|
|
|
|
declare module 'winston/lib/winston/common' {
|
|
export function serialize(meta: any): string;
|
|
}
|