Remove node target from ligatures

This complicates bundling for sandboxed electron a lot, ideally we would only
rely on browser APIs for font access
This commit is contained in:
Daniel Imms
2022-08-04 09:57:37 -07:00
parent 409cb4bb73
commit f3f6a91f16
3 changed files with 5 additions and 29 deletions
+3 -12
View File
@@ -3,8 +3,7 @@
* @license MIT
*/
import { FontList } from 'font-finder';
import { Font, loadBuffer, loadFile } from 'font-ligatures';
import { Font, loadBuffer } from 'font-ligatures';
import parse from './parse';
@@ -24,7 +23,7 @@ interface IFontAccessNavigator {
};
}
let fontsPromise: Promise<FontList | Record<string, IFontMetadata[]>> | undefined = undefined;
let fontsPromise: Promise<Record<string, IFontMetadata[]>> | undefined = undefined;
/**
* Loads the font ligature wrapper for the specified font family if it could be
@@ -81,14 +80,6 @@ export default async function load(fontFamily: string, cacheSize: number): Promi
console.error(err.name, err.message);
}
}
// Node environment or no font access API
else {
try {
fontsPromise = (await import('font-finder')).list();
} catch (err) {
// No-op
}
}
if (!fontsPromise) {
fontsPromise = Promise.resolve({});
}
@@ -110,7 +101,7 @@ export default async function load(fontFamily: string, cacheSize: number): Promi
const buffer = await bytes.arrayBuffer();
return loadBuffer(buffer, { cacheSize });
}
return await loadFile(font.path, { cacheSize });
return undefined;
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
* @license MIT
*/
import { Terminal } from 'xterm';
import type { Terminal } from 'xterm';
import { Font } from 'font-ligatures';
import load from './font';
+1 -16
View File
@@ -27,20 +27,5 @@ module.exports = {
library: addonName,
libraryTarget: 'umd'
},
mode: 'production',
externals: {
'font-finder': 'font-finder',
'stream': 'stream',
'os': 'os',
'util': 'util'
},
resolve: {
// The ligature modules contains fallbacks for node environments, we never want to browserify them
fallback: {
stream: false,
util: false,
os: false,
path: false
}
}
mode: 'production'
};