@internetarchive/ia-item-navigator 2.1.2 → 2.1.3

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 (41) hide show
  1. package/.github/workflows/ci.yml +8 -7
  2. package/.github/workflows/gh-pages-main.yml +8 -8
  3. package/.github/workflows/pr-preview.yml +31 -6
  4. package/README.md +9 -9
  5. package/demo/app-root.ts +8 -9
  6. package/demo/index.html +0 -4
  7. package/dist/demo/app-root.d.ts +1 -1
  8. package/dist/demo/app-root.js +4 -8
  9. package/dist/demo/app-root.js.map +1 -1
  10. package/dist/src/iaux-item-navigator.d.ts +2 -2
  11. package/dist/src/iaux-item-navigator.js +2 -1
  12. package/dist/src/iaux-item-navigator.js.map +1 -1
  13. package/dist/src/interfaces/custom-theater-interface.d.ts +1 -1
  14. package/dist/src/interfaces/custom-theater-interface.js.map +1 -1
  15. package/dist/src/interfaces/menu-interfaces.d.ts +1 -1
  16. package/dist/src/interfaces/menu-interfaces.js.map +1 -1
  17. package/dist/src/loader.js +0 -1
  18. package/dist/src/loader.js.map +1 -1
  19. package/dist/src/menus/share-panel.js +0 -2
  20. package/dist/src/menus/share-panel.js.map +1 -1
  21. package/dist/src/menus/viewable-files.js +0 -2
  22. package/dist/src/menus/viewable-files.js.map +1 -1
  23. package/dist/test/ia-stub.d.ts +3 -2
  24. package/dist/test/ia-stub.js +2 -1
  25. package/dist/test/ia-stub.js.map +1 -1
  26. package/dist/test/iaux-item-navigator.test.js +0 -1
  27. package/dist/test/iaux-item-navigator.test.js.map +1 -1
  28. package/dist/test/no-theater-available.test.js +0 -1
  29. package/dist/test/no-theater-available.test.js.map +1 -1
  30. package/eslint.config.mjs +53 -0
  31. package/package.json +38 -69
  32. package/src/iaux-item-navigator.ts +3 -2
  33. package/src/interfaces/custom-theater-interface.ts +1 -1
  34. package/src/interfaces/menu-interfaces.ts +1 -1
  35. package/src/loader.ts +0 -1
  36. package/src/menus/share-panel.ts +0 -2
  37. package/src/menus/viewable-files.ts +0 -2
  38. package/test/ia-stub.ts +5 -6
  39. package/test/iaux-item-navigator.test.ts +0 -1
  40. package/test/no-theater-available.test.ts +0 -1
  41. package/web-test-runner.config.mjs +3 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/ia-item-navigator",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "Internet Archive's Item Navigator, visually explore an item's contents.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,14 +18,14 @@
18
18
  "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
19
19
  "build": "tsc",
20
20
  "prepare": "rimraf dist && tsc && husky install",
21
- "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
22
- "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
21
+ "lint": "eslint --ext .ts,.html . && prettier \"**/*.ts\" --check ",
22
+ "format": "eslint --ext .ts,.html . --fix && prettier \"**/*.ts\" --write",
23
23
  "circular": "madge --circular --extensions ts .",
24
- "test": "tsc && yarn run lint && yarn run circular && wtr --coverage",
24
+ "test": "tsc && npm run lint && npm run circular && wtr --coverage",
25
25
  "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
26
- "ghpages:build": "rimraf ghpages && yarn run prepare && vite build",
27
- "ghpages:publish": "yarn run ghpages:prepare -e $(git branch --show-current)",
28
- "ghpages:prepare": "yarn run ghpages:build && touch ghpages/.nojekyll && yarn run ghpages:generate",
26
+ "ghpages:build": "rimraf ghpages && npm run prepare && vite build",
27
+ "ghpages:publish": "npm run ghpages:prepare -e $(git branch --show-current)",
28
+ "ghpages:prepare": "npm run ghpages:build && touch ghpages/.nojekyll && npm run ghpages:generate",
29
29
  "ghpages:generate": "gh-pages -t -d ghpages -m \"Build for $(git log --pretty=format:\"%h %an %ai %s\" -n1) [skip ci]\""
30
30
  },
