mage-engine 3.24.4 → 3.24.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.github/workflows/test.yml +29 -0
  2. package/__mocks__/three.js +178 -0
  3. package/coverage/clover.xml +3094 -0
  4. package/coverage/coverage-final.json +60 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/entities/Element.js.html +3463 -0
  8. package/coverage/lcov-report/entities/Entity.js.html +2740 -0
  9. package/coverage/lcov-report/entities/animations/AnimationHandler.js.html +1006 -0
  10. package/coverage/lcov-report/entities/animations/SpriteAnimationHandler.js.html +91 -0
  11. package/coverage/lcov-report/entities/animations/index.html +131 -0
  12. package/coverage/lcov-report/entities/animations/lib/NodeFrame.js.html +214 -0
  13. package/coverage/lcov-report/entities/animations/lib/index.html +116 -0
  14. package/coverage/lcov-report/entities/base/AnimatedSprite.js.html +220 -0
  15. package/coverage/lcov-report/entities/base/Axes.js.html +316 -0
  16. package/coverage/lcov-report/entities/base/Box.js.html +253 -0
  17. package/coverage/lcov-report/entities/base/Cone.js.html +304 -0
  18. package/coverage/lcov-report/entities/base/Cube.js.html +217 -0
  19. package/coverage/lcov-report/entities/base/CurveLine.js.html +166 -0
  20. package/coverage/lcov-report/entities/base/Cylinder.js.html +259 -0
  21. package/coverage/lcov-report/entities/base/Grid.js.html +190 -0
  22. package/coverage/lcov-report/entities/base/HelperSprite.js.html +163 -0
  23. package/coverage/lcov-report/entities/base/Label.js.html +373 -0
  24. package/coverage/lcov-report/entities/base/Line.js.html +334 -0
  25. package/coverage/lcov-report/entities/base/Plane.js.html +265 -0
  26. package/coverage/lcov-report/entities/base/Sphere.js.html +217 -0
  27. package/coverage/lcov-report/entities/base/Sprite.js.html +445 -0
  28. package/coverage/lcov-report/entities/base/index.html +326 -0
  29. package/coverage/lcov-report/entities/base/index.js.html +172 -0
  30. package/coverage/lcov-report/entities/camera.js.html +751 -0
  31. package/coverage/lcov-report/entities/constants.js.html +655 -0
  32. package/coverage/lcov-report/entities/index.html +176 -0
  33. package/coverage/lcov-report/entities/index.js.html +187 -0
  34. package/coverage/lcov-report/favicon.png +0 -0
  35. package/coverage/lcov-report/images/Images.js.html +724 -0
  36. package/coverage/lcov-report/images/index.html +116 -0
  37. package/coverage/lcov-report/index.html +266 -0
  38. package/coverage/lcov-report/lib/Color.js.html +187 -0
  39. package/coverage/lcov-report/lib/array.js.html +97 -0
  40. package/coverage/lcov-report/lib/colliders.js.html +217 -0
  41. package/coverage/lcov-report/lib/constants.js.html +1171 -0
  42. package/coverage/lcov-report/lib/dom.js.html +202 -0
  43. package/coverage/lcov-report/lib/easing.js.html +229 -0
  44. package/coverage/lcov-report/lib/features.js.html +826 -0
  45. package/coverage/lcov-report/lib/functions.js.html +130 -0
  46. package/coverage/lcov-report/lib/index.html +401 -0
  47. package/coverage/lcov-report/lib/location.js.html +127 -0
  48. package/coverage/lcov-report/lib/map.js.html +172 -0
  49. package/coverage/lcov-report/lib/math.js.html +511 -0
  50. package/coverage/lcov-report/lib/meshUtils.js.html +685 -0
  51. package/coverage/lcov-report/lib/messages.js.html +415 -0
  52. package/coverage/lcov-report/lib/network.js.html +136 -0
  53. package/coverage/lcov-report/lib/object.js.html +187 -0
  54. package/coverage/lcov-report/lib/palettes.js.html +259 -0
  55. package/coverage/lcov-report/lib/query.js.html +172 -0
  56. package/coverage/lcov-report/lib/strings.js.html +139 -0
  57. package/coverage/lcov-report/lib/url.js.html +85 -0
  58. package/coverage/lcov-report/lib/utils/assets.js.html +94 -0
  59. package/coverage/lcov-report/lib/utils/index.html +116 -0
  60. package/coverage/lcov-report/lib/uuid.js.html +112 -0
  61. package/coverage/lcov-report/models/Models.js.html +1489 -0
  62. package/coverage/lcov-report/models/SkeletonUtils.js.html +1879 -0
  63. package/coverage/lcov-report/models/index.html +131 -0
  64. package/coverage/lcov-report/physics/constants.js.html +307 -0
  65. package/coverage/lcov-report/physics/hitbox.js.html +235 -0
  66. package/coverage/lcov-report/physics/index.html +176 -0
  67. package/coverage/lcov-report/physics/index.js.html +1324 -0
  68. package/coverage/lcov-report/physics/messages.js.html +238 -0
  69. package/coverage/lcov-report/physics/utils.js.html +679 -0
  70. package/coverage/lcov-report/physics/worker/effects.js.html +325 -0
  71. package/coverage/lcov-report/physics/worker/elements.js.html +694 -0
  72. package/coverage/lcov-report/physics/worker/index.html +176 -0
  73. package/coverage/lcov-report/physics/worker/lib/dispatcher.js.html +160 -0
  74. package/coverage/lcov-report/physics/worker/lib/index.html +131 -0
  75. package/coverage/lcov-report/physics/worker/lib/math.js.html +109 -0
  76. package/coverage/lcov-report/physics/worker/player.js.html +301 -0
  77. package/coverage/lcov-report/physics/worker/vehicles.js.html +832 -0
  78. package/coverage/lcov-report/physics/worker/world.js.html +796 -0
  79. package/coverage/lcov-report/prettify.css +1 -0
  80. package/coverage/lcov-report/prettify.js +2 -0
  81. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  82. package/coverage/lcov-report/sorter.js +210 -0
  83. package/coverage/lcov.info +6368 -0
  84. package/dist/mage.js +7993 -9021
  85. package/eslint.config.js +73 -0
  86. package/jest.config.js +31 -0
  87. package/package.json +17 -5
