appwrite verbindung
auf local und domaene ueber ein plugin
This commit is contained in:
43
scripts/vite-json-bigint-bignumber.js
Normal file
43
scripts/vite-json-bigint-bignumber.js
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Behebt "Right-hand side of 'instanceof' is not callable" bei json-bigint.
|
||||
* Beim Vite-Build liefert require('bignumber.js') bei ESM-Alias das Modul-Objekt
|
||||
* { default: BigNumber }; json-bigint nutzt aber "value instanceof BigNumber".
|
||||
* Wir setzen BigNumber auf den echten Konstruktor (default-Export), falls vorhanden.
|
||||
*/
|
||||
const DEFAULT_EXTRACT =
|
||||
"\nif (typeof BigNumber === 'object' && BigNumber && typeof BigNumber.default === 'function') BigNumber = BigNumber.default;";
|
||||
|
||||
export function jsonBigintBigNumberFix() {
|
||||
return {
|
||||
name: "json-bigint-bignumber-fix",
|
||||
enforce: "pre",
|
||||
transform(src, id) {
|
||||
const idNorm = id.replace(/\\/g, "/");
|
||||
if (!idNorm.includes("json-bigint")) return null;
|
||||
const isStringify = idNorm.includes("stringify.js");
|
||||
const isParse = idNorm.includes("parse.js");
|
||||
if (!isStringify && !isParse) return null;
|
||||
|
||||
if (isStringify) {
|
||||
const firstLine = "var BigNumber = require('bignumber.js');";
|
||||
if (!src.includes(firstLine)) return null;
|
||||
return {
|
||||
code: src.replace(firstLine, firstLine + DEFAULT_EXTRACT),
|
||||
map: null,
|
||||
};
|
||||
}
|
||||
|
||||
if (isParse) {
|
||||
const requireLine =
|
||||
"if (BigNumber == null) BigNumber = require('bignumber.js');";
|
||||
if (!src.includes(requireLine)) return null;
|
||||
return {
|
||||
code: src.replace(requireLine, requireLine + DEFAULT_EXTRACT),
|
||||
map: null,
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user