Spaces:
Paused
Paused
| /** | |
| * Add all the libraries that you want to expose to the client here. | |
| * They are bundled and exposed by Webpack in the /lib.js file. | |
| */ | |
| import lodash from 'lodash'; | |
| import Fuse from 'fuse.js'; | |
| import DOMPurify from 'dompurify'; | |
| import hljs from 'highlight.js'; | |
| import localforage from 'localforage'; | |
| import Handlebars from 'handlebars'; | |
| import css from '@adobe/css-tools'; | |
| import Bowser from 'bowser'; | |
| import DiffMatchPatch from 'diff-match-patch'; | |
| import { isProbablyReaderable, Readability } from '@mozilla/readability'; | |
| import SVGInject from '@iconfu/svg-inject'; | |
| import showdown from 'showdown'; | |
| import moment from 'moment'; | |
| import seedrandom from 'seedrandom'; | |
| import * as Popper from '@popperjs/core'; | |
| import droll from 'droll'; | |
| import morphdom from 'morphdom'; | |
| import { toggle as slideToggle } from 'slidetoggle'; | |
| import chalk from 'chalk'; | |
| /** | |
| * Expose the libraries to the 'window' object. | |
| * Needed for compatibility with old extensions. | |
| * Note: New extensions are encouraged to import the libraries directly from lib.js. | |
| */ | |
| export function initLibraryShims() { | |
| if (!window) { | |
| return; | |
| } | |
| if (!('Fuse' in window)) { | |
| // @ts-ignore | |
| window.Fuse = Fuse; | |
| } | |
| if (!('DOMPurify' in window)) { | |
| // @ts-ignore | |
| window.DOMPurify = DOMPurify; | |
| } | |
| if (!('hljs' in window)) { | |
| // @ts-ignore | |
| window.hljs = hljs; | |
| } | |
| if (!('localforage' in window)) { | |
| // @ts-ignore | |
| window.localforage = localforage; | |
| } | |
| if (!('Handlebars' in window)) { | |
| // @ts-ignore | |
| window.Handlebars = Handlebars; | |
| } | |
| if (!('diff_match_patch' in window)) { | |
| // @ts-ignore | |
| window.diff_match_patch = DiffMatchPatch; | |
| } | |
| if (!('SVGInject' in window)) { | |
| // @ts-ignore | |
| window.SVGInject = SVGInject; | |
| } | |
| if (!('showdown' in window)) { | |
| // @ts-ignore | |
| window.showdown = showdown; | |
| } | |
| if (!('moment' in window)) { | |
| // @ts-ignore | |
| window.moment = moment; | |
| } | |
| if (!('Popper' in window)) { | |
| // @ts-ignore | |
| window.Popper = Popper; | |
| } | |
| if (!('droll' in window)) { | |
| // @ts-ignore | |
| window.droll = droll; | |
| } | |
| } | |
| export default { | |
| lodash, | |
| Fuse, | |
| DOMPurify, | |
| hljs, | |
| localforage, | |
| Handlebars, | |
| css, | |
| Bowser, | |
| DiffMatchPatch, | |
| Readability, | |
| isProbablyReaderable, | |
| SVGInject, | |
| showdown, | |
| moment, | |
| seedrandom, | |
| Popper, | |
| droll, | |
| morphdom, | |
| slideToggle, | |
| chalk, | |
| }; | |
| export { | |
| lodash, | |
| Fuse, | |
| DOMPurify, | |
| hljs, | |
| localforage, | |
| Handlebars, | |
| css, | |
| Bowser, | |
| DiffMatchPatch, | |
| Readability, | |
| isProbablyReaderable, | |
| SVGInject, | |
| showdown, | |
| moment, | |
| seedrandom, | |
| Popper, | |
| droll, | |
| morphdom, | |
| slideToggle, | |
| chalk, | |
| }; | |