diff --git a/packages/viewer/.eslintrc.js b/packages/viewer/.eslintrc.cjs similarity index 92% rename from packages/viewer/.eslintrc.js rename to packages/viewer/.eslintrc.cjs index 63ad79723..dbeae6a4a 100644 --- a/packages/viewer/.eslintrc.js +++ b/packages/viewer/.eslintrc.cjs @@ -14,7 +14,7 @@ const config = { parserOptions: { sourceType: 'module', babelOptions: { - configFile: path.resolve(__dirname, './babel.config.js') + configFile: path.resolve(__dirname, './babel.config.cjs') } }, rules: { diff --git a/packages/viewer/babel.config.js b/packages/viewer/babel.config.cjs similarity index 100% rename from packages/viewer/babel.config.js rename to packages/viewer/babel.config.cjs diff --git a/packages/viewer/package.json b/packages/viewer/package.json index c424db644..40ee95837 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -8,10 +8,19 @@ "url": "https://github.com/specklesystems/speckle-server.git", "directory": "packages/viewer" }, - "main": "dist/index.cjs.js", + "main": "dist/index.cjs", "module": "dist/index.js", "exports": { - ".": "./dist/index.js", + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "require": { + "types": "./dist/index.d.ts", + "default": "./dist/index.cjs" + } + }, "./dist/assets/*": "./dist/assets/*", "./assets/*": "./dist/assets/*" }, @@ -59,6 +68,7 @@ "@babel/eslint-parser": "^7.18.2", "@babel/preset-env": "^7.20.2", "@rollup/plugin-babel": "^5.3.1", + "@types/babel__core": "^7.20.1", "@types/three": "^0.136.0", "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", diff --git a/packages/viewer/rollup.config.js b/packages/viewer/rollup.config.js index 3a797001f..a9d66297b 100644 --- a/packages/viewer/rollup.config.js +++ b/packages/viewer/rollup.config.js @@ -20,7 +20,7 @@ const config = { sourcemap }, { - file: 'dist/index.cjs.js', + file: 'dist/index.cjs', format: 'cjs', sourcemap } @@ -38,7 +38,8 @@ const config = { }), babel({ extensions: [...DEFAULT_EXTENSIONS, '.ts', '.tsx'], - babelHelpers: 'bundled' + babelHelpers: 'bundled', + configFile: './babel.config.cjs' }), ...(isProd ? [terser()] : []) ], diff --git a/packages/viewer/src/modules/Intersections.ts b/packages/viewer/src/modules/Intersections.ts index 39bf47613..d4d36ac6a 100644 --- a/packages/viewer/src/modules/Intersections.ts +++ b/packages/viewer/src/modules/Intersections.ts @@ -8,8 +8,8 @@ import { Vector2, Vector4 } from 'three' -import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial' -import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2' +import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js' +import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js' import { SpeckleRaycaster } from './objects/SpeckleRaycaster' import { ObjectLayers } from './SpeckleRenderer' diff --git a/packages/viewer/src/modules/SectionBoxOutlines.ts b/packages/viewer/src/modules/SectionBoxOutlines.ts index 028a543a4..c3972e679 100644 --- a/packages/viewer/src/modules/SectionBoxOutlines.ts +++ b/packages/viewer/src/modules/SectionBoxOutlines.ts @@ -8,8 +8,8 @@ import { Vector2, Vector3 } from 'three' -import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2' -import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry' +import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js' +import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry.js' import MeshBatch from './batching/MeshBatch' import { Geometry } from './converter/Geometry' import SpeckleGhostMaterial from './materials/SpeckleGhostMaterial' diff --git a/packages/viewer/src/modules/Viewer.ts b/packages/viewer/src/modules/Viewer.ts index 6e117b174..ef68bfbe5 100644 --- a/packages/viewer/src/modules/Viewer.ts +++ b/packages/viewer/src/modules/Viewer.ts @@ -1,5 +1,5 @@ import * as THREE from 'three' -import Stats from 'three/examples/jsm/libs/stats.module' +import Stats from 'three/examples/jsm/libs/stats.module.js' import ViewerObjectLoader from './ViewerObjectLoader' import EventEmitter from './EventEmitter' diff --git a/packages/viewer/src/modules/batching/LineBatch.ts b/packages/viewer/src/modules/batching/LineBatch.ts index d88f1af57..2f0feca9c 100644 --- a/packages/viewer/src/modules/batching/LineBatch.ts +++ b/packages/viewer/src/modules/batching/LineBatch.ts @@ -9,8 +9,8 @@ import { Vector4, WebGLRenderer } from 'three' -import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2' -import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry' +import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js' +import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry.js' import { Geometry } from '../converter/Geometry' import SpeckleLineMaterial from '../materials/SpeckleLineMaterial' import { ObjectLayers } from '../SpeckleRenderer' diff --git a/packages/viewer/src/modules/measurements/MeasurementPointGizmo.ts b/packages/viewer/src/modules/measurements/MeasurementPointGizmo.ts index 4bafd67a6..16b93b7ef 100644 --- a/packages/viewer/src/modules/measurements/MeasurementPointGizmo.ts +++ b/packages/viewer/src/modules/measurements/MeasurementPointGizmo.ts @@ -16,9 +16,9 @@ import { Vector2, Vector3 } from 'three' -import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2' +import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js' +import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry.js' import { ObjectLayers } from '../SpeckleRenderer' -import { LineSegmentsGeometry } from 'three/examples/jsm/lines/LineSegmentsGeometry' import { Geometry } from '../converter/Geometry' import SpeckleLineMaterial from '../materials/SpeckleLineMaterial' import { SpeckleText } from '../objects/SpeckleText' diff --git a/packages/viewer/src/modules/pipeline/ApplyAOPass.ts b/packages/viewer/src/modules/pipeline/ApplyAOPass.ts index ad1ca0fd9..065b73680 100644 --- a/packages/viewer/src/modules/pipeline/ApplyAOPass.ts +++ b/packages/viewer/src/modules/pipeline/ApplyAOPass.ts @@ -10,7 +10,7 @@ import { Texture, ZeroFactor } from 'three' -import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass' +import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js' import { speckleApplyAoFrag } from '../materials/shaders/speckle-apply-ao-frag' import { speckleApplyAoVert } from '../materials/shaders/speckle-apply-ao-vert' import { Pipeline, RenderType } from './Pipeline' diff --git a/packages/viewer/src/modules/pipeline/CopyOutputPass.ts b/packages/viewer/src/modules/pipeline/CopyOutputPass.ts index 076b213e0..1de9884ac 100644 --- a/packages/viewer/src/modules/pipeline/CopyOutputPass.ts +++ b/packages/viewer/src/modules/pipeline/CopyOutputPass.ts @@ -1,5 +1,5 @@ import { NoBlending, ShaderMaterial, Texture, UniformsUtils } from 'three' -import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass' +import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js' import { CopyShader } from 'three/examples/jsm/shaders/CopyShader.js' import { speckleCopyOutputFrag } from '../materials/shaders/speckle-copy-output-frag' import { speckleCopyOutputVert } from '../materials/shaders/speckle-copy-output-vert' diff --git a/packages/viewer/src/modules/pipeline/DynamicAOPass.ts b/packages/viewer/src/modules/pipeline/DynamicAOPass.ts index dda11ba67..ba96eff66 100644 --- a/packages/viewer/src/modules/pipeline/DynamicAOPass.ts +++ b/packages/viewer/src/modules/pipeline/DynamicAOPass.ts @@ -11,7 +11,7 @@ import { Vector2, WebGLRenderTarget } from 'three' -import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass' +import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js' import { speckleSaoFrag } from '../materials/shaders/speckle-sao-frag' import { speckleSaoVert } from '../materials/shaders/speckle-sao-vert' import { SAOShader } from 'three/examples/jsm/shaders/SAOShader.js' diff --git a/packages/viewer/src/modules/pipeline/ShadowcatcherPass.ts b/packages/viewer/src/modules/pipeline/ShadowcatcherPass.ts index 4466a748d..4df24fc29 100644 --- a/packages/viewer/src/modules/pipeline/ShadowcatcherPass.ts +++ b/packages/viewer/src/modules/pipeline/ShadowcatcherPass.ts @@ -19,11 +19,11 @@ import { Vector4, WebGLRenderTarget } from 'three' -import { FullScreenQuad } from 'three/examples/jsm/postprocessing/Pass' +import { FullScreenQuad } from 'three/examples/jsm/postprocessing/Pass.js' import { BlurShaderUtils, DepthLimitedBlurShader -} from 'three/examples/jsm/shaders/DepthLimitedBlurShader' +} from 'three/examples/jsm/shaders/DepthLimitedBlurShader.js' import SpeckleDepthMaterial from '../materials/SpeckleDepthMaterial' import SpeckleShadowcatcherMaterial from '../materials/SpeckleShadowcatcherMaterial' import { DefaultShadowcatcherConfig, ShadowcatcherConfig } from '../Shadowcatcher' diff --git a/packages/viewer/src/modules/pipeline/SpecklePass.ts b/packages/viewer/src/modules/pipeline/SpecklePass.ts index 6d323bb7b..d4cfcc6cd 100644 --- a/packages/viewer/src/modules/pipeline/SpecklePass.ts +++ b/packages/viewer/src/modules/pipeline/SpecklePass.ts @@ -1,5 +1,5 @@ import { Camera, Plane, Scene, Texture } from 'three' -import { Pass } from 'three/examples/jsm/postprocessing/Pass' +import { Pass } from 'three/examples/jsm/postprocessing/Pass.js' import { ObjectLayers } from '../SpeckleRenderer' import { RenderType } from './Pipeline' diff --git a/packages/viewer/src/modules/pipeline/StaticAOPass.ts b/packages/viewer/src/modules/pipeline/StaticAOPass.ts index c84717a81..af063c6e8 100644 --- a/packages/viewer/src/modules/pipeline/StaticAOPass.ts +++ b/packages/viewer/src/modules/pipeline/StaticAOPass.ts @@ -22,7 +22,7 @@ import { WebGLRenderer, WebGLRenderTarget } from 'three' -import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass' +import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js' import { speckleStaticAoGenerateVert } from '../materials/shaders/speckle-static-ao-generate-vert' import { speckleStaticAoGenerateFrag } from '../materials/shaders/speckle-static-ao-generate-frag' diff --git a/packages/viewer/tsconfig.json b/packages/viewer/tsconfig.json index 4fd5d66bc..5db864095 100644 --- a/packages/viewer/tsconfig.json +++ b/packages/viewer/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { "target": "es2019", - "module": "es2020", "lib": ["DOM"], - "moduleResolution": "Node", + "module": "es2020", + "moduleResolution": "Bundler", "strict": false, "sourceMap": true, "isolatedModules": true, diff --git a/yarn.lock b/yarn.lock index a5d18fe64..7d661ff6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11508,6 +11508,7 @@ __metadata: "@babel/preset-env": ^7.20.2 "@rollup/plugin-babel": ^5.3.1 "@speckle/objectloader": "workspace:^" + "@types/babel__core": ^7.20.1 "@types/flat": ^5.0.2 "@types/three": ^0.136.0 "@typescript-eslint/eslint-plugin": ^5.39.0 @@ -14808,6 +14809,19 @@ __metadata: languageName: node linkType: hard +"@types/babel__core@npm:^7.20.1": + version: 7.20.1 + resolution: "@types/babel__core@npm:7.20.1" + dependencies: + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 9fcd9691a33074802d9057ff70b0e3ff3778f52470475b68698a0f6714fbe2ccb36c16b43dc924eb978cd8a81c1f845e5ff4699e7a47606043b539eb8c6331a8 + languageName: node + linkType: hard + "@types/babel__generator@npm:*": version: 7.6.4 resolution: "@types/babel__generator@npm:7.6.4"