adnbn 0.4.1 → 0.4.2
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/cli/plugins/icon/declaration/icon.d.ts +2 -0
- package/dist/cli/resolvers/config.js +5 -1
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/main/icon.d.ts +2 -1
- package/dist/main/icon.js +15 -1
- package/dist/main/icon.js.map +1 -1
- package/dist/main/index.d.ts +1 -1
- package/package.json +10 -1
|
@@ -107,7 +107,11 @@ const updateLocalDotenv = (config) => {
|
|
|
107
107
|
return localVars;
|
|
108
108
|
};
|
|
109
109
|
const loadDotenv = (config) => {
|
|
110
|
-
const { mode, browser } = config;
|
|
110
|
+
const { mode, browser, debug } = config;
|
|
111
|
+
process.env.DOTENV_LOG = debug ? "debug" : "none";
|
|
112
|
+
if (!debug) {
|
|
113
|
+
process.env.DOTENV_CONFIG_SILENT = "true";
|
|
114
|
+
}
|
|
111
115
|
const preset = [
|
|
112
116
|
`.env.${mode}.${browser}.local`,
|
|
113
117
|
`.env.${mode}.${browser}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/resolvers/config.ts"],"sourcesContent":["import {existsSync} from \"fs\";\nimport dotenv, {type DotenvParseOutput} from \"dotenv\";\nimport {loadConfig} from \"c12\";\nimport _ from \"lodash\";\n\nimport {\n assetPlugin,\n backgroundPlugin,\n bundlerPlugin,\n contentPlugin,\n dotenvPlugin,\n htmlPlugin,\n iconPlugin,\n localePlugin,\n metaPlugin,\n offscreenPlugin,\n optimizationPlugin,\n outputPlugin,\n pagePlugin,\n popupPlugin,\n publicPlugin,\n reactPlugin,\n sidebarPlugin,\n stylePlugin,\n typescriptPlugin,\n versionPlugin,\n viewPlugin,\n} from \"../plugins\";\n\nimport {fromRootPath, getAppPath, getAppSourcePath, getConfigFile} from \"../resolvers/path\";\n\nimport {Config, OptionalConfig, ReadonlyConfig, UserConfig} from \"@typing/config\";\nimport {Command, Mode} from \"@typing/app\";\nimport {Browser} from \"@typing/browser\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Language} from \"@typing/locale\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({\n configFile: configFilePath,\n dotenv: true,\n });\n\n if (config.debug) {\n console.log(\"Loaded user config:\", configFilePath);\n }\n\n return userConfig || {};\n } else if (config.debug) {\n console.warn(\"Config file not found:\", configFilePath);\n }\n\n return {};\n};\n\nconst validateConfig = (config: ReadonlyConfig): ReadonlyConfig => {\n const {\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n } = config;\n\n if (\n [\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n ]\n .filter(dir => _.isString(dir))\n .some(dir => dir.includes(\"..\"))\n ) {\n throw new Error('Directory paths cannot contain relative paths (\"..\") for security reasons.');\n }\n\n if (appsDir === sharedDir) {\n throw new Error(\"Apps directory (appsDir) and shared directory (sharedDir) cannot be the same.\");\n }\n\n if (srcDir === outDir) {\n throw new Error(\"Source directory (srcDir) and destination directory (outputDir) cannot be the same.\");\n }\n\n if (srcDir === \".\") {\n throw new Error('Source directory cannot be the root directory (\".\") for security reasons.');\n }\n\n if (publicDir === \".\" || [srcDir, outDir, appSrcDir].includes(publicDir)) {\n throw new Error(\n 'Public directory cannot be the root directory (\".\") or intersect with other root directories for security reasons.'\n );\n }\n\n return config;\n};\n\nconst updateLocalDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, app, browser, manifestVersion} = config;\n\n const localVars: DotenvParseOutput = {\n APP: app,\n BROWSER: browser,\n MODE: mode,\n MANIFEST_VERSION: String(manifestVersion),\n };\n\n Object.assign(process.env, localVars);\n\n return localVars;\n};\n\nconst loadDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, browser} = config;\n\n const preset = [\n `.env.${mode}.${browser}.local`,\n `.env.${mode}.${browser}`,\n `.env.${browser}.local`,\n `.env.${browser}`,\n `.env.${mode}.local`,\n `.env.${mode}`,\n `.env.local`,\n `.env`,\n ];\n\n const appSourcePaths = preset.map(file => getAppSourcePath(config, file));\n const appPaths = preset.map(file => getAppPath(config, file));\n const rootPaths = preset.map(file => fromRootPath(config, file));\n\n const paths = [...appSourcePaths, ...appPaths, ...rootPaths];\n\n const {parsed: fileVars = {}} = dotenv.config({path: paths});\n\n return {...fileVars, ...updateLocalDotenv(config)};\n};\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n command = Command.Build,\n debug = false,\n configFile = \"adnbn.config.ts\",\n browser = Browser.Chrome,\n app = \"myapp\",\n name = app,\n description,\n shortName,\n version = \"VERSION\",\n minimumVersion = \"MINIMUM_VERSION\",\n author = undefined,\n email = \"EMAIL\",\n homepage = \"HOMEPAGE\",\n icon = DefaultIconGroupName,\n lang = Language.English,\n incognito,\n rootDir = \".\",\n outDir = \"dist\",\n srcDir = \"src\",\n sharedDir = \"shared\",\n appsDir = \"apps\",\n appSrcDir = \".\",\n localeDir = \"locales\",\n iconSrcDir = \"icons\",\n iconOutDir = \"icons\",\n jsDir = \"js\",\n cssDir = \"css\",\n assetsDir = \"assets\",\n publicDir = \"public\",\n htmlDir = \".\",\n html = [],\n bundler = {},\n env = {},\n manifestVersion = (new Set<Browser>([Browser.Safari]).has(browser) ? 2 : 3) as ManifestVersion,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeCommands = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n mergeStyles = true,\n mergeIcons = false,\n mergeLocales = true,\n mergePages = false,\n mergePopup = false,\n mergePublic = false,\n multiplePopup = false,\n mergeSidebar = false,\n multipleSidebar = false,\n mergeRelay = false,\n mergeService = false,\n mergeOffscreen = false,\n commonChunks = true,\n artifactName = \"[name]-[browser]-[mv]\",\n assetsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:4][ext]\"\n : \"[name]-[contenthash:4][ext]\",\n jsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].js\"\n : \"[name].js\",\n cssFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].css\"\n : \"[name].css\",\n cssIdentName = mode === Mode.Production && command === Command.Build && !debug\n ? \"[app]-[hash:base64:5]\"\n : \"[local]-[hash:base64:5]\",\n } = config;\n\n let resolvedConfig: Config = {\n command,\n debug,\n mode,\n browser,\n app,\n name,\n description,\n shortName,\n version,\n minimumVersion,\n email,\n author,\n homepage,\n lang,\n icon,\n incognito,\n manifestVersion,\n rootDir,\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n publicDir,\n htmlDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n html,\n bundler,\n env,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeCommands,\n mergeContentScripts,\n concatContentScripts,\n mergeStyles,\n mergeIcons,\n mergeLocales,\n mergePages,\n mergePopup,\n mergePublic,\n multiplePopup,\n mergeSidebar,\n multipleSidebar,\n mergeRelay,\n mergeService,\n mergeOffscreen,\n commonChunks,\n artifactName,\n assetsFilename,\n jsFilename,\n cssFilename,\n cssIdentName,\n };\n\n let vars = loadDotenv(resolvedConfig);\n\n const {plugins: userPlugins = [], ...userConfig} = await getUserConfig(resolvedConfig);\n\n resolvedConfig = validateConfig({...resolvedConfig, ...userConfig});\n\n vars = {...vars, ...loadDotenv(resolvedConfig)};\n\n /**\n * IMPORTANT: the order of plugins matters. Early plugins prepare the environment and artifacts for the following ones\n * (e.g., environment variables/output/transpilation/assets → page/version generation → bundling).\n * Reordering may result in missing artifacts, incorrect configuration, or build failures.\n */\n const corePlugins: Plugin[] = [\n dotenvPlugin(vars),\n outputPlugin(),\n optimizationPlugin(),\n typescriptPlugin(),\n reactPlugin(),\n iconPlugin(),\n assetPlugin(),\n stylePlugin(),\n localePlugin(),\n metaPlugin(),\n contentPlugin(),\n backgroundPlugin(),\n popupPlugin(),\n publicPlugin(),\n sidebarPlugin(),\n offscreenPlugin(),\n pagePlugin(),\n viewPlugin(),\n htmlPlugin(),\n versionPlugin(),\n bundlerPlugin(),\n ];\n\n return {\n ...resolvedConfig,\n plugins: [...plugins, ...userPlugins, ...corePlugins],\n };\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/resolvers/config.ts"],"sourcesContent":["import {existsSync} from \"fs\";\nimport dotenv, {type DotenvParseOutput} from \"dotenv\";\nimport {loadConfig} from \"c12\";\nimport _ from \"lodash\";\n\nimport {\n assetPlugin,\n backgroundPlugin,\n bundlerPlugin,\n contentPlugin,\n dotenvPlugin,\n htmlPlugin,\n iconPlugin,\n localePlugin,\n metaPlugin,\n offscreenPlugin,\n optimizationPlugin,\n outputPlugin,\n pagePlugin,\n popupPlugin,\n publicPlugin,\n reactPlugin,\n sidebarPlugin,\n stylePlugin,\n typescriptPlugin,\n versionPlugin,\n viewPlugin,\n} from \"../plugins\";\n\nimport {fromRootPath, getAppPath, getAppSourcePath, getConfigFile} from \"../resolvers/path\";\n\nimport {Config, OptionalConfig, ReadonlyConfig, UserConfig} from \"@typing/config\";\nimport {Command, Mode} from \"@typing/app\";\nimport {Browser} from \"@typing/browser\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Language} from \"@typing/locale\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({\n configFile: configFilePath,\n dotenv: true,\n });\n\n if (config.debug) {\n console.log(\"Loaded user config:\", configFilePath);\n }\n\n return userConfig || {};\n } else if (config.debug) {\n console.warn(\"Config file not found:\", configFilePath);\n }\n\n return {};\n};\n\nconst validateConfig = (config: ReadonlyConfig): ReadonlyConfig => {\n const {\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n } = config;\n\n if (\n [\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n ]\n .filter(dir => _.isString(dir))\n .some(dir => dir.includes(\"..\"))\n ) {\n throw new Error('Directory paths cannot contain relative paths (\"..\") for security reasons.');\n }\n\n if (appsDir === sharedDir) {\n throw new Error(\"Apps directory (appsDir) and shared directory (sharedDir) cannot be the same.\");\n }\n\n if (srcDir === outDir) {\n throw new Error(\"Source directory (srcDir) and destination directory (outputDir) cannot be the same.\");\n }\n\n if (srcDir === \".\") {\n throw new Error('Source directory cannot be the root directory (\".\") for security reasons.');\n }\n\n if (publicDir === \".\" || [srcDir, outDir, appSrcDir].includes(publicDir)) {\n throw new Error(\n 'Public directory cannot be the root directory (\".\") or intersect with other root directories for security reasons.'\n );\n }\n\n return config;\n};\n\nconst updateLocalDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, app, browser, manifestVersion} = config;\n\n const localVars: DotenvParseOutput = {\n APP: app,\n BROWSER: browser,\n MODE: mode,\n MANIFEST_VERSION: String(manifestVersion),\n };\n\n Object.assign(process.env, localVars);\n\n return localVars;\n};\n\nconst loadDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, browser, debug} = config;\n\n process.env.DOTENV_LOG = debug ? \"debug\" : \"none\";\n\n if (!debug) {\n process.env.DOTENV_CONFIG_SILENT = \"true\";\n }\n\n const preset = [\n `.env.${mode}.${browser}.local`,\n `.env.${mode}.${browser}`,\n `.env.${browser}.local`,\n `.env.${browser}`,\n `.env.${mode}.local`,\n `.env.${mode}`,\n `.env.local`,\n `.env`,\n ];\n\n const appSourcePaths = preset.map(file => getAppSourcePath(config, file));\n const appPaths = preset.map(file => getAppPath(config, file));\n const rootPaths = preset.map(file => fromRootPath(config, file));\n\n const paths = [...appSourcePaths, ...appPaths, ...rootPaths];\n\n const {parsed: fileVars = {}} = dotenv.config({path: paths});\n\n return {...fileVars, ...updateLocalDotenv(config)};\n};\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n command = Command.Build,\n debug = false,\n configFile = \"adnbn.config.ts\",\n browser = Browser.Chrome,\n app = \"myapp\",\n name = app,\n description,\n shortName,\n version = \"VERSION\",\n minimumVersion = \"MINIMUM_VERSION\",\n author = undefined,\n email = \"EMAIL\",\n homepage = \"HOMEPAGE\",\n icon = DefaultIconGroupName,\n lang = Language.English,\n incognito,\n rootDir = \".\",\n outDir = \"dist\",\n srcDir = \"src\",\n sharedDir = \"shared\",\n appsDir = \"apps\",\n appSrcDir = \".\",\n localeDir = \"locales\",\n iconSrcDir = \"icons\",\n iconOutDir = \"icons\",\n jsDir = \"js\",\n cssDir = \"css\",\n assetsDir = \"assets\",\n publicDir = \"public\",\n htmlDir = \".\",\n html = [],\n bundler = {},\n env = {},\n manifestVersion = (new Set<Browser>([Browser.Safari]).has(browser) ? 2 : 3) as ManifestVersion,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeCommands = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n mergeStyles = true,\n mergeIcons = false,\n mergeLocales = true,\n mergePages = false,\n mergePopup = false,\n mergePublic = false,\n multiplePopup = false,\n mergeSidebar = false,\n multipleSidebar = false,\n mergeRelay = false,\n mergeService = false,\n mergeOffscreen = false,\n commonChunks = true,\n artifactName = \"[name]-[browser]-[mv]\",\n assetsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:4][ext]\"\n : \"[name]-[contenthash:4][ext]\",\n jsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].js\"\n : \"[name].js\",\n cssFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].css\"\n : \"[name].css\",\n cssIdentName = mode === Mode.Production && command === Command.Build && !debug\n ? \"[app]-[hash:base64:5]\"\n : \"[local]-[hash:base64:5]\",\n } = config;\n\n let resolvedConfig: Config = {\n command,\n debug,\n mode,\n browser,\n app,\n name,\n description,\n shortName,\n version,\n minimumVersion,\n email,\n author,\n homepage,\n lang,\n icon,\n incognito,\n manifestVersion,\n rootDir,\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n publicDir,\n htmlDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n html,\n bundler,\n env,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeCommands,\n mergeContentScripts,\n concatContentScripts,\n mergeStyles,\n mergeIcons,\n mergeLocales,\n mergePages,\n mergePopup,\n mergePublic,\n multiplePopup,\n mergeSidebar,\n multipleSidebar,\n mergeRelay,\n mergeService,\n mergeOffscreen,\n commonChunks,\n artifactName,\n assetsFilename,\n jsFilename,\n cssFilename,\n cssIdentName,\n };\n\n let vars = loadDotenv(resolvedConfig);\n\n const {plugins: userPlugins = [], ...userConfig} = await getUserConfig(resolvedConfig);\n\n resolvedConfig = validateConfig({...resolvedConfig, ...userConfig});\n\n vars = {...vars, ...loadDotenv(resolvedConfig)};\n\n /**\n * IMPORTANT: the order of plugins matters. Early plugins prepare the environment and artifacts for the following ones\n * (e.g., environment variables/output/transpilation/assets → page/version generation → bundling).\n * Reordering may result in missing artifacts, incorrect configuration, or build failures.\n */\n const corePlugins: Plugin[] = [\n dotenvPlugin(vars),\n outputPlugin(),\n optimizationPlugin(),\n typescriptPlugin(),\n reactPlugin(),\n iconPlugin(),\n assetPlugin(),\n stylePlugin(),\n localePlugin(),\n metaPlugin(),\n contentPlugin(),\n backgroundPlugin(),\n popupPlugin(),\n publicPlugin(),\n sidebarPlugin(),\n offscreenPlugin(),\n pagePlugin(),\n viewPlugin(),\n htmlPlugin(),\n versionPlugin(),\n bundlerPlugin(),\n ];\n\n return {\n ...resolvedConfig,\n plugins: [...plugins, ...userPlugins, ...corePlugins],\n };\n};\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { defineCommand, defineExecuteActionCommand } from './main/command.js';
|
|
|
5
5
|
export { defineConfig } from './main/config.js';
|
|
6
6
|
export { defineContentScript, defineContentScriptAppend } from './main/content.js';
|
|
7
7
|
export { getApp, getBrowser, getEnv, getManifestVersion, isBrowser } from './main/env.js';
|
|
8
|
-
export { changeActionIcon, getIcons } from './main/icon.js';
|
|
8
|
+
export { changeActionIcon, changeSidebarIcon, getIcons } from './main/icon.js';
|
|
9
9
|
export { B as BackgroundConfig, a as BackgroundDefinition, b as BackgroundMainHandler, e as CommandConfig, C as CommandDefinition, f as CommandExecute, d as CommandExecuteActionName, c as CommandUnresolvedDefinition, p as ContentScriptAnchor, q as ContentScriptAnchorGetter, r as ContentScriptAnchorResolver, l as ContentScriptAppend, M as ContentScriptAppendDefinition, N as ContentScriptBuilder, i as ContentScriptConfig, y as ContentScriptContainerCreator, x as ContentScriptContainerFactory, w as ContentScriptContainerOptions, v as ContentScriptContainerTag, G as ContentScriptContext, h as ContentScriptDeclarative, K as ContentScriptDefinition, k as ContentScriptEntrypointOptions, A as ContentScriptEvent, D as ContentScriptEventCallback, F as ContentScriptEventEmitter, H as ContentScriptMainFunction, g as ContentScriptMatches, n as ContentScriptMount, m as ContentScriptMountFunction, I as ContentScriptNode, J as ContentScriptNodeSet, j as ContentScriptOptions, o as ContentScriptProps, u as ContentScriptRenderHandler, s as ContentScriptRenderReactComponent, t as ContentScriptRenderValue, L as ContentScriptResolvedDefinition, z as ContentScriptWatchStrategy, E as ExecuteActionCommandDefinition, O as ManifestBuilder, P as ManifestIncognito } from './manifest-DAV18Z2K.js';
|
|
10
10
|
export { OffscreenAlias, OffscreenMap, defineOffscreen, getOffscreen, getOffscreens } from './main/offscreen.js';
|
|
11
11
|
export { PageAlias, PageMap, definePage, getPageUrl, getPages } from './main/page.js';
|
package/dist/main/icon.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
type Tab = chrome.tabs.Tab;
|
|
2
2
|
declare const getIcons: () => Record<string, Record<number, string>>;
|
|
3
3
|
declare const changeActionIcon: (icon?: string, tab?: number | Tab) => Promise<void>;
|
|
4
|
+
declare const changeSidebarIcon: (icon?: string, tab?: number | Tab) => Promise<void>;
|
|
4
5
|
|
|
5
|
-
export { changeActionIcon, getIcons };
|
|
6
|
+
export { changeActionIcon, changeSidebarIcon, getIcons };
|
package/dist/main/icon.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setActionIcon } from "@addon-core/browser";
|
|
1
|
+
import { setActionIcon, setSidebarIcon } from "@addon-core/browser";
|
|
2
2
|
import { DefaultIconGroupName } from "./../types/icon.js";
|
|
3
3
|
const getIcons = () => {
|
|
4
4
|
try {
|
|
@@ -21,8 +21,22 @@ const changeActionIcon = async (icon, tab) => {
|
|
|
21
21
|
}
|
|
22
22
|
await setActionIcon({ path: icons, tabId: tab });
|
|
23
23
|
};
|
|
24
|
+
const changeSidebarIcon = async (icon, tab) => {
|
|
25
|
+
if (!icon) {
|
|
26
|
+
icon = DefaultIconGroupName;
|
|
27
|
+
}
|
|
28
|
+
const icons = getIcons()[icon];
|
|
29
|
+
if (!icons) {
|
|
30
|
+
throw new Error(`Icon group name "${icon}" not found for sidebar icon.`);
|
|
31
|
+
}
|
|
32
|
+
if (tab && typeof tab === "object") {
|
|
33
|
+
tab = tab.id;
|
|
34
|
+
}
|
|
35
|
+
await setSidebarIcon({ path: icons, tabId: tab });
|
|
36
|
+
};
|
|
24
37
|
export {
|
|
25
38
|
changeActionIcon,
|
|
39
|
+
changeSidebarIcon,
|
|
26
40
|
getIcons
|
|
27
41
|
};
|
|
28
42
|
//# sourceMappingURL=icon.js.map
|
package/dist/main/icon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/icon.ts"],"sourcesContent":["import {setActionIcon} from \"@addon-core/browser\";\n\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\ntype Tab = chrome.tabs.Tab;\n\nexport const getIcons = (): Record<string, Record<number, string>> => {\n try {\n // @ts-expect-error: __ADNBN_ICONS__ is a virtual variable generated by the bundler `src/cli/plugins/icon/index.ts`\n return __ADNBN_ICONS__;\n } catch (e) {\n console.error(\"Failed getting icons: \", e);\n }\n\n return {};\n};\n\nexport const changeActionIcon = async (icon?: string, tab?: number | Tab): Promise<void> => {\n if (!icon) {\n icon = DefaultIconGroupName;\n }\n\n const icons = getIcons()[icon];\n\n if (!icons) {\n throw new Error(`Icon group name \"${icon}\" not found for action icon.`);\n }\n\n if (tab && typeof tab === \"object\") {\n tab = tab.id;\n }\n\n await setActionIcon({path: icons, tabId: tab});\n};\n"],"mappings":"AAAA,SAAQ,
|
|
1
|
+
{"version":3,"sources":["../../src/main/icon.ts"],"sourcesContent":["import {setActionIcon, setSidebarIcon} from \"@addon-core/browser\";\n\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\ntype Tab = chrome.tabs.Tab;\n\nexport const getIcons = (): Record<string, Record<number, string>> => {\n try {\n // @ts-expect-error: __ADNBN_ICONS__ is a virtual variable generated by the bundler `src/cli/plugins/icon/index.ts`\n return __ADNBN_ICONS__;\n } catch (e) {\n console.error(\"Failed getting icons: \", e);\n }\n\n return {};\n};\n\nexport const changeActionIcon = async (icon?: string, tab?: number | Tab): Promise<void> => {\n if (!icon) {\n icon = DefaultIconGroupName;\n }\n\n const icons = getIcons()[icon];\n\n if (!icons) {\n throw new Error(`Icon group name \"${icon}\" not found for action icon.`);\n }\n\n if (tab && typeof tab === \"object\") {\n tab = tab.id;\n }\n\n await setActionIcon({path: icons, tabId: tab});\n};\n\nexport const changeSidebarIcon = async (icon?: string, tab?: number | Tab): Promise<void> => {\n if (!icon) {\n icon = DefaultIconGroupName;\n }\n\n const icons = getIcons()[icon];\n\n if (!icons) {\n throw new Error(`Icon group name \"${icon}\" not found for sidebar icon.`);\n }\n\n if (tab && typeof tab === \"object\") {\n tab = tab.id;\n }\n\n await setSidebarIcon({path: icons, tabId: tab});\n};\n"],"mappings":"AAAA,SAAQ,eAAe,sBAAqB;AAE5C,SAAQ,4BAA2B;AAI5B,MAAM,WAAW,MAA8C;AAClE,MAAI;AAEA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,YAAQ,MAAM,0BAA0B,CAAC;AAAA,EAC7C;AAEA,SAAO,CAAC;AACZ;AAEO,MAAM,mBAAmB,OAAO,MAAe,QAAsC;AACxF,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,QAAQ,SAAS,EAAE,IAAI;AAE7B,MAAI,CAAC,OAAO;AACR,UAAM,IAAI,MAAM,oBAAoB,IAAI,8BAA8B;AAAA,EAC1E;AAEA,MAAI,OAAO,OAAO,QAAQ,UAAU;AAChC,UAAM,IAAI;AAAA,EACd;AAEA,QAAM,cAAc,EAAC,MAAM,OAAO,OAAO,IAAG,CAAC;AACjD;AAEO,MAAM,oBAAoB,OAAO,MAAe,QAAsC;AACzF,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,QAAQ,SAAS,EAAE,IAAI;AAE7B,MAAI,CAAC,OAAO;AACR,UAAM,IAAI,MAAM,oBAAoB,IAAI,+BAA+B;AAAA,EAC3E;AAEA,MAAI,OAAO,OAAO,QAAQ,UAAU;AAChC,UAAM,IAAI;AAAA,EACd;AAEA,QAAM,eAAe,EAAC,MAAM,OAAO,OAAO,IAAG,CAAC;AAClD;","names":[]}
|
package/dist/main/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { defineCommand, defineExecuteActionCommand } from './command.js';
|
|
|
5
5
|
export { defineConfig } from './config.js';
|
|
6
6
|
export { defineContentScript, defineContentScriptAppend } from './content.js';
|
|
7
7
|
export { getApp, getBrowser, getEnv, getManifestVersion, isBrowser } from './env.js';
|
|
8
|
-
export { changeActionIcon, getIcons } from './icon.js';
|
|
8
|
+
export { changeActionIcon, changeSidebarIcon, getIcons } from './icon.js';
|
|
9
9
|
export { B as BackgroundConfig, a as BackgroundDefinition, b as BackgroundMainHandler, e as CommandConfig, C as CommandDefinition, f as CommandExecute, d as CommandExecuteActionName, c as CommandUnresolvedDefinition, p as ContentScriptAnchor, q as ContentScriptAnchorGetter, r as ContentScriptAnchorResolver, l as ContentScriptAppend, M as ContentScriptAppendDefinition, N as ContentScriptBuilder, i as ContentScriptConfig, y as ContentScriptContainerCreator, x as ContentScriptContainerFactory, w as ContentScriptContainerOptions, v as ContentScriptContainerTag, G as ContentScriptContext, h as ContentScriptDeclarative, K as ContentScriptDefinition, k as ContentScriptEntrypointOptions, A as ContentScriptEvent, D as ContentScriptEventCallback, F as ContentScriptEventEmitter, H as ContentScriptMainFunction, g as ContentScriptMatches, n as ContentScriptMount, m as ContentScriptMountFunction, I as ContentScriptNode, J as ContentScriptNodeSet, j as ContentScriptOptions, o as ContentScriptProps, u as ContentScriptRenderHandler, s as ContentScriptRenderReactComponent, t as ContentScriptRenderValue, L as ContentScriptResolvedDefinition, z as ContentScriptWatchStrategy, E as ExecuteActionCommandDefinition, O as ManifestBuilder, P as ManifestIncognito } from '../manifest-DAV18Z2K.js';
|
|
10
10
|
export { OffscreenAlias, OffscreenMap, defineOffscreen, getOffscreen, getOffscreens } from './offscreen.js';
|
|
11
11
|
export { PageAlias, PageMap, definePage, getPageUrl, getPages } from './page.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adnbn",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.2",
|
|
5
5
|
"description": "Addon Bone - Cross-browser web extension framework with shared code base",
|
|
6
6
|
"homepage": "https://addonbone.com",
|
|
7
7
|
"license": "MIT",
|
|
@@ -204,5 +204,14 @@
|
|
|
204
204
|
"@types/react-dom": {
|
|
205
205
|
"optional": true
|
|
206
206
|
}
|
|
207
|
+
},
|
|
208
|
+
"overrides": {
|
|
209
|
+
"html-rspack-tags-plugin": {
|
|
210
|
+
"glob": "^10.4.1"
|
|
211
|
+
},
|
|
212
|
+
"test-exclude": "^7.0.1",
|
|
213
|
+
"tsup": {
|
|
214
|
+
"source-map": "^0.7.4"
|
|
215
|
+
}
|
|
207
216
|
}
|
|
208
217
|
}
|