@addon-core/inject-css 0.3.0 → 0.3.1
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/dist/index.cjs +5 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -121,7 +121,11 @@ var InjectCssV3_default = class extends AbstractInjectCss_default {
|
|
|
121
121
|
if (this.allFrames === true) {
|
|
122
122
|
return { ...target, allFrames: true };
|
|
123
123
|
}
|
|
124
|
-
|
|
124
|
+
let isFirefox = false;
|
|
125
|
+
try {
|
|
126
|
+
isFirefox = !!browser().runtime.getBrowserInfo;
|
|
127
|
+
} catch (_e) {
|
|
128
|
+
}
|
|
125
129
|
if (!isFirefox) {
|
|
126
130
|
const documentIds = this.documentIds;
|
|
127
131
|
if (documentIds && documentIds.length > 0) {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/InjectCssV2.ts","../src/AbstractInjectCss.ts","../src/InjectCssV3.ts"],"sourcesContent":["import {isManifestVersion3} from \"@addon-core/browser\";\nimport InjectCssV2 from \"./InjectCssV2\";\nimport InjectCssV3 from \"./InjectCssV3\";\nimport type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport type {InjectCssContract, InjectCssOptions};\n\nexport default (options: InjectCssOptions): InjectCssContract => {\n return isManifestVersion3() ? new InjectCssV3(options) : new InjectCssV2(options);\n};\n","import {insertCssTab} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype CSSOrigin = chrome.extensionTypes.CSSOrigin;\ntype InjectDetails = chrome.extensionTypes.InjectDetails;\n\nexport default class extends AbstractInjectCss {\n public async insert(code: string): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const details: InjectDetails = {\n code,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n await insertCssTab(tabId, {...details, allFrames: true});\n } else if (this.frameIds) {\n await Promise.all(this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n await insertCssTab(tabId, details);\n }\n }\n\n public async file(files: string | string[]): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const fileList = typeof files === \"string\" ? [files] : files;\n\n const injectTasks: Promise<any>[] = [];\n\n for (const file of fileList) {\n const details: InjectDetails = {\n file,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n injectTasks.push(insertCssTab(tabId, {...details, allFrames: true}));\n } else if (this.frameIds) {\n injectTasks.push(...this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n injectTasks.push(insertCssTab(tabId, details));\n }\n }\n\n await Promise.all(injectTasks);\n }\n\n protected get cssOrigin(): CSSOrigin | undefined {\n const {origin} = this._options;\n\n return origin && (origin.toLowerCase() as CSSOrigin);\n }\n}\n","import type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport default abstract class implements InjectCssContract {\n constructor(protected _options: InjectCssOptions) {}\n\n public options(options: Partial<InjectCssOptions>): this {\n this._options = {...this._options, ...options, tabId: options.tabId ?? this._options.tabId};\n\n return this;\n }\n\n public abstract insert(css: string): Promise<void>;\n\n public abstract file(files: string | string[]): Promise<void>;\n\n protected get frameIds(): number[] | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"number\" ? [frameId] : typeof frameId !== \"boolean\" ? frameId : undefined;\n }\n\n protected get allFrames(): boolean | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"boolean\" ? frameId : undefined;\n }\n\n protected get matchAboutBlank(): boolean {\n const {matchAboutBlank} = this._options;\n\n return typeof matchAboutBlank === \"boolean\" ? matchAboutBlank : true;\n }\n}\n","import {insertCss} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype InjectionTarget = chrome.scripting.InjectionTarget;\n\nexport default class extends AbstractInjectCss {\n public async insert(css: string): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n css,\n });\n }\n\n public async file(fileList: string | string[]): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n files: typeof fileList === \"string\" ? [fileList] : fileList,\n });\n }\n\n protected get target(): InjectionTarget {\n const target = {tabId: this._options.tabId};\n\n if (this.frameIds && this.frameIds.length > 0) {\n return {...target, frameIds: this.frameIds};\n }\n\n if (this.allFrames === true) {\n return {...target, allFrames: true};\n }\n\n // Firefox does not support `documentIds` in the target\n // getBrowserInfo is only available in firefox\n // @ts-expect-error\n
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/InjectCssV2.ts","../src/AbstractInjectCss.ts","../src/InjectCssV3.ts"],"sourcesContent":["import {isManifestVersion3} from \"@addon-core/browser\";\nimport InjectCssV2 from \"./InjectCssV2\";\nimport InjectCssV3 from \"./InjectCssV3\";\nimport type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport type {InjectCssContract, InjectCssOptions};\n\nexport default (options: InjectCssOptions): InjectCssContract => {\n return isManifestVersion3() ? new InjectCssV3(options) : new InjectCssV2(options);\n};\n","import {insertCssTab} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype CSSOrigin = chrome.extensionTypes.CSSOrigin;\ntype InjectDetails = chrome.extensionTypes.InjectDetails;\n\nexport default class extends AbstractInjectCss {\n public async insert(code: string): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const details: InjectDetails = {\n code,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n await insertCssTab(tabId, {...details, allFrames: true});\n } else if (this.frameIds) {\n await Promise.all(this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n await insertCssTab(tabId, details);\n }\n }\n\n public async file(files: string | string[]): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const fileList = typeof files === \"string\" ? [files] : files;\n\n const injectTasks: Promise<any>[] = [];\n\n for (const file of fileList) {\n const details: InjectDetails = {\n file,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n injectTasks.push(insertCssTab(tabId, {...details, allFrames: true}));\n } else if (this.frameIds) {\n injectTasks.push(...this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n injectTasks.push(insertCssTab(tabId, details));\n }\n }\n\n await Promise.all(injectTasks);\n }\n\n protected get cssOrigin(): CSSOrigin | undefined {\n const {origin} = this._options;\n\n return origin && (origin.toLowerCase() as CSSOrigin);\n }\n}\n","import type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport default abstract class implements InjectCssContract {\n constructor(protected _options: InjectCssOptions) {}\n\n public options(options: Partial<InjectCssOptions>): this {\n this._options = {...this._options, ...options, tabId: options.tabId ?? this._options.tabId};\n\n return this;\n }\n\n public abstract insert(css: string): Promise<void>;\n\n public abstract file(files: string | string[]): Promise<void>;\n\n protected get frameIds(): number[] | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"number\" ? [frameId] : typeof frameId !== \"boolean\" ? frameId : undefined;\n }\n\n protected get allFrames(): boolean | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"boolean\" ? frameId : undefined;\n }\n\n protected get matchAboutBlank(): boolean {\n const {matchAboutBlank} = this._options;\n\n return typeof matchAboutBlank === \"boolean\" ? matchAboutBlank : true;\n }\n}\n","import {insertCss} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype InjectionTarget = chrome.scripting.InjectionTarget;\n\nexport default class extends AbstractInjectCss {\n public async insert(css: string): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n css,\n });\n }\n\n public async file(fileList: string | string[]): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n files: typeof fileList === \"string\" ? [fileList] : fileList,\n });\n }\n\n protected get target(): InjectionTarget {\n const target = {tabId: this._options.tabId};\n\n if (this.frameIds && this.frameIds.length > 0) {\n return {...target, frameIds: this.frameIds};\n }\n\n if (this.allFrames === true) {\n return {...target, allFrames: true};\n }\n\n // Firefox does not support `documentIds` in the target\n // getBrowserInfo is only available in firefox\n let isFirefox = false;\n try {\n // @ts-expect-error\n isFirefox = !!browser().runtime.getBrowserInfo;\n } catch (_e) {}\n\n if (!isFirefox) {\n const documentIds = this.documentIds;\n\n if (documentIds && documentIds.length > 0) {\n return {...target, documentIds};\n }\n }\n\n return target;\n }\n\n protected get documentIds(): string[] | undefined {\n const {documentId} = this._options;\n\n return typeof documentId === \"string\" ? [documentId] : documentId;\n }\n}\n"],"mappings":"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","names":["import_browser","import_browser"]}
|
package/dist/index.js
CHANGED
|
@@ -97,7 +97,11 @@ var InjectCssV3_default = class extends AbstractInjectCss_default {
|
|
|
97
97
|
if (this.allFrames === true) {
|
|
98
98
|
return { ...target, allFrames: true };
|
|
99
99
|
}
|
|
100
|
-
|
|
100
|
+
let isFirefox = false;
|
|
101
|
+
try {
|
|
102
|
+
isFirefox = !!browser().runtime.getBrowserInfo;
|
|
103
|
+
} catch (_e) {
|
|
104
|
+
}
|
|
101
105
|
if (!isFirefox) {
|
|
102
106
|
const documentIds = this.documentIds;
|
|
103
107
|
if (documentIds && documentIds.length > 0) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/InjectCssV2.ts","../src/AbstractInjectCss.ts","../src/InjectCssV3.ts"],"sourcesContent":["import {isManifestVersion3} from \"@addon-core/browser\";\nimport InjectCssV2 from \"./InjectCssV2\";\nimport InjectCssV3 from \"./InjectCssV3\";\nimport type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport type {InjectCssContract, InjectCssOptions};\n\nexport default (options: InjectCssOptions): InjectCssContract => {\n return isManifestVersion3() ? new InjectCssV3(options) : new InjectCssV2(options);\n};\n","import {insertCssTab} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype CSSOrigin = chrome.extensionTypes.CSSOrigin;\ntype InjectDetails = chrome.extensionTypes.InjectDetails;\n\nexport default class extends AbstractInjectCss {\n public async insert(code: string): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const details: InjectDetails = {\n code,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n await insertCssTab(tabId, {...details, allFrames: true});\n } else if (this.frameIds) {\n await Promise.all(this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n await insertCssTab(tabId, details);\n }\n }\n\n public async file(files: string | string[]): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const fileList = typeof files === \"string\" ? [files] : files;\n\n const injectTasks: Promise<any>[] = [];\n\n for (const file of fileList) {\n const details: InjectDetails = {\n file,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n injectTasks.push(insertCssTab(tabId, {...details, allFrames: true}));\n } else if (this.frameIds) {\n injectTasks.push(...this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n injectTasks.push(insertCssTab(tabId, details));\n }\n }\n\n await Promise.all(injectTasks);\n }\n\n protected get cssOrigin(): CSSOrigin | undefined {\n const {origin} = this._options;\n\n return origin && (origin.toLowerCase() as CSSOrigin);\n }\n}\n","import type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport default abstract class implements InjectCssContract {\n constructor(protected _options: InjectCssOptions) {}\n\n public options(options: Partial<InjectCssOptions>): this {\n this._options = {...this._options, ...options, tabId: options.tabId ?? this._options.tabId};\n\n return this;\n }\n\n public abstract insert(css: string): Promise<void>;\n\n public abstract file(files: string | string[]): Promise<void>;\n\n protected get frameIds(): number[] | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"number\" ? [frameId] : typeof frameId !== \"boolean\" ? frameId : undefined;\n }\n\n protected get allFrames(): boolean | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"boolean\" ? frameId : undefined;\n }\n\n protected get matchAboutBlank(): boolean {\n const {matchAboutBlank} = this._options;\n\n return typeof matchAboutBlank === \"boolean\" ? matchAboutBlank : true;\n }\n}\n","import {insertCss} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype InjectionTarget = chrome.scripting.InjectionTarget;\n\nexport default class extends AbstractInjectCss {\n public async insert(css: string): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n css,\n });\n }\n\n public async file(fileList: string | string[]): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n files: typeof fileList === \"string\" ? [fileList] : fileList,\n });\n }\n\n protected get target(): InjectionTarget {\n const target = {tabId: this._options.tabId};\n\n if (this.frameIds && this.frameIds.length > 0) {\n return {...target, frameIds: this.frameIds};\n }\n\n if (this.allFrames === true) {\n return {...target, allFrames: true};\n }\n\n // Firefox does not support `documentIds` in the target\n // getBrowserInfo is only available in firefox\n // @ts-expect-error\n
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/InjectCssV2.ts","../src/AbstractInjectCss.ts","../src/InjectCssV3.ts"],"sourcesContent":["import {isManifestVersion3} from \"@addon-core/browser\";\nimport InjectCssV2 from \"./InjectCssV2\";\nimport InjectCssV3 from \"./InjectCssV3\";\nimport type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport type {InjectCssContract, InjectCssOptions};\n\nexport default (options: InjectCssOptions): InjectCssContract => {\n return isManifestVersion3() ? new InjectCssV3(options) : new InjectCssV2(options);\n};\n","import {insertCssTab} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype CSSOrigin = chrome.extensionTypes.CSSOrigin;\ntype InjectDetails = chrome.extensionTypes.InjectDetails;\n\nexport default class extends AbstractInjectCss {\n public async insert(code: string): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const details: InjectDetails = {\n code,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n await insertCssTab(tabId, {...details, allFrames: true});\n } else if (this.frameIds) {\n await Promise.all(this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n await insertCssTab(tabId, details);\n }\n }\n\n public async file(files: string | string[]): Promise<void> {\n const {tabId, runAt} = this._options;\n\n const fileList = typeof files === \"string\" ? [files] : files;\n\n const injectTasks: Promise<any>[] = [];\n\n for (const file of fileList) {\n const details: InjectDetails = {\n file,\n runAt,\n cssOrigin: this.cssOrigin,\n matchAboutBlank: this.matchAboutBlank,\n };\n\n if (this.allFrames) {\n injectTasks.push(insertCssTab(tabId, {...details, allFrames: true}));\n } else if (this.frameIds) {\n injectTasks.push(...this.frameIds.map(frameId => insertCssTab(tabId, {...details, frameId})));\n } else {\n injectTasks.push(insertCssTab(tabId, details));\n }\n }\n\n await Promise.all(injectTasks);\n }\n\n protected get cssOrigin(): CSSOrigin | undefined {\n const {origin} = this._options;\n\n return origin && (origin.toLowerCase() as CSSOrigin);\n }\n}\n","import type {InjectCssContract, InjectCssOptions} from \"./types\";\n\nexport default abstract class implements InjectCssContract {\n constructor(protected _options: InjectCssOptions) {}\n\n public options(options: Partial<InjectCssOptions>): this {\n this._options = {...this._options, ...options, tabId: options.tabId ?? this._options.tabId};\n\n return this;\n }\n\n public abstract insert(css: string): Promise<void>;\n\n public abstract file(files: string | string[]): Promise<void>;\n\n protected get frameIds(): number[] | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"number\" ? [frameId] : typeof frameId !== \"boolean\" ? frameId : undefined;\n }\n\n protected get allFrames(): boolean | undefined {\n const {frameId} = this._options;\n\n return typeof frameId === \"boolean\" ? frameId : undefined;\n }\n\n protected get matchAboutBlank(): boolean {\n const {matchAboutBlank} = this._options;\n\n return typeof matchAboutBlank === \"boolean\" ? matchAboutBlank : true;\n }\n}\n","import {insertCss} from \"@addon-core/browser\";\nimport AbstractInjectCss from \"./AbstractInjectCss\";\n\ntype InjectionTarget = chrome.scripting.InjectionTarget;\n\nexport default class extends AbstractInjectCss {\n public async insert(css: string): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n css,\n });\n }\n\n public async file(fileList: string | string[]): Promise<void> {\n await insertCss({\n target: this.target,\n origin: this._options.origin,\n files: typeof fileList === \"string\" ? [fileList] : fileList,\n });\n }\n\n protected get target(): InjectionTarget {\n const target = {tabId: this._options.tabId};\n\n if (this.frameIds && this.frameIds.length > 0) {\n return {...target, frameIds: this.frameIds};\n }\n\n if (this.allFrames === true) {\n return {...target, allFrames: true};\n }\n\n // Firefox does not support `documentIds` in the target\n // getBrowserInfo is only available in firefox\n let isFirefox = false;\n try {\n // @ts-expect-error\n isFirefox = !!browser().runtime.getBrowserInfo;\n } catch (_e) {}\n\n if (!isFirefox) {\n const documentIds = this.documentIds;\n\n if (documentIds && documentIds.length > 0) {\n return {...target, documentIds};\n }\n }\n\n return target;\n }\n\n protected get documentIds(): string[] | undefined {\n const {documentId} = this._options;\n\n return typeof documentId === \"string\" ? [documentId] : documentId;\n }\n}\n"],"mappings":"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","names":[]}
|