mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Faster builds all around.
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
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user