diff --git a/src/generators/greasemonkey/index.ts b/src/generators/greasemonkey/index.ts index a7897be..a4c5060 100644 --- a/src/generators/greasemonkey/index.ts +++ b/src/generators/greasemonkey/index.ts @@ -1,4 +1,9 @@ -import { generateGrantHeaders, HeaderEntries, HeaderGenerator } from ".."; +import { + generateGrantHeaders, + generateMatchHeaders, + HeaderEntries, + HeaderGenerator, +} from ".."; import { finalizeMonkeyHeaders } from "../common/monkey"; import { GreasemonkeyGrantOptions, @@ -8,7 +13,7 @@ import { //TODO: finish creating the processor export const generateGreasemonkeyHeaders: HeaderGenerator = - (_packageInfo, { grants = [] }) => { + (_packageInfo, { matches = [], grants = [] }) => { const grantMap: Record = { set: "GM.setValue", get: "GM.getValue", @@ -20,12 +25,17 @@ export const generateGreasemonkeyHeaders: HeaderGenerator(grantMap, grants); - const headers: HeaderEntries = [...grantHeaders]; + const headers: HeaderEntries = [ + ...grantHeaders, + ...matchHeaders, + ]; return finalizeMonkeyHeaders(headers, 4); }; diff --git a/src/generators/index.ts b/src/generators/index.ts index 02607fb..930cbd8 100644 --- a/src/generators/index.ts +++ b/src/generators/index.ts @@ -48,12 +48,12 @@ export type CommonHeaders = T & { export type CustomHeaders = { contributors: string }; -export type HeaderEntry = [keyof T & string, T[keyof T]]; +export type HeaderEntry = [keyof T & string, string]; export type HeaderEntries = HeaderEntry[]; /** - * @summary abstract header generator + * @summary abstract '@grant' header generator */ export const generateGrantHeaders = < T extends CommonHeaders, @@ -71,3 +71,12 @@ export const generateGrantHeaders = < ? grantHeaders : ([["grant", "none"]] as HeaderEntries>); }; + +/** + * @summary abstract '@match' header generator + */ +export const generateMatchHeaders = ( + matches: string[] +): HeaderEntries => { + return matches.map((uri) => ["match", uri]); +}; diff --git a/src/generators/tampermonkey/index.ts b/src/generators/tampermonkey/index.ts index a005ef8..fb349f4 100644 --- a/src/generators/tampermonkey/index.ts +++ b/src/generators/tampermonkey/index.ts @@ -1,4 +1,4 @@ -import { generateGrantHeaders, HeaderEntries, HeaderGenerator } from ".."; +import { generateGrantHeaders, generateMatchHeaders, HeaderEntries, HeaderGenerator } from ".."; import { formatAuthor, parseAuthor } from "../../utils/author"; import { parseName } from "../../utils/common"; import { finalizeMonkeyHeaders } from "../common/monkey"; @@ -26,9 +26,7 @@ export const generateTampermonkeyHeaders: HeaderGenerator = matches.map( - (uri) => ["match", uri] - ); + const matchHeaders = generateMatchHeaders(matches); const grantMap: Record = { set: "GM_setValue",