diff --git a/.eslintrc.json b/.eslintrc.json
index b07b1d915c49246982ddcbeaa7fc0cd4a3c427ff..ec73c676b44ca40a6e6311a8e2610b2d0b97f3ee 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -40,7 +40,8 @@
             }
         ],
         "no-throw-literal": "error",
-        "key-spacing": "error"
+        "key-spacing": "error",
+        "object-curly-spacing": ["error", "always"]
     },
     "overrides": [
         {
diff --git a/src/cli/chem-comp-dict/create-ions.ts b/src/cli/chem-comp-dict/create-ions.ts
index 2c0ed76b46b1b25334100e58a9539ea02a8ccabc..840517f0a20809de1f8cf7a9db76fb3ea0992011 100644
--- a/src/cli/chem-comp-dict/create-ions.ts
+++ b/src/cli/chem-comp-dict/create-ions.ts
@@ -19,7 +19,7 @@ import { ensureDataAvailable, readCCD } from './util';
 function extractIonNames(ccd: DatabaseCollection<CCD_Schema>) {
     const ionNames: string[] = [];
     for (const k in ccd) {
-        const {chem_comp} = ccd[k];
+        const { chem_comp } = ccd[k];
         if (chem_comp.name.value(0).toUpperCase().includes(' ION')) {
             ionNames.push(chem_comp.id.value(0));
         }
diff --git a/src/examples/lighting/index.ts b/src/examples/lighting/index.ts
index 188f99ab9837d226efa65e0e63e2f12fe089d3c3..6bc693ccc872c2b0dc0cdf05bcb0c45812909b2f 100644
--- a/src/examples/lighting/index.ts
+++ b/src/examples/lighting/index.ts
@@ -105,7 +105,7 @@ class LightingDemo {
                 ...this.plugin.canvas3d!.props.postprocessing,
                 ...props.postprocessing
             },
-        }});
+        } });
     }
 
     async load({ url, format = 'mmcif', isBinary = true, assemblyId = '' }: LoadParams, radius: number, bias: number) {
diff --git a/src/extensions/anvil/algorithm.ts b/src/extensions/anvil/algorithm.ts
index 6ce492717fc095559495e0643ea1571daa74c4c0..5a7fa55a6942bcb94246cc551281b6bec75e526e 100644
--- a/src/extensions/anvil/algorithm.ts
+++ b/src/extensions/anvil/algorithm.ts
@@ -41,8 +41,8 @@ interface ANVILContext {
 export const ANVILParams = {
     numberOfSpherePoints: PD.Numeric(175, { min: 35, max: 700, step: 1 }, { description: 'Number of spheres/directions to test for membrane placement. Original value is 350.' }),
     stepSize: PD.Numeric(1, { min: 0.25, max: 4, step: 0.25 }, { description: 'Thickness of membrane slices that will be tested' }),
-    minThickness: PD.Numeric(20, { min: 10, max: 30, step: 1}, { description: 'Minimum membrane thickness used during refinement' }),
-    maxThickness: PD.Numeric(40, { min: 30, max: 50, step: 1}, { description: 'Maximum membrane thickness used during refinement' }),
+    minThickness: PD.Numeric(20, { min: 10, max: 30, step: 1 }, { description: 'Minimum membrane thickness used during refinement' }),
+    maxThickness: PD.Numeric(40, { min: 30, max: 50, step: 1 }, { description: 'Maximum membrane thickness used during refinement' }),
     asaCutoff: PD.Numeric(40, { min: 10, max: 100, step: 1 }, { description: 'Relative ASA cutoff above which residues will be considered' }),
     adjust: PD.Numeric(14, { min: 0, max: 30, step: 1 }, { description: 'Minimum length of membrane-spanning regions (original values: 14 for alpha-helices and 5 for beta sheets). Set to 0 to not optimize membrane thickness.' }),
     tmdetDefinition: PD.Boolean(false, { description: `Use TMDET's classification of membrane-favoring amino acids. TMDET's classification shows better performance on porins and other beta-barrel structures.` })
diff --git a/src/extensions/cellpack/color/generate.ts b/src/extensions/cellpack/color/generate.ts
index 8e6bc8f29dec2c1792295cfa11f244952b5cab75..cdc3977cd2e8c5e9e7fea23c2543a5c57014508f 100644
--- a/src/extensions/cellpack/color/generate.ts
+++ b/src/extensions/cellpack/color/generate.ts
@@ -48,7 +48,7 @@ export function CellPackGenerateColorTheme(ctx: ThemeDataContext, props: PD.Valu
                 hue, chroma: [30, 80], luminance: [15, 85],
                 clusteringStepCount: 50, minSampleCount: 800, maxCount: 75
             }
-        }}, { minLabel: 'Min', maxLabel: 'Max' });
+        } }, { minLabel: 'Min', maxLabel: 'Max' });
         legend = palette.legend;
         const modelColor = new Map<number, Color>();
         for (let i = 0, il = models.length; i < il; ++i) {
diff --git a/src/mol-canvas3d/helper/interaction-events.ts b/src/mol-canvas3d/helper/interaction-events.ts
index 67bd7770b1585bf949f6392be0ba923363758724..9748199ed503f16e890ab915b0e51dde8e5ed6ae 100644
--- a/src/mol-canvas3d/helper/interaction-events.ts
+++ b/src/mol-canvas3d/helper/interaction-events.ts
@@ -149,13 +149,13 @@ export class Canvas3dInteractionHelper {
     }
 
     constructor(private canvasIdentify: Canvas3D['identify'], private getLoci: Canvas3D['getLoci'], private input: InputObserver, private camera: Camera, private maxFps: number = 30) {
-        input.drag.subscribe(({x, y, buttons, button, modifiers }) => {
+        input.drag.subscribe(({ x, y, buttons, button, modifiers }) => {
             this.isInteracting = true;
             // console.log('drag');
             this.drag(x, y, buttons, button, modifiers);
         });
 
-        input.move.subscribe(({x, y, inside, buttons, button, modifiers }) => {
+        input.move.subscribe(({ x, y, inside, buttons, button, modifiers }) => {
             if (!inside || this.isInteracting) return;
             // console.log('move');
             this.move(x, y, buttons, button, modifiers);
@@ -166,7 +166,7 @@ export class Canvas3dInteractionHelper {
             this.leave();
         });
 
-        input.click.subscribe(({x, y, buttons, button, modifiers }) => {
+        input.click.subscribe(({ x, y, buttons, button, modifiers }) => {
             if (this.outsideViewport(x, y)) return;
             // console.log('click');
             this.click(x, y, buttons, button, modifiers);
diff --git a/src/mol-canvas3d/passes/postprocessing.ts b/src/mol-canvas3d/passes/postprocessing.ts
index 1a3441d5678dcf9a0fa66ca1531ca9aaf567c15c..cb80ef27f38ed02701c3b9762e031025118e676d 100644
--- a/src/mol-canvas3d/passes/postprocessing.ts
+++ b/src/mol-canvas3d/passes/postprocessing.ts
@@ -241,7 +241,7 @@ function getPostprocessingRenderable(ctx: WebGLContext, colorTexture: Texture, d
 export const PostprocessingParams = {
     occlusion: PD.MappedStatic('on', {
         on: PD.Group({
-            samples: PD.Numeric(32, {min: 1, max: 256, step: 1}),
+            samples: PD.Numeric(32, { min: 1, max: 256, step: 1 }),
             radius: PD.Numeric(5, { min: 0, max: 10, step: 0.1 }, { description: 'Final radius is 2^x.' }),
             bias: PD.Numeric(0.8, { min: 0, max: 3, step: 0.1 }),
             blurKernelSize: PD.Numeric(15, { min: 1, max: 25, step: 2 }),
diff --git a/src/mol-data/db/_spec/table.spec.ts b/src/mol-data/db/_spec/table.spec.ts
index e0bee11a4fff643760890e510fb147b7096dcbd7..d1b15a317616475f50bfff2ff58d028c778ca1d0 100644
--- a/src/mol-data/db/_spec/table.spec.ts
+++ b/src/mol-data/db/_spec/table.spec.ts
@@ -100,7 +100,7 @@ describe('table', () => {
             n: Column.ofArray({ array: ['row1', 'row2'], schema: Column.Schema.str }),
         });
         const s = { x: Column.Schema.int, y: Column.Schema.int };
-        const picked = Table.pickColumns(s, t, { y: Column.ofArray({ array: [3, 4], schema: Column.Schema.int })});
+        const picked = Table.pickColumns(s, t, { y: Column.ofArray({ array: [3, 4], schema: Column.Schema.int }) });
         expect(picked._columns).toEqual(['x', 'y']);
         expect(picked._rowCount).toEqual(2);
         expect(picked.x.toArray()).toEqual([10, -1]);
diff --git a/src/mol-geo/geometry/base.ts b/src/mol-geo/geometry/base.ts
index b12b4a33e762bfc45b5f1d32a87b0724627ad46c..c9364acccf82581c0f92f3317bb47ea63466becf 100644
--- a/src/mol-geo/geometry/base.ts
+++ b/src/mol-geo/geometry/base.ts
@@ -52,8 +52,8 @@ export namespace BaseGeometry {
         if (!transform) transform = createIdentityTransform();
         const locationIterator = LocationIterator(1, transform.instanceCount.ref.value, 1, () => NullLocation, false, () => false);
         const theme: Theme = {
-            color: UniformColorTheme({}, { value: colorValue}),
-            size: UniformSizeTheme({}, { value: sizeValue})
+            color: UniformColorTheme({}, { value: colorValue }),
+            size: UniformSizeTheme({}, { value: sizeValue })
         };
         return { transform, locationIterator, theme };
     }
diff --git a/src/mol-geo/geometry/cylinders/cylinders.ts b/src/mol-geo/geometry/cylinders/cylinders.ts
index 242ada6fba5924a218ee4d12ba84a8821b703197..ed1d1c7df15f0a9e0691b64200e026283e572d4d 100644
--- a/src/mol-geo/geometry/cylinders/cylinders.ts
+++ b/src/mol-geo/geometry/cylinders/cylinders.ts
@@ -6,7 +6,7 @@
 
 import { ValueCell } from '../../../mol-util';
 import { Mat4, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
-import { transformPositionArray, GroupMapping, createGroupMapping} from '../../util';
+import { transformPositionArray, GroupMapping, createGroupMapping } from '../../util';
 import { GeometryUtils } from '../geometry';
 import { createColors } from '../color-data';
 import { createMarkers } from '../marker-data';
diff --git a/src/mol-geo/geometry/lines/lines.ts b/src/mol-geo/geometry/lines/lines.ts
index 5ab7318adc7da7631b306b7c12b61a843dbd9552..4d61a848458e75611ff15a82010f948377a371c2 100644
--- a/src/mol-geo/geometry/lines/lines.ts
+++ b/src/mol-geo/geometry/lines/lines.ts
@@ -6,7 +6,7 @@
 
 import { ValueCell } from '../../../mol-util';
 import { Mat4, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
-import { transformPositionArray, GroupMapping, createGroupMapping} from '../../util';
+import { transformPositionArray, GroupMapping, createGroupMapping } from '../../util';
 import { GeometryUtils } from '../geometry';
 import { createColors } from '../color-data';
 import { createMarkers } from '../marker-data';
diff --git a/src/mol-geo/geometry/points/points.ts b/src/mol-geo/geometry/points/points.ts
index ebbc3ae461100cbe2e56ebabc930f19c0120e902..a3e999d37306db3ad1e92b5e5270a913750153c3 100644
--- a/src/mol-geo/geometry/points/points.ts
+++ b/src/mol-geo/geometry/points/points.ts
@@ -6,7 +6,7 @@
 
 import { ValueCell } from '../../../mol-util';
 import { Mat4, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
-import { transformPositionArray, GroupMapping, createGroupMapping} from '../../util';
+import { transformPositionArray, GroupMapping, createGroupMapping } from '../../util';
 import { GeometryUtils } from '../geometry';
 import { createColors } from '../color-data';
 import { createMarkers } from '../marker-data';
diff --git a/src/mol-geo/geometry/size-data.ts b/src/mol-geo/geometry/size-data.ts
index aff7235ac64d9c33e59b737a03b46fdad9c5df95..2049e1e511b21b0d34041903150f2236cc7ddabd 100644
--- a/src/mol-geo/geometry/size-data.ts
+++ b/src/mol-geo/geometry/size-data.ts
@@ -98,7 +98,7 @@ export function createTextureSize(sizes: TextureImage<Uint8Array>, type: SizeTyp
 
 /** Creates size texture with size for each instance/unit */
 export function createInstanceSize(locationIt: LocationIterator, sizeFn: LocationSize, sizeData?: SizeData): SizeData {
-    const { instanceCount} = locationIt;
+    const { instanceCount } = locationIt;
     const sizes = createTextureImage(Math.max(1, instanceCount), 3, Uint8Array, sizeData && sizeData.tSize.ref.value.array);
     locationIt.reset();
     while (locationIt.hasNext && !locationIt.isNextNewInstance) {
diff --git a/src/mol-io/reader/_spec/ply.spec.ts b/src/mol-io/reader/_spec/ply.spec.ts
index 76363c0c3a08fc4afac91203b9471b5cbc054bc5..b3bb8200de29bba1ade992a3e9aea971269ee75d 100644
--- a/src/mol-io/reader/_spec/ply.spec.ts
+++ b/src/mol-io/reader/_spec/ply.spec.ts
@@ -123,8 +123,8 @@ describe('ply reader', () => {
 
         const face = plyFile.getElement('face') as PlyList;
         if (!face) return;
-        expect(face.value(0)).toEqual({ count: 3, entries: [0, 2, 1]});
-        expect(face.value(1)).toEqual({ count: 3, entries: [3, 5, 4]});
+        expect(face.value(0)).toEqual({ count: 3, entries: [0, 2, 1] });
+        expect(face.value(1)).toEqual({ count: 3, entries: [3, 5, 4] });
 
         expect.assertions(3);
     });
diff --git a/src/mol-math/geometry/molecular-surface.ts b/src/mol-math/geometry/molecular-surface.ts
index 557bfd5e1bbd7fc381ee8199a18de0e546e571d2..95a11219b13f4791d72f1a61f3470bb14e079656 100644
--- a/src/mol-math/geometry/molecular-surface.ts
+++ b/src/mol-math/geometry/molecular-surface.ts
@@ -41,7 +41,7 @@ function getAngleTables (probePositions: number): AnglesTables {
         sinTable[i] = Math.sin(theta);
         theta += step;
     }
-    return { cosTable, sinTable};
+    return { cosTable, sinTable };
 }
 
 //
diff --git a/src/mol-model-formats/structure/property/assembly.ts b/src/mol-model-formats/structure/property/assembly.ts
index a82587d83f680904cbb26d2eb6c45dd31ef940d2..abfa96ca7c7ff73cf1de8fe95365e14a42fe7f34 100644
--- a/src/mol-model-formats/structure/property/assembly.ts
+++ b/src/mol-model-formats/structure/property/assembly.ts
@@ -62,7 +62,7 @@ function operatorGroupsProvider(generators: Generator[], matrices: Matrices): ()
             const selector = Q.generators.atoms({ chainTest: Q.pred.and(
                 Q.pred.eq(ctx => StructureProperties.unit.operator_name(ctx.element), SymmetryOperator.DefaultName),
                 Q.pred.inSet(ctx => StructureProperties.chain.label_asym_id(ctx.element), gen.asymIds)
-            )});
+            ) });
             groups[groups.length] = { selector, operators };
             operatorOffset += operators.length;
         }
diff --git a/src/mol-model-props/integrative/cross-link-restraint/property.ts b/src/mol-model-props/integrative/cross-link-restraint/property.ts
index 1b2059173832cdb448fbf30be45d67558a62a09b..0cff3196e70128cb42d00909e5921c8381ae3209 100644
--- a/src/mol-model-props/integrative/cross-link-restraint/property.ts
+++ b/src/mol-model-props/integrative/cross-link-restraint/property.ts
@@ -5,7 +5,7 @@
  */
 
 import { ModelCrossLinkRestraint } from './format';
-import { Unit, StructureElement, Structure, Bond} from '../../../mol-model/structure';
+import { Unit, StructureElement, Structure, Bond } from '../../../mol-model/structure';
 import { PairRestraints, PairRestraint } from '../pair-restraints';
 import { CustomStructureProperty } from '../../common/custom-structure-property';
 import { CustomProperty } from '../../common/custom-property';
diff --git a/src/mol-model/structure/structure/symmetry.ts b/src/mol-model/structure/structure/symmetry.ts
index 67a982bc5e3338ede30711167e6fe332336ca3a5..2358788f9afe66d261530f711b9a505cfd9834cd 100644
--- a/src/mol-model/structure/structure/symmetry.ts
+++ b/src/mol-model/structure/structure/symmetry.ts
@@ -143,7 +143,7 @@ function getSelector(asymIds: string[]) {
     return Q.generators.atoms({ chainTest: Q.pred.and(
         Q.pred.eq(ctx => StructureProperties.unit.operator_name(ctx.element), SymmetryOperator.DefaultName),
         Q.pred.inSet(ctx => StructureProperties.chain.label_asym_id(ctx.element), asymIds)
-    )});
+    ) });
 }
 
 function getOperatorsForIndex(symmetry: Symmetry, index: number, i: number, j: number, k: number, modelCenter: Vec3) {
diff --git a/src/mol-plugin-state/animation/built-in/assembly-unwind.ts b/src/mol-plugin-state/animation/built-in/assembly-unwind.ts
index 9b824a0ef805f638f6c2f4d20fb83f4e64b815db..dfe031379ce4f107926ec260a1b654315a8dc3d9 100644
--- a/src/mol-plugin-state/animation/built-in/assembly-unwind.ts
+++ b/src/mol-plugin-state/animation/built-in/assembly-unwind.ts
@@ -25,7 +25,7 @@ export const AnimateAssemblyUnwind = PluginStateAnimation.create({
         }
 
         return {
-            durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100}),
+            durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100 }),
             playOnce: PD.Boolean(false),
             target: PD.Select(targets[0][0], targets)
         };
diff --git a/src/mol-plugin-state/animation/built-in/explode-units.ts b/src/mol-plugin-state/animation/built-in/explode-units.ts
index 0be2196df96326d9082c927a8604d85fdc26ecce..8a8f6aa994e2166353e24299627c461e1e12bb89 100644
--- a/src/mol-plugin-state/animation/built-in/explode-units.ts
+++ b/src/mol-plugin-state/animation/built-in/explode-units.ts
@@ -15,7 +15,7 @@ export const AnimateUnitsExplode = PluginStateAnimation.create({
     name: 'built-in.animate-units-explode',
     display: { name: 'Explode Units' },
     params: () => ({
-        durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100})
+        durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100 })
     }),
     initialState: () => ({ t: 0 }),
     async setup(_, __, plugin) {
diff --git a/src/mol-plugin-state/animation/built-in/spin-structure.ts b/src/mol-plugin-state/animation/built-in/spin-structure.ts
index 2fd9d64ba9c0021e142390835b39bcfaec046265..9318441284fd0ea96ce4b1953a14753e3e832410 100644
--- a/src/mol-plugin-state/animation/built-in/spin-structure.ts
+++ b/src/mol-plugin-state/animation/built-in/spin-structure.ts
@@ -16,7 +16,7 @@ export const AnimateStructureSpin = PluginStateAnimation.create({
     display: { name: 'Spin Structure' },
     isExportable: true,
     params: () => ({
-        durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100})
+        durationInMs: PD.Numeric(3000, { min: 100, max: 10000, step: 100 })
     }),
     initialState: () => ({ t: 0 }),
     getDuration: p => ({ kind: 'fixed', durationMs: p.durationInMs }),
diff --git a/src/mol-plugin-state/manager/snapshots.ts b/src/mol-plugin-state/manager/snapshots.ts
index c0dcda0c39b2e8ce752a622a6efd6078983e49f7..e3642c6679f475b0d38c6e568e55c92bc294f5b2 100644
--- a/src/mol-plugin-state/manager/snapshots.ts
+++ b/src/mol-plugin-state/manager/snapshots.ts
@@ -193,7 +193,7 @@ class PluginStateSnapshotManager extends StatefulPluginComponent<{
         const json = JSON.stringify(this.getStateSnapshot({ params: options?.params }), null, 2);
 
         if (!options?.type || options.type === 'json' || options.type === 'molj') {
-            return new Blob([json], {type: 'application/json;charset=utf-8'});
+            return new Blob([json], { type: 'application/json;charset=utf-8' });
         } else {
             const state = new Uint8Array(utf8ByteCount(json));
             utf8Write(state, 0, json);
@@ -218,7 +218,7 @@ class PluginStateSnapshotManager extends StatefulPluginComponent<{
             }
 
             const zipFile = await this.plugin.runTask(Zip(zipDataObj));
-            return new Blob([zipFile], {type: 'application/zip'});
+            return new Blob([zipFile], { type: 'application/zip' });
         }
     }
 
diff --git a/src/mol-plugin-ui/controls/legend.tsx b/src/mol-plugin-ui/controls/legend.tsx
index a61cb8f21e4d3b801b4bfa4f3748a33037b877a6..539435bb7f5fb3969903ee7591752420a89e7745 100644
--- a/src/mol-plugin-ui/controls/legend.tsx
+++ b/src/mol-plugin-ui/controls/legend.tsx
@@ -29,8 +29,8 @@ export class ScaleLegend extends React.PureComponent<LegendProps<ScaleLegendData
         const colors = legend.colors.map(c => Array.isArray(c) ? `${Color.toStyle(c[0])} ${100 * c[1]}%` : Color.toStyle(c)).join(', ');
         return  <div className='msp-scale-legend'>
             <div style={{ background: `linear-gradient(to right, ${colors})` }}>
-                <span style={{float: 'left'}}>{legend.minLabel}</span>
-                <span style={{float: 'right'}}>{legend.maxLabel}</span>
+                <span style={{ float: 'left' }}>{legend.minLabel}</span>
+                <span style={{ float: 'right' }}>{legend.maxLabel}</span>
             </div>
         </div>;
     }
@@ -43,7 +43,7 @@ export class TableLegend extends React.PureComponent<LegendProps<TableLegendData
             {legend.table.map((value, i) => {
                 const [name, color] = value;
                 return <div key={i}>
-                    <div className='msp-table-legend-color' style={{backgroundColor: Color.toStyle(color)}}></div>
+                    <div className='msp-table-legend-color' style={{ backgroundColor: Color.toStyle(color) }}></div>
                     <div className='msp-table-legend-text'>{name}</div>
                 </div>;
             })}
diff --git a/src/mol-plugin-ui/controls/line-graph/line-graph-component.tsx b/src/mol-plugin-ui/controls/line-graph/line-graph-component.tsx
index 1da185422d6ba221b89900087627950789670b0c..dcc371dbd7c283ddf649fee5713fecf89ef7cad9 100644
--- a/src/mol-plugin-ui/controls/line-graph/line-graph-component.tsx
+++ b/src/mol-plugin-ui/controls/line-graph/line-graph-component.tsx
@@ -259,7 +259,7 @@ export class LineGraphComponent extends React.Component<any, LineGraphComponentS
             }
             return a[0] - b[0];
         });
-        this.setState({points});
+        this.setState({ points });
         this.change(points);
     }
 
@@ -278,7 +278,7 @@ export class LineGraphComponent extends React.Component<any, LineGraphComponentS
             }
             return a[0] - b[0];
         });
-        this.setState({points});
+        this.setState({ points });
         this.change(points);
         event.stopPropagation();
     }
diff --git a/src/mol-plugin-ui/controls/line-graph/point-component.tsx b/src/mol-plugin-ui/controls/line-graph/point-component.tsx
index 7be5731ae995b10c3a28228e7297526041f2124c..d3c752eea99eeb94b77bf5ec0a65aeb81301dac5 100644
--- a/src/mol-plugin-ui/controls/line-graph/point-component.tsx
+++ b/src/mol-plugin-ui/controls/line-graph/point-component.tsx
@@ -6,7 +6,7 @@ import { Vec2 } from '../../../mol-math/linear-algebra';
 export class PointComponent extends React.Component<any, {show: boolean}> {
     constructor(props: any) {
         super(props);
-        this.state = {show: false};
+        this.state = { show: false };
 
         this.handleHover = this.handleHover.bind(this);
         this.handleHoverOff = this.handleHoverOff.bind(this);
@@ -14,13 +14,13 @@ export class PointComponent extends React.Component<any, {show: boolean}> {
     }
 
     private handleHover() {
-        this.setState({show: true});
+        this.setState({ show: true });
         const point = Vec2.create(this.props.nX, this.props.nY);
         this.props.onmouseover(point);
     }
 
     private handleHoverOff() {
-        this.setState({show: false});
+        this.setState({ show: false });
         this.props.onmouseover(undefined);
     }
 
diff --git a/src/mol-plugin-ui/state/snapshots.tsx b/src/mol-plugin-ui/state/snapshots.tsx
index 82990c5cf3ab70d6a63ed37047eba9eddc65627b..39260a92b3d66fd7a110ce55896b4ec9905fd049 100644
--- a/src/mol-plugin-ui/state/snapshots.tsx
+++ b/src/mol-plugin-ui/state/snapshots.tsx
@@ -75,7 +75,7 @@ export class StateExportImportControls extends PluginUIComponent<{ onAction?: ()
                     <Icon svg={OpenInBrowserSvg} inline /> Open <input onChange={this.open} type='file' multiple={false} accept='.molx,.molj' />
                 </div>
             </div>
-            <div className='msp-help-text' style={{ padding: '10px'}}>
+            <div className='msp-help-text' style={{ padding: '10px' }}>
                 <Icon svg={WarningSvg} /> This is an experimental feature and stored states/sessions might not be openable in a future version.
             </div>
         </>;
diff --git a/src/mol-script/language/symbol-table/core.ts b/src/mol-script/language/symbol-table/core.ts
index 347b863ed963b829f8c2bbdcc34f5da021023fc9..6096b36b5a7ee0e75c0a130c018809e43c868a84 100644
--- a/src/mol-script/language/symbol-table/core.ts
+++ b/src/mol-script/language/symbol-table/core.ts
@@ -85,7 +85,7 @@ const ctrl = {
     }), Type.Union([Type.Variable('a', Type.Any), Type.Variable('b', Type.Any)])),
     assoc: symbol(Arguments.Dictionary({
         0: Argument(Type.Str, { description: 'Name' }),
-        1: Argument(Type.Variable('a', Type.Any), {description: 'Value to assign' })
+        1: Argument(Type.Variable('a', Type.Any), { description: 'Value to assign' })
     }), Type.Variable('a', Type.Any))
 };
 
diff --git a/src/mol-theme/label.ts b/src/mol-theme/label.ts
index bf16a64d75bd586e38c029546cbbb2b8b94f5601..73c123a859f98f572151db59980b1841fd6500cf 100644
--- a/src/mol-theme/label.ts
+++ b/src/mol-theme/label.ts
@@ -141,7 +141,7 @@ export function bondLabel(bond: Bond.Location, options: Partial<LabelOptions> =
     return bundleLabel({ loci: [
         StructureElement.Loci(bond.aStructure, [{ unit: bond.aUnit, indices: OrderedSet.ofSingleton(bond.aIndex) }]),
         StructureElement.Loci(bond.bStructure, [{ unit: bond.bUnit, indices: OrderedSet.ofSingleton(bond.bIndex) }])
-    ]}, options);
+    ] }, options);
 }
 
 export function bundleLabel(bundle: Loci.Bundle<any>, options: Partial<LabelOptions> = {}): string {
diff --git a/src/perf-tests/mol-script.ts b/src/perf-tests/mol-script.ts
index 32e9cff781369ef5341d7d81d9d39670cf312100..69b3cf007626d4bc9a961fb46a83bcec70fe69f5 100644
--- a/src/perf-tests/mol-script.ts
+++ b/src/perf-tests/mol-script.ts
@@ -49,7 +49,7 @@ console.log(result);
 
 const CustomProp = CustomPropertyDescriptor({
     name: 'test_prop',
-    cifExport: { prefix: '', categories: [ ]},
+    cifExport: { prefix: '', categories: [ ] },
     symbols: {
         residueIndex: QuerySymbolRuntime.Dynamic(CustomPropSymbol('custom.test-prop', 'residue-index', Type.Num), ctx => {
             const e = ctx.element;
diff --git a/src/servers/model/server/api.ts b/src/servers/model/server/api.ts
index 159ef411b821aba65077bcdff9e71016487c76c8..32382c659f728b2bbcb6a050bb120933be276473 100644
--- a/src/servers/model/server/api.ts
+++ b/src/servers/model/server/api.ts
@@ -68,7 +68,7 @@ export const AtomSiteSchemaElement = {
     label_entity_id: { type: QueryParamType.String, groupName: 'atom_site' },
 
     label_asym_id: { type: QueryParamType.String, groupName: 'atom_site' },
-    auth_asym_id: { type: QueryParamType.String, groupName: 'atom_site'},
+    auth_asym_id: { type: QueryParamType.String, groupName: 'atom_site' },
 
     label_comp_id: { type: QueryParamType.String, groupName: 'atom_site' },
     auth_comp_id: { type: QueryParamType.String, groupName: 'atom_site' },
diff --git a/src/tests/browser/render-shape.ts b/src/tests/browser/render-shape.ts
index efe6456e563d9932f3b1890860957fe2caa18bc0..cf83c1c9a4f8518ecf84416e804b07e594ee5552 100644
--- a/src/tests/browser/render-shape.ts
+++ b/src/tests/browser/render-shape.ts
@@ -40,7 +40,7 @@ parent.appendChild(info);
 let prevReprLoci = Representation.Loci.Empty;
 const canvas3d = Canvas3D.create(Canvas3DContext.fromCanvas(canvas));
 canvas3d.animate();
-canvas3d.input.move.subscribe(({x, y}) => {
+canvas3d.input.move.subscribe(({ x, y }) => {
     const pickingId = canvas3d.identify(x, y)?.id;
     let label = '';
     if (pickingId) {
diff --git a/src/tests/browser/render-structure.ts b/src/tests/browser/render-structure.ts
index 1ec4c705b17f1a1ae95ce7d71706298094107250..07e23ee4918d7a8698ceb01cc843ec62a4ceb614 100644
--- a/src/tests/browser/render-structure.ts
+++ b/src/tests/browser/render-structure.ts
@@ -50,7 +50,7 @@ info.style.color = 'white';
 parent.appendChild(info);
 
 let prevReprLoci = Representation.Loci.Empty;
-canvas3d.input.move.pipe(throttleTime(100)).subscribe(({x, y}) => {
+canvas3d.input.move.pipe(throttleTime(100)).subscribe(({ x, y }) => {
     const pickingId = canvas3d.identify(x, y)?.id;
     let label = '';
     if (pickingId) {