@internetarchive/bookreader 5.0.0-94 → 5.0.0-96
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/BookReader/BookReader.js +1 -1
- package/BookReader/hypothesis/LICENSE +50 -0
- package/BookReader/hypothesis/README.md +55 -0
- package/BookReader/hypothesis/build/boot.js +1 -0
- package/BookReader/hypothesis/build/manifest.json +20 -0
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js +184 -0
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +798 -0
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +711 -0
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/styles/annotator.css +2235 -0
- package/BookReader/hypothesis/build/styles/annotator.css.map +1 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/highlights.css +2 -0
- package/BookReader/hypothesis/build/styles/highlights.css.map +1 -0
- package/BookReader/hypothesis/build/styles/katex.min.css +2 -0
- package/BookReader/hypothesis/build/styles/katex.min.css.map +1 -0
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +2 -0
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +1 -0
- package/BookReader/hypothesis/build/styles/sidebar.css +2731 -0
- package/BookReader/hypothesis/build/styles/sidebar.css.map +1 -0
- package/BookReader/hypothesis/build/styles/ui-playground.css +2659 -0
- package/BookReader/hypothesis/build/styles/ui-playground.css.map +1 -0
- package/BookReader/hypothesis/package.json +126 -0
- package/README.md +0 -2
- package/package.json +6 -1
- package/.eslintrc.cjs +0 -51
- package/.gitattributes +0 -2
- package/.github/ISSUE_TEMPLATE/bug.md +0 -32
- package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
- package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
- package/.github/workflows/node.js.yml +0 -102
- package/.github/workflows/npm-publish.yml +0 -33
- package/.testcaferc.cjs +0 -10
- package/BookReaderDemo/BookReaderDemo.css +0 -40
- package/BookReaderDemo/BookReaderJSAdvanced.js +0 -112
- package/BookReaderDemo/BookReaderJSSimple.js +0 -56
- package/BookReaderDemo/IADemoBr.js +0 -149
- package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
- package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
- package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
- package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
- package/BookReaderDemo/demo-advanced.html +0 -33
- package/BookReaderDemo/demo-embed-iframe-src.html +0 -85
- package/BookReaderDemo/demo-embed.html +0 -26
- package/BookReaderDemo/demo-fullscreen-mobile.html +0 -34
- package/BookReaderDemo/demo-fullscreen.html +0 -31
- package/BookReaderDemo/demo-iiif.html +0 -121
- package/BookReaderDemo/demo-internetarchive.html +0 -271
- package/BookReaderDemo/demo-multiple.html +0 -44
- package/BookReaderDemo/demo-preview-pages.html +0 -1093
- package/BookReaderDemo/demo-simple.html +0 -35
- package/BookReaderDemo/demo-vendor-fullscreen.html +0 -34
- package/BookReaderDemo/ia-multiple-volumes-manifest.js +0 -169
- package/BookReaderDemo/immersion-1up.html +0 -64
- package/BookReaderDemo/immersion-mode.html +0 -33
- package/BookReaderDemo/toggle_controls.html +0 -54
- package/BookReaderDemo/view_mode.html +0 -40
- package/BookReaderDemo/viewmode-cycle.html +0 -40
- package/CHANGELOG.md +0 -1080
- package/CONTRIBUTING.md +0 -7
- package/babel.config.cjs +0 -20
- package/codecov.yml +0 -23
- package/index.html +0 -34
- package/netlify.toml +0 -9
- package/renovate.json +0 -52
- package/screenshot.png +0 -0
- package/scripts/postversion.js +0 -11
- package/scripts/preversion.js +0 -15
- package/scripts/version.js +0 -27
- package/tests/e2e/README.md +0 -112
- package/tests/e2e/autoplay.test.js +0 -16
- package/tests/e2e/base.test.js +0 -27
- package/tests/e2e/helpers/base.js +0 -263
- package/tests/e2e/helpers/debug.js +0 -13
- package/tests/e2e/helpers/mockSearch.js +0 -90
- package/tests/e2e/helpers/params.js +0 -17
- package/tests/e2e/helpers/rightToLeft.js +0 -23
- package/tests/e2e/helpers/search.js +0 -73
- package/tests/e2e/models/BookReader.js +0 -11
- package/tests/e2e/models/Navigation.js +0 -39
- package/tests/e2e/rightToLeft.test.js +0 -19
- package/tests/e2e/viewmode.test.js +0 -44
- package/tests/jest/BookNavigator/book-navigator.test.js +0 -653
- package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +0 -43
- package/tests/jest/BookNavigator/bookmarks/bookmark-edit.test.js +0 -132
- package/tests/jest/BookNavigator/bookmarks/bookmarks-list.test.js +0 -221
- package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +0 -45
- package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +0 -67
- package/tests/jest/BookNavigator/downloads/downloads.test.js +0 -53
- package/tests/jest/BookNavigator/search/search-provider.test.js +0 -179
- package/tests/jest/BookNavigator/search/search-results.test.js +0 -289
- package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +0 -49
- package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +0 -80
- package/tests/jest/BookNavigator/visual-adjustments.test.js +0 -200
- package/tests/jest/BookReader/BookModel.test.js +0 -372
- package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +0 -263
- package/tests/jest/BookReader/ImageCache.test.js +0 -150
- package/tests/jest/BookReader/Mode1UpLit.test.js +0 -73
- package/tests/jest/BookReader/Mode2Up.test.js +0 -98
- package/tests/jest/BookReader/Mode2UpLit.test.js +0 -190
- package/tests/jest/BookReader/ModeCoordinateSpace.test.js +0 -16
- package/tests/jest/BookReader/ModeSmoothZoom.test.js +0 -218
- package/tests/jest/BookReader/ModeThumb.test.js +0 -71
- package/tests/jest/BookReader/Navbar/Navbar.test.js +0 -182
- package/tests/jest/BookReader/PageContainer.test.js +0 -249
- package/tests/jest/BookReader/ReduceSet.test.js +0 -38
- package/tests/jest/BookReader/Toolbar/Toolbar.test.js +0 -26
- package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +0 -59
- package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +0 -49
- package/tests/jest/BookReader/utils/SelectionObserver.test.js +0 -57
- package/tests/jest/BookReader/utils/classes.test.js +0 -88
- package/tests/jest/BookReader/utils.test.js +0 -250
- package/tests/jest/BookReader.keyboard.test.js +0 -190
- package/tests/jest/BookReader.options.test.js +0 -47
- package/tests/jest/BookReader.test.js +0 -316
- package/tests/jest/plugins/plugin.archive_analytics.test.js +0 -20
- package/tests/jest/plugins/plugin.autoplay.test.js +0 -35
- package/tests/jest/plugins/plugin.chapters.test.js +0 -193
- package/tests/jest/plugins/plugin.iframe.test.js +0 -42
- package/tests/jest/plugins/plugin.resume.test.js +0 -85
- package/tests/jest/plugins/plugin.text_selection.test.js +0 -447
- package/tests/jest/plugins/plugin.vendor-fullscreen.test.js +0 -65
- package/tests/jest/plugins/search/plugin.search.test.js +0 -120
- package/tests/jest/plugins/search/plugin.search.view.test.js +0 -131
- package/tests/jest/plugins/search/utils.js +0 -25
- package/tests/jest/plugins/search/utils.test.js +0 -29
- package/tests/jest/plugins/tts/AbstractTTSEngine.test.js +0 -173
- package/tests/jest/plugins/tts/FestivalTTSEngine.test.js +0 -59
- package/tests/jest/plugins/tts/PageChunk.test.js +0 -57
- package/tests/jest/plugins/tts/PageChunkIterator.test.js +0 -179
- package/tests/jest/plugins/tts/WebTTSEngine.test.js +0 -178
- package/tests/jest/plugins/tts/utils.test.js +0 -74
- package/tests/jest/plugins/url/UrlPlugin.test.js +0 -198
- package/tests/jest/plugins/url/plugin.url.test.js +0 -168
- package/tests/jest/setup.js +0 -3
- package/tests/jest/util/browserSniffing.test.js +0 -62
- package/tests/jest/util/docCookies.test.js +0 -24
- package/tests/jest/util/strings.test.js +0 -63
- package/tests/jest/utils.js +0 -83
- package/webpack.config.js +0 -97
@@ -1,24 +0,0 @@
|
|
1
|
-
import * as docCookies from '@/src/util/docCookies.js';
|
2
|
-
|
3
|
-
afterEach(() => {
|
4
|
-
jest.clearAllMocks();
|
5
|
-
});
|
6
|
-
|
7
|
-
describe('Helper function: set and get cookie item', () => {
|
8
|
-
test('set cookie item value', () => {
|
9
|
-
expect(docCookies.setItem('test-cookie', 'jack-sparow')).toBeTruthy();
|
10
|
-
});
|
11
|
-
|
12
|
-
test('get cookie item value', () => {
|
13
|
-
expect(docCookies.getItem('test-cookie')).toEqual('jack-sparow');
|
14
|
-
});
|
15
|
-
});
|
16
|
-
|
17
|
-
describe('isCookiesBlocked', () => {
|
18
|
-
test('return true if cookies are blocked', () => {
|
19
|
-
expect(docCookies.areCookiesBlocked({ get cookie() { throw new Error(); }})).toBeTruthy();
|
20
|
-
});
|
21
|
-
test('return false if cookies are not blocked', () => {
|
22
|
-
expect(docCookies.areCookiesBlocked({ cookie: 'blah' })).toBeFalsy();
|
23
|
-
});
|
24
|
-
});
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import { APPLY_FILTERS, applyVariables } from '@/src/util/strings.js';
|
2
|
-
|
3
|
-
describe('applyVariables', () => {
|
4
|
-
test('null cases', () => {
|
5
|
-
expect(applyVariables(null, {})).toBeUndefined();
|
6
|
-
expect(applyVariables('', {})).toEqual('');
|
7
|
-
expect(applyVariables('', {x: 3})).toEqual('');
|
8
|
-
});
|
9
|
-
|
10
|
-
test('Ignores undefined variables', () => {
|
11
|
-
expect(applyVariables('Hello {{name}}!', {})).toEqual('Hello {{name}}!');
|
12
|
-
});
|
13
|
-
|
14
|
-
test('Replaces multiple instances', () => {
|
15
|
-
expect(applyVariables('Hello {{name}}! How are you doing, {{name}}?', {name: 'Bill'})).toEqual('Hello Bill! How are you doing, Bill?');
|
16
|
-
expect(applyVariables('Hello {{name}}! You are {{age}}, {{name}}', {name: 'Bill', age: 54})).toEqual('Hello Bill! You are 54, Bill');
|
17
|
-
});
|
18
|
-
|
19
|
-
test('Is case sensitive', () => {
|
20
|
-
expect(applyVariables('Hello {{name}}', {NAME: 'Bill'})).toEqual('Hello {{name}}');
|
21
|
-
});
|
22
|
-
|
23
|
-
test('Supports variable names with funny chars', () => {
|
24
|
-
expect(applyVariables('Hello {{first name}}', {'first name': 'Bill'})).toEqual('Hello Bill');
|
25
|
-
});
|
26
|
-
|
27
|
-
test('Overrides do override', () => {
|
28
|
-
expect(applyVariables('Hello {{name}}', {name: 'Bill'}, {name: 'Bobby'})).toEqual('Hello Bobby');
|
29
|
-
});
|
30
|
-
|
31
|
-
test('Nullish values', () => {
|
32
|
-
expect(applyVariables('Hello {{name}}', {name: undefined})).toEqual('Hello undefined');
|
33
|
-
expect(applyVariables('Hello {{name}}', {name: null})).toEqual('Hello null');
|
34
|
-
expect(applyVariables('Hello {{name}}', {name: ''})).toEqual('Hello ');
|
35
|
-
});
|
36
|
-
|
37
|
-
test('Non-string values', () => {
|
38
|
-
expect(applyVariables('Hello {{name}}', {name: 10})).toEqual('Hello 10');
|
39
|
-
expect(applyVariables('Hello {{name}}', {name: 0})).toEqual('Hello 0');
|
40
|
-
});
|
41
|
-
|
42
|
-
test('Filters', () => {
|
43
|
-
expect(applyVariables('Hello {{name|urlencode}}', {name: 'Jim bob'})).toEqual('Hello Jim%20bob');
|
44
|
-
expect(applyVariables('Hello {{name|urlencode}}', {name: 0})).toEqual('Hello 0');
|
45
|
-
expect(applyVariables('Hello {{name|urlencode}}', {})).toEqual('Hello {{name|urlencode}}');
|
46
|
-
});
|
47
|
-
|
48
|
-
test('Custom filters', () => {
|
49
|
-
expect(applyVariables('Hello {{name|upper}}', {name: 'Jim bob'}, {}, {upper: s => s.toUpperCase()})).toEqual('Hello JIM BOB');
|
50
|
-
});
|
51
|
-
|
52
|
-
test('Multiple filters', () => {
|
53
|
-
const filters = Object.assign({}, APPLY_FILTERS, {
|
54
|
-
upper: s => s.toUpperCase(),
|
55
|
-
lower: s => s.toLowerCase(),
|
56
|
-
double: s => s + s,
|
57
|
-
});
|
58
|
-
expect(applyVariables('Hello {{name|upper|urlencode}}', {name: 'Jim bob'}, {}, filters)).toEqual('Hello JIM%20BOB');
|
59
|
-
expect(applyVariables('Hello {{name|upper|lower}}', {name: 'Jim bob'}, {}, filters)).toEqual('Hello jim bob');
|
60
|
-
expect(applyVariables('Hello {{name|lower|upper}}', {name: 'Jim bob'}, {}, filters)).toEqual('Hello JIM BOB');
|
61
|
-
expect(applyVariables('Hello {{name|lower|double}}', {name: 'Jim bob'}, {}, filters)).toEqual('Hello jim bobjim bob');
|
62
|
-
});
|
63
|
-
});
|
package/tests/jest/utils.js
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
// Keep a copy of this, since it can be overridden by sinon timers.
|
2
|
-
const _realTimeout = setTimeout;
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Resolves after all enqueued callbacks in the event loop have resolved.
|
6
|
-
* @return {Promise}
|
7
|
-
*/
|
8
|
-
export function afterEventLoop() {
|
9
|
-
// Waiting 0 seconds essentially lets us run at the end of the event
|
10
|
-
// loop (i.e. after any promises which aren't _actually_ async have finished)
|
11
|
-
return new Promise(res => _realTimeout(res, 0));
|
12
|
-
}
|
13
|
-
|
14
|
-
/**
|
15
|
-
* Event target mixin
|
16
|
-
* @return {EventTarget}
|
17
|
-
*/
|
18
|
-
export function eventTargetMixin() {
|
19
|
-
return {
|
20
|
-
addEventListener(evName, listener) {
|
21
|
-
const listeners = this._listeners[evName] || [];
|
22
|
-
listeners.push(listener);
|
23
|
-
this._listeners[evName] = listeners;
|
24
|
-
},
|
25
|
-
dispatchEvent(evName, ev) {
|
26
|
-
const listeners = this._listeners[evName] || [];
|
27
|
-
listeners.forEach(fn => fn(ev));
|
28
|
-
},
|
29
|
-
removeEventListener(evName, listener) {
|
30
|
-
const listeners = this._listeners[evName] || [];
|
31
|
-
this._listeners[evName] = listeners.filter(fn => fn != listener);
|
32
|
-
},
|
33
|
-
_listeners: {},
|
34
|
-
};
|
35
|
-
}
|
36
|
-
|
37
|
-
/** @implements {EventTarget} */
|
38
|
-
export class EventTargetSpy {
|
39
|
-
/** @type {Record<string, Function[]} */
|
40
|
-
_listeners = {}
|
41
|
-
get _totalListenerCount() {
|
42
|
-
return Object.values(this._listeners)
|
43
|
-
.map(a => a.length)
|
44
|
-
.reduce((a, b) => a + b, 0);
|
45
|
-
}
|
46
|
-
|
47
|
-
addEventListener(evName, listener) {
|
48
|
-
const listeners = this._listeners[evName] || [];
|
49
|
-
listeners.push(listener);
|
50
|
-
this._listeners[evName] = listeners;
|
51
|
-
}
|
52
|
-
|
53
|
-
dispatchEvent(evName, ev) {
|
54
|
-
const listeners = this._listeners[evName] || [];
|
55
|
-
listeners.forEach(fn => fn(ev));
|
56
|
-
}
|
57
|
-
|
58
|
-
removeEventListener(evName, listener) {
|
59
|
-
const listeners = this._listeners[evName] || [];
|
60
|
-
this._listeners[evName] = listeners.filter(fn => fn != listener);
|
61
|
-
}
|
62
|
-
|
63
|
-
/**
|
64
|
-
* @param {EventTarget} realEventTarget
|
65
|
-
*/
|
66
|
-
static wrap(realEventTarget) {
|
67
|
-
const spy = new EventTargetSpy();
|
68
|
-
realEventTarget.addEventListener = spy.addEventListener.bind(spy);
|
69
|
-
realEventTarget.removeEventListener = spy.removeEventListener.bind(spy);
|
70
|
-
realEventTarget.dispatchEvent = spy.dispatchEvent.bind(spy);
|
71
|
-
return spy;
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
/**
|
76
|
-
* Lazy deep copy function; only supports objects (no classes)
|
77
|
-
* @template T
|
78
|
-
* @param {T} obj
|
79
|
-
* @return {T}
|
80
|
-
*/
|
81
|
-
export function deepCopy(obj) {
|
82
|
-
return JSON.parse(JSON.stringify(obj));
|
83
|
-
}
|
package/webpack.config.js
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
// @ts-check
|
2
|
-
import path from 'path';
|
3
|
-
import webpack from 'webpack';
|
4
|
-
import { fileURLToPath } from 'url';
|
5
|
-
|
6
|
-
const __filename = fileURLToPath(import.meta.url);
|
7
|
-
const __dirname = path.dirname(__filename);
|
8
|
-
|
9
|
-
/** @type {webpack.Configuration} */
|
10
|
-
const shared = {
|
11
|
-
mode: 'production',
|
12
|
-
|
13
|
-
watchOptions: {
|
14
|
-
ignored: ['BookReader/**', 'node_modules/**', 'tests/**'],
|
15
|
-
},
|
16
|
-
|
17
|
-
target: ['web', 'es5'],
|
18
|
-
|
19
|
-
module: {
|
20
|
-
rules: [
|
21
|
-
{
|
22
|
-
test: /\.js$/,
|
23
|
-
exclude: /node_modules[/\\](?!(lit-element|lit-html|lit|@lit)[/\\]).*/,
|
24
|
-
loader: "babel-loader",
|
25
|
-
},
|
26
|
-
],
|
27
|
-
},
|
28
|
-
|
29
|
-
output: {
|
30
|
-
filename: '[name]',
|
31
|
-
path: path.resolve(__dirname, 'BookReader'),
|
32
|
-
},
|
33
|
-
};
|
34
|
-
|
35
|
-
/** @type {webpack.Configuration[]} */
|
36
|
-
export default [
|
37
|
-
{
|
38
|
-
...shared,
|
39
|
-
|
40
|
-
// Output file -> srcfile
|
41
|
-
entry: {
|
42
|
-
// Polyfill bundles
|
43
|
-
'webcomponents-bundle.js': { import: '@webcomponents/webcomponentsjs/webcomponents-bundle.js' },
|
44
|
-
|
45
|
-
// BookReader
|
46
|
-
'BookReader.js': './src/BookReader.js',
|
47
|
-
|
48
|
-
// Plugins (sorted!)
|
49
|
-
'plugins/plugin.archive_analytics.js': { import: './src/plugins/plugin.archive_analytics.js', dependOn: 'BookReader.js' },
|
50
|
-
'plugins/plugin.autoplay.js': { import: './src/plugins/plugin.autoplay.js', dependOn: 'BookReader.js' },
|
51
|
-
'plugins/plugin.chapters.js': { import: './src/plugins/plugin.chapters.js', dependOn: 'BookReader.js' },
|
52
|
-
'plugins/plugin.experiments.js': { import: './src/plugins/plugin.experiments.js', dependOn: 'BookReader.js' },
|
53
|
-
'plugins/plugin.iframe.js': { import: './src/plugins/plugin.iframe.js', dependOn: 'BookReader.js' },
|
54
|
-
'plugins/plugin.iiif.js': { import: './src/plugins/plugin.iiif.js', dependOn: 'BookReader.js' },
|
55
|
-
'plugins/plugin.resume.js': { import: './src/plugins/plugin.resume.js', dependOn: 'BookReader.js' },
|
56
|
-
'plugins/plugin.search.js': { import: './src/plugins/search/plugin.search.js', dependOn: 'BookReader.js' },
|
57
|
-
'plugins/plugin.text_selection.js': { import: './src/plugins/plugin.text_selection.js', dependOn: 'BookReader.js' },
|
58
|
-
'plugins/plugin.tts.js': { import: './src/plugins/tts/plugin.tts.js', dependOn: 'BookReader.js' },
|
59
|
-
'plugins/plugin.url.js': { import: './src/plugins/url/plugin.url.js', dependOn: 'BookReader.js' },
|
60
|
-
'plugins/plugin.vendor-fullscreen.js': { import: './src/plugins/plugin.vendor-fullscreen.js', dependOn: 'BookReader.js' },
|
61
|
-
'ia-bookreader-bundle.js': { import: './src/ia-bookreader/ia-bookreader.js', dependOn: 'BookReader.js' },
|
62
|
-
},
|
63
|
-
|
64
|
-
externals: {
|
65
|
-
// Anytime 'jquery' is imported, use the at runtime globally defined jQuery
|
66
|
-
// instead of bundling a copy of jquery at compile-time.
|
67
|
-
jquery: 'jQuery',
|
68
|
-
},
|
69
|
-
plugins: [
|
70
|
-
new webpack.ProvidePlugin({
|
71
|
-
// Make $ and jQuery available without importing
|
72
|
-
$: 'jquery',
|
73
|
-
jQuery: 'jquery',
|
74
|
-
}),
|
75
|
-
],
|
76
|
-
|
77
|
-
output: {
|
78
|
-
filename: '[name]',
|
79
|
-
path: path.resolve(__dirname, 'BookReader'),
|
80
|
-
},
|
81
|
-
|
82
|
-
// Accurate source maps at the expense of build time.
|
83
|
-
// The source map is intentionally exposed
|
84
|
-
// to users via sourceMapFilename for prod debugging.
|
85
|
-
devtool: 'source-map',
|
86
|
-
},
|
87
|
-
|
88
|
-
// jQuery gets its own build, so that it can be used as an "external" in
|
89
|
-
// everything else.
|
90
|
-
{
|
91
|
-
...shared,
|
92
|
-
|
93
|
-
entry: {
|
94
|
-
'jquery-3.js': { import: './src/jquery-wrapper.js' },
|
95
|
-
},
|
96
|
-
},
|
97
|
-
];
|