@@ -0,0 +1,73 @@
1
+ const eslint = require("@eslint/js");
2
+ const prettier = require("eslint-plugin-prettier/recommended");
3
+ const globals = require("globals");
4
+
5
+ module.exports = [
6
+ {
7
+ ignores: [
8
+ "dist/",
9
+ "node_modules/",
10
+ "__mocks__/",
11
+ "config/",
12
+ "src/loaders/ColladaLoader.js",
13
+ "src/loaders/GLTFLoader.js",
14
+ "src/loaders/FBXLoader.js",
15
+ "src/lib/fflate.js",
16
+ "src/models/SkeletonUtils.js",
17
+ "src/controls/Orbit.js",
18
+ "src/controls/Transform.js",
19
+ "src/controls/TransformGizmo.js",
20
+ "src/fx/materials/Ocean.js",
21
+ "src/fx/materials/Water.old.js",
22
+ "src/fx/materials/Mirror.js",
23
+ "src/scripts/builtin/SmoothCameraFollow.js",
24
+ ],
25
+ },
26
+ eslint.configs.recommended,
27
+ prettier,
28
+ {
29
+ languageOptions: {
30
+ ecmaVersion: 2022,
31
+ sourceType: "module",
32
+ globals: {
33
+ ...globals.browser,
34
+ requestNextFrame: "readonly",
35
+ global: "readonly",
36
+ },
37
+ },
38
+ rules: {
39
+ "no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
40
+ "no-console": "off",
41
+ "no-dupe-class-members": "warn",
42
+ "no-empty": ["error", { allowEmptyCatch: true }],
43
+ "prettier/prettier": ["error", { endOfLine: "auto" }],
44
+ },
45
+ },
46
+ {
47
+ files: ["**/__tests__/**/*.js", "**/*.test.js"],
48
+ languageOptions: {
49
+ globals: {
50
+ ...globals.jest,
51
+ ...globals.commonjs,
52
+ },
53
+ },
54
+ },
55
+ {
56
+ files: ["src/physics/worker/**/*.js"],
57
+ languageOptions: {
58
+ globals: {
59
+ Ammo: "readonly",
60
+ postMessage: "readonly",
61
+ importScripts: "readonly",
62
+ },
63
+ },
64
+ },
65
+ {
66
+ files: ["src/lib/features.js"],
67
+ languageOptions: {
68
+ globals: {
69
+ ActiveXObject: "readonly",
70
+ },
71
+ },
72
+ },
73
+ ];
package/jest.config.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ roots: ["<rootDir>/src"],
5
+
6
+ testMatch: [
7
+ "**/__tests__/**/*.test.js",
8
+ "**/*.test.js",
9
+ ],
10
+
11
+ transform: {
12
+ "^.+\\.js$": "babel-jest",
13
+ },
14
+
15
+ transformIgnorePatterns: [
16
+ "/node_modules/(?!three/)",
17
+ ],
18
+
19
+ collectCoverageFrom: [
20
+ "src/lib/**/*.js",
21
+ "src/entities/**/*.js",
22
+ "src/models/**/*.js",
23
+ "src/physics/**/*.js",
24
+ "src/images/**/*.js",
25
+ "!src/lib/fflate.js",
26
+ "!src/lib/workers.js",
27
+ "!src/physics/worker/index.js",
28
+ ],
29
+
30
+ testEnvironment: "node",
31
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mage-engine",
3
- "version": "3.24.4",
3
+ "version": "3.24.5",
4
4
  "description": "A WebGL Javascript Game Engine, built on top of THREE.js and many other libraries.",
