Skip to content

Commit 3de6eb2

Browse files
committed
Use .js extension when importing ts files
...and remove recast. Though non-sensical at first glance, this produces correct transpiled code. And it looks supported by our tooling.
1 parent 3e4d6bd commit 3de6eb2

21 files changed

+68
-111
lines changed

CONTRIBUTING.md

+6
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,9 @@ Run this before every commit. It will catch many problems quickly.
3535

3636
Please submit separate pull requests for separate issues. This allows each to
3737
be reviewed on its own merits.
38+
39+
### Typescript imports
40+
41+
Write typescript files with the ".ts" extension.
42+
But import these files with a ".js" extension.
43+
This is a useful strangeness of Typescript which, in the end, produces correct transpiled code.

package-lock.json

-48
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"scripts": {
66
"test": "node --enable-source-maps --import @swc-node/register/esm-register --test src/olcs/*.test.ts",
77
"build-examples": "rm -rf dist; parcel build --dist-dir dist/examples && npm run copy-static-dist",
8-
"prepare": "tsc --pretty && node buildtools/fix_paths_recast.js; npm run doc",
8+
"prepare": "tsc --pretty; npm run doc",
99
"typecheck": "tsc --pretty --noEmit",
1010
"lint": "eslint src buildtools examples",
1111
"checks": "npm run lint && npm run typecheck",
@@ -90,7 +90,6 @@
9090
"ol": "9.2.4",
9191
"parcel": "2.12.0",
9292
"proj4": "2.11.0",
93-
"recast": "0.23.9",
9493
"typedoc": "0.25.13",
9594
"typescript": "5.4.5"
9695
}

src/olcs.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
import OLCesium from './olcs/OLCesium';
1+
import OLCesium from './olcs/OLCesium.js';
22
export default OLCesium;
33

4-
export {default as AbstractSynchronizer} from './olcs/AbstractSynchronizer';
5-
export {default as RasterSynchronizer} from './olcs/RasterSynchronizer';
6-
export {default as VectorSynchronizer} from './olcs/VectorSynchronizer';
7-
export {default as OverlaySynchronizer} from './olcs/OverlaySynchronizer';
4+
export {default as AbstractSynchronizer} from './olcs/AbstractSynchronizer.js';
5+
export {default as RasterSynchronizer} from './olcs/RasterSynchronizer.js';
6+
export {default as VectorSynchronizer} from './olcs/VectorSynchronizer.js';
7+
export {default as OverlaySynchronizer} from './olcs/OverlaySynchronizer.js';
88

9-
export {default as FeatureConverter} from './olcs/FeatureConverter';
10-
export {default as OLCSCamera} from './olcs/Camera';
9+
export {default as FeatureConverter} from './olcs/FeatureConverter.js';
10+
export {default as OLCSCamera} from './olcs/Camera.js';
1111

1212
// Core api functions
13-
export * from './olcs/core';
14-
export {default as OLImageryProvider} from './olcs/core/OLImageryProvider';
15-
export {default as VectorLayerCounterpart} from './olcs/core/VectorLayerCounterpart';
13+
export * from './olcs/core.js';
14+
export {default as OLImageryProvider} from './olcs/core/OLImageryProvider.js';
15+
export {default as VectorLayerCounterpart} from './olcs/core/VectorLayerCounterpart.js';
1616

1717
// Print functions
18-
export * from './olcs/print';
18+
export * from './olcs/print.js';
1919

2020
// Contrib Manager
21-
export {default as ContribManager} from './olcs/contrib/Manager';
22-
export {default as ContribLazyLoader} from './olcs/contrib/LazyLoader';
21+
export {default as ContribManager} from './olcs/contrib/Manager.js';
22+
export {default as ContribLazyLoader} from './olcs/contrib/LazyLoader.js';

src/olcs/AbstractSynchronizer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import {unByKey as olObservableUnByKey} from 'ol/Observable.js';
22
import LayerGroup from 'ol/layer/Group.js';
3-
import {getUid} from './util';
3+
import {getUid} from './util.js';
44
import type Map from 'ol/Map.js';
55
import type {Scene, ImageryLayer} from 'cesium';
66
import type View from 'ol/View.js';
77
import type Collection from 'ol/Collection.js';
88
import type BaseLayer from 'ol/layer/Base.js';
99
import type {EventsKey} from 'ol/events.js';
10-
import type {LayerWithParents} from './core';
11-
import type VectorLayerCounterpart from './core/VectorLayerCounterpart';
10+
import type {LayerWithParents} from './core.js';
11+
import type VectorLayerCounterpart from './core/VectorLayerCounterpart.js';
1212

