mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(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
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// Letter codes for CellValue types encoded as [code, args...] tuples.
|
||||
export const enum GristObjCode {
|
||||
export enum GristObjCode {
|
||||
List = 'L',
|
||||
LookUp = 'l',
|
||||
Dict = 'O',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {createCheckers, ICheckerSuite} from 'ts-interface-checker';
|
||||
import {BasicType, createCheckers, ICheckerSuite} from 'ts-interface-checker';
|
||||
import CustomSectionAPITI from './CustomSectionAPI-ti';
|
||||
import FileParserAPITI from './FileParserAPI-ti';
|
||||
import GristAPITI from './GristAPI-ti';
|
||||
@@ -18,7 +18,14 @@ export {
|
||||
|
||||
const allTypes = [
|
||||
CustomSectionAPITI, FileParserAPITI, GristAPITI, GristTableTI, ImportSourceAPITI,
|
||||
InternalImportSourceAPITI, RenderOptionsTI, StorageAPITI, WidgetAPITI];
|
||||
InternalImportSourceAPITI, RenderOptionsTI, StorageAPITI, WidgetAPITI,
|
||||
];
|
||||
|
||||
// Ensure Buffer can be handled if mentioned in the interface descriptions, even if not supported
|
||||
// in the current environment (i.e. browser).
|
||||
if (typeof Buffer === 'undefined') {
|
||||
allTypes.push({Buffer: new BasicType((v) => false, "Buffer is not supported")});
|
||||
}
|
||||
|
||||
function checkDuplicates(types: Array<{[key: string]: object}>) {
|
||||
const seen = new Set<string>();
|
||||
|
||||
@@ -402,7 +402,7 @@ export interface ReadyPayload extends Omit<InteractionOptionsRequest, "hasCustom
|
||||
/**
|
||||
* Handler that will be called by Grist to open additional configuration panel inside the Custom Widget.
|
||||
*/
|
||||
onEditOptions: () => unknown;
|
||||
onEditOptions?: () => unknown;
|
||||
}
|
||||
/**
|
||||
* Declare that a component is prepared to receive messages from the outside world.
|
||||
|
||||
Reference in New Issue
Block a user