@needle-tools/engine 4.7.0-next.da47826 → 4.7.0-next.ef983f9
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 +5 -0
- package/dist/{needle-engine.bundle-CO1Ub9sm.js → needle-engine.bundle-450ujan4.js} +585 -574
- package/dist/{needle-engine.bundle-D95XN5pP.min.js → needle-engine.bundle-BDMr_I34.min.js} +33 -30
- package/dist/{needle-engine.bundle-Bu88IoKB.umd.cjs → needle-engine.bundle-CbNroJbN.umd.cjs} +32 -29
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/engine_context.js +4 -3
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_three_utils.js +4 -0
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +1 -1
- package/lib/engine-components/Camera.js +1 -1
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CameraUtils.js +5 -3
- package/lib/engine-components/CameraUtils.js.map +1 -1
- package/lib/engine-components/Skybox.js +4 -4
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +8 -1
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +15 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
- package/lib/engine-components/postprocessing/Volume.js +1 -1
- package/lib/engine-components/postprocessing/Volume.js.map +1 -1
- package/package.json +1 -1
- package/plugins/common/logger.js +223 -0
- package/plugins/types/userconfig.d.ts +3 -1
- package/plugins/vite/alias.js +55 -40
- package/plugins/vite/imports-logger.js +1 -1
- package/plugins/vite/index.js +4 -0
- package/plugins/vite/logger.client.js +216 -0
- package/plugins/vite/logger.js +85 -0
- package/plugins/vite/materialx.js +32 -0
- package/plugins/vite/transform.js +1 -0
- package/src/engine/engine_context.ts +4 -3
- package/src/engine/engine_three_utils.ts +3 -0
- package/src/engine/webcomponents/needle-engine.attributes.ts +1 -1
- package/src/engine-components/Camera.ts +1 -1
- package/src/engine-components/CameraUtils.ts +5 -3
- package/src/engine-components/Skybox.ts +5 -5
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +8 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +14 -2
- package/src/engine-components/postprocessing/Volume.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/Volume.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Volume.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/Volume.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.7.0-next.
|
|
3
|
+
"version": "4.7.0-next.ef983f9",
|
|
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": {
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { createWriteStream, existsSync, mkdirSync, readdirSync, rmSync, statSync, write } from "fs";
|
|
2
|
+
|
|
3
|
+
const filename_timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {"server" | "client" | "client-http"} ProcessType
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
let originalConsoleLog = console.log;
|
|
11
|
+
let originalConsoleError = console.error;
|
|
12
|
+
let originalConsoleWarn = console.warn;
|
|
13
|
+
let originalConsoleInfo = console.info;
|
|
14
|
+
let originalConsoleDebug = console.debug;
|
|
15
|
+
let didPatch = false;
|
|
16
|
+
let unpatchFunction = null;
|
|
17
|
+
|
|
18
|
+
export function patchConsoleLogs() {
|
|
19
|
+
if (didPatch) return unpatchFunction;
|
|
20
|
+
didPatch = true;
|
|
21
|
+
|
|
22
|
+
console.log = (...args) => {
|
|
23
|
+
originalConsoleLog(...args);
|
|
24
|
+
captureLogMessage("server", 'log', args);
|
|
25
|
+
};
|
|
26
|
+
console.error = (...args) => {
|
|
27
|
+
originalConsoleError(...args);
|
|
28
|
+
captureLogMessage("server", 'error', args);
|
|
29
|
+
};
|
|
30
|
+
console.warn = (...args) => {
|
|
31
|
+
originalConsoleWarn(...args);
|
|
32
|
+
captureLogMessage("server", 'warn', args);
|
|
33
|
+
};
|
|
34
|
+
console.info = (...args) => {
|
|
35
|
+
originalConsoleInfo(...args);
|
|
36
|
+
captureLogMessage("server", 'info', args);
|
|
37
|
+
};
|
|
38
|
+
console.debug = (...args) => {
|
|
39
|
+
originalConsoleDebug(...args);
|
|
40
|
+
captureLogMessage("server", 'debug', args);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// Restore original console methods
|
|
44
|
+
unpatchFunction = () => {
|
|
45
|
+
didPatch = false;
|
|
46
|
+
console.log = originalConsoleLog;
|
|
47
|
+
console.error = originalConsoleError;
|
|
48
|
+
console.warn = originalConsoleWarn;
|
|
49
|
+
console.info = originalConsoleInfo;
|
|
50
|
+
console.debug = originalConsoleDebug;
|
|
51
|
+
}
|
|
52
|
+
return unpatchFunction;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
let isCapturing = false;
|
|
57
|
+
|
|
58
|
+
/** @type {Array<{ process: ProcessType, key: string, log:any, timestamp:number }>} */
|
|
59
|
+
const queue = new Array();
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @param {ProcessType} process
|
|
63
|
+
* @param {string} key
|
|
64
|
+
* @param {any} log
|
|
65
|
+
*/
|
|
66
|
+
export function captureLogMessage(process, key, log, time = Date.now()) {
|
|
67
|
+
if (isCapturing) {
|
|
68
|
+
queue.push({ process, key, log, timestamp: Date.now() });
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
isCapturing = true;
|
|
72
|
+
|
|
73
|
+
try {
|
|
74
|
+
const str = stringifyLog(log);
|
|
75
|
+
const prefix = `${getTimestamp(time, true)}, ${process}.${key}: `;
|
|
76
|
+
const separator = "";
|
|
77
|
+
writeToFile(process, indent(`${prefix}${separator}${str}`, prefix.length, separator));
|
|
78
|
+
} finally {
|
|
79
|
+
isCapturing = false;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
let queued = queue.pop();
|
|
83
|
+
if (queued) {
|
|
84
|
+
captureLogMessage(queued.process, queued.key, queued.log, queued.timestamp);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
// #region utility functions
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Returns the current timestamp in ISO format.
|
|
93
|
+
* @param {number} [date] - Optional date to format, defaults to current date.
|
|
94
|
+
*/
|
|
95
|
+
function getTimestamp(date, timeOnly = false) {
|
|
96
|
+
const now = date ? new Date(date) : new Date();
|
|
97
|
+
if (timeOnly) {
|
|
98
|
+
return now.toTimeString().split(' ')[0]; // HH:MM:SS
|
|
99
|
+
}
|
|
100
|
+
return now.toISOString();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Stringifies a log message, handling circular references and formatting.
|
|
106
|
+
* @param {any} log
|
|
107
|
+
* @param {Set<any>} [seen]
|
|
108
|
+
*/
|
|
109
|
+
function stringifyLog(log, seen = new Set()) {
|
|
110
|
+
|
|
111
|
+
if (typeof log === "string") {
|
|
112
|
+
if (log.length > 2000) log = `${log.slice(0, 2000)}... [truncated: ${log.length - 2000} more characters]`;
|
|
113
|
+
return log;
|
|
114
|
+
}
|
|
115
|
+
if (typeof log === "number" || typeof log === "boolean") {
|
|
116
|
+
return String(log);
|
|
117
|
+
}
|
|
118
|
+
if (log === null) {
|
|
119
|
+
return "null";
|
|
120
|
+
}
|
|
121
|
+
if (log === undefined) {
|
|
122
|
+
return "undefined";
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (seen.has(log)) return "[circular]";
|
|
126
|
+
seen.add(log);
|
|
127
|
+
|
|
128
|
+
if (Array.isArray(log)) {
|
|
129
|
+
|
|
130
|
+
let res = "";
|
|
131
|
+
for (let i = 0; i < log.length; i++) {
|
|
132
|
+
let item = log[i];
|
|
133
|
+
if (res) res += ", ";
|
|
134
|
+
if (i > 100) res += "[truncated: " + (log.length - i) + " more items]";
|
|
135
|
+
res += stringifyLog(item, seen);
|
|
136
|
+
}
|
|
137
|
+
return res;
|
|
138
|
+
}
|
|
139
|
+
if (typeof log === "object") {
|
|
140
|
+
let entries = Object.entries(log).map(([key, value], index) => {
|
|
141
|
+
if (index > 100) return `"${key}": [truncated]`;
|
|
142
|
+
return `"${key}": ${stringifyLog(value, seen)}`;
|
|
143
|
+
});
|
|
144
|
+
return `{ ${entries.join(", ")} }`;
|
|
145
|
+
}
|
|
146
|
+
if (log instanceof Buffer) {
|
|
147
|
+
return `Buffer(${log.length}, ${log.byteLength}, ${log.byteOffset})`;
|
|
148
|
+
}
|
|
149
|
+
return String(log);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Indents a string by a specified length.
|
|
155
|
+
* @param {string} str - The string to indent.
|
|
156
|
+
* @param {number} length - The number of spaces to indent each line.
|
|
157
|
+
* @returns {string} The indented string.
|
|
158
|
+
*/
|
|
159
|
+
function indent(str, length, separator = "") {
|
|
160
|
+
const lines = str.split("\n");
|
|
161
|
+
const prefixStr = " ".repeat(length) + separator;
|
|
162
|
+
for (let i = 1; i < lines.length; i++) {
|
|
163
|
+
let entry = lines[i].trim();
|
|
164
|
+
if (entry.length === 0) continue; // skip empty lines
|
|
165
|
+
// indent the line
|
|
166
|
+
lines[i] = prefixStr + entry;
|
|
167
|
+
}
|
|
168
|
+
return lines.join("\n");
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
// #region log to file
|
|
173
|
+
|
|
174
|
+
/** @type {Map<ProcessType, import("fs").WriteStream>} */
|
|
175
|
+
const filestreams = new Map();
|
|
176
|
+
const fileLogDirectory = "node_modules/.needle/logs";
|
|
177
|
+
// cleanup old log files
|
|
178
|
+
if (existsSync(fileLogDirectory)) {
|
|
179
|
+
const files = readdirSync(fileLogDirectory);
|
|
180
|
+
// sort by age and keep the last 10 files
|
|
181
|
+
files.sort((a, b) => {
|
|
182
|
+
const aStat = statSync(`${fileLogDirectory}/${a}`);
|
|
183
|
+
const bStat = statSync(`${fileLogDirectory}/${b}`);
|
|
184
|
+
return aStat.mtimeMs - bStat.mtimeMs;
|
|
185
|
+
});
|
|
186
|
+
// remove all but the last 30 files
|
|
187
|
+
const filesToKeep = 30;
|
|
188
|
+
for (let i = 0; i < files.length - filesToKeep; i++) {
|
|
189
|
+
rmSync(`${fileLogDirectory}/${files[i]}`, { force: true });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Writes a log message to the file.
|
|
195
|
+
* @param {ProcessType} process
|
|
196
|
+
* @param {string} log
|
|
197
|
+
*/
|
|
198
|
+
function writeToFile(process, log) {
|
|
199
|
+
if (!filestreams.has(process)) {
|
|
200
|
+
if (!existsSync(fileLogDirectory)) {
|
|
201
|
+
mkdirSync(fileLogDirectory, { recursive: true });
|
|
202
|
+
}
|
|
203
|
+
filestreams.set(process, createWriteStream(`${fileLogDirectory}/needle.${filename_timestamp}.${process}.log`, { flags: 'a' }));
|
|
204
|
+
}
|
|
205
|
+
const writeStream = filestreams.get(process);
|
|
206
|
+
if (!writeStream) {
|
|
207
|
+
console.error(`No write stream for process: ${process}`);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
writeStream.write(log + '\n');
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
// #region process exit
|
|
216
|
+
function onExit() {
|
|
217
|
+
filestreams.forEach((stream) => stream.end());
|
|
218
|
+
filestreams.clear();
|
|
219
|
+
}
|
|
220
|
+
const events = ['SIGTERM', 'SIGINT', 'beforeExit', 'rejectionHandled', 'uncaughtException', 'exit'];
|
|
221
|
+
for (const event of events) {
|
|
222
|
+
process.on(event, onExit);
|
|
223
|
+
}
|
|
@@ -49,7 +49,7 @@ export type userSettings = {
|
|
|
49
49
|
/** Custom configuration for facebook instant games. */
|
|
50
50
|
facebookInstantGames?: {}
|
|
51
51
|
/** Set to true to create an imports.log file that shows all module imports. The file is generated when stopping the server. */
|
|
52
|
-
|
|
52
|
+
debugImportChains?: boolean;
|
|
53
53
|
|
|
54
54
|
/** Set to true to disable generating the buildinfo.json file in your output directory */
|
|
55
55
|
noBuildInfo?: boolean;
|
|
@@ -117,4 +117,6 @@ export type userSettings = {
|
|
|
117
117
|
* @default undefined
|
|
118
118
|
*/
|
|
119
119
|
openBrowser?: boolean;
|
|
120
|
+
|
|
121
|
+
loadMaterialX?: boolean;
|
|
120
122
|
}
|
package/plugins/vite/alias.js
CHANGED
|
@@ -3,14 +3,33 @@ import path from 'path';
|
|
|
3
3
|
|
|
4
4
|
const projectDir = process.cwd() + "/";
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {"auto-resolve" | ((res: string, packageName: string, index: number, path: string) => string | null | void)} PackageResolveValue
|
|
8
|
+
*/
|
|
9
|
+
|
|
6
10
|
/** these are alias callbacks as in the vite.alias dictionary
|
|
7
11
|
* the first argument is the already resoled absolute path (it is only invoked if the path was found in node_modules)
|
|
8
12
|
* the 2,3,4 args are the same as in vite.alias (packageName, index, path);
|
|
9
13
|
*/
|
|
10
14
|
/**
|
|
11
|
-
* @type {Record<string,
|
|
15
|
+
* @type {Record<string, PackageResolveValue>}
|
|
12
16
|
*/
|
|
13
17
|
const packages_to_resolve = {
|
|
18
|
+
// We are currently overriding "three" resolution to ensure that all dependencies resolve to the same three.js version.
|
|
19
|
+
// This is hacky, but the alternative is potentially having conflicting three.js versions since some packages are
|
|
20
|
+
// stubborn with their peer dependencies or just slow (slower as we) with updating.
|
|
21
|
+
// NOT adding this allows node.js to correctly resolve `exports` specified in three.js package.json;
|
|
22
|
+
// since we're overriding resolution here we need to manually resolve the subset of exports that we use.
|
|
23
|
+
'three/addons': (res, packageName, index, path) => {
|
|
24
|
+
return "three/examples/jsm";
|
|
25
|
+
},
|
|
26
|
+
'three/nodes': (res, packageName, index, path) => {
|
|
27
|
+
return "three/examples/jsm/nodes/Nodes.js";
|
|
28
|
+
},
|
|
29
|
+
'three': (res, packageName, index, _path) => {
|
|
30
|
+
return path.resolve(projectDir, 'node_modules', 'three');
|
|
31
|
+
},
|
|
32
|
+
|
|
14
33
|
// Handle all previous imports where users did import using @needle-engine/src
|
|
15
34
|
'@needle-tools/engine/src': (res, packageName, index, path) => {
|
|
16
35
|
// resolve old engine/src imports UNLESS it's the asap plugin (the asap plugin currently only exists in the src folder)
|
|
@@ -23,21 +42,25 @@ const packages_to_resolve = {
|
|
|
23
42
|
because this is automatically done by vite according to whatever we define in our package.json exports
|
|
24
43
|
This did previously prevent us from declaring proper exports in package.json
|
|
25
44
|
*/
|
|
26
|
-
'@needle-tools/engine': (res, packageName, index,
|
|
45
|
+
'@needle-tools/engine': (res, packageName, index, _path) => {
|
|
27
46
|
// Check if the import is something like @needle-tools/engine/engine/engine_utils
|
|
28
47
|
// in which case we want to resolve into the lib directory
|
|
29
|
-
if (
|
|
48
|
+
if (_path.startsWith("@needle-tools/engine/engine")) {
|
|
30
49
|
return res + "/lib";
|
|
31
50
|
}
|
|
51
|
+
const node_modules_path = path.resolve(projectDir, 'node_modules', '@needle-tools/engine');
|
|
52
|
+
if (existsSync(node_modules_path)) {
|
|
53
|
+
return node_modules_path;
|
|
54
|
+
}
|
|
32
55
|
},
|
|
33
56
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
'
|
|
37
|
-
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
57
|
+
// Auto resolve to 'node_modules/<name>' or '@needle-tools/engine/node_modules/<name>'
|
|
58
|
+
'peerjs': "auto-resolve",
|
|
59
|
+
'websocket-ts': "auto-resolve",
|
|
60
|
+
'md5': "auto-resolve",
|
|
61
|
+
'three-mesh-bvh': "auto-resolve",
|
|
62
|
+
'postprocessing': "auto-resolve",
|
|
63
|
+
'@dimforge/rapier3d-compat': "auto-resolve",
|
|
41
64
|
}
|
|
42
65
|
|
|
43
66
|
/**
|
|
@@ -67,6 +90,7 @@ export const needleViteAlias = (command, config, userSettings) => {
|
|
|
67
90
|
}
|
|
68
91
|
|
|
69
92
|
|
|
93
|
+
/** @type {import("vite").Plugin} */
|
|
70
94
|
const aliasPlugin = {
|
|
71
95
|
name: "needle-alias",
|
|
72
96
|
config(config) {
|
|
@@ -75,11 +99,9 @@ export const needleViteAlias = (command, config, userSettings) => {
|
|
|
75
99
|
if (!config.resolve.alias) config.resolve.alias = {};
|
|
76
100
|
const aliasDict = config.resolve.alias;
|
|
77
101
|
|
|
78
|
-
addThreeJSResolvers(aliasDict);
|
|
79
|
-
|
|
80
102
|
for (const name in packages_to_resolve) {
|
|
81
103
|
if (!aliasDict[name]) {
|
|
82
|
-
addPathResolver(name, aliasDict, packages_to_resolve[name]);
|
|
104
|
+
addPathResolver(name, aliasDict, packages_to_resolve[name], debug ?? false);
|
|
83
105
|
}
|
|
84
106
|
}
|
|
85
107
|
|
|
@@ -127,43 +149,36 @@ export const needleViteAlias = (command, config, userSettings) => {
|
|
|
127
149
|
if (debug) return [debuggingPlugin, aliasPlugin];
|
|
128
150
|
return [aliasPlugin];
|
|
129
151
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
aliasDict['three/nodes'] = (res, packageName, index, path) => {
|
|
140
|
-
return "three/examples/jsm/nodes/Nodes.js";
|
|
141
|
-
};
|
|
142
|
-
aliasDict['three'] = (res, packageName, index, _path) => {
|
|
143
|
-
return path.resolve(projectDir, 'node_modules', 'three');
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function addPathResolver(name, aliasDict, cb) {
|
|
152
|
+
/**
|
|
153
|
+
* Adds a path resolver to the alias dictionary.
|
|
154
|
+
* @param {string} name - The name of the package to resolve.
|
|
155
|
+
* @param {import("vite").AliasOptions} aliasDict - The alias dictionary to add the resolver to.
|
|
156
|
+
* @param {PackageResolveValue | null} value - A callback function to override the default resolution behavior.
|
|
157
|
+
* @param {boolean} debug - Whether to log debug information.
|
|
158
|
+
* @returns {void}
|
|
159
|
+
*/
|
|
160
|
+
function addPathResolver(name, aliasDict, value, debug) {
|
|
148
161
|
// If a package at the node_modules path exist we resolve the request there
|
|
149
162
|
// introduced in 89a50718c38940abb99ee16c5e029065e41d7d65
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
const callback = typeof value === "function" ? value : null;
|
|
164
|
+
|
|
165
|
+
let fullpath = path.resolve(projectDir, 'node_modules', name);
|
|
166
|
+
if (!existsSync(fullpath)) {
|
|
167
|
+
fullpath = path.resolve(projectDir, 'node_modules', "@needle-tools/engine", "node_modules", name);
|
|
168
|
+
}
|
|
153
169
|
|
|
154
170
|
if (existsSync(fullpath)) {
|
|
155
171
|
aliasDict[name] = (packageName, index, path) => {
|
|
156
|
-
if (
|
|
157
|
-
const overrideResult =
|
|
158
|
-
if (overrideResult
|
|
172
|
+
if (callback !== null) {
|
|
173
|
+
const overrideResult = callback(fullpath, packageName, index, path);
|
|
174
|
+
if (typeof overrideResult === "string")
|
|
159
175
|
if (existsSync(overrideResult)) {
|
|
160
|
-
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${overrideResult}\"`);
|
|
176
|
+
if (debug) console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${overrideResult}\"`);
|
|
161
177
|
return overrideResult;
|
|
162
178
|
}
|
|
163
179
|
}
|
|
164
180
|
|
|
165
|
-
if (path != packageName) {
|
|
166
|
-
// TODO: we might want to check if the package.json exports contains the path to see if it's valid
|
|
181
|
+
if (debug && path != packageName) {
|
|
167
182
|
console.warn(`[needle-alias] \"${path}\" was requested and resolved to \"${fullpath}\"`);
|
|
168
183
|
}
|
|
169
184
|
|
package/plugins/vite/index.js
CHANGED
|
@@ -66,6 +66,8 @@ export { needleBuildInfo } from "./buildinfo.js";
|
|
|
66
66
|
import { needleServer } from "./server.js";
|
|
67
67
|
import { needleNPM } from "./npm.js";
|
|
68
68
|
import { needleTransformCode } from "./transform.js";
|
|
69
|
+
import { needleMaterialXLoader } from "./materialx.js";
|
|
70
|
+
import { needleLogger } from "./logger.js";
|
|
69
71
|
export { needleServer } from "./server.js";
|
|
70
72
|
|
|
71
73
|
|
|
@@ -110,6 +112,7 @@ export const needlePlugins = async (command, config = undefined, userSettings =
|
|
|
110
112
|
userSettings = { ...defaultUserSettings, ...userSettings };
|
|
111
113
|
|
|
112
114
|
const array = [
|
|
115
|
+
needleLogger(command, config, userSettings),
|
|
113
116
|
needleDefines(command, config, userSettings),
|
|
114
117
|
needleLicense(command, config, userSettings),
|
|
115
118
|
needleViteAlias(command, config, userSettings),
|
|
@@ -133,6 +136,7 @@ export const needlePlugins = async (command, config = undefined, userSettings =
|
|
|
133
136
|
needlePWA(command, config, userSettings),
|
|
134
137
|
needleServer(command, config, userSettings),
|
|
135
138
|
needleNPM(command, config, userSettings),
|
|
139
|
+
needleMaterialXLoader(command, config, userSettings),
|
|
136
140
|
];
|
|
137
141
|
|
|
138
142
|
const asap = await needleAsap(command, config, userSettings);
|