|
22 | 22 | * @author [email protected] (Davide Cervone) |
23 | 23 | */ |
24 | 24 |
|
| 25 | +import {mathjax} from '../../mathjax.js'; |
25 | 26 | import {OptionList, defaultOptions, userOptions} from '../../util/Options.js'; |
26 | 27 | import {StyleList} from '../../util/StyleList.js'; |
27 | 28 | import {asyncLoad} from '../../util/AsyncLoad.js'; |
28 | 29 | import {retryAfter} from '../../util/Retries.js'; |
29 | | -import {mathjax} from '../../mathjax.js'; |
30 | 30 | import {DIRECTION} from './Direction.js'; |
31 | 31 | export {DIRECTION} from './Direction.js'; |
32 | 32 |
|
@@ -1101,7 +1101,7 @@ export class FontData<C extends CharOptions, V extends VariantData<C>, D extends |
1101 | 1101 | const prefix = (!dynamic.extension ? this.options.dynamicPrefix : |
1102 | 1102 | this.CLASS.dynamicExtensions.get(dynamic.extension).prefix); |
1103 | 1103 | return (dynamic.file.match(/^(?:[\/\[]|[a-z]+:\/\/|[a-z]:)/i) ? dynamic.file : |
1104 | | - prefix + '/' + dynamic.file.replace(/\.js$/, '')); |
| 1104 | + prefix + '/' + dynamic.file.replace(/(?<!\.js)$/, '.js')); |
1105 | 1105 | } |
1106 | 1106 |
|
1107 | 1107 | /** |
@@ -1141,8 +1141,9 @@ export class FontData<C extends CharOptions, V extends VariantData<C>, D extends |
1141 | 1141 | * synchronous loading function, as in util/asyncLoad/node.ts. |
1142 | 1142 | */ |
1143 | 1143 | public loadDynamicFilesSync() { |
1144 | | - if (!mathjax.asyncLoad) { |
1145 | | - throw Error('MathJax(loadDynamicFilesSync): mathjax.asyncLoad must be specified and synchronous'); |
| 1144 | + if (!mathjax.asyncIsSynchronous) { |
| 1145 | + throw Error('MathJax(loadDynamicFilesSync): mathjax.asyncLoad must be specified and synchronous\n' + |
| 1146 | + ' Try importing #js/../components/require.mjs and #js/util/asyncLoad/node.js'); |
1146 | 1147 | } |
1147 | 1148 | const dynamicFiles = this.CLASS.dynamicFiles; |
1148 | 1149 | Object.keys(dynamicFiles).forEach(name => this.loadDynamicFileSync(dynamicFiles[name])); |
|
0 commit comments