bimplus-renderer 1.8.39 → 1.8.40-webifc1.0

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.
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  " set there the full version string! ": "",
7
7
  " e.g.: semverRange: '1.8.20-my-tag-name-01' ": "",
8
8
  "================================================================================================-": "",
9
- "version": "1.8.39",
9
+ "version": "1.8.40-webifc1.0",
10
10
  "description": "bim+ renderer",
11
11
  "types": "types/bimplus-renderer.d.ts",
12
12
  "keywords": [
@@ -28,7 +28,7 @@
28
28
  "url": "."
29
29
  },
30
30
  "scripts": {
31
- "eslint": "eslint src/**/* test/**/* modelviewer-data-driven-tests/tests/**/* vitest.config.mjs",
31
+ "eslint": "eslint src/**/* test/**/* modelviewer-data-driven-tests/tests/**/* modelviewer-data-driven-tests/playwright vitest.config.mjs playwright.config.mjs",
32
32
  "build": "npm run build-worker-dev && npm run eslint && webpack --config webpack.dev.js && npm run copy-wasm",
33
33
  "build-prod": "npm run build-worker-prod && npm run eslint && webpack --config webpack.prod.js && npm run copy-wasm",
34
34
  "build-worker-dev": "npm run cleanup-compiled-worker && npm run build-wasm && webpack --config webpack.compile.worker.js && npm run copy-compiled-worker",
@@ -66,42 +66,48 @@
66
66
  "test-firefox": "npm run test-firefox-headed",
67
67
  "//===================== Test helpers and browser/Polly prerequisites ==========================": "",
68
68
  "test-firefox-task": "vitest run --project=firefox --outputFile.junit=test-results/vitest-firefox.xml",
69
- "test-firefox-headed": "npm-run-all -p -r test-polly-listen-task \"test-firefox-task -- --browser.headless=false\"",
70
- "test-firefox-headless": "npm-run-all -p -r test-polly-listen-task \"test-firefox-task -- --browser.headless=true\"",
69
+ "test-firefox-headed": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-firefox-task -- --browser.headless=false\"",
70
+ "test-firefox-headless": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-firefox-task -- --browser.headless=true\"",
71
71
  "test-firefox-watch-task": "vitest --project=firefox --browser.headless=false",
72
- "test-firefox-watch": "npm-run-all -p -r test-polly-listen-task test-firefox-watch-task",
72
+ "test-firefox-watch": "start-server-and-test test-polly-listen-task tcp:localhost:3000 test-firefox-watch-task",
73
73
  "test-firefox-coverage-task": "vitest run --project=firefox --coverage --browser.headless=true --outputFile.junit=test-results/vitest-firefox.xml",
74
- "test-firefox-coverage": "npm-run-all -p -r test-polly-listen-task test-firefox-coverage-task",
74
+ "test-firefox-coverage": "start-server-and-test test-polly-listen-task tcp:localhost:3000 test-firefox-coverage-task",
75
75
  "test-chrome-task": "vitest run --project=chrome --outputFile.junit=test-results/vitest-chrome.xml",
76
- "test-chrome-headed": "npm-run-all -p -r test-polly-listen-task \"test-chrome-task -- --browser.headless=false\"",
77
- "test-chrome-headless": "npm-run-all -p -r test-polly-listen-task \"test-chrome-task -- --browser.headless=true\"",
76
+ "test-chrome-headed": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-chrome-task -- --browser.headless=false\"",
77
+ "test-chrome-headless": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-chrome-task -- --browser.headless=true\"",
78
78
  "test-chrome-watch-task": "vitest --project=chrome --browser.headless=false",
79
- "test-chrome-watch": "npm-run-all -p -r test-polly-listen-task test-chrome-watch-task",
79
+ "test-chrome-watch": "start-server-and-test test-polly-listen-task tcp:localhost:3000 test-chrome-watch-task",
80
80
  "test-chrome-coverage-task": "vitest run --project=chrome --coverage --browser.headless=true --outputFile.junit=test-results/vitest-chrome.xml",
81
- "test-chrome-coverage": "npm-run-all -p -r test-polly-listen-task test-chrome-coverage-task",
81
+ "test-chrome-coverage": "start-server-and-test test-polly-listen-task tcp:localhost:3000 test-chrome-coverage-task",
82
82
  "test-vitest-modelviewer-firefox-task": "vitest run --project=modelviewer-firefox --outputFile.junit=test-results/vitest-modelviewer-firefox.xml",
83
83
  "test-vitest-modelviewer-chrome-task": "vitest run --project=modelviewer-chrome --outputFile.junit=test-results/vitest-modelviewer-chrome.xml",
84
- "test-vitest-modelviewer-firefox-watch-task": "vitest --project=modelviewer-firefox",
84
+ "test-vitest-modelviewer-firefox-watch-task": "vitest --project=modelviewer-firefox --browser.headless=false",
85
85
  "test-vitest-modelviewer-chrome-watch-task": "vitest --project=modelviewer-chrome",
86
- "test-vitest-modelviewer-firefox": "npm-run-all -p -r test-vitest-modelviewer-firefox-task ddt-server-task",
87
- "test-vitest-modelviewer-chrome": "npm-run-all -p -r test-vitest-modelviewer-chrome-task ddt-server-task",
88
- "test-vitest-modelviewer-firefox-watch": "npm-run-all -p -r test-vitest-modelviewer-firefox-watch-task ddt-server-task",
89
- "test-vitest-modelviewer-chrome-watch": "npm-run-all -p -r test-vitest-modelviewer-chrome-watch-task ddt-server-task",
86
+ "test-vitest-modelviewer-firefox": "start-server-and-test ddt-server-task tcp:localhost:3456 test-vitest-modelviewer-firefox-task",
87
+ "test-vitest-modelviewer-chrome": "start-server-and-test ddt-server-task tcp:localhost:3456 test-vitest-modelviewer-chrome-task",
88
+ "test-vitest-modelviewer-firefox-watch": "start-server-and-test ddt-server-task tcp:localhost:3456 test-vitest-modelviewer-firefox-watch-task",
89
+ "test-vitest-modelviewer-chrome-watch": "start-server-and-test ddt-server-task tcp:localhost:3456 test-vitest-modelviewer-chrome-watch-task",
90
90
  "test-vitest-modelviewer-firefox-long-task": "vitest run --project=modelviewer-firefox --outputFile.junit=test-results/vitest-modelviewer-firefox-long.xml",
91
91
  "test-vitest-modelviewer-chrome-long-task": "vitest run --project=modelviewer-chrome --outputFile.junit=test-results/vitest-modelviewer-chrome-long.xml",
92
- "test-vitest-modelviewer-firefox-long": "npm-run-all -p -r test-vitest-modelviewer-firefox-long-task ddt-long-server-task",
93
- "test-vitest-modelviewer-chrome-long": "npm-run-all -p -r test-vitest-modelviewer-chrome-long-task ddt-long-server-task",
92
+ "test-vitest-modelviewer-firefox-long": "start-server-and-test ddt-long-server-task tcp:localhost:3456 test-vitest-modelviewer-firefox-long-task",
93
+ "test-vitest-modelviewer-chrome-long": "start-server-and-test ddt-long-server-task tcp:localhost:3456 test-vitest-modelviewer-chrome-long-task",
94
+ "test-vitest-modelviewer-firefox-long-watch": "start-server-and-test ddt-long-server-task tcp:localhost:3456 test-vitest-modelviewer-firefox-watch-task",
95
+ "test-vitest-modelviewer-chrome-long-watch": "start-server-and-test ddt-long-server-task tcp:localhost:3456 test-vitest-modelviewer-chrome-watch-task",
94
96
  "test-polly-listen-task": "polly listen",
95
97
  "//===================== Test helpers to run test for one file ": "",
96
- "test-one-file-chrome": "npm-run-all -p -r test-polly-listen-task \"test-chrome-watch-task test/tests/OverlayPollyTests.js\"",
97
- "test-one-file-firefox": "npm-run-all -p -r test-polly-listen-task \"test-firefox-watch-task test/tests/OverlayPollyTests.js\"",
98
+ "test-one-file-chrome": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-chrome-watch-task -- test/tests/OverlayPollyTests.js\"",
99
+ "test-one-file-firefox": "start-server-and-test test-polly-listen-task tcp:localhost:3000 \"npm run test-firefox-watch-task -- test/tests/OverlayPollyTests.js\"",
98
100
  "//=========================================================================================-===": "",
99
101
  "// 2.) DDT TESTS Scripts starting modelviewer-data-driven-tests ": "",
100
102
  "//============================================================================================-": "",
101
103
  "test-modelviewer-ddt": "npm run test-vitest-modelviewer-firefox",
102
- "test-modelviewer-ddt-watch": "npm run test-vitest-modelviewer-firefox-watch",
103
104
  "test-modelviewer-ddt-long": "npm run test-vitest-modelviewer-firefox-long",
104
- "test-modelviewer-ddt-long-watch": "npm-run-all -p -r test-vitest-modelviewer-firefox-watch-task ddt-long-server-task",
105
+ "test-modelviewer-ddt-watch": "npm run test-vitest-modelviewer-firefox-watch",
106
+ "test-modelviewer-ddt-long-watch": "npm run test-vitest-modelviewer-firefox-long-watch",
107
+ "test-modelviewer-ddt-visual": "playwright test --project=firefox",
108
+ "test-modelviewer-ddt-visual-long": "playwright test --project=firefox-long",
109
+ "test-modelviewer-ddt-visual-init": "playwright test --project=firefox --update-snapshots=missing",
110
+ "test-modelviewer-ddt-visual-long-init": "playwright test --project=firefox-long --update-snapshots=missing",
105
111
  "//===================== DDT Test helpers for the modelviewer-data-driven-tests test scripts ===": "",
106
112
  "ddt-server-task": "node ../simple-ddt-server/server --port 3456 --folder modelviewer-data-driven-tests/ddt-test-data",
107
113
  "ddt-long-server-task": "node ../simple-ddt-server/server --port 3456 --folder modelviewer-data-driven-tests/ddt-test-data-long",
@@ -121,6 +127,7 @@
121
127
  "@babel/plugin-transform-runtime": "^7.29.7",
122
128
  "@babel/preset-env": "^7.29.7",
123
129
  "@eslint/js": "^10.0.1",
130
+ "@playwright/test": "1.64.1",
124
131
  "@pollyjs/adapter-xhr": "^6.0.6",
125
132
  "@pollyjs/cli": "^6.0.6",
126
133
  "@pollyjs/core": "^6.0.6",
@@ -137,14 +144,15 @@
137
144
  "globals": "17.13.0",
138
145
  "jsdoc": "^4.0.5",
139
146
  "moment-timezone": "^0.6.4",
140
- "npm-run-all": "4.1.5",
141
147
  "object-hash": "^3.0.0",
142
148
  "playwright": "1.64.1",
143
149
  "raw-loader": "4.0.2",
144
150
  "rimraf": "^6.1.3",
145
151
  "shader-loader": "1.3.1",
152
+ "start-server-and-test": "^3.0.13",
146
153
  "terser-webpack-plugin": "^5.3.16",
147
154
  "url-loader": "4.1.1",
155
+ "vite": "8.3.4",
148
156
  "webpack": "^5.105.0",
149
157
  "webpack-bundle-analyzer": "^5.2.0",
150
158
  "webpack-cli": "^6.0.1",
@@ -156,6 +164,6 @@
156
164
  "dexie": "4.2.1",
157
165
  "numeric": "^1.2.6",
158
166
  "three": "^0.185.1",
159
- "web-ifc": "0.0.77"
167
+ "web-ifc": "0.0.78"
160
168
  }
161
169
  }
@@ -0,0 +1,71 @@
1
+ import { defineConfig } from '@playwright/test';
2
+
3
+ const browsers = [
4
+ {
5
+ name: 'firefox',
6
+ browserName: 'firefox',
7
+ launchOptions: {
8
+ firefoxUserPrefs: {
9
+ 'webgl.force-enabled': true,
10
+ 'webgl.enable-webgl2': true,
11
+ 'layers.acceleration.force-enabled': true,
12
+ },
13
+ },
14
+ },
15
+ {
16
+ name: 'chromium',
17
+ browserName: 'chromium',
18
+ launchOptions: { args: ['--disable-extensions'] },
19
+ },
20
+ ];
21
+
22
+ export default defineConfig({
23
+ testDir: './modelviewer-data-driven-tests/playwright',
24
+ testMatch: '**/*.spec.mjs',
25
+ fullyParallel: false,
26
+ workers: 1,
27
+ retries: 0,
28
+ timeout: 6000000,
29
+ forbidOnly: Boolean(process.env.CI),
30
+ updateSnapshots: 'none',
31
+ outputDir: 'test-results/modelviewer-visual',
32
+ snapshotPathTemplate: '{testDir}/snapshots/{projectName}/{platform}/{arg}{ext}',
33
+ reporter: [
34
+ ['list'],
35
+ ['html', { outputFolder: 'playwright-report', open: 'never' }],
36
+ ['junit', { outputFile: 'test-results/playwright-modelviewer-visual.xml' }],
37
+ ['./modelviewer-data-driven-tests/playwright/namedImagesReporter.mjs', {
38
+ outputFolder: 'playwright-report/data/named',
39
+ }],
40
+ ],
41
+ expect: {
42
+ toHaveScreenshot: {
43
+ animations: 'disabled',
44
+ caret: 'hide',
45
+ scale: 'css',
46
+ threshold: 0.2,
47
+ maxDiffPixels: 0,
48
+ timeout: 15000,
49
+ },
50
+ },
51
+ use: {
52
+ baseURL: 'http://127.0.0.1:3457',
53
+ viewport: { width: 1280, height: 900 },
54
+ deviceScaleFactor: 1,
55
+ colorScheme: 'light',
56
+ locale: 'en-US',
57
+ timezoneId: 'UTC',
58
+ screenshot: 'only-on-failure',
59
+ },
60
+ projects: ['short', 'long'].flatMap((dataset) => browsers.map(({ name, ...use }) => ({
61
+ name: `${name}${dataset === 'long' ? '-long' : ''}`,
62
+ testMatch: `**/${dataset}.spec.mjs`,
63
+ use,
64
+ }))),
65
+ webServer: {
66
+ command: 'vite --config modelviewer-data-driven-tests/playwright/vite.config.mjs --host 127.0.0.1 --port 3457 --strictPort',
67
+ url: 'http://127.0.0.1:3457/modelviewer-data-driven-tests/playwright/viewer.html',
68
+ reuseExistingServer: false,
69
+ timeout: 60000,
70
+ },
71
+ });