Web Dev Server
Motivation:
- The current server.go file has been a maintenance burden when adding
new dependencies since we must write and update complex regexes to
resolve node_modules paths ourselves. Web Dev Server also offers a
performance boost on startup and after saving files.
User differences:
- still run command: `> yarn start` from the project root directory, and
server runs on same port as before.
- instant startup since there is no need to invoke bazel or pre-compile
typescript files.
- no need to wait for tsc watcher before reloading. Esbuild is
fast enough to compile files on the fly as requested.
- No type checking is done by default. Users can separately run command:
`> yarn compile:watch`, or we can consider running it in same output
window with package like `concurrently` or `npm-run-all`.
File changes:
- web-dev-server.config.mjs - configures plugins and middlewares to play
nice with Gerrit FE Helper. See file comments.
- Update imports of lit directives and decorators to end in .js to match
lit's export map. This is because the dev server's node resolver is
more strict than our previous one. This is done in many files.
https://github.com/lit/lit/blob/main/packages/lit/package.json#L19
- Update import/export of types. Esbuild does not do type checking
unlike tsc and doesn't realize that an import is only for a type.
Typescript has 'import type {...}' and export type '{...}' syntax for
this. This is done in a few files.
- page-wrapper-utils.ts - convert page.js import to use esm instead of
importing onto global window object. This prevents workaround needed
like we have in karma and rollup config. Removed from
gr-app-global-var-init.ts as well.
Release-Notes: skip
Google-Bug-Id: b/199389603
Change-Id: I0840563c4c2eec46be2461bd10e123e5675cc12b
diff --git a/polygerrit-ui/app/elements/settings/gr-change-table-editor/gr-change-table-editor.ts b/polygerrit-ui/app/elements/settings/gr-change-table-editor/gr-change-table-editor.ts
index 42826c7..53548f8 100644
--- a/polygerrit-ui/app/elements/settings/gr-change-table-editor/gr-change-table-editor.ts
+++ b/polygerrit-ui/app/elements/settings/gr-change-table-editor/gr-change-table-editor.ts
@@ -7,7 +7,7 @@
import {ServerInfo} from '../../../types/common';
import {getAppContext} from '../../../services/app-context';
import {LitElement, css, html} from 'lit';
-import {customElement, property, state} from 'lit/decorators';
+import {customElement, property, state} from 'lit/decorators.js';
import {sharedStyles} from '../../../styles/shared-styles';
import {formStyles} from '../../../styles/gr-form-styles';
import {PropertyValues} from 'lit';