@internetarchive/bookreader 5.0.0-35 → 5.0.0-38

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.
Files changed (80) hide show
  1. package/.eslintrc.js +1 -11
  2. package/.github/workflows/node.js.yml +69 -7
  3. package/.github/workflows/npm-publish.yml +2 -16
  4. package/BookReader/BookReader.js +1 -1
  5. package/BookReader/BookReader.js.LICENSE.txt +8 -29
  6. package/BookReader/BookReader.js.map +1 -1
  7. package/BookReader/ia-bookreader-bundle.js +100 -99
  8. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +15 -12
  9. package/BookReader/ia-bookreader-bundle.js.map +1 -1
  10. package/BookReader/plugins/plugin.chapters.js +1 -1
  11. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  12. package/BookReader/plugins/plugin.search.js +1 -1
  13. package/BookReader/plugins/plugin.search.js.map +1 -1
  14. package/BookReader/plugins/plugin.text_selection.js +1 -1
  15. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  16. package/BookReader/plugins/plugin.tts.js +1 -1
  17. package/BookReader/plugins/plugin.tts.js.map +1 -1
  18. package/CHANGELOG.md +28 -0
  19. package/README.md +1 -1
  20. package/codecov.yml +6 -0
  21. package/package.json +18 -21
  22. package/renovate.json +43 -0
  23. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  24. package/src/BookNavigator/assets/button-base.js +1 -1
  25. package/src/BookNavigator/assets/ia-logo.js +1 -1
  26. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  27. package/src/BookNavigator/assets/icon_close.js +1 -1
  28. package/src/BookNavigator/assets/icon_sort_asc.js +1 -1
  29. package/src/BookNavigator/assets/icon_sort_desc.js +1 -1
  30. package/src/BookNavigator/assets/icon_sort_neutral.js +1 -1
  31. package/src/BookNavigator/assets/icon_volumes.js +1 -1
  32. package/src/BookNavigator/book-navigator.js +8 -3
  33. package/src/BookNavigator/bookmarks/bookmark-button.js +1 -1
  34. package/src/BookNavigator/bookmarks/bookmark-edit.js +2 -3
  35. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  36. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +1 -1
  37. package/src/BookNavigator/bookmarks/bookmarks-provider.js +1 -1
  38. package/src/BookNavigator/bookmarks/ia-bookmarks.js +30 -34
  39. package/src/BookNavigator/delete-modal-actions.js +1 -1
  40. package/src/BookNavigator/downloads/downloads-provider.js +1 -1
  41. package/src/BookNavigator/downloads/downloads.js +1 -2
  42. package/src/BookNavigator/search/a-search-result.js +2 -3
  43. package/src/BookNavigator/search/search-provider.js +3 -4
  44. package/src/BookNavigator/search/search-results.js +1 -2
  45. package/src/BookNavigator/sharing.js +1 -1
  46. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +1 -1
  47. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  48. package/src/BookNavigator/volumes/volumes-provider.js +1 -1
  49. package/src/BookNavigator/volumes/volumes.js +2 -3
  50. package/src/BookReader/Mode1Up.js +2 -1
  51. package/src/BookReader/Mode1UpLit.js +3 -2
  52. package/src/BookReader.js +59 -57
  53. package/src/ia-bookreader/ia-bookreader.js +5 -2
  54. package/src/plugins/plugin.chapters.js +11 -15
  55. package/src/plugins/plugin.text_selection.js +9 -10
  56. package/src/plugins/search/plugin.search.js +8 -18
  57. package/src/plugins/search/view.js +2 -0
  58. package/src/plugins/tts/AbstractTTSEngine.js +40 -38
  59. package/src/plugins/tts/FestivalTTSEngine.js +10 -11
  60. package/src/plugins/tts/PageChunk.js +11 -20
  61. package/src/plugins/tts/PageChunkIterator.js +8 -12
  62. package/src/plugins/tts/WebTTSEngine.js +59 -68
  63. package/src/plugins/tts/plugin.tts.js +16 -10
  64. package/stat/BookNavigator/BookNavigator.js +42 -0
  65. package/tests/e2e/base.test.js +2 -0
  66. package/tests/e2e/helpers/desktopSearch.js +13 -12
  67. package/tests/e2e/helpers/params.js +1 -1
  68. package/tests/e2e/models/Navigation.js +12 -3
  69. package/tests/e2e/rightToLeft.test.js +1 -1
  70. package/tests/e2e/viewmode.test.js +42 -36
  71. package/tests/jest/BookReader/Mode1UpLit.test.js +2 -1
  72. package/tests/jest/plugins/plugin.text_selection.test.js +25 -23
  73. package/tests/jest/plugins/search/plugin.search.test.js +12 -20
  74. package/tests/jest/plugins/tts/AbstractTTSEngine.test.js +3 -3
  75. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +2 -2
  76. package/tests/karma/BookNavigator/downloads/downloads.test.js +1 -1
  77. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +3 -3
  78. package/webpack.config.js +1 -1
  79. package/.github/dependabot.yml +0 -8
  80. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
package/.eslintrc.js CHANGED
@@ -47,15 +47,5 @@ module.exports = {
47
47
  "prefer-const": ["error"],
48
48
  "space-infix-ops": ["error", { "int32Hint": false }],
49
49
  "eol-last": ["error", "always"]
50
- },
51
- "overrides": [
52
- { // TODO; these should be cleaned up as well
53
- "files": [
54
- "src/BookReader.js"
55
- ],
56
- "rules": {
57
- "no-var": ["off"],
58
- }
59
- },
60
- ],
50
+ }
61
51
  };
@@ -10,28 +10,90 @@ on:
10
10
  branches: [ master ]
11
11
 
12
12
  jobs:
13
- build:
13
+ install:
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
17
17
  - uses: actions/checkout@v2
18
18
  - uses: actions/setup-node@v1
19
19
  with:
20
- node-version: 14.x
21
- - uses: actions/cache@v2
20
+ node-version: 16.x
21
+ - name: Cache node_modules
22
+ uses: actions/cache@v2
23
+ id: cache
22
24
  with:
23
25
  # Caching node_modules isn't recommended because it can break across
24
26
  # Node versions and won't work with npm ci (See https://github.com/actions/cache/blob/main/examples.md#node---npm )
25
- # But we pin the node version, and we don't update it that often anyways. And
27
+ # But we pin the node version, and we don't update it that often anyways. And
26
28
  # we don't use `npm ci` specifically to try to get faster CI flows. So caching
27
29
  # `node_modules` directly.
28
30
  path: 'node_modules'
29
- key: ${{ runner.os }}-node-${{ hashFiles('package*.json') }}
30
- - run: npm install
31
- - run: npm run build
31
+ key: ${{ runner.os }}-node-16-${{ hashFiles('package*.json') }}
32
+ - if: steps.cache.outputs.cache-hit != 'true'
33
+ run: npm install
34
+
35
+ build:
36
+ needs: install
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v2
40
+ - uses: actions/setup-node@v1
41
+ with:
42
+ node-version: 16.x
43
+ - name: Load node_modules from cache
44
+ uses: actions/cache@v2
45
+ with:
46
+ # Use node_modules from previous jobs
47
+ path: 'node_modules'
48
+ key: ${{ runner.os }}-node-16-${{ hashFiles('package*.json') }}
49
+ - name: Cache BookReader/
50
+ uses: actions/cache@v2
51
+ id: build-cache
52
+ with:
53
+ # Cache the build files so we don't have to build twice for e2e tests
54
+ path: 'BookReader'
55
+ key: ${{ runner.os }}-${{ github.sha }}
56
+ - if: steps.build-cache.outputs.cache-hit != 'true'
57
+ run: npm run build
58
+
59
+ tests:
60
+ needs: install
61
+ runs-on: ubuntu-latest
62
+ steps:
63
+ - uses: actions/checkout@v2
64
+ - uses: actions/setup-node@v1
65
+ with:
66
+ node-version: 16.x
67
+ - name: Load node_modules from cache
68
+ uses: actions/cache@v2
69
+ with:
70
+ # Use node_modules from previous jobs
71
+ path: 'node_modules'
72
+ key: ${{ runner.os }}-node-16-${{ hashFiles('package*.json') }}
32
73
  - run: npm run lint
33
74
  - run: npm run test
34
75
  - run: npm run codecov
76
+
77
+ e2e-tests:
78
+ needs: build
79
+ runs-on: ubuntu-latest
80
+ steps:
81
+ - uses: actions/checkout@v2
82
+ - uses: actions/setup-node@v1
83
+ with:
84
+ node-version: 16.x
85
+ - name: Load node_modules from cache
86
+ uses: actions/cache@v2
87
+ with:
88
+ # Use node_modules from previous jobs
89
+ path: 'node_modules'
90
+ key: ${{ runner.os }}-node-16-${{ hashFiles('package*.json') }}
91
+ - name: Load BookReader/ from cache
92
+ uses: actions/cache@v2
93
+ with:
94
+ # Cache the build files so we don't have to build twice for e2e tests
95
+ path: 'BookReader'
96
+ key: ${{ runner.os }}-${{ github.sha }}
35
97
  # Travis machines usually have 2 cores (see https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system )
36
98
  # Quarantine mode (sigh) to catch unstable tests (see https://devexpress.github.io/testcafe/documentation/guides/basic-guides/run-tests.html#quarantine-mode )
37
99
  - run: npx testcafe --concurrency 2 --quarantine-mode
@@ -14,7 +14,7 @@ jobs:
14
14
  - uses: actions/checkout@v2
15
15
  - uses: actions/setup-node@v2
16
16
  with:
17
- node-version: 14
17
+ node-version: 16
18
18
  - run: npm ci
19
19
  - run: npm test
20
20
 
@@ -25,23 +25,9 @@ jobs:
25
25
  - uses: actions/checkout@v2
26
26
  - uses: actions/setup-node@v2
27
27
  with:
28
- node-version: 14
28
+ node-version: 16
29
29
  registry-url: https://registry.npmjs.org/
30
30
  - run: npm ci
31
31
  - run: npm publish --tag next
32
32
  env:
33
33
  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
34
-
35
- publish-gpr:
36
- needs: build
37
- runs-on: ubuntu-latest
38
- steps:
39
- - uses: actions/checkout@v2
40
- - uses: actions/setup-node@v2
41
- with:
42
- node-version: 14
43
- registry-url: https://npm.pkg.github.com/
44
- - run: npm ci
45
- - run: npm publish --tag next
46
- env:
47
- NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}