@wix/astro 2.27.0 → 2.28.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/build/dependencies/astro-auth/backend-runtime/constants-Dbkf3D5f.mjs +6 -0
- package/build/dependencies/astro-auth/backend-runtime/elevatedContextualClient-tJx9dIn_.mjs +41 -0
- package/build/dependencies/astro-auth/backend-runtime/host-utils-B2Fs_Z4S.mjs +17 -0
- package/build/dependencies/astro-auth/backend-runtime/middleware/auth.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/middleware/auth.mjs +3643 -0
- package/build/dependencies/astro-auth/backend-runtime/middleware/localization.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/middleware/localization.mjs +193 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/callback.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/callback.mjs +34 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/login.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/login.mjs +32 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/logout-callback.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/logout-callback.mjs +14 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/logout.d.mts +6 -0
- package/build/dependencies/astro-auth/backend-runtime/routes/logout.mjs +19 -0
- package/build/dependencies/astro-auth/backend-runtime/runtime/backend/setupContextualClient.d.mts +1 -0
- package/build/dependencies/astro-auth/backend-runtime/runtime/backend/setupContextualClient.mjs +8 -0
- package/build/dependencies/astro-auth/backend-runtime/saveSessionTokensToCookie-DK3xvtzk.mjs +24 -0
- package/build/dependencies/astro-auth/backend-runtime/schemas-XrMhpOYn.mjs +2771 -0
- package/build/dependencies/astro-auth/browser-runtime/setup.d.ts +4 -3
- package/build/dependencies/astro-auth/browser-runtime/setup.js +55 -81
- package/build/dependencies/astro-backend-extensions/backend-runtime/routes/extensions.d.mts +6 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/routes/extensions.mjs +37 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupServicePlugin.d.mts +10 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupServicePlugin.mjs +22 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupWebhook.d.mts +9 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupWebhook.mjs +22 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/utils-DDHGZHjR.mjs +56 -0
- package/build/dependencies/astro-backend-extensions/backend-runtime/utils-mYlwmIjd.d.mts +6 -0
- package/build/dependencies/astro-backoffice-extensions/browser-runtime/wrapComponent.d.ts +4 -3
- package/build/dependencies/astro-backoffice-extensions/browser-runtime/wrapComponent.js +6 -5
- package/build/dependencies/astro-context-providers-extensions/browser-runtime/hmr.d.ts +10 -0
- package/build/dependencies/astro-context-providers-extensions/browser-runtime/hmr.js +20 -23
- package/build/dependencies/astro-context-providers-extensions/browser-runtime/sdk.d.ts +9 -0
- package/build/dependencies/astro-context-providers-extensions/browser-runtime/sdk.js +16 -15
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/customElementHmr.d.ts +9 -5
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/customElementHmr.js +23 -40
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/reactHmr.d.ts +10 -1
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/reactHmr.js +20 -23
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/renderSettingsPanel.d.ts +4 -3
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/renderSettingsPanel.js +14 -18
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/wrapCustomElement.d.ts +9 -5
- package/build/dependencies/astro-custom-elements-extensions/browser-runtime/wrapCustomElement.js +23 -25
- package/build/dependencies/astro-embedded-scripts-extensions/browser-runtime/setupContext.d.ts +8 -4
- package/build/dependencies/astro-embedded-scripts-extensions/browser-runtime/setupContext.js +18 -17
- package/build/dependencies/astro-function-libraries-extensions/browser-runtime/sdk.d.ts +9 -0
- package/build/dependencies/astro-function-libraries-extensions/browser-runtime/sdk.js +16 -15
- package/build/dependencies/astro-html-embeds/backend-runtime/html-embeds.d.mts +6 -0
- package/build/dependencies/astro-html-embeds/backend-runtime/html-embeds.mjs +53 -0
- package/build/dependencies/astro-monitor/backend-runtime/monitor.d.mts +6 -0
- package/build/dependencies/astro-monitor/backend-runtime/monitor.mjs +43 -0
- package/build/dependencies/astro-payment-links/backend-runtime/elevate-CDDLuCIf.mjs +9 -0
- package/build/dependencies/astro-payment-links/backend-runtime/payment-checkout.d.mts +6 -0
- package/build/dependencies/astro-payment-links/backend-runtime/payment-checkout.mjs +20 -0
- package/build/dependencies/astro-payment-links/backend-runtime/payment-link.d.mts +6 -0
- package/build/dependencies/astro-payment-links/backend-runtime/payment-link.mjs +15 -0
- package/build/dependencies/astro-payment-links/backend-runtime/proposal.d.mts +6 -0
- package/build/dependencies/astro-payment-links/backend-runtime/proposal.mjs +20 -0
- package/build/dependencies/astro-robots/backend-runtime/robots.d.mts +6 -0
- package/build/dependencies/astro-robots/backend-runtime/robots.mjs +26 -0
- package/build/dependencies/astro-site-component-panels-extensions/browser-runtime/hmr.d.ts +10 -0
- package/build/dependencies/astro-site-component-panels-extensions/browser-runtime/hmr.js +20 -23
- package/build/dependencies/astro-site-component-panels-extensions/browser-runtime/sdk.d.ts +12 -0
- package/build/dependencies/astro-site-component-panels-extensions/browser-runtime/sdk.js +10 -10
- package/build/dependencies/astro-site-components-extensions/browser-runtime/hmr.d.ts +10 -0
- package/build/dependencies/astro-site-components-extensions/browser-runtime/hmr.js +20 -23
- package/build/dependencies/astro-site-components-extensions/browser-runtime/sdk.d.ts +9 -0
- package/build/dependencies/astro-site-components-extensions/browser-runtime/sdk.js +16 -15
- package/build/dependencies/astro-translations/backend-runtime/middleware/static-translations.d.mts +6 -0
- package/build/dependencies/astro-translations/backend-runtime/middleware/static-translations.mjs +177 -0
- package/build/dependencies/astro-translations/backend-runtime/runtime/{i18n.d.ts → i18n.d.mts} +3 -2
- package/build/dependencies/astro-translations/backend-runtime/runtime/i18n.mjs +38 -0
- package/build/dependencies/astro-translations/integration/index.d.mts +105 -0
- package/build/dependencies/astro-translations/integration/index.mjs +264 -0
- package/build/dependencies/astro-trusted-backoffice-extensions/browser-runtime/hmr.d.ts +10 -1
- package/build/dependencies/astro-trusted-backoffice-extensions/browser-runtime/hmr.js +20 -23
- package/build/dependencies/astro-trusted-backoffice-extensions/browser-runtime/wrapComponent.d.ts +12 -8
- package/build/dependencies/astro-trusted-backoffice-extensions/browser-runtime/wrapComponent.js +25 -35
- package/build/dependencies/astro-viewer-api/backend-runtime/api.d.mts +6 -0
- package/build/dependencies/astro-viewer-api/backend-runtime/api.mjs +27 -0
- package/build/dependencies/astro-viewer-services-extensions/browser-runtime/sdk.d.ts +9 -0
- package/build/dependencies/astro-viewer-services-extensions/browser-runtime/sdk.js +16 -15
- package/build/integration/builders-B9yQdgSz.mjs +76 -0
- package/build/integration/builders-DP0350YQ.d.mts +121 -0
- package/build/integration/builders-DVfxT6EC.mjs +225 -0
- package/build/integration/builders-experimental.d.mts +56 -0
- package/build/integration/builders-experimental.mjs +26 -0
- package/build/integration/builders-trusted.d.mts +75 -0
- package/build/integration/builders-trusted.mjs +46 -0
- package/build/integration/builders.d.mts +4 -0
- package/build/integration/builders.mjs +4 -0
- package/build/integration/index-B3B_5bgh.d.mts +248 -0
- package/build/integration/index-D5k6Bmue.d.mts +32 -0
- package/build/integration/index.d.mts +35 -0
- package/build/integration/index.mjs +29236 -0
- package/package.json +12 -12
- package/build/dependencies/astro-auth/backend-runtime/chunk-24J7STEA.js +0 -8
- package/build/dependencies/astro-auth/backend-runtime/chunk-352W54SQ.js +0 -70
- package/build/dependencies/astro-auth/backend-runtime/chunk-BIARYLOZ.js +0 -3267
- package/build/dependencies/astro-auth/backend-runtime/chunk-DZHZMKUF.js +0 -26
- package/build/dependencies/astro-auth/backend-runtime/chunk-MLKGABMK.js +0 -9
- package/build/dependencies/astro-auth/backend-runtime/chunk-USQSPPTM.js +0 -14
- package/build/dependencies/astro-auth/backend-runtime/middleware/auth.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/middleware/auth.js +0 -136
- package/build/dependencies/astro-auth/backend-runtime/middleware/localization.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/middleware/localization.js +0 -219
- package/build/dependencies/astro-auth/backend-runtime/routes/callback.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/routes/callback.js +0 -53
- package/build/dependencies/astro-auth/backend-runtime/routes/login.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/routes/login.js +0 -46
- package/build/dependencies/astro-auth/backend-runtime/routes/logout-callback.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/routes/logout-callback.js +0 -24
- package/build/dependencies/astro-auth/backend-runtime/routes/logout.d.ts +0 -5
- package/build/dependencies/astro-auth/backend-runtime/routes/logout.js +0 -33
- package/build/dependencies/astro-auth/backend-runtime/runtime/backend/setupContextualClient.d.ts +0 -2
- package/build/dependencies/astro-auth/backend-runtime/runtime/backend/setupContextualClient.js +0 -10
- package/build/dependencies/astro-backend-extensions/backend-runtime/chunk-CPGTXQVH.js +0 -75
- package/build/dependencies/astro-backend-extensions/backend-runtime/routes/extensions.d.ts +0 -5
- package/build/dependencies/astro-backend-extensions/backend-runtime/routes/extensions.js +0 -41
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupServicePlugin.d.ts +0 -10
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupServicePlugin.js +0 -35
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupWebhook.d.ts +0 -9
- package/build/dependencies/astro-backend-extensions/backend-runtime/runtime/setupWebhook.js +0 -34
- package/build/dependencies/astro-backend-extensions/backend-runtime/utils-B7jr2PES.d.ts +0 -5
- package/build/dependencies/astro-backend-extensions/types/index.d.ts +0 -102
- package/build/dependencies/astro-backoffice-extensions/types/index.d.ts +0 -68
- package/build/dependencies/astro-context-providers-extensions/types/index.d.ts +0 -32
- package/build/dependencies/astro-core/types/index.d.ts +0 -109
- package/build/dependencies/astro-custom-elements-extensions/types/index.d.ts +0 -45
- package/build/dependencies/astro-embedded-scripts-extensions/types/index.d.ts +0 -18
- package/build/dependencies/astro-function-libraries-extensions/types/index.d.ts +0 -23
- package/build/dependencies/astro-html-embeds/backend-runtime/html-embeds.d.ts +0 -5
- package/build/dependencies/astro-html-embeds/backend-runtime/html-embeds.js +0 -66
- package/build/dependencies/astro-payment-links/backend-runtime/chunk-656BVIJ3.js +0 -9
- package/build/dependencies/astro-payment-links/backend-runtime/payment-checkout.d.ts +0 -5
- package/build/dependencies/astro-payment-links/backend-runtime/payment-checkout.js +0 -24
- package/build/dependencies/astro-payment-links/backend-runtime/payment-link.d.ts +0 -5
- package/build/dependencies/astro-payment-links/backend-runtime/payment-link.js +0 -20
- package/build/dependencies/astro-payment-links/backend-runtime/proposal.d.ts +0 -5
- package/build/dependencies/astro-payment-links/backend-runtime/proposal.js +0 -24
- package/build/dependencies/astro-robots/backend-runtime/robots.d.ts +0 -5
- package/build/dependencies/astro-robots/backend-runtime/robots.js +0 -38
- package/build/dependencies/astro-site-component-panels-extensions/types/index.d.ts +0 -21
- package/build/dependencies/astro-site-components-extensions/types/index.d.ts +0 -48
- package/build/dependencies/astro-translations/backend-runtime/middleware/static-translations.d.ts +0 -5
- package/build/dependencies/astro-translations/backend-runtime/middleware/static-translations.js +0 -189
- package/build/dependencies/astro-translations/backend-runtime/runtime/i18n.js +0 -42
- package/build/dependencies/astro-translations/integration/index.d.ts +0 -5
- package/build/dependencies/astro-translations/integration/index.js +0 -296
- package/build/dependencies/astro-trusted-backoffice-extensions/types/index.d.ts +0 -50
- package/build/dependencies/astro-viewer-api/backend-runtime/api.d.ts +0 -5
- package/build/dependencies/astro-viewer-api/backend-runtime/api.js +0 -34
- package/build/dependencies/astro-viewer-services-extensions/types/index.d.ts +0 -27
- package/build/integration/builders-experimental.d.ts +0 -53
- package/build/integration/builders-experimental.js +0 -20
- package/build/integration/builders-experimental.js.map +0 -1
- package/build/integration/builders-trusted.d.ts +0 -69
- package/build/integration/builders-trusted.js +0 -52
- package/build/integration/builders-trusted.js.map +0 -1
- package/build/integration/builders.d.ts +0 -112
- package/build/integration/builders.js +0 -14
- package/build/integration/builders.js.map +0 -1
- package/build/integration/chunk-23MOLCVI.js +0 -1087
- package/build/integration/chunk-23MOLCVI.js.map +0 -1
- package/build/integration/chunk-6UOFHB2M.js +0 -386
- package/build/integration/chunk-6UOFHB2M.js.map +0 -1
- package/build/integration/chunk-L6JEDTVM.js +0 -7458
- package/build/integration/chunk-L6JEDTVM.js.map +0 -1
- package/build/integration/chunk-MNQWQ2MC.js +0 -809
- package/build/integration/chunk-MNQWQ2MC.js.map +0 -1
- package/build/integration/chunk-XN6SBNMI.js +0 -23758
- package/build/integration/chunk-XN6SBNMI.js.map +0 -1
- package/build/integration/index.d-BUVlSCHa.d.ts +0 -211
- package/build/integration/index.d-D4c48TR0.d.ts +0 -58
- package/build/integration/index.d.ts +0 -34
- package/build/integration/index.js +0 -498
- package/build/integration/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tsup/assets/esm_shims.js","../../../../node_modules/path-to-regexp/src/index.ts","../../../vite-utils/src/index.ts","../../../../node_modules/es-toolkit/dist/object/cloneDeep.mjs","../../../../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs","../../../../node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../../node_modules/es-toolkit/dist/compat/_internal/tags.mjs","../../../../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../node_modules/es-toolkit/dist/object/merge.mjs","../../../../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../../../../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs","../../../../node_modules/es-toolkit/dist/object/index.mjs","../../../../node_modules/outdent/src/index.ts","../../../../node_modules/vite-plugin-externalize-dependencies/src/index.ts","../../../vite-virtual-router-plugin/src/index.ts"],"sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","const DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value: string) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\n\n/**\n * Encode a string into another string.\n */\nexport type Encode = (value: string) => string;\n\n/**\n * Decode a string into another string.\n */\nexport type Decode = (value: string) => string;\n\nexport interface ParseOptions {\n /**\n * A function for encoding input strings.\n */\n encodePath?: Encode;\n}\n\nexport interface PathToRegexpOptions {\n /**\n * Matches the path completely without trailing characters. (default: `true`)\n */\n end?: boolean;\n /**\n * Allows optional trailing delimiter to match. (default: `true`)\n */\n trailing?: boolean;\n /**\n * Match will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * The default delimiter for segments. (default: `'/'`)\n */\n delimiter?: string;\n}\n\nexport interface MatchOptions extends PathToRegexpOptions {\n /**\n * Function for decoding strings for params, or `false` to disable entirely. (default: `decodeURIComponent`)\n */\n decode?: Decode | false;\n}\n\nexport interface CompileOptions {\n /**\n * Function for encoding input strings for output into the path, or `false` to disable entirely. (default: `encodeURIComponent`)\n */\n encode?: Encode | false;\n /**\n * The default delimiter for segments. (default: `'/'`)\n */\n delimiter?: string;\n}\n\ntype TokenType =\n | \"{\"\n | \"}\"\n | \"wildcard\"\n | \"param\"\n | \"char\"\n | \"escape\"\n | \"end\"\n // Reserved for use or ambiguous due to past use.\n | \"(\"\n | \")\"\n | \"[\"\n | \"]\"\n | \"+\"\n | \"?\"\n | \"!\";\n\n/**\n * Tokenizer results.\n */\ninterface LexToken {\n type: TokenType;\n index: number;\n value: string;\n}\n\nconst SIMPLE_TOKENS: Record<string, TokenType> = {\n // Groups.\n \"{\": \"{\",\n \"}\": \"}\",\n // Reserved.\n \"(\": \"(\",\n \")\": \")\",\n \"[\": \"[\",\n \"]\": \"]\",\n \"+\": \"+\",\n \"?\": \"?\",\n \"!\": \"!\",\n};\n\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str: string) {\n return str.replace(/[{}()\\[\\]+?!:*\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Escape a regular expression string.\n */\nfunction escape(str: string) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Plain text.\n */\nexport interface Text {\n type: \"text\";\n value: string;\n}\n\n/**\n * A parameter designed to match arbitrary text within a segment.\n */\nexport interface Parameter {\n type: \"param\";\n name: string;\n}\n\n/**\n * A wildcard parameter designed to match multiple segments.\n */\nexport interface Wildcard {\n type: \"wildcard\";\n name: string;\n}\n\n/**\n * A set of possible tokens to expand when matching.\n */\nexport interface Group {\n type: \"group\";\n tokens: Token[];\n}\n\n/**\n * A token that corresponds with a regexp capture.\n */\nexport type Key = Parameter | Wildcard;\n\n/**\n * A sequence of `path-to-regexp` keys that match capturing groups.\n */\nexport type Keys = Array<Key>;\n\n/**\n * A sequence of path match characters.\n */\nexport type Token = Text | Parameter | Wildcard | Group;\n\n/**\n * Tokenized path instance.\n */\nexport class TokenData {\n constructor(\n public readonly tokens: Token[],\n public readonly originalPath?: string,\n ) {}\n}\n\n/**\n * ParseError is thrown when there is an error processing the path.\n */\nexport class PathError extends TypeError {\n constructor(\n message: string,\n public readonly originalPath: string | undefined,\n ) {\n let text = message;\n if (originalPath) text += `: ${originalPath}`;\n text += `; visit https://git.new/pathToRegexpError for info`;\n super(text);\n }\n}\n\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str: string, options: ParseOptions = {}): TokenData {\n const { encodePath = NOOP_VALUE } = options;\n const chars = [...str];\n const tokens: Array<LexToken> = [];\n let index = 0;\n let pos = 0;\n\n function name() {\n let value = \"\";\n\n if (ID_START.test(chars[index])) {\n do {\n value += chars[index++];\n } while (ID_CONTINUE.test(chars[index]));\n } else if (chars[index] === '\"') {\n let quoteStart = index;\n\n while (index++ < chars.length) {\n if (chars[index] === '\"') {\n index++;\n quoteStart = 0;\n break;\n }\n\n // Increment over escape characters.\n if (chars[index] === \"\\\\\") index++;\n\n value += chars[index];\n }\n\n if (quoteStart) {\n throw new PathError(`Unterminated quote at index ${quoteStart}`, str);\n }\n }\n\n if (!value) {\n throw new PathError(`Missing parameter name at index ${index}`, str);\n }\n\n return value;\n }\n\n while (index < chars.length) {\n const value = chars[index];\n const type = SIMPLE_TOKENS[value];\n\n if (type) {\n tokens.push({ type, index: index++, value });\n } else if (value === \"\\\\\") {\n tokens.push({ type: \"escape\", index: index++, value: chars[index++] });\n } else if (value === \":\") {\n tokens.push({ type: \"param\", index: index++, value: name() });\n } else if (value === \"*\") {\n tokens.push({ type: \"wildcard\", index: index++, value: name() });\n } else {\n tokens.push({ type: \"char\", index: index++, value });\n }\n }\n\n tokens.push({ type: \"end\", index, value: \"\" });\n\n function consumeUntil(endType: TokenType): Token[] {\n const output: Token[] = [];\n\n while (true) {\n const token = tokens[pos++];\n if (token.type === endType) break;\n\n if (token.type === \"char\" || token.type === \"escape\") {\n let path = token.value;\n let cur = tokens[pos];\n\n while (cur.type === \"char\" || cur.type === \"escape\") {\n path += cur.value;\n cur = tokens[++pos];\n }\n\n output.push({\n type: \"text\",\n value: encodePath(path),\n });\n continue;\n }\n\n if (token.type === \"param\" || token.type === \"wildcard\") {\n output.push({\n type: token.type,\n name: token.value,\n });\n continue;\n }\n\n if (token.type === \"{\") {\n output.push({\n type: \"group\",\n tokens: consumeUntil(\"}\"),\n });\n continue;\n }\n\n throw new PathError(\n `Unexpected ${token.type} at index ${token.index}, expected ${endType}`,\n str,\n );\n }\n\n return output;\n }\n\n return new TokenData(consumeUntil(\"end\"), str);\n}\n\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile<P extends ParamData = ParamData>(\n path: Path,\n options: CompileOptions & ParseOptions = {},\n) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } =\n options;\n const data = typeof path === \"object\" ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n\n return function path(params: P = {} as P) {\n const [path, ...missing] = fn(params);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\n\nexport type ParamData = Partial<Record<string, string | string[]>>;\nexport type PathFunction<P extends ParamData> = (data?: P) => string;\n\nfunction tokensToFunction(\n tokens: Token[],\n delimiter: string,\n encode: Encode | false,\n) {\n const encoders = tokens.map((token) =>\n tokenToFunction(token, delimiter, encode),\n );\n\n return (data: ParamData) => {\n const result: string[] = [\"\"];\n\n for (const encoder of encoders) {\n const [value, ...extras] = encoder(data);\n result[0] += value;\n result.push(...extras);\n }\n\n return result;\n };\n}\n\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(\n token: Token,\n delimiter: string,\n encode: Encode | false,\n): (data: ParamData) => string[] {\n if (token.type === \"text\") return () => [token.value];\n\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n\n return (data) => {\n const [value, ...missing] = fn(data);\n if (!missing.length) return [value];\n return [\"\"];\n };\n }\n\n const encodeValue = encode || NOOP_VALUE;\n\n if (token.type === \"wildcard\" && encode !== false) {\n return (data) => {\n const value = data[token.name];\n if (value == null) return [\"\", token.name];\n\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n\n return [\n value\n .map((value, index) => {\n if (typeof value !== \"string\") {\n throw new TypeError(\n `Expected \"${token.name}/${index}\" to be a string`,\n );\n }\n\n return encodeValue(value);\n })\n .join(delimiter),\n ];\n };\n }\n\n return (data) => {\n const value = data[token.name];\n if (value == null) return [\"\", token.name];\n\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n\n return [encodeValue(value)];\n };\n}\n\n/**\n * A match result contains data about the path match.\n */\nexport interface MatchResult<P extends ParamData> {\n path: string;\n params: P;\n}\n\n/**\n * A match is either `false` (no match) or a match result.\n */\nexport type Match<P extends ParamData> = false | MatchResult<P>;\n\n/**\n * The match function takes a string and returns whether it matched the path.\n */\nexport type MatchFunction<P extends ParamData> = (path: string) => Match<P>;\n\n/**\n * Supported path types.\n */\nexport type Path = string | TokenData;\n\n/**\n * Transform a path into a match function.\n */\nexport function match<P extends ParamData>(\n path: Path | Path[],\n options: MatchOptions & ParseOptions = {},\n): MatchFunction<P> {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } =\n options;\n const { regexp, keys } = pathToRegexp(path, options);\n\n const decoders = keys.map((key) => {\n if (decode === false) return NOOP_VALUE;\n if (key.type === \"param\") return decode;\n return (value: string) => value.split(delimiter).map(decode);\n });\n\n return function match(input: string) {\n const m = regexp.exec(input);\n if (!m) return false;\n\n const path = m[0];\n const params = Object.create(null);\n\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined) continue;\n\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n\n return { path, params };\n };\n}\n\nexport function pathToRegexp(\n path: Path | Path[],\n options: PathToRegexpOptions & ParseOptions = {},\n) {\n const {\n delimiter = DEFAULT_DELIMITER,\n end = true,\n sensitive = false,\n trailing = true,\n } = options;\n const keys: Keys = [];\n const flags = sensitive ? \"\" : \"i\";\n const sources: string[] = [];\n\n for (const input of pathsToArray(path, [])) {\n const data = typeof input === \"object\" ? input : parse(input, options);\n for (const tokens of flatten(data.tokens, 0, [])) {\n sources.push(toRegExpSource(tokens, delimiter, keys, data.originalPath));\n }\n }\n\n let pattern = `^(?:${sources.join(\"|\")})`;\n if (trailing) pattern += `(?:${escape(delimiter)}$)?`;\n pattern += end ? \"$\" : `(?=${escape(delimiter)}|$)`;\n\n const regexp = new RegExp(pattern, flags);\n return { regexp, keys };\n}\n\n/**\n * Convert a path or array of paths into a flat array.\n */\nfunction pathsToArray(paths: Path | Path[], init: Path[]): Path[] {\n if (Array.isArray(paths)) {\n for (const p of paths) pathsToArray(p, init);\n } else {\n init.push(paths);\n }\n return init;\n}\n\n/**\n * Flattened token set.\n */\ntype FlatToken = Text | Parameter | Wildcard;\n\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction* flatten(\n tokens: Token[],\n index: number,\n init: FlatToken[],\n): Generator<FlatToken[]> {\n if (index === tokens.length) {\n return yield init;\n }\n\n const token = tokens[index];\n\n if (token.type === \"group\") {\n for (const seq of flatten(token.tokens, 0, init.slice())) {\n yield* flatten(tokens, index + 1, seq);\n }\n } else {\n init.push(token);\n }\n\n yield* flatten(tokens, index + 1, init);\n}\n\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction toRegExpSource(\n tokens: FlatToken[],\n delimiter: string,\n keys: Keys,\n originalPath: string | undefined,\n): string {\n let result = \"\";\n let backtrack = \"\";\n let isSafeSegmentParam = true;\n\n for (const token of tokens) {\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n isSafeSegmentParam ||= token.value.includes(delimiter);\n continue;\n }\n\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (!isSafeSegmentParam && !backtrack) {\n throw new PathError(\n `Missing text before \"${token.name}\" ${token.type}`,\n originalPath,\n );\n }\n\n if (token.type === \"param\") {\n result += `(${negate(delimiter, isSafeSegmentParam ? \"\" : backtrack)}+)`;\n } else {\n result += `([\\\\s\\\\S]+)`;\n }\n\n keys.push(token);\n backtrack = \"\";\n isSafeSegmentParam = false;\n continue;\n }\n }\n\n return result;\n}\n\n/**\n * Block backtracking on previous text and ignore delimiter string.\n */\nfunction negate(delimiter: string, backtrack: string): string {\n if (backtrack.length < 2) {\n if (delimiter.length < 2) return `[^${escape(delimiter + backtrack)}]`;\n return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;\n }\n if (delimiter.length < 2) {\n return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;\n }\n return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\\\s\\\\S])`;\n}\n\n/**\n * Stringify an array of tokens into a path string.\n */\nfunction stringifyTokens(tokens: Token[]): string {\n let value = \"\";\n let i = 0;\n\n function name(value: string) {\n const isSafe = isNameSafe(value) && isNextNameSafe(tokens[i]);\n return isSafe ? value : JSON.stringify(value);\n }\n\n while (i < tokens.length) {\n const token = tokens[i++];\n\n if (token.type === \"text\") {\n value += escapeText(token.value);\n continue;\n }\n\n if (token.type === \"group\") {\n value += `{${stringifyTokens(token.tokens)}}`;\n continue;\n }\n\n if (token.type === \"param\") {\n value += `:${name(token.name)}`;\n continue;\n }\n\n if (token.type === \"wildcard\") {\n value += `*${name(token.name)}`;\n continue;\n }\n\n throw new TypeError(`Unknown token type: ${(token as any).type}`);\n }\n\n return value;\n}\n\n/**\n * Stringify token data into a path string.\n */\nexport function stringify(data: TokenData): string {\n return stringifyTokens(data.tokens);\n}\n\n/**\n * Validate the parameter name contains valid ID characters.\n */\nfunction isNameSafe(name: string): boolean {\n const [first, ...rest] = name;\n return ID_START.test(first) && rest.every((char) => ID_CONTINUE.test(char));\n}\n\n/**\n * Validate the next token does not interfere with the current param name.\n */\nfunction isNextNameSafe(token: Token | undefined): boolean {\n if (token && token.type === \"text\") return !ID_CONTINUE.test(token.value[0]);\n return true;\n}\n","import { ok } from 'node:assert';\nimport { join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { InlineConfig, Rollup, ViteDevServer } from 'vite';\nimport {\n createServer,\n mergeConfig,\n build as viteBuild,\n normalizePath as viteNormalizePath,\n} from 'vite';\n\nexport type { ViteDevServer } from 'vite';\n\nexport type RollupBuildOutput = Array<Rollup.OutputAsset | Rollup.OutputChunk>;\n\ntype ViteBuildOutput = Awaited<ReturnType<typeof viteBuild>>;\n\nexport function appendToDevServerUrl(\n devServerUrl: string,\n relativePath: string\n) {\n const url = new URL(\n relativePath.replace(/^[\\\\/]/, './'),\n devServerUrl.endsWith('/') ? devServerUrl : `${devServerUrl}/`\n );\n\n return url.toString();\n}\n\nexport async function build(config: InlineConfig) {\n const buildOutput = await viteBuild(config);\n\n return viteBuildOutputToRollupOutputs(buildOutput);\n}\n\nexport async function buildAll(configs: InlineConfig[]) {\n const buildOutput: ViteBuildOutput = [];\n\n for (const config of configs) {\n const result = await viteBuild(config);\n\n if (Array.isArray(result)) {\n buildOutput.push(...result);\n } else if ('output' in result) {\n buildOutput.push(result);\n }\n }\n\n return viteBuildOutputToRollupOutputs(buildOutput);\n}\n\nexport function cacheDir(rootDir: string, name: string): string {\n return join(rootDir, 'node_modules', '.vite-wix', name);\n}\n\nexport async function createTemporaryViteServer(viteConfig: InlineConfig) {\n const server = await createServer(\n mergeConfig(\n {\n logLevel: 'silent',\n optimizeDeps: { noDiscovery: true },\n server: {\n middlewareMode: true,\n ws: false,\n },\n } satisfies InlineConfig,\n viteConfig\n )\n );\n\n return server;\n}\n\nexport function getAssetForModuleId({\n buildOutput,\n moduleId,\n}: {\n buildOutput: RollupBuildOutput;\n moduleId: string;\n}) {\n const asset = buildOutput\n .filter((x) => x.type === 'asset')\n .find((x) => x.fileName === moduleId);\n\n ok(asset);\n\n return asset;\n}\n\nexport function getAssetForName({\n name,\n buildOutput,\n}: {\n name: string;\n buildOutput: RollupBuildOutput;\n}) {\n const asset = buildOutput\n .filter((x) => x.type === 'asset')\n .find((x) => x.names.includes(name));\n\n ok(asset);\n\n return asset;\n}\n\nexport function getAssetUrlForModuleId({\n baseUrl,\n devServer,\n moduleId,\n}: {\n baseUrl: string;\n devServer: ViteDevServer;\n moduleId: string;\n}) {\n const pathWithBase = join(devServer.config.base, '@id', `${moduleId}?import`);\n\n return appendToDevServerUrl(baseUrl, pathWithBase);\n}\n\nexport function getChunkForEntryName({\n buildOutput,\n entryName,\n}: {\n buildOutput: RollupBuildOutput;\n entryName: string;\n}) {\n const chunk = buildOutput\n .filter((x) => x.type === 'chunk')\n .find((x) => x.isEntry && x.name === entryName);\n\n ok(chunk);\n\n return chunk;\n}\n\nexport function getChunkForModuleId({\n buildOutput,\n moduleId,\n}: {\n buildOutput: RollupBuildOutput;\n moduleId: string;\n}) {\n const chunk = buildOutput\n .filter((x) => x.type === 'chunk')\n .find((x) => x.facadeModuleId === moduleId);\n\n ok(chunk);\n\n return chunk;\n}\n\nexport function getCssFileNameFromChunk(chunk: Rollup.OutputChunk) {\n return chunk.viteMetadata?.importedCss.values().next().value;\n}\n\nexport function getLocalDevServerUrl(server: ViteDevServer) {\n const [devServerUrl] = server.resolvedUrls?.local ?? [];\n ok(devServerUrl != null);\n\n return devServerUrl;\n}\n\nexport function getStyleUrlForFile({\n baseUrl,\n devServer,\n filePath,\n}: {\n baseUrl: string;\n devServer: ViteDevServer;\n filePath: string;\n}) {\n const pathWithBase = join(devServer.config.base, '@fs', `${filePath}?direct`);\n\n return appendToDevServerUrl(baseUrl, pathWithBase);\n}\n\nexport async function loadFileWithVite<T>(\n filename: string,\n server: ViteDevServer\n) {\n const module = (await server\n .ssrLoadModule(filename)\n .catch((error: unknown) => {\n if (\n error != null &&\n typeof error === 'object' &&\n 'code' in error &&\n error.code === 'ERR_LOAD_URL'\n ) {\n return null;\n }\n\n throw error;\n })) as T;\n\n return module;\n}\n\nfunction viteBuildOutputToRollupOutputs(\n viteBuildOutput: ViteBuildOutput\n): RollupBuildOutput {\n const isValidRollupOutput =\n 'output' in viteBuildOutput || Array.isArray(viteBuildOutput);\n\n ok(isValidRollupOutput);\n\n return Array.isArray(viteBuildOutput)\n ? viteBuildOutput.flatMap((output) => output.output)\n : viteBuildOutput.output;\n}\n\n/**\n * Normalizes a file path (either an absolute string or a file URL) to be\n * compatible with the current OS (windows and linux).\n */\nexport function normalizePath(id: string | URL): string {\n const filePath = typeof id === 'string' ? id : fileURLToPath(id);\n return viteNormalizePath(filePath);\n}\n","import { cloneDeepWithImpl } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), undefined);\n}\n\nexport { cloneDeep };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { getTag } from '../compat/_internal/getTag.mjs';\nimport { uint32ArrayTag, uint16ArrayTag, uint8ClampedArrayTag, uint8ArrayTag, symbolTag, stringTag, setTag, regexpTag, objectTag, numberTag, mapTag, int32ArrayTag, int16ArrayTag, int8ArrayTag, float64ArrayTag, float32ArrayTag, dateTag, booleanTag, dataViewTag, arrayBufferTag, arrayTag, argumentsTag } from '../compat/_internal/tags.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== undefined) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof Blob !== 'undefined' && valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = new valueToClone.constructor();\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Boolean) {\n const result = new Boolean(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Number) {\n const result = new Number(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof String) {\n const result = new String(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && isCloneableObject(valueToClone)) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\nfunction isCloneableObject(object) {\n switch (getTag(object)) {\n case argumentsTag:\n case arrayTag:\n case arrayBufferTag:\n case dataViewTag:\n case booleanTag:\n case dateTag:\n case float32ArrayTag:\n case float64ArrayTag:\n case int8ArrayTag:\n case int16ArrayTag:\n case int32ArrayTag:\n case mapTag:\n case numberTag:\n case objectTag:\n case regexpTag:\n case setTag:\n case stringTag:\n case symbolTag:\n case uint8ArrayTag:\n case uint8ClampedArrayTag:\n case uint16ArrayTag:\n case uint32ArrayTag: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","function getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter(symbol => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n\nexport { getSymbols };\n","function getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport { getTag };\n","const regexpTag = '[object RegExp]';\nconst stringTag = '[object String]';\nconst numberTag = '[object Number]';\nconst booleanTag = '[object Boolean]';\nconst argumentsTag = '[object Arguments]';\nconst symbolTag = '[object Symbol]';\nconst dateTag = '[object Date]';\nconst mapTag = '[object Map]';\nconst setTag = '[object Set]';\nconst arrayTag = '[object Array]';\nconst functionTag = '[object Function]';\nconst arrayBufferTag = '[object ArrayBuffer]';\nconst objectTag = '[object Object]';\nconst errorTag = '[object Error]';\nconst dataViewTag = '[object DataView]';\nconst uint8ArrayTag = '[object Uint8Array]';\nconst uint8ClampedArrayTag = '[object Uint8ClampedArray]';\nconst uint16ArrayTag = '[object Uint16Array]';\nconst uint32ArrayTag = '[object Uint32Array]';\nconst bigUint64ArrayTag = '[object BigUint64Array]';\nconst int8ArrayTag = '[object Int8Array]';\nconst int16ArrayTag = '[object Int16Array]';\nconst int32ArrayTag = '[object Int32Array]';\nconst bigInt64ArrayTag = '[object BigInt64Array]';\nconst float32ArrayTag = '[object Float32Array]';\nconst float64ArrayTag = '[object Float64Array]';\n\nexport { argumentsTag, arrayBufferTag, arrayTag, bigInt64ArrayTag, bigUint64ArrayTag, booleanTag, dataViewTag, dateTag, errorTag, float32ArrayTag, float64ArrayTag, functionTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag };\n","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { isUnsafeProperty } from '../_internal/isUnsafeProperty.mjs';\nimport { isPlainObject } from '../predicate/isPlainObject.mjs';\n\nfunction merge(target, source) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n if (isUnsafeProperty(key)) {\n continue;\n }\n const sourceValue = source[key];\n const targetValue = target[key];\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge([], sourceValue);\n }\n }\n else if (isPlainObject(sourceValue)) {\n if (isPlainObject(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge({}, sourceValue);\n }\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { merge };\n","function isUnsafeProperty(key) {\n return key === '__proto__';\n}\n\nexport { isUnsafeProperty };\n","function isPlainObject(value) {\n if (!value || typeof value !== 'object') {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n const hasObjectPrototype = proto === null ||\n proto === Object.prototype ||\n Object.getPrototypeOf(proto) === null;\n if (!hasObjectPrototype) {\n return false;\n }\n return Object.prototype.toString.call(value) === '[object Object]';\n}\n\nexport { isPlainObject };\n","export { clone } from './clone.mjs';\nexport { cloneDeep } from './cloneDeep.mjs';\nexport { cloneDeepWith } from './cloneDeepWith.mjs';\nexport { findKey } from './findKey.mjs';\nexport { flattenObject } from './flattenObject.mjs';\nexport { invert } from './invert.mjs';\nexport { mapKeys } from './mapKeys.mjs';\nexport { mapValues } from './mapValues.mjs';\nexport { merge } from './merge.mjs';\nexport { mergeWith } from './mergeWith.mjs';\nexport { omit } from './omit.mjs';\nexport { omitBy } from './omitBy.mjs';\nexport { pick } from './pick.mjs';\nexport { pickBy } from './pickBy.mjs';\nexport { toCamelCaseKeys } from './toCamelCaseKeys.mjs';\nexport { toMerged } from './toMerged.mjs';\nexport { toSnakeCaseKeys } from './toSnakeCaseKeys.mjs';\n","type TODO = any;\n\n// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop(...args: Array<any>) {}\nfunction createWeakMap<K extends object, V>(): MyWeakMap<K, V> {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap<K, V>();\n } else {\n return fakeSetOrMap<K, V>();\n }\n}\n\ntype MyWeakMap<K extends object, V> = Pick<\n WeakMap<K, V>,\n \"delete\" | \"get\" | \"set\" | \"has\"\n>;\ntype MyWeakSetMap<K extends object, V> =\n & Pick<WeakMap<K, V>, \"delete\" | \"get\" | \"set\" | \"has\">\n & Pick<WeakSet<K>, \"add\">;\n\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap<K extends object, V = any>(): MyWeakSetMap<K, V> {\n return {\n add: noop as WeakSet<K>[\"add\"],\n delete: noop as WeakMap<K, V>[\"delete\"],\n get: noop as WeakMap<K, V>[\"get\"],\n set: noop as WeakMap<K, V>[\"set\"],\n has(k: K) {\n return false;\n },\n };\n}\n\n// Safe hasOwnProperty\nconst hop = Object.prototype.hasOwnProperty;\nconst has = function (obj: object, prop: string): boolean {\n return hop.call(obj, prop);\n};\n\n// Copy all own enumerable properties from source to target\nfunction extend<T, S extends object>(target: T, source: S) {\n type Extended = T & S;\n for (const prop in source) {\n if (has(source, prop)) {\n (target as any)[prop] = source[prop];\n }\n }\n return target as Extended;\n}\n\nconst reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nconst reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nconst reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nconst reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nconst reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\n\nfunction _outdentArray(\n strings: ReadonlyArray<string>,\n firstInterpolatedValueSetsIndentationLevel: boolean,\n options: Options,\n) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n let indentationLevel = 0;\n\n const match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n\n const reSource = `(\\\\r\\\\n|\\\\r|\\\\n).{0,${indentationLevel}}`;\n const reMatchIndent = new RegExp(reSource, \"g\");\n\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n\n const { newline, trimLeadingNewline, trimTrailingNewline } = options;\n const normalizeNewlines = typeof newline === \"string\";\n const l = strings.length;\n const outdentedStrings = strings.map((v, i) => {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, (_) => newline as string);\n }\n return v;\n });\n return outdentedStrings;\n}\n\nfunction concatStringsAndValues(\n strings: ReadonlyArray<string>,\n values: ReadonlyArray<any>,\n): string {\n let ret = \"\";\n for (let i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\n\nfunction isTemplateStringsArray(v: any): v is TemplateStringsArray {\n return has(v, \"raw\") && has(v, \"length\");\n}\n\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options: Options): Outdent {\n /** Cache of pre-processed template literal arrays */\n const arrayAutoIndentCache = createWeakMap<\n TemplateStringsArray,\n Array<string>\n >();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n const arrayFirstInterpSetsIndentCache = createWeakMap<\n TemplateStringsArray,\n Array<string>\n >();\n\n /* tslint:disable:no-shadowed-variable */\n function outdent(\n stringsOrOptions: TemplateStringsArray,\n ...values: Array<any>\n ): string;\n function outdent(stringsOrOptions: Options): Outdent;\n function outdent(\n stringsOrOptions: TemplateStringsArray | Options,\n ...values: Array<any>\n ): string | Outdent {\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n const strings = stringsOrOptions;\n\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n const firstInterpolatedValueSetsIndentationLevel =\n (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n\n // Perform outdentation\n const cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n let renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(\n strings,\n firstInterpolatedValueSetsIndentationLevel,\n options,\n );\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n const rendered = concatStringsAndValues(\n renderedArray,\n firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values,\n );\n\n return rendered;\n } else {\n // Create and return a new instance of outdent with the given options\n return createInstance(\n extend(extend({}, options), stringsOrOptions || {}),\n );\n }\n }\n\n const fullOutdent = extend(outdent, {\n string(str: string): string {\n return _outdentArray([str], false, options)[0];\n },\n });\n\n return fullOutdent;\n}\n\nconst defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n\nexport interface Outdent {\n /**\n * Remove indentation from a template literal.\n */\n (strings: TemplateStringsArray, ...values: Array<any>): string;\n /**\n * Create and return a new Outdent instance with the given options.\n */\n (options: Options): Outdent;\n\n /**\n * Remove indentation from a string\n */\n string(str: string): string;\n\n // /**\n // * Remove indentation from a template literal, but return a tuple of the\n // * outdented TemplateStringsArray and\n // */\n // pass(strings: TemplateStringsArray, ...values: Array<any>): [TemplateStringsArray, ...Array<any>];\n}\nexport interface Options {\n trimLeadingNewline?: boolean;\n trimTrailingNewline?: boolean;\n /**\n * Normalize all newlines in the template literal to this value.\n * \n * If `null`, newlines are left untouched.\n * \n * Newlines that get normalized are '\\r\\n', '\\r', and '\\n'.\n * \n * Newlines within interpolated values are *never* normalized.\n * \n * Although intended for normalizing to '\\n' or '\\r\\n',\n * you can also set to any string; for example ' '.\n */\n newline?: string | null;\n}\n\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\n\n// In CommonJS environments, enable `var outdent = require('outdent');` by\n// replacing the exports object.\n// Make sure that our replacement includes the named exports from above.\ndeclare var module: any;\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n (defaultOutdent as any).default = defaultOutdent;\n (defaultOutdent as any).outdent = defaultOutdent;\n } catch (e) {}\n}\n","// eslint-disable-next-line eslint-comments/disable-enable-pair\n/* eslint-disable unicorn/no-null */\nimport { Plugin, ResolvedConfig, UserConfig } from \"vite\";\nimport { Plugin as EsbuildPlugin, PluginBuild, OnResolveArgs } from \"esbuild\";\n\ntype ExternalCriteria = string | RegExp | ((id: string) => boolean);\n\ninterface ModulePrefixTransformPluginOptions {\n /** The base path of the vite configuration */\n base: string;\n}\n\ninterface PluginOptions {\n externals: ExternalCriteria[];\n}\n\nconst resolvedExternals = new Set<string>();\n\nconst isExternal = (id: string, externals: ExternalCriteria[]): boolean =>\n externals.some((external) => {\n if (typeof external === \"string\") {\n return id === external || id.startsWith(`${external}/`);\n }\n\n if (external instanceof RegExp) {\n return external.test(id);\n }\n\n if (typeof external === \"function\") {\n return external(id);\n }\n\n return false;\n });\n\n/**\n * Creates a plugin for esbuild to externalize specific modules.\n * esbuild is used by Vite during development.\n * This plugin is injected into optimizeDeps.esbuildOptions.plugins, and runs during the dependency scanning / optimization phase.\n *\n * @param options - Plugin options\n *\n * @returns The esbuild plugin\n */\nconst esbuildPluginExternalize = (\n externals: ExternalCriteria[],\n): EsbuildPlugin => ({\n name: \"externalize\",\n setup(build: PluginBuild) {\n build.onResolve({ filter: /.*/ }, (args: OnResolveArgs) => {\n if (\n isExternal(args.path, externals) &&\n args.kind === \"import-statement\"\n ) {\n resolvedExternals.add(args.path);\n return {\n path: args.path,\n external: true,\n };\n }\n\n // Supresses the following error:\n // The entry point [moduleName] cannot be marked as external\n if (isExternal(args.path, externals) && args.kind === \"entry-point\") {\n resolvedExternals.add(args.path);\n return { path: args.path, namespace: \"externalized-modules\" };\n }\n\n return null;\n });\n // Supresses the following error:\n // Do not know how to load path: [namespace:moduleName]\n build.onLoad({ filter: /.*/ }, (args) => {\n if (isExternal(args.path, externals)) {\n return { contents: \"\" };\n }\n\n return null;\n });\n },\n});\n\n/**\n * Creates a plugin to remove prefix from imports injected by Vite.\n * If module is externalized, Vite will prefix imports with \"/\\@id/\" during development.\n *\n * @param options - The plugin options\n *\n * @returns Vite plugin to remove prefix from imports\n */\nconst modulePrefixTransform = ({\n base,\n}: ModulePrefixTransformPluginOptions): Plugin => ({\n name: \"vite-plugin-remove-prefix\",\n transform: (code: string): string => {\n // Verify if there are any external modules resolved to avoid having /\\/@id\\/()/g regex\n if (resolvedExternals.size === 0) return code;\n\n const viteImportAnalysisModulePrefix = \"@id/\";\n const prefixedImportRegex = new RegExp(\n `${base}${viteImportAnalysisModulePrefix}(${[...resolvedExternals].join(\n \"|\",\n )})`,\n \"g\",\n );\n\n if (prefixedImportRegex.test(code)) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n return code.replace(\n prefixedImportRegex,\n (_: string, externalName: string) => externalName,\n );\n }\n return code;\n },\n});\n\n/**\n * Creates a Vite plugin to externalize specific modules.\n * This plugin is only used during development.\n * To externalize modules in production, configure build.rollupOptions.external.\n *\n * @param externals - The list of modules to externalize.\n *\n * @returns The Vite plugin.\n */\nconst vitePluginExternalize = (options: PluginOptions): Plugin => ({\n name: \"vite-plugin-externalize\",\n enforce: \"pre\",\n apply: \"serve\",\n config: (config: UserConfig): Omit<UserConfig, \"plugins\"> | null | void => {\n config.optimizeDeps ??= {}; // eslint-disable-line no-param-reassign\n config.optimizeDeps.esbuildOptions ??= {}; // eslint-disable-line no-param-reassign\n config.optimizeDeps.esbuildOptions.plugins ??= []; // eslint-disable-line no-param-reassign\n\n // Prevent the plugin from being inserted multiple times\n const pluginName = \"externalize\";\n const isPluginAdded = config.optimizeDeps.esbuildOptions.plugins.some(\n (plugin: EsbuildPlugin) => plugin.name === pluginName,\n );\n\n if (!isPluginAdded) {\n config.optimizeDeps.esbuildOptions.plugins.push(\n esbuildPluginExternalize(options.externals),\n );\n }\n return null;\n },\n configResolved: (resolvedConfig: ResolvedConfig) => {\n // Plugins are read-only, and should not be modified,\n // however modulePrefixTransformPlugin MUST run after vite:import-analysis (which adds the prefix to imports)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n resolvedConfig.plugins.push(\n modulePrefixTransform({ base: resolvedConfig.base ?? \"/\" }),\n );\n },\n // Supresses the following warning:\n // Failed to resolve import [dependency] from [sourceFile]. Does the file exist?\n resolveId: (id: string) => {\n if (resolvedExternals.has(id)) {\n return { id, external: true };\n }\n\n // During subsequent runs after the dependency optimization is completed, esbuild plugin might not be called.\n // This will cause the resolvedExternals to be empty, and the plugin will not be able to resolve the external modules, which is why a direct check is required.\n if (isExternal(id, options.externals)) {\n resolvedExternals.add(id);\n return { id, external: true };\n }\n\n return null;\n },\n // Supresses the following warning:\n // The following dependencies are imported but could not be resolved: [dependency] (imported by [sourceFile])\n load: (id: string) => {\n if (resolvedExternals.has(id)) {\n return { code: \"export default {};\" };\n }\n return null;\n },\n});\n\n// Justification: Vite plugins are expected to provide a default export\n// eslint-disable-next-line import/no-default-export\nexport default vitePluginExternalize;\n","import { ok } from 'node:assert';\nimport type { MatchFunction, ParamData } from 'path-to-regexp';\nimport type { Plugin, ResolvedConfig, Rollup } from 'vite';\nimport { match } from 'path-to-regexp';\n\ntype HandlerFn<P> = (params: P, opts: HandlerOptions) => Rollup.LoadResult;\n\ninterface HandlerOptions {\n command: ResolvedConfig['command'];\n resolvedId: string;\n}\n\ninterface RouteConfig {\n handler: HandlerFn<ParamData>;\n matcher: MatchFunction<ParamData>;\n}\n\ninterface RouterPluginOptions {\n name: string;\n router: VirtualRouter;\n}\n\nconst RESOLVED_PREFIX = '\\0';\n\nexport type VirtualRouter = ReturnType<typeof createVirtualRouter>;\n\nexport function createVirtualRouter() {\n const routes: RouteConfig[] = [];\n\n return {\n route<T extends ParamData>(path: string, handler: HandlerFn<T>) {\n const matcher = match(path);\n\n routes.push({\n handler: handler as HandlerFn<ParamData>,\n matcher,\n });\n\n return this;\n },\n get routes() {\n return routes;\n },\n };\n}\n\nexport function viteVirtualRouterPlugin({ name, router }: RouterPluginOptions) {\n let config: null | ResolvedConfig = null;\n\n return {\n name,\n configResolved(resolvedConfig) {\n config = resolvedConfig;\n },\n load(rawId) {\n if (rawId.startsWith(RESOLVED_PREFIX)) {\n const id = rawId.replace(RESOLVED_PREFIX, '');\n\n for (const route of router.routes) {\n const result = route.matcher(id);\n\n if (result !== false) {\n ok(config);\n\n return route.handler(result.params, {\n command: config.command,\n resolvedId: id,\n });\n }\n }\n }\n\n return null;\n },\n resolveId(id) {\n for (const route of router.routes) {\n if (route.matcher(id) !== false) {\n return `${RESOLVED_PREFIX}${id}`;\n }\n }\n\n return null;\n },\n } satisfies Plugin;\n}\n\nexport type { ParamData } from 'path-to-regexp';\n"],"mappings":"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","names":["match","path","value","m","fileURLToPath","module","match","resolvedExternals","isExternal","id","externals","external","esbuildPluginExternalize","build","args","modulePrefixTransform","base","code","viteImportAnalysisModulePrefix","prefixedImportRegex","_","externalName","vitePluginExternalize","options","config","_a","_b","pluginName","plugin","resolvedConfig","ok","path"]}
|
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
viteExternalsPlugin
|
|
5
|
-
} from "./chunk-XN6SBNMI.js";
|
|
6
|
-
import {
|
|
7
|
-
appendToDevServerUrl,
|
|
8
|
-
build,
|
|
9
|
-
createVirtualRouter,
|
|
10
|
-
defaultOutdent,
|
|
11
|
-
getAssetUrlForModuleId,
|
|
12
|
-
getChunkForModuleId,
|
|
13
|
-
init_esm_shims,
|
|
14
|
-
normalizePath,
|
|
15
|
-
viteVirtualRouterPlugin
|
|
16
|
-
} from "./chunk-23MOLCVI.js";
|
|
17
|
-
|
|
18
|
-
// ../astro-trusted-backoffice-extensions/src/integration.ts
|
|
19
|
-
init_esm_shims();
|
|
20
|
-
import { ok } from "assert";
|
|
21
|
-
import { createServer } from "vite";
|
|
22
|
-
|
|
23
|
-
// ../astro-trusted-backoffice-extensions/src/utils/getAssetUrl.ts
|
|
24
|
-
init_esm_shims();
|
|
25
|
-
function getAssetUrl({
|
|
26
|
-
baseUrl,
|
|
27
|
-
buildOutput,
|
|
28
|
-
fileName,
|
|
29
|
-
viteDevServer
|
|
30
|
-
}) {
|
|
31
|
-
if (buildOutput) {
|
|
32
|
-
const chunk = getChunkForModuleId({
|
|
33
|
-
buildOutput,
|
|
34
|
-
moduleId: `\0${fileName}`
|
|
35
|
-
});
|
|
36
|
-
return appendToDevServerUrl(baseUrl, chunk.fileName);
|
|
37
|
-
}
|
|
38
|
-
if (viteDevServer) {
|
|
39
|
-
return getAssetUrlForModuleId({
|
|
40
|
-
baseUrl,
|
|
41
|
-
devServer: viteDevServer,
|
|
42
|
-
moduleId: fileName
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
throw new Error("Unknown error: no build output or vite dev server");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// ../astro-trusted-backoffice-extensions/src/utils/getSupportedExtensions.ts
|
|
49
|
-
init_esm_shims();
|
|
50
|
-
function getSupportedExtensions(model) {
|
|
51
|
-
return model.extensions.filter(isSupportedExtensions);
|
|
52
|
-
}
|
|
53
|
-
function isSupportedExtensions(extension) {
|
|
54
|
-
return extension.type === "TrustedBackofficePage" || extension.type === "TrustedBackofficeWidget";
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// ../astro-trusted-backoffice-extensions/src/vite/getViteConfig.ts
|
|
58
|
-
init_esm_shims();
|
|
59
|
-
|
|
60
|
-
// ../astro-trusted-backoffice-extensions/src/vite/registerComponentEntryVirtualRoute.ts
|
|
61
|
-
init_esm_shims();
|
|
62
|
-
|
|
63
|
-
// ../astro-trusted-backoffice-extensions/src/utils/getTrustedBackofficeComponent.ts
|
|
64
|
-
init_esm_shims();
|
|
65
|
-
function getTrustedBackofficeComponent(model, id) {
|
|
66
|
-
return getSupportedExtensions(model).find((ext) => ext.options.id === id);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// ../astro-trusted-backoffice-extensions/src/vite/registerComponentWrapperVirtualRoute.ts
|
|
70
|
-
init_esm_shims();
|
|
71
|
-
import { join } from "path";
|
|
72
|
-
var hmrRuntimePath = normalizePath(
|
|
73
|
-
new URL(
|
|
74
|
-
"../dependencies/astro-trusted-backoffice-extensions/browser-runtime/hmr.js",
|
|
75
|
-
import.meta.url
|
|
76
|
-
)
|
|
77
|
-
);
|
|
78
|
-
function getVirtualModuleIdForComponentWrapper(componentId) {
|
|
79
|
-
return `wix/component/backoffice/wrappers/${componentId}`;
|
|
80
|
-
}
|
|
81
|
-
function registerComponentWrapperVirtualRoute({
|
|
82
|
-
model,
|
|
83
|
-
router
|
|
84
|
-
}) {
|
|
85
|
-
router.route(
|
|
86
|
-
getVirtualModuleIdForComponentWrapper(":id"),
|
|
87
|
-
({ id }, { command }) => {
|
|
88
|
-
const extension = getTrustedBackofficeComponent(model, id);
|
|
89
|
-
if (extension) {
|
|
90
|
-
const componentPath = normalizePath(
|
|
91
|
-
join(model.srcDir, extension.options.component)
|
|
92
|
-
);
|
|
93
|
-
if (command === "build") {
|
|
94
|
-
return getComponentBuildTemplate({
|
|
95
|
-
componentPath
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return getComponentServeTemplate({
|
|
99
|
-
componentPath
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
function getComponentBuildTemplate({
|
|
107
|
-
componentPath
|
|
108
|
-
}) {
|
|
109
|
-
return defaultOutdent`
|
|
110
|
-
export { default } from '${componentPath}';
|
|
111
|
-
`;
|
|
112
|
-
}
|
|
113
|
-
function getComponentServeTemplate({
|
|
114
|
-
componentPath
|
|
115
|
-
}) {
|
|
116
|
-
return defaultOutdent`
|
|
117
|
-
import { createComponentHmrWrapper } from '${hmrRuntimePath}';
|
|
118
|
-
import OriginalComponent from '${componentPath}';
|
|
119
|
-
|
|
120
|
-
let WrappedComponent = OriginalComponent;
|
|
121
|
-
|
|
122
|
-
if (import.meta.hot) {
|
|
123
|
-
import.meta.hot.accept('${componentPath}', (newModule) => {
|
|
124
|
-
if (newModule?.default) {
|
|
125
|
-
import.meta.hot.data.setComponent?.(newModule?.default);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
WrappedComponent = createComponentHmrWrapper(OriginalComponent, import.meta.hot.data);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export default WrappedComponent;
|
|
133
|
-
`;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// ../astro-trusted-backoffice-extensions/src/vite/registerComponentEntryVirtualRoute.ts
|
|
137
|
-
var wrapComponentRuntimePath = normalizePath(
|
|
138
|
-
new URL(
|
|
139
|
-
"../dependencies/astro-trusted-backoffice-extensions/browser-runtime/wrapComponent.js",
|
|
140
|
-
import.meta.url
|
|
141
|
-
)
|
|
142
|
-
);
|
|
143
|
-
function getVirtualModuleIdForComponentEntry(componentId) {
|
|
144
|
-
return `wix/component/backoffice/entries/${componentId}`;
|
|
145
|
-
}
|
|
146
|
-
function registerComponentEntryVirtualRoute({
|
|
147
|
-
model,
|
|
148
|
-
router
|
|
149
|
-
}) {
|
|
150
|
-
router.route(
|
|
151
|
-
getVirtualModuleIdForComponentEntry(":id"),
|
|
152
|
-
({ id }, { command }) => {
|
|
153
|
-
const extension = getTrustedBackofficeComponent(model, id);
|
|
154
|
-
if (extension) {
|
|
155
|
-
const componentPath = getVirtualModuleIdForComponentWrapper(
|
|
156
|
-
extension.options.id
|
|
157
|
-
);
|
|
158
|
-
if (command === "build") {
|
|
159
|
-
return getComponentBuildTemplate2({
|
|
160
|
-
componentId: extension.options.id,
|
|
161
|
-
componentPath
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
return getComponentServeTemplate2({
|
|
165
|
-
componentId: extension.options.id,
|
|
166
|
-
componentPath
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
function getComponentBuildTemplate2({
|
|
174
|
-
componentId,
|
|
175
|
-
componentPath
|
|
176
|
-
}) {
|
|
177
|
-
return defaultOutdent`
|
|
178
|
-
import { wrapComponent } from '${wrapComponentRuntimePath}'
|
|
179
|
-
|
|
180
|
-
wrapComponent({
|
|
181
|
-
componentId: '${componentId}',
|
|
182
|
-
loadComponent: () => import('${componentPath}'),
|
|
183
|
-
});
|
|
184
|
-
`;
|
|
185
|
-
}
|
|
186
|
-
function getComponentServeTemplate2({
|
|
187
|
-
componentId,
|
|
188
|
-
componentPath
|
|
189
|
-
}) {
|
|
190
|
-
return defaultOutdent`
|
|
191
|
-
import { wrapComponent } from '${wrapComponentRuntimePath}'
|
|
192
|
-
|
|
193
|
-
wrapComponent({
|
|
194
|
-
componentId: '${componentId}',
|
|
195
|
-
loadComponent: () => import('${componentPath}'),
|
|
196
|
-
});
|
|
197
|
-
`;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// ../astro-trusted-backoffice-extensions/src/vite/virtualModulesPlugin.ts
|
|
201
|
-
init_esm_shims();
|
|
202
|
-
function virtualModulesPlugin({ model }) {
|
|
203
|
-
const router = createVirtualRouter();
|
|
204
|
-
registerComponentEntryVirtualRoute({ model, router });
|
|
205
|
-
registerComponentWrapperVirtualRoute({ model, router });
|
|
206
|
-
return viteVirtualRouterPlugin({
|
|
207
|
-
name: "wix:trusted-backoffice-virtual-modules-plugin",
|
|
208
|
-
router
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// ../astro-trusted-backoffice-extensions/src/vite/getViteConfig.ts
|
|
213
|
-
function getViteConfig({
|
|
214
|
-
createExtensionViteConfig,
|
|
215
|
-
model
|
|
216
|
-
}) {
|
|
217
|
-
const componentEntries = getSupportedExtensions(model).map(
|
|
218
|
-
(x) => getVirtualModuleIdForComponentEntry(x.options.id)
|
|
219
|
-
);
|
|
220
|
-
return createExtensionViteConfig({
|
|
221
|
-
name: "trusted-backoffice",
|
|
222
|
-
config: {
|
|
223
|
-
build: {
|
|
224
|
-
rollupOptions: {
|
|
225
|
-
input: componentEntries
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
experimental: {
|
|
229
|
-
renderBuiltUrl(filename, { hostId, hostType }) {
|
|
230
|
-
if (hostType !== "js") {
|
|
231
|
-
return { relative: true };
|
|
232
|
-
}
|
|
233
|
-
return {
|
|
234
|
-
runtime: `import.meta.url.replace("${hostId}", "${filename}")`
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
optimizeDeps: {
|
|
239
|
-
entries: [
|
|
240
|
-
wrapComponentRuntimePath,
|
|
241
|
-
hmrRuntimePath,
|
|
242
|
-
...componentEntries
|
|
243
|
-
]
|
|
244
|
-
},
|
|
245
|
-
plugins: [
|
|
246
|
-
virtualModulesPlugin({ model }),
|
|
247
|
-
viteExternalsPlugin({
|
|
248
|
-
react: "React",
|
|
249
|
-
"react-dom": "ReactDOM"
|
|
250
|
-
})
|
|
251
|
-
]
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
// ../astro-trusted-backoffice-extensions/src/integration.ts
|
|
257
|
-
var createIntegration = () => {
|
|
258
|
-
let model = null;
|
|
259
|
-
let customBuildOutput = null;
|
|
260
|
-
let customDevServer = null;
|
|
261
|
-
return {
|
|
262
|
-
name: "@wix/astro/trusted-backoffice-extensions",
|
|
263
|
-
hooks: {
|
|
264
|
-
"wix:model:setup"({ model: newModel }) {
|
|
265
|
-
model = newModel;
|
|
266
|
-
},
|
|
267
|
-
async "wix:server:start"({
|
|
268
|
-
createExtensionViteConfig,
|
|
269
|
-
setupExtensionProxy
|
|
270
|
-
}) {
|
|
271
|
-
ok(model);
|
|
272
|
-
customDevServer = await createServer(
|
|
273
|
-
getViteConfig({ createExtensionViteConfig, model })
|
|
274
|
-
);
|
|
275
|
-
await customDevServer.listen();
|
|
276
|
-
setupExtensionProxy(customDevServer);
|
|
277
|
-
},
|
|
278
|
-
async "astro:server:done"() {
|
|
279
|
-
ok(customDevServer);
|
|
280
|
-
await customDevServer.close();
|
|
281
|
-
},
|
|
282
|
-
async "wix:build:setup"({ createExtensionViteConfig, target }) {
|
|
283
|
-
if (target === "server") {
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
ok(model);
|
|
287
|
-
const extensions = getSupportedExtensions(model);
|
|
288
|
-
if (extensions.length === 0) {
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
|
-
customBuildOutput = await build(
|
|
292
|
-
getViteConfig({
|
|
293
|
-
createExtensionViteConfig,
|
|
294
|
-
model
|
|
295
|
-
})
|
|
296
|
-
);
|
|
297
|
-
},
|
|
298
|
-
async "wix:app-manifest:setup"({
|
|
299
|
-
staticsUrlPlaceholder,
|
|
300
|
-
updateAppManifest
|
|
301
|
-
}) {
|
|
302
|
-
ok(model);
|
|
303
|
-
const components = [];
|
|
304
|
-
for (const extension of getSupportedExtensions(model)) {
|
|
305
|
-
const virtualModuleId = getVirtualModuleIdForComponentEntry(
|
|
306
|
-
extension.options.id
|
|
307
|
-
);
|
|
308
|
-
const scriptAsset = {
|
|
309
|
-
containerId: model.appId,
|
|
310
|
-
exportedName: extension.options.id,
|
|
311
|
-
scriptType: "MODULE",
|
|
312
|
-
url: getAssetUrl({
|
|
313
|
-
baseUrl: staticsUrlPlaceholder,
|
|
314
|
-
buildOutput: customBuildOutput,
|
|
315
|
-
fileName: virtualModuleId,
|
|
316
|
-
viteDevServer: customDevServer
|
|
317
|
-
})
|
|
318
|
-
};
|
|
319
|
-
switch (extension.type) {
|
|
320
|
-
case "TrustedBackofficePage": {
|
|
321
|
-
const { id, ...pageOptions } = extension.options;
|
|
322
|
-
components.push({
|
|
323
|
-
compId: id,
|
|
324
|
-
compType: "BACK_OFFICE_PAGE",
|
|
325
|
-
compData: {
|
|
326
|
-
backOfficePage: {
|
|
327
|
-
hostingPlatform: "BUSINESS_MANAGER",
|
|
328
|
-
scriptAsset,
|
|
329
|
-
...pageOptions
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
break;
|
|
334
|
-
}
|
|
335
|
-
case "TrustedBackofficeWidget": {
|
|
336
|
-
const { id, ...widgetOptions } = extension.options;
|
|
337
|
-
components.push({
|
|
338
|
-
compId: id,
|
|
339
|
-
compType: "BACK_OFFICE_WIDGET",
|
|
340
|
-
compData: {
|
|
341
|
-
backOfficeWidget: {
|
|
342
|
-
hostingPlatform: "BUSINESS_MANAGER",
|
|
343
|
-
scriptAsset,
|
|
344
|
-
...widgetOptions
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
break;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
updateAppManifest({
|
|
353
|
-
components
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
};
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
// ../astro-trusted-backoffice-extensions/src/builders/trustedBackofficePage.ts
|
|
361
|
-
init_esm_shims();
|
|
362
|
-
function trustedBackofficePage(options) {
|
|
363
|
-
return {
|
|
364
|
-
type: "TrustedBackofficePage",
|
|
365
|
-
options
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
// ../astro-trusted-backoffice-extensions/src/builders/trustedBackofficeWidget.ts
|
|
370
|
-
init_esm_shims();
|
|
371
|
-
function trustedBackofficeWidget(options) {
|
|
372
|
-
return {
|
|
373
|
-
type: "TrustedBackofficeWidget",
|
|
374
|
-
options
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
// ../astro-trusted-backoffice-extensions/src/index.ts
|
|
379
|
-
init_esm_shims();
|
|
380
|
-
|
|
381
|
-
export {
|
|
382
|
-
createIntegration,
|
|
383
|
-
trustedBackofficePage,
|
|
384
|
-
trustedBackofficeWidget
|
|
385
|
-
};
|
|
386
|
-
//# sourceMappingURL=chunk-6UOFHB2M.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../astro-trusted-backoffice-extensions/src/integration.ts","../../../astro-trusted-backoffice-extensions/src/utils/getAssetUrl.ts","../../../astro-trusted-backoffice-extensions/src/utils/getSupportedExtensions.ts","../../../astro-trusted-backoffice-extensions/src/vite/getViteConfig.ts","../../../astro-trusted-backoffice-extensions/src/vite/registerComponentEntryVirtualRoute.ts","../../../astro-trusted-backoffice-extensions/src/utils/getTrustedBackofficeComponent.ts","../../../astro-trusted-backoffice-extensions/src/vite/registerComponentWrapperVirtualRoute.ts","../../../astro-trusted-backoffice-extensions/src/vite/virtualModulesPlugin.ts","../../../astro-trusted-backoffice-extensions/src/builders/trustedBackofficePage.ts","../../../astro-trusted-backoffice-extensions/src/builders/trustedBackofficeWidget.ts","../../../astro-trusted-backoffice-extensions/src/index.ts"],"sourcesContent":["import { ok } from 'node:assert';\nimport type { Model, WixIntegration } from '@wix/astro-core';\nimport type {\n DevCenterBackofficePage,\n DevCenterBackofficeScriptAsset,\n DevCenterBackofficeWidget,\n} from '@wix/dev-center-schemas';\nimport type { RollupBuildOutput } from '@wix/vite-utils';\nimport type { ViteDevServer } from 'vite';\nimport { build } from '@wix/vite-utils';\nimport { createServer } from 'vite';\nimport { getAssetUrl } from './utils/getAssetUrl.js';\nimport { getSupportedExtensions } from './utils/getSupportedExtensions.js';\nimport { getViteConfig } from './vite/getViteConfig.js';\nimport { getVirtualModuleIdForComponentEntry } from './vite/registerComponentEntryVirtualRoute.js';\n\nexport const createIntegration = (): WixIntegration => {\n let model: Model | null = null;\n let customBuildOutput: null | RollupBuildOutput = null;\n let customDevServer: null | ViteDevServer = null;\n\n return {\n name: '@wix/astro/trusted-backoffice-extensions',\n hooks: {\n 'wix:model:setup'({ model: newModel }) {\n model = newModel;\n },\n async 'wix:server:start'({\n createExtensionViteConfig,\n setupExtensionProxy,\n }) {\n ok(model);\n customDevServer = await createServer(\n getViteConfig({ createExtensionViteConfig, model })\n );\n\n await customDevServer.listen();\n\n setupExtensionProxy(customDevServer);\n },\n async 'astro:server:done'() {\n ok(customDevServer);\n await customDevServer.close();\n },\n async 'wix:build:setup'({ createExtensionViteConfig, target }) {\n if (target === 'server') {\n return;\n }\n\n ok(model);\n const extensions = getSupportedExtensions(model);\n\n if (extensions.length === 0) {\n return;\n }\n\n customBuildOutput = await build(\n getViteConfig({\n createExtensionViteConfig,\n model,\n })\n );\n },\n async 'wix:app-manifest:setup'({\n staticsUrlPlaceholder,\n updateAppManifest,\n }) {\n ok(model);\n\n const components: Array<\n DevCenterBackofficePage | DevCenterBackofficeWidget\n > = [];\n\n for (const extension of getSupportedExtensions(model)) {\n const virtualModuleId = getVirtualModuleIdForComponentEntry(\n extension.options.id\n );\n\n const scriptAsset = {\n containerId: model.appId,\n exportedName: extension.options.id,\n scriptType: 'MODULE',\n url: getAssetUrl({\n baseUrl: staticsUrlPlaceholder,\n buildOutput: customBuildOutput,\n fileName: virtualModuleId,\n viteDevServer: customDevServer,\n }),\n } satisfies DevCenterBackofficeScriptAsset;\n\n switch (extension.type) {\n case 'TrustedBackofficePage': {\n const { id, ...pageOptions } = extension.options;\n components.push({\n compId: id,\n compType: 'BACK_OFFICE_PAGE',\n compData: {\n backOfficePage: {\n hostingPlatform: 'BUSINESS_MANAGER',\n scriptAsset,\n ...pageOptions,\n },\n },\n });\n break;\n }\n case 'TrustedBackofficeWidget': {\n const { id, ...widgetOptions } = extension.options;\n components.push({\n compId: id,\n compType: 'BACK_OFFICE_WIDGET',\n compData: {\n backOfficeWidget: {\n hostingPlatform: 'BUSINESS_MANAGER',\n scriptAsset,\n ...widgetOptions,\n },\n },\n });\n break;\n }\n }\n }\n\n updateAppManifest({\n components,\n });\n },\n },\n };\n};\n","import type { RollupBuildOutput } from '@wix/vite-utils';\nimport type { ViteDevServer } from 'vite';\nimport {\n appendToDevServerUrl,\n getAssetUrlForModuleId,\n getChunkForModuleId,\n} from '@wix/vite-utils';\n\nexport function getAssetUrl({\n baseUrl,\n buildOutput,\n fileName,\n viteDevServer,\n}: {\n baseUrl: string;\n buildOutput: null | RollupBuildOutput;\n fileName: string;\n viteDevServer: null | ViteDevServer;\n}) {\n if (buildOutput) {\n const chunk = getChunkForModuleId({\n buildOutput,\n moduleId: `\\0${fileName}`,\n });\n\n return appendToDevServerUrl(baseUrl, chunk.fileName);\n }\n\n if (viteDevServer) {\n return getAssetUrlForModuleId({\n baseUrl,\n devServer: viteDevServer,\n moduleId: fileName,\n });\n }\n\n throw new Error('Unknown error: no build output or vite dev server');\n}\n","import type { BaseExtension, Model } from '@wix/astro-core';\nimport type { SupportedExtension } from '../types.js';\n\nexport function getSupportedExtensions(model: Model) {\n return model.extensions.filter(isSupportedExtensions);\n}\n\nfunction isSupportedExtensions(\n extension: BaseExtension\n): extension is SupportedExtension {\n return (\n extension.type === 'TrustedBackofficePage' ||\n extension.type === 'TrustedBackofficeWidget'\n );\n}\n","import type { CreateExtensionViteConfig, Model } from '@wix/astro-core';\nimport { viteExternalsPlugin } from 'vite-plugin-externals';\nimport { getSupportedExtensions } from '../utils/getSupportedExtensions.js';\nimport {\n getVirtualModuleIdForComponentEntry,\n wrapComponentRuntimePath,\n} from './registerComponentEntryVirtualRoute.js';\nimport { hmrRuntimePath } from './registerComponentWrapperVirtualRoute.js';\nimport { virtualModulesPlugin } from './virtualModulesPlugin.js';\n\nexport function getViteConfig({\n createExtensionViteConfig,\n model,\n}: {\n createExtensionViteConfig: CreateExtensionViteConfig;\n model: Model;\n}) {\n const componentEntries = getSupportedExtensions(model).map((x) =>\n getVirtualModuleIdForComponentEntry(x.options.id)\n );\n\n return createExtensionViteConfig({\n name: 'trusted-backoffice',\n config: {\n build: {\n rollupOptions: {\n input: componentEntries,\n },\n },\n experimental: {\n renderBuiltUrl(filename, { hostId, hostType }) {\n if (hostType !== 'js') {\n return { relative: true };\n }\n\n return {\n runtime: `import.meta.url.replace(\"${hostId}\", \"${filename}\")`,\n };\n },\n },\n optimizeDeps: {\n entries: [\n wrapComponentRuntimePath,\n hmrRuntimePath,\n ...componentEntries,\n ],\n },\n plugins: [\n virtualModulesPlugin({ model }),\n viteExternalsPlugin({\n react: 'React',\n 'react-dom': 'ReactDOM',\n }),\n ],\n },\n });\n}\n","import type { Model } from '@wix/astro-core';\nimport type { ParamData, VirtualRouter } from '@wix/vite-virtual-router-plugin';\nimport { normalizePath } from '@wix/vite-utils';\nimport { outdent } from 'outdent';\nimport { getTrustedBackofficeComponent } from '../utils/getTrustedBackofficeComponent.js';\nimport { getVirtualModuleIdForComponentWrapper } from './registerComponentWrapperVirtualRoute.js';\n\ninterface Params extends ParamData {\n id: string;\n}\n\nexport const wrapComponentRuntimePath = normalizePath(\n new URL(\n '../dependencies/astro-trusted-backoffice-extensions/browser-runtime/wrapComponent.js',\n import.meta.url\n )\n);\n\nexport function getVirtualModuleIdForComponentEntry(componentId: string) {\n return `wix/component/backoffice/entries/${componentId}`;\n}\n\nexport function registerComponentEntryVirtualRoute({\n model,\n router,\n}: {\n model: Model;\n router: VirtualRouter;\n}) {\n router.route<Params>(\n getVirtualModuleIdForComponentEntry(':id'),\n ({ id }, { command }) => {\n const extension = getTrustedBackofficeComponent(model, id);\n\n if (extension) {\n const componentPath = getVirtualModuleIdForComponentWrapper(\n extension.options.id\n );\n\n if (command === 'build') {\n return getComponentBuildTemplate({\n componentId: extension.options.id,\n componentPath,\n });\n }\n\n return getComponentServeTemplate({\n componentId: extension.options.id,\n componentPath,\n });\n }\n\n return null;\n }\n );\n}\n\nfunction getComponentBuildTemplate({\n componentId,\n componentPath,\n}: {\n componentId: string;\n componentPath: string;\n}) {\n return outdent`\n import { wrapComponent } from '${wrapComponentRuntimePath}'\n\n wrapComponent({\n componentId: '${componentId}',\n loadComponent: () => import('${componentPath}'),\n });\n `;\n}\n\nfunction getComponentServeTemplate({\n componentId,\n componentPath,\n}: {\n componentId: string;\n componentPath: string;\n}) {\n return outdent`\n import { wrapComponent } from '${wrapComponentRuntimePath}'\n\n wrapComponent({\n componentId: '${componentId}',\n loadComponent: () => import('${componentPath}'),\n });\n `;\n}\n","import type { Model } from '@wix/astro-core';\nimport { getSupportedExtensions } from './getSupportedExtensions.js';\n\nexport function getTrustedBackofficeComponent(model: Model, id: string) {\n return getSupportedExtensions(model).find((ext) => ext.options.id === id);\n}\n","import { join } from 'node:path';\nimport type { Model } from '@wix/astro-core';\nimport type { ParamData, VirtualRouter } from '@wix/vite-virtual-router-plugin';\nimport { normalizePath } from '@wix/vite-utils';\nimport { outdent } from 'outdent';\nimport { getTrustedBackofficeComponent } from '../utils/getTrustedBackofficeComponent.js';\n\ninterface Params extends ParamData {\n id: string;\n}\n\nexport const hmrRuntimePath = normalizePath(\n new URL(\n '../dependencies/astro-trusted-backoffice-extensions/browser-runtime/hmr.js',\n import.meta.url\n )\n);\n\nexport function getVirtualModuleIdForComponentWrapper(componentId: string) {\n return `wix/component/backoffice/wrappers/${componentId}`;\n}\n\nexport function registerComponentWrapperVirtualRoute({\n model,\n router,\n}: {\n model: Model;\n router: VirtualRouter;\n}) {\n router.route<Params>(\n getVirtualModuleIdForComponentWrapper(':id'),\n ({ id }, { command }) => {\n const extension = getTrustedBackofficeComponent(model, id);\n\n if (extension) {\n const componentPath = normalizePath(\n join(model.srcDir, extension.options.component)\n );\n\n if (command === 'build') {\n return getComponentBuildTemplate({\n componentPath,\n });\n }\n\n return getComponentServeTemplate({\n componentPath,\n });\n }\n\n return null;\n }\n );\n}\n\nfunction getComponentBuildTemplate({\n componentPath,\n}: {\n componentPath: string;\n}) {\n return outdent`\n export { default } from '${componentPath}';\n `;\n}\n\nfunction getComponentServeTemplate({\n componentPath,\n}: {\n componentPath: string;\n}) {\n return outdent`\n import { createComponentHmrWrapper } from '${hmrRuntimePath}';\n import OriginalComponent from '${componentPath}';\n\n let WrappedComponent = OriginalComponent;\n\n if (import.meta.hot) {\n import.meta.hot.accept('${componentPath}', (newModule) => {\n if (newModule?.default) {\n import.meta.hot.data.setComponent?.(newModule?.default);\n }\n });\n\n WrappedComponent = createComponentHmrWrapper(OriginalComponent, import.meta.hot.data);\n }\n\n export default WrappedComponent;\n `;\n}\n","import type { Model } from '@wix/astro-core';\nimport {\n createVirtualRouter,\n viteVirtualRouterPlugin,\n} from '@wix/vite-virtual-router-plugin';\nimport { registerComponentEntryVirtualRoute } from './registerComponentEntryVirtualRoute.js';\nimport { registerComponentWrapperVirtualRoute } from './registerComponentWrapperVirtualRoute.js';\n\nexport function virtualModulesPlugin({ model }: { model: Model }) {\n const router = createVirtualRouter();\n\n registerComponentEntryVirtualRoute({ model, router });\n registerComponentWrapperVirtualRoute({ model, router });\n\n return viteVirtualRouterPlugin({\n name: 'wix:trusted-backoffice-virtual-modules-plugin',\n router,\n });\n}\n","export interface TrustedBackofficePage {\n type: 'TrustedBackofficePage';\n options: Options;\n}\n\ninterface MetaDataKeyword {\n id: string;\n value: string;\n}\n\ninterface Options {\n id: string;\n activeSidebarPageId?: string;\n additionalRoutes?: string[];\n component: string;\n fullPage?: boolean;\n hideInSidebar?: boolean;\n metaData?: {\n description?: string;\n keywords?: MetaDataKeyword[];\n searchable?: boolean;\n title?: string;\n };\n pageCategoryId?: string;\n previousRoutePaths?: string[];\n priority?: number;\n requiredPermission?: string;\n routePath: string;\n title: string;\n}\n\nexport function trustedBackofficePage(options: Options): TrustedBackofficePage {\n return {\n type: 'TrustedBackofficePage',\n options,\n };\n}\n","export interface TrustedBackofficeWidget {\n type: 'TrustedBackofficeWidget';\n options: Options;\n}\n\ninterface Options {\n id: string;\n component: string;\n height?: number;\n requiredPermission?: string;\n slotIds?: string[];\n title: string;\n width?: number;\n}\n\nexport function trustedBackofficeWidget(\n options: Options\n): TrustedBackofficeWidget {\n return {\n type: 'TrustedBackofficeWidget',\n options,\n };\n}\n","export { createIntegration as default } from './integration.js';\n\n// builders\nexport { trustedBackofficePage } from './builders/trustedBackofficePage.js';\nexport { trustedBackofficeWidget } from './builders/trustedBackofficeWidget.js';\n"],"mappings":"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","names":["getComponentBuildTemplate","getComponentServeTemplate"]}
|