@salesforce/vite-plugin-lwc-ui-bundle 10.3.0 → 10.4.0

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/README.md CHANGED
@@ -73,6 +73,24 @@ providers: [
73
73
  ];
74
74
  ```
75
75
 
76
+ ### `bundle`
77
+
78
+ Controls the build output format.
79
+
80
+ | Value | Behavior |
81
+ | ---------------- | ------------------------------------------------------------------------------------------------------------- |
82
+ | `true` (default) | No output config injected. Add `viteSingleFile()` to produce a single inlined HTML artifact for chat widgets. |
83
+ | `false` | Outputs a standard web directory: `dist/index.html`, `dist/js/*.js`, `dist/css/*.css`. |
84
+
85
+ ```js
86
+ lwcVitePlugin({
87
+ bundle: false, // multi-file web app output
88
+ modules: { dirs: ["src/lwc"] },
89
+ });
90
+ ```
91
+
92
+ > **Note:** Do not combine `bundle: false` with `viteSingleFile()`. If both are present, `viteSingleFile()` wins and inlines everything into a single HTML file, making `bundle: false` a no-op.
93
+
76
94
  ### `stubs`
77
95
 
78
96
  Map of bare module specifiers to stub file paths. These are injected as Vite `resolve.alias` entries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAEX,oBAAoB,EAIpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACX,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,SAAS,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAkCvD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE,CAkKlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAEX,oBAAoB,EAIpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACX,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,SAAS,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsCvD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE,CA8LlF"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
2
  import path from "node:path";
3
3
  import { existsSync, statSync, readdirSync } from "node:fs";
4
- import { label, i18n, accessCheck, client, gate, primitiveUtils } from "./providers/index.js";
4
+ import { label, i18n, accessCheck, apex, client, gate, messageChannel, messageService, navigation, primitiveUtils } from "./providers/index.js";
5
5
  import { i } from "./providers/index.js";
6
6
  import * as http from "node:http";
7
7
  import * as https from "node:https";
@@ -366,8 +366,12 @@ function defaultProviders() {
366
366
  label(),
367
367
  i18n(),
368
368
  accessCheck(),
369
+ apex(),
369
370
  client(),
370
371
  gate(),
372
+ messageChannel(),
373
+ messageService(),
374
+ navigation(),
371
375
  primitiveUtils(),
372
376
  lds()
373
377
  ];
@@ -404,7 +408,8 @@ function lwcVitePlugin(options = {}) {
404
408
  "@salesforce/core",
405
409
  "@salesforce/vite-plugin-lwc-ui-bundle"
406
410
  ],
407
- passthroughRules = []
411
+ passthroughRules = [],
412
+ bundle = true
408
413
  } = options;
409
414
  const resolvedItems = providers ?? defaultProviders();
410
415
  const resolvedProviders = resolvedItems.filter(isProvider);
@@ -515,6 +520,32 @@ function lwcVitePlugin(options = {}) {
515
520
  }
516
521
  });
517
522
  }
523
+ if (!bundle) {
524
+ plugins.push({
525
+ name: "vite-plugin-lwc-output-multifile",
526
+ enforce: "pre",
527
+ config() {
528
+ return {
529
+ build: {
530
+ outDir: "dist",
531
+ assetsDir: ".",
532
+ cssCodeSplit: true,
533
+ rollupOptions: {
534
+ output: {
535
+ entryFileNames: "js/[name]-[hash].js",
536
+ chunkFileNames: "js/[name]-[hash].js",
537
+ assetFileNames(info) {
538
+ const name = info.names?.[0] ?? info.name ?? "";
539
+ if (name.endsWith(".css")) return "css/[name]-[hash].css";
540
+ return "assets/[name]-[hash][extname]";
541
+ }
542
+ }
543
+ }
544
+ }
545
+ };
546
+ }
547
+ });
548
+ }
518
549
  return plugins;
519
550
  }
520
551
  export {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/discovery.ts","../src/plugins/lightning-npm.ts","../src/plugins/lwc-bridge.ts","../src/plugins/lwc-wrapper.ts","../src/plugins/missing-css.ts","../src/plugins/scoped-providers.ts","../src/plugins/proxy.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync, readdirSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { DirConfig, DiscoveredModule } from \"./types\";\n\nexport function discoverModules(dirs: (string | DirConfig)[] = []): DiscoveredModule[] {\n\tconst modules: DiscoveredModule[] = [];\n\n\tfor (const dir of dirs) {\n\t\tconst dirPath = typeof dir === \"string\" ? dir : dir.path;\n\t\tconst namespace = typeof dir === \"string\" ? undefined : dir.namespace;\n\t\tconst resolvedDir = path.resolve(dirPath);\n\n\t\tif (!existsSync(resolvedDir) || !statSync(resolvedDir).isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (namespace) {\n\t\t\t// Flat DX structure: <dir>/<componentName>/<componentName>.js\n\t\t\tfor (const name of readdirSync(resolvedDir)) {\n\t\t\t\tconst fullPath = path.join(resolvedDir, name);\n\t\t\t\tif (!statSync(fullPath).isDirectory()) continue;\n\n\t\t\t\tconst entryPath = path.join(fullPath, `${name}.js`);\n\t\t\t\tif (existsSync(entryPath)) {\n\t\t\t\t\tmodules.push({\n\t\t\t\t\t\tname: `${namespace}/${name}`,\n\t\t\t\t\t\tpath: path.resolve(entryPath),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Standard structure: <dir>/<namespace>/<componentName>/<componentName>.js\n\t\t\tfor (const ns of readdirSync(resolvedDir)) {\n\t\t\t\tconst nsDir = path.join(resolvedDir, ns);\n\t\t\t\tif (!statSync(nsDir).isDirectory()) continue;\n\n\t\t\t\tfor (const name of readdirSync(nsDir)) {\n\t\t\t\t\tconst fullPath = path.join(nsDir, name);\n\t\t\t\t\tif (!statSync(fullPath).isDirectory()) continue;\n\n\t\t\t\t\tconst entryPath = path.join(fullPath, `${name}.js`);\n\t\t\t\t\tif (existsSync(entryPath)) {\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tname: `${ns}/${name}`,\n\t\t\t\t\t\t\tpath: path.resolve(entryPath),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modules;\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\nimport type { LightningNpmOptions } from \"../types\";\n\nfunction resolveJsFromRoot(root: string, sub: string): string | null {\n\tconst segments = sub.split(\"/\");\n\tconst leaf = segments[segments.length - 1];\n\tconst nested = path.join(root, ...segments, `${leaf}.js`);\n\tif (existsSync(nested)) return nested;\n\tconst flat = path.join(root, `${sub}.js`);\n\tif (existsSync(flat)) return flat;\n\treturn null;\n}\n\nfunction resolveCssFromRoot(root: string, sub: string): string | null {\n\tconst segments = sub.split(\"/\");\n\tconst leaf = segments[segments.length - 1];\n\tconst nested = path.join(root, ...segments, `${leaf}.css`);\n\treturn existsSync(nested) ? nested : null;\n}\n\nexport function lightningNpm({ npmRoot, overrideDirs = [] }: LightningNpmOptions): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-resolve-lightning-npm\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(importee) {\n\t\t\tif (!importee.startsWith(\"lightning/\")) return null;\n\n\t\t\tconst sub = importee.slice(\"lightning/\".length);\n\t\t\tconst segments = sub.split(\"/\");\n\t\t\tconst leaf = segments[segments.length - 1];\n\n\t\t\tfor (const dir of overrideDirs) {\n\t\t\t\tconst overridePath = path.join(dir, ...segments, `${leaf}.js`);\n\t\t\t\tif (existsSync(overridePath)) return null;\n\t\t\t}\n\n\t\t\tconst npmJs = resolveJsFromRoot(npmRoot, sub);\n\t\t\tif (npmJs) return npmJs;\n\n\t\t\tfor (const dir of overrideDirs) {\n\t\t\t\tconst cssFallback = path.join(dir, ...segments, `${leaf}.css`);\n\t\t\t\tif (existsSync(cssFallback)) return cssFallback;\n\t\t\t}\n\n\t\t\treturn resolveCssFromRoot(npmRoot, sub);\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin, ResolvedConfig } from \"vite\";\n\nexport function lwcBridge(isComponentAsset: (id: string) => boolean): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-lwc-bridge\",\n\t\tenforce: \"pre\",\n\n\t\tconfigResolved(config: ResolvedConfig) {\n\t\t\tfor (const plugin of config.plugins) {\n\t\t\t\tif (plugin.name === \"vite:css\" || plugin.name === \"vite:css-post\") {\n\t\t\t\t\tconst p = plugin as unknown as Record<string, unknown>;\n\t\t\t\t\tconst origTransform = p[\"transform\"];\n\t\t\t\t\tif (!origTransform) continue;\n\n\t\t\t\t\tif (typeof origTransform === \"function\") {\n\t\t\t\t\t\t// Vite <7: transform is a plain function\n\t\t\t\t\t\tp[\"transform\"] = function (\n\t\t\t\t\t\t\tthis: unknown,\n\t\t\t\t\t\t\tcode: string,\n\t\t\t\t\t\t\tid: string,\n\t\t\t\t\t\t\t...rest: unknown[]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (isComponentAsset(id)) return;\n\t\t\t\t\t\t\treturn (origTransform as (...a: unknown[]) => unknown).call(this, code, id, ...rest);\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttypeof origTransform === \"object\" &&\n\t\t\t\t\t\ttypeof (origTransform as Record<string, unknown>)[\"handler\"] === \"function\"\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Vite 7+: transform is { handler, order? }\n\t\t\t\t\t\tconst origHandler = (origTransform as Record<string, unknown>)[\"handler\"] as (\n\t\t\t\t\t\t\t...a: unknown[]\n\t\t\t\t\t\t) => unknown;\n\t\t\t\t\t\tp[\"transform\"] = {\n\t\t\t\t\t\t\t...(origTransform as object),\n\t\t\t\t\t\t\thandler: function (this: unknown, code: string, id: string, ...rest: unknown[]) {\n\t\t\t\t\t\t\t\tif (isComponentAsset(id)) return;\n\t\t\t\t\t\t\t\treturn origHandler.call(this, code, id, ...rest);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tresolveId(id, importer) {\n\t\t\tif (id.startsWith(\"@lwc/resources/\")) {\n\t\t\t\treturn id;\n\t\t\t}\n\n\t\t\tconst cleanId = id.split(\"?\", 2)[0] ?? id;\n\n\t\t\tif (cleanId.endsWith(\".html\") && isComponentAsset(cleanId) && !id.includes(\"?lwc\")) {\n\t\t\t\treturn `${cleanId}?lwc`;\n\t\t\t}\n\n\t\t\tif (!importer) return null;\n\t\t\tif (!cleanId.endsWith(\".html\")) return null;\n\t\t\tif (!cleanId.startsWith(\"./\") && !cleanId.startsWith(\"../\")) return null;\n\t\t\tif (!isComponentAsset(importer)) return null;\n\n\t\t\tconst resolved = path.resolve(path.dirname(importer.split(\"?\")[0] ?? importer), cleanId);\n\n\t\t\tif (existsSync(resolved)) {\n\t\t\t\treturn resolved + \"?lwc\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (id.startsWith(\"@lwc/resources/\")) {\n\t\t\t\treturn \"export default undefined;\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Plugin } from \"vite\";\n\ntype AnyFn = (this: unknown, ...args: unknown[]) => unknown;\ntype LwcRollupFactory = (options: Record<string, unknown>) => Plugin;\ntype LazyLwcRollupLoader = () => Promise<LwcRollupFactory>;\n\nexport function lwcWrapper(\n\tlazyLoader: LazyLwcRollupLoader,\n\toptions: Record<string, unknown>,\n\tisComponentAsset?: (id: string) => boolean,\n): Plugin {\n\tlet pluginPromise: Promise<Plugin> | null = null;\n\n\tconst getPlugin = () => {\n\t\tif (!pluginPromise) {\n\t\t\tpluginPromise = lazyLoader().then((factory) => factory(options));\n\t\t}\n\t\treturn pluginPromise;\n\t};\n\n\treturn {\n\t\tname: \"vite-plugin-lwc-wrapper\",\n\t\tenforce: \"pre\" as const,\n\t\tasync resolveId(importee: string, importer?: string) {\n\t\t\tif (importer?.split(\"?\")[0]?.endsWith(\"index.html\") && !importer.includes(\"html-proxy\"))\n\t\t\t\treturn null;\n\t\t\tif (importee.startsWith(\"/@\") || importee.startsWith(\"\\0\")) return null;\n\t\t\tif (importer?.includes(\"/node_modules/vite/\")) return null;\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.resolveId === \"function\"\n\t\t\t\t? (plugin.resolveId as AnyFn).call(this, importee, importer)\n\t\t\t\t: null;\n\t\t},\n\t\tasync load(id: string) {\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.load === \"function\" ? (plugin.load as AnyFn).call(this, id) : null;\n\t\t},\n\t\tasync transform(code: string, id: string) {\n\t\t\t// Only pass files to the LWC compiler if they are LWC component assets.\n\t\t\t// Non-component files (SDK sources, node_modules, etc.) must be skipped.\n\t\t\tif (isComponentAsset && !isComponentAsset(id)) return null;\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.transform === \"function\"\n\t\t\t\t? (plugin.transform as AnyFn).call(this, code, id)\n\t\t\t\t: null;\n\t\t},\n\t} as Plugin;\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\n\nconst LWC_EMPTY_CSS = \"\\0lwc-empty-css\";\n\nexport function missingCss(): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-lwc-missing-css\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(id, importer) {\n\t\t\tif (!importer || !id.startsWith(\"./\") || !id.includes(\".css\")) return null;\n\t\t\tconst importerPath = importer.split(\"?\")[0] ?? importer;\n\t\t\tif (!importerPath.endsWith(\".html\")) return null;\n\n\t\t\tconst resolved = path.resolve(path.dirname(importerPath), id.split(\"?\")[0] ?? id);\n\t\t\tif (existsSync(resolved)) return null;\n\n\t\t\treturn `${LWC_EMPTY_CSS}?${id}`;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (id.startsWith(LWC_EMPTY_CSS)) {\n\t\t\t\treturn \"export default undefined\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Plugin } from \"vite\";\nimport type { Provider, ScopedProvidersOptions } from \"../types\";\n\nconst VIRTUAL_PREFIX = \"\\0sf-provider:\";\n\nexport function scopedProviders(\n\tproviders: Provider[] = [],\n\toptions: ScopedProvidersOptions = {},\n): Plugin {\n\tconst { ignorePatterns = [], interceptPrefixes = [], passthroughRules = [] } = options;\n\n\tconst prefixSet = new Set<string>();\n\tfor (const p of providers) {\n\t\tif (p.prefix) prefixSet.add(p.prefix);\n\t}\n\n\tfunction shouldIntercept(id: string): boolean {\n\t\tfor (const prefix of prefixSet) {\n\t\t\tif (id === prefix || id.startsWith(prefix)) return true;\n\t\t}\n\t\tfor (const prefix of interceptPrefixes) {\n\t\t\tif (id.startsWith(prefix)) return true;\n\t\t}\n\t\tfor (const p of providers) {\n\t\t\tif (!p.prefix && typeof p.match === \"function\" && p.match(id)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tname: \"vite-plugin-scoped-module-providers\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(id, importer) {\n\t\t\t// Explicit provider prefix always wins over ignorePatterns —\n\t\t\t// if a provider is registered for a specifier, it always handles it.\n\t\t\tconst handledByProvider = [...prefixSet].some((p) => id === p || id.startsWith(p + \"/\"));\n\n\t\t\tif (!handledByProvider) {\n\t\t\t\tif (!shouldIntercept(id)) return null;\n\n\t\t\t\tfor (const pattern of ignorePatterns) {\n\t\t\t\t\tif (id.startsWith(pattern)) return null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const rule of passthroughRules) {\n\t\t\t\tif (\n\t\t\t\t\timporter &&\n\t\t\t\t\tid.startsWith(rule.specifierPrefix) &&\n\t\t\t\t\timporter.includes(rule.importerPattern)\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn VIRTUAL_PREFIX + id;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (!id.startsWith(VIRTUAL_PREFIX)) return null;\n\n\t\t\tconst specifier = id.slice(VIRTUAL_PREFIX.length);\n\n\t\t\tfor (const provider of providers) {\n\t\t\t\tconst result = provider.resolve(specifier);\n\t\t\t\tif (result != null) return result;\n\t\t\t}\n\n\t\t\tconsole.warn(\n\t\t\t\t`[scoped-module-providers] Unhandled import: ${specifier} — returning undefined`,\n\t\t\t);\n\t\t\treturn `export default undefined;`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport * as http from \"node:http\";\nimport * as https from \"node:https\";\nimport type { Plugin } from \"vite\";\n\nexport interface LwcProxyOptions {\n\t/** Salesforce org alias (defaults to the sf CLI default org) */\n\torgAlias?: string;\n\t/** Enable verbose request logging */\n\tdebug?: boolean;\n}\n\n/**\n * Vite plugin that proxies Salesforce API calls to a connected org.\n *\n * Uses the same authentication approach as @salesforce/vite-plugin-ui-bundle —\n * reads credentials from the sf CLI via @salesforce/ui-bundle/app.\n *\n * Intercepts requests to /services/ and /lwr/ and forwards them to Salesforce\n * with the org's access token. Handles token refresh on 401/403 responses.\n *\n * Usage in vite.config.js:\n * import { lwcProxy } from '@salesforce/vite-plugin-lwc-ui-bundle';\n * plugins: [lwcVitePlugin(...), lwcProxy()]\n *\n * Then initialise the SDK in your app's bootstrap:\n * import { createDataSDK } from '@salesforce/platform-sdk';\n * globalThis.__sfdc_sdk__ = await createDataSDK({ uiBundle: { basePath: '/' } });\n */\nexport function lwcProxy(options: LwcProxyOptions = {}): Plugin {\n\tlet instanceUrl: string | undefined;\n\tlet accessToken: string | undefined;\n\tconst orgAlias: string | undefined = options.orgAlias;\n\n\tasync function loadOrgInfo(): Promise<void> {\n\t\ttry {\n\t\t\t// Dynamically import to avoid bundling @salesforce/ui-bundle at build time\n\t\t\tconst { getOrgInfo } = await import(\"@salesforce/ui-bundle/app\");\n\t\t\tconst info = await getOrgInfo(orgAlias);\n\t\t\tif (info) {\n\t\t\t\tinstanceUrl = info.rawInstanceUrl ?? info.instanceUrl;\n\t\t\t\taccessToken = info.accessToken;\n\t\t\t\tif (options.debug) {\n\t\t\t\t\tconsole.log(`[lwc-proxy] Connected to ${instanceUrl}`);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconst msg = error instanceof Error ? error.message : String(error);\n\t\t\tconsole.error(\n\t\t\t\t`[lwc-proxy] Failed to load org info — is a Salesforce org connected?\\n ${msg}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tasync function refreshToken(): Promise<void> {\n\t\ttry {\n\t\t\tconst { refreshOrgAuth } = await import(\"@salesforce/ui-bundle/app\");\n\t\t\tconst info = await refreshOrgAuth(orgAlias ?? \"\");\n\t\t\tif (info) {\n\t\t\t\tinstanceUrl = info.rawInstanceUrl ?? info.instanceUrl;\n\t\t\t\taccessToken = info.accessToken;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore refresh errors\n\t\t}\n\t}\n\n\treturn {\n\t\tname: \"vite-plugin-lwc-proxy\",\n\t\tenforce: \"pre\",\n\n\t\tasync configResolved() {\n\t\t\tawait loadOrgInfo();\n\t\t},\n\n\t\tconfigureServer(server) {\n\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\tconst url = req.url ?? \"\";\n\n\t\t\t\t// Only proxy Salesforce API paths\n\t\t\t\tif (!url.startsWith(\"/services/\") && !url.startsWith(\"/lwr/\")) {\n\t\t\t\t\treturn next();\n\t\t\t\t}\n\n\t\t\t\tif (!instanceUrl || !accessToken) {\n\t\t\t\t\tres.writeHead(503, { \"Content-Type\": \"application/json\" });\n\t\t\t\t\tres.end(\n\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\terror: \"SERVICE_UNAVAILABLE\",\n\t\t\t\t\t\t\tmessage: \"Salesforce org not connected. Run: sf org display\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst forward = async (token: string): Promise<void> => {\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tconst targetUrl = new URL(url, instanceUrl);\n\t\t\t\t\t\tconst isHttps = targetUrl.protocol === \"https:\";\n\t\t\t\t\t\tconst transport = isHttps ? https : http;\n\n\t\t\t\t\t\tif (options.debug) {\n\t\t\t\t\t\t\tconsole.log(`[lwc-proxy] ${req.method} ${url}`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Strip hop-by-hop headers\n\t\t\t\t\t\tconst headers: Record<string, string | string[]> = {};\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(req.headers)) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t![\n\t\t\t\t\t\t\t\t\t\"host\",\n\t\t\t\t\t\t\t\t\t\"connection\",\n\t\t\t\t\t\t\t\t\t\"keep-alive\",\n\t\t\t\t\t\t\t\t\t\"proxy-authenticate\",\n\t\t\t\t\t\t\t\t\t\"proxy-authorization\",\n\t\t\t\t\t\t\t\t\t\"te\",\n\t\t\t\t\t\t\t\t\t\"trailers\",\n\t\t\t\t\t\t\t\t\t\"transfer-encoding\",\n\t\t\t\t\t\t\t\t\t\"upgrade\",\n\t\t\t\t\t\t\t\t].includes(key.toLowerCase()) &&\n\t\t\t\t\t\t\t\tvalue !== undefined\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\theaders[key] = value as string | string[];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\theaders[\"host\"] = targetUrl.host;\n\t\t\t\t\t\theaders[\"authorization\"] = `Bearer ${token}`;\n\t\t\t\t\t\theaders[\"cookie\"] = `sid=${token}`;\n\n\t\t\t\t\t\tconst proxyReq = transport.request(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmethod: req.method,\n\t\t\t\t\t\t\t\thostname: targetUrl.hostname,\n\t\t\t\t\t\t\t\tport: targetUrl.port || (isHttps ? 443 : 80),\n\t\t\t\t\t\t\t\tpath: targetUrl.pathname + targetUrl.search,\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t(proxyRes) => {\n\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\tres.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);\n\t\t\t\t\t\t\t\tproxyRes.pipe(res);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treq.pipe(proxyReq);\n\t\t\t\t\t\tproxyReq.on(\"error\", reject);\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tawait forward(accessToken!);\n\n\t\t\t\t\t// On 401/403, refresh token and retry once\n\t\t\t\t\t// Note: we can't easily check status here since we piped to res,\n\t\t\t\t\t// so we rely on the transform hook below for retries in future iterations\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (options.debug) {\n\t\t\t\t\t\tconsole.error(\"[lwc-proxy] Request failed:\", error);\n\t\t\t\t\t}\n\t\t\t\t\t// Try refreshing token and retry\n\t\t\t\t\tawait refreshToken();\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait forward(accessToken!);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tnext(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\nimport { discoverModules } from \"./discovery\";\nimport { lightningNpm } from \"./plugins/lightning-npm\";\nimport { lwcBridge } from \"./plugins/lwc-bridge\";\nimport { lwcWrapper } from \"./plugins/lwc-wrapper\";\nimport { missingCss } from \"./plugins/missing-css\";\nimport { scopedProviders } from \"./plugins/scoped-providers\";\nimport * as builtinProviders from \"./providers/index\";\nimport type {\n\tDirConfig,\n\tLwcVitePluginOptions,\n\tNpmModuleConfig,\n\tPassthroughRule,\n\tProvider,\n} from \"./types\";\n\nexport type {\n\tProvider,\n\tLwcVitePluginOptions,\n\tPassthroughRule,\n\tDiscoveredModule,\n\tDirConfig,\n} from \"./types\";\nexport { builtinProviders as builtins };\nexport { discoverModules } from \"./discovery\";\nexport { lwcProxy } from \"./plugins/proxy\";\nexport type { LwcProxyOptions } from \"./plugins/proxy\";\n\nfunction defaultProviders(): (Provider | Plugin)[] {\n\treturn [\n\t\tbuiltinProviders.label(),\n\t\tbuiltinProviders.i18n(),\n\t\tbuiltinProviders.accessCheck(),\n\t\tbuiltinProviders.client(),\n\t\tbuiltinProviders.gate(),\n\t\tbuiltinProviders.primitiveUtils(),\n\t\tbuiltinProviders.lds(),\n\t];\n}\n\n/** Distinguishes a scoped-providers `Provider` from a raw Vite `Plugin`. */\nfunction isProvider(item: Provider | Plugin): item is Provider {\n\treturn typeof (item as Provider).resolve === \"function\";\n}\n\nasync function loadLwcRollup() {\n\ttry {\n\t\t// Use dynamic import to load ESM-only @lwc/rollup-plugin (peer dep, types not guaranteed)\n\t\tconst mod = await (import(\"@lwc/rollup-plugin\") as Promise<Record<string, unknown>>);\n\t\treturn (mod[\"default\"] ?? mod) as unknown as (options: Record<string, unknown>) => Plugin;\n\t} catch (error) {\n\t\tconst errMsg = error instanceof Error ? error.message : String(error);\n\t\tthrow new Error(\n\t\t\t\"@salesforce/vite-plugin-lwc-ui-bundle requires @lwc/rollup-plugin as a peer dependency. \" +\n\t\t\t\t\"Install it with: npm install -D @lwc/rollup-plugin\\n\" +\n\t\t\t\t`Debug: cwd=${process.cwd()}, error=${errMsg}`,\n\t\t);\n\t}\n}\n\nexport default function lwcVitePlugin(options: LwcVitePluginOptions = {}): Plugin[] {\n\tconst {\n\t\tmodules = {},\n\t\tproviders,\n\t\tstubs = {},\n\t\tlwcOptions = {},\n\t\tignorePatterns = [\n\t\t\t// Legacy @salesforce/sdk-* prefix — kept for external consumers still on the\n\t\t\t// pre-rename package names. The `@salesforce/platform-sdk-` prefix covers the\n\t\t\t// individual platform-sdk-* packages (still in place pending deprecation);\n\t\t\t// `@salesforce/platform-sdk` (no trailing dash) covers the consolidated package.\n\t\t\t\"@salesforce/sdk-\",\n\t\t\t\"@salesforce/platform-sdk-\",\n\t\t\t\"@salesforce/platform-sdk\",\n\t\t\t\"@salesforce/core\",\n\t\t\t\"@salesforce/vite-plugin-lwc-ui-bundle\",\n\t\t],\n\t\tpassthroughRules = [],\n\t} = options;\n\n\tconst resolvedItems = providers ?? defaultProviders();\n\tconst resolvedProviders = resolvedItems.filter(isProvider);\n\tconst rawPlugins = resolvedItems.filter((item): item is Plugin => !isProvider(item));\n\n\tconst { dirs = [], npm: npmPackages = [] } = modules;\n\n\tconst resolvedDirs: DirConfig[] = dirs.map((d) =>\n\t\ttypeof d === \"string\"\n\t\t\t? { path: path.resolve(d), namespace: \"\" }\n\t\t\t: { ...d, path: path.resolve(d.path) },\n\t);\n\n\tconst npmConfigs: NpmModuleConfig[] = npmPackages.map((pkg) =>\n\t\ttypeof pkg === \"string\" ? { npm: pkg } : pkg,\n\t);\n\n\tconst require = createRequire(import.meta.url);\n\tconst npmRoots = npmConfigs.map((cfg) => {\n\t\tconst pkgJson = require.resolve(`${cfg.npm}/package.json`);\n\t\treturn path.join(path.dirname(pkgJson), \"src\", \"lightning\");\n\t});\n\n\tconst discoveredModules = discoverModules(dirs);\n\n\tconst lwcModules = [...npmConfigs, ...discoveredModules];\n\n\tconst lightningOverrideDirs = resolvedDirs.map((d) => path.join(d.path, \"lightning\"));\n\n\tfunction isComponentAsset(id: string): boolean {\n\t\tconst clean = id.split(\"?\")[0] ?? id;\n\t\tfor (const dir of resolvedDirs) {\n\t\t\tif (clean.includes(dir.path)) return true;\n\t\t}\n\t\tfor (const cfg of npmConfigs) {\n\t\t\tif (clean.includes(cfg.npm)) return true;\n\t\t}\n\t\treturn clean.includes(\"@lwc/\") || clean.startsWith(\"\\0lwc-empty-css\");\n\t}\n\n\tconst stubAliases: Record<string, string> = {};\n\tfor (const [specifier, stubPath] of Object.entries(stubs)) {\n\t\tstubAliases[specifier] = path.resolve(stubPath);\n\t}\n\n\tconst interceptPrefixes = new Set<string>();\n\tfor (const p of resolvedProviders) {\n\t\tif (p.prefix && p.prefix.startsWith(\"@\")) {\n\t\t\tinterceptPrefixes.add(p.prefix.split(\"/\")[0] + \"/\");\n\t\t}\n\t}\n\n\t// Plugin-style providers (e.g. lds()) can contribute passthroughRules so\n\t// imports made from inside their virtual modules reach the real npm\n\t// package instead of being claimed by scopedProviders' broad\n\t// `@salesforce/` interceptPrefix.\n\tconst pluginPassthroughRules = rawPlugins.flatMap(\n\t\t(p) => (p as { passthroughRules?: PassthroughRule[] }).passthroughRules ?? [],\n\t);\n\n\tconst plugins: Plugin[] = [\n\t\t{\n\t\t\tname: \"vite-plugin-lwc-optimize-deps\",\n\t\t\tconfig() {\n\t\t\t\treturn {\n\t\t\t\t\toptimizeDeps: {\n\t\t\t\t\t\texclude: [\"lwc\"],\n\t\t\t\t\t\tesbuildOptions: {\n\t\t\t\t\t\t\tplugins: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: \"lwc-html-stub\",\n\t\t\t\t\t\t\t\t\tsetup(build: {\n\t\t\t\t\t\t\t\t\t\tonResolve: (\n\t\t\t\t\t\t\t\t\t\t\toptions: { filter: RegExp },\n\t\t\t\t\t\t\t\t\t\t\tcallback: (args: { path: string }) => {\n\t\t\t\t\t\t\t\t\t\t\t\tpath: string;\n\t\t\t\t\t\t\t\t\t\t\t\texternal: boolean;\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t) => void;\n\t\t\t\t\t\t\t\t\t}) {\n\t\t\t\t\t\t\t\t\t\t// esbuild cannot process LWC HTML templates (?lwc suffix).\n\t\t\t\t\t\t\t\t\t\t// Mark them as external so Vite's own plugin handles them.\n\t\t\t\t\t\t\t\t\t\tbuild.onResolve({ filter: /\\.html/ }, (args: { path: string }) => ({\n\t\t\t\t\t\t\t\t\t\t\tpath: args.path,\n\t\t\t\t\t\t\t\t\t\t\texternal: true,\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t// plugins returned by plugin-style builtins (e.g. lds())\n\t\t...rawPlugins,\n\t\tscopedProviders(resolvedProviders, {\n\t\t\tignorePatterns,\n\t\t\tinterceptPrefixes: [...interceptPrefixes],\n\t\t\tpassthroughRules: [...passthroughRules, ...pluginPassthroughRules],\n\t\t}),\n\n\t\t...npmRoots.map((npmRoot) =>\n\t\t\tlightningNpm({\n\t\t\t\tnpmRoot,\n\t\t\t\toverrideDirs: lightningOverrideDirs,\n\t\t\t}),\n\t\t),\n\n\t\tmissingCss(),\n\t\tlwcBridge(isComponentAsset),\n\t\tlwcWrapper(\n\t\t\tloadLwcRollup,\n\t\t\t{\n\t\t\t\trootDir: process.cwd(),\n\t\t\t\t...lwcOptions,\n\t\t\t\tmodules: lwcModules,\n\t\t\t\texclude: [\n\t\t\t\t\t\"**/index.html\",\n\t\t\t\t\t\"**/node_modules/vite/**\",\n\t\t\t\t\t\"**/node_modules/.vite/**\",\n\t\t\t\t\t...((lwcOptions.exclude as string[]) || []),\n\t\t\t\t],\n\t\t\t},\n\t\t\tisComponentAsset,\n\t\t),\n\t];\n\n\tif (Object.keys(stubAliases).length > 0) {\n\t\tplugins.push({\n\t\t\tname: \"vite-plugin-lwc-stubs\",\n\t\t\tenforce: \"pre\",\n\t\t\tconfig() {\n\t\t\t\treturn {\n\t\t\t\t\tresolve: {\n\t\t\t\t\t\talias: stubAliases,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t});\n\t}\n\n\treturn plugins;\n}\n"],"names":["builtinProviders.label","builtinProviders.i18n","builtinProviders.accessCheck","builtinProviders.client","builtinProviders.gate","builtinProviders.primitiveUtils","builtinProviders.lds","require"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/discovery.ts","../src/plugins/lightning-npm.ts","../src/plugins/lwc-bridge.ts","../src/plugins/lwc-wrapper.ts","../src/plugins/missing-css.ts","../src/plugins/scoped-providers.ts","../src/plugins/proxy.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync, readdirSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { DirConfig, DiscoveredModule } from \"./types\";\n\nexport function discoverModules(dirs: (string | DirConfig)[] = []): DiscoveredModule[] {\n\tconst modules: DiscoveredModule[] = [];\n\n\tfor (const dir of dirs) {\n\t\tconst dirPath = typeof dir === \"string\" ? dir : dir.path;\n\t\tconst namespace = typeof dir === \"string\" ? undefined : dir.namespace;\n\t\tconst resolvedDir = path.resolve(dirPath);\n\n\t\tif (!existsSync(resolvedDir) || !statSync(resolvedDir).isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (namespace) {\n\t\t\t// Flat DX structure: <dir>/<componentName>/<componentName>.js\n\t\t\tfor (const name of readdirSync(resolvedDir)) {\n\t\t\t\tconst fullPath = path.join(resolvedDir, name);\n\t\t\t\tif (!statSync(fullPath).isDirectory()) continue;\n\n\t\t\t\tconst entryPath = path.join(fullPath, `${name}.js`);\n\t\t\t\tif (existsSync(entryPath)) {\n\t\t\t\t\tmodules.push({\n\t\t\t\t\t\tname: `${namespace}/${name}`,\n\t\t\t\t\t\tpath: path.resolve(entryPath),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Standard structure: <dir>/<namespace>/<componentName>/<componentName>.js\n\t\t\tfor (const ns of readdirSync(resolvedDir)) {\n\t\t\t\tconst nsDir = path.join(resolvedDir, ns);\n\t\t\t\tif (!statSync(nsDir).isDirectory()) continue;\n\n\t\t\t\tfor (const name of readdirSync(nsDir)) {\n\t\t\t\t\tconst fullPath = path.join(nsDir, name);\n\t\t\t\t\tif (!statSync(fullPath).isDirectory()) continue;\n\n\t\t\t\t\tconst entryPath = path.join(fullPath, `${name}.js`);\n\t\t\t\t\tif (existsSync(entryPath)) {\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tname: `${ns}/${name}`,\n\t\t\t\t\t\t\tpath: path.resolve(entryPath),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modules;\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\nimport type { LightningNpmOptions } from \"../types\";\n\nfunction resolveJsFromRoot(root: string, sub: string): string | null {\n\tconst segments = sub.split(\"/\");\n\tconst leaf = segments[segments.length - 1];\n\tconst nested = path.join(root, ...segments, `${leaf}.js`);\n\tif (existsSync(nested)) return nested;\n\tconst flat = path.join(root, `${sub}.js`);\n\tif (existsSync(flat)) return flat;\n\treturn null;\n}\n\nfunction resolveCssFromRoot(root: string, sub: string): string | null {\n\tconst segments = sub.split(\"/\");\n\tconst leaf = segments[segments.length - 1];\n\tconst nested = path.join(root, ...segments, `${leaf}.css`);\n\treturn existsSync(nested) ? nested : null;\n}\n\nexport function lightningNpm({ npmRoot, overrideDirs = [] }: LightningNpmOptions): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-resolve-lightning-npm\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(importee) {\n\t\t\tif (!importee.startsWith(\"lightning/\")) return null;\n\n\t\t\tconst sub = importee.slice(\"lightning/\".length);\n\t\t\tconst segments = sub.split(\"/\");\n\t\t\tconst leaf = segments[segments.length - 1];\n\n\t\t\tfor (const dir of overrideDirs) {\n\t\t\t\tconst overridePath = path.join(dir, ...segments, `${leaf}.js`);\n\t\t\t\tif (existsSync(overridePath)) return null;\n\t\t\t}\n\n\t\t\tconst npmJs = resolveJsFromRoot(npmRoot, sub);\n\t\t\tif (npmJs) return npmJs;\n\n\t\t\tfor (const dir of overrideDirs) {\n\t\t\t\tconst cssFallback = path.join(dir, ...segments, `${leaf}.css`);\n\t\t\t\tif (existsSync(cssFallback)) return cssFallback;\n\t\t\t}\n\n\t\t\treturn resolveCssFromRoot(npmRoot, sub);\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin, ResolvedConfig } from \"vite\";\n\nexport function lwcBridge(isComponentAsset: (id: string) => boolean): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-lwc-bridge\",\n\t\tenforce: \"pre\",\n\n\t\tconfigResolved(config: ResolvedConfig) {\n\t\t\tfor (const plugin of config.plugins) {\n\t\t\t\tif (plugin.name === \"vite:css\" || plugin.name === \"vite:css-post\") {\n\t\t\t\t\tconst p = plugin as unknown as Record<string, unknown>;\n\t\t\t\t\tconst origTransform = p[\"transform\"];\n\t\t\t\t\tif (!origTransform) continue;\n\n\t\t\t\t\tif (typeof origTransform === \"function\") {\n\t\t\t\t\t\t// Vite <7: transform is a plain function\n\t\t\t\t\t\tp[\"transform\"] = function (\n\t\t\t\t\t\t\tthis: unknown,\n\t\t\t\t\t\t\tcode: string,\n\t\t\t\t\t\t\tid: string,\n\t\t\t\t\t\t\t...rest: unknown[]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (isComponentAsset(id)) return;\n\t\t\t\t\t\t\treturn (origTransform as (...a: unknown[]) => unknown).call(this, code, id, ...rest);\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttypeof origTransform === \"object\" &&\n\t\t\t\t\t\ttypeof (origTransform as Record<string, unknown>)[\"handler\"] === \"function\"\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Vite 7+: transform is { handler, order? }\n\t\t\t\t\t\tconst origHandler = (origTransform as Record<string, unknown>)[\"handler\"] as (\n\t\t\t\t\t\t\t...a: unknown[]\n\t\t\t\t\t\t) => unknown;\n\t\t\t\t\t\tp[\"transform\"] = {\n\t\t\t\t\t\t\t...(origTransform as object),\n\t\t\t\t\t\t\thandler: function (this: unknown, code: string, id: string, ...rest: unknown[]) {\n\t\t\t\t\t\t\t\tif (isComponentAsset(id)) return;\n\t\t\t\t\t\t\t\treturn origHandler.call(this, code, id, ...rest);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tresolveId(id, importer) {\n\t\t\tif (id.startsWith(\"@lwc/resources/\")) {\n\t\t\t\treturn id;\n\t\t\t}\n\n\t\t\tconst cleanId = id.split(\"?\", 2)[0] ?? id;\n\n\t\t\tif (cleanId.endsWith(\".html\") && isComponentAsset(cleanId) && !id.includes(\"?lwc\")) {\n\t\t\t\treturn `${cleanId}?lwc`;\n\t\t\t}\n\n\t\t\tif (!importer) return null;\n\t\t\tif (!cleanId.endsWith(\".html\")) return null;\n\t\t\tif (!cleanId.startsWith(\"./\") && !cleanId.startsWith(\"../\")) return null;\n\t\t\tif (!isComponentAsset(importer)) return null;\n\n\t\t\tconst resolved = path.resolve(path.dirname(importer.split(\"?\")[0] ?? importer), cleanId);\n\n\t\t\tif (existsSync(resolved)) {\n\t\t\t\treturn resolved + \"?lwc\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (id.startsWith(\"@lwc/resources/\")) {\n\t\t\t\treturn \"export default undefined;\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Plugin } from \"vite\";\n\ntype AnyFn = (this: unknown, ...args: unknown[]) => unknown;\ntype LwcRollupFactory = (options: Record<string, unknown>) => Plugin;\ntype LazyLwcRollupLoader = () => Promise<LwcRollupFactory>;\n\nexport function lwcWrapper(\n\tlazyLoader: LazyLwcRollupLoader,\n\toptions: Record<string, unknown>,\n\tisComponentAsset?: (id: string) => boolean,\n): Plugin {\n\tlet pluginPromise: Promise<Plugin> | null = null;\n\n\tconst getPlugin = () => {\n\t\tif (!pluginPromise) {\n\t\t\tpluginPromise = lazyLoader().then((factory) => factory(options));\n\t\t}\n\t\treturn pluginPromise;\n\t};\n\n\treturn {\n\t\tname: \"vite-plugin-lwc-wrapper\",\n\t\tenforce: \"pre\" as const,\n\t\tasync resolveId(importee: string, importer?: string) {\n\t\t\tif (importer?.split(\"?\")[0]?.endsWith(\"index.html\") && !importer.includes(\"html-proxy\"))\n\t\t\t\treturn null;\n\t\t\tif (importee.startsWith(\"/@\") || importee.startsWith(\"\\0\")) return null;\n\t\t\tif (importer?.includes(\"/node_modules/vite/\")) return null;\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.resolveId === \"function\"\n\t\t\t\t? (plugin.resolveId as AnyFn).call(this, importee, importer)\n\t\t\t\t: null;\n\t\t},\n\t\tasync load(id: string) {\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.load === \"function\" ? (plugin.load as AnyFn).call(this, id) : null;\n\t\t},\n\t\tasync transform(code: string, id: string) {\n\t\t\t// Only pass files to the LWC compiler if they are LWC component assets.\n\t\t\t// Non-component files (SDK sources, node_modules, etc.) must be skipped.\n\t\t\tif (isComponentAsset && !isComponentAsset(id)) return null;\n\t\t\tconst plugin = await getPlugin();\n\t\t\treturn typeof plugin.transform === \"function\"\n\t\t\t\t? (plugin.transform as AnyFn).call(this, code, id)\n\t\t\t\t: null;\n\t\t},\n\t} as Plugin;\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\n\nconst LWC_EMPTY_CSS = \"\\0lwc-empty-css\";\n\nexport function missingCss(): Plugin {\n\treturn {\n\t\tname: \"vite-plugin-lwc-missing-css\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(id, importer) {\n\t\t\tif (!importer || !id.startsWith(\"./\") || !id.includes(\".css\")) return null;\n\t\t\tconst importerPath = importer.split(\"?\")[0] ?? importer;\n\t\t\tif (!importerPath.endsWith(\".html\")) return null;\n\n\t\t\tconst resolved = path.resolve(path.dirname(importerPath), id.split(\"?\")[0] ?? id);\n\t\t\tif (existsSync(resolved)) return null;\n\n\t\t\treturn `${LWC_EMPTY_CSS}?${id}`;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (id.startsWith(LWC_EMPTY_CSS)) {\n\t\t\t\treturn \"export default undefined\";\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Plugin } from \"vite\";\nimport type { Provider, ScopedProvidersOptions } from \"../types\";\n\nconst VIRTUAL_PREFIX = \"\\0sf-provider:\";\n\nexport function scopedProviders(\n\tproviders: Provider[] = [],\n\toptions: ScopedProvidersOptions = {},\n): Plugin {\n\tconst { ignorePatterns = [], interceptPrefixes = [], passthroughRules = [] } = options;\n\n\tconst prefixSet = new Set<string>();\n\tfor (const p of providers) {\n\t\tif (p.prefix) prefixSet.add(p.prefix);\n\t}\n\n\tfunction shouldIntercept(id: string): boolean {\n\t\tfor (const prefix of prefixSet) {\n\t\t\tif (id === prefix || id.startsWith(prefix)) return true;\n\t\t}\n\t\tfor (const prefix of interceptPrefixes) {\n\t\t\tif (id.startsWith(prefix)) return true;\n\t\t}\n\t\tfor (const p of providers) {\n\t\t\tif (!p.prefix && typeof p.match === \"function\" && p.match(id)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tname: \"vite-plugin-scoped-module-providers\",\n\t\tenforce: \"pre\",\n\n\t\tresolveId(id, importer) {\n\t\t\t// Explicit provider prefix always wins over ignorePatterns —\n\t\t\t// if a provider is registered for a specifier, it always handles it.\n\t\t\tconst handledByProvider = [...prefixSet].some((p) => id === p || id.startsWith(p + \"/\"));\n\n\t\t\tif (!handledByProvider) {\n\t\t\t\tif (!shouldIntercept(id)) return null;\n\n\t\t\t\tfor (const pattern of ignorePatterns) {\n\t\t\t\t\tif (id.startsWith(pattern)) return null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const rule of passthroughRules) {\n\t\t\t\tif (\n\t\t\t\t\timporter &&\n\t\t\t\t\tid.startsWith(rule.specifierPrefix) &&\n\t\t\t\t\timporter.includes(rule.importerPattern)\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn VIRTUAL_PREFIX + id;\n\t\t},\n\n\t\tload(id) {\n\t\t\tif (!id.startsWith(VIRTUAL_PREFIX)) return null;\n\n\t\t\tconst specifier = id.slice(VIRTUAL_PREFIX.length);\n\n\t\t\tfor (const provider of providers) {\n\t\t\t\tconst result = provider.resolve(specifier);\n\t\t\t\tif (result != null) return result;\n\t\t\t}\n\n\t\t\tconsole.warn(\n\t\t\t\t`[scoped-module-providers] Unhandled import: ${specifier} — returning undefined`,\n\t\t\t);\n\t\t\treturn `export default undefined;`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport * as http from \"node:http\";\nimport * as https from \"node:https\";\nimport type { Plugin } from \"vite\";\n\nexport interface LwcProxyOptions {\n\t/** Salesforce org alias (defaults to the sf CLI default org) */\n\torgAlias?: string;\n\t/** Enable verbose request logging */\n\tdebug?: boolean;\n}\n\n/**\n * Vite plugin that proxies Salesforce API calls to a connected org.\n *\n * Uses the same authentication approach as @salesforce/vite-plugin-ui-bundle —\n * reads credentials from the sf CLI via @salesforce/ui-bundle/app.\n *\n * Intercepts requests to /services/ and /lwr/ and forwards them to Salesforce\n * with the org's access token. Handles token refresh on 401/403 responses.\n *\n * Usage in vite.config.js:\n * import { lwcProxy } from '@salesforce/vite-plugin-lwc-ui-bundle';\n * plugins: [lwcVitePlugin(...), lwcProxy()]\n *\n * Then initialise the SDK in your app's bootstrap:\n * import { createDataSDK } from '@salesforce/platform-sdk';\n * globalThis.__sfdc_sdk__ = await createDataSDK({ uiBundle: { basePath: '/' } });\n */\nexport function lwcProxy(options: LwcProxyOptions = {}): Plugin {\n\tlet instanceUrl: string | undefined;\n\tlet accessToken: string | undefined;\n\tconst orgAlias: string | undefined = options.orgAlias;\n\n\tasync function loadOrgInfo(): Promise<void> {\n\t\ttry {\n\t\t\t// Dynamically import to avoid bundling @salesforce/ui-bundle at build time\n\t\t\tconst { getOrgInfo } = await import(\"@salesforce/ui-bundle/app\");\n\t\t\tconst info = await getOrgInfo(orgAlias);\n\t\t\tif (info) {\n\t\t\t\tinstanceUrl = info.rawInstanceUrl ?? info.instanceUrl;\n\t\t\t\taccessToken = info.accessToken;\n\t\t\t\tif (options.debug) {\n\t\t\t\t\tconsole.log(`[lwc-proxy] Connected to ${instanceUrl}`);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconst msg = error instanceof Error ? error.message : String(error);\n\t\t\tconsole.error(\n\t\t\t\t`[lwc-proxy] Failed to load org info — is a Salesforce org connected?\\n ${msg}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tasync function refreshToken(): Promise<void> {\n\t\ttry {\n\t\t\tconst { refreshOrgAuth } = await import(\"@salesforce/ui-bundle/app\");\n\t\t\tconst info = await refreshOrgAuth(orgAlias ?? \"\");\n\t\t\tif (info) {\n\t\t\t\tinstanceUrl = info.rawInstanceUrl ?? info.instanceUrl;\n\t\t\t\taccessToken = info.accessToken;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Ignore refresh errors\n\t\t}\n\t}\n\n\treturn {\n\t\tname: \"vite-plugin-lwc-proxy\",\n\t\tenforce: \"pre\",\n\n\t\tasync configResolved() {\n\t\t\tawait loadOrgInfo();\n\t\t},\n\n\t\tconfigureServer(server) {\n\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\tconst url = req.url ?? \"\";\n\n\t\t\t\t// Only proxy Salesforce API paths\n\t\t\t\tif (!url.startsWith(\"/services/\") && !url.startsWith(\"/lwr/\")) {\n\t\t\t\t\treturn next();\n\t\t\t\t}\n\n\t\t\t\tif (!instanceUrl || !accessToken) {\n\t\t\t\t\tres.writeHead(503, { \"Content-Type\": \"application/json\" });\n\t\t\t\t\tres.end(\n\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\terror: \"SERVICE_UNAVAILABLE\",\n\t\t\t\t\t\t\tmessage: \"Salesforce org not connected. Run: sf org display\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst forward = async (token: string): Promise<void> => {\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tconst targetUrl = new URL(url, instanceUrl);\n\t\t\t\t\t\tconst isHttps = targetUrl.protocol === \"https:\";\n\t\t\t\t\t\tconst transport = isHttps ? https : http;\n\n\t\t\t\t\t\tif (options.debug) {\n\t\t\t\t\t\t\tconsole.log(`[lwc-proxy] ${req.method} ${url}`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Strip hop-by-hop headers\n\t\t\t\t\t\tconst headers: Record<string, string | string[]> = {};\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(req.headers)) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t![\n\t\t\t\t\t\t\t\t\t\"host\",\n\t\t\t\t\t\t\t\t\t\"connection\",\n\t\t\t\t\t\t\t\t\t\"keep-alive\",\n\t\t\t\t\t\t\t\t\t\"proxy-authenticate\",\n\t\t\t\t\t\t\t\t\t\"proxy-authorization\",\n\t\t\t\t\t\t\t\t\t\"te\",\n\t\t\t\t\t\t\t\t\t\"trailers\",\n\t\t\t\t\t\t\t\t\t\"transfer-encoding\",\n\t\t\t\t\t\t\t\t\t\"upgrade\",\n\t\t\t\t\t\t\t\t].includes(key.toLowerCase()) &&\n\t\t\t\t\t\t\t\tvalue !== undefined\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\theaders[key] = value as string | string[];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\theaders[\"host\"] = targetUrl.host;\n\t\t\t\t\t\theaders[\"authorization\"] = `Bearer ${token}`;\n\t\t\t\t\t\theaders[\"cookie\"] = `sid=${token}`;\n\n\t\t\t\t\t\tconst proxyReq = transport.request(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmethod: req.method,\n\t\t\t\t\t\t\t\thostname: targetUrl.hostname,\n\t\t\t\t\t\t\t\tport: targetUrl.port || (isHttps ? 443 : 80),\n\t\t\t\t\t\t\t\tpath: targetUrl.pathname + targetUrl.search,\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t(proxyRes) => {\n\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\tres.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);\n\t\t\t\t\t\t\t\tproxyRes.pipe(res);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treq.pipe(proxyReq);\n\t\t\t\t\t\tproxyReq.on(\"error\", reject);\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tawait forward(accessToken!);\n\n\t\t\t\t\t// On 401/403, refresh token and retry once\n\t\t\t\t\t// Note: we can't easily check status here since we piped to res,\n\t\t\t\t\t// so we rely on the transform hook below for retries in future iterations\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (options.debug) {\n\t\t\t\t\t\tconsole.error(\"[lwc-proxy] Request failed:\", error);\n\t\t\t\t\t}\n\t\t\t\t\t// Try refreshing token and retry\n\t\t\t\t\tawait refreshToken();\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait forward(accessToken!);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tnext(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport type { Plugin } from \"vite\";\nimport { discoverModules } from \"./discovery\";\nimport { lightningNpm } from \"./plugins/lightning-npm\";\nimport { lwcBridge } from \"./plugins/lwc-bridge\";\nimport { lwcWrapper } from \"./plugins/lwc-wrapper\";\nimport { missingCss } from \"./plugins/missing-css\";\nimport { scopedProviders } from \"./plugins/scoped-providers\";\nimport * as builtinProviders from \"./providers/index\";\nimport type {\n\tDirConfig,\n\tLwcVitePluginOptions,\n\tNpmModuleConfig,\n\tPassthroughRule,\n\tProvider,\n} from \"./types\";\n\nexport type {\n\tProvider,\n\tLwcVitePluginOptions,\n\tPassthroughRule,\n\tDiscoveredModule,\n\tDirConfig,\n} from \"./types\";\nexport { builtinProviders as builtins };\nexport { discoverModules } from \"./discovery\";\nexport { lwcProxy } from \"./plugins/proxy\";\nexport type { LwcProxyOptions } from \"./plugins/proxy\";\n\nfunction defaultProviders(): (Provider | Plugin)[] {\n\treturn [\n\t\tbuiltinProviders.label(),\n\t\tbuiltinProviders.i18n(),\n\t\tbuiltinProviders.accessCheck(),\n\t\tbuiltinProviders.apex(),\n\t\tbuiltinProviders.client(),\n\t\tbuiltinProviders.gate(),\n\t\tbuiltinProviders.messageChannel(),\n\t\tbuiltinProviders.messageService(),\n\t\tbuiltinProviders.navigation(),\n\t\tbuiltinProviders.primitiveUtils(),\n\t\tbuiltinProviders.lds(),\n\t];\n}\n\n/** Distinguishes a scoped-providers `Provider` from a raw Vite `Plugin`. */\nfunction isProvider(item: Provider | Plugin): item is Provider {\n\treturn typeof (item as Provider).resolve === \"function\";\n}\n\nasync function loadLwcRollup() {\n\ttry {\n\t\t// Use dynamic import to load ESM-only @lwc/rollup-plugin (peer dep, types not guaranteed)\n\t\tconst mod = await (import(\"@lwc/rollup-plugin\") as Promise<Record<string, unknown>>);\n\t\treturn (mod[\"default\"] ?? mod) as unknown as (options: Record<string, unknown>) => Plugin;\n\t} catch (error) {\n\t\tconst errMsg = error instanceof Error ? error.message : String(error);\n\t\tthrow new Error(\n\t\t\t\"@salesforce/vite-plugin-lwc-ui-bundle requires @lwc/rollup-plugin as a peer dependency. \" +\n\t\t\t\t\"Install it with: npm install -D @lwc/rollup-plugin\\n\" +\n\t\t\t\t`Debug: cwd=${process.cwd()}, error=${errMsg}`,\n\t\t);\n\t}\n}\n\nexport default function lwcVitePlugin(options: LwcVitePluginOptions = {}): Plugin[] {\n\tconst {\n\t\tmodules = {},\n\t\tproviders,\n\t\tstubs = {},\n\t\tlwcOptions = {},\n\t\tignorePatterns = [\n\t\t\t// Legacy @salesforce/sdk-* prefix — kept for external consumers still on the\n\t\t\t// pre-rename package names. The `@salesforce/platform-sdk-` prefix covers the\n\t\t\t// individual platform-sdk-* packages (still in place pending deprecation);\n\t\t\t// `@salesforce/platform-sdk` (no trailing dash) covers the consolidated package.\n\t\t\t\"@salesforce/sdk-\",\n\t\t\t\"@salesforce/platform-sdk-\",\n\t\t\t\"@salesforce/platform-sdk\",\n\t\t\t\"@salesforce/core\",\n\t\t\t\"@salesforce/vite-plugin-lwc-ui-bundle\",\n\t\t],\n\t\tpassthroughRules = [],\n\t\tbundle = true,\n\t} = options;\n\n\tconst resolvedItems = providers ?? defaultProviders();\n\tconst resolvedProviders = resolvedItems.filter(isProvider);\n\tconst rawPlugins = resolvedItems.filter((item): item is Plugin => !isProvider(item));\n\n\tconst { dirs = [], npm: npmPackages = [] } = modules;\n\n\tconst resolvedDirs: DirConfig[] = dirs.map((d) =>\n\t\ttypeof d === \"string\"\n\t\t\t? { path: path.resolve(d), namespace: \"\" }\n\t\t\t: { ...d, path: path.resolve(d.path) },\n\t);\n\n\tconst npmConfigs: NpmModuleConfig[] = npmPackages.map((pkg) =>\n\t\ttypeof pkg === \"string\" ? { npm: pkg } : pkg,\n\t);\n\n\tconst require = createRequire(import.meta.url);\n\tconst npmRoots = npmConfigs.map((cfg) => {\n\t\tconst pkgJson = require.resolve(`${cfg.npm}/package.json`);\n\t\treturn path.join(path.dirname(pkgJson), \"src\", \"lightning\");\n\t});\n\n\tconst discoveredModules = discoverModules(dirs);\n\n\tconst lwcModules = [...npmConfigs, ...discoveredModules];\n\n\tconst lightningOverrideDirs = resolvedDirs.map((d) => path.join(d.path, \"lightning\"));\n\n\tfunction isComponentAsset(id: string): boolean {\n\t\tconst clean = id.split(\"?\")[0] ?? id;\n\t\tfor (const dir of resolvedDirs) {\n\t\t\tif (clean.includes(dir.path)) return true;\n\t\t}\n\t\tfor (const cfg of npmConfigs) {\n\t\t\tif (clean.includes(cfg.npm)) return true;\n\t\t}\n\t\treturn clean.includes(\"@lwc/\") || clean.startsWith(\"\\0lwc-empty-css\");\n\t}\n\n\tconst stubAliases: Record<string, string> = {};\n\tfor (const [specifier, stubPath] of Object.entries(stubs)) {\n\t\tstubAliases[specifier] = path.resolve(stubPath);\n\t}\n\n\tconst interceptPrefixes = new Set<string>();\n\tfor (const p of resolvedProviders) {\n\t\tif (p.prefix && p.prefix.startsWith(\"@\")) {\n\t\t\tinterceptPrefixes.add(p.prefix.split(\"/\")[0] + \"/\");\n\t\t}\n\t}\n\n\t// Plugin-style providers (e.g. lds()) can contribute passthroughRules so\n\t// imports made from inside their virtual modules reach the real npm\n\t// package instead of being claimed by scopedProviders' broad\n\t// `@salesforce/` interceptPrefix.\n\tconst pluginPassthroughRules = rawPlugins.flatMap(\n\t\t(p) => (p as { passthroughRules?: PassthroughRule[] }).passthroughRules ?? [],\n\t);\n\n\tconst plugins: Plugin[] = [\n\t\t{\n\t\t\tname: \"vite-plugin-lwc-optimize-deps\",\n\t\t\tconfig() {\n\t\t\t\treturn {\n\t\t\t\t\toptimizeDeps: {\n\t\t\t\t\t\texclude: [\"lwc\"],\n\t\t\t\t\t\tesbuildOptions: {\n\t\t\t\t\t\t\tplugins: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: \"lwc-html-stub\",\n\t\t\t\t\t\t\t\t\tsetup(build: {\n\t\t\t\t\t\t\t\t\t\tonResolve: (\n\t\t\t\t\t\t\t\t\t\t\toptions: { filter: RegExp },\n\t\t\t\t\t\t\t\t\t\t\tcallback: (args: { path: string }) => {\n\t\t\t\t\t\t\t\t\t\t\t\tpath: string;\n\t\t\t\t\t\t\t\t\t\t\t\texternal: boolean;\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t) => void;\n\t\t\t\t\t\t\t\t\t}) {\n\t\t\t\t\t\t\t\t\t\t// esbuild cannot process LWC HTML templates (?lwc suffix).\n\t\t\t\t\t\t\t\t\t\t// Mark them as external so Vite's own plugin handles them.\n\t\t\t\t\t\t\t\t\t\tbuild.onResolve({ filter: /\\.html/ }, (args: { path: string }) => ({\n\t\t\t\t\t\t\t\t\t\t\tpath: args.path,\n\t\t\t\t\t\t\t\t\t\t\texternal: true,\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t// plugins returned by plugin-style builtins (e.g. lds())\n\t\t...rawPlugins,\n\t\tscopedProviders(resolvedProviders, {\n\t\t\tignorePatterns,\n\t\t\tinterceptPrefixes: [...interceptPrefixes],\n\t\t\tpassthroughRules: [...passthroughRules, ...pluginPassthroughRules],\n\t\t}),\n\n\t\t...npmRoots.map((npmRoot) =>\n\t\t\tlightningNpm({\n\t\t\t\tnpmRoot,\n\t\t\t\toverrideDirs: lightningOverrideDirs,\n\t\t\t}),\n\t\t),\n\n\t\tmissingCss(),\n\t\tlwcBridge(isComponentAsset),\n\t\tlwcWrapper(\n\t\t\tloadLwcRollup,\n\t\t\t{\n\t\t\t\trootDir: process.cwd(),\n\t\t\t\t...lwcOptions,\n\t\t\t\tmodules: lwcModules,\n\t\t\t\texclude: [\n\t\t\t\t\t\"**/index.html\",\n\t\t\t\t\t\"**/node_modules/vite/**\",\n\t\t\t\t\t\"**/node_modules/.vite/**\",\n\t\t\t\t\t...((lwcOptions.exclude as string[]) || []),\n\t\t\t\t],\n\t\t\t},\n\t\t\tisComponentAsset,\n\t\t),\n\t];\n\n\tif (Object.keys(stubAliases).length > 0) {\n\t\tplugins.push({\n\t\t\tname: \"vite-plugin-lwc-stubs\",\n\t\t\tenforce: \"pre\",\n\t\t\tconfig() {\n\t\t\t\treturn {\n\t\t\t\t\tresolve: {\n\t\t\t\t\t\talias: stubAliases,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t});\n\t}\n\n\tif (!bundle) {\n\t\tplugins.push({\n\t\t\tname: \"vite-plugin-lwc-output-multifile\",\n\t\t\tenforce: \"pre\",\n\t\t\tconfig() {\n\t\t\t\treturn {\n\t\t\t\t\tbuild: {\n\t\t\t\t\t\toutDir: \"dist\",\n\t\t\t\t\t\tassetsDir: \".\",\n\t\t\t\t\t\tcssCodeSplit: true,\n\t\t\t\t\t\trollupOptions: {\n\t\t\t\t\t\t\toutput: {\n\t\t\t\t\t\t\t\tentryFileNames: \"js/[name]-[hash].js\",\n\t\t\t\t\t\t\t\tchunkFileNames: \"js/[name]-[hash].js\",\n\t\t\t\t\t\t\t\tassetFileNames(info: { names?: string[]; name?: string }) {\n\t\t\t\t\t\t\t\t\tconst name = info.names?.[0] ?? info.name ?? \"\";\n\t\t\t\t\t\t\t\t\tif (name.endsWith(\".css\")) return \"css/[name]-[hash].css\";\n\t\t\t\t\t\t\t\t\treturn \"assets/[name]-[hash][extname]\";\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t});\n\t}\n\n\treturn plugins;\n}\n"],"names":["builtinProviders.label","builtinProviders.i18n","builtinProviders.accessCheck","builtinProviders.apex","builtinProviders.client","builtinProviders.gate","builtinProviders.messageChannel","builtinProviders.messageService","builtinProviders.navigation","builtinProviders.primitiveUtils","builtinProviders.lds","require"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../types';
2
+ export declare function apex(): Provider;
3
+ //# sourceMappingURL=apex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apex.d.ts","sourceRoot":"","sources":["../../src/providers/apex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAazC,wBAAgB,IAAI,IAAI,QAAQ,CAQ/B"}
@@ -7,7 +7,11 @@ export { label } from './label';
7
7
  export { i18n } from './i18n';
8
8
  export { gate } from './gate';
9
9
  export { accessCheck } from './access-check';
10
+ export { apex } from './apex';
10
11
  export { client } from './client';
12
+ export { messageChannel } from './message-channel';
13
+ export { messageService } from './message-service';
14
+ export { navigation } from './navigation';
11
15
  export { primitiveUtils } from './primitive-utils';
12
16
  export { lds } from './lds/index';
13
17
  export { labelsGraphql } from './labels-graphql/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACX,qCAAqC,EACrC,oCAAoC,EACpC,+BAA+B,EAC/B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,6BAA6B,EAC7B,WAAW,EACX,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACX,qCAAqC,EACrC,oCAAoC,EACpC,+BAA+B,EAC/B,2BAA2B,EAC3B,kCAAkC,EAClC,8BAA8B,EAC9B,6BAA6B,EAC7B,WAAW,EACX,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,aAAa,CAAC"}
@@ -229,6 +229,24 @@ function accessCheck(overrides = {}) {
229
229
  }
230
230
  };
231
231
  }
232
+ const PREFIX$1 = "@salesforce/apex/";
233
+ const STUB_SOURCE$2 = `
234
+ const UNSUPPORTED_MSG = '[LWC UI Bundle] Imperative Apex (@salesforce/apex) is not supported in static bundles. Use the Platform Data SDK instead.';
235
+
236
+ export default async function apexStub() {
237
+ console.warn(UNSUPPORTED_MSG);
238
+ throw new Error(UNSUPPORTED_MSG);
239
+ }
240
+ `;
241
+ function apex() {
242
+ return {
243
+ prefix: PREFIX$1,
244
+ resolve(specifier) {
245
+ if (!specifier.startsWith(PREFIX$1)) return null;
246
+ return STUB_SOURCE$2;
247
+ }
248
+ };
249
+ }
232
250
  const FORM_FACTOR_SOURCE = `
233
251
  function getFormFactor() {
234
252
  if (typeof window === 'undefined') return 'Large';
@@ -250,6 +268,85 @@ function client() {
250
268
  }
251
269
  };
252
270
  }
271
+ const PREFIX = "@salesforce/messageChannel/";
272
+ function messageChannel() {
273
+ return {
274
+ prefix: PREFIX,
275
+ resolve(specifier) {
276
+ if (!specifier.startsWith(PREFIX)) return null;
277
+ return `export default Symbol('${specifier}:stub');`;
278
+ }
279
+ };
280
+ }
281
+ const SPECIFIER$1 = "lightning/messageService";
282
+ const STUB_SOURCE$1 = `
283
+ const WARN_MSG = '[LWC UI Bundle] lightning/messageService is not supported in static bundles.';
284
+
285
+ export function createMessageContext() { return {}; }
286
+ export function releaseMessageContext() {}
287
+ export function publish(_ctx, _channel, _message) {
288
+ console.warn(WARN_MSG);
289
+ }
290
+ export function subscribe(_ctx, _channel, _handler, _options) {
291
+ console.warn(WARN_MSG);
292
+ return {};
293
+ }
294
+ export function unsubscribe(_subscription) {}
295
+ export const APPLICATION_SCOPE = Symbol('APPLICATION_SCOPE');
296
+ export const MessageContext = {};
297
+ export default {
298
+ createMessageContext,
299
+ releaseMessageContext,
300
+ publish,
301
+ subscribe,
302
+ unsubscribe,
303
+ APPLICATION_SCOPE,
304
+ MessageContext,
305
+ };
306
+ `;
307
+ function messageService() {
308
+ return {
309
+ match(id) {
310
+ return id === SPECIFIER$1;
311
+ },
312
+ resolve(specifier) {
313
+ if (specifier !== SPECIFIER$1) return null;
314
+ return STUB_SOURCE$1;
315
+ }
316
+ };
317
+ }
318
+ const SPECIFIER = "lightning/navigation";
319
+ const STUB_SOURCE = `
320
+ const WARN_MSG = '[LWC UI Bundle] lightning/navigation is not supported in static bundles.';
321
+
322
+ export const NavigationMixin = (Base) => {
323
+ return class extends Base {
324
+ [Symbol.for('NavigationMixin.Navigate')](pageRef, replace) {
325
+ console.warn(WARN_MSG, { pageRef, replace });
326
+ }
327
+ [Symbol.for('NavigationMixin.GenerateUrl')](pageRef) {
328
+ console.warn(WARN_MSG, { pageRef });
329
+ return Promise.resolve('#');
330
+ }
331
+ };
332
+ };
333
+
334
+ NavigationMixin.Navigate = Symbol.for('NavigationMixin.Navigate');
335
+ NavigationMixin.GenerateUrl = Symbol.for('NavigationMixin.GenerateUrl');
336
+
337
+ export default NavigationMixin;
338
+ `;
339
+ function navigation() {
340
+ return {
341
+ match(id) {
342
+ return id === SPECIFIER;
343
+ },
344
+ resolve(specifier) {
345
+ if (specifier !== SPECIFIER) return null;
346
+ return STUB_SOURCE;
347
+ }
348
+ };
349
+ }
253
350
  function primitiveUtils() {
254
351
  return {
255
352
  prefix: "lightning/primitiveUtils",
@@ -281,16 +378,21 @@ export function reflectAttribute(element, attrName, value) {
281
378
  const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
282
379
  __proto__: null,
283
380
  accessCheck,
381
+ apex,
284
382
  client,
285
383
  gate,
286
384
  i18n,
287
385
  label,
288
386
  labelsGraphql,
289
387
  lds,
388
+ messageChannel,
389
+ messageService,
390
+ navigation,
290
391
  primitiveUtils
291
392
  }, Symbol.toStringTag, { value: "Module" }));
292
393
  export {
293
394
  accessCheck,
395
+ apex,
294
396
  client,
295
397
  gate,
296
398
  index as i,
@@ -298,6 +400,9 @@ export {
298
400
  label,
299
401
  labelsGraphql,
300
402
  lds,
403
+ messageChannel,
404
+ messageService,
405
+ navigation,
301
406
  primitiveUtils
302
407
  };
303
408
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/providers/label.ts","../../src/providers/i18n.ts","../../src/providers/gate.ts","../../src/providers/access-check.ts","../../src/providers/client.ts","../../src/providers/primitive-utils.ts"],"sourcesContent":["/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst LABEL_DEFAULTS: Record<string, string> = {\n\t\"LightningForm.edit\": \"Edit\",\n\t\"LightningForm.save\": \"Save\",\n\t\"LightningForm.cancel\": \"Cancel\",\n\t\"LightningForm.error\": \"Error\",\n\t\"RecordDetailUC.Expand\": \"Expand\",\n\t\"RecordDetailUC.Collapse\": \"Collapse\",\n\t\"Global_Entity.created_by\": \"Created By\",\n\t\"Global_Entity.last_modified_by\": \"Last Modified By\",\n\t\"DetailError.GenericSaveError\": \"An error occurred while saving.\",\n\t\"MobileWebError.NoPreEditAccess\": \"You don't have access to edit this record.\",\n\t\"DuplicateList.ToastMessageBlock\": \"Duplicate records were found.\",\n\t\"DuplicateList.NonBlockingHeaderText\": \"Duplicate records found\",\n\t\"DuplicateList.ToastMessageAlertEdit\": \"Duplicate records were found. You can continue editing.\",\n\t\"Errors.ErrorPopoverHeading\": \"Error\",\n};\n\nexport function label(overrides: Record<string, string> = {}): Provider {\n\tconst defaults = { ...LABEL_DEFAULTS, ...overrides };\n\treturn {\n\t\tprefix: \"@salesforce/label/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/label/\")) return null;\n\n\t\t\tconst key = specifier.slice(\"@salesforce/label/\".length);\n\t\t\tconst fallbackLabel = key\n\t\t\t\t.split(\".\")\n\t\t\t\t.at(-1)!\n\t\t\t\t.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n\t\t\t\t.replace(/_/g, \" \")\n\t\t\t\t.trim();\n\t\t\tconst value = defaults[key] ?? fallbackLabel;\n\t\t\treturn `export default ${JSON.stringify(value)};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst BROWSER_DERIVED = new Set([\n\t\"lang\",\n\t\"dir\",\n\t\"locale\",\n\t\"currency\",\n\t\"timeZone\",\n\t\"firstDayOfWeek\",\n]);\n\nconst STATIC_DEFAULTS: Record<string, string> = {\n\t\"dateTime.shortDateFormat\": \"M/d/yyyy\",\n\t\"dateTime.mediumDateFormat\": \"MMM d, yyyy\",\n\t\"dateTime.longDateFormat\": \"MMMM d, yyyy\",\n\t\"dateTime.shortTimeFormat\": \"h:mm a\",\n\t\"dateTime.mediumTimeFormat\": \"h:mm:ss a\",\n\t\"dateTime.longTimeFormat\": \"h:mm:ss a z\",\n\t\"dateTime.shortDateTimeFormat\": \"M/d/yyyy, h:mm a\",\n\t\"number.numberFormat\": \"#,##0.##\",\n\t\"number.currencyFormat\": \"¤#,##0.00\",\n\t\"number.decimalSeparator\": \".\",\n\t\"number.groupingSeparator\": \",\",\n\t\"number.percentFormat\": \"#,##0%\",\n\t\"number.percentSign\": \"%\",\n\t\"number.plusSign\": \"+\",\n\t\"number.minusSign\": \"-\",\n\t\"number.exponentialSign\": \"E\",\n\t\"number.superscriptingExponentSign\": \"×\",\n\t\"number.perMilleSign\": \"‰\",\n\t\"number.infinity\": \"∞\",\n\t\"number.nan\": \"NaN\",\n\t\"number.currencySymbol\": \"$\",\n\tdefaultCalendar: \"gregory\",\n\tdefaultNumberingSystem: \"latn\",\n};\n\nconst MONTHS_WIDE = [\n\t\"January\",\n\t\"February\",\n\t\"March\",\n\t\"April\",\n\t\"May\",\n\t\"June\",\n\t\"July\",\n\t\"August\",\n\t\"September\",\n\t\"October\",\n\t\"November\",\n\t\"December\",\n];\nconst MONTHS_ABBR = [\n\t\"Jan\",\n\t\"Feb\",\n\t\"Mar\",\n\t\"Apr\",\n\t\"May\",\n\t\"Jun\",\n\t\"Jul\",\n\t\"Aug\",\n\t\"Sep\",\n\t\"Oct\",\n\t\"Nov\",\n\t\"Dec\",\n];\nconst DAYS_WIDE = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\nconst DAYS_ABBR = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\nconst OBJECT_DEFAULTS: Record<string, unknown> = {\n\t\"common.digits\": { latn: \"0123456789\" },\n\t\"common.calendarData\": {\n\t\tgregory: { calendarSystem: \"solar\", eras: {} },\n\t},\n\tcalendarData: {\n\t\tgregory: {\n\t\t\tmonths: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: MONTHS_WIDE,\n\t\t\t\t\tabbreviated: MONTHS_ABBR,\n\t\t\t\t\tnarrow: MONTHS_ABBR,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdays: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: DAYS_WIDE,\n\t\t\t\t\tabbreviated: DAYS_ABBR,\n\t\t\t\t\tnarrow: DAYS_ABBR,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdayPeriods: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: [\"AM\", \"PM\"],\n\t\t\t\t\tabbreviated: [\"am\", \"pm\"],\n\t\t\t\t\tnarrow: [\"a\", \"p\"],\n\t\t\t\t},\n\t\t\t},\n\t\t\teras: {\n\t\t\t\teraAbbr: [\"AD\"],\n\t\t\t\teraNames: [\"Anno Domini\"],\n\t\t\t\teraNarrow: [\"A\"],\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst RUNTIME_SOURCE = `\nconst RTL_LANGS = new Set([\n 'ar', 'arc', 'dv', 'fa', 'ha', 'he', 'khw', 'ks', 'ku', 'ps', 'ur', 'yi',\n]);\n\nfunction getLocale() {\n if (typeof navigator === 'undefined') return 'en-US';\n return navigator.language || 'en-US';\n}\n\nfunction getLang() {\n return getLocale().split('-')[0];\n}\n\nfunction getDir() {\n return RTL_LANGS.has(getLang()) ? 'rtl' : 'ltr';\n}\n\nfunction getCurrency() {\n try {\n const parts = new Intl.NumberFormat(getLocale(), {\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'code',\n }).resolvedOptions();\n return parts.currency || 'USD';\n } catch {\n return 'USD';\n }\n}\n\nfunction getTimeZone() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';\n } catch {\n return 'UTC';\n }\n}\n\nfunction getFirstDayOfWeek() {\n try {\n const loc = new Intl.Locale(getLocale());\n if (loc.weekInfo) return String(loc.weekInfo.firstDay);\n if (typeof loc.getWeekInfo === 'function') return String(loc.getWeekInfo().firstDay);\n } catch { /* unsupported in this browser */ }\n return '7';\n}\n\nconst values = {\n lang: getLang(),\n dir: getDir(),\n locale: getLocale(),\n currency: getCurrency(),\n timeZone: getTimeZone(),\n firstDayOfWeek: getFirstDayOfWeek(),\n};\n\nexport default values['__KEY__'];\n`;\n\nexport interface I18nOptions {\n\tstaticOverrides?: Record<string, string>;\n\tobjectOverrides?: Record<string, unknown>;\n}\n\nexport function i18n(options: I18nOptions = {}): Provider {\n\tconst { staticOverrides = {}, objectOverrides = {} } = options;\n\tconst statics = { ...STATIC_DEFAULTS, ...staticOverrides };\n\tconst objects = { ...OBJECT_DEFAULTS, ...objectOverrides };\n\n\treturn {\n\t\tprefix: \"@salesforce/i18n/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/i18n/\")) return null;\n\n\t\t\tconst key = specifier.slice(\"@salesforce/i18n/\".length);\n\n\t\t\tif (BROWSER_DERIVED.has(key)) {\n\t\t\t\treturn RUNTIME_SOURCE.replace(\"__KEY__\", key);\n\t\t\t}\n\n\t\t\tif (key in objects) {\n\t\t\t\treturn `export default ${JSON.stringify(objects[key])};`;\n\t\t\t}\n\n\t\t\tconst value = statics[key] ?? key;\n\t\t\treturn `export default ${JSON.stringify(value)};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function gate(overrides: Record<string, boolean> = {}): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/gate/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/gate/\")) return null;\n\t\t\tconst name = specifier.slice(\"@salesforce/gate/\".length);\n\t\t\tconst isOpen = overrides[name] ?? true;\n\t\t\treturn `export default { isOpen: () => ${isOpen} };`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function accessCheck(overrides: Record<string, boolean> = {}): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/accessCheck/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/accessCheck/\")) return null;\n\t\t\tconst name = specifier.slice(\"@salesforce/accessCheck/\".length);\n\t\t\tconst value = overrides[name] ?? false;\n\t\t\treturn `export default ${value};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst FORM_FACTOR_SOURCE = `\nfunction getFormFactor() {\n if (typeof window === 'undefined') return 'Large';\n if (window.matchMedia('(max-width: 767px)').matches) return 'Small';\n if (window.matchMedia('(max-width: 1023px)').matches) return 'Medium';\n return 'Large';\n}\n\nexport default getFormFactor();\n`;\n\nexport function client(): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/client/\",\n\t\tresolve(specifier) {\n\t\t\tif (specifier === \"@salesforce/client/formFactor\") {\n\t\t\t\treturn FORM_FACTOR_SOURCE;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function primitiveUtils(): Provider {\n\treturn {\n\t\tprefix: \"lightning/primitiveUtils\",\n\t\tmatch(id) {\n\t\t\treturn id === \"lightning/primitiveUtils\";\n\t\t},\n\t\tresolve(specifier) {\n\t\t\tif (specifier !== \"lightning/primitiveUtils\") return null;\n\n\t\t\treturn `export function normalizeBoolean(value) {\n return typeof value === 'string' || !!value;\n}\n\nexport function reflectAttribute(element, attrName, value) {\n if (!element) return;\n if (typeof value === 'string') {\n element.setAttribute(attrName, value);\n } else if (value === true) {\n element.setAttribute(attrName, '');\n } else if (!value) {\n element.removeAttribute(attrName);\n } else {\n console.warn(\\`Invalid attribute value for \"\\${attrName}\": \\${value}\\`);\n }\n}\n`;\n\t\t},\n\t};\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/providers/label.ts","../../src/providers/i18n.ts","../../src/providers/gate.ts","../../src/providers/access-check.ts","../../src/providers/apex.ts","../../src/providers/client.ts","../../src/providers/message-channel.ts","../../src/providers/message-service.ts","../../src/providers/navigation.ts","../../src/providers/primitive-utils.ts"],"sourcesContent":["/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst LABEL_DEFAULTS: Record<string, string> = {\n\t\"LightningForm.edit\": \"Edit\",\n\t\"LightningForm.save\": \"Save\",\n\t\"LightningForm.cancel\": \"Cancel\",\n\t\"LightningForm.error\": \"Error\",\n\t\"RecordDetailUC.Expand\": \"Expand\",\n\t\"RecordDetailUC.Collapse\": \"Collapse\",\n\t\"Global_Entity.created_by\": \"Created By\",\n\t\"Global_Entity.last_modified_by\": \"Last Modified By\",\n\t\"DetailError.GenericSaveError\": \"An error occurred while saving.\",\n\t\"MobileWebError.NoPreEditAccess\": \"You don't have access to edit this record.\",\n\t\"DuplicateList.ToastMessageBlock\": \"Duplicate records were found.\",\n\t\"DuplicateList.NonBlockingHeaderText\": \"Duplicate records found\",\n\t\"DuplicateList.ToastMessageAlertEdit\": \"Duplicate records were found. You can continue editing.\",\n\t\"Errors.ErrorPopoverHeading\": \"Error\",\n};\n\nexport function label(overrides: Record<string, string> = {}): Provider {\n\tconst defaults = { ...LABEL_DEFAULTS, ...overrides };\n\treturn {\n\t\tprefix: \"@salesforce/label/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/label/\")) return null;\n\n\t\t\tconst key = specifier.slice(\"@salesforce/label/\".length);\n\t\t\tconst fallbackLabel = key\n\t\t\t\t.split(\".\")\n\t\t\t\t.at(-1)!\n\t\t\t\t.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n\t\t\t\t.replace(/_/g, \" \")\n\t\t\t\t.trim();\n\t\t\tconst value = defaults[key] ?? fallbackLabel;\n\t\t\treturn `export default ${JSON.stringify(value)};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst BROWSER_DERIVED = new Set([\n\t\"lang\",\n\t\"dir\",\n\t\"locale\",\n\t\"currency\",\n\t\"timeZone\",\n\t\"firstDayOfWeek\",\n]);\n\nconst STATIC_DEFAULTS: Record<string, string> = {\n\t\"dateTime.shortDateFormat\": \"M/d/yyyy\",\n\t\"dateTime.mediumDateFormat\": \"MMM d, yyyy\",\n\t\"dateTime.longDateFormat\": \"MMMM d, yyyy\",\n\t\"dateTime.shortTimeFormat\": \"h:mm a\",\n\t\"dateTime.mediumTimeFormat\": \"h:mm:ss a\",\n\t\"dateTime.longTimeFormat\": \"h:mm:ss a z\",\n\t\"dateTime.shortDateTimeFormat\": \"M/d/yyyy, h:mm a\",\n\t\"number.numberFormat\": \"#,##0.##\",\n\t\"number.currencyFormat\": \"¤#,##0.00\",\n\t\"number.decimalSeparator\": \".\",\n\t\"number.groupingSeparator\": \",\",\n\t\"number.percentFormat\": \"#,##0%\",\n\t\"number.percentSign\": \"%\",\n\t\"number.plusSign\": \"+\",\n\t\"number.minusSign\": \"-\",\n\t\"number.exponentialSign\": \"E\",\n\t\"number.superscriptingExponentSign\": \"×\",\n\t\"number.perMilleSign\": \"‰\",\n\t\"number.infinity\": \"∞\",\n\t\"number.nan\": \"NaN\",\n\t\"number.currencySymbol\": \"$\",\n\tdefaultCalendar: \"gregory\",\n\tdefaultNumberingSystem: \"latn\",\n};\n\nconst MONTHS_WIDE = [\n\t\"January\",\n\t\"February\",\n\t\"March\",\n\t\"April\",\n\t\"May\",\n\t\"June\",\n\t\"July\",\n\t\"August\",\n\t\"September\",\n\t\"October\",\n\t\"November\",\n\t\"December\",\n];\nconst MONTHS_ABBR = [\n\t\"Jan\",\n\t\"Feb\",\n\t\"Mar\",\n\t\"Apr\",\n\t\"May\",\n\t\"Jun\",\n\t\"Jul\",\n\t\"Aug\",\n\t\"Sep\",\n\t\"Oct\",\n\t\"Nov\",\n\t\"Dec\",\n];\nconst DAYS_WIDE = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\nconst DAYS_ABBR = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\nconst OBJECT_DEFAULTS: Record<string, unknown> = {\n\t\"common.digits\": { latn: \"0123456789\" },\n\t\"common.calendarData\": {\n\t\tgregory: { calendarSystem: \"solar\", eras: {} },\n\t},\n\tcalendarData: {\n\t\tgregory: {\n\t\t\tmonths: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: MONTHS_WIDE,\n\t\t\t\t\tabbreviated: MONTHS_ABBR,\n\t\t\t\t\tnarrow: MONTHS_ABBR,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdays: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: DAYS_WIDE,\n\t\t\t\t\tabbreviated: DAYS_ABBR,\n\t\t\t\t\tnarrow: DAYS_ABBR,\n\t\t\t\t},\n\t\t\t},\n\t\t\tdayPeriods: {\n\t\t\t\tformat: {\n\t\t\t\t\twide: [\"AM\", \"PM\"],\n\t\t\t\t\tabbreviated: [\"am\", \"pm\"],\n\t\t\t\t\tnarrow: [\"a\", \"p\"],\n\t\t\t\t},\n\t\t\t},\n\t\t\teras: {\n\t\t\t\teraAbbr: [\"AD\"],\n\t\t\t\teraNames: [\"Anno Domini\"],\n\t\t\t\teraNarrow: [\"A\"],\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst RUNTIME_SOURCE = `\nconst RTL_LANGS = new Set([\n 'ar', 'arc', 'dv', 'fa', 'ha', 'he', 'khw', 'ks', 'ku', 'ps', 'ur', 'yi',\n]);\n\nfunction getLocale() {\n if (typeof navigator === 'undefined') return 'en-US';\n return navigator.language || 'en-US';\n}\n\nfunction getLang() {\n return getLocale().split('-')[0];\n}\n\nfunction getDir() {\n return RTL_LANGS.has(getLang()) ? 'rtl' : 'ltr';\n}\n\nfunction getCurrency() {\n try {\n const parts = new Intl.NumberFormat(getLocale(), {\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'code',\n }).resolvedOptions();\n return parts.currency || 'USD';\n } catch {\n return 'USD';\n }\n}\n\nfunction getTimeZone() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';\n } catch {\n return 'UTC';\n }\n}\n\nfunction getFirstDayOfWeek() {\n try {\n const loc = new Intl.Locale(getLocale());\n if (loc.weekInfo) return String(loc.weekInfo.firstDay);\n if (typeof loc.getWeekInfo === 'function') return String(loc.getWeekInfo().firstDay);\n } catch { /* unsupported in this browser */ }\n return '7';\n}\n\nconst values = {\n lang: getLang(),\n dir: getDir(),\n locale: getLocale(),\n currency: getCurrency(),\n timeZone: getTimeZone(),\n firstDayOfWeek: getFirstDayOfWeek(),\n};\n\nexport default values['__KEY__'];\n`;\n\nexport interface I18nOptions {\n\tstaticOverrides?: Record<string, string>;\n\tobjectOverrides?: Record<string, unknown>;\n}\n\nexport function i18n(options: I18nOptions = {}): Provider {\n\tconst { staticOverrides = {}, objectOverrides = {} } = options;\n\tconst statics = { ...STATIC_DEFAULTS, ...staticOverrides };\n\tconst objects = { ...OBJECT_DEFAULTS, ...objectOverrides };\n\n\treturn {\n\t\tprefix: \"@salesforce/i18n/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/i18n/\")) return null;\n\n\t\t\tconst key = specifier.slice(\"@salesforce/i18n/\".length);\n\n\t\t\tif (BROWSER_DERIVED.has(key)) {\n\t\t\t\treturn RUNTIME_SOURCE.replace(\"__KEY__\", key);\n\t\t\t}\n\n\t\t\tif (key in objects) {\n\t\t\t\treturn `export default ${JSON.stringify(objects[key])};`;\n\t\t\t}\n\n\t\t\tconst value = statics[key] ?? key;\n\t\t\treturn `export default ${JSON.stringify(value)};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function gate(overrides: Record<string, boolean> = {}): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/gate/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/gate/\")) return null;\n\t\t\tconst name = specifier.slice(\"@salesforce/gate/\".length);\n\t\t\tconst isOpen = overrides[name] ?? true;\n\t\t\treturn `export default { isOpen: () => ${isOpen} };`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function accessCheck(overrides: Record<string, boolean> = {}): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/accessCheck/\",\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(\"@salesforce/accessCheck/\")) return null;\n\t\t\tconst name = specifier.slice(\"@salesforce/accessCheck/\".length);\n\t\t\tconst value = overrides[name] ?? false;\n\t\t\treturn `export default ${value};`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst PREFIX = \"@salesforce/apex/\";\n\nconst STUB_SOURCE = `\nconst UNSUPPORTED_MSG = '[LWC UI Bundle] Imperative Apex (@salesforce/apex) is not supported in static bundles. Use the Platform Data SDK instead.';\n\nexport default async function apexStub() {\n console.warn(UNSUPPORTED_MSG);\n throw new Error(UNSUPPORTED_MSG);\n}\n`;\n\nexport function apex(): Provider {\n\treturn {\n\t\tprefix: PREFIX,\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(PREFIX)) return null;\n\t\t\treturn STUB_SOURCE;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst FORM_FACTOR_SOURCE = `\nfunction getFormFactor() {\n if (typeof window === 'undefined') return 'Large';\n if (window.matchMedia('(max-width: 767px)').matches) return 'Small';\n if (window.matchMedia('(max-width: 1023px)').matches) return 'Medium';\n return 'Large';\n}\n\nexport default getFormFactor();\n`;\n\nexport function client(): Provider {\n\treturn {\n\t\tprefix: \"@salesforce/client/\",\n\t\tresolve(specifier) {\n\t\t\tif (specifier === \"@salesforce/client/formFactor\") {\n\t\t\t\treturn FORM_FACTOR_SOURCE;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst PREFIX = \"@salesforce/messageChannel/\";\n\nexport function messageChannel(): Provider {\n\treturn {\n\t\tprefix: PREFIX,\n\t\tresolve(specifier) {\n\t\t\tif (!specifier.startsWith(PREFIX)) return null;\n\t\t\treturn `export default Symbol('${specifier}:stub');`;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst SPECIFIER = \"lightning/messageService\";\n\nconst STUB_SOURCE = `\nconst WARN_MSG = '[LWC UI Bundle] lightning/messageService is not supported in static bundles.';\n\nexport function createMessageContext() { return {}; }\nexport function releaseMessageContext() {}\nexport function publish(_ctx, _channel, _message) {\n console.warn(WARN_MSG);\n}\nexport function subscribe(_ctx, _channel, _handler, _options) {\n console.warn(WARN_MSG);\n return {};\n}\nexport function unsubscribe(_subscription) {}\nexport const APPLICATION_SCOPE = Symbol('APPLICATION_SCOPE');\nexport const MessageContext = {};\nexport default {\n createMessageContext,\n releaseMessageContext,\n publish,\n subscribe,\n unsubscribe,\n APPLICATION_SCOPE,\n MessageContext,\n};\n`;\n\nexport function messageService(): Provider {\n\treturn {\n\t\tmatch(id) {\n\t\t\treturn id === SPECIFIER;\n\t\t},\n\t\tresolve(specifier) {\n\t\t\tif (specifier !== SPECIFIER) return null;\n\t\t\treturn STUB_SOURCE;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nconst SPECIFIER = \"lightning/navigation\";\n\nconst STUB_SOURCE = `\nconst WARN_MSG = '[LWC UI Bundle] lightning/navigation is not supported in static bundles.';\n\nexport const NavigationMixin = (Base) => {\n return class extends Base {\n [Symbol.for('NavigationMixin.Navigate')](pageRef, replace) {\n console.warn(WARN_MSG, { pageRef, replace });\n }\n [Symbol.for('NavigationMixin.GenerateUrl')](pageRef) {\n console.warn(WARN_MSG, { pageRef });\n return Promise.resolve('#');\n }\n };\n};\n\nNavigationMixin.Navigate = Symbol.for('NavigationMixin.Navigate');\nNavigationMixin.GenerateUrl = Symbol.for('NavigationMixin.GenerateUrl');\n\nexport default NavigationMixin;\n`;\n\nexport function navigation(): Provider {\n\treturn {\n\t\tmatch(id) {\n\t\t\treturn id === SPECIFIER;\n\t\t},\n\t\tresolve(specifier) {\n\t\t\tif (specifier !== SPECIFIER) return null;\n\t\t\treturn STUB_SOURCE;\n\t\t},\n\t};\n}\n","/**\n * Copyright (c) 2026, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport type { Provider } from \"../types\";\n\nexport function primitiveUtils(): Provider {\n\treturn {\n\t\tprefix: \"lightning/primitiveUtils\",\n\t\tmatch(id) {\n\t\t\treturn id === \"lightning/primitiveUtils\";\n\t\t},\n\t\tresolve(specifier) {\n\t\t\tif (specifier !== \"lightning/primitiveUtils\") return null;\n\n\t\t\treturn `export function normalizeBoolean(value) {\n return typeof value === 'string' || !!value;\n}\n\nexport function reflectAttribute(element, attrName, value) {\n if (!element) return;\n if (typeof value === 'string') {\n element.setAttribute(attrName, value);\n } else if (value === true) {\n element.setAttribute(attrName, '');\n } else if (!value) {\n element.removeAttribute(attrName);\n } else {\n console.warn(\\`Invalid attribute value for \"\\${attrName}\": \\${value}\\`);\n }\n}\n`;\n\t\t},\n\t};\n}\n"],"names":["PREFIX","STUB_SOURCE","SPECIFIER"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../types';
2
+ export declare function messageChannel(): Provider;
3
+ //# sourceMappingURL=message-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-channel.d.ts","sourceRoot":"","sources":["../../src/providers/message-channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,wBAAgB,cAAc,IAAI,QAAQ,CAQzC"}
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../types';
2
+ export declare function messageService(): Provider;
3
+ //# sourceMappingURL=message-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-service.d.ts","sourceRoot":"","sources":["../../src/providers/message-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA8BzC,wBAAgB,cAAc,IAAI,QAAQ,CAUzC"}
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../types';
2
+ export declare function navigation(): Provider;
3
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/providers/navigation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAyBzC,wBAAgB,UAAU,IAAI,QAAQ,CAUrC"}
package/dist/types.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface LwcVitePluginOptions {
26
26
  lwcOptions?: Record<string, unknown>;
27
27
  ignorePatterns?: string[];
28
28
  passthroughRules?: PassthroughRule[];
29
+ bundle?: boolean;
29
30
  }
30
31
  export interface DiscoveredModule {
31
32
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/vite-plugin-lwc-ui-bundle",
3
- "version": "10.3.0",
3
+ "version": "10.4.0",
4
4
  "description": "Vite plugin for compiling LWC components into static bundles for off-platform and MCP use",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "Salesforce",
@@ -59,9 +59,9 @@
59
59
  "peerDependencies": {
60
60
  "@lwc/rollup-plugin": "^9.0.0",
61
61
  "@salesforce/lds-adapters-onestore-graphql": "^1.440.0",
62
- "@salesforce/platform-sdk": "^10.3.0",
62
+ "@salesforce/platform-sdk": "^10.4.0",
63
63
  "@salesforce/state-managers-uiapi": "^0.30.0",
64
- "@salesforce/ui-bundle": "^10.3.0",
64
+ "@salesforce/ui-bundle": "^10.4.0",
65
65
  "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
66
66
  "zod": "^3.23.8"
67
67
  },
@@ -87,7 +87,7 @@
87
87
  "devDependencies": {
88
88
  "@conduit-client/bindings-utils": "3.19.6",
89
89
  "@conduit-client/command-base": "3.19.6",
90
- "@salesforce/platform-sdk": "^10.3.0",
90
+ "@salesforce/platform-sdk": "^10.4.0",
91
91
  "typescript": "^5.9.3",
92
92
  "vite": "^7.0.0",
93
93
  "vite-plugin-dts": "^4.5.4",