1313

1414
export default abstract class AbstractSynchronizer<T extends ImageryLayer | VectorLayerCounterpart> {

src/olcs/AutoRenderLoop.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type {Scene} from 'cesium';
2-
import type OLCesium from './OLCesium';
2+
import type OLCesium from './OLCesium.js';
33

44
/**
55
* By default Cesium (used to?) renders as often as possible.

src/olcs/Camera.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {unByKey as olObservableUnByKey} from 'ol/Observable.js';
2-
import {toRadians, toDegrees} from './math';
2+
import {toRadians, toDegrees} from './math.js';
33
import {getTransform} from 'ol/proj.js';
4-
import {pickCenterPoint, calcDistanceForResolution, calcResolutionForDistance} from './core';
4+
import {pickCenterPoint, calcDistanceForResolution, calcResolutionForDistance} from './core.js';
55
import type {Map, View} from 'ol';
66
import type {Scene, Camera as CesiumCamera, Matrix4, HeadingPitchRollValues} from 'cesium';
77
import type {EventsKey} from 'ol/events.js';

src/olcs/FeatureConverter.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import OLClusterSource from 'ol/source/Cluster.js';
44
import {circular as olCreateCircularPolygon} from 'ol/geom/Polygon.js';
55
import {boundingExtent, getCenter} from 'ol/extent.js';
66
import olGeomSimpleGeometry from 'ol/geom/SimpleGeometry.js';
7-
import {convertColorToCesium, olGeometryCloneTo4326, ol4326CoordinateToCesiumCartesian, ol4326CoordinateArrayToCsCartesians} from './core';
8-
import VectorLayerCounterpart, {type OlFeatureToCesiumContext} from './core/VectorLayerCounterpart';
9-
import {getUid, waitReady} from './util';
7+
import {convertColorToCesium, olGeometryCloneTo4326, ol4326CoordinateToCesiumCartesian, ol4326CoordinateArrayToCsCartesians} from './core.js';
8+
import VectorLayerCounterpart, {type OlFeatureToCesiumContext} from './core/VectorLayerCounterpart.js';
9+
import {getUid, waitReady} from './util.js';
1010
import {type CircleGeometry, type CircleOutlineGeometry, type Primitive, type Billboard, type Label, type Matrix4, type Scene, type Geometry as CSGeometry, Color as CSColor, type GroundPrimitive, type PrimitiveCollection, type ImageMaterialProperty, type BillboardCollection, type Cartesian3, type GroundPolylinePrimitive, type PolygonHierarchy, type HeightReference, type Model, type LabelCollection, type Material} from 'cesium';
1111
import type VectorLayer from 'ol/layer/Vector.js';
1212
import type ImageLayer from 'ol/layer/Image.js';

src/olcs/MVTImageryProvider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {createFromTemplates as createTileUrlFunctions} from 'ol/tileurlfunction.
99
import type {Credit, Event, ImageryLayerFeatureInfo, ImageryProvider, ImageryTypes, Proxy, Rectangle, Request, TileDiscardPolicy, TilingScheme} from 'cesium';
1010
import type {UrlFunction} from 'ol/Tile.js';
1111
import RenderFeature from 'ol/render/Feature.js';
12-
import {createEmptyCanvas} from './core/OLImageryProvider';
12+
import {createEmptyCanvas} from './core/OLImageryProvider.js';
1313

1414

1515
export interface MVTOptions {

src/olcs/OLCesium.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import olGeomPoint from 'ol/geom/Point.js';
2-
import {supportsImageRenderingPixelated, imageRenderingValue} from './util';
2+
import {supportsImageRenderingPixelated, imageRenderingValue} from './util.js';
33
import {ol4326CoordinateToCesiumCartesian} from './core';
44
import {getTransform, type TransformFunction} from 'ol/proj.js';
55
import olcsAutoRenderLoop from './AutoRenderLoop';
6-
import olcsCamera from './Camera';
7-
import olcsRasterSynchronizer from './RasterSynchronizer';
8-
import olcsVectorSynchronizer from './VectorSynchronizer';
9-
import olcsOverlaySynchronizer from './OverlaySynchronizer';
6+
import olcsCamera from './Camera.js';
7+
import olcsRasterSynchronizer from './RasterSynchronizer.js';
8+
import olcsVectorSynchronizer from './VectorSynchronizer.js';
9+
import olcsOverlaySynchronizer from './OverlaySynchronizer.js';
1010
import type Map from 'ol/Map.js';
1111
import type Interaction from 'ol/interaction/Interaction.js';
1212
import type {Group} from 'ol/layer.js';
@@ -23,8 +23,8 @@ import type {
2323
Scene,
2424
ImageryLayer
2525
} from 'cesium';
26-
import type AbstractSynchronizer from './AbstractSynchronizer';
27-
import type VectorLayerCounterpart from './core/VectorLayerCounterpart';
26+
import type AbstractSynchronizer from './AbstractSynchronizer.js';
27+
import type VectorLayerCounterpart from './core/VectorLayerCounterpart.js';
2828

2929
/**
3030
* Moved from Cesium

src/olcs/OverlaySynchronizer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type {Collection, Map as OLMap, Overlay} from 'ol';
2-
import SynchronizedOverlay from './SynchronizedOverlay';
3-
import {getUid} from './util';
2+
import SynchronizedOverlay from './SynchronizedOverlay.js';
3+
import {getUid} from './util.js';
44
import type {Scene} from 'cesium';
55
import type {CollectionEvent} from 'ol/Collection.js';
66
import {unByKey as olObservableUnByKey} from 'ol/Observable.js';
7-
import type {EventsKey} from 'ol/events';
7+
import type {EventsKey} from 'ol/events.js';
88

99
export default class OverlaySynchronizer {
1010
private overlayCollection_: Collection<Overlay>;

src/olcs/RasterSynchronizer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type Map from 'ol/Map.js';
2-
import {getUid} from './util';
3-
import olcsAbstractSynchronizer from './AbstractSynchronizer';
4-
import {type LayerWithParents, tileLayerToImageryLayer, updateCesiumLayerProperties} from './core';
2+
import {getUid} from './util.js';
3+
import olcsAbstractSynchronizer from './AbstractSynchronizer.js';
4+
import {type LayerWithParents, tileLayerToImageryLayer, updateCesiumLayerProperties} from './core.js';
55
import type {Scene, ImageryLayer, ImageryLayerCollection} from 'cesium';
66
import type BaseLayer from 'ol/layer/Base.js';
77
import type Projection from 'ol/proj/Projection.js';

src/olcs/SynchronizedOverlay.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import OLOverlay from 'ol/Overlay.js';
22
import {transform} from 'ol/proj.js';
33
import {unByKey as olObservableUnByKey} from 'ol/Observable.js';
44
import type {Scene} from 'cesium';
5-
import type OverlaySynchronizer from './OverlaySynchronizer';
6-
import type {EventsKey} from 'ol/events';
7-
import type {ObjectEvent} from 'ol/Object';
5+
import type OverlaySynchronizer from './OverlaySynchronizer.js';
6+
import type {EventsKey} from 'ol/events.js';
7+
import type {ObjectEvent} from 'ol/Object.js';
88

99

1010
/**

src/olcs/VectorSynchronizer.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import olSourceVector, {type VectorSourceEvent} from 'ol/source/Vector.js';
22
import olLayerLayer from 'ol/layer/Layer.js';
33
import olSourceCluster from 'ol/source/Cluster.js';
4-
import {getUid} from './util';
4+
import {getUid} from './util.js';
55
import olLayerVector from 'ol/layer/Vector.js';
66
import olLayerVectorTile from 'ol/layer/VectorTile.js';
7-
import olcsAbstractSynchronizer from './AbstractSynchronizer';
8-
import olcsFeatureConverter from './FeatureConverter';
9-
import type VectorLayerCounterpart from './core/VectorLayerCounterpart';
7+
import olcsAbstractSynchronizer from './AbstractSynchronizer.js';
8+
import olcsFeatureConverter from './FeatureConverter.js';
9+
import type VectorLayerCounterpart from './core/VectorLayerCounterpart.js';
1010
// eslint-disable-next-line no-duplicate-imports
1111
import {
1212
type OlFeatureToCesiumContext,
1313
type PrimitiveCollectionCounterpart
14-
} from './core/VectorLayerCounterpart';
14+
} from './core/VectorLayerCounterpart.js';
1515
import type Map from 'ol/Map.js';
16-
import {type LayerWithParents} from './core';
16+
import {type LayerWithParents} from './core.js';
1717
import type Feature from 'ol/Feature.js';
1818
import type BaseLayer from 'ol/layer/Base.js';
1919
import type {PrimitiveCollection, Scene} from 'cesium';

src/olcs/contrib/Manager.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import olcsContribLazyLoader from './LazyLoader';
2-
import OLCesium from '../OLCesium';
1+
import olcsContribLazyLoader from './LazyLoader.js';
2+
import OLCesium from '../OLCesium.js';
33
import {resetToNorthZenith, rotateAroundBottomCenter, computeSignedTiltAngleOnGlobe, pickBottomPoint, setHeadingUsingBottomCenter, limitCameraToBoundingSphere} from '../core';
4-
import {toRadians} from '../math';
4+
import {toRadians} from '../math.js';
55
import Observable from 'ol/Observable.js';
66
import type OLMap from 'ol/Map.js';
77
import type {Extent} from 'ol/extent.js';

src/olcs/core.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import olSourceTileImage from 'ol/source/TileImage.js';
88
import olSourceTileWMS from 'ol/source/TileWMS.js';
99
import olSourceVectorTile from 'ol/source/VectorTile.js';
1010
import type ImageTile from 'ol/ImageTile.js';
11-
import olcsCoreOLImageryProvider from './core/OLImageryProvider';
12-
import {getSourceProjection} from './util';
13-
import MVTImageryProvider from './MVTImageryProvider';
11+
import olcsCoreOLImageryProvider from './core/OLImageryProvider.js';
12+
import {getSourceProjection} from './util.js';
13+
import MVTImageryProvider from './MVTImageryProvider.js';
1414
import VectorTileLayer from 'ol/layer/VectorTile.js';
1515
import {type Extent, getCenter as getExtentCenter} from 'ol/extent.js';
1616
import type BaseLayer from 'ol/layer/Base.js';

src/olcs/core/OLImageryProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import {getSourceProjection} from '../util';
1+
import {getSourceProjection} from '../util.js';
22
import {type TileImage} from 'ol/source.js';
3-
import {attributionsFunctionToCredits} from '../core';
3+
import {attributionsFunctionToCredits} from '../core.js';
44
import type {Map} from 'ol';
55
import type {Projection} from 'ol/proj.js';
66
import type {Credit, Event, ImageryLayerFeatureInfo, ImageryProvider, ImageryTypes, Proxy, Rectangle, Request, TileDiscardPolicy, TilingScheme} from 'cesium';

src/olcs/dashPatternConversion.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import test from 'node:test';
22
import assert from 'node:assert';
33

4-
import {dashPattern} from './FeatureConverter';
4+
import {dashPattern} from './FeatureConverter.js';
55

66
function olPatternAsBinary(pattern: number[]): string {
77
const pattern16 = dashPattern(pattern);

src/olcs/print.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export * from './print/computeRectangle';
2-
export * from './print/drawCesiumMask';
3-
export * from './print/takeCesiumScreenshot';
1+
export * from './print/computeRectangle.js';
2+
export * from './print/drawCesiumMask.js';
3+
export * from './print/takeCesiumScreenshot.js';

src/olcs/print/printUtils.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
export {computeRectangle} from './computeRectangle';
1+
export {computeRectangle} from './computeRectangle.js';
22

3-
export type{RectangleOutput} from './computeRectangle';
3+
export type {RectangleOutput} from './computeRectangle.js';
44

55
export function computeDPIForPDF(pdfPixels: [number, number], imageDimensions: [number, number]): number {
66
const widthDPI = imageDimensions[0] / (pdfPixels[0] / 72);

src/olcs/util.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type {Projection} from 'ol/proj';
2-
import type {Source} from 'ol/source';
1+
import type {Projection} from 'ol/proj.js';
2+
import type {Source} from 'ol/source.js';
33

44
let _imageRenderingPixelatedSupported: boolean = undefined;
55
let _imageRenderingValue: string = undefined;

0 commit comments

Comments
 (0)