31
31
  "dependencies": {
@@ -39,71 +39,40 @@
39
39
  "@internetarchive/icon-tumblr": "^1.3.4",
40
40
  "@internetarchive/icon-twitter": "^1.3.4",
41
41
  "@internetarchive/icon-visual-adjustment": "^1.3.4",
42
- "@internetarchive/modal-manager": "^0.2.7",
43
- "@internetarchive/search-service": "^0.1.2",
44
- "@internetarchive/shared-resize-observer": "^0.0.1",
45
- "@types/resize-observer-browser": "^0.1.6",
42
+ "@internetarchive/metadata-service": "^1.0.3",
43
+ "@internetarchive/modal-manager": "^2.0.1",
44
+ "@internetarchive/shared-resize-observer": "^0.2.0",
46
45
  "lit": "^2.8.0"
47
46
  },
48
47
  "devDependencies": {
49
- "@babel/core": "^7.11.0",
50
- "@open-wc/eslint-config": "^12.0.0",
51
- "@open-wc/testing": "^3.2.0",
52
- "@types/mocha": "^10.0.1",
53
- "@typescript-eslint/eslint-plugin": "^6.5.0",
54
- "@typescript-eslint/parser": "^6.5.0",
55
- "@web/dev-server": "^0.3.1",
56
- "@web/test-runner": "^0.17.1",
57
- "concurrently": "^8.2.1",
58
- "eslint": "^8.48.0",
59
- "eslint-config-prettier": "^9.0.0",
60
- "eslint-plugin-html": "^7.1.0",
61
- "eslint-plugin-import": "^2.26.0",
62
- "eslint-plugin-lit": "^1.3.0",
63
- "eslint-plugin-lit-a11y": "^4.0.0",
64
- "eslint-plugin-no-only-tests": "^3.1.0",
65
- "eslint-plugin-wc": "^1.2.0",
66
- "gh-pages": "^5.0.0",
67
- "husky": "^8.0.3",
68
- "lint-staged": "^14.0.1",
69
- "madge": "^6.1.0",
70
- "prettier": "^3.0.3",
71
- "rimraf": "^4.0.0",
72
- "sinon": "^15.2.0",
73
- "tslib": "^2.6.2",
74
- "typescript": "^5.2.2",
75
- "vite": "^4.0.0"
76
- },
77
- "eslintConfig": {
78
- "parser": "@typescript-eslint/parser",
79
- "extends": [
80
- "@open-wc",
81
- "prettier"
82
- ],
83
- "plugins": [
84
- "@typescript-eslint"
85
- ],
86
- "rules": {
87
- "no-unused-vars": "off",
88
- "@typescript-eslint/no-unused-vars": [
89
- "error"
90
- ],
91
- "no-shadow": "off",
92
- "@typescript-eslint/no-shadow": [
93
- "error"
94
- ],
95
- "class-methods-use-this": "off",
96
- "import/no-unresolved": "off",
97
- "import/extensions": [
98
- "off",
99
- "ignorePackages",
100
- {
101
- "js": "never",
102
- "ts": "never"
103
- }
104
- ],
105
- "import/no-duplicates": "off"
106
- }
48
+ "@internetarchive/iaux-item-metadata": "^1.0.4",
49
+ "@open-wc/eslint-config": "^12.0.3",
50
+ "@open-wc/testing": "^4.0.0",
51
+ "@types/mocha": "^10.0.10",
52
+ "@types/resize-observer-browser": "^0.1.11",
53
+ "@typescript-eslint/eslint-plugin": "^8.19.1",
54
+ "@typescript-eslint/parser": "^8.19.1",
55
+ "@web/dev-server": "^0.4.6",
56
+ "@web/test-runner": "^0.20.0",
57
+ "concurrently": "^9.1.2",
58
+ "eslint": "^9.17.0",
59
+ "eslint-config-prettier": "^10.1.1",
60
+ "eslint-plugin-html": "^8.1.2",
61
+ "eslint-plugin-import": "^2.31.0",
62
+ "eslint-plugin-lit": "^1.15.0",
63
+ "eslint-plugin-lit-a11y": "^4.1.4",
64
+ "eslint-plugin-no-only-tests": "^3.3.0",
65
+ "eslint-plugin-wc": "^2.2.0",
66
+ "gh-pages": "^6.3.0",
67
+ "husky": "^9.1.7",
68
+ "madge": "^8.0.0",
69
+ "prettier": "^3.4.2",
70
+ "rimraf": "^6.0.1",
71
+ "sinon": "^19.0.2",
72
+ "ts-lit-plugin": "^2.0.2",
73
+ "tslib": "^2.8.1",
74
+ "typescript": "^5.7.2",
75
+ "vite": "^6.2.1"
107
76
  },
108
77
  "prettier": {
109
78
  "singleQuote": true,
@@ -8,7 +8,7 @@ import {
8
8
  nothing,
9
9
  } from 'lit';
10
10
  import { customElement, property, state, query } from 'lit/decorators.js';
11
- import { MetadataResponse } from '@internetarchive/search-service';
11
+ import { MetadataResponse } from '@internetarchive/metadata-service';
12
12
  import {
13
13
  SharedResizeObserver,
14
14
  SharedResizeObserverResizeHandlerInterface,
@@ -51,7 +51,7 @@ export class ItemNavigator
51
51
  })
52
52
  item?: MetadataResponse;
53
53
 
54
- @property({ type: Boolean, reflect: true }) viewAvailable: Boolean = true;
54
+ @property({ type: Boolean, reflect: true }) viewAvailable: boolean = true;
55
55
 
56
56
  @property({ type: String }) baseHost = 'archive.org';
57
57
 
@@ -84,6 +84,7 @@ export class ItemNavigator
84
84
  @query('slot[name="main"]') private mainSlot!: HTMLSlotElement;
85
85
 
86
86
  disconnectedCallback() {
87
+ super.disconnectedCallback();
87
88
  this.removeResizeObserver();
88
89
  }
89
90
 
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- import { MetadataResponse } from '@internetarchive/search-service';
2
+ import { MetadataResponse } from '@internetarchive/metadata-service';
3
3
  import { ModalManager } from '@internetarchive/modal-manager';
4
4
  import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
5
5
  import {
@@ -1,5 +1,5 @@
1
1
  import { TemplateResult } from 'lit';
2
- import { MetadataResponse } from '@internetarchive/search-service';
2
+ import { MetadataResponse } from '@internetarchive/metadata-service';
3
3
 
4
4
  export type MenuId = string;
5
5
  export interface MenuShortcutInterface {
package/src/loader.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable class-methods-use-this */
2
1
  import { css, html, LitElement, svg, nothing } from 'lit';
3
2
  import { customElement, property } from 'lit/decorators.js';
4
3
 
@@ -1,5 +1,3 @@
1
- /* eslint-disable lit-a11y/click-events-have-key-events */
2
- /* eslint-disable lit-a11y/list */
3
1
  import {
4
2
  css,
5
3
  CSSResult,
@@ -1,5 +1,3 @@
1
- /* eslint-disable max-classes-per-file */
2
- /* eslint-disable lit-a11y/list */
3
1
  import { css, html, LitElement, nothing, TemplateResult } from 'lit';
4
2
  import { customElement, property } from 'lit/decorators.js';
5
3
  import { repeat } from 'lit/directives/repeat.js';
package/test/ia-stub.ts CHANGED
@@ -1,15 +1,14 @@
1
- /* eslint-disable camelcase */
1
+ import { Metadata } from '@internetarchive/iaux-item-metadata';
2
2
  import {
3
- MetadataResponse,
4
- Metadata,
5
3
  File,
4
+ MetadataResponse,
6
5
  Review,
7
6
  SpeechMusicASREntry,
8
- } from '@internetarchive/search-service';
7
+ } from '@internetarchive/metadata-service';
9
8
  import { html } from 'lit';
10
9
  import {
11
- MenuShortcutInterface,
12
10
  MenuProviderInterface,
11
+ MenuShortcutInterface,
13
12
  } from '../src/interfaces/menu-interfaces';
14
13
 
15
14
  export class ItemStub implements MetadataResponse {
@@ -23,7 +22,7 @@ export class ItemStub implements MetadataResponse {
23
22
  this.files_count = 0;
24
23
  this.item_last_updated = 2020;
25
24
  this.item_size = 111;
26
- this.metadata = { identifier: 'foo' } as Metadata;
25
+ this.metadata = new Metadata({ identifier: 'foo' });
27
26
  this.server = 'foo-server';
28
27
  this.uniq = 2;
29
28
  this.workable_servers = ['abc'];
@@ -1,4 +1,3 @@
1
- /* eslint-disable camelcase */
2
1
  import { html, fixture, expect } from '@open-wc/testing';
3
2
  import Sinon from 'sinon';
4
3
 
@@ -11,7 +11,6 @@ describe('IANoTheaterAvailable', () => {
11
11
  );
12
12
  let eventFired = false;
13
13
  el.addEventListener('loadingStateUpdated', () => {
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
14
  eventFired = true;
16
15
  });
17
16
  expect(eventFired).to.be.false;
@@ -3,6 +3,9 @@
3
3
  export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
4
4
  files: 'dist/test/**/*.test.js',
5
5
  nodeResolve: true,
6
+ coverageConfig: {
7
+ exclude: ['./dist/test/**/*', './node_modules/**/*'],
8
+ },
6
9
 
7
10
  /** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
8
11
  // esbuildTarget: 'auto',