@eclipse-docks/core 0.7.127 → 0.7.132
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/api/index.js +7 -7
- package/dist/api/services.d.ts +3 -1
- package/dist/api/services.d.ts.map +1 -1
- package/dist/{api-Da9zQcfd.js → api-DImisUWV.js} +296 -305
- package/dist/api-DImisUWV.js.map +1 -0
- package/dist/assets/{js-runtime-worker-DAva_aXx.js.map → js-runtime-worker-X93bOre4.js.map} +1 -1
- package/dist/components/attribution.d.ts +1 -0
- package/dist/components/attribution.d.ts.map +1 -1
- package/dist/components/command.d.ts +0 -1
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/extensions.d.ts +3 -0
- package/dist/components/extensions.d.ts.map +1 -1
- package/dist/components/language-selector.d.ts.map +1 -1
- package/dist/components/layout-switcher.d.ts +1 -1
- package/dist/components/layout-switcher.d.ts.map +1 -1
- package/dist/components/npm-packages.d.ts +1 -0
- package/dist/components/npm-packages.d.ts.map +1 -1
- package/dist/components/release-history.d.ts +9 -2
- package/dist/components/release-history.d.ts.map +1 -1
- package/dist/components/tasks.d.ts.map +1 -1
- package/dist/core/apploader.d.ts +2 -9
- package/dist/core/apploader.d.ts.map +1 -1
- package/dist/core/contribution-targets.d.ts +1 -0
- package/dist/core/contribution-targets.d.ts.map +1 -1
- package/dist/core/dialogservice.d.ts +3 -1
- package/dist/core/dialogservice.d.ts.map +1 -1
- package/dist/core/dropdown-item.d.ts +8 -0
- package/dist/core/dropdown-item.d.ts.map +1 -1
- package/dist/core/events.js +1 -1
- package/dist/core/layout-panels.d.ts +25 -0
- package/dist/core/layout-panels.d.ts.map +1 -0
- package/dist/dialogs/navigable-info-dialog.d.ts.map +1 -1
- package/dist/dialogs/version-info-dialog.d.ts +18 -2
- package/dist/dialogs/version-info-dialog.d.ts.map +1 -1
- package/dist/{events-B_ZxkU_G.js → events-BAE5R6TH.js} +1 -1
- package/dist/{events-B_ZxkU_G.js.map → events-BAE5R6TH.js.map} +1 -1
- package/dist/{extensions.de-Ct1DIybE.js → extensions.de-O6Sx3_t4.js} +1 -1
- package/dist/{extensions.de-Ct1DIybE.js.map → extensions.de-O6Sx3_t4.js.map} +1 -1
- package/dist/{extensions.en-DRPFtVHT.js → extensions.en-fwqJr8P-.js} +1 -1
- package/dist/{extensions.en-DRPFtVHT.js.map → extensions.en-fwqJr8P-.js.map} +1 -1
- package/dist/externals/lit.js +1 -1
- package/dist/externals/third-party.js.map +1 -1
- package/dist/externals/webawesome.js +1 -1
- package/dist/{fastviews.de-BFxFslBz.js → fastviews.de-C-B48vwv.js} +1 -1
- package/dist/fastviews.de-C-B48vwv.js.map +1 -0
- package/dist/{fastviews.en-Cb4J_JXL.js → fastviews.en-BlAxYlHD.js} +1 -1
- package/dist/fastviews.en-BlAxYlHD.js.map +1 -0
- package/dist/{filebrowser.de-GEf6Eilh.js → filebrowser.de-LWsrI9xj.js} +1 -1
- package/dist/{filebrowser.de-GEf6Eilh.js.map → filebrowser.de-LWsrI9xj.js.map} +1 -1
- package/dist/{filebrowser.en-o0Ad5f7Z.js → filebrowser.en-C02vpzAs.js} +1 -1
- package/dist/{filebrowser.en-o0Ad5f7Z.js.map → filebrowser.en-C02vpzAs.js.map} +1 -1
- package/dist/{fs-access-DTXPsV1W.js → fs-access-Cjcg0_Me.js} +27 -25
- package/dist/{fs-access-DTXPsV1W.js.map → fs-access-Cjcg0_Me.js.map} +1 -1
- package/dist/fs-access-Dp9Fwsxk.js +2 -0
- package/dist/index.js +7 -7
- package/dist/layouts/standard-layout.d.ts +9 -1
- package/dist/layouts/standard-layout.d.ts.map +1 -1
- package/dist/{logger-DT0_NW3S.js → logger-CiT0Cc4g.js} +1 -1
- package/dist/{logger-DT0_NW3S.js.map → logger-CiT0Cc4g.js.map} +1 -1
- package/dist/{logterminal.de-DKp940Ox.js → logterminal.de-BP1FuxHH.js} +1 -1
- package/dist/{logterminal.de-DKp940Ox.js.map → logterminal.de-BP1FuxHH.js.map} +1 -1
- package/dist/{logterminal.en-Ci2nm0b2.js → logterminal.en-BeDRvTvb.js} +1 -1
- package/dist/{logterminal.en-Ci2nm0b2.js.map → logterminal.en-BeDRvTvb.js.map} +1 -1
- package/dist/{partname.de-v76uEl0F.js → partname.de-C0I4Wf2X.js} +1 -1
- package/dist/{partname.de-v76uEl0F.js.map → partname.de-C0I4Wf2X.js.map} +1 -1
- package/dist/{partname.en-By5aAawT.js → partname.en-CIT8z3cY.js} +1 -1
- package/dist/{partname.en-By5aAawT.js.map → partname.en-CIT8z3cY.js.map} +1 -1
- package/dist/parts/contextmenu.d.ts.map +1 -1
- package/dist/parts/index.js +1 -1
- package/dist/parts/part.d.ts +2 -0
- package/dist/parts/part.d.ts.map +1 -1
- package/dist/parts/resizable-grid.d.ts +10 -3
- package/dist/parts/resizable-grid.d.ts.map +1 -1
- package/dist/parts/tabs.d.ts +6 -0
- package/dist/parts/tabs.d.ts.map +1 -1
- package/dist/{parts-CRVxaDd-.js → parts-DQRktiiR.js} +1086 -611
- package/dist/parts-DQRktiiR.js.map +1 -0
- package/dist/{tasks.de-y2xPmQ1k.js → tasks.de-DRvUVugd.js} +1 -1
- package/dist/{tasks.de-y2xPmQ1k.js.map → tasks.de-DRvUVugd.js.map} +1 -1
- package/dist/{tasks.en-BTbFrxJj.js → tasks.en-dRDildBd.js} +1 -1
- package/dist/{tasks.en-BTbFrxJj.js.map → tasks.en-dRDildBd.js.map} +1 -1
- package/dist/vite-plugin-app-splash.js.map +1 -1
- package/dist/vite-plugin-local-aliases.js +1 -1
- package/dist/vite-plugin-local-aliases.js.map +1 -1
- package/dist/vite-plugin-resolve-deps.d.ts +6 -3
- package/dist/vite-plugin-resolve-deps.d.ts.map +1 -1
- package/dist/vite-plugin-resolve-deps.js +17 -15
- package/dist/vite-plugin-resolve-deps.js.map +1 -1
- package/dist/{webawesome-Y1_HnKa_.js → webawesome-C0Da7hPu.js} +19 -11
- package/dist/webawesome-C0Da7hPu.js.map +1 -0
- package/dist/{widget-BqQtioK1.js → widget-DUR6wxME.js} +6 -5
- package/dist/{widget-BqQtioK1.js.map → widget-DUR6wxME.js.map} +1 -1
- package/dist/widgets/index.js +1 -1
- package/dist/{widgets-C9V42Mqq.js → widgets-A9XMOA_j.js} +2 -2
- package/dist/{widgets-C9V42Mqq.js.map → widgets-A9XMOA_j.js.map} +1 -1
- package/package.json +1 -1
- package/src/api/services.ts +12 -0
- package/src/components/attribution.ts +2 -0
- package/src/components/command.ts +2 -8
- package/src/components/extensions.ts +20 -3
- package/src/components/language-selector.ts +0 -1
- package/src/components/layout-switcher.ts +39 -26
- package/src/components/npm-packages.ts +2 -0
- package/src/components/release-history.ts +29 -40
- package/src/components/tasks.ts +0 -1
- package/src/contributions/default-layout-contributions.ts +7 -43
- package/src/contributions/default-ui-contributions.ts +4 -4
- package/src/core/apploader.ts +7 -54
- package/src/core/contribution-targets.ts +1 -0
- package/src/core/dialogservice.ts +76 -19
- package/src/core/dropdown-item.ts +52 -17
- package/src/core/extensionregistry.ts +1 -1
- package/src/core/layout-panels.ts +121 -0
- package/src/dialogs/navigable-info-dialog.ts +5 -2
- package/src/dialogs/version-info-dialog.ts +163 -21
- package/src/icons/icons.txt +4 -2
- package/src/icons/layout-standard-bottom-panel.svg +4 -4
- package/src/icons/layout-standard-full.svg +4 -4
- package/src/icons/layout-standard-left-aux.svg +8 -0
- package/src/icons/layout-standard-left-sidebar.svg +5 -0
- package/src/icons/layout-standard-right-aux.svg +8 -0
- package/src/icons/layout-standard-right-sidebar.svg +5 -0
- package/src/layouts/standard-layout.ts +81 -5
- package/src/parts/contextmenu.ts +2 -1
- package/src/parts/part.ts +24 -0
- package/src/parts/resizable-grid.ts +125 -57
- package/src/parts/tabs.ts +103 -0
- package/src/vite-plugin-resolve-deps.ts +29 -25
- package/dist/api-Da9zQcfd.js.map +0 -1
- package/dist/fastviews.de-BFxFslBz.js.map +0 -1
- package/dist/fastviews.en-Cb4J_JXL.js.map +0 -1
- package/dist/fs-access-CzOh5ot8.js +0 -2
- package/dist/parts-CRVxaDd-.js.map +0 -1
- package/dist/webawesome-Y1_HnKa_.js.map +0 -1
- package/src/icons/layout-standard-bottom-sidebar.svg +0 -6
- package/src/icons/layout-standard.svg +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.de-
|
|
1
|
+
{"version":3,"file":"tasks.de-DRvUVugd.js","names":[],"sources":["../src/components/tasks.de.json"],"sourcesContent":["{\n \"ACTIVE_TASKS\": \"Aktive Aufgaben\",\n \"ACTIVE_TASKS_TITLE\": \"Aktive Aufgaben: {taskCount}. Klicken Sie, um Details anzuzeigen.\"\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.en-
|
|
1
|
+
{"version":3,"file":"tasks.en-dRDildBd.js","names":[],"sources":["../src/components/tasks.en.json"],"sourcesContent":["{\n \"ACTIVE_TASKS\": \"Active Tasks\",\n \"ACTIVE_TASKS_TITLE\": \"Active tasks: {taskCount}. Click to view details.\"\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-app-splash.js","names":[],"sources":["../src/vite-plugin-app-splash.ts"],"sourcesContent":["import type { Logger, Plugin } from 'vite';\n\nexport interface SplashLogoOptions {\n /**\n * URL for the splash logo (served from the app `public/` folder by default).\n * @default '/logo-loading.svg'\n */\n src?: string;\n /**\n * Accessible name for the logo. When set, the image is exposed to assistive tech\n * (and `aria-hidden` is not applied).\n */\n alt?: string;\n /**\n * @default 192\n */\n width?: number;\n /**\n * @default 64\n */\n height?: number;\n}\n\nexport interface AppSplashPluginOptions {\n /**\n * Logo dimensions and accessibility (`src` defaults to `/logo-loading.svg` when omitted).\n */\n logo?: SplashLogoOptions;\n /**\n * Short tagline shown under the logo on the splash screen (static HTML text).\n * The status line under the progress bar still follows `app-load-progress` events.\n */\n description?: string;\n /**\n * When false, the plugin does not modify `index.html`.\n * @default true\n */\n enabled?: boolean;\n}\n\nfunction escapeHtml(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n}\n\nfunction resolveLogo(\n options: AppSplashPluginOptions,\n): { src: string; alt: string; width: number; height: number } {\n const logo = options.logo ?? {};\n const src = logo.src ?? '/logo-loading.svg';\n const width = logo.width ?? 192;\n const height = logo.height ?? 64;\n const alt = logo.alt ?? '';\n return { src, alt, width, height };\n}\n\nfunction buildSplashFragment(\n logo: { src: string; alt: string; width: number; height: number },\n description: string | undefined,\n): string {\n const w = logo.width;\n const h = logo.height;\n const imgAttrs =\n logo.alt.length > 0\n ? `src=\"${escapeHtml(logo.src)}\" alt=\"${escapeHtml(logo.alt)}\" width=\"${w}\" height=\"${h}\" decoding=\"async\" style=\"display:block;width:${w}px;height:${h}px;max-width:${w}px;max-height:${h}px;min-width:${w}px;min-height:${h}px;flex-shrink:0;\"`\n : `src=\"${escapeHtml(logo.src)}\" alt=\"\" width=\"${w}\" height=\"${h}\" decoding=\"async\" style=\"display:block;width:${w}px;height:${h}px;max-width:${w}px;max-height:${h}px;min-width:${w}px;min-height:${h}px;flex-shrink:0;\" aria-hidden=\"true\"`;\n\n const desc =\n description !== undefined && description.trim().length > 0\n ? `\n <p id=\"app-splash-description\" style=\"margin:0;font-size:0.875rem;color:var(--wa-text-secondary,#888);text-align:center;max-width:min(360px,90vw);line-height:1.4;\">${escapeHtml(description.trim())}</p>`\n : '';\n\n return `\n <div id=\"app-loading-overlay\" style=\"position:fixed;inset:0;z-index:1000;background:var(--wa-background,#1a1a1a);pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;\">\n <img ${imgAttrs}/>\n ${desc}\n <div style=\"width:240px;height:3px;background:var(--wa-layer-2,#2a2a2a);border-radius:2px;overflow:hidden;\">\n <div style=\"width:40%;height:100%;background:var(--wa-color-primary,#2299dd);border-radius:2px;animation:app-loading-bar 1.5s ease-in-out infinite;\" aria-hidden=\"true\"></div>\n </div>\n <div id=\"app-load-progress\" style=\"font-size:0.8125rem;color:var(--wa-text-secondary,#888);\" aria-live=\"polite\">Starting…</div>\n </div>\n <script>\n window.addEventListener('app-load-progress', function(e) {\n var el = document.getElementById('app-load-progress');\n if (el && e.detail && e.detail.message) el.textContent = e.detail.message;\n });\n window.addEventListener('app-loaded', function() {\n var el = document.getElementById('app-loading-overlay');\n if (el) { el.style.opacity = '0'; el.style.transition = 'opacity 0.15s'; setTimeout(function() { el.remove(); }, 160); }\n }, { once: true });\n </script>`;\n}\n\nconst APP_ROOT_RE =\n /<div\\b[^>]*\\bid=[\"']app-root[\"'][^>]*>\\s*<\\/div>/i;\n\nconst KEYFRAMES_STYLE = `<style>@keyframes app-loading-bar{0%{transform:translateX(0)}50%{transform:translateX(144px)}100%{transform:translateX(0)}}</style>`;\n\n/**\n * Injects the Docks startup splash (overlay, progress line, `app-load-progress` / `app-loaded` listeners)\n * into `index.html` after `#app-root`, and adds the loading-bar keyframes in `<head>` when missing.\n *\n * Downstream apps only need a `<div id=\"app-root\"></div>` and this plugin; branding stays in `public/logo-loading.svg` (or `logo`).\n */\nexport function appSplashPlugin(options: AppSplashPluginOptions = {}): Plugin {\n const enabled = options.enabled ?? true;\n let logger: Logger | undefined;\n\n return {\n name: 'eclipse-docks-app-splash',\n configResolved(config) {\n logger = config.logger;\n },\n transformIndexHtml: {\n order: 'pre',\n handler(html) {\n if (!enabled) return html;\n if (/id=[\"']app-loading-overlay[\"']/.test(html)) return html;\n\n if (!APP_ROOT_RE.test(html)) {\n logger?.warn(\n '[@eclipse-docks/app-splash] No <div id=\"app-root\"></div> found; splash not injected.',\n );\n return html;\n }\n\n const logo = resolveLogo(options);\n let out = html;\n if (!out.includes('app-loading-bar')) {\n out = out.replace(/<\\/head>/i, `${KEYFRAMES_STYLE}</head>`);\n }\n out = out.replace(APP_ROOT_RE, (m) => `${m}${buildSplashFragment(logo, options.description)}`);\n return out;\n },\n },\n };\n}\n"],"mappings":";AAwCA,SAAS,WAAW,GAAmB;
|
|
1
|
+
{"version":3,"file":"vite-plugin-app-splash.js","names":[],"sources":["../src/vite-plugin-app-splash.ts"],"sourcesContent":["import type { Logger, Plugin } from 'vite';\n\nexport interface SplashLogoOptions {\n /**\n * URL for the splash logo (served from the app `public/` folder by default).\n * @default '/logo-loading.svg'\n */\n src?: string;\n /**\n * Accessible name for the logo. When set, the image is exposed to assistive tech\n * (and `aria-hidden` is not applied).\n */\n alt?: string;\n /**\n * @default 192\n */\n width?: number;\n /**\n * @default 64\n */\n height?: number;\n}\n\nexport interface AppSplashPluginOptions {\n /**\n * Logo dimensions and accessibility (`src` defaults to `/logo-loading.svg` when omitted).\n */\n logo?: SplashLogoOptions;\n /**\n * Short tagline shown under the logo on the splash screen (static HTML text).\n * The status line under the progress bar still follows `app-load-progress` events.\n */\n description?: string;\n /**\n * When false, the plugin does not modify `index.html`.\n * @default true\n */\n enabled?: boolean;\n}\n\nfunction escapeHtml(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n}\n\nfunction resolveLogo(\n options: AppSplashPluginOptions,\n): { src: string; alt: string; width: number; height: number } {\n const logo = options.logo ?? {};\n const src = logo.src ?? '/logo-loading.svg';\n const width = logo.width ?? 192;\n const height = logo.height ?? 64;\n const alt = logo.alt ?? '';\n return { src, alt, width, height };\n}\n\nfunction buildSplashFragment(\n logo: { src: string; alt: string; width: number; height: number },\n description: string | undefined,\n): string {\n const w = logo.width;\n const h = logo.height;\n const imgAttrs =\n logo.alt.length > 0\n ? `src=\"${escapeHtml(logo.src)}\" alt=\"${escapeHtml(logo.alt)}\" width=\"${w}\" height=\"${h}\" decoding=\"async\" style=\"display:block;width:${w}px;height:${h}px;max-width:${w}px;max-height:${h}px;min-width:${w}px;min-height:${h}px;flex-shrink:0;\"`\n : `src=\"${escapeHtml(logo.src)}\" alt=\"\" width=\"${w}\" height=\"${h}\" decoding=\"async\" style=\"display:block;width:${w}px;height:${h}px;max-width:${w}px;max-height:${h}px;min-width:${w}px;min-height:${h}px;flex-shrink:0;\" aria-hidden=\"true\"`;\n\n const desc =\n description !== undefined && description.trim().length > 0\n ? `\n <p id=\"app-splash-description\" style=\"margin:0;font-size:0.875rem;color:var(--wa-text-secondary,#888);text-align:center;max-width:min(360px,90vw);line-height:1.4;\">${escapeHtml(description.trim())}</p>`\n : '';\n\n return `\n <div id=\"app-loading-overlay\" style=\"position:fixed;inset:0;z-index:1000;background:var(--wa-background,#1a1a1a);pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;\">\n <img ${imgAttrs}/>\n ${desc}\n <div style=\"width:240px;height:3px;background:var(--wa-layer-2,#2a2a2a);border-radius:2px;overflow:hidden;\">\n <div style=\"width:40%;height:100%;background:var(--wa-color-primary,#2299dd);border-radius:2px;animation:app-loading-bar 1.5s ease-in-out infinite;\" aria-hidden=\"true\"></div>\n </div>\n <div id=\"app-load-progress\" style=\"font-size:0.8125rem;color:var(--wa-text-secondary,#888);\" aria-live=\"polite\">Starting…</div>\n </div>\n <script>\n window.addEventListener('app-load-progress', function(e) {\n var el = document.getElementById('app-load-progress');\n if (el && e.detail && e.detail.message) el.textContent = e.detail.message;\n });\n window.addEventListener('app-loaded', function() {\n var el = document.getElementById('app-loading-overlay');\n if (el) { el.style.opacity = '0'; el.style.transition = 'opacity 0.15s'; setTimeout(function() { el.remove(); }, 160); }\n }, { once: true });\n </script>`;\n}\n\nconst APP_ROOT_RE =\n /<div\\b[^>]*\\bid=[\"']app-root[\"'][^>]*>\\s*<\\/div>/i;\n\nconst KEYFRAMES_STYLE = `<style>@keyframes app-loading-bar{0%{transform:translateX(0)}50%{transform:translateX(144px)}100%{transform:translateX(0)}}</style>`;\n\n/**\n * Injects the Docks startup splash (overlay, progress line, `app-load-progress` / `app-loaded` listeners)\n * into `index.html` after `#app-root`, and adds the loading-bar keyframes in `<head>` when missing.\n *\n * Downstream apps only need a `<div id=\"app-root\"></div>` and this plugin; branding stays in `public/logo-loading.svg` (or `logo`).\n */\nexport function appSplashPlugin(options: AppSplashPluginOptions = {}): Plugin {\n const enabled = options.enabled ?? true;\n let logger: Logger | undefined;\n\n return {\n name: 'eclipse-docks-app-splash',\n configResolved(config) {\n logger = config.logger;\n },\n transformIndexHtml: {\n order: 'pre',\n handler(html) {\n if (!enabled) return html;\n if (/id=[\"']app-loading-overlay[\"']/.test(html)) return html;\n\n if (!APP_ROOT_RE.test(html)) {\n logger?.warn(\n '[@eclipse-docks/app-splash] No <div id=\"app-root\"></div> found; splash not injected.',\n );\n return html;\n }\n\n const logo = resolveLogo(options);\n let out = html;\n if (!out.includes('app-loading-bar')) {\n out = out.replace(/<\\/head>/i, `${KEYFRAMES_STYLE}</head>`);\n }\n out = out.replace(APP_ROOT_RE, (m) => `${m}${buildSplashFragment(logo, options.description)}`);\n return out;\n },\n },\n };\n}\n"],"mappings":";AAwCA,SAAS,WAAW,GAAmB;CACrC,OAAO,EACJ,QAAQ,MAAM,OAAO,CAAC,CACtB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,QAAQ;AAC3B;AAEA,SAAS,YACP,SAC6D;CAC7D,MAAM,OAAO,QAAQ,QAAQ,CAAC;CAC9B,MAAM,MAAM,KAAK,OAAO;CACxB,MAAM,QAAQ,KAAK,SAAS;CAC5B,MAAM,SAAS,KAAK,UAAU;CAE9B,OAAO;EAAE;EAAK,KADF,KAAK,OAAO;EACL;EAAO;CAAO;AACnC;AAEA,SAAS,oBACP,MACA,aACQ;CACR,MAAM,IAAI,KAAK;CACf,MAAM,IAAI,KAAK;CAYf,OAAO;;WAVL,KAAK,IAAI,SAAS,IACd,QAAQ,WAAW,KAAK,GAAG,EAAE,SAAS,WAAW,KAAK,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,gDAAgD,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAC5N,QAAQ,WAAW,KAAK,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,gDAAgD,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,uCAUzL;MAPhB,gBAAgB,KAAA,KAAa,YAAY,KAAK,CAAC,CAAC,SAAS,IACrD;0KACkK,WAAW,YAAY,KAAK,CAAC,EAAE,QACjM,GAKG;;;;;;;;;;;;;;;;AAgBX;AAEA,IAAM,cACJ;AAEF,IAAM,kBAAkB;;;;;;;AAQxB,SAAgB,gBAAgB,UAAkC,CAAC,GAAW;CAC5E,MAAM,UAAU,QAAQ,WAAW;CACnC,IAAI;CAEJ,OAAO;EACL,MAAM;EACN,eAAe,QAAQ;GACrB,SAAS,OAAO;EAClB;EACA,oBAAoB;GAClB,OAAO;GACP,QAAQ,MAAM;IACZ,IAAI,CAAC,SAAS,OAAO;IACrB,IAAI,iCAAiC,KAAK,IAAI,GAAG,OAAO;IAExD,IAAI,CAAC,YAAY,KAAK,IAAI,GAAG;KAC3B,QAAQ,KACN,wFACF;KACA,OAAO;IACT;IAEA,MAAM,OAAO,YAAY,OAAO;IAChC,IAAI,MAAM;IACV,IAAI,CAAC,IAAI,SAAS,iBAAiB,GACjC,MAAM,IAAI,QAAQ,aAAa,GAAG,gBAAgB,QAAQ;IAE5D,MAAM,IAAI,QAAQ,cAAc,MAAM,GAAG,IAAI,oBAAoB,MAAM,QAAQ,WAAW,GAAG;IAC7F,OAAO;GACT;EACF;CACF;AACF"}
|
|
@@ -47,7 +47,7 @@ var localAliasesPlugin = (options = {}) => {
|
|
|
47
47
|
};
|
|
48
48
|
config.optimizeDeps ??= {};
|
|
49
49
|
const existingExclude = config.optimizeDeps.exclude ?? [];
|
|
50
|
-
config.optimizeDeps.exclude = [
|
|
50
|
+
config.optimizeDeps.exclude = [.../* @__PURE__ */ new Set([
|
|
51
51
|
...existingExclude,
|
|
52
52
|
...Object.keys(aliases),
|
|
53
53
|
...extraOptimizeDepsExclude
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-local-aliases.js","names":[],"sources":["../src/vite-plugin-local-aliases.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport type { PluginOption, UserConfig } from 'vite';\n\nexport interface PackagePattern {\n /**\n * Folder name prefix used to detect packages, e.g. \"extension-\" or \"core\".\n */\n folderPrefix: string;\n\n /**\n * Optional package name prefix filter, e.g. \"@eclipse-docks/\".\n */\n packageNamePrefix?: string;\n}\n\nexport interface LocalAliasesOptions {\n /**\n * Root directory that contains the local packages.\n * Defaults to the parent of the Vite `root` directory.\n */\n packagesRoot?: string;\n\n /**\n * Package patterns to scan for. By default looks for \"extension-*\"\n * folders with any package name.\n */\n patterns?: PackagePattern[];\n\n /**\n * If true, aliases will point to `src` in dev mode and `dist` otherwise.\n * Defaults to `true`.\n */\n useSrcInDev?: boolean;\n /**\n * If true, always point aliases at `src` regardless of mode.\n */\n alwaysUseSrc?: boolean;\n}\n\ninterface EclipseDocksPackageJson {\n name?: string;\n /**\n * Optional: extra `optimizeDeps.exclude` entries for this workspace package\n * (e.g. heavy WASM npm deps that must not be pre-bundled in dev).\n */\n eclipseDocks?: {\n viteOptimizeDepsExclude?: string[];\n };\n}\n\nfunction discoverLocalAliasesAndExtraExcludes(\n cfg: Pick<UserConfig, 'root'>,\n mode: string,\n options: LocalAliasesOptions = {},\n): { aliases: Record<string, string>; extraOptimizeDepsExclude: string[] } {\n const useSrcInDev = options.useSrcInDev ?? true;\n const alwaysUseSrc = options.alwaysUseSrc ?? false;\n\n const rootDir = cfg.root ?? process.cwd();\n const packagesRoot =\n options.packagesRoot ?? path.resolve(rootDir, '..');\n\n const entries = fs.readdirSync(packagesRoot, { withFileTypes: true });\n const useSrc = alwaysUseSrc || (useSrcInDev && mode === 'development');\n\n const patterns: PackagePattern[] =\n options.patterns && options.patterns.length\n ? options.patterns\n : [{ folderPrefix: 'extension-' }];\n\n const aliases: Record<string, string> = {};\n const extraOptimizeDepsExclude: string[] = [];\n\n for (const entry of entries) {\n if (!entry.isDirectory()) {\n continue;\n }\n\n const pattern = patterns.find((p) =>\n entry.name.startsWith(p.folderPrefix),\n );\n\n if (!pattern) {\n continue;\n }\n\n const pkgDir = path.join(packagesRoot, entry.name);\n const pkgPath = path.join(pkgDir, 'package.json');\n if (!fs.existsSync(pkgPath)) {\n continue;\n }\n\n const pkgJson = fs.readFileSync(pkgPath, 'utf8');\n const pkg = JSON.parse(pkgJson) as EclipseDocksPackageJson;\n if (!pkg.name) {\n continue;\n }\n\n if (\n pattern.packageNamePrefix &&\n !pkg.name.startsWith(pattern.packageNamePrefix)\n ) {\n continue;\n }\n\n const entryPoint = useSrc\n ? path.join(pkgDir, 'src')\n : path.join(pkgDir, 'dist');\n\n aliases[pkg.name] = entryPoint;\n\n const more = pkg.eclipseDocks?.viteOptimizeDepsExclude;\n if (Array.isArray(more)) {\n for (const id of more) {\n if (typeof id === 'string' && id.length > 0) {\n extraOptimizeDepsExclude.push(id);\n }\n }\n }\n }\n\n return { aliases, extraOptimizeDepsExclude };\n}\n\nexport const localAliasesPlugin = (\n options: LocalAliasesOptions = {},\n): PluginOption => {\n return {\n name: 'local-aliases',\n config(config, env) {\n const { aliases, extraOptimizeDepsExclude } =\n discoverLocalAliasesAndExtraExcludes(config, env.mode, options);\n\n config.resolve ??= {};\n const existingAlias = config.resolve.alias ?? {};\n\n config.resolve.alias = {\n ...(typeof existingAlias === 'object' ? existingAlias : {}),\n ...aliases,\n };\n\n config.optimizeDeps ??= {};\n const existingExclude = config.optimizeDeps.exclude ?? [];\n\n config.optimizeDeps.exclude = [\n ...new Set([\n ...existingExclude,\n ...Object.keys(aliases),\n ...extraOptimizeDepsExclude,\n ]),\n ];\n },\n };\n};\n\n"],"mappings":";;;AAmDA,SAAS,qCACP,KACA,MACA,UAA+B,
|
|
1
|
+
{"version":3,"file":"vite-plugin-local-aliases.js","names":[],"sources":["../src/vite-plugin-local-aliases.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport type { PluginOption, UserConfig } from 'vite';\n\nexport interface PackagePattern {\n /**\n * Folder name prefix used to detect packages, e.g. \"extension-\" or \"core\".\n */\n folderPrefix: string;\n\n /**\n * Optional package name prefix filter, e.g. \"@eclipse-docks/\".\n */\n packageNamePrefix?: string;\n}\n\nexport interface LocalAliasesOptions {\n /**\n * Root directory that contains the local packages.\n * Defaults to the parent of the Vite `root` directory.\n */\n packagesRoot?: string;\n\n /**\n * Package patterns to scan for. By default looks for \"extension-*\"\n * folders with any package name.\n */\n patterns?: PackagePattern[];\n\n /**\n * If true, aliases will point to `src` in dev mode and `dist` otherwise.\n * Defaults to `true`.\n */\n useSrcInDev?: boolean;\n /**\n * If true, always point aliases at `src` regardless of mode.\n */\n alwaysUseSrc?: boolean;\n}\n\ninterface EclipseDocksPackageJson {\n name?: string;\n /**\n * Optional: extra `optimizeDeps.exclude` entries for this workspace package\n * (e.g. heavy WASM npm deps that must not be pre-bundled in dev).\n */\n eclipseDocks?: {\n viteOptimizeDepsExclude?: string[];\n };\n}\n\nfunction discoverLocalAliasesAndExtraExcludes(\n cfg: Pick<UserConfig, 'root'>,\n mode: string,\n options: LocalAliasesOptions = {},\n): { aliases: Record<string, string>; extraOptimizeDepsExclude: string[] } {\n const useSrcInDev = options.useSrcInDev ?? true;\n const alwaysUseSrc = options.alwaysUseSrc ?? false;\n\n const rootDir = cfg.root ?? process.cwd();\n const packagesRoot =\n options.packagesRoot ?? path.resolve(rootDir, '..');\n\n const entries = fs.readdirSync(packagesRoot, { withFileTypes: true });\n const useSrc = alwaysUseSrc || (useSrcInDev && mode === 'development');\n\n const patterns: PackagePattern[] =\n options.patterns && options.patterns.length\n ? options.patterns\n : [{ folderPrefix: 'extension-' }];\n\n const aliases: Record<string, string> = {};\n const extraOptimizeDepsExclude: string[] = [];\n\n for (const entry of entries) {\n if (!entry.isDirectory()) {\n continue;\n }\n\n const pattern = patterns.find((p) =>\n entry.name.startsWith(p.folderPrefix),\n );\n\n if (!pattern) {\n continue;\n }\n\n const pkgDir = path.join(packagesRoot, entry.name);\n const pkgPath = path.join(pkgDir, 'package.json');\n if (!fs.existsSync(pkgPath)) {\n continue;\n }\n\n const pkgJson = fs.readFileSync(pkgPath, 'utf8');\n const pkg = JSON.parse(pkgJson) as EclipseDocksPackageJson;\n if (!pkg.name) {\n continue;\n }\n\n if (\n pattern.packageNamePrefix &&\n !pkg.name.startsWith(pattern.packageNamePrefix)\n ) {\n continue;\n }\n\n const entryPoint = useSrc\n ? path.join(pkgDir, 'src')\n : path.join(pkgDir, 'dist');\n\n aliases[pkg.name] = entryPoint;\n\n const more = pkg.eclipseDocks?.viteOptimizeDepsExclude;\n if (Array.isArray(more)) {\n for (const id of more) {\n if (typeof id === 'string' && id.length > 0) {\n extraOptimizeDepsExclude.push(id);\n }\n }\n }\n }\n\n return { aliases, extraOptimizeDepsExclude };\n}\n\nexport const localAliasesPlugin = (\n options: LocalAliasesOptions = {},\n): PluginOption => {\n return {\n name: 'local-aliases',\n config(config, env) {\n const { aliases, extraOptimizeDepsExclude } =\n discoverLocalAliasesAndExtraExcludes(config, env.mode, options);\n\n config.resolve ??= {};\n const existingAlias = config.resolve.alias ?? {};\n\n config.resolve.alias = {\n ...(typeof existingAlias === 'object' ? existingAlias : {}),\n ...aliases,\n };\n\n config.optimizeDeps ??= {};\n const existingExclude = config.optimizeDeps.exclude ?? [];\n\n config.optimizeDeps.exclude = [\n ...new Set([\n ...existingExclude,\n ...Object.keys(aliases),\n ...extraOptimizeDepsExclude,\n ]),\n ];\n },\n };\n};\n\n"],"mappings":";;;AAmDA,SAAS,qCACP,KACA,MACA,UAA+B,CAAC,GACyC;CACzE,MAAM,cAAc,QAAQ,eAAe;CAC3C,MAAM,eAAe,QAAQ,gBAAgB;CAE7C,MAAM,UAAU,IAAI,QAAQ,QAAQ,IAAI;CACxC,MAAM,eACJ,QAAQ,gBAAgB,KAAK,QAAQ,SAAS,IAAI;CAEpD,MAAM,UAAU,GAAG,YAAY,cAAc,EAAE,eAAe,KAAK,CAAC;CACpE,MAAM,SAAS,gBAAiB,eAAe,SAAS;CAExD,MAAM,WACJ,QAAQ,YAAY,QAAQ,SAAS,SACjC,QAAQ,WACR,CAAC,EAAE,cAAc,aAAa,CAAC;CAErC,MAAM,UAAkC,CAAC;CACzC,MAAM,2BAAqC,CAAC;CAE5C,KAAK,MAAM,SAAS,SAAS;EAC3B,IAAI,CAAC,MAAM,YAAY,GACrB;EAGF,MAAM,UAAU,SAAS,MAAM,MAC7B,MAAM,KAAK,WAAW,EAAE,YAAY,CACtC;EAEA,IAAI,CAAC,SACH;EAGF,MAAM,SAAS,KAAK,KAAK,cAAc,MAAM,IAAI;EACjD,MAAM,UAAU,KAAK,KAAK,QAAQ,cAAc;EAChD,IAAI,CAAC,GAAG,WAAW,OAAO,GACxB;EAGF,MAAM,UAAU,GAAG,aAAa,SAAS,MAAM;EAC/C,MAAM,MAAM,KAAK,MAAM,OAAO;EAC9B,IAAI,CAAC,IAAI,MACP;EAGF,IACE,QAAQ,qBACR,CAAC,IAAI,KAAK,WAAW,QAAQ,iBAAiB,GAE9C;EAGF,MAAM,aAAa,SACf,KAAK,KAAK,QAAQ,KAAK,IACvB,KAAK,KAAK,QAAQ,MAAM;EAE5B,QAAQ,IAAI,QAAQ;EAEpB,MAAM,OAAO,IAAI,cAAc;EAC/B,IAAI,MAAM,QAAQ,IAAI,GACf;QAAA,MAAM,MAAM,MACf,IAAI,OAAO,OAAO,YAAY,GAAG,SAAS,GACxC,yBAAyB,KAAK,EAAE;EAAA;CAIxC;CAEA,OAAO;EAAE;EAAS;CAAyB;AAC7C;AAEA,IAAa,sBACX,UAA+B,CAAC,MACf;CACjB,OAAO;EACL,MAAM;EACN,OAAO,QAAQ,KAAK;GAClB,MAAM,EAAE,SAAS,6BACf,qCAAqC,QAAQ,IAAI,MAAM,OAAO;GAEhE,OAAO,YAAY,CAAC;GACpB,MAAM,gBAAgB,OAAO,QAAQ,SAAS,CAAC;GAE/C,OAAO,QAAQ,QAAQ;IACrB,GAAI,OAAO,kBAAkB,WAAW,gBAAgB,CAAC;IACzD,GAAG;GACL;GAEA,OAAO,iBAAiB,CAAC;GACzB,MAAM,kBAAkB,OAAO,aAAa,WAAW,CAAC;GAExD,OAAO,aAAa,UAAU,CAC5B,mBAAG,IAAI,IAAI;IACT,GAAG;IACH,GAAG,OAAO,KAAK,OAAO;IACtB,GAAG;GACL,CAAC,CACH;EACF;CACF;AACF"}
|
|
@@ -12,8 +12,10 @@ export declare function resolvePackageInfo(appRoot: string, options?: {
|
|
|
12
12
|
export declare function resolveDepVersions(appRoot: string, options?: {
|
|
13
13
|
includeDevDependencies?: boolean;
|
|
14
14
|
}): Record<string, string>;
|
|
15
|
-
/** Virtual module id;
|
|
15
|
+
/** Virtual module id; prepended to `src/main.ts` when extension side-effects are enabled. */
|
|
16
16
|
export declare const VIRTUAL_EXTENSION_IMPORTS = "virtual:eclipse-docks-extension-imports";
|
|
17
|
+
/** Prepends the virtual extension side-effect import when not already present. */
|
|
18
|
+
export declare function prependExtensionSideEffectImport(code: string): string;
|
|
17
19
|
export interface ExtensionSideEffectsOptions {
|
|
18
20
|
/**
|
|
19
21
|
* When false, disables automatic extension side-effect imports. Omitted or true keeps them on.
|
|
@@ -36,8 +38,9 @@ export type ResolveDepVersionsPluginOptions = {
|
|
|
36
38
|
includeDevDependencies?: boolean;
|
|
37
39
|
/**
|
|
38
40
|
* By default, registers a virtual module that side-effect-imports every matching direct
|
|
39
|
-
* `dependencies` entry (see `ExtensionSideEffectsOptions`), and
|
|
40
|
-
* `import 'virtual:eclipse-docks-extension-imports'`
|
|
41
|
+
* `dependencies` entry (see `ExtensionSideEffectsOptions`), and prepends
|
|
42
|
+
* `import 'virtual:eclipse-docks-extension-imports'` to `src/main.ts` so extension
|
|
43
|
+
* registration completes before `registerApp({ autoStart: true })`.
|
|
41
44
|
* Pass `false` or `{ enabled: false }` to disable.
|
|
42
45
|
*/
|
|
43
46
|
extensionSideEffects?: boolean | ExtensionSideEffectsOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-resolve-deps.d.ts","sourceRoot":"","sources":["../src/vite-plugin-resolve-deps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AA8DD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,mBAAmB,GAAG,IAAI,CAkB5B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxB;AAID,
|
|
1
|
+
{"version":3,"file":"vite-plugin-resolve-deps.d.ts","sourceRoot":"","sources":["../src/vite-plugin-resolve-deps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC;AA8DD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,mBAAmB,GAAG,IAAI,CAkB5B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxB;AAID,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB,4CAA4C,CAAC;AASnF,kFAAkF;AAClF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrE;AAOD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,2BAA2B,CAAC;CAC9D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqBF,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,+BAA+B,GAC3C,MAAM,EAAE,CAQV;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,+BAA+B,GAC3C,MAAM,EAAE,CAqBV;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,+BAA+B,GAC3C,MAAM,EAAE,CAQV;AAED,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,+BAA+B,GACxC,MAAM,CAoER"}
|
|
@@ -56,14 +56,20 @@ function resolveDepVersions(appRoot, options) {
|
|
|
56
56
|
return resolvePackageInfo(appRoot, options)?.dependencies ?? {};
|
|
57
57
|
}
|
|
58
58
|
var RESOLVED_PACKAGE_INFO_KEY = "__RESOLVED_PACKAGE_INFO__";
|
|
59
|
-
/** Virtual module id;
|
|
59
|
+
/** Virtual module id; prepended to `src/main.ts` when extension side-effects are enabled. */
|
|
60
60
|
var VIRTUAL_EXTENSION_IMPORTS = "virtual:eclipse-docks-extension-imports";
|
|
61
61
|
var RESOLVED_VIRTUAL_EXTENSION_IMPORTS = `\0${VIRTUAL_EXTENSION_IMPORTS}`;
|
|
62
|
+
/** App entry module transformed by {@link resolveDepVersionsPlugin}. */
|
|
63
|
+
var MAIN_TS_MODULE_RE = /[/\\]src[/\\]main\.ts$/;
|
|
64
|
+
var EXTENSION_IMPORT_STATEMENT = `import ${JSON.stringify(VIRTUAL_EXTENSION_IMPORTS)};\n`;
|
|
65
|
+
/** Prepends the virtual extension side-effect import when not already present. */
|
|
66
|
+
function prependExtensionSideEffectImport(code) {
|
|
67
|
+
if (code.includes("virtual:eclipse-docks-extension-imports")) return code;
|
|
68
|
+
return EXTENSION_IMPORT_STATEMENT + code;
|
|
69
|
+
}
|
|
62
70
|
/** Unscoped `extension-*` or scoped `@namespace/extension-*` (any npm scope). */
|
|
63
71
|
var DEFAULT_EXTENSION_PATTERN = /^(?:@[^/]+\/)?extension-/;
|
|
64
72
|
var DEFAULT_PRIORITY_FIRST = ["@eclipse-docks/extension-pwa", "extension-pwa"];
|
|
65
|
-
/** Matches Vite’s default app entry in index.html. */
|
|
66
|
-
var MAIN_TS_SCRIPT_RE = /<script\b[^>]*\btype\s*=\s*["']module["'][^>]*\bsrc\s*=\s*["'][^"']*\/src\/main\.ts["'][^>]*>\s*<\/script>/i;
|
|
67
73
|
function normalizeExtensionSideEffects(opt) {
|
|
68
74
|
if (opt === false) return null;
|
|
69
75
|
if (opt === void 0 || opt === true) return {
|
|
@@ -110,7 +116,7 @@ function collectTransitiveExtensionPackages(appRoot, seeds, sideEffects) {
|
|
|
110
116
|
function resolveExtensionSideEffectPackages(appRoot, dependencies, sideEffects) {
|
|
111
117
|
const direct = listExtensionSideEffectPackages(dependencies, sideEffects);
|
|
112
118
|
const transitive = collectTransitiveExtensionPackages(appRoot, direct, sideEffects);
|
|
113
|
-
const allNames = [
|
|
119
|
+
const allNames = [.../* @__PURE__ */ new Set([...direct, ...transitive])];
|
|
114
120
|
return listExtensionSideEffectPackages(Object.fromEntries(allNames.map((name) => [name, "*"])), sideEffects);
|
|
115
121
|
}
|
|
116
122
|
function resolveDepVersionsPlugin(options) {
|
|
@@ -148,20 +154,16 @@ function resolveDepVersionsPlugin(options) {
|
|
|
148
154
|
if (extensionImportPackages.length === 0) return "export {};\n";
|
|
149
155
|
return extensionImportPackages.map((pkg) => `import ${JSON.stringify(pkg)};\n`).join("");
|
|
150
156
|
},
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
if (!MAIN_TS_SCRIPT_RE.test(html)) return html;
|
|
158
|
-
const inject = `<script type="module">import ${JSON.stringify(VIRTUAL_EXTENSION_IMPORTS)};<\/script>\n`;
|
|
159
|
-
return html.replace(MAIN_TS_SCRIPT_RE, (match) => `${inject}${match}`);
|
|
160
|
-
}
|
|
157
|
+
transform(code, id) {
|
|
158
|
+
if (!extensionSideEffectsActive || extensionImportPackages.length === 0) return null;
|
|
159
|
+
if (!MAIN_TS_MODULE_RE.test(id)) return null;
|
|
160
|
+
const next = prependExtensionSideEffectImport(code);
|
|
161
|
+
if (next === code) return null;
|
|
162
|
+
return next;
|
|
161
163
|
}
|
|
162
164
|
};
|
|
163
165
|
}
|
|
164
166
|
//#endregion
|
|
165
|
-
export { VIRTUAL_EXTENSION_IMPORTS, collectTransitiveExtensionPackages, listExtensionSideEffectPackages, resolveDepVersions, resolveDepVersionsPlugin, resolveExtensionSideEffectPackages, resolvePackageInfo };
|
|
167
|
+
export { VIRTUAL_EXTENSION_IMPORTS, collectTransitiveExtensionPackages, listExtensionSideEffectPackages, prependExtensionSideEffectImport, resolveDepVersions, resolveDepVersionsPlugin, resolveExtensionSideEffectPackages, resolvePackageInfo };
|
|
166
168
|
|
|
167
169
|
//# sourceMappingURL=vite-plugin-resolve-deps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-resolve-deps.js","names":[],"sources":["../src/vite-plugin-resolve-deps.ts"],"sourcesContent":["import { readFileSync, existsSync } from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\n\nexport interface ResolvedPackageInfo {\n name: string;\n version: string;\n description?: string;\n dependencies: Record<string, string>;\n marketplaceCatalogUrls?: string[];\n}\n\ninterface PackageJson {\n name?: string;\n version?: string;\n description?: string;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n}\n\nfunction packageJsonPath(appRoot: string, packageName: string): string | null {\n const segments = packageName.startsWith('@')\n ? packageName.split('/')\n : [packageName];\n const relativePath = path.join('node_modules', ...segments, 'package.json');\n let dir = path.resolve(appRoot);\n const root = path.parse(dir).root;\n\n while (true) {\n const pkgPath = path.join(dir, relativePath);\n if (existsSync(pkgPath)) {\n return pkgPath;\n }\n if (dir === root) break;\n dir = path.dirname(dir);\n }\n return null;\n}\n\nfunction readPackageJson(appRoot: string, packageName: string): PackageJson | null {\n const pkgPath = packageJsonPath(appRoot, packageName);\n if (!pkgPath) return null;\n try {\n return JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n } catch {\n return null;\n }\n}\n\nfunction findPackageVersion(appRoot: string, depName: string): string | null {\n const pkg = readPackageJson(appRoot, depName);\n if (typeof pkg?.version === 'string') return pkg.version;\n return null;\n}\n\nfunction resolveDepVersionsFromPkg(\n appRoot: string,\n pkg: PackageJson,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const deps = { ...pkg.dependencies };\n if (options?.includeDevDependencies && pkg.devDependencies) {\n Object.assign(deps, pkg.devDependencies);\n }\n const result: Record<string, string> = {};\n for (const [name, specifier] of Object.entries(deps)) {\n const version = findPackageVersion(appRoot, name);\n result[name] = version ?? specifier;\n }\n return result;\n}\n\nexport function resolvePackageInfo(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): ResolvedPackageInfo | null {\n const pkgPath = path.join(appRoot, 'package.json');\n if (!existsSync(pkgPath)) return null;\n\n let pkg: PackageJson;\n try {\n pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n } catch {\n return null;\n }\n\n const name = typeof pkg.name === 'string' ? pkg.name : '';\n const version = typeof pkg.version === 'string' ? pkg.version : '0.0.0';\n const description = typeof pkg.description === 'string' ? pkg.description : undefined;\n const dependencies = resolveDepVersionsFromPkg(appRoot, pkg, options);\n const marketplaceCatalogUrls = (pkg as { marketplace?: { catalogUrls?: string[] } }).marketplace?.catalogUrls;\n\n return { name, version, description, dependencies, marketplaceCatalogUrls };\n}\n\nexport function resolveDepVersions(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const info = resolvePackageInfo(appRoot, options);\n return info?.dependencies ?? {};\n}\n\nconst RESOLVED_PACKAGE_INFO_KEY = '__RESOLVED_PACKAGE_INFO__';\n\n/** Virtual module id; injected into `index.html` before `main.ts` when extension side-effects are enabled. */\nexport const VIRTUAL_EXTENSION_IMPORTS = 'virtual:eclipse-docks-extension-imports';\n\nconst RESOLVED_VIRTUAL_EXTENSION_IMPORTS = `\\0${VIRTUAL_EXTENSION_IMPORTS}`;\n\n/** Unscoped `extension-*` or scoped `@namespace/extension-*` (any npm scope). */\nconst DEFAULT_EXTENSION_PATTERN = /^(?:@[^/]+\\/)?extension-/;\n\nconst DEFAULT_PRIORITY_FIRST = ['@eclipse-docks/extension-pwa', 'extension-pwa'];\n\n/** Matches Vite’s default app entry in index.html. */\nconst MAIN_TS_SCRIPT_RE =\n /<script\\b[^>]*\\btype\\s*=\\s*[\"']module[\"'][^>]*\\bsrc\\s*=\\s*[\"'][^\"']*\\/src\\/main\\.ts[\"'][^>]*>\\s*<\\/script>/i;\n\nexport interface ExtensionSideEffectsOptions {\n /**\n * When false, disables automatic extension side-effect imports. Omitted or true keeps them on.\n */\n enabled?: boolean;\n /** Dependency names to skip (even if they match `packageNamePattern`). */\n exclude?: string[];\n /**\n * Packages to load first, in order (only those present in dependencies are imported).\n * Default includes PWA so `beforeinstallprompt` can register early.\n */\n priorityFirst?: string[];\n /**\n * Which direct `dependencies` keys qualify as Docks-style extensions (`extension-*`, with an optional npm scope).\n * @default /^(?:@[^/]+\\/)?extension-/\n */\n packageNamePattern?: RegExp;\n}\n\nexport type ResolveDepVersionsPluginOptions = {\n includeDevDependencies?: boolean;\n /**\n * By default, registers a virtual module that side-effect-imports every matching direct\n * `dependencies` entry (see `ExtensionSideEffectsOptions`), and injects\n * `import 'virtual:eclipse-docks-extension-imports'` into `index.html` **before** `/src/main.ts`.\n * Pass `false` or `{ enabled: false }` to disable.\n */\n extensionSideEffects?: boolean | ExtensionSideEffectsOptions;\n};\n\n/** Normalized match options for {@link listExtensionSideEffectPackages}. */\nexport type ExtensionSideEffectsListOptions = {\n exclude: Set<string>;\n priorityFirst: string[];\n pattern: RegExp;\n};\n\nfunction normalizeExtensionSideEffects(\n opt: boolean | ExtensionSideEffectsOptions | undefined,\n): ExtensionSideEffectsListOptions | null {\n if (opt === false) return null;\n if (opt === undefined || opt === true) {\n return {\n exclude: new Set(),\n priorityFirst: [...DEFAULT_PRIORITY_FIRST],\n pattern: DEFAULT_EXTENSION_PATTERN,\n };\n }\n if (opt.enabled === false) return null;\n return {\n exclude: new Set(opt.exclude ?? []),\n priorityFirst: opt.priorityFirst ?? [...DEFAULT_PRIORITY_FIRST],\n pattern: opt.packageNamePattern ?? DEFAULT_EXTENSION_PATTERN,\n };\n}\n\nexport function listExtensionSideEffectPackages(\n dependencies: Record<string, string>,\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const names = Object.keys(dependencies).filter(\n (name) => sideEffects.pattern.test(name) && !sideEffects.exclude.has(name),\n );\n const prioritySet = new Set(sideEffects.priorityFirst);\n const first = sideEffects.priorityFirst.filter((p) => names.includes(p));\n const rest = names.filter((n) => !prioritySet.has(n)).sort((a, b) => a.localeCompare(b));\n return [...first, ...rest];\n}\n\n/**\n * Walks extension package.json `dependencies` to collect transitive extension-* packages\n * (e.g. extension-utils → extension-python-runtime → extension-terminal).\n */\nexport function collectTransitiveExtensionPackages(\n appRoot: string,\n seeds: string[],\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const found = new Set<string>();\n const queue = [...seeds];\n const visited = new Set<string>();\n\n while (queue.length > 0) {\n const name = queue.shift()!;\n if (visited.has(name)) continue;\n visited.add(name);\n\n const pkg = readPackageJson(appRoot, name);\n if (!pkg?.dependencies) continue;\n\n for (const dep of Object.keys(pkg.dependencies)) {\n if (!sideEffects.pattern.test(dep) || sideEffects.exclude.has(dep)) continue;\n found.add(dep);\n queue.push(dep);\n }\n }\n\n return [...found];\n}\n\nexport function resolveExtensionSideEffectPackages(\n appRoot: string,\n dependencies: Record<string, string>,\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const direct = listExtensionSideEffectPackages(dependencies, sideEffects);\n const transitive = collectTransitiveExtensionPackages(appRoot, direct, sideEffects);\n const allNames = [...new Set([...direct, ...transitive])];\n return listExtensionSideEffectPackages(\n Object.fromEntries(allNames.map((name) => [name, '*'])),\n sideEffects,\n );\n}\n\nexport function resolveDepVersionsPlugin(\n options?: ResolveDepVersionsPluginOptions,\n): Plugin {\n let appRoot = process.cwd();\n let extensionSideEffectsActive = false;\n let extensionImportPackages: string[] = [];\n\n return {\n name: 'resolve-dep-versions',\n config(config) {\n const root = config.root ? path.resolve(config.root) : process.cwd();\n const info = resolvePackageInfo(root, options);\n const value =\n info ?? {\n name: '',\n version: '0.0.0',\n description: undefined,\n dependencies: {},\n marketplaceCatalogUrls: undefined,\n };\n return {\n define: {\n [RESOLVED_PACKAGE_INFO_KEY]: JSON.stringify(value),\n },\n };\n },\n configResolved(config) {\n appRoot = path.resolve(config.root ?? process.cwd());\n const normalized = normalizeExtensionSideEffects(options?.extensionSideEffects);\n extensionSideEffectsActive = normalized !== null;\n if (!normalized) {\n extensionImportPackages = [];\n return;\n }\n const info = resolvePackageInfo(appRoot, options);\n extensionImportPackages = resolveExtensionSideEffectPackages(\n appRoot,\n info?.dependencies ?? {},\n normalized,\n );\n },\n resolveId(id) {\n if (id === VIRTUAL_EXTENSION_IMPORTS) {\n return RESOLVED_VIRTUAL_EXTENSION_IMPORTS;\n }\n return undefined;\n },\n load(id) {\n if (id !== RESOLVED_VIRTUAL_EXTENSION_IMPORTS) {\n return null;\n }\n if (extensionImportPackages.length === 0) {\n return 'export {};\\n';\n }\n return extensionImportPackages.map((pkg) => `import ${JSON.stringify(pkg)};\\n`).join('');\n },\n transformIndexHtml: {\n order: 'pre',\n handler(html) {\n if (!extensionSideEffectsActive) {\n return html;\n }\n if (extensionImportPackages.length === 0) {\n return html;\n }\n if (html.includes(VIRTUAL_EXTENSION_IMPORTS)) {\n return html;\n }\n if (!MAIN_TS_SCRIPT_RE.test(html)) {\n return html;\n }\n const inject = `<script type=\"module\">import ${JSON.stringify(VIRTUAL_EXTENSION_IMPORTS)};</script>\\n`;\n return html.replace(MAIN_TS_SCRIPT_RE, (match) => `${inject}${match}`);\n },\n },\n };\n}\n"],"mappings":";;;AAoBA,SAAS,gBAAgB,SAAiB,aAAoC;CAC5E,MAAM,WAAW,YAAY,WAAW,IAAI,GACxC,YAAY,MAAM,IAAI,GACtB,CAAC,YAAY;CACjB,MAAM,eAAe,KAAK,KAAK,gBAAgB,GAAG,UAAU,eAAe;CAC3E,IAAI,MAAM,KAAK,QAAQ,QAAQ;CAC/B,MAAM,OAAO,KAAK,MAAM,IAAI,CAAC;AAE7B,QAAO,MAAM;EACX,MAAM,UAAU,KAAK,KAAK,KAAK,aAAa;AAC5C,MAAI,WAAW,QAAQ,CACrB,QAAO;AAET,MAAI,QAAQ,KAAM;AAClB,QAAM,KAAK,QAAQ,IAAI;;AAEzB,QAAO;;AAGT,SAAS,gBAAgB,SAAiB,aAAyC;CACjF,MAAM,UAAU,gBAAgB,SAAS,YAAY;AACrD,KAAI,CAAC,QAAS,QAAO;AACrB,KAAI;AACF,SAAO,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC;SAC1C;AACN,SAAO;;;AAIX,SAAS,mBAAmB,SAAiB,SAAgC;CAC3E,MAAM,MAAM,gBAAgB,SAAS,QAAQ;AAC7C,KAAI,OAAO,KAAK,YAAY,SAAU,QAAO,IAAI;AACjD,QAAO;;AAGT,SAAS,0BACP,SACA,KACA,SACwB;CACxB,MAAM,OAAO,EAAE,GAAG,IAAI,cAAc;AACpC,KAAI,SAAS,0BAA0B,IAAI,gBACzC,QAAO,OAAO,MAAM,IAAI,gBAAgB;CAE1C,MAAM,SAAiC,EAAE;AACzC,MAAK,MAAM,CAAC,MAAM,cAAc,OAAO,QAAQ,KAAK,CAElD,QAAO,QADS,mBAAmB,SAAS,KAAK,IACvB;AAE5B,QAAO;;AAGT,SAAgB,mBACd,SACA,SAC4B;CAC5B,MAAM,UAAU,KAAK,KAAK,SAAS,eAAe;AAClD,KAAI,CAAC,WAAW,QAAQ,CAAE,QAAO;CAEjC,IAAI;AACJ,KAAI;AACF,QAAM,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC;SACzC;AACN,SAAO;;AAST,QAAO;EAAE,MANI,OAAO,IAAI,SAAS,WAAW,IAAI,OAAO;EAMxC,SALC,OAAO,IAAI,YAAY,WAAW,IAAI,UAAU;EAKxC,aAJJ,OAAO,IAAI,gBAAgB,WAAW,IAAI,cAAc,KAAA;EAIvC,cAHhB,0BAA0B,SAAS,KAAK,QAAQ;EAGlB,wBAFnB,IAAqD,aAAa;EAEvB;;AAG7E,SAAgB,mBACd,SACA,SACwB;AAExB,QADa,mBAAmB,SAAS,QAAQ,EACpC,gBAAgB,EAAE;;AAGjC,IAAM,4BAA4B;;AAGlC,IAAa,4BAA4B;AAEzC,IAAM,qCAAqC,KAAK;;AAGhD,IAAM,4BAA4B;AAElC,IAAM,yBAAyB,CAAC,gCAAgC,gBAAgB;;AAGhF,IAAM,oBACJ;AAuCF,SAAS,8BACP,KACwC;AACxC,KAAI,QAAQ,MAAO,QAAO;AAC1B,KAAI,QAAQ,KAAA,KAAa,QAAQ,KAC/B,QAAO;EACL,yBAAS,IAAI,KAAK;EAClB,eAAe,CAAC,GAAG,uBAAuB;EAC1C,SAAS;EACV;AAEH,KAAI,IAAI,YAAY,MAAO,QAAO;AAClC,QAAO;EACL,SAAS,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;EACnC,eAAe,IAAI,iBAAiB,CAAC,GAAG,uBAAuB;EAC/D,SAAS,IAAI,sBAAsB;EACpC;;AAGH,SAAgB,gCACd,cACA,aACU;CACV,MAAM,QAAQ,OAAO,KAAK,aAAa,CAAC,QACrC,SAAS,YAAY,QAAQ,KAAK,KAAK,IAAI,CAAC,YAAY,QAAQ,IAAI,KAAK,CAC3E;CACD,MAAM,cAAc,IAAI,IAAI,YAAY,cAAc;CACtD,MAAM,QAAQ,YAAY,cAAc,QAAQ,MAAM,MAAM,SAAS,EAAE,CAAC;CACxE,MAAM,OAAO,MAAM,QAAQ,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC;AACxF,QAAO,CAAC,GAAG,OAAO,GAAG,KAAK;;;;;;AAO5B,SAAgB,mCACd,SACA,OACA,aACU;CACV,MAAM,wBAAQ,IAAI,KAAa;CAC/B,MAAM,QAAQ,CAAC,GAAG,MAAM;CACxB,MAAM,0BAAU,IAAI,KAAa;AAEjC,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM,OAAO;AAC1B,MAAI,QAAQ,IAAI,KAAK,CAAE;AACvB,UAAQ,IAAI,KAAK;EAEjB,MAAM,MAAM,gBAAgB,SAAS,KAAK;AAC1C,MAAI,CAAC,KAAK,aAAc;AAExB,OAAK,MAAM,OAAO,OAAO,KAAK,IAAI,aAAa,EAAE;AAC/C,OAAI,CAAC,YAAY,QAAQ,KAAK,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,CAAE;AACpE,SAAM,IAAI,IAAI;AACd,SAAM,KAAK,IAAI;;;AAInB,QAAO,CAAC,GAAG,MAAM;;AAGnB,SAAgB,mCACd,SACA,cACA,aACU;CACV,MAAM,SAAS,gCAAgC,cAAc,YAAY;CACzE,MAAM,aAAa,mCAAmC,SAAS,QAAQ,YAAY;CACnF,MAAM,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;AACzD,QAAO,gCACL,OAAO,YAAY,SAAS,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,EACvD,YACD;;AAGH,SAAgB,yBACd,SACQ;CACR,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,6BAA6B;CACjC,IAAI,0BAAoC,EAAE;AAE1C,QAAO;EACL,MAAM;EACN,OAAO,QAAQ;GAGb,MAAM,QADO,mBADA,OAAO,OAAO,KAAK,QAAQ,OAAO,KAAK,GAAG,QAAQ,KAAK,EAC9B,QAAQ,IAEpC;IACN,MAAM;IACN,SAAS;IACT,aAAa,KAAA;IACb,cAAc,EAAE;IAChB,wBAAwB,KAAA;IACzB;AACH,UAAO,EACL,QAAQ,GACL,4BAA4B,KAAK,UAAU,MAAM,EACnD,EACF;;EAEH,eAAe,QAAQ;AACrB,aAAU,KAAK,QAAQ,OAAO,QAAQ,QAAQ,KAAK,CAAC;GACpD,MAAM,aAAa,8BAA8B,SAAS,qBAAqB;AAC/E,gCAA6B,eAAe;AAC5C,OAAI,CAAC,YAAY;AACf,8BAA0B,EAAE;AAC5B;;GAEF,MAAM,OAAO,mBAAmB,SAAS,QAAQ;AACjD,6BAA0B,mCACxB,SACA,MAAM,gBAAgB,EAAE,EACxB,WACD;;EAEH,UAAU,IAAI;AACZ,OAAI,OAAA,0CACF,QAAO;;EAIX,KAAK,IAAI;AACP,OAAI,OAAO,mCACT,QAAO;AAET,OAAI,wBAAwB,WAAW,EACrC,QAAO;AAET,UAAO,wBAAwB,KAAK,QAAQ,UAAU,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;;EAE1F,oBAAoB;GAClB,OAAO;GACP,QAAQ,MAAM;AACZ,QAAI,CAAC,2BACH,QAAO;AAET,QAAI,wBAAwB,WAAW,EACrC,QAAO;AAET,QAAI,KAAK,SAAA,0CAAmC,CAC1C,QAAO;AAET,QAAI,CAAC,kBAAkB,KAAK,KAAK,CAC/B,QAAO;IAET,MAAM,SAAS,gCAAgC,KAAK,UAAU,0BAA0B,CAAC;AACzF,WAAO,KAAK,QAAQ,oBAAoB,UAAU,GAAG,SAAS,QAAQ;;GAEzE;EACF"}
|
|
1
|
+
{"version":3,"file":"vite-plugin-resolve-deps.js","names":[],"sources":["../src/vite-plugin-resolve-deps.ts"],"sourcesContent":["import { readFileSync, existsSync } from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\n\nexport interface ResolvedPackageInfo {\n name: string;\n version: string;\n description?: string;\n dependencies: Record<string, string>;\n marketplaceCatalogUrls?: string[];\n}\n\ninterface PackageJson {\n name?: string;\n version?: string;\n description?: string;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n}\n\nfunction packageJsonPath(appRoot: string, packageName: string): string | null {\n const segments = packageName.startsWith('@')\n ? packageName.split('/')\n : [packageName];\n const relativePath = path.join('node_modules', ...segments, 'package.json');\n let dir = path.resolve(appRoot);\n const root = path.parse(dir).root;\n\n while (true) {\n const pkgPath = path.join(dir, relativePath);\n if (existsSync(pkgPath)) {\n return pkgPath;\n }\n if (dir === root) break;\n dir = path.dirname(dir);\n }\n return null;\n}\n\nfunction readPackageJson(appRoot: string, packageName: string): PackageJson | null {\n const pkgPath = packageJsonPath(appRoot, packageName);\n if (!pkgPath) return null;\n try {\n return JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n } catch {\n return null;\n }\n}\n\nfunction findPackageVersion(appRoot: string, depName: string): string | null {\n const pkg = readPackageJson(appRoot, depName);\n if (typeof pkg?.version === 'string') return pkg.version;\n return null;\n}\n\nfunction resolveDepVersionsFromPkg(\n appRoot: string,\n pkg: PackageJson,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const deps = { ...pkg.dependencies };\n if (options?.includeDevDependencies && pkg.devDependencies) {\n Object.assign(deps, pkg.devDependencies);\n }\n const result: Record<string, string> = {};\n for (const [name, specifier] of Object.entries(deps)) {\n const version = findPackageVersion(appRoot, name);\n result[name] = version ?? specifier;\n }\n return result;\n}\n\nexport function resolvePackageInfo(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): ResolvedPackageInfo | null {\n const pkgPath = path.join(appRoot, 'package.json');\n if (!existsSync(pkgPath)) return null;\n\n let pkg: PackageJson;\n try {\n pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n } catch {\n return null;\n }\n\n const name = typeof pkg.name === 'string' ? pkg.name : '';\n const version = typeof pkg.version === 'string' ? pkg.version : '0.0.0';\n const description = typeof pkg.description === 'string' ? pkg.description : undefined;\n const dependencies = resolveDepVersionsFromPkg(appRoot, pkg, options);\n const marketplaceCatalogUrls = (pkg as { marketplace?: { catalogUrls?: string[] } }).marketplace?.catalogUrls;\n\n return { name, version, description, dependencies, marketplaceCatalogUrls };\n}\n\nexport function resolveDepVersions(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const info = resolvePackageInfo(appRoot, options);\n return info?.dependencies ?? {};\n}\n\nconst RESOLVED_PACKAGE_INFO_KEY = '__RESOLVED_PACKAGE_INFO__';\n\n/** Virtual module id; prepended to `src/main.ts` when extension side-effects are enabled. */\nexport const VIRTUAL_EXTENSION_IMPORTS = 'virtual:eclipse-docks-extension-imports';\n\nconst RESOLVED_VIRTUAL_EXTENSION_IMPORTS = `\\0${VIRTUAL_EXTENSION_IMPORTS}`;\n\n/** App entry module transformed by {@link resolveDepVersionsPlugin}. */\nconst MAIN_TS_MODULE_RE = /[/\\\\]src[/\\\\]main\\.ts$/;\n\nconst EXTENSION_IMPORT_STATEMENT = `import ${JSON.stringify(VIRTUAL_EXTENSION_IMPORTS)};\\n`;\n\n/** Prepends the virtual extension side-effect import when not already present. */\nexport function prependExtensionSideEffectImport(code: string): string {\n if (code.includes(VIRTUAL_EXTENSION_IMPORTS)) {\n return code;\n }\n return EXTENSION_IMPORT_STATEMENT + code;\n}\n\n/** Unscoped `extension-*` or scoped `@namespace/extension-*` (any npm scope). */\nconst DEFAULT_EXTENSION_PATTERN = /^(?:@[^/]+\\/)?extension-/;\n\nconst DEFAULT_PRIORITY_FIRST = ['@eclipse-docks/extension-pwa', 'extension-pwa'];\n\nexport interface ExtensionSideEffectsOptions {\n /**\n * When false, disables automatic extension side-effect imports. Omitted or true keeps them on.\n */\n enabled?: boolean;\n /** Dependency names to skip (even if they match `packageNamePattern`). */\n exclude?: string[];\n /**\n * Packages to load first, in order (only those present in dependencies are imported).\n * Default includes PWA so `beforeinstallprompt` can register early.\n */\n priorityFirst?: string[];\n /**\n * Which direct `dependencies` keys qualify as Docks-style extensions (`extension-*`, with an optional npm scope).\n * @default /^(?:@[^/]+\\/)?extension-/\n */\n packageNamePattern?: RegExp;\n}\n\nexport type ResolveDepVersionsPluginOptions = {\n includeDevDependencies?: boolean;\n /**\n * By default, registers a virtual module that side-effect-imports every matching direct\n * `dependencies` entry (see `ExtensionSideEffectsOptions`), and prepends\n * `import 'virtual:eclipse-docks-extension-imports'` to `src/main.ts` so extension\n * registration completes before `registerApp({ autoStart: true })`.\n * Pass `false` or `{ enabled: false }` to disable.\n */\n extensionSideEffects?: boolean | ExtensionSideEffectsOptions;\n};\n\n/** Normalized match options for {@link listExtensionSideEffectPackages}. */\nexport type ExtensionSideEffectsListOptions = {\n exclude: Set<string>;\n priorityFirst: string[];\n pattern: RegExp;\n};\n\nfunction normalizeExtensionSideEffects(\n opt: boolean | ExtensionSideEffectsOptions | undefined,\n): ExtensionSideEffectsListOptions | null {\n if (opt === false) return null;\n if (opt === undefined || opt === true) {\n return {\n exclude: new Set(),\n priorityFirst: [...DEFAULT_PRIORITY_FIRST],\n pattern: DEFAULT_EXTENSION_PATTERN,\n };\n }\n if (opt.enabled === false) return null;\n return {\n exclude: new Set(opt.exclude ?? []),\n priorityFirst: opt.priorityFirst ?? [...DEFAULT_PRIORITY_FIRST],\n pattern: opt.packageNamePattern ?? DEFAULT_EXTENSION_PATTERN,\n };\n}\n\nexport function listExtensionSideEffectPackages(\n dependencies: Record<string, string>,\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const names = Object.keys(dependencies).filter(\n (name) => sideEffects.pattern.test(name) && !sideEffects.exclude.has(name),\n );\n const prioritySet = new Set(sideEffects.priorityFirst);\n const first = sideEffects.priorityFirst.filter((p) => names.includes(p));\n const rest = names.filter((n) => !prioritySet.has(n)).sort((a, b) => a.localeCompare(b));\n return [...first, ...rest];\n}\n\n/**\n * Walks extension package.json `dependencies` to collect transitive extension-* packages\n * (e.g. extension-utils → extension-python-runtime → extension-terminal).\n */\nexport function collectTransitiveExtensionPackages(\n appRoot: string,\n seeds: string[],\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const found = new Set<string>();\n const queue = [...seeds];\n const visited = new Set<string>();\n\n while (queue.length > 0) {\n const name = queue.shift()!;\n if (visited.has(name)) continue;\n visited.add(name);\n\n const pkg = readPackageJson(appRoot, name);\n if (!pkg?.dependencies) continue;\n\n for (const dep of Object.keys(pkg.dependencies)) {\n if (!sideEffects.pattern.test(dep) || sideEffects.exclude.has(dep)) continue;\n found.add(dep);\n queue.push(dep);\n }\n }\n\n return [...found];\n}\n\nexport function resolveExtensionSideEffectPackages(\n appRoot: string,\n dependencies: Record<string, string>,\n sideEffects: ExtensionSideEffectsListOptions,\n): string[] {\n const direct = listExtensionSideEffectPackages(dependencies, sideEffects);\n const transitive = collectTransitiveExtensionPackages(appRoot, direct, sideEffects);\n const allNames = [...new Set([...direct, ...transitive])];\n return listExtensionSideEffectPackages(\n Object.fromEntries(allNames.map((name) => [name, '*'])),\n sideEffects,\n );\n}\n\nexport function resolveDepVersionsPlugin(\n options?: ResolveDepVersionsPluginOptions,\n): Plugin {\n let appRoot = process.cwd();\n let extensionSideEffectsActive = false;\n let extensionImportPackages: string[] = [];\n\n return {\n name: 'resolve-dep-versions',\n config(config) {\n const root = config.root ? path.resolve(config.root) : process.cwd();\n const info = resolvePackageInfo(root, options);\n const value =\n info ?? {\n name: '',\n version: '0.0.0',\n description: undefined,\n dependencies: {},\n marketplaceCatalogUrls: undefined,\n };\n return {\n define: {\n [RESOLVED_PACKAGE_INFO_KEY]: JSON.stringify(value),\n },\n };\n },\n configResolved(config) {\n appRoot = path.resolve(config.root ?? process.cwd());\n const normalized = normalizeExtensionSideEffects(options?.extensionSideEffects);\n extensionSideEffectsActive = normalized !== null;\n if (!normalized) {\n extensionImportPackages = [];\n return;\n }\n const info = resolvePackageInfo(appRoot, options);\n extensionImportPackages = resolveExtensionSideEffectPackages(\n appRoot,\n info?.dependencies ?? {},\n normalized,\n );\n },\n resolveId(id) {\n if (id === VIRTUAL_EXTENSION_IMPORTS) {\n return RESOLVED_VIRTUAL_EXTENSION_IMPORTS;\n }\n return undefined;\n },\n load(id) {\n if (id !== RESOLVED_VIRTUAL_EXTENSION_IMPORTS) {\n return null;\n }\n if (extensionImportPackages.length === 0) {\n return 'export {};\\n';\n }\n return extensionImportPackages.map((pkg) => `import ${JSON.stringify(pkg)};\\n`).join('');\n },\n transform(code, id) {\n if (!extensionSideEffectsActive || extensionImportPackages.length === 0) {\n return null;\n }\n if (!MAIN_TS_MODULE_RE.test(id)) {\n return null;\n }\n const next = prependExtensionSideEffectImport(code);\n if (next === code) {\n return null;\n }\n return next;\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -85,16 +85,22 @@ var js_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?
|
|
|
85
85
|
var jupyter_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e";
|
|
86
86
|
//#endregion
|
|
87
87
|
//#region src/icons/layout-standard-bottom-panel.svg?url
|
|
88
|
-
var layout_standard_bottom_panel_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='3'%20width='
|
|
89
|
-
//#endregion
|
|
90
|
-
//#region src/icons/layout-standard-bottom-sidebar.svg?url
|
|
91
|
-
var layout_standard_bottom_sidebar_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='10'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='9'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='2.5'%20y1='15'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
|
|
88
|
+
var layout_standard_bottom_panel_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='3'%20width='16'%20height='11'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='4'%20y='16'%20width='16'%20height='5'%20rx='1.25'%20ry='1.25'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e";
|
|
92
89
|
//#endregion
|
|
93
90
|
//#region src/icons/layout-standard-full.svg?url
|
|
94
|
-
var layout_standard_full_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='
|
|
91
|
+
var layout_standard_full_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='6'%20y1='20'%20x2='18'%20y2='20'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/icons/layout-standard-left-aux.svg?url
|
|
94
|
+
var layout_standard_left_aux_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='2'%20y='4'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='2'%20y='13'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e";
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/icons/layout-standard-left-sidebar.svg?url
|
|
97
|
+
var layout_standard_left_sidebar_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='7'%20y='4'%20width='13'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/icons/layout-standard-right-aux.svg?url
|
|
100
|
+
var layout_standard_right_aux_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='17'%20y='4'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='17'%20y='13'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e";
|
|
95
101
|
//#endregion
|
|
96
|
-
//#region src/icons/layout-standard.svg?url
|
|
97
|
-
var
|
|
102
|
+
//#region src/icons/layout-standard-right-sidebar.svg?url
|
|
103
|
+
var layout_standard_right_sidebar_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='4'%20width='13'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e";
|
|
98
104
|
//#endregion
|
|
99
105
|
//#region src/icons/mark-github.svg?url
|
|
100
106
|
var mark_github_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20width='16'%20height='16'%3e%3cpath%20fill-rule='evenodd'%20d='M8%200C3.58%200%200%203.58%200%208c0%203.54%202.29%206.53%205.47%207.59.4.07.55-.17.55-.38%200-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01%201.08.58%201.23.82.72%201.21%201.87.87%202.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95%200-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12%200%200%20.67-.21%202.2.82.64-.18%201.32-.27%202-.27.68%200%201.36.09%202%20.27%201.53-1.04%202.2-.82%202.2-.82.44%201.1.16%201.92.08%202.12.51.56.82%201.27.82%202.15%200%203.07-1.87%203.75-3.65%203.95.29.25.54.73.54%201.48%200%201.07-.01%201.93-.01%202.2%200%20.21.15.46.55.38A8.013%208.013%200%200016%208c0-4.42-3.58-8-8-8z'/%3e%3c/svg%3e";
|
|
@@ -108,15 +114,17 @@ var settings_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/200
|
|
|
108
114
|
//#region src/externals/webawesome.ts
|
|
109
115
|
registerIconLibrary("docks", {
|
|
110
116
|
resolver: (name) => {
|
|
111
|
-
return new URL((/*
|
|
117
|
+
return new URL((/* #__PURE__ */ Object.assign({
|
|
112
118
|
"../icons/extensions.svg": extensions_default,
|
|
113
119
|
"../icons/file-plus.svg": file_plus_default,
|
|
114
120
|
"../icons/js.svg": js_default,
|
|
115
121
|
"../icons/jupyter.svg": jupyter_default,
|
|
116
122
|
"../icons/layout-standard-bottom-panel.svg": layout_standard_bottom_panel_default,
|
|
117
|
-
"../icons/layout-standard-bottom-sidebar.svg": layout_standard_bottom_sidebar_default,
|
|
118
123
|
"../icons/layout-standard-full.svg": layout_standard_full_default,
|
|
119
|
-
"../icons/layout-standard.svg":
|
|
124
|
+
"../icons/layout-standard-left-aux.svg": layout_standard_left_aux_default,
|
|
125
|
+
"../icons/layout-standard-left-sidebar.svg": layout_standard_left_sidebar_default,
|
|
126
|
+
"../icons/layout-standard-right-aux.svg": layout_standard_right_aux_default,
|
|
127
|
+
"../icons/layout-standard-right-sidebar.svg": layout_standard_right_sidebar_default,
|
|
120
128
|
"../icons/mark-github.svg": mark_github_default,
|
|
121
129
|
"../icons/python.svg": python_default,
|
|
122
130
|
"../icons/settings.svg": settings_default
|
|
@@ -130,4 +138,4 @@ registerIconLibrary("docks", {
|
|
|
130
138
|
//#endregion
|
|
131
139
|
export { registerIconLibrary as t };
|
|
132
140
|
|
|
133
|
-
//# sourceMappingURL=webawesome-
|
|
141
|
+
//# sourceMappingURL=webawesome-C0Da7hPu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webawesome-C0Da7hPu.js","names":[],"sources":["../src/icons/extensions.svg?url","../src/icons/file-plus.svg?url","../src/icons/js.svg?url","../src/icons/jupyter.svg?url","../src/icons/layout-standard-bottom-panel.svg?url","../src/icons/layout-standard-full.svg?url","../src/icons/layout-standard-left-aux.svg?url","../src/icons/layout-standard-left-sidebar.svg?url","../src/icons/layout-standard-right-aux.svg?url","../src/icons/layout-standard-right-sidebar.svg?url","../src/icons/mark-github.svg?url","../src/icons/python.svg?url","../src/icons/settings.svg?url","../src/externals/webawesome.ts"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='9.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='9.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.55'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3e%3cpolyline%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20points='14%202%2014%208%2020%208'/%3e%3cline%20x1='12'%20y1='13'%20x2='12'%20y2='17'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cline%20x1='10'%20y1='15'%20x2='14'%20y2='15'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='2'%20y='2'%20width='28'%20height='28'%20fill='%23FFCA28'/%3e%3cpath%20d='M19%2025.2879L21.0615%2023.9237C21.2231%2024.4313%2022.2462%2025.6368%2023.5385%2025.6368C24.8308%2025.6368%2025.4308%2024.931%2025.4308%2024.463C25.4308%2023.1878%2024.1112%2022.7382%2023.4774%2022.5223C23.374%2022.4871%2023.289%2022.4581%2023.2308%2022.4328C23.2009%2022.4198%2023.1558%2022.4025%2023.0979%2022.3804C22.393%2022.1111%2019.7923%2021.1175%2019.7923%2018.2373C19.7923%2015.065%2022.8538%2014.7002%2023.5462%2014.7002C23.9991%2014.7002%2026.1769%2014.7557%2027.2615%2016.7939L25.2615%2018.1898C24.8231%2017.3015%2024.0946%2017.0081%2023.6462%2017.0081C22.5385%2017.0081%2022.3077%2017.8201%2022.3077%2018.1898C22.3077%2019.227%2023.5112%2019.6919%2024.5273%2020.0844C24.7932%2020.1871%2025.0462%2020.2848%2025.2615%2020.3866C26.3692%2020.91%2028%2021.7666%2028%2024.463C28%2025.8136%2026.8672%2028.0002%2024.0154%2028.0002C20.1846%2028.0002%2019.1692%2025.7003%2019%2025.2879Z'%20fill='%233E3E3E'/%3e%3cpath%20d='M9%2025.5587L11.1487%2024.1953C11.317%2024.7026%2011.9713%2025.638%2012.9205%2025.638C13.8698%2025.638%2014.3557%2024.663%2014.3557%2024.1953V15.0002H16.9982V24.1953C17.041%2025.4636%2016.3376%2028.0002%2013.2332%2028.0002C10.379%2028.0002%209.19242%2026.3039%209%2025.5587Z'%20fill='%233E3E3E'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='3'%20width='16'%20height='11'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='4'%20y='16'%20width='16'%20height='5'%20rx='1.25'%20ry='1.25'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='6'%20y1='20'%20x2='18'%20y2='20'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='2'%20y='4'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='2'%20y='13'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='7'%20y='4'%20width='13'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='17'%20y='4'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3crect%20x='17'%20y='13'%20width='5'%20height='7'%20rx='1'%20ry='1'%20fill='%232563eb'%20fill-opacity='0.2'%20stroke='%232563eb'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='4'%20width='13'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='%239ca3af'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%232563eb'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20width='16'%20height='16'%3e%3cpath%20fill-rule='evenodd'%20d='M8%200C3.58%200%200%203.58%200%208c0%203.54%202.29%206.53%205.47%207.59.4.07.55-.17.55-.38%200-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01%201.08.58%201.23.82.72%201.21%201.87.87%202.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95%200-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12%200%200%20.67-.21%202.2.82.64-.18%201.32-.27%202-.27.68%200%201.36.09%202%20.27%201.53-1.04%202.2-.82%202.2-.82.44%201.1.16%201.92.08%202.12.51.56.82%201.27.82%202.15%200%203.07-1.87%203.75-3.65%203.95.29.25.54.73.54%201.48%200%201.07-.01%201.93-.01%202.2%200%20.21.15.46.55.38A8.013%208.013%200%200016%208c0-4.42-3.58-8-8-8z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cline%20x1='1.5'%20y1='5.5'%20x2='22.5'%20y2='5.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='12'%20x2='22.5'%20y2='12'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='18.5'%20x2='22.5'%20y2='18.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3ccircle%20cx='16.75'%20cy='5.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='7.25'%20cy='12'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='14.25'%20cy='18.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e\"","// unfortunately, webawesome has no all-in-one import, so we need to import each component individually\nimport '@awesome.me/webawesome/dist/components/accordion/accordion.js';\nimport '@awesome.me/webawesome/dist/components/accordion-item/accordion-item.js';\nimport '@awesome.me/webawesome/dist/components/animated-image/animated-image.js';\nimport '@awesome.me/webawesome/dist/components/animation/animation.js';\nimport '@awesome.me/webawesome/dist/components/avatar/avatar.js';\nimport '@awesome.me/webawesome/dist/components/badge/badge.js';\nimport '@awesome.me/webawesome/dist/components/breadcrumb/breadcrumb.js';\nimport '@awesome.me/webawesome/dist/components/breadcrumb-item/breadcrumb-item.js';\nimport '@awesome.me/webawesome/dist/components/button/button.js';\nimport '@awesome.me/webawesome/dist/components/button-group/button-group.js';\nimport '@awesome.me/webawesome/dist/components/callout/callout.js';\nimport '@awesome.me/webawesome/dist/components/card/card.js';\nimport '@awesome.me/webawesome/dist/components/carousel/carousel.js';\nimport '@awesome.me/webawesome/dist/components/carousel-item/carousel-item.js';\nimport '@awesome.me/webawesome/dist/components/checkbox/checkbox.js';\nimport '@awesome.me/webawesome/dist/components/checkbox-group/checkbox-group.js';\nimport '@awesome.me/webawesome/dist/components/color-picker/color-picker.js';\nimport '@awesome.me/webawesome/dist/components/comparison/comparison.js';\nimport '@awesome.me/webawesome/dist/components/copy-button/copy-button.js';\nimport '@awesome.me/webawesome/dist/components/details/details.js';\nimport '@awesome.me/webawesome/dist/components/dialog/dialog.js';\nimport '@awesome.me/webawesome/dist/components/divider/divider.js';\nimport '@awesome.me/webawesome/dist/components/drawer/drawer.js';\nimport '@awesome.me/webawesome/dist/components/dropdown/dropdown.js';\nimport '@awesome.me/webawesome/dist/components/dropdown-item/dropdown-item.js';\nimport '@awesome.me/webawesome/dist/components/format-bytes/format-bytes.js';\nimport '@awesome.me/webawesome/dist/components/format-date/format-date.js';\nimport '@awesome.me/webawesome/dist/components/format-number/format-number.js';\nimport '@awesome.me/webawesome/dist/components/icon/icon.js';\nimport '@awesome.me/webawesome/dist/components/include/include.js';\nimport '@awesome.me/webawesome/dist/components/input/input.js';\nimport '@awesome.me/webawesome/dist/components/intersection-observer/intersection-observer.js';\nimport '@awesome.me/webawesome/dist/components/known-date/known-date.js';\nimport '@awesome.me/webawesome/dist/components/markdown/markdown.js';\nimport '@awesome.me/webawesome/dist/components/mutation-observer/mutation-observer.js';\nimport '@awesome.me/webawesome/dist/components/number-input/number-input.js';\nimport '@awesome.me/webawesome/dist/components/option/option.js';\nimport '@awesome.me/webawesome/dist/components/otp-input/otp-input.js';\nimport '@awesome.me/webawesome/dist/components/page/page.js';\nimport '@awesome.me/webawesome/dist/components/pagination/pagination.js';\nimport '@awesome.me/webawesome/dist/components/popover/popover.js';\nimport '@awesome.me/webawesome/dist/components/popup/popup.js';\nimport '@awesome.me/webawesome/dist/components/progress-bar/progress-bar.js';\nimport '@awesome.me/webawesome/dist/components/progress-ring/progress-ring.js';\nimport '@awesome.me/webawesome/dist/components/qr-code/qr-code.js';\nimport '@awesome.me/webawesome/dist/components/radio/radio.js';\nimport '@awesome.me/webawesome/dist/components/radio-group/radio-group.js';\nimport '@awesome.me/webawesome/dist/components/rating/rating.js';\nimport '@awesome.me/webawesome/dist/components/random-content/random-content.js';\nimport '@awesome.me/webawesome/dist/components/relative-time/relative-time.js';\nimport '@awesome.me/webawesome/dist/components/resize-observer/resize-observer.js';\nimport '@awesome.me/webawesome/dist/components/scroller/scroller.js';\nimport '@awesome.me/webawesome/dist/components/select/select.js';\nimport '@awesome.me/webawesome/dist/components/skeleton/skeleton.js';\nimport '@awesome.me/webawesome/dist/components/slider/slider.js';\nimport '@awesome.me/webawesome/dist/components/spinner/spinner.js';\nimport '@awesome.me/webawesome/dist/components/split-panel/split-panel.js';\nimport '@awesome.me/webawesome/dist/components/switch/switch.js';\nimport '@awesome.me/webawesome/dist/components/tab/tab.js';\nimport '@awesome.me/webawesome/dist/components/tab-group/tab-group.js';\nimport '@awesome.me/webawesome/dist/components/tab-panel/tab-panel.js';\nimport '@awesome.me/webawesome/dist/components/tag/tag.js';\nimport '@awesome.me/webawesome/dist/components/textarea/textarea.js';\nimport '@awesome.me/webawesome/dist/components/time-input/time-input.js';\nimport '@awesome.me/webawesome/dist/components/toast/toast.js';\nimport '@awesome.me/webawesome/dist/components/toast-item/toast-item.js';\nimport '@awesome.me/webawesome/dist/components/tooltip/tooltip.js';\nimport '@awesome.me/webawesome/dist/components/tree/tree.js';\nimport '@awesome.me/webawesome/dist/components/tree-item/tree-item.js';\nimport '@awesome.me/webawesome/dist/components/zoomable-frame/zoomable-frame.js';\n\n// Import default WebAwesome styles\nimport '@awesome.me/webawesome/dist/styles/native.css';\nimport '@awesome.me/webawesome/dist/styles/utilities.css';\nimport '@awesome.me/webawesome/dist/styles/themes/default.css';\n\nimport {registerIconLibrary} from '@awesome.me/webawesome'\n\nregisterIconLibrary('docks', {\n resolver: (name: string) => {\n return new URL(`../icons/${name}.svg`, import.meta.url).href;\n },\n mutator: (svg: SVGElement) => {\n svg.setAttribute('fill', 'currentColor');\n svg.setAttribute('stroke', 'currentColor');\n }\n});\n\nexport { registerIconLibrary };"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,qBAAe;;;ACAf,IAAA,oBAAe;;;ACAf,IAAA,aAAe;;;ACAf,IAAA,kBAAe;;;ACAf,IAAA,uCAAe;;;ACAf,IAAA,+BAAe;;;ACAf,IAAA,mCAAe;;;ACAf,IAAA,uCAAe;;;ACAf,IAAA,oCAAe;;;ACAf,IAAA,wCAAe;;;ACAf,IAAA,sBAAe;;;ACAf,IAAA,iBAAe;;;ACAf,IAAA,mBAAe;;;AC+Ef,oBAAoB,SAAS;CACzB,WAAW,SAAiB;EACxB,OAAO,IAAA,KAAA,uBAAA,OAAA;GAAA,2BAAA;GAAA,0BAAA;GAAA,mBAAA;GAAA,wBAAA;GAAA,6CAAA;GAAA,qCAAA;GAAA,yCAAA;GAAA,6CAAA;GAAA,0CAAA;GAAA,8CAAA;GAAA,4BAAA;GAAA,uBAAA;GAAA,yBAAA;EAAA,CAAA,EAAA,CAAA,YAAA,KAAA,QAAA,YAAA,GAAA,CAAgD,CAAC;CAC5D;CACA,UAAU,QAAoB;EAC1B,IAAI,aAAa,QAAQ,cAAc;EACvC,IAAI,aAAa,UAAU,cAAc;CAC7C;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as defaultLogger, o as rootContext, t as createLogger } from "./logger-
|
|
2
|
-
import { n as subscribe, r as unsubscribe, t as publish } from "./events-
|
|
1
|
+
import { n as defaultLogger, o as rootContext, t as createLogger } from "./logger-CiT0Cc4g.js";
|
|
2
|
+
import { n as subscribe, r as unsubscribe, t as publish } from "./events-BAE5R6TH.js";
|
|
3
3
|
import { LitElement, css } from "lit";
|
|
4
4
|
import "@awesome.me/webawesome/dist/components/toast/toast.js";
|
|
5
5
|
import { Signal, SignalWatcher, signal } from "@lit-labs/signals";
|
|
@@ -87,7 +87,7 @@ var ContributionTargetMappingRegistry = class {
|
|
|
87
87
|
*/
|
|
88
88
|
listNameRemaps() {
|
|
89
89
|
const result = {};
|
|
90
|
-
const allNames = new Set([...this.globalNameRemaps.keys(), ...this.appNameRemaps.keys()]);
|
|
90
|
+
const allNames = /* @__PURE__ */ new Set([...this.globalNameRemaps.keys(), ...this.appNameRemaps.keys()]);
|
|
91
91
|
for (const name of allNames) result[name] = {
|
|
92
92
|
appTargets: this.appNameRemaps.get(name),
|
|
93
93
|
globalTargets: this.globalNameRemaps.get(name)
|
|
@@ -172,9 +172,10 @@ var ContributionRegistry = class {
|
|
|
172
172
|
const effectiveTargets = contributionTargetMappingRegistry.getEffectiveTargets(target, contribution);
|
|
173
173
|
for (const effectiveTarget of effectiveTargets) {
|
|
174
174
|
if (effectiveTarget === target) continue;
|
|
175
|
+
const contributionsForSlot = this.getContributions(effectiveTarget);
|
|
175
176
|
publish(TOPIC_CONTRIBUTEIONS_CHANGED, {
|
|
176
177
|
target: effectiveTarget,
|
|
177
|
-
contributions:
|
|
178
|
+
contributions: contributionsForSlot
|
|
178
179
|
});
|
|
179
180
|
}
|
|
180
181
|
}
|
|
@@ -453,4 +454,4 @@ var DocksWidget = class extends DocksWidgetBase {
|
|
|
453
454
|
//#endregion
|
|
454
455
|
export { overrideContributionTargets as C, toastWarning as E, listContributionNameRemaps as S, toastInfo as T, getContributionDisabled as _, TOPIC_COMMAND_REGISTERED as a, applyConfigNameRemaps as b, EMPTY_SIGNALPORT as c, activeSelectionSignal as d, activeTasksSignal as f, contributionRegistry as g, TOPIC_CONTRIBUTEIONS_CHANGED as h, CommandStack as i, activeEditorSignal as l, perspectiveSwitchedSignal as m, watchSignal as n, commandRegistry as o, partDirtySignal as p, CommandRegistry as r, registerAll as s, DocksWidget as t, activePartSignal as u, getContributionVisible as v, toastError as w, contributionTargetMappingRegistry as x, readReactiveBoolean as y };
|
|
455
456
|
|
|
456
|
-
//# sourceMappingURL=widget-
|
|
457
|
+
//# sourceMappingURL=widget-DUR6wxME.js.map
|