@schemastore/webextension 0.0.4 → 0.0.10

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 (4) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/index.d.ts +117 -101
  4. package/package.json +4 -4
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Florian Keller. All rights reserved.
3
+ Copyright (c) Florian Imdahl. All rights reserved.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
  This package contains type definitions for webextension.
6
6
 
7
7
  ## Details
8
- Files were exported from https://github.com/ffflorian/schemastore-updater/tree/master/schemas/webextension.
8
+ Files were exported from https://github.com/ffflorian/schemastore-updater/tree/main/schemas/webextension.
9
9
 
10
10
  ## Additional Details
11
- * Last updated: Mon, Jul 29, 2019, 11:30:14 GMT
11
+ * Last updated: Mon, Jan 23, 2023, 19:39:48 GMT
12
12
  * Dependencies: none
package/index.d.ts CHANGED
@@ -1,21 +1,75 @@
1
- /* tslint:disable */
1
+ /* eslint-disable */
2
2
  /**
3
3
  * This file was automatically generated by json-schema-to-typescript.
4
4
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
7
 
8
- export type Icon =
8
+ export type Icon = {
9
+ /**
10
+ * This interface was referenced by `undefined`'s JSON-Schema definition
11
+ * via the `patternProperty` "^[1-9]\d*$".
12
+ *
13
+ * This interface was referenced by `undefined`'s JSON-Schema definition
14
+ * via the `patternProperty` "^[1-9]\d*$".
15
+ */
16
+ [k: string]: string;
17
+ } & Icon1;
18
+ export type Icon1 =
9
19
  | string
10
20
  | {
11
- [k: string]: any;
21
+ /**
22
+ * This interface was referenced by `undefined`'s JSON-Schema definition
23
+ * via the `patternProperty` "^[1-9]\d*$".
24
+ *
25
+ * This interface was referenced by `undefined`'s JSON-Schema definition
26
+ * via the `patternProperty` "^[1-9]\d*$".
27
+ */
28
+ [k: string]: string;
12
29
  };
13
30
  export type MatchPattern = string;
31
+ /**
32
+ * The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.
33
+ */
34
+ export type Scripts = string[];
14
35
  export type GlobPattern = string;
15
36
  /**
16
37
  * This introduces some fairly strict policies that will make extensions more secure by default, and provides you with the ability to create and enforce rules governing the types of content that can be loaded and executed by your extensions and applications.
17
38
  */
18
39
  export type ContentSecurityPolicy = string;
40
+ /**
41
+ * Permissions help to limit damage if your extension or app is compromised by malware. Some permissions are also displayed to users before installation, as detailed in Permission Warnings.
42
+ */
43
+ export type Permissions = (
44
+ | string
45
+ | (
46
+ | "<all_urls>"
47
+ | "activeTab"
48
+ | "alarms"
49
+ | "bookmarks"
50
+ | "browsingData"
51
+ | "contextMenus"
52
+ | "contextualIdentities"
53
+ | "cookies"
54
+ | "downloads"
55
+ | "downloads.open"
56
+ | "geolocation"
57
+ | "history"
58
+ | "identity"
59
+ | "idle"
60
+ | "management"
61
+ | "nativeMessaging"
62
+ | "notifications"
63
+ | "proxy"
64
+ | "sessions"
65
+ | "storage"
66
+ | "tabs"
67
+ | "topSites"
68
+ | "webNavigation"
69
+ | "webRequest"
70
+ | "webRequestBlocking"
71
+ )
72
+ )[];
19
73
 
20
74
  export interface JSONSchemaForWebExtensionsManifestFiles {
21
75
  /**
@@ -39,9 +93,9 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
39
93
  * Link to an add-on update manifest. (Requires Gecko 45)
40
94
  */
41
95
  update_url?: string;
42
- [k: string]: any;
96
+ [k: string]: unknown;
43
97
  };
44
- [k: string]: any;
98
+ [k: string]: unknown;
45
99
  };