5
5
  "main": "dist/mage.js",
6
6
  "author": {
@@ -17,7 +17,11 @@
17
17
  "prebuild": "rimraf dist/mage.js",
18
18
  "build": "rollup --config config/index.js",
19
19
  "build:live": "rollup --config config/index.js --watch",
20
- "test": "echo you should test"
20
+ "test": "jest",
21
+ "test:watch": "jest --watch",
22
+ "test:coverage": "jest --coverage",
23
+ "lint": "eslint src",
24
+ "lint:fix": "eslint src --fix"
21
25
  },
22
26
  "repository": {
23
27
  "type": "git",
@@ -59,23 +63,31 @@
59
63
  },
60
64
  "devDependencies": {
61
65
  "@babel/cli": "7.17.3",
62
- "@babel/core": "7.17.5",
66
+ "@babel/core": "^7.29.0",
63
67
  "@babel/node": "7.16.8",
64
- "@babel/plugin-proposal-class-properties": "7.16.7",
68
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
65
69
  "@babel/polyfill": "7.12.1",
66
- "@babel/preset-env": "7.16.11",
70
+ "@babel/preset-env": "^7.29.0",
67
71
  "@babel/register": "7.17.0",
72
+ "@eslint/js": "^9.39.3",
68
73
  "@rollup/plugin-babel": "5.3.1",
69
74
  "@rollup/plugin-commonjs": "21.0.2",
70
75
  "@rollup/plugin-json": "4.1.0",
71
76
  "@rollup/plugin-node-resolve": "13.1.3",
72
77
  "@rollup/plugin-replace": "^2.3.4",
78
+ "babel-jest": "^29.7.0",
73
79
  "babel-loader": "8.2.3",
74
80
  "babel-plugin-inferno": "6.3.0",
75
81
  "babel-plugin-syntax-jsx": "^6.18.0",
76
82
  "concurrently": "^5.3.0",
83
+ "eslint": "^9.39.3",
84
+ "eslint-config-prettier": "^10.1.8",
85
+ "eslint-plugin-prettier": "^5.5.5",
86
+ "globals": "^17.4.0",
77
87
  "http-server": "^0.12.3",
88
+ "jest": "^29.7.0",
78
89
  "madge": "^5.0.1",
90
+ "prettier": "^3.8.1",
79
91
  "rimraf": "^3.0.0",
80
92
  "rollup": "2.69.0",
81
93
  "rollup-plugin-terser": "7.0.2",