Skip to content

Commit 83ebd98

Browse files
committed
Improve ESM usage of Babylon
1 parent 1534f5b commit 83ebd98

File tree

11 files changed

+2545
-3003
lines changed

11 files changed

+2545
-3003
lines changed

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module.exports = {
2222
rules: {
2323
'@typescript-eslint/consistent-type-imports': [
2424
'error',
25-
{ prefer: 'type-imports' },
25+
{ prefer: 'type-imports', fixStyle: 'inline-type-imports' },
2626
],
2727
'@typescript-eslint/consistent-type-exports': [
2828
'error',

.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs

Lines changed: 0 additions & 541 deletions
This file was deleted.

.yarn/releases/yarn-3.6.1.cjs

Lines changed: 0 additions & 874 deletions
This file was deleted.

.yarn/releases/yarn-4.0.0.cjs

Lines changed: 893 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
nodeLinker: node-modules
1+
compressionLevel: mixed
2+
3+
enableGlobalCache: false
24

3-
plugins:
4-
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
5-
spec: "@yarnpkg/plugin-interactive-tools"
5+
nodeLinker: node-modules
66

7-
yarnPath: .yarn/releases/yarn-3.6.1.cjs
7+
yarnPath: .yarn/releases/yarn-4.0.0.cjs

package.json

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
{
22
"name": "@enginehub/schematicwebviewer",
3-
"version": "4.7.0",
3+
"version": "4.8.0",
44
"description": "A web viewer for modern Minecraft schematics",
55
"main": "dist/cjs/index.js",
66
"module": "dist/esm/index.js",
77
"types": "dist/esm/index.d.ts",
88
"files": [
99
"dist/"
1010
],
11+
"exports": {
12+
".": {
13+
"import": {
14+
"default": "./dist/esm/index.js",
15+
"types": "./dist/esm/index.d.ts"
16+
},
17+
"require": {
18+
"default": "./dist/cjs/index.js",
19+
"types": "./dist/cjs/index.d.ts"
20+
}
21+
}
22+
},
1123
"scripts": {
1224
"prepack": "yarn build",
1325
"clean": "rm -rf dist",
@@ -28,25 +40,25 @@
2840
},
2941
"homepage": "https://github.com/EngineHub/SchematicWebViewer#readme",
3042
"dependencies": {
43+
"@babylonjs/core": "^6.26.0",
3144
"@enginehub/schematicjs": "^0.9.1",
32-
"babylonjs": "6.13.0",
3345
"buffer": "^6.0.3",
3446
"deepmerge": "^4.3.1",
3547
"gzip-js": "^0.3.2",
3648
"jszip": "^3.10.1",
3749
"nbt-ts": "^1.3.5"
3850
},
3951
"devDependencies": {
40-
"@types/gzip-js": "^0.3.3",
41-
"@typescript-eslint/eslint-plugin": "^5.57.0",
42-
"@typescript-eslint/parser": "^5.57.0",
43-
"eslint": "^8.45.0",
44-
"eslint-config-prettier": "^8.8.0",
45-
"eslint-plugin-prettier": "^5.0.0",
46-
"parcel": "^2.9.3",
47-
"prettier": "^3.0.0",
48-
"prettier-eslint": "^15.0.1",
49-
"typescript": "^5.1.6"
52+
"@types/gzip-js": "^0.3.4",
53+
"@typescript-eslint/eslint-plugin": "^5.62.0",
54+
"@typescript-eslint/parser": "^5.62.0",
55+
"eslint": "^8.52.0",
56+
"eslint-config-prettier": "^9.0.0",
57+
"eslint-plugin-prettier": "^5.0.1",
58+
"parcel": "^2.10.1",
59+
"prettier": "^3.0.3",
60+
"prettier-eslint": "^16.1.1",
61+
"typescript": "^5.2.2"
5062
},
5163
"browserslist": [
5264
"last 1 Chrome version"
@@ -55,5 +67,5 @@
5567
"process": false
5668
},
5769
"sideEffects": false,
58-
"packageManager": "yarn@3.6.1"
70+
"packageManager": "yarn@4.0.0"
5971
}

src/renderer/model/loader.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,4 @@
11
import type { Block } from '@enginehub/schematicjs';
2-
import type { InstancedMesh, Material, Mesh, Scene } from 'babylonjs';
3-
import {
4-
Axis,
5-
Color3,
6-
Color4,
7-
MeshBuilder,
8-
MultiMaterial,
9-
Space,
10-
StandardMaterial,
11-
SubMesh,
12-
Texture,
13-
Vector3,
14-
Vector4,
15-
} from 'babylonjs';
162
import deepmerge from 'deepmerge';
173
import type { ResourceLoader } from '../../resource/resourceLoader';
184
import { TRANSPARENT_BLOCKS } from '../utils';
@@ -26,6 +12,23 @@ import type {
2612
Vector,
2713
} from './types';
2814
import { POSSIBLE_FACES } from './types';
15+
import {
16+
Axis,
17+
Color3,
18+
Color4,
19+
type InstancedMesh,
20+
type Material,
21+
type Mesh,
22+
MeshBuilder,
23+
MultiMaterial,
24+
type Scene,
25+
Space,
26+
StandardMaterial,
27+
SubMesh,
28+
Texture,
29+
Vector3,
30+
Vector4,
31+
} from '@babylonjs/core';
2932

3033
const TINT_COLOR = new Color4(145 / 255, 189 / 255, 89 / 255, 1);
3134
const WATER_COLOR = new Color4(36 / 255, 57 / 255, 214 / 255, 1);

src/renderer/renderer.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ import {
1212
NON_OCCLUDING_BLOCKS,
1313
parseNbt,
1414
} from './utils';
15+
import { loadBlockStateDefinition } from './model/parser';
16+
import { addArrowToScene, addBarsToScene } from './shapes';
1517
import {
16-
Engine,
17-
Scene,
18-
Vector3,
1918
ArcRotateCamera,
20-
HemisphericLight,
2119
Color3,
2220
Color4,
21+
Engine,
22+
HemisphericLight,
2323
Mesh,
24+
Scene,
2425
ScenePerformancePriority,
25-
} from 'babylonjs';
26-
import { loadBlockStateDefinition } from './model/parser';
27-
import { addArrowToScene, addBarsToScene } from './shapes';
26+
Vector3,
27+
} from '@babylonjs/core';
2828

2929
const CASSETTE_DECK_URL = `https://services.enginehub.org/cassette-deck/minecraft-versions/find?dataVersion=`;
3030
const URL_1_13 =

src/renderer/shapes.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
import type { Scene } from 'babylonjs';
2-
import { Axis, Color3, MeshBuilder, StandardMaterial } from 'babylonjs';
1+
import {
2+
type Scene,
3+
Axis,
4+
Color3,
5+
MeshBuilder,
6+
StandardMaterial,
7+
} from '@babylonjs/core';
38

49
export function addArrowToScene(scene: Scene, cameraOffset: number): void {
510
const arrowMaterial = new StandardMaterial('arrow', scene);

src/renderer/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Engine } from 'babylonjs';
1+
import type { Engine } from '@babylonjs/core';
22

33
export interface SchematicHandles {
44
/**

0 commit comments

Comments
 (0)