46
100
  /**
47
101
  * "The extension's author, intended for display in the browser's user interface. If the developer key is supplied and it contains the "name" property, it will override the author key. There's no way to specify multiple authors."
@@ -63,27 +117,12 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
63
117
  * A background page will be generated by the extension system that includes each of the files listed in the scripts property.
64
118
  */
65
119
  scripts?: string[];
66
- [k: string]: any;
120
+ [k: string]: unknown;
67
121
  };
68
122
  /**
69
123
  * browser action is a button that your extension adds to the browser's toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.
70
124
  */
71
- browser_action?: {
72
- /**
73
- * Use this to include a stylesheet in your popup that will make it look consistent with the browser's UI and with other add-ons that use the browser_style property. Although this key defaults to false, it's recommended that you include it and set it to true.
74
- */
75
- browser_style?: boolean;
76
- default_icon?: Icon;
77
- /**
78
- * The popup appears when the user clicks the icon.
79
- */
80
- default_popup?: string;
81
- /**
82
- * Tooltip for the main toolbar icon.
83
- */
84
- default_title?: string;
85
- [k: string]: any;
86
- };
125
+ browser_action?: PageAction;
87
126
  /**
88
127
  * Use the chrome_settings_overrides key to override certain browser settings
89
128
  */
@@ -92,7 +131,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
92
131
  * Defines the page to be used as the browser's homepage.
93
132
  */
94
133
  homepage?: string;
95
- [k: string]: any;
134
+ [k: string]: unknown;
96
135
  };
97
136
  /**
98
137
  * Use the chrome_url_overrides key to provide a custom replacement for the documents loaded into various special pages usually provided by the browser itself.
@@ -110,7 +149,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
110
149
  * Provide a replacement for the document that's shown in the "new tab" page
111
150
  */
112
151
  newtab?: string;
113
- [k: string]: any;
152
+ [k: string]: unknown;
114
153
  };
115
154
  /**
116
155
  * Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open the browser action or send a command to the extension.
@@ -123,13 +162,17 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
123
162
  };
124
163
  /**
125
164
  * Content scripts are JavaScript files that run in the context of web pages.
165
+ *
166
+ * @minItems 1
126
167
  */
127
168
  content_scripts?: [
128
169
  {
129
170
  /**
130
171
  * Specifies which pages this content script will be injected into.
172
+ *
173
+ * @minItems 1
131
174
  */
132
- matches: [MatchPattern, ...(MatchPattern)[]];
175
+ matches: [MatchPattern, ...MatchPattern[]];
133
176
  /**
134
177
  * Excludes pages that this content script would otherwise be injected into.
135
178
  */
@@ -138,10 +181,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
138
181
  * The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.
139
182
  */
140
183
  css?: string[];
141
- /**
142
- * The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.
143
- */
144
- js?: string[];
184
+ js?: Scripts;
145
185
  /**
146
186
  * Controls when the files in js are injected.
147
187
  */
@@ -163,11 +203,13 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
163
203
  */
164
204
  match_about_blank?: boolean;
165
205
  },
166
- ...({
206
+ ...{
167
207
  /**
168
208
  * Specifies which pages this content script will be injected into.
209
+ *
210
+ * @minItems 1
169
211
  */
170
- matches: [MatchPattern, ...(MatchPattern)[]];
212
+ matches: [MatchPattern, ...MatchPattern[]];
171
213
  /**
172
214
  * Excludes pages that this content script would otherwise be injected into.
173
215
  */
@@ -176,10 +218,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
176
218
  * The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.
177
219
  */
178
220
  css?: string[];
179
- /**
180
- * The list of JavaScript files to be injected into matching pages. These are injected in the order they appear in this array.
181
- */
182
- js?: string[];
221
+ js?: Scripts;
183
222
  /**
184
223
  * Controls when the files in js are injected.
185
224
  */
@@ -200,7 +239,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
200
239
  * Whether to insert the content script on about:blank and about:srcdoc.
201
240
  */
202
241
  match_about_blank?: boolean;
203
- })[]
242
+ }[]
204
243
  ];
205
244
  content_security_policy?: ContentSecurityPolicy;
206
245
  /**
@@ -217,12 +256,15 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
217
256
  developer?: {
218
257
  name?: string;
219
258
  url?: string;
220
- [k: string]: any;
259
+ [k: string]: unknown;
221
260
  };
222
261
  /**
223
262
  * A DevTools extension adds functionality to the Chrome DevTools. It can add new UI panels and sidebars, interact with the inspected page, get information about network requests, and more.
224
263
  */
225
264
  devtools_page?: string;
265
+ experiment_apis?: {
266
+ [k: string]: unknown;
267
+ };
226
268
  /**
227
269
  * The URL of the homepage for this add-on. The add-on management page will contain a link to this URL.
228
270
  */
@@ -254,10 +296,10 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
254
296
  */
255
297
  omnibox?: {
256
298
  /**
257
- * The keyward that will trigger your extension.
299
+ * The keyword that will trigger your extension.
258
300
  */
259
301
  keyword: string;
260
- [k: string]: any;
302
+ [k: string]: unknown;
261
303
  };
262
304
  /**
263
305
  * Use the optional_permissions key to list permissions which you want to ask for at runtime, after your add-on has been installed.
@@ -284,7 +326,9 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
284
326
  | "topSites"
285
327
  | "webNavigation"
286
328
  | "webRequest"
287
- | "webRequestBlocking"))[];
329
+ | "webRequestBlocking"
330
+ )
331
+ )[];
288
332
  /**
289
333
  * Use the options_ui key to define an options page for your add-on.
290
334
  */
@@ -301,58 +345,10 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
301
345
  * If true, the options page will open in a normal browser tab, rather than being integrated into the browser's add-ons manager.
302
346
  */
303
347
  open_in_tab?: boolean;
304
- [k: string]: any;
348
+ [k: string]: unknown;
305
349
  };
306
- /**
307
- * Use the chrome.pageAction API to put icons inside the address bar. Page actions represent actions that can be taken on the current page, but that aren't applicable to all pages.
308
- */
309
- page_action?: {
310
- /**
311
- * Use this to include a stylesheet in your popup that will make it look consistent with the browser's UI and with other add-ons that use the browser_style property. Although this key defaults to false, it's recommended that you include it and set it to true.
312
- */
313
- browser_style?: boolean;
314
- default_icon?: Icon;
315
- /**
316
- * The popup appears when the user clicks the icon.
317
- */
318
- default_popup?: string;
319
- /**
320
- * Tooltip for the main toolbar icon.
321
- */
322
- default_title?: string;
323
- [k: string]: any;
324
- };
325
- /**
326
- * Permissions help to limit damage if your extension or app is compromised by malware. Some permissions are also displayed to users before installation, as detailed in Permission Warnings.
327
- */
328
- permissions?: (
329
- | string
330
- | (
331
- | "<all_urls>"
332
- | "activeTab"
333
- | "alarms"
334
- | "bookmarks"
335
- | "browsingData"
336
- | "contextMenus"
337
- | "contextualIdentities"
338
- | "cookies"
339
- | "downloads"
340
- | "downloads.open"
341
- | "geolocation"
342
- | "history"
343
- | "identity"
344
- | "idle"
345
- | "management"
346
- | "nativeMessaging"
347
- | "notifications"
348
- | "proxy"
349
- | "sessions"
350
- | "storage"
351
- | "tabs"
352
- | "topSites"
353
- | "webNavigation"
354
- | "webRequest"
355
- | "webRequestBlocking"))[];
350
+ page_action?: PageAction;
351
+ permissions?: Permissions;
356
352
  /**
357
353
  * Use this key to register one of more web-based protocol handlers.
358
354
  */
@@ -380,7 +376,8 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
380
376
  | "urn"
381
377
  | "webcal"
382
378
  | "wtai"
383
- | "xmpp")
379
+ | "xmpp"
380
+ )
384
381
  | string;
385
382
  /**
386
383
  * A string representing the name of the protocol handler. This will be displayed to the user when they are being asked if they want this handler to open the link.
@@ -390,10 +387,10 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
390
387
  * A string representing the URL of the handler. This string must include "%s" as a placeholder: this will be replaced with the escaped URL of the document to be handled. This URL might be a true URL, or it could be a phone number, email address, or so forth.
391
388
  */
392
389
  uriTemplate?: {
393
- [k: string]: any;
390
+ [k: string]: unknown;
394
391
  };
395
- [k: string]: any;
396
- };
392
+ [k: string]: unknown;
393
+ }[];
397
394
  /**
398
395
  * The short name is typically used where there is insufficient space to display the full name.
399
396
  */
@@ -402,7 +399,7 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
402
399
  * A sidebar is a pane that is displayed at the left-hand side of the browser window, next to the web page. The browser provides a UI that enables the user to see the currently available sidebars and to select a sidebar to display.
403
400
  */
404
401
  sidebar_action?: {
405
- default_icon?: Icon;
402
+ default_icon?: Icon1;
406
403
  /**
407
404
  * The path to an HTML file that specifies the sidebar's contents.
408
405
  */
@@ -411,19 +408,38 @@ export interface JSONSchemaForWebExtensionsManifestFiles {
411
408
  * Title for the sidebar. This is used in the browser UI for listing and opening sidebars, and is displayed at the top of the sidebar when it is open.
412
409
  */
413
410
  default_title?: string;
414
- [k: string]: any;
411
+ [k: string]: unknown;
415
412
  };
416
413
  /**
417
414
  * One to four dot-separated integers identifying the version of this extension.
418
415
  */
419
416
  version: {
420
- [k: string]: any;
417
+ [k: string]: unknown;
421
418
  };
422
419
  /**
423
420
  * An array of strings specifying the paths (relative to the package root) of packaged resources that are expected to be usable in the context of a web page.
424
421
  */
425
422
  web_accessible_resources?: string[];
426
- [k: string]: any;
423
+ [k: string]: unknown;
424
+ }
425
+ /**
426
+ * Use the chrome.pageAction API to put icons inside the address bar. Page actions represent actions that can be taken on the current page, but that aren't applicable to all pages.
427
+ */
428
+ export interface PageAction {
429
+ /**
430
+ * Use this to include a stylesheet in your popup that will make it look consistent with the browser's UI and with other add-ons that use the browser_style property. Although this key defaults to false, it's recommended that you include it and set it to true.
431
+ */
432
+ browser_style?: boolean;
433
+ default_icon?: Icon;
434
+ /**
435
+ * The popup appears when the user clicks the icon.
436
+ */
437
+ default_popup?: string;
438
+ /**
439
+ * Tooltip for the main toolbar icon.
440
+ */
441
+ default_title?: string;
442
+ [k: string]: unknown;
427
443
  }
428
444
  export interface Command {
429
445
  description?: string;
@@ -435,7 +451,7 @@ export interface Command {
435
451
  chromeos?: string;
436
452
  ios?: string;
437
453
  android?: string;
438
- [k: string]: any;
454
+ [k: string]: unknown;
439
455
  };
440
- [k: string]: any;
456
+ [k: string]: unknown;
441
457
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
- "author": "Florian Keller <github@floriankeller.de>",
2
+ "author": "Florian Imdahl <git@ffflorian.de>",
3
3
  "dependencies": {},
4
4
  "description": "TypeScript definitions for webextension.",
5
5
  "license": "MIT",
6
6
  "main": "index.d.ts",
7
7
  "name": "@schemastore/webextension",
8
- "repository": "https://github.com/ffflorian/schemastore-updater/tree/master/schemas/webextension",
8
+ "repository": "https://github.com/ffflorian/schemastore-updater/tree/main/schemas/webextension",
9
9
  "scripts": {},
10
- "typesPublisherContentHash": "8e72346d0416eb3073fb11a751c5ac906971db89e1bf65292852d609c751d0ae",
10
+ "typesPublisherContentHash": "6a1a201ff294bd1d4741ecd2dbadea3406e87ef409492d2d28d5f9d4fdcbdd12",
11
11
  "types": "index.d.ts",
12
- "version": "0.0.4",
12
+ "version": "0.0.10",
13
13
  "typeScriptVersion": "2.2"
14
14
  }