@internetarchive/bookreader 5.0.0-35 → 5.0.0-38

Sign up to get free protection for your applications and to get access to all the features.
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}}