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
38 lines
835 B
JSON
38 lines
835 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "es2017",
|
|
"module": "commonjs",
|
|
"allowSyntheticDefaultImports": true,
|
|
"esModuleInterop": true,
|
|
"isolatedModules": true,
|
|
"strict": true,
|
|
"strictPropertyInitialization": false,
|
|
"useUnknownInCatchVariables": false,
|
|
"skipLibCheck": true,
|
|
"sourceMap": true,
|
|
"noImplicitAny": true,
|
|
"noUnusedLocals": true,
|
|
"moduleResolution": "node",
|
|
"allowJs": true,
|
|
"baseUrl": "..",
|
|
"rootDir": "..",
|
|
"outDir": "../_build",
|
|
"paths": {
|
|
"*": [
|
|
"*",
|
|
"grist-core/*",
|
|
"stubs/*",
|
|
"ext/*"
|
|
],
|
|
},
|
|
"composite": true,
|
|
"types" : [],
|
|
"plugins": [{
|
|
"name": "typescript-eslint-language-service"
|
|
}],
|
|
"emitDecoratorMetadata": true,
|
|
"experimentalDecorators": true,
|
|
"jsx": "react"
|
|
}
|
|
}
|