@needle-tools/engine 4.5.8 → 4.6.0-next.74b55ae
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/CHANGELOG.md +10 -0
- package/dist/{gltf-progressive-Bx_ZJgfQ.min.js → gltf-progressive-Bm9eEfgu.min.js} +1 -1
- package/dist/{gltf-progressive-Ccf3INjK.umd.cjs → gltf-progressive-Dn6o99rH.umd.cjs} +1 -1
- package/dist/{gltf-progressive-D8GP6sjZ.js → gltf-progressive-GjIqwSG3.js} +2 -2
- package/dist/{needle-engine.bundle-2--i65ba.umd.cjs → needle-engine.bundle-B28dL528.umd.cjs} +125 -125
- package/dist/{needle-engine.bundle-DsPSVnUc.min.js → needle-engine.bundle-DDJrVI3Z.min.js} +122 -122
- package/dist/{needle-engine.bundle-A-KGqR38.js → needle-engine.bundle-ZjqmTqX5.js} +3948 -3931
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-CLwnKusi.umd.cjs → postprocessing-CRQa6Qxn.umd.cjs} +177 -97
- package/dist/{postprocessing-DS5I4Iim.js → postprocessing-D6W1EyZ-.js} +1095 -1001
- package/dist/{postprocessing-CdIScgB8.min.js → postprocessing-DF8AlRgW.min.js} +178 -98
- package/dist/{three-CFtLGNtV.min.js → three-Boa-jOq-.min.js} +18 -18
- package/dist/{three-1JG7vpNC.js → three-Bz6X1mrw.js} +0 -1
- package/dist/{three-f-JuZtOs.umd.cjs → three-DMrv-4ar.umd.cjs} +20 -20
- package/dist/{three-examples-BeoqFh8m.umd.cjs → three-examples-C7ryg8vN.umd.cjs} +1 -1
- package/dist/{three-examples-CPlN41GO.min.js → three-examples-DuVhxqft.min.js} +1 -1
- package/dist/{three-examples-CyWe9wwo.js → three-examples-GggCDHv0.js} +1 -1
- package/dist/{three-mesh-ui-B18kdQmk.js → three-mesh-ui-CLNOfsWn.js} +1 -1
- package/dist/{three-mesh-ui-BMeLuYD5.min.js → three-mesh-ui-CY6Izc7C.min.js} +1 -1
- package/dist/{three-mesh-ui-DMdtSVhY.umd.cjs → three-mesh-ui-CwlN0FUC.umd.cjs} +1 -1
- package/dist/{vendor-BbM-oI6p.js → vendor-BSD1RQIh.js} +1 -1
- package/dist/{vendor-CJFfVMoq.umd.cjs → vendor-DHr4aqIZ.umd.cjs} +1 -1
- package/dist/{vendor-CTtGKiDe.min.js → vendor-zxXa3Dmr.min.js} +1 -1
- package/lib/engine/engine_assetdatabase.js +3 -1
- package/lib/engine/engine_assetdatabase.js.map +1 -1
- package/lib/engine/engine_context.d.ts +2 -2
- package/lib/engine/engine_context.js +11 -10
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_utils.js +1 -1
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +1 -1
- package/lib/engine-components/AudioSource.js +5 -4
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +2 -1
- package/lib/engine-components/ReflectionProbe.js +4 -1
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.js +9 -5
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +7 -1
- package/lib/engine-components/Skybox.js +30 -9
- package/lib/engine-components/Skybox.js.map +1 -1
- package/package.json +2 -2
- package/plugins/types/userconfig.d.ts +1 -1
- package/plugins/vite/asap.js +26 -20
- package/plugins/vite/dependency-watcher.js +8 -2
- package/plugins/vite/local-files.js +268 -59
- package/src/engine/engine_assetdatabase.ts +3 -1
- package/src/engine/engine_context.ts +14 -11
- package/src/engine/engine_utils.ts +1 -1
- package/src/engine-components/AudioSource.ts +5 -5
- package/src/engine-components/ReflectionProbe.ts +5 -1
- package/src/engine-components/Renderer.ts +10 -7
- package/src/engine-components/Skybox.ts +30 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Skybox.js","sourceRoot":"","sources":["../../src/engine-components/Skybox.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.0-next.74b55ae",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -167,4 +167,4 @@
|
|
|
167
167
|
"module": "lib/needle-engine.js",
|
|
168
168
|
"typings": "lib/needle-engine.d.ts",
|
|
169
169
|
"types": "lib/needle-engine.d.ts"
|
|
170
|
-
}
|
|
170
|
+
}
|
package/plugins/vite/asap.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { preloadScriptPaths } from './dependencies.js';
|
|
4
|
+
import { makeFilesLocalIsEnabled } from './local-files.js';
|
|
4
5
|
|
|
5
6
|
const code = `import('@needle-tools/engine/src/asap/needle-asap.ts');`
|
|
6
7
|
|
|
@@ -31,7 +32,7 @@ export const needleAsap = async (command, config, userSettings) => {
|
|
|
31
32
|
console.warn("Could not load needle logo svg", err.message);
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
/** @type {import("vite").ResolvedConfig} */
|
|
35
|
+
/** @type {import("vite").ResolvedConfig | null} */
|
|
35
36
|
let viteConfig = null;
|
|
36
37
|
|
|
37
38
|
return [{
|
|
@@ -52,21 +53,23 @@ export const needleAsap = async (command, config, userSettings) => {
|
|
|
52
53
|
console.error("Error generating gltf preload links", err);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
if (!makeFilesLocalIsEnabled(userSettings)) {
|
|
57
|
+
// preconnect to gstatic.com and fonts.googleapis.com to safe 100ms according to lighthouse
|
|
58
|
+
tags.push({
|
|
59
|
+
tag: 'link',
|
|
60
|
+
attrs: {
|
|
61
|
+
rel: "preconnect",
|
|
62
|
+
href: "https://fonts.gstatic.com",
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
tags.push({
|
|
66
|
+
tag: 'link',
|
|
67
|
+
attrs: {
|
|
68
|
+
rel: "preconnect",
|
|
69
|
+
href: "https://fonts.googleapis.com",
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
70
73
|
|
|
71
74
|
// we insert the logo late because the logo svg string is quite long
|
|
72
75
|
if (logoSvg?.length) {
|
|
@@ -94,11 +97,14 @@ export const needleAsap = async (command, config, userSettings) => {
|
|
|
94
97
|
transformIndexHtml: {
|
|
95
98
|
order: 'post',
|
|
96
99
|
handler(html, _ctx) {
|
|
97
|
-
|
|
98
100
|
/** @type {import('vite').HtmlTagDescriptor[]} */
|
|
99
101
|
const tags = [];
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
|
|
103
|
+
if (viteConfig) {
|
|
104
|
+
// we need to wait for the files to exist
|
|
105
|
+
generateScriptPreloadLinks(viteConfig, tags);
|
|
106
|
+
}
|
|
107
|
+
|
|
102
108
|
return {
|
|
103
109
|
html,
|
|
104
110
|
tags
|
|
@@ -170,7 +176,7 @@ function generateGltfPreloadLinks(config, html, tags) {
|
|
|
170
176
|
while (true) {
|
|
171
177
|
const match = needleEngineMatches.next();
|
|
172
178
|
if (match.done) break;
|
|
173
|
-
/** @type {null | string} */
|
|
179
|
+
/** @type {undefined | null | string} */
|
|
174
180
|
const value = match.value?.groups?.src;
|
|
175
181
|
if (value) {
|
|
176
182
|
if (value.startsWith("[")) {
|
|
@@ -162,8 +162,14 @@ function testIfInstallIsRequired(projectDir, packageJson) {
|
|
|
162
162
|
}
|
|
163
163
|
if (expectedVersion?.length > 0) {
|
|
164
164
|
const isRange = expectedVersion.includes("x") || expectedVersion.includes("^") || expectedVersion.includes(">") || expectedVersion.includes("<") || expectedVersion.includes("~");
|
|
165
|
-
const
|
|
166
|
-
|
|
165
|
+
const isTagName = expectedVersion === "stable" ||
|
|
166
|
+
expectedVersion === "latest" ||
|
|
167
|
+
expectedVersion === "next" ||
|
|
168
|
+
expectedVersion === "beta" ||
|
|
169
|
+
expectedVersion === "alpha" ||
|
|
170
|
+
expectedVersion === "canary" ||
|
|
171
|
+
expectedVersion === "experimental";
|
|
172
|
+
if (!isRange && !isTagName) {
|
|
167
173
|
const packageJsonPath = path.join(depPath, "package.json");
|
|
168
174
|
/** @type {String} */
|
|
169
175
|
const installedVersion = JSON.parse(readFileSync(packageJsonPath, "utf8")).version;
|
|
@@ -1,116 +1,290 @@
|
|
|
1
1
|
import https from 'https';
|
|
2
2
|
import { createHash } from 'crypto';
|
|
3
|
-
import {
|
|
3
|
+
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
4
|
+
import { resolve } from 'path';
|
|
5
|
+
import { start } from 'repl';
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
* @typedef {{pluginContext:import('rollup').TransformPluginContext, cache:Cache}} Context
|
|
8
|
+
* @typedef {{pluginContext:import('rollup').TransformPluginContext, cache:Cache, command:string, viteConfig:import("vite").ResolvedConfig | null}} Context
|
|
7
9
|
*/
|
|
8
10
|
|
|
11
|
+
const debug = false;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the local files plugin is enabled in user settings.
|
|
15
|
+
* @param {import('../types/userconfig.js').userSettings} userSettings - The user settings object
|
|
16
|
+
*/
|
|
17
|
+
export const makeFilesLocalIsEnabled = (userSettings) => {
|
|
18
|
+
if (typeof userSettings?.makeFilesLocal === "object") return userSettings?.makeFilesLocal?.enabled === true;
|
|
19
|
+
return userSettings?.makeFilesLocal === true;
|
|
20
|
+
}
|
|
21
|
+
|
|
9
22
|
/**
|
|
10
23
|
* Download files and rewrite code
|
|
11
24
|
* @param {string} command - The command that is being run
|
|
12
25
|
* @param {object} config - The config object
|
|
13
26
|
* @param {import('../types/userconfig.js').userSettings} userSettings
|
|
14
|
-
* @returns {import('vite').Plugin}
|
|
27
|
+
* @returns {import('vite').Plugin | null}
|
|
15
28
|
*/
|
|
16
29
|
export const needleMakeFilesLocal = (command, config, userSettings) => {
|
|
17
30
|
|
|
18
|
-
if (!userSettings
|
|
19
|
-
return;
|
|
31
|
+
if (!makeFilesLocalIsEnabled(userSettings)) {
|
|
32
|
+
return null;
|
|
20
33
|
}
|
|
21
34
|
|
|
22
35
|
console.log(`[needle:local-files] Local files plugin is enabled`);
|
|
23
36
|
|
|
24
37
|
const cache = new Cache();
|
|
25
38
|
|
|
26
|
-
|
|
39
|
+
/** @type {import("vite").ResolvedConfig | null} */
|
|
40
|
+
let viteConfig = null;
|
|
41
|
+
|
|
42
|
+
/** @type {import("vite").Plugin} */
|
|
43
|
+
const plugin = {
|
|
27
44
|
name: "needle:local-files",
|
|
28
|
-
enforce: 'pre',
|
|
45
|
+
// enforce: 'pre', // explictly DON'T define enforce:pre because of svelte postcss compat
|
|
29
46
|
apply: "build",
|
|
47
|
+
configResolved(config) {
|
|
48
|
+
viteConfig = config;
|
|
49
|
+
},
|
|
30
50
|
// transform bundle
|
|
31
|
-
async transform(src,
|
|
51
|
+
async transform(src, _id) {
|
|
32
52
|
src = await makeLocal(src, "ext/", "", {
|
|
33
53
|
pluginContext: this,
|
|
34
54
|
cache: cache,
|
|
55
|
+
command: command,
|
|
56
|
+
viteConfig: viteConfig,
|
|
35
57
|
});
|
|
36
58
|
return {
|
|
37
59
|
code: src,
|
|
38
60
|
map: null,
|
|
39
61
|
};
|
|
62
|
+
},
|
|
63
|
+
buildEnd() {
|
|
64
|
+
const map = cache.map;
|
|
65
|
+
console.log(""); // Make a new line for better readability
|
|
66
|
+
console.log(`[needle:local-files] Made ${map.size} files local:`);
|
|
67
|
+
for (const [key, value] of map.entries()) {
|
|
68
|
+
console.log(`- ${key} → ${value}`);
|
|
69
|
+
}
|
|
40
70
|
}
|
|
41
71
|
}
|
|
42
|
-
|
|
72
|
+
return plugin;
|
|
43
73
|
}
|
|
44
74
|
|
|
45
|
-
|
|
46
75
|
/**
|
|
47
76
|
* Rewrites the source code to make local files
|
|
48
77
|
* @param {string} src - The source code to rewrite
|
|
49
78
|
* @param {string} basePath - The base path where the files will be saved
|
|
50
79
|
* @param {string} currentDir - The current directory of the file being processed
|
|
51
|
-
* @param {Context} context - The Vite plugin context
|
|
80
|
+
* @param {Context} context - The Vite plugin context and command
|
|
52
81
|
*/
|
|
53
82
|
async function makeLocal(src, basePath, currentDir, context) {
|
|
54
83
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
84
|
+
const command = context.command;
|
|
85
|
+
|
|
86
|
+
if (debug) {
|
|
87
|
+
// Find all urls in the source code.
|
|
88
|
+
// Exclude URLs inside comments, like:
|
|
89
|
+
// - // https://example.com
|
|
90
|
+
// - /* ... https://example.com ... */
|
|
91
|
+
// - @link https://example.com
|
|
92
|
+
// - * ... https://example.com
|
|
93
|
+
const urlRegexExcludingComments = /(?<!\/\/.*)(?<!\/\*.*)(?<!@link\s+)(["'])(https?:\/\/[^\s'"]+?)\1/g;
|
|
94
|
+
let match0;
|
|
95
|
+
while ((match0 = urlRegexExcludingComments.exec(src)) !== null) {
|
|
96
|
+
const url = match0[2];
|
|
97
|
+
if (debug) console.log(`\nFound URL: ${url} in ${currentDir}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
58
100
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
101
|
+
// Google Fonts URLs
|
|
102
|
+
while (true) {
|
|
103
|
+
const match = /["'](https:\/\/fonts\.googleapis\.com\/.+?)["']/g.exec(src);
|
|
104
|
+
if (match === null) {
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
const url = match[1];
|
|
108
|
+
if (debug) console.log(`\nFound google font URL: ${url}`);
|
|
62
109
|
// Check if the font URL is already in the cache
|
|
63
|
-
const cachedPath = context.cache.getFromCache(
|
|
110
|
+
const cachedPath = context.cache.getFromCache(url);
|
|
64
111
|
if (cachedPath) {
|
|
65
|
-
console.log(`Using cached font URL: ${cachedPath}`);
|
|
66
|
-
src = src.replace(
|
|
112
|
+
if (debug) console.log(`Using cached font URL: ${cachedPath}`);
|
|
113
|
+
src = src.replace(url, cachedPath);
|
|
67
114
|
continue; // Skip downloading if already cached
|
|
68
115
|
}
|
|
69
|
-
let font = await downloadText(
|
|
70
|
-
const familyNameMatch = /family=([^&]+)/.exec(
|
|
71
|
-
const familyName = getValidFilename(familyNameMatch[1], font);
|
|
116
|
+
let font = await downloadText(url);
|
|
117
|
+
const familyNameMatch = /family=([^&]+)/.exec(url);
|
|
118
|
+
const familyName = familyNameMatch ? getValidFilename(familyNameMatch[1], font) : (new URL(url).pathname.split('/').pop());
|
|
72
119
|
font = await makeLocal(font, basePath, basePath, context);
|
|
73
120
|
const fontFileName = `font-${familyName}.css`;
|
|
74
121
|
const outputPath = basePath + fontFileName;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
122
|
+
let newPath;
|
|
123
|
+
if (command === 'build') {
|
|
124
|
+
const referenceId = context.pluginContext.emitFile({
|
|
125
|
+
type: 'asset',
|
|
126
|
+
fileName: outputPath,
|
|
127
|
+
source: font,
|
|
128
|
+
});
|
|
129
|
+
const localPath = `${context.pluginContext.getFileName(referenceId)}`;
|
|
130
|
+
newPath = getRelativeToBasePath(localPath, currentDir);
|
|
131
|
+
// ensureFileExists(localPath, font);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// Create base64 URL for dev mode
|
|
135
|
+
const base64Font = Buffer.from(font).toString('base64');
|
|
136
|
+
newPath = `data:text/css;base64,${base64Font}`;
|
|
137
|
+
}
|
|
138
|
+
if (newPath) {
|
|
139
|
+
context.cache.addToCache(url, newPath);
|
|
140
|
+
src = src.replace(url, newPath);
|
|
141
|
+
}
|
|
84
142
|
}
|
|
85
143
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
144
|
+
// Google Fonts gstatic URLs
|
|
145
|
+
while (true) {
|
|
146
|
+
const match = /["'(](https:\/\/fonts\.gstatic\.com\/)(.+?)["')]/g.exec(src);
|
|
147
|
+
if (match === null) {
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
89
150
|
const fontPath = match[2];
|
|
90
|
-
const
|
|
91
|
-
console.log(`\nFound gstatic URL: ${
|
|
151
|
+
const url = match[1] + fontPath;
|
|
152
|
+
if (debug) console.log(`\nFound gstatic URL: ${url}`);
|
|
92
153
|
// Check if the font URL is already in the cache
|
|
93
|
-
const cachedPath = context.cache.getFromCache(
|
|
154
|
+
const cachedPath = context.cache.getFromCache(url);
|
|
94
155
|
if (cachedPath) {
|
|
95
|
-
console.log(`Using cached gstatic font URL: ${cachedPath}`);
|
|
96
|
-
src = src.replace(
|
|
156
|
+
if (debug) console.log(`Using cached gstatic font URL: ${cachedPath}`);
|
|
157
|
+
src = src.replace(url, cachedPath);
|
|
97
158
|
continue; // Skip downloading if already cached
|
|
98
159
|
}
|
|
99
|
-
|
|
160
|
+
const font = await downloadBinary(url);
|
|
100
161
|
const filename = getValidFilename(fontPath, font);
|
|
101
|
-
console.log(`Saving font to: ${basePath + filename}`);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
162
|
+
if (debug) console.log(`Saving font to: ${basePath + filename}`);
|
|
163
|
+
let newPath;
|
|
164
|
+
if (command === 'build') {
|
|
165
|
+
const referenceId = context.pluginContext.emitFile({
|
|
166
|
+
type: 'asset',
|
|
167
|
+
fileName: basePath + filename,
|
|
168
|
+
source: font,
|
|
169
|
+
});
|
|
170
|
+
const localPath = `${context.pluginContext.getFileName(referenceId)}`;
|
|
171
|
+
newPath = getRelativeToBasePath(localPath, currentDir);
|
|
172
|
+
// ensureFileExists(localPath, font);
|
|
173
|
+
} else {
|
|
174
|
+
// Create base64 URL for dev mode
|
|
175
|
+
const base64Font = Buffer.from(font).toString('base64');
|
|
176
|
+
newPath = `data:text/css;base64,${base64Font}`;
|
|
177
|
+
}
|
|
178
|
+
context.cache.addToCache(url, newPath);
|
|
179
|
+
src = src.replace(url, newPath);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Load QRCode.js
|
|
183
|
+
while (true) {
|
|
184
|
+
// https://cdn.jsdelivr.net/gh/davidshimjs/qrcodejs@gh-pages/qrcode.min.js
|
|
185
|
+
const match = /["'](https:\/\/cdn\.jsdelivr\.net\/gh\/davidshimjs\/qrcodejs@[^'"]+?\/qrcode\.min\.js)["']/g.exec(src);
|
|
186
|
+
if (match === null) {
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
const url = match[1];
|
|
190
|
+
if (debug) console.log(`\nFound QR code URL: ${url}`);
|
|
191
|
+
// Check if the QR code URL is already in the cache
|
|
192
|
+
const cachedPath = context.cache.getFromCache(url);
|
|
193
|
+
if (cachedPath) {
|
|
194
|
+
if (debug) console.log(`Using cached QR code URL: ${cachedPath}`);
|
|
195
|
+
src = src.replace(url, cachedPath);
|
|
196
|
+
continue; // Skip downloading if already cached
|
|
197
|
+
}
|
|
198
|
+
const qrCode = await downloadBinary(url);
|
|
199
|
+
const filename = getValidFilename(url, qrCode);
|
|
200
|
+
if (debug) console.log(`Saving QR code to: ${basePath + filename}`);
|
|
201
|
+
let newPath;
|
|
202
|
+
if (command === 'build') {
|
|
203
|
+
const referenceId = context.pluginContext.emitFile({
|
|
204
|
+
type: 'asset',
|
|
205
|
+
fileName: basePath + filename,
|
|
206
|
+
source: qrCode,
|
|
207
|
+
});
|
|
208
|
+
const localPath = `${context.pluginContext.getFileName(referenceId)}`;
|
|
209
|
+
newPath = getRelativeToBasePath(localPath, currentDir);
|
|
210
|
+
// ensureFileExists(localPath, qrCode);
|
|
211
|
+
} else {
|
|
212
|
+
// create base64 URL for dev mode
|
|
213
|
+
const base64QrCode = Buffer.from(qrCode).toString('base64');
|
|
214
|
+
newPath = `data:application/javascript;base64,${base64QrCode}`;
|
|
215
|
+
}
|
|
216
|
+
context.cache.addToCache(url, newPath);
|
|
217
|
+
src = src.replace(url, newPath);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// Polyhaven.org URLs
|
|
221
|
+
let startIndex = 0;
|
|
222
|
+
while (true) {
|
|
223
|
+
const match = /["'](https:\/\/dl\.polyhaven\.org\/file\/.+?)["']/g.exec(src.slice(startIndex));
|
|
224
|
+
if (match === null) {
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
startIndex += match.index + match[0].length; // Update startIndex to continue searching
|
|
228
|
+
const url = match[1];
|
|
229
|
+
if (url.endsWith("/")) {
|
|
230
|
+
if (debug) console.warn(`Skipping Polyhaven URL that ends with a slash: ${url}`);
|
|
231
|
+
continue; // Skip URLs that end with a slash
|
|
232
|
+
}
|
|
233
|
+
if (url.includes("\"") || url.includes("'")) {
|
|
234
|
+
if (debug) console.warn(`Skipping Polyhaven URL with quotes: ${url}`);
|
|
235
|
+
continue; // Skip URLs with quotes
|
|
236
|
+
}
|
|
237
|
+
if (debug) console.log(`\nFound Polyhaven URL: ${url}`);
|
|
238
|
+
// Check if the Polyhaven URL is already in the cache
|
|
239
|
+
const cachedPath = context.cache.getFromCache(url);
|
|
240
|
+
if (cachedPath) {
|
|
241
|
+
if (debug) console.log(`Using cached Polyhaven URL: ${cachedPath}`);
|
|
242
|
+
src = src.replace(url, cachedPath);
|
|
243
|
+
continue; // Skip downloading if already cached
|
|
244
|
+
}
|
|
245
|
+
const polyhavenFile = await downloadBinary(url);
|
|
246
|
+
const filename = getValidFilename(url, polyhavenFile);
|
|
247
|
+
if (debug) console.log(`Saving Polyhaven file to: ${basePath + filename}`);
|
|
248
|
+
let newPath;
|
|
249
|
+
if (command === 'build') {
|
|
250
|
+
const referenceId = context.pluginContext.emitFile({
|
|
251
|
+
type: 'asset',
|
|
252
|
+
fileName: basePath + filename,
|
|
253
|
+
source: polyhavenFile,
|
|
254
|
+
});
|
|
255
|
+
const localPath = `${context.pluginContext.getFileName(referenceId)}`;
|
|
256
|
+
newPath = getRelativeToBasePath(localPath, currentDir);
|
|
257
|
+
// ensureFileExists(localPath, polyhavenFile);
|
|
258
|
+
} else {
|
|
259
|
+
// Create base64 URL for dev mode
|
|
260
|
+
const base64PolyhavenFile = Buffer.from(polyhavenFile).toString('base64');
|
|
261
|
+
newPath = `data:application/octet-stream;base64,${base64PolyhavenFile}`;
|
|
262
|
+
}
|
|
263
|
+
if (newPath) {
|
|
264
|
+
context.cache.addToCache(url, newPath);
|
|
265
|
+
src = src.replace(url, newPath);
|
|
266
|
+
}
|
|
111
267
|
}
|
|
112
268
|
|
|
113
269
|
return src;
|
|
270
|
+
|
|
271
|
+
// /**
|
|
272
|
+
// * Ensures that a file exists at the specified relative path with the given content.
|
|
273
|
+
// * If the file does not exist, it will be created with the provided content.
|
|
274
|
+
// * @param {string} relPath - The relative path to the file
|
|
275
|
+
// * @param {string|Uint8Array} content - The content to write to the file
|
|
276
|
+
// * @returns {void}
|
|
277
|
+
// */
|
|
278
|
+
// function ensureFileExists(relPath, content) {
|
|
279
|
+
// const outputPath = context.viteConfig?.build?.outDir || "dist";
|
|
280
|
+
// const fullPath = resolve(outputPath, relPath);
|
|
281
|
+
// if (!existsSync(fullPath)) {
|
|
282
|
+
// if (debug) console.log(`Creating file: ${fullPath}`);
|
|
283
|
+
// const dir = resolve(fullPath, '..');
|
|
284
|
+
// mkdirSync(dir, { recursive: true });
|
|
285
|
+
// writeFileSync(fullPath, content);
|
|
286
|
+
// }
|
|
287
|
+
// }
|
|
114
288
|
}
|
|
115
289
|
|
|
116
290
|
|
|
@@ -124,7 +298,7 @@ class Cache {
|
|
|
124
298
|
*/
|
|
125
299
|
addToCache(key, value) {
|
|
126
300
|
if (this.__cache.has(key)) {
|
|
127
|
-
console.warn(`Key ${key} already exists in cache, overwriting.`);
|
|
301
|
+
if (debug) console.warn(`Key ${key} already exists in cache, overwriting.`);
|
|
128
302
|
}
|
|
129
303
|
this.__cache.set(key, value);
|
|
130
304
|
}
|
|
@@ -139,9 +313,18 @@ class Cache {
|
|
|
139
313
|
return null;
|
|
140
314
|
}
|
|
141
315
|
}
|
|
316
|
+
get map() {
|
|
317
|
+
return this.__cache;
|
|
318
|
+
}
|
|
142
319
|
}
|
|
143
320
|
|
|
144
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Returns a relative path based on the base path.
|
|
324
|
+
* @param {string} path - The path to check
|
|
325
|
+
* @param {string | undefined | null} basePath - The base path to compare against
|
|
326
|
+
* @return {string} - The relative path if it starts with the base path, otherwise the original path
|
|
327
|
+
*/
|
|
145
328
|
function getRelativeToBasePath(path, basePath) {
|
|
146
329
|
if (basePath?.length && path.startsWith(basePath)) {
|
|
147
330
|
return "./" + path.substring(basePath.length);
|
|
@@ -156,6 +339,15 @@ function getRelativeToBasePath(path, basePath) {
|
|
|
156
339
|
* @param {string|Uint8Array} content - The content to hash for uniqueness (not used in this example)
|
|
157
340
|
*/
|
|
158
341
|
function getValidFilename(path, content) {
|
|
342
|
+
if (path.startsWith("http:") || path.startsWith("https:")) {
|
|
343
|
+
const url = new URL(path);
|
|
344
|
+
const pathParts = url.pathname.split('/');
|
|
345
|
+
const filename = pathParts.pop() || 'file';
|
|
346
|
+
const nameParts = filename.split('.');
|
|
347
|
+
const nameWithoutExt = nameParts.slice(0, -1).join('.');
|
|
348
|
+
path = `${nameWithoutExt}-${createContentMd5(url.host + pathParts.join('/'))}.${nameParts.pop() || 'unknown'}`;
|
|
349
|
+
}
|
|
350
|
+
|
|
159
351
|
// Remove any characters that are not valid in filenames
|
|
160
352
|
let name = path.replace(/[^a-z0-9_\-\.\+]/gi, '-');
|
|
161
353
|
|
|
@@ -190,20 +382,25 @@ function createContentMd5(str) {
|
|
|
190
382
|
* @param {string} url - The URL of the font to download
|
|
191
383
|
*/
|
|
192
384
|
function downloadText(url) {
|
|
193
|
-
return new Promise((res => {
|
|
385
|
+
return new Promise(((res, rej) => {
|
|
194
386
|
https.get(url, (response) => {
|
|
195
387
|
if (response.statusCode !== 200) {
|
|
196
|
-
console.
|
|
197
|
-
|
|
388
|
+
console.log();
|
|
389
|
+
console.error(`Failed to download (${response.statusCode}): ${url}`);
|
|
390
|
+
rej(new Error(`Failed to download (${response.statusCode}): ${url}`));
|
|
198
391
|
return;
|
|
199
392
|
}
|
|
393
|
+
|
|
394
|
+
console.log(""); // Make a new line for better readability
|
|
395
|
+
console.log(`[needle:local-files] Make local: ${url}`);
|
|
396
|
+
|
|
200
397
|
let data = '';
|
|
201
398
|
response.on('data', (chunk) => {
|
|
202
399
|
data += chunk;
|
|
203
400
|
});
|
|
204
401
|
response.on('end', () => {
|
|
205
402
|
// Here you can save the data to a file or process it as needed
|
|
206
|
-
console.log(`Downloaded from ${url}`);
|
|
403
|
+
if (debug) console.log(`Downloaded from ${url}`);
|
|
207
404
|
res(data);
|
|
208
405
|
});
|
|
209
406
|
});
|
|
@@ -213,18 +410,30 @@ function downloadText(url) {
|
|
|
213
410
|
function downloadBinary(url) {
|
|
214
411
|
return new Promise((res, rej) => {
|
|
215
412
|
https.get(url, (response) => {
|
|
413
|
+
|
|
414
|
+
// Handle redirects
|
|
415
|
+
if (response.statusCode && response.statusCode >= 300 && response.statusCode < 400 && response.headers.location) {
|
|
416
|
+
if (debug) console.log(`Redirecting to ${response.headers.location}`);
|
|
417
|
+
return downloadBinary(response.headers.location).then(res).catch(rej);
|
|
418
|
+
}
|
|
419
|
+
|
|
216
420
|
if (response.statusCode !== 200) {
|
|
217
|
-
console.
|
|
218
|
-
|
|
421
|
+
console.log();
|
|
422
|
+
console.error(`Failed to download (${response.statusCode}): ${url}`);
|
|
423
|
+
rej(new Error(`Failed to download (${response.statusCode}): ${url}`));
|
|
219
424
|
return;
|
|
220
425
|
}
|
|
426
|
+
|
|
427
|
+
console.log(""); // Make a new line for better readability
|
|
428
|
+
console.log(`[needle:local-files] Make local: ${url}`);
|
|
429
|
+
|
|
221
430
|
const chunks = [];
|
|
222
431
|
response.on('data', (chunk) => {
|
|
223
432
|
chunks.push(chunk);
|
|
224
433
|
});
|
|
225
434
|
response.on('end', () => {
|
|
226
435
|
// Here you can save the data to a file or process it as needed
|
|
227
|
-
console.log(`Downloaded
|
|
436
|
+
if (debug) console.log(`Downloaded from ${url}`);
|
|
228
437
|
res(Buffer.concat(chunks));
|
|
229
438
|
});
|
|
230
439
|
});
|
|
@@ -61,7 +61,9 @@ export function disposeObjectResources(obj: object | null | undefined) {
|
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
obj
|
|
64
|
+
if(typeof obj === "object") {
|
|
65
|
+
obj[$disposed] = true;
|
|
66
|
+
}
|
|
65
67
|
|
|
66
68
|
if (obj instanceof Scene) {
|
|
67
69
|
disposeObjectResources(obj.environment);
|