@angular/localize 19.2.5 → 19.2.6

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/fesm2022/init.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v19.2.5
2
+ * @license Angular v19.2.6
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { $ as $localize } from './localize-DRpJxdeL.mjs';
7
+ import { $localize } from './localize-CajB9YLv.mjs';
8
8
 
9
9
  // Attach $localize to the global context, as a side-effect of this module.
10
10
  globalThis.$localize = $localize;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.5
2
+ * @license Angular v19.2.6
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -492,5 +492,5 @@ function stripBlock(messagePart, rawMessagePart) {
492
492
  : messagePart;
493
493
  }
494
494
 
495
- export { $localize as $, BLOCK_MARKER$1 as B, parseMetadata as a, computeMsgId as c, findEndOfBlock as f, parseMessage as p, splitBlock as s };
496
- //# sourceMappingURL=localize-DRpJxdeL.mjs.map
495
+ export { $localize, BLOCK_MARKER$1 as BLOCK_MARKER, computeMsgId, findEndOfBlock, parseMessage, parseMetadata, splitBlock };
496
+ //# sourceMappingURL=localize-CajB9YLv.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"localize-DRpJxdeL.mjs","sources":["../../../../../../packages/localize/src/utils/src/constants.ts","../../../../../../packages/compiler/src/i18n/digest.ts","../../../../../../packages/localize/src/utils/src/messages.ts","../../../../../../packages/localize/src/localize/src/localize.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/**\n * The character used to mark the start and end of a \"block\" in a `$localize` tagged string.\n * A block can indicate metadata about the message or specify a name of a placeholder for a\n * substitution expressions.\n *\n * For example:\n *\n * ```ts\n * $localize`Hello, ${title}:title:!`;\n * $localize`:meaning|description@@id:source message text`;\n * ```\n */\nexport const BLOCK_MARKER = ':';\n\n/**\n * The marker used to separate a message's \"meaning\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:correct|Indicates that the user got the answer correct: Right!`;\n * $localize `:movement|Button label for moving to the right: Right!`;\n * ```\n */\nexport const MEANING_SEPARATOR = '|';\n\n/**\n * The marker used to separate a message's custom \"id\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:A welcome message on the home page@@myApp-homepage-welcome: Welcome!`;\n * ```\n */\nexport const ID_SEPARATOR = '@@';\n\n/**\n * The marker used to separate legacy message ids from the rest of a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:@@custom-id␟2df64767cd895a8fabe3e18b94b5b6b6f9e2e3f0: Welcome!`;\n * ```\n *\n * Note that this character is the \"symbol for the unit separator\" (␟) not the \"unit separator\n * character\" itself, since that has no visual representation. See https://graphemica.com/%E2%90%9F.\n *\n * Here is some background for the original \"unit separator character\":\n * https://stackoverflow.com/questions/8695118/whats-the-file-group-record-unit-separator-control-characters-and-its-usage\n */\nexport const LEGACY_ID_INDICATOR = '\\u241F';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Byte} from '../util';\n\nimport * as i18n from './i18n_ast';\n\n/**\n * A lazily created TextEncoder instance for converting strings into UTF-8 bytes\n */\nlet textEncoder: TextEncoder | undefined;\n\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nexport function digest(message: i18n.Message): string {\n return message.id || computeDigest(message);\n}\n\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nexport function computeDigest(message: i18n.Message): string {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nexport function decimalDigest(message: i18n.Message): string {\n return message.id || computeDecimalDigest(message);\n}\n\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nexport function computeDecimalDigest(message: i18n.Message): string {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map((a) => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor implements i18n.Visitor {\n visitText(text: i18n.Text, context: any): any {\n return text.value;\n }\n\n visitContainer(container: i18n.Container, context: any): any {\n return `[${container.children.map((child) => child.visit(this)).join(', ')}]`;\n }\n\n visitIcu(icu: i18n.Icu, context: any): any {\n const strCases = Object.keys(icu.cases).map(\n (k: string) => `${k} {${icu.cases[k].visit(this)}}`,\n );\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n\n visitTagPlaceholder(ph: i18n.TagPlaceholder, context: any): any {\n return ph.isVoid\n ? `<ph tag name=\"${ph.startName}\"/>`\n : `<ph tag name=\"${ph.startName}\">${ph.children\n .map((child) => child.visit(this))\n .join(', ')}</ph name=\"${ph.closeName}\">`;\n }\n\n visitPlaceholder(ph: i18n.Placeholder, context: any): any {\n return ph.value ? `<ph name=\"${ph.name}\">${ph.value}</ph>` : `<ph name=\"${ph.name}\"/>`;\n }\n\n visitIcuPlaceholder(ph: i18n.IcuPlaceholder, context?: any): any {\n return `<ph icu name=\"${ph.name}\">${ph.value.visit(this)}</ph>`;\n }\n\n visitBlockPlaceholder(ph: i18n.BlockPlaceholder, context: any): any {\n return `<ph block name=\"${ph.startName}\">${ph.children\n .map((child) => child.visit(this))\n .join(', ')}</ph name=\"${ph.closeName}\">`;\n }\n}\n\nconst serializerVisitor = new _SerializerVisitor();\n\nexport function serializeNodes(nodes: i18n.Node[]): string[] {\n return nodes.map((a) => a.visit(serializerVisitor, null));\n}\n\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n override visitIcu(icu: i18n.Icu): string {\n let strCases = Object.keys(icu.cases).map((k: string) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nexport function sha1(str: string): string {\n textEncoder ??= new TextEncoder();\n const utf8 = [...textEncoder.encode(str)];\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n\n const w = new Uint32Array(80);\n let a = 0x67452301,\n b = 0xefcdab89,\n c = 0x98badcfe,\n d = 0x10325476,\n e = 0xc3d2e1f0;\n\n words32[len >> 5] |= 0x80 << (24 - (len % 32));\n words32[(((len + 64) >> 9) << 4) + 15] = len;\n\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a,\n h1 = b,\n h2 = c,\n h3 = d,\n h4 = e;\n\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n } else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n\n // Convert the output parts to a 160-bit hexadecimal string\n return toHexU32(a) + toHexU32(b) + toHexU32(c) + toHexU32(d) + toHexU32(e);\n}\n\n/**\n * Convert and format a number as a string representing a 32-bit unsigned hexadecimal number.\n * @param value The value to format as a string.\n * @returns A hexadecimal string representing the value.\n */\nfunction toHexU32(value: number): string {\n // unsigned right shift of zero ensures an unsigned 32-bit number\n return (value >>> 0).toString(16).padStart(8, '0');\n}\n\nfunction fk(index: number, b: number, c: number, d: number): [number, number] {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n\n return [b ^ c ^ d, 0xca62c1d6];\n}\n\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nexport function fingerprint(str: string): bigint {\n textEncoder ??= new TextEncoder();\n const utf8 = textEncoder.encode(str);\n const view = new DataView(utf8.buffer, utf8.byteOffset, utf8.byteLength);\n\n let hi = hash32(view, utf8.length, 0);\n let lo = hash32(view, utf8.length, 102072);\n\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n\n return (BigInt.asUintN(32, BigInt(hi)) << BigInt(32)) | BigInt.asUintN(32, BigInt(lo));\n}\n\nexport function computeMsgId(msg: string, meaning: string = ''): string {\n let msgFingerprint = fingerprint(msg);\n\n if (meaning) {\n // Rotate the 64-bit message fingerprint one bit to the left and then add the meaning\n // fingerprint.\n msgFingerprint =\n BigInt.asUintN(64, msgFingerprint << BigInt(1)) |\n ((msgFingerprint >> BigInt(63)) & BigInt(1));\n msgFingerprint += fingerprint(meaning);\n }\n\n return BigInt.asUintN(63, msgFingerprint).toString();\n}\n\nfunction hash32(view: DataView, length: number, c: number): number {\n let a = 0x9e3779b9,\n b = 0x9e3779b9;\n let index = 0;\n\n const end = length - 12;\n for (; index <= end; index += 12) {\n a += view.getUint32(index, true);\n b += view.getUint32(index + 4, true);\n c += view.getUint32(index + 8, true);\n const res = mix(a, b, c);\n (a = res[0]), (b = res[1]), (c = res[2]);\n }\n\n const remainder = length - index;\n\n // the first byte of c is reserved for the length\n c += length;\n\n if (remainder >= 4) {\n a += view.getUint32(index, true);\n index += 4;\n\n if (remainder >= 8) {\n b += view.getUint32(index, true);\n index += 4;\n\n // Partial 32-bit word for c\n if (remainder >= 9) {\n c += view.getUint8(index++) << 8;\n }\n if (remainder >= 10) {\n c += view.getUint8(index++) << 16;\n }\n if (remainder === 11) {\n c += view.getUint8(index++) << 24;\n }\n } else {\n // Partial 32-bit word for b\n if (remainder >= 5) {\n b += view.getUint8(index++);\n }\n if (remainder >= 6) {\n b += view.getUint8(index++) << 8;\n }\n if (remainder === 7) {\n b += view.getUint8(index++) << 16;\n }\n }\n } else {\n // Partial 32-bit word for a\n if (remainder >= 1) {\n a += view.getUint8(index++);\n }\n if (remainder >= 2) {\n a += view.getUint8(index++) << 8;\n }\n if (remainder === 3) {\n a += view.getUint8(index++) << 16;\n }\n }\n\n return mix(a, b, c)[2];\n}\n\nfunction mix(a: number, b: number, c: number): [number, number, number] {\n a -= b;\n a -= c;\n a ^= c >>> 13;\n b -= c;\n b -= a;\n b ^= a << 8;\n c -= a;\n c -= b;\n c ^= b >>> 13;\n a -= b;\n a -= c;\n a ^= c >>> 12;\n b -= c;\n b -= a;\n b ^= a << 16;\n c -= a;\n c -= b;\n c ^= b >>> 5;\n a -= b;\n a -= c;\n a ^= c >>> 3;\n b -= c;\n b -= a;\n b ^= a << 10;\n c -= a;\n c -= b;\n c ^= b >>> 15;\n return [a, b, c];\n}\n\n// Utils\n\nenum Endian {\n Little,\n Big,\n}\n\nfunction add32(a: number, b: number): number {\n return add32to64(a, b)[1];\n}\n\nfunction add32to64(a: number, b: number): [number, number] {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\n\n// Rotate a 32b number left `count` position\nfunction rol32(a: number, count: number): number {\n return (a << count) | (a >>> (32 - count));\n}\n\nfunction bytesToWords32(bytes: Byte[], endian: Endian): number[] {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n\n return words32;\n}\n\nfunction byteAt(bytes: Byte[], index: number): Byte {\n return index >= bytes.length ? 0 : bytes[index];\n}\n\nfunction wordAt(bytes: Byte[], index: number, endian: Endian): number {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n } else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (8 * i);\n }\n }\n return word;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// This module specifier is intentionally a relative path to allow bundling the code directly\n// into the package.\n// @ng_package: ignore-cross-repo-import\nimport {computeMsgId} from '../../../../compiler/src/i18n/digest';\n\nimport {BLOCK_MARKER, ID_SEPARATOR, LEGACY_ID_INDICATOR, MEANING_SEPARATOR} from './constants';\n\n/**\n * Re-export this helper function so that users of `@angular/localize` don't need to actively import\n * from `@angular/compiler`.\n */\nexport {computeMsgId};\n\n/**\n * A string containing a translation source message.\n *\n * I.E. the message that indicates what will be translated from.\n *\n * Uses `{$placeholder-name}` to indicate a placeholder.\n */\nexport type SourceMessage = string;\n\n/**\n * A string containing a translation target message.\n *\n * I.E. the message that indicates what will be translated to.\n *\n * Uses `{$placeholder-name}` to indicate a placeholder.\n *\n * @publicApi\n */\nexport type TargetMessage = string;\n\n/**\n * A string that uniquely identifies a message, to be used for matching translations.\n *\n * @publicApi\n */\nexport type MessageId = string;\n\n/**\n * Declares a copy of the `AbsoluteFsPath` branded type in `@angular/compiler-cli` to avoid an\n * import into `@angular/compiler-cli`. The compiler-cli's declaration files are not necessarily\n * compatible with web environments that use `@angular/localize`, and would inadvertently include\n * `typescript` declaration files in any compilation unit that uses `@angular/localize` (which\n * increases parsing time and memory usage during builds) using a default import that only\n * type-checks when `allowSyntheticDefaultImports` is enabled.\n *\n * @see https://github.com/angular/angular/issues/45179\n */\ntype AbsoluteFsPathLocalizeCopy = string & {_brand: 'AbsoluteFsPath'};\n\n/**\n * The location of the message in the source file.\n *\n * The `line` and `column` values for the `start` and `end` properties are zero-based.\n */\nexport interface SourceLocation {\n start: {line: number; column: number};\n end: {line: number; column: number};\n file: AbsoluteFsPathLocalizeCopy;\n text?: string;\n}\n\n/**\n * Additional information that can be associated with a message.\n */\nexport interface MessageMetadata {\n /**\n * A human readable rendering of the message\n */\n text: string;\n /**\n * Legacy message ids, if provided.\n *\n * In legacy message formats the message id can only be computed directly from the original\n * template source.\n *\n * Since this information is not available in `$localize` calls, the legacy message ids may be\n * attached by the compiler to the `$localize` metablock so it can be used if needed at the point\n * of translation if the translations are encoded using the legacy message id.\n */\n legacyIds?: string[];\n /**\n * The id of the `message` if a custom one was specified explicitly.\n *\n * This id overrides any computed or legacy ids.\n */\n customId?: string;\n /**\n * The meaning of the `message`, used to distinguish identical `messageString`s.\n */\n meaning?: string;\n /**\n * The description of the `message`, used to aid translation.\n */\n description?: string;\n /**\n * The location of the message in the source.\n */\n location?: SourceLocation;\n}\n\n/**\n * Information parsed from a `$localize` tagged string that is used to translate it.\n *\n * For example:\n *\n * ```ts\n * const name = 'Jo Bloggs';\n * $localize`Hello ${name}:title@@ID:!`;\n * ```\n *\n * May be parsed into:\n *\n * ```ts\n * {\n * id: '6998194507597730591',\n * substitutions: { title: 'Jo Bloggs' },\n * messageString: 'Hello {$title}!',\n * placeholderNames: ['title'],\n * associatedMessageIds: { title: 'ID' },\n * }\n * ```\n */\nexport interface ParsedMessage extends MessageMetadata {\n /**\n * The key used to look up the appropriate translation target.\n */\n id: MessageId;\n /**\n * A mapping of placeholder names to substitution values.\n */\n substitutions: Record<string, any>;\n /**\n * An optional mapping of placeholder names to associated MessageIds.\n * This can be used to match ICU placeholders to the message that contains the ICU.\n */\n associatedMessageIds?: Record<string, MessageId>;\n /**\n * An optional mapping of placeholder names to source locations\n */\n substitutionLocations?: Record<string, SourceLocation | undefined>;\n /**\n * The static parts of the message.\n */\n messageParts: string[];\n /**\n * An optional mapping of message parts to source locations\n */\n messagePartLocations?: (SourceLocation | undefined)[];\n /**\n * The names of the placeholders that will be replaced with substitutions.\n */\n placeholderNames: string[];\n}\n\n/**\n * Parse a `$localize` tagged string into a structure that can be used for translation or\n * extraction.\n *\n * See `ParsedMessage` for an example.\n */\nexport function parseMessage(\n messageParts: TemplateStringsArray,\n expressions?: readonly any[],\n location?: SourceLocation,\n messagePartLocations?: (SourceLocation | undefined)[],\n expressionLocations: (SourceLocation | undefined)[] = [],\n): ParsedMessage {\n const substitutions: {[placeholderName: string]: any} = {};\n const substitutionLocations: {[placeholderName: string]: SourceLocation | undefined} = {};\n const associatedMessageIds: {[placeholderName: string]: MessageId} = {};\n const metadata = parseMetadata(messageParts[0], messageParts.raw[0]);\n const cleanedMessageParts: string[] = [metadata.text];\n const placeholderNames: string[] = [];\n let messageString = metadata.text;\n for (let i = 1; i < messageParts.length; i++) {\n const {\n messagePart,\n placeholderName = computePlaceholderName(i),\n associatedMessageId,\n } = parsePlaceholder(messageParts[i], messageParts.raw[i]);\n messageString += `{$${placeholderName}}${messagePart}`;\n if (expressions !== undefined) {\n substitutions[placeholderName] = expressions[i - 1];\n substitutionLocations[placeholderName] = expressionLocations[i - 1];\n }\n placeholderNames.push(placeholderName);\n if (associatedMessageId !== undefined) {\n associatedMessageIds[placeholderName] = associatedMessageId;\n }\n cleanedMessageParts.push(messagePart);\n }\n const messageId = metadata.customId || computeMsgId(messageString, metadata.meaning || '');\n const legacyIds = metadata.legacyIds ? metadata.legacyIds.filter((id) => id !== messageId) : [];\n return {\n id: messageId,\n legacyIds,\n substitutions,\n substitutionLocations,\n text: messageString,\n customId: metadata.customId,\n meaning: metadata.meaning || '',\n description: metadata.description || '',\n messageParts: cleanedMessageParts,\n messagePartLocations,\n placeholderNames,\n associatedMessageIds,\n location,\n };\n}\n\n/**\n * Parse the given message part (`cooked` + `raw`) to extract the message metadata from the text.\n *\n * If the message part has a metadata block this function will extract the `meaning`,\n * `description`, `customId` and `legacyId` (if provided) from the block. These metadata properties\n * are serialized in the string delimited by `|`, `@@` and `␟` respectively.\n *\n * (Note that `␟` is the `LEGACY_ID_INDICATOR` - see `constants.ts`.)\n *\n * For example:\n *\n * ```ts\n * `:meaning|description@@custom-id:`\n * `:meaning|@@custom-id:`\n * `:meaning|description:`\n * `:description@@custom-id:`\n * `:meaning|:`\n * `:description:`\n * `:@@custom-id:`\n * `:meaning|description@@custom-id␟legacy-id-1␟legacy-id-2:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing any metadata that was parsed from the message part.\n */\nexport function parseMetadata(cooked: string, raw: string): MessageMetadata {\n const {text: messageString, block} = splitBlock(cooked, raw);\n if (block === undefined) {\n return {text: messageString};\n } else {\n const [meaningDescAndId, ...legacyIds] = block.split(LEGACY_ID_INDICATOR);\n const [meaningAndDesc, customId] = meaningDescAndId.split(ID_SEPARATOR, 2);\n let [meaning, description]: (string | undefined)[] = meaningAndDesc.split(MEANING_SEPARATOR, 2);\n if (description === undefined) {\n description = meaning;\n meaning = undefined;\n }\n if (description === '') {\n description = undefined;\n }\n return {text: messageString, meaning, description, customId, legacyIds};\n }\n}\n\n/**\n * Parse the given message part (`cooked` + `raw`) to extract any placeholder metadata from the\n * text.\n *\n * If the message part has a metadata block this function will extract the `placeholderName` and\n * `associatedMessageId` (if provided) from the block.\n *\n * These metadata properties are serialized in the string delimited by `@@`.\n *\n * For example:\n *\n * ```ts\n * `:placeholder-name@@associated-id:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing the metadata (`placeholderName` and `associatedMessageId`) of the\n * preceding placeholder, along with the static text that follows.\n */\nexport function parsePlaceholder(\n cooked: string,\n raw: string,\n): {messagePart: string; placeholderName?: string; associatedMessageId?: string} {\n const {text: messagePart, block} = splitBlock(cooked, raw);\n if (block === undefined) {\n return {messagePart};\n } else {\n const [placeholderName, associatedMessageId] = block.split(ID_SEPARATOR);\n return {messagePart, placeholderName, associatedMessageId};\n }\n}\n\n/**\n * Split a message part (`cooked` + `raw`) into an optional delimited \"block\" off the front and the\n * rest of the text of the message part.\n *\n * Blocks appear at the start of message parts. They are delimited by a colon `:` character at the\n * start and end of the block.\n *\n * If the block is in the first message part then it will be metadata about the whole message:\n * meaning, description, id. Otherwise it will be metadata about the immediately preceding\n * substitution: placeholder name.\n *\n * Since blocks are optional, it is possible that the content of a message block actually starts\n * with a block marker. In this case the marker must be escaped `\\:`.\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns An object containing the `text` of the message part and the text of the `block`, if it\n * exists.\n * @throws an error if the `block` is unterminated\n */\nexport function splitBlock(cooked: string, raw: string): {text: string; block?: string} {\n if (raw.charAt(0) !== BLOCK_MARKER) {\n return {text: cooked};\n } else {\n const endOfBlock = findEndOfBlock(cooked, raw);\n return {\n block: cooked.substring(1, endOfBlock),\n text: cooked.substring(endOfBlock + 1),\n };\n }\n}\n\nfunction computePlaceholderName(index: number) {\n return index === 1 ? 'PH' : `PH_${index - 1}`;\n}\n\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nexport function findEndOfBlock(cooked: string, raw: string): number {\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n } else if (cooked[cookedIndex] === BLOCK_MARKER) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {findEndOfBlock} from '../../utils';\n\n/** @nodoc */\nexport interface LocalizeFn {\n (messageParts: TemplateStringsArray, ...expressions: readonly any[]): string;\n\n /**\n * A function that converts an input \"message with expressions\" into a translated \"message with\n * expressions\".\n *\n * The conversion may be done in place, modifying the array passed to the function, so\n * don't assume that this has no side-effects.\n *\n * The expressions must be passed in since it might be they need to be reordered for\n * different translations.\n */\n translate?: TranslateFn;\n /**\n * The current locale of the translated messages.\n *\n * The compile-time translation inliner is able to replace the following code:\n *\n * ```ts\n * typeof $localize !== \"undefined\" && $localize.locale\n * ```\n *\n * with a string literal of the current locale. E.g.\n *\n * ```\n * \"fr\"\n * ```\n */\n locale?: string;\n}\n\n/** @nodoc */\nexport interface TranslateFn {\n (\n messageParts: TemplateStringsArray,\n expressions: readonly any[],\n ): [TemplateStringsArray, readonly any[]];\n}\n\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular i18n guide](guide/i18n/prepare#mark-text-in-component-template).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n *\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n *\n * @publicApi\n */\nexport const $localize: LocalizeFn = function (\n messageParts: TemplateStringsArray,\n ...expressions: readonly any[]\n) {\n if ($localize.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\n\nconst BLOCK_MARKER = ':';\n\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart: string, rawMessagePart: string) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER\n ? messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1)\n : messagePart;\n}\n"],"names":["BLOCK_MARKER"],"mappings":"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"}
1
+ {"version":3,"file":"localize-CajB9YLv.mjs","sources":["../../../../../../packages/localize/src/utils/src/constants.ts","../../../../../../packages/compiler/src/i18n/digest.ts","../../../../../../packages/localize/src/utils/src/messages.ts","../../../../../../packages/localize/src/localize/src/localize.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/**\n * The character used to mark the start and end of a \"block\" in a `$localize` tagged string.\n * A block can indicate metadata about the message or specify a name of a placeholder for a\n * substitution expressions.\n *\n * For example:\n *\n * ```ts\n * $localize`Hello, ${title}:title:!`;\n * $localize`:meaning|description@@id:source message text`;\n * ```\n */\nexport const BLOCK_MARKER = ':';\n\n/**\n * The marker used to separate a message's \"meaning\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:correct|Indicates that the user got the answer correct: Right!`;\n * $localize `:movement|Button label for moving to the right: Right!`;\n * ```\n */\nexport const MEANING_SEPARATOR = '|';\n\n/**\n * The marker used to separate a message's custom \"id\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:A welcome message on the home page@@myApp-homepage-welcome: Welcome!`;\n * ```\n */\nexport const ID_SEPARATOR = '@@';\n\n/**\n * The marker used to separate legacy message ids from the rest of a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:@@custom-id␟2df64767cd895a8fabe3e18b94b5b6b6f9e2e3f0: Welcome!`;\n * ```\n *\n * Note that this character is the \"symbol for the unit separator\" (␟) not the \"unit separator\n * character\" itself, since that has no visual representation. See https://graphemica.com/%E2%90%9F.\n *\n * Here is some background for the original \"unit separator character\":\n * https://stackoverflow.com/questions/8695118/whats-the-file-group-record-unit-separator-control-characters-and-its-usage\n */\nexport const LEGACY_ID_INDICATOR = '\\u241F';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Byte} from '../util';\n\nimport * as i18n from './i18n_ast';\n\n/**\n * A lazily created TextEncoder instance for converting strings into UTF-8 bytes\n */\nlet textEncoder: TextEncoder | undefined;\n\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nexport function digest(message: i18n.Message): string {\n return message.id || computeDigest(message);\n}\n\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nexport function computeDigest(message: i18n.Message): string {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nexport function decimalDigest(message: i18n.Message): string {\n return message.id || computeDecimalDigest(message);\n}\n\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nexport function computeDecimalDigest(message: i18n.Message): string {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map((a) => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor implements i18n.Visitor {\n visitText(text: i18n.Text, context: any): any {\n return text.value;\n }\n\n visitContainer(container: i18n.Container, context: any): any {\n return `[${container.children.map((child) => child.visit(this)).join(', ')}]`;\n }\n\n visitIcu(icu: i18n.Icu, context: any): any {\n const strCases = Object.keys(icu.cases).map(\n (k: string) => `${k} {${icu.cases[k].visit(this)}}`,\n );\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n\n visitTagPlaceholder(ph: i18n.TagPlaceholder, context: any): any {\n return ph.isVoid\n ? `<ph tag name=\"${ph.startName}\"/>`\n : `<ph tag name=\"${ph.startName}\">${ph.children\n .map((child) => child.visit(this))\n .join(', ')}</ph name=\"${ph.closeName}\">`;\n }\n\n visitPlaceholder(ph: i18n.Placeholder, context: any): any {\n return ph.value ? `<ph name=\"${ph.name}\">${ph.value}</ph>` : `<ph name=\"${ph.name}\"/>`;\n }\n\n visitIcuPlaceholder(ph: i18n.IcuPlaceholder, context?: any): any {\n return `<ph icu name=\"${ph.name}\">${ph.value.visit(this)}</ph>`;\n }\n\n visitBlockPlaceholder(ph: i18n.BlockPlaceholder, context: any): any {\n return `<ph block name=\"${ph.startName}\">${ph.children\n .map((child) => child.visit(this))\n .join(', ')}</ph name=\"${ph.closeName}\">`;\n }\n}\n\nconst serializerVisitor = new _SerializerVisitor();\n\nexport function serializeNodes(nodes: i18n.Node[]): string[] {\n return nodes.map((a) => a.visit(serializerVisitor, null));\n}\n\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n override visitIcu(icu: i18n.Icu): string {\n let strCases = Object.keys(icu.cases).map((k: string) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nexport function sha1(str: string): string {\n textEncoder ??= new TextEncoder();\n const utf8 = [...textEncoder.encode(str)];\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n\n const w = new Uint32Array(80);\n let a = 0x67452301,\n b = 0xefcdab89,\n c = 0x98badcfe,\n d = 0x10325476,\n e = 0xc3d2e1f0;\n\n words32[len >> 5] |= 0x80 << (24 - (len % 32));\n words32[(((len + 64) >> 9) << 4) + 15] = len;\n\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a,\n h1 = b,\n h2 = c,\n h3 = d,\n h4 = e;\n\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n } else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n\n // Convert the output parts to a 160-bit hexadecimal string\n return toHexU32(a) + toHexU32(b) + toHexU32(c) + toHexU32(d) + toHexU32(e);\n}\n\n/**\n * Convert and format a number as a string representing a 32-bit unsigned hexadecimal number.\n * @param value The value to format as a string.\n * @returns A hexadecimal string representing the value.\n */\nfunction toHexU32(value: number): string {\n // unsigned right shift of zero ensures an unsigned 32-bit number\n return (value >>> 0).toString(16).padStart(8, '0');\n}\n\nfunction fk(index: number, b: number, c: number, d: number): [number, number] {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n\n return [b ^ c ^ d, 0xca62c1d6];\n}\n\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nexport function fingerprint(str: string): bigint {\n textEncoder ??= new TextEncoder();\n const utf8 = textEncoder.encode(str);\n const view = new DataView(utf8.buffer, utf8.byteOffset, utf8.byteLength);\n\n let hi = hash32(view, utf8.length, 0);\n let lo = hash32(view, utf8.length, 102072);\n\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n\n return (BigInt.asUintN(32, BigInt(hi)) << BigInt(32)) | BigInt.asUintN(32, BigInt(lo));\n}\n\nexport function computeMsgId(msg: string, meaning: string = ''): string {\n let msgFingerprint = fingerprint(msg);\n\n if (meaning) {\n // Rotate the 64-bit message fingerprint one bit to the left and then add the meaning\n // fingerprint.\n msgFingerprint =\n BigInt.asUintN(64, msgFingerprint << BigInt(1)) |\n ((msgFingerprint >> BigInt(63)) & BigInt(1));\n msgFingerprint += fingerprint(meaning);\n }\n\n return BigInt.asUintN(63, msgFingerprint).toString();\n}\n\nfunction hash32(view: DataView, length: number, c: number): number {\n let a = 0x9e3779b9,\n b = 0x9e3779b9;\n let index = 0;\n\n const end = length - 12;\n for (; index <= end; index += 12) {\n a += view.getUint32(index, true);\n b += view.getUint32(index + 4, true);\n c += view.getUint32(index + 8, true);\n const res = mix(a, b, c);\n (a = res[0]), (b = res[1]), (c = res[2]);\n }\n\n const remainder = length - index;\n\n // the first byte of c is reserved for the length\n c += length;\n\n if (remainder >= 4) {\n a += view.getUint32(index, true);\n index += 4;\n\n if (remainder >= 8) {\n b += view.getUint32(index, true);\n index += 4;\n\n // Partial 32-bit word for c\n if (remainder >= 9) {\n c += view.getUint8(index++) << 8;\n }\n if (remainder >= 10) {\n c += view.getUint8(index++) << 16;\n }\n if (remainder === 11) {\n c += view.getUint8(index++) << 24;\n }\n } else {\n // Partial 32-bit word for b\n if (remainder >= 5) {\n b += view.getUint8(index++);\n }\n if (remainder >= 6) {\n b += view.getUint8(index++) << 8;\n }\n if (remainder === 7) {\n b += view.getUint8(index++) << 16;\n }\n }\n } else {\n // Partial 32-bit word for a\n if (remainder >= 1) {\n a += view.getUint8(index++);\n }\n if (remainder >= 2) {\n a += view.getUint8(index++) << 8;\n }\n if (remainder === 3) {\n a += view.getUint8(index++) << 16;\n }\n }\n\n return mix(a, b, c)[2];\n}\n\nfunction mix(a: number, b: number, c: number): [number, number, number] {\n a -= b;\n a -= c;\n a ^= c >>> 13;\n b -= c;\n b -= a;\n b ^= a << 8;\n c -= a;\n c -= b;\n c ^= b >>> 13;\n a -= b;\n a -= c;\n a ^= c >>> 12;\n b -= c;\n b -= a;\n b ^= a << 16;\n c -= a;\n c -= b;\n c ^= b >>> 5;\n a -= b;\n a -= c;\n a ^= c >>> 3;\n b -= c;\n b -= a;\n b ^= a << 10;\n c -= a;\n c -= b;\n c ^= b >>> 15;\n return [a, b, c];\n}\n\n// Utils\n\nenum Endian {\n Little,\n Big,\n}\n\nfunction add32(a: number, b: number): number {\n return add32to64(a, b)[1];\n}\n\nfunction add32to64(a: number, b: number): [number, number] {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\n\n// Rotate a 32b number left `count` position\nfunction rol32(a: number, count: number): number {\n return (a << count) | (a >>> (32 - count));\n}\n\nfunction bytesToWords32(bytes: Byte[], endian: Endian): number[] {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n\n return words32;\n}\n\nfunction byteAt(bytes: Byte[], index: number): Byte {\n return index >= bytes.length ? 0 : bytes[index];\n}\n\nfunction wordAt(bytes: Byte[], index: number, endian: Endian): number {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n } else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (8 * i);\n }\n }\n return word;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// This module specifier is intentionally a relative path to allow bundling the code directly\n// into the package.\n// @ng_package: ignore-cross-repo-import\nimport {computeMsgId} from '../../../../compiler/src/i18n/digest';\n\nimport {BLOCK_MARKER, ID_SEPARATOR, LEGACY_ID_INDICATOR, MEANING_SEPARATOR} from './constants';\n\n/**\n * Re-export this helper function so that users of `@angular/localize` don't need to actively import\n * from `@angular/compiler`.\n */\nexport {computeMsgId};\n\n/**\n * A string containing a translation source message.\n *\n * I.E. the message that indicates what will be translated from.\n *\n * Uses `{$placeholder-name}` to indicate a placeholder.\n */\nexport type SourceMessage = string;\n\n/**\n * A string containing a translation target message.\n *\n * I.E. the message that indicates what will be translated to.\n *\n * Uses `{$placeholder-name}` to indicate a placeholder.\n *\n * @publicApi\n */\nexport type TargetMessage = string;\n\n/**\n * A string that uniquely identifies a message, to be used for matching translations.\n *\n * @publicApi\n */\nexport type MessageId = string;\n\n/**\n * Declares a copy of the `AbsoluteFsPath` branded type in `@angular/compiler-cli` to avoid an\n * import into `@angular/compiler-cli`. The compiler-cli's declaration files are not necessarily\n * compatible with web environments that use `@angular/localize`, and would inadvertently include\n * `typescript` declaration files in any compilation unit that uses `@angular/localize` (which\n * increases parsing time and memory usage during builds) using a default import that only\n * type-checks when `allowSyntheticDefaultImports` is enabled.\n *\n * @see https://github.com/angular/angular/issues/45179\n */\ntype AbsoluteFsPathLocalizeCopy = string & {_brand: 'AbsoluteFsPath'};\n\n/**\n * The location of the message in the source file.\n *\n * The `line` and `column` values for the `start` and `end` properties are zero-based.\n */\nexport interface SourceLocation {\n start: {line: number; column: number};\n end: {line: number; column: number};\n file: AbsoluteFsPathLocalizeCopy;\n text?: string;\n}\n\n/**\n * Additional information that can be associated with a message.\n */\nexport interface MessageMetadata {\n /**\n * A human readable rendering of the message\n */\n text: string;\n /**\n * Legacy message ids, if provided.\n *\n * In legacy message formats the message id can only be computed directly from the original\n * template source.\n *\n * Since this information is not available in `$localize` calls, the legacy message ids may be\n * attached by the compiler to the `$localize` metablock so it can be used if needed at the point\n * of translation if the translations are encoded using the legacy message id.\n */\n legacyIds?: string[];\n /**\n * The id of the `message` if a custom one was specified explicitly.\n *\n * This id overrides any computed or legacy ids.\n */\n customId?: string;\n /**\n * The meaning of the `message`, used to distinguish identical `messageString`s.\n */\n meaning?: string;\n /**\n * The description of the `message`, used to aid translation.\n */\n description?: string;\n /**\n * The location of the message in the source.\n */\n location?: SourceLocation;\n}\n\n/**\n * Information parsed from a `$localize` tagged string that is used to translate it.\n *\n * For example:\n *\n * ```ts\n * const name = 'Jo Bloggs';\n * $localize`Hello ${name}:title@@ID:!`;\n * ```\n *\n * May be parsed into:\n *\n * ```ts\n * {\n * id: '6998194507597730591',\n * substitutions: { title: 'Jo Bloggs' },\n * messageString: 'Hello {$title}!',\n * placeholderNames: ['title'],\n * associatedMessageIds: { title: 'ID' },\n * }\n * ```\n */\nexport interface ParsedMessage extends MessageMetadata {\n /**\n * The key used to look up the appropriate translation target.\n */\n id: MessageId;\n /**\n * A mapping of placeholder names to substitution values.\n */\n substitutions: Record<string, any>;\n /**\n * An optional mapping of placeholder names to associated MessageIds.\n * This can be used to match ICU placeholders to the message that contains the ICU.\n */\n associatedMessageIds?: Record<string, MessageId>;\n /**\n * An optional mapping of placeholder names to source locations\n */\n substitutionLocations?: Record<string, SourceLocation | undefined>;\n /**\n * The static parts of the message.\n */\n messageParts: string[];\n /**\n * An optional mapping of message parts to source locations\n */\n messagePartLocations?: (SourceLocation | undefined)[];\n /**\n * The names of the placeholders that will be replaced with substitutions.\n */\n placeholderNames: string[];\n}\n\n/**\n * Parse a `$localize` tagged string into a structure that can be used for translation or\n * extraction.\n *\n * See `ParsedMessage` for an example.\n */\nexport function parseMessage(\n messageParts: TemplateStringsArray,\n expressions?: readonly any[],\n location?: SourceLocation,\n messagePartLocations?: (SourceLocation | undefined)[],\n expressionLocations: (SourceLocation | undefined)[] = [],\n): ParsedMessage {\n const substitutions: {[placeholderName: string]: any} = {};\n const substitutionLocations: {[placeholderName: string]: SourceLocation | undefined} = {};\n const associatedMessageIds: {[placeholderName: string]: MessageId} = {};\n const metadata = parseMetadata(messageParts[0], messageParts.raw[0]);\n const cleanedMessageParts: string[] = [metadata.text];\n const placeholderNames: string[] = [];\n let messageString = metadata.text;\n for (let i = 1; i < messageParts.length; i++) {\n const {\n messagePart,\n placeholderName = computePlaceholderName(i),\n associatedMessageId,\n } = parsePlaceholder(messageParts[i], messageParts.raw[i]);\n messageString += `{$${placeholderName}}${messagePart}`;\n if (expressions !== undefined) {\n substitutions[placeholderName] = expressions[i - 1];\n substitutionLocations[placeholderName] = expressionLocations[i - 1];\n }\n placeholderNames.push(placeholderName);\n if (associatedMessageId !== undefined) {\n associatedMessageIds[placeholderName] = associatedMessageId;\n }\n cleanedMessageParts.push(messagePart);\n }\n const messageId = metadata.customId || computeMsgId(messageString, metadata.meaning || '');\n const legacyIds = metadata.legacyIds ? metadata.legacyIds.filter((id) => id !== messageId) : [];\n return {\n id: messageId,\n legacyIds,\n substitutions,\n substitutionLocations,\n text: messageString,\n customId: metadata.customId,\n meaning: metadata.meaning || '',\n description: metadata.description || '',\n messageParts: cleanedMessageParts,\n messagePartLocations,\n placeholderNames,\n associatedMessageIds,\n location,\n };\n}\n\n/**\n * Parse the given message part (`cooked` + `raw`) to extract the message metadata from the text.\n *\n * If the message part has a metadata block this function will extract the `meaning`,\n * `description`, `customId` and `legacyId` (if provided) from the block. These metadata properties\n * are serialized in the string delimited by `|`, `@@` and `␟` respectively.\n *\n * (Note that `␟` is the `LEGACY_ID_INDICATOR` - see `constants.ts`.)\n *\n * For example:\n *\n * ```ts\n * `:meaning|description@@custom-id:`\n * `:meaning|@@custom-id:`\n * `:meaning|description:`\n * `:description@@custom-id:`\n * `:meaning|:`\n * `:description:`\n * `:@@custom-id:`\n * `:meaning|description@@custom-id␟legacy-id-1␟legacy-id-2:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing any metadata that was parsed from the message part.\n */\nexport function parseMetadata(cooked: string, raw: string): MessageMetadata {\n const {text: messageString, block} = splitBlock(cooked, raw);\n if (block === undefined) {\n return {text: messageString};\n } else {\n const [meaningDescAndId, ...legacyIds] = block.split(LEGACY_ID_INDICATOR);\n const [meaningAndDesc, customId] = meaningDescAndId.split(ID_SEPARATOR, 2);\n let [meaning, description]: (string | undefined)[] = meaningAndDesc.split(MEANING_SEPARATOR, 2);\n if (description === undefined) {\n description = meaning;\n meaning = undefined;\n }\n if (description === '') {\n description = undefined;\n }\n return {text: messageString, meaning, description, customId, legacyIds};\n }\n}\n\n/**\n * Parse the given message part (`cooked` + `raw`) to extract any placeholder metadata from the\n * text.\n *\n * If the message part has a metadata block this function will extract the `placeholderName` and\n * `associatedMessageId` (if provided) from the block.\n *\n * These metadata properties are serialized in the string delimited by `@@`.\n *\n * For example:\n *\n * ```ts\n * `:placeholder-name@@associated-id:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing the metadata (`placeholderName` and `associatedMessageId`) of the\n * preceding placeholder, along with the static text that follows.\n */\nexport function parsePlaceholder(\n cooked: string,\n raw: string,\n): {messagePart: string; placeholderName?: string; associatedMessageId?: string} {\n const {text: messagePart, block} = splitBlock(cooked, raw);\n if (block === undefined) {\n return {messagePart};\n } else {\n const [placeholderName, associatedMessageId] = block.split(ID_SEPARATOR);\n return {messagePart, placeholderName, associatedMessageId};\n }\n}\n\n/**\n * Split a message part (`cooked` + `raw`) into an optional delimited \"block\" off the front and the\n * rest of the text of the message part.\n *\n * Blocks appear at the start of message parts. They are delimited by a colon `:` character at the\n * start and end of the block.\n *\n * If the block is in the first message part then it will be metadata about the whole message:\n * meaning, description, id. Otherwise it will be metadata about the immediately preceding\n * substitution: placeholder name.\n *\n * Since blocks are optional, it is possible that the content of a message block actually starts\n * with a block marker. In this case the marker must be escaped `\\:`.\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns An object containing the `text` of the message part and the text of the `block`, if it\n * exists.\n * @throws an error if the `block` is unterminated\n */\nexport function splitBlock(cooked: string, raw: string): {text: string; block?: string} {\n if (raw.charAt(0) !== BLOCK_MARKER) {\n return {text: cooked};\n } else {\n const endOfBlock = findEndOfBlock(cooked, raw);\n return {\n block: cooked.substring(1, endOfBlock),\n text: cooked.substring(endOfBlock + 1),\n };\n }\n}\n\nfunction computePlaceholderName(index: number) {\n return index === 1 ? 'PH' : `PH_${index - 1}`;\n}\n\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nexport function findEndOfBlock(cooked: string, raw: string): number {\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n } else if (cooked[cookedIndex] === BLOCK_MARKER) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {findEndOfBlock} from '../../utils';\n\n/** @nodoc */\nexport interface LocalizeFn {\n (messageParts: TemplateStringsArray, ...expressions: readonly any[]): string;\n\n /**\n * A function that converts an input \"message with expressions\" into a translated \"message with\n * expressions\".\n *\n * The conversion may be done in place, modifying the array passed to the function, so\n * don't assume that this has no side-effects.\n *\n * The expressions must be passed in since it might be they need to be reordered for\n * different translations.\n */\n translate?: TranslateFn;\n /**\n * The current locale of the translated messages.\n *\n * The compile-time translation inliner is able to replace the following code:\n *\n * ```ts\n * typeof $localize !== \"undefined\" && $localize.locale\n * ```\n *\n * with a string literal of the current locale. E.g.\n *\n * ```\n * \"fr\"\n * ```\n */\n locale?: string;\n}\n\n/** @nodoc */\nexport interface TranslateFn {\n (\n messageParts: TemplateStringsArray,\n expressions: readonly any[],\n ): [TemplateStringsArray, readonly any[]];\n}\n\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular i18n guide](guide/i18n/prepare#mark-text-in-component-template).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n *\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n *\n * @publicApi\n */\nexport const $localize: LocalizeFn = function (\n messageParts: TemplateStringsArray,\n ...expressions: readonly any[]\n) {\n if ($localize.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\n\nconst BLOCK_MARKER = ':';\n\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart: string, rawMessagePart: string) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER\n ? messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1)\n : messagePart;\n}\n"],"names":["BLOCK_MARKER"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v19.2.5
2
+ * @license Angular v19.2.6
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { B as BLOCK_MARKER, p as parseMessage } from './localize-DRpJxdeL.mjs';
8
- export { $ as ɵ$localize, c as ɵcomputeMsgId, f as ɵfindEndOfBlock, a as ɵparseMetadata, s as ɵsplitBlock } from './localize-DRpJxdeL.mjs';
7
+ import { BLOCK_MARKER, parseMessage } from './localize-CajB9YLv.mjs';
8
+ export { $localize as ɵ$localize, computeMsgId as ɵcomputeMsgId, findEndOfBlock as ɵfindEndOfBlock, parseMetadata as ɵparseMetadata, splitBlock as ɵsplitBlock } from './localize-CajB9YLv.mjs';
9
9
 
10
10
  class MissingTranslationError extends Error {
11
11
  parsedMessage;
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.5
2
+ * @license Angular v19.2.6
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/init/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.5
2
+ * @license Angular v19.2.6
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/localize",
3
- "version": "19.2.5",
3
+ "version": "19.2.6",
4
4
  "description": "Angular - library for localizing messages",
5
5
  "bin": {
6
6
  "localize-translate": "./tools/bundles/src/translate/cli.js",
@@ -67,8 +67,8 @@
67
67
  "yargs": "^17.2.1"
68
68
  },
69
69
  "peerDependencies": {
70
- "@angular/compiler": "19.2.5",
71
- "@angular/compiler-cli": "19.2.5"
70
+ "@angular/compiler": "19.2.6",
71
+ "@angular/compiler-cli": "19.2.6"
72
72
  },
73
73
  "module": "./fesm2022/localize.mjs",
74
74
  "typings": "./index.d.ts",
@@ -36,7 +36,7 @@ var __async = (__this, __arguments, generator) => {
36
36
  });
37
37
  };
38
38
 
39
- // bazel-out/k8-fastbuild/bin/packages/localize/schematics/ng-add/index.mjs
39
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/schematics/ng-add/index.mjs
40
40
  var ng_add_exports = {};
41
41
  __export(ng_add_exports, {
42
42
  default: () => ng_add_default
@@ -147,7 +147,7 @@ function moveToDependencies(host) {
147
147
  return;
148
148
  }
149
149
  (0, import_dependencies.removePackageJsonDependency)(host, "@angular/localize");
150
- return (0, import_utility.addDependency)("@angular/localize", `~19.2.5`);
150
+ return (0, import_utility.addDependency)("@angular/localize", `~19.2.6`);
151
151
  }
152
152
  function ng_add_default(options) {
153
153
  const projectName = options.project;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../packages/localize/schematics/ng-add/index.ts"],
4
- "sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n *\n * @fileoverview Schematics for `ng add @angular/localize` schematic.\n */\n\nimport {chain, noop, Rule, SchematicsException, Tree} from '@angular-devkit/schematics';\nimport {\n AngularBuilder,\n addDependency,\n readWorkspace,\n updateWorkspace,\n} from '@schematics/angular/utility';\nimport {removePackageJsonDependency} from '@schematics/angular/utility/dependencies';\nimport {JSONFile, JSONPath} from '@schematics/angular/utility/json-file';\n\nimport {Schema} from './schema';\n\nconst localizeType = `@angular/localize`;\nconst localizePolyfill = '@angular/localize/init';\nconst localizeTripleSlashType = `/// <reference types=\"@angular/localize\" />`;\n\nfunction addPolyfillToConfig(projectName: string): Rule {\n return updateWorkspace((workspace) => {\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n const isLocalizePolyfill = (path: string) => path.startsWith('@angular/localize');\n\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.Browser:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n target.options ??= {};\n const value = target.options['polyfills'];\n if (typeof value === 'string') {\n if (!isLocalizePolyfill(value)) {\n target.options['polyfills'] = [value, localizePolyfill];\n }\n } else if (Array.isArray(value)) {\n if (!(value as string[]).some(isLocalizePolyfill)) {\n value.push(localizePolyfill);\n }\n } else {\n target.options['polyfills'] = [localizePolyfill];\n }\n\n break;\n }\n }\n });\n}\n\nfunction addTypeScriptConfigTypes(projectName: string): Rule {\n return async (host: Tree) => {\n const workspace = await readWorkspace(host);\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n // We add the root workspace tsconfig for better IDE support.\n const tsConfigFiles = new Set<string>();\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Browser:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n const value = target.options?.['tsConfig'];\n if (typeof value === 'string') {\n tsConfigFiles.add(value);\n }\n\n break;\n }\n\n if (\n target.builder === AngularBuilder.Browser ||\n target.builder === AngularBuilder.BrowserEsbuild\n ) {\n const value = target.options?.['main'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n } else if (target.builder === AngularBuilder.Application) {\n const value = target.options?.['browser'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n }\n }\n\n const typesJsonPath: JSONPath = ['compilerOptions', 'types'];\n for (const path of tsConfigFiles) {\n if (!host.exists(path)) {\n continue;\n }\n\n const json = new JSONFile(host, path);\n const types = json.get(typesJsonPath) ?? [];\n if (!Array.isArray(types)) {\n throw new SchematicsException(\n `TypeScript configuration file '${path}' has an invalid 'types' property. It must be an array.`,\n );\n }\n\n const hasLocalizeType = types.some(\n (t) => t === localizeType || t === '@angular/localize/init',\n );\n if (hasLocalizeType) {\n // Skip has already localize type.\n continue;\n }\n\n json.modify(typesJsonPath, [...types, localizeType]);\n }\n };\n}\n\nfunction addTripleSlashType(host: Tree, path: string): void {\n const content = host.readText(path);\n if (!content.includes(localizeTripleSlashType)) {\n host.overwrite(path, localizeTripleSlashType + '\\n\\n' + content);\n }\n}\n\nfunction moveToDependencies(host: Tree): Rule | void {\n if (!host.exists('package.json')) {\n return;\n }\n\n // Remove the previous dependency and add in a new one under the desired type.\n removePackageJsonDependency(host, '@angular/localize');\n\n return addDependency('@angular/localize', `~19.2.5`);\n}\n\nexport default function (options: Schema): Rule {\n const projectName = options.project;\n\n if (!projectName) {\n throw new SchematicsException('Option \"project\" is required.');\n }\n\n return chain([\n addTypeScriptConfigTypes(projectName),\n addPolyfillToConfig(projectName),\n // If `$localize` will be used at runtime then must install `@angular/localize`\n // into `dependencies`, rather than the default of `devDependencies`.\n options.useAtRuntime ? moveToDependencies : noop(),\n ]);\n}\n"],
4
+ "sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n *\n * @fileoverview Schematics for `ng add @angular/localize` schematic.\n */\n\nimport {chain, noop, Rule, SchematicsException, Tree} from '@angular-devkit/schematics';\nimport {\n AngularBuilder,\n addDependency,\n readWorkspace,\n updateWorkspace,\n} from '@schematics/angular/utility';\nimport {removePackageJsonDependency} from '@schematics/angular/utility/dependencies';\nimport {JSONFile, JSONPath} from '@schematics/angular/utility/json-file';\n\nimport {Schema} from './schema';\n\nconst localizeType = `@angular/localize`;\nconst localizePolyfill = '@angular/localize/init';\nconst localizeTripleSlashType = `/// <reference types=\"@angular/localize\" />`;\n\nfunction addPolyfillToConfig(projectName: string): Rule {\n return updateWorkspace((workspace) => {\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n const isLocalizePolyfill = (path: string) => path.startsWith('@angular/localize');\n\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.Browser:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n target.options ??= {};\n const value = target.options['polyfills'];\n if (typeof value === 'string') {\n if (!isLocalizePolyfill(value)) {\n target.options['polyfills'] = [value, localizePolyfill];\n }\n } else if (Array.isArray(value)) {\n if (!(value as string[]).some(isLocalizePolyfill)) {\n value.push(localizePolyfill);\n }\n } else {\n target.options['polyfills'] = [localizePolyfill];\n }\n\n break;\n }\n }\n });\n}\n\nfunction addTypeScriptConfigTypes(projectName: string): Rule {\n return async (host: Tree) => {\n const workspace = await readWorkspace(host);\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n // We add the root workspace tsconfig for better IDE support.\n const tsConfigFiles = new Set<string>();\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Browser:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n const value = target.options?.['tsConfig'];\n if (typeof value === 'string') {\n tsConfigFiles.add(value);\n }\n\n break;\n }\n\n if (\n target.builder === AngularBuilder.Browser ||\n target.builder === AngularBuilder.BrowserEsbuild\n ) {\n const value = target.options?.['main'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n } else if (target.builder === AngularBuilder.Application) {\n const value = target.options?.['browser'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n }\n }\n\n const typesJsonPath: JSONPath = ['compilerOptions', 'types'];\n for (const path of tsConfigFiles) {\n if (!host.exists(path)) {\n continue;\n }\n\n const json = new JSONFile(host, path);\n const types = json.get(typesJsonPath) ?? [];\n if (!Array.isArray(types)) {\n throw new SchematicsException(\n `TypeScript configuration file '${path}' has an invalid 'types' property. It must be an array.`,\n );\n }\n\n const hasLocalizeType = types.some(\n (t) => t === localizeType || t === '@angular/localize/init',\n );\n if (hasLocalizeType) {\n // Skip has already localize type.\n continue;\n }\n\n json.modify(typesJsonPath, [...types, localizeType]);\n }\n };\n}\n\nfunction addTripleSlashType(host: Tree, path: string): void {\n const content = host.readText(path);\n if (!content.includes(localizeTripleSlashType)) {\n host.overwrite(path, localizeTripleSlashType + '\\n\\n' + content);\n }\n}\n\nfunction moveToDependencies(host: Tree): Rule | void {\n if (!host.exists('package.json')) {\n return;\n }\n\n // Remove the previous dependency and add in a new one under the desired type.\n removePackageJsonDependency(host, '@angular/localize');\n\n return addDependency('@angular/localize', `~19.2.6`);\n}\n\nexport default function (options: Schema): Rule {\n const projectName = options.project;\n\n if (!projectName) {\n throw new SchematicsException('Option \"project\" is required.');\n }\n\n return chain([\n addTypeScriptConfigTypes(projectName),\n addPolyfillToConfig(projectName),\n // If `$localize` will be used at runtime then must install `@angular/localize`\n // into `dependencies`, rather than the default of `devDependencies`.\n options.useAtRuntime ? moveToDependencies : noop(),\n ]);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -14,9 +14,9 @@ import {
14
14
  unwrapMessagePartsFromLocalizeCall,
15
15
  unwrapMessagePartsFromTemplateLiteral,
16
16
  unwrapSubstitutionsFromLocalizeCall
17
- } from "./chunk-P4CADDBI.js";
17
+ } from "./chunk-KN2K4QZJ.js";
18
18
 
19
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs
19
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs
20
20
  import { getFileSystem } from "@angular/compiler-cli/private/localize";
21
21
  function makeEs2015TranslatePlugin(diagnostics, translations, { missingTranslation = "error", localizeName = "$localize" } = {}, fs = getFileSystem()) {
22
22
  return {
@@ -41,7 +41,7 @@ function makeEs2015TranslatePlugin(diagnostics, translations, { missingTranslati
41
41
  };
42
42
  }
43
43
 
44
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs
44
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs
45
45
  import { getFileSystem as getFileSystem2 } from "@angular/compiler-cli/private/localize";
46
46
  function makeEs5TranslatePlugin(diagnostics, translations, { missingTranslation = "error", localizeName = "$localize" } = {}, fs = getFileSystem2()) {
47
47
  return {
@@ -67,7 +67,7 @@ function makeEs5TranslatePlugin(diagnostics, translations, { missingTranslation
67
67
  };
68
68
  }
69
69
 
70
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs
70
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs
71
71
  import { types as t } from "@babel/core";
72
72
  function makeLocalePlugin(locale, { localizeName = "$localize" } = {}) {
73
73
  return {
@@ -107,7 +107,7 @@ function isLocalizeGuard(expression, localizeName) {
107
107
  return left.isUnaryExpression({ operator: "typeof" }) && isLocalize(left.get("argument"), localizeName) && right.isStringLiteral({ value: "undefined" }) || right.isUnaryExpression({ operator: "typeof" }) && isLocalize(right.get("argument"), localizeName) && left.isStringLiteral({ value: "undefined" });
108
108
  }
109
109
 
110
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs
110
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs
111
111
  var ArbTranslationParser = class {
112
112
  analyze(_filePath, contents) {
113
113
  const diagnostics = new Diagnostics();
@@ -145,7 +145,7 @@ var ArbTranslationParser = class {
145
145
  }
146
146
  };
147
147
 
148
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs
148
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs
149
149
  import { extname } from "path";
150
150
  var SimpleJsonTranslationParser = class {
151
151
  analyze(filePath, contents) {
@@ -189,10 +189,10 @@ var SimpleJsonTranslationParser = class {
189
189
  }
190
190
  };
191
191
 
192
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs
192
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs
193
193
  import { ParseErrorLevel as ParseErrorLevel3, visitAll as visitAll2 } from "@angular/compiler";
194
194
 
195
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs
195
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs
196
196
  var BaseVisitor = class {
197
197
  visitElement(_element, _context) {
198
198
  }
@@ -214,10 +214,10 @@ var BaseVisitor = class {
214
214
  }
215
215
  };
216
216
 
217
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs
217
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs
218
218
  import { Element as Element2, visitAll } from "@angular/compiler";
219
219
 
220
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs
220
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs
221
221
  import { ParseErrorLevel } from "@angular/compiler";
222
222
  var TranslationParseError = class extends Error {
223
223
  span;
@@ -242,7 +242,7 @@ At ${span.start}${span.details ? `, ${span.details}` : ""}:
242
242
  return msg;
243
243
  }
244
244
 
245
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs
245
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs
246
246
  import { Element, ParseError, ParseErrorLevel as ParseErrorLevel2, XmlParser } from "@angular/compiler";
247
247
  function getAttrOrThrow(element, attrName) {
248
248
  const attrValue = getAttribute(element, attrName);
@@ -318,7 +318,7 @@ function addErrorsToBundle(bundle, errors) {
318
318
  }
319
319
  }
320
320
 
321
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs
321
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs
322
322
  var MessageSerializer = class extends BaseVisitor {
323
323
  renderer;
324
324
  config;
@@ -382,7 +382,7 @@ var MessageSerializer = class extends BaseVisitor {
382
382
  }
383
383
  };
384
384
 
385
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs
385
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs
386
386
  var TargetMessageRenderer = class {
387
387
  current = { messageParts: [], placeholderNames: [], text: "" };
388
388
  icuDepth = 0;
@@ -437,7 +437,7 @@ var TargetMessageRenderer = class {
437
437
  }
438
438
  };
439
439
 
440
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs
440
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs
441
441
  function serializeTranslationMessage(element, config) {
442
442
  const { rootNodes, errors: parseErrors } = parseInnerRange(element);
443
443
  try {
@@ -449,7 +449,7 @@ function serializeTranslationMessage(element, config) {
449
449
  }
450
450
  }
451
451
 
452
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs
452
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs
453
453
  var Xliff1TranslationParser = class {
454
454
  analyze(filePath, contents) {
455
455
  return canParseXml(filePath, contents, "xliff", { version: "1.2" });
@@ -526,7 +526,7 @@ var XliffTranslationVisitor = class extends BaseVisitor {
526
526
  }
527
527
  };
528
528
 
529
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs
529
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs
530
530
  import { Element as Element3, ParseErrorLevel as ParseErrorLevel4, visitAll as visitAll3 } from "@angular/compiler";
531
531
  var Xliff2TranslationParser = class {
532
532
  analyze(filePath, contents) {
@@ -609,7 +609,7 @@ function isFileElement(node) {
609
609
  return node instanceof Element3 && node.name === "file";
610
610
  }
611
611
 
612
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs
612
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs
613
613
  import { ParseErrorLevel as ParseErrorLevel5, visitAll as visitAll4 } from "@angular/compiler";
614
614
  import { extname as extname2 } from "path";
615
615
  var XtbTranslationParser = class {
@@ -690,4 +690,4 @@ export {
690
690
  * Use of this source code is governed by an MIT-style license that can be
691
691
  * found in the LICENSE file at https://angular.dev/license
692
692
  */
693
- //# sourceMappingURL=chunk-24AH5IGH.js.map
693
+ //# sourceMappingURL=chunk-62EWRUGM.js.map
@@ -15,9 +15,9 @@ import {
15
15
  unwrapMessagePartsFromLocalizeCall,
16
16
  unwrapMessagePartsFromTemplateLiteral,
17
17
  unwrapSubstitutionsFromLocalizeCall
18
- } from "./chunk-P4CADDBI.js";
18
+ } from "./chunk-KN2K4QZJ.js";
19
19
 
20
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs
20
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs
21
21
  function checkDuplicateMessages(fs, messages, duplicateMessageHandling, basePath) {
22
22
  const diagnostics = new Diagnostics();
23
23
  if (duplicateMessageHandling === "ignore")
@@ -51,11 +51,11 @@ function serializeMessage(fs, basePath, message) {
51
51
  }
52
52
  }
53
53
 
54
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs
54
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs
55
55
  import { SourceFileLoader } from "@angular/compiler-cli/private/localize";
56
56
  import { transformSync } from "@babel/core";
57
57
 
58
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs
58
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs
59
59
  function makeEs2015ExtractPlugin(fs, messages, localizeName = "$localize") {
60
60
  return {
61
61
  visitor: {
@@ -74,7 +74,7 @@ function makeEs2015ExtractPlugin(fs, messages, localizeName = "$localize") {
74
74
  };
75
75
  }
76
76
 
77
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs
77
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs
78
78
  function makeEs5ExtractPlugin(fs, messages, localizeName = "$localize") {
79
79
  return {
80
80
  visitor: {
@@ -101,7 +101,7 @@ function makeEs5ExtractPlugin(fs, messages, localizeName = "$localize") {
101
101
  };
102
102
  }
103
103
 
104
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs
104
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs
105
105
  var MessageExtractor = class {
106
106
  fs;
107
107
  logger;
@@ -174,7 +174,7 @@ var MessageExtractor = class {
174
174
  }
175
175
  };
176
176
 
177
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs
177
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs
178
178
  function consolidateMessages(messages, getMessageId2) {
179
179
  const messageGroups = /* @__PURE__ */ new Map();
180
180
  for (const message of messages) {
@@ -215,7 +215,7 @@ function compareLocations({ location: location1 }, { location: location2 }) {
215
215
  return 0;
216
216
  }
217
217
 
218
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs
218
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs
219
219
  var ArbTranslationSerializer = class {
220
220
  sourceLocale;
221
221
  basePath;
@@ -279,7 +279,7 @@ function getMessageId(message) {
279
279
  return message.customId || message.id;
280
280
  }
281
281
 
282
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs
282
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs
283
283
  var SimpleJsonTranslationSerializer = class {
284
284
  sourceLocale;
285
285
  constructor(sourceLocale) {
@@ -294,7 +294,7 @@ var SimpleJsonTranslationSerializer = class {
294
294
  }
295
295
  };
296
296
 
297
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs
297
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs
298
298
  var LegacyMessageIdMigrationSerializer = class {
299
299
  _diagnostics;
300
300
  constructor(_diagnostics) {
@@ -324,7 +324,7 @@ function shouldMigrate(message) {
324
324
  return !message.customId && !!message.legacyIds && message.legacyIds.length > 0;
325
325
  }
326
326
 
327
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs
327
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs
328
328
  function validateOptions(name, validOptions, options) {
329
329
  const validOptionsMap = new Map(validOptions);
330
330
  for (const option in options) {
@@ -344,10 +344,10 @@ function parseFormatOptions(optionString = "{}") {
344
344
  return JSON.parse(optionString);
345
345
  }
346
346
 
347
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs
347
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs
348
348
  import { getFileSystem } from "@angular/compiler-cli/private/localize";
349
349
 
350
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs
350
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs
351
351
  function extractIcuPlaceholders(text) {
352
352
  const state = new StateStack();
353
353
  const pieces = new IcuPieces();
@@ -440,7 +440,7 @@ function assert(test, message) {
440
440
  }
441
441
  }
442
442
 
443
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs
443
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs
444
444
  var XmlFile = class {
445
445
  output = '<?xml version="1.0" encoding="UTF-8" ?>\n';
446
446
  indent = "";
@@ -520,7 +520,7 @@ function escapeXml(text) {
520
520
  return _ESCAPED_CHARS.reduce((text2, entry) => text2.replace(entry[0], entry[1]), text);
521
521
  }
522
522
 
523
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs
523
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs
524
524
  var LEGACY_XLIFF_MESSAGE_LENGTH = 40;
525
525
  var Xliff1TranslationSerializer = class {
526
526
  sourceLocale;
@@ -673,7 +673,7 @@ var TAG_MAP = {
673
673
  "UNORDERED_LIST": "ul"
674
674
  };
675
675
 
676
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs
676
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs
677
677
  import { getFileSystem as getFileSystem2 } from "@angular/compiler-cli/private/localize";
678
678
  var MAX_LEGACY_XLIFF_2_MESSAGE_LENGTH = 20;
679
679
  var Xliff2TranslationSerializer = class {
@@ -820,7 +820,7 @@ function getTypeForPlaceholder(placeholder) {
820
820
  }
821
821
  }
822
822
 
823
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs
823
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs
824
824
  import { getFileSystem as getFileSystem3 } from "@angular/compiler-cli/private/localize";
825
825
  var XMB_HANDLER = "angular";
826
826
  var XmbTranslationSerializer = class {
@@ -919,4 +919,4 @@ export {
919
919
  * Use of this source code is governed by an MIT-style license that can be
920
920
  * found in the LICENSE file at https://angular.dev/license
921
921
  */
922
- //# sourceMappingURL=chunk-LXW6G5EF.js.map
922
+ //# sourceMappingURL=chunk-GD7LT5WI.js.map
@@ -3,7 +3,7 @@
3
3
  const require = __cjsCompatRequire(import.meta.url);
4
4
 
5
5
 
6
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs
6
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs
7
7
  var Diagnostics = class {
8
8
  messages = [];
9
9
  get hasErrors() {
@@ -36,16 +36,16 @@ var Diagnostics = class {
36
36
  }
37
37
  };
38
38
 
39
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs
39
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs
40
40
  import { getFileSystem } from "@angular/compiler-cli/private/localize";
41
41
 
42
- // bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs
42
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs
43
43
  var BLOCK_MARKER = ":";
44
44
  var MEANING_SEPARATOR = "|";
45
45
  var ID_SEPARATOR = "@@";
46
46
  var LEGACY_ID_INDICATOR = "\u241F";
47
47
 
48
- // bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
48
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs
49
49
  var textEncoder;
50
50
  var _SerializerVisitor = class {
51
51
  visitText(text, context) {
@@ -180,7 +180,7 @@ var Endian;
180
180
  Endian2[Endian2["Big"] = 1] = "Big";
181
181
  })(Endian || (Endian = {}));
182
182
 
183
- // bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/messages.mjs
183
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/messages.mjs
184
184
  function parseMessage(messageParts, expressions, location, messagePartLocations, expressionLocations = []) {
185
185
  const substitutions = {};
186
186
  const substitutionLocations = {};
@@ -272,7 +272,7 @@ function findEndOfBlock(cooked, raw) {
272
272
  throw new Error(`Unterminated $localize metadata block in "${raw}".`);
273
273
  }
274
274
 
275
- // bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/translations.mjs
275
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/translations.mjs
276
276
  var MissingTranslationError = class extends Error {
277
277
  parsedMessage;
278
278
  type = "MissingTranslationError";
@@ -343,7 +343,7 @@ function describeMessage(message) {
343
343
  return `"${message.id}"${legacy} ("${message.text}"${meaningString})`;
344
344
  }
345
345
 
346
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs
346
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs
347
347
  import { types as t } from "@babel/core";
348
348
  function isLocalize(expression, localizeName) {
349
349
  return isNamedIdentifier(expression, localizeName) && isGlobalIdentifier(expression);
@@ -622,4 +622,4 @@ export {
622
622
  * Use of this source code is governed by an MIT-style license that can be
623
623
  * found in the LICENSE file at https://angular.dev/license
624
624
  */
625
- //# sourceMappingURL=chunk-P4CADDBI.js.map
625
+ //# sourceMappingURL=chunk-KN2K4QZJ.js.map
@@ -11,7 +11,7 @@ import {
11
11
  Xliff2TranslationSerializer,
12
12
  XmbTranslationSerializer,
13
13
  checkDuplicateMessages
14
- } from "./chunk-LXW6G5EF.js";
14
+ } from "./chunk-GD7LT5WI.js";
15
15
  import {
16
16
  ArbTranslationParser,
17
17
  SimpleJsonTranslationParser,
@@ -21,7 +21,7 @@ import {
21
21
  makeEs2015TranslatePlugin,
22
22
  makeEs5TranslatePlugin,
23
23
  makeLocalePlugin
24
- } from "./chunk-24AH5IGH.js";
24
+ } from "./chunk-62EWRUGM.js";
25
25
  import {
26
26
  Diagnostics,
27
27
  buildLocalizeReplacement,
@@ -31,9 +31,9 @@ import {
31
31
  unwrapMessagePartsFromLocalizeCall,
32
32
  unwrapMessagePartsFromTemplateLiteral,
33
33
  unwrapSubstitutionsFromLocalizeCall
34
- } from "./chunk-P4CADDBI.js";
34
+ } from "./chunk-KN2K4QZJ.js";
35
35
 
36
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/index.mjs
36
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/index.mjs
37
37
  import { NodeJSFileSystem, setFileSystem } from "@angular/compiler-cli/private/localize";
38
38
  setFileSystem(new NodeJSFileSystem());
39
39
  export {
@@ -13,15 +13,15 @@ import {
13
13
  XmbTranslationSerializer,
14
14
  checkDuplicateMessages,
15
15
  parseFormatOptions
16
- } from "../../chunk-LXW6G5EF.js";
17
- import "../../chunk-P4CADDBI.js";
16
+ } from "../../chunk-GD7LT5WI.js";
17
+ import "../../chunk-KN2K4QZJ.js";
18
18
 
19
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs
19
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs
20
20
  import { ConsoleLogger, LogLevel, NodeJSFileSystem, setFileSystem } from "@angular/compiler-cli/private/localize";
21
21
  import glob from "fast-glob";
22
22
  import yargs from "yargs";
23
23
 
24
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/index.mjs
24
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/index.mjs
25
25
  function extractTranslations({ rootPath: rootPath2, sourceFilePaths: sourceFilePaths2, sourceLocale, format: format2, outputPath: output, logger: logger2, useSourceMaps, useLegacyIds, duplicateMessageHandling: duplicateMessageHandling2, formatOptions: formatOptions2 = {}, fileSystem: fs }) {
26
26
  const basePath = fs.resolve(rootPath2);
27
27
  const extractor = new MessageExtractor(fs, logger2, { basePath, useSourceMaps });
@@ -64,7 +64,7 @@ function getSerializer(format2, sourceLocale, rootPath2, useLegacyIds, formatOpt
64
64
  throw new Error(`No translation serializer can handle the provided format: ${format2}`);
65
65
  }
66
66
 
67
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs
67
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs
68
68
  process.title = "Angular Localization Message Extractor (localize-extract)";
69
69
  var args = process.argv.slice(2);
70
70
  var options = yargs(args).option("l", {
@@ -4,15 +4,15 @@
4
4
  const require = __cjsCompatRequire(import.meta.url);
5
5
 
6
6
 
7
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs
7
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs
8
8
  import { ConsoleLogger, LogLevel, NodeJSFileSystem, setFileSystem } from "@angular/compiler-cli/private/localize";
9
9
  import glob from "fast-glob";
10
10
  import yargs from "yargs";
11
11
 
12
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs
12
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs
13
13
  import { getFileSystem } from "@angular/compiler-cli/private/localize";
14
14
 
15
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs
15
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs
16
16
  function migrateFile(sourceCode, mapping) {
17
17
  const legacyIds = Object.keys(mapping);
18
18
  for (const legacyId of legacyIds) {
@@ -26,7 +26,7 @@ function escapeRegExp(str) {
26
26
  return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
27
27
  }
28
28
 
29
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs
29
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs
30
30
  function migrateFiles({ rootPath: rootPath2, translationFilePaths: translationFilePaths2, mappingFilePath, logger: logger2 }) {
31
31
  const fs2 = getFileSystem();
32
32
  const absoluteMappingPath = fs2.resolve(rootPath2, mappingFilePath);
@@ -42,7 +42,7 @@ function migrateFiles({ rootPath: rootPath2, translationFilePaths: translationFi
42
42
  }
43
43
  }
44
44
 
45
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs
45
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs
46
46
  var args = process.argv.slice(2);
47
47
  var options = yargs(args).option("r", {
48
48
  alias: "root",
@@ -12,26 +12,26 @@ import {
12
12
  makeEs2015TranslatePlugin,
13
13
  makeEs5TranslatePlugin,
14
14
  makeLocalePlugin
15
- } from "../../chunk-24AH5IGH.js";
15
+ } from "../../chunk-62EWRUGM.js";
16
16
  import {
17
17
  Diagnostics
18
- } from "../../chunk-P4CADDBI.js";
18
+ } from "../../chunk-KN2K4QZJ.js";
19
19
 
20
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs
20
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs
21
21
  import { NodeJSFileSystem, setFileSystem } from "@angular/compiler-cli/private/localize";
22
22
  import glob from "fast-glob";
23
23
  import yargs from "yargs";
24
24
 
25
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs
25
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs
26
26
  function getOutputPathFn(fs2, outputFolder) {
27
27
  const [pre, post] = outputFolder.split("{{LOCALE}}");
28
28
  return post === void 0 ? (_locale, relativePath) => fs2.join(pre, relativePath) : (locale, relativePath) => fs2.join(pre + locale + post, relativePath);
29
29
  }
30
30
 
31
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/index.mjs
31
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/index.mjs
32
32
  import { getFileSystem, relativeFrom } from "@angular/compiler-cli/private/localize";
33
33
 
34
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs
34
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs
35
35
  import { absoluteFrom } from "@angular/compiler-cli/private/localize";
36
36
  var AssetTranslationHandler = class {
37
37
  fs;
@@ -60,7 +60,7 @@ var AssetTranslationHandler = class {
60
60
  }
61
61
  };
62
62
 
63
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs
63
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs
64
64
  import { absoluteFrom as absoluteFrom2 } from "@angular/compiler-cli/private/localize";
65
65
  import babel from "@babel/core";
66
66
  var SourceFileTranslationHandler = class {
@@ -134,7 +134,7 @@ var SourceFileTranslationHandler = class {
134
134
  }
135
135
  };
136
136
 
137
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs
137
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs
138
138
  var TranslationLoader = class {
139
139
  fs;
140
140
  translationParsers;
@@ -208,7 +208,7 @@ ${parser.constructor.name} cannot parse translation file.`));
208
208
  }
209
209
  };
210
210
 
211
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs
211
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs
212
212
  var Translator = class {
213
213
  fs;
214
214
  resourceHandlers;
@@ -233,7 +233,7 @@ var Translator = class {
233
233
  }
234
234
  };
235
235
 
236
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/index.mjs
236
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/index.mjs
237
237
  function translateFiles({ sourceRootPath: sourceRootPath2, sourceFilePaths: sourceFilePaths2, translationFilePaths: translationFilePaths2, translationFileLocales: translationFileLocales2, outputPathFn: outputPathFn2, diagnostics: diagnostics2, missingTranslation: missingTranslation2, duplicateTranslation: duplicateTranslation2, sourceLocale: sourceLocale2 }) {
238
238
  const fs2 = getFileSystem();
239
239
  const translationLoader = new TranslationLoader(fs2, [
@@ -250,7 +250,7 @@ function translateFiles({ sourceRootPath: sourceRootPath2, sourceFilePaths: sour
250
250
  resourceProcessor.translateFiles(sourceFilePaths2.map(relativeFrom), fs2.resolve(sourceRootPath2), outputPathFn2, translations, sourceLocale2);
251
251
  }
252
252
 
253
- // bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs
253
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs
254
254
  process.title = "Angular Localization Message Translator (localize-translate)";
255
255
  var args = process.argv.slice(2);
256
256
  var options = yargs(args).option("r", {
@@ -1 +1 @@
1
- {"inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs":{"bytes":5487,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs":{"bytes":5063,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs":{"bytes":39585,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/messages.mjs":{"bytes":29361,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/translations.mjs":{"bytes":16717,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/messages.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/index.mjs":{"bytes":1106,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/messages.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/translations.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/src/translate.mjs":{"bytes":9864,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/src/localize.mjs":{"bytes":15605,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/index.mjs":{"bytes":969,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/src/localize.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/private.mjs":{"bytes":3170,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs":{"bytes":6538,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/src/translate.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/private.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs":{"bytes":55430,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs":{"bytes":7134,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs":{"bytes":4859,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs":{"bytes":6796,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs":{"bytes":17025,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs":{"bytes":8548,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs":{"bytes":11157,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs":{"bytes":3416,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs":{"bytes":5501,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs":{"bytes":5303,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs":{"bytes":20409,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs":{"bytes":9426,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs":{"bytes":28749,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs":{"bytes":29162,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs":{"bytes":16683,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs":{"bytes":6878,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs":{"bytes":6429,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs":{"bytes":12213,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs":{"bytes":8499,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs":{"bytes":9650,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs":{"bytes":3040,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs":{"bytes":3578,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs":{"bytes":18776,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs":{"bytes":12450,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs":{"bytes":6752,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs":{"bytes":3745,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs":{"bytes":17758,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs":{"bytes":18161,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs":{"bytes":13770,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/index.mjs":{"bytes":7374,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/index.mjs":{"bytes":13032,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs":{"bytes":12725,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs":{"bytes":2981,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs":{"bytes":4946,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs":{"bytes":5431,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs":{"bytes":2961,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs":{"bytes":5701,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs":{"bytes":16017,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs":{"bytes":18620,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs":{"bytes":7928,"imports":[]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/index.mjs":{"bytes":11622,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs","kind":"import-statement"}]},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs":{"bytes":14939,"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/index.mjs","kind":"import-statement"}]}},"outputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":212},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/index.js":{"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-LXW6G5EF.js","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-24AH5IGH.js","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js","kind":"import-statement"}],"exports":["ArbTranslationParser","ArbTranslationSerializer","Diagnostics","LegacyMessageIdMigrationSerializer","MessageExtractor","SimpleJsonTranslationParser","SimpleJsonTranslationSerializer","Xliff1TranslationParser","Xliff1TranslationSerializer","Xliff2TranslationParser","Xliff2TranslationSerializer","XmbTranslationSerializer","XtbTranslationParser","buildLocalizeReplacement","checkDuplicateMessages","isGlobalIdentifier","makeEs2015TranslatePlugin","makeEs5TranslatePlugin","makeLocalePlugin","translate","unwrapExpressionsFromTemplateLiteral","unwrapMessagePartsFromLocalizeCall","unwrapMessagePartsFromTemplateLiteral","unwrapSubstitutionsFromLocalizeCall"],"entryPoint":"bazel-out/k8-fastbuild/bin/packages/localize/tools/index.mjs","inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/index.mjs":{"bytesInOutput":129}},"bytes":2049},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/extract/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2784},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/extract/cli.js":{"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-LXW6G5EF.js","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js","kind":"import-statement"}],"exports":[],"entryPoint":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs","inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs":{"bytesInOutput":3096},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/index.mjs":{"bytesInOutput":2103}},"bytes":6147},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-LXW6G5EF.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":19655},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-LXW6G5EF.js":{"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js","kind":"import-statement"}],"exports":["ArbTranslationSerializer","LegacyMessageIdMigrationSerializer","MessageExtractor","SimpleJsonTranslationSerializer","Xliff1TranslationSerializer","Xliff2TranslationSerializer","XmbTranslationSerializer","checkDuplicateMessages","parseFormatOptions"],"inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs":{"bytesInOutput":1244},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs":{"bytesInOutput":3187},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs":{"bytesInOutput":774},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs":{"bytesInOutput":1056},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs":{"bytesInOutput":1180},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs":{"bytesInOutput":1979},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs":{"bytesInOutput":428},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs":{"bytesInOutput":941},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs":{"bytesInOutput":760},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs":{"bytesInOutput":5407},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs":{"bytesInOutput":2210},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs":{"bytesInOutput":1934},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs":{"bytesInOutput":5627},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs":{"bytesInOutput":2873}},"bytes":32293},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/migrate/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1651},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/migrate/cli.js":{"imports":[],"exports":[],"entryPoint":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs","inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs":{"bytesInOutput":1163},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs":{"bytesInOutput":829},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs":{"bytesInOutput":405}},"bytes":3166},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/translate/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":8164},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/src/translate/cli.js":{"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-24AH5IGH.js","kind":"import-statement"},{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js","kind":"import-statement"}],"exports":[],"entryPoint":"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs","inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs":{"bytesInOutput":3511},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs":{"bytesInOutput":259},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/index.mjs":{"bytesInOutput":1411},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs":{"bytesInOutput":984},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs":{"bytesInOutput":3131},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs":{"bytesInOutput":3482},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs":{"bytesInOutput":925}},"bytes":15216},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-24AH5IGH.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":16588},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-24AH5IGH.js":{"imports":[{"path":"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js","kind":"import-statement"}],"exports":["ArbTranslationParser","SimpleJsonTranslationParser","Xliff1TranslationParser","Xliff2TranslationParser","XtbTranslationParser","makeEs2015TranslatePlugin","makeEs5TranslatePlugin","makeLocalePlugin"],"inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs":{"bytesInOutput":945},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs":{"bytesInOutput":1040},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs":{"bytesInOutput":1717},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs":{"bytesInOutput":1077},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs":{"bytesInOutput":1725},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs":{"bytesInOutput":3504},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs":{"bytesInOutput":421},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs":{"bytesInOutput":2418},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs":{"bytesInOutput":582},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs":{"bytesInOutput":3101},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs":{"bytesInOutput":1177},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs":{"bytesInOutput":428},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs":{"bytesInOutput":3581},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs":{"bytesInOutput":2509}},"bytes":27185},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":14060},"bazel-out/k8-fastbuild/bin/packages/localize/tools/bundles/chunk-P4CADDBI.js":{"imports":[],"exports":["Diagnostics","buildCodeFrameError","buildLocalizeReplacement","getLocation","isBabelParseError","isGlobalIdentifier","isLocalize","isNamedIdentifier","makeParsedTranslation","parseMessage","parseTranslation","serializeLocationPosition","translate","unwrapExpressionsFromTemplateLiteral","unwrapMessagePartsFromLocalizeCall","unwrapMessagePartsFromTemplateLiteral","unwrapSubstitutionsFromLocalizeCall"],"inputs":{"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs":{"bytesInOutput":877},"bazel-out/k8-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs":{"bytesInOutput":10098},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/constants.mjs":{"bytesInOutput":114},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/index.mjs":{"bytesInOutput":0},"bazel-out/k8-fastbuild/bin/packages/compiler/src/i18n/digest.mjs":{"bytesInOutput":3759},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/messages.mjs":{"bytesInOutput":3300},"bazel-out/k8-fastbuild/bin/packages/localize/src/utils/src/translations.mjs":{"bytesInOutput":2614},"bazel-out/k8-fastbuild/bin/packages/localize/index.mjs":{"bytesInOutput":0},"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/src/localize.mjs":{"bytesInOutput":0},"bazel-out/k8-fastbuild/bin/packages/localize/src/localize/index.mjs":{"bytesInOutput":0},"bazel-out/k8-fastbuild/bin/packages/localize/private.mjs":{"bytesInOutput":0}},"bytes":22124}}}
1
+ {"inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs":{"bytes":5487,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs":{"bytes":5063,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs":{"bytes":39585,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/messages.mjs":{"bytes":29361,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/translations.mjs":{"bytes":16717,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/messages.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/index.mjs":{"bytes":1106,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/messages.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/translations.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/translate.mjs":{"bytes":9864,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/src/localize.mjs":{"bytes":15605,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/index.mjs":{"bytes":969,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/src/localize.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/private.mjs":{"bytes":3170,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs":{"bytes":6538,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/translate.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/private.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs":{"bytes":55430,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs":{"bytes":7134,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs":{"bytes":4859,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs":{"bytes":6796,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs":{"bytes":17025,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs":{"bytes":8548,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs":{"bytes":11157,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs":{"bytes":3416,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs":{"bytes":5501,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs":{"bytes":5303,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs":{"bytes":20409,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs":{"bytes":9426,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs":{"bytes":28749,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs":{"bytes":29162,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs":{"bytes":16683,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs":{"bytes":6878,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs":{"bytes":6429,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs":{"bytes":12213,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs":{"bytes":8499,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs":{"bytes":9650,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs":{"bytes":3040,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs":{"bytes":3578,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs":{"bytes":18776,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs":{"bytes":12450,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs":{"bytes":6752,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs":{"bytes":3745,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs":{"bytes":17758,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs":{"bytes":18161,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs":{"bytes":13770,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/index.mjs":{"bytes":7374,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/index.mjs":{"bytes":13032,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs":{"bytes":12725,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs":{"bytes":2981,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs":{"bytes":4946,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs":{"bytes":5431,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs":{"bytes":2961,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs":{"bytes":5701,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs":{"bytes":16017,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs":{"bytes":18620,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs":{"bytes":7928,"imports":[]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/index.mjs":{"bytes":11622,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs","kind":"import-statement"}]},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs":{"bytes":14939,"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/index.mjs","kind":"import-statement"}]}},"outputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":212},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/index.js":{"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-GD7LT5WI.js","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-62EWRUGM.js","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js","kind":"import-statement"}],"exports":["ArbTranslationParser","ArbTranslationSerializer","Diagnostics","LegacyMessageIdMigrationSerializer","MessageExtractor","SimpleJsonTranslationParser","SimpleJsonTranslationSerializer","Xliff1TranslationParser","Xliff1TranslationSerializer","Xliff2TranslationParser","Xliff2TranslationSerializer","XmbTranslationSerializer","XtbTranslationParser","buildLocalizeReplacement","checkDuplicateMessages","isGlobalIdentifier","makeEs2015TranslatePlugin","makeEs5TranslatePlugin","makeLocalePlugin","translate","unwrapExpressionsFromTemplateLiteral","unwrapMessagePartsFromLocalizeCall","unwrapMessagePartsFromTemplateLiteral","unwrapSubstitutionsFromLocalizeCall"],"entryPoint":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/index.mjs","inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/index.mjs":{"bytesInOutput":129}},"bytes":2059},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/extract/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2784},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/extract/cli.js":{"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-GD7LT5WI.js","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js","kind":"import-statement"}],"exports":[],"entryPoint":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs","inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/cli.mjs":{"bytesInOutput":3096},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/index.mjs":{"bytesInOutput":2103}},"bytes":6177},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-GD7LT5WI.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":19655},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-GD7LT5WI.js":{"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js","kind":"import-statement"}],"exports":["ArbTranslationSerializer","LegacyMessageIdMigrationSerializer","MessageExtractor","SimpleJsonTranslationSerializer","Xliff1TranslationSerializer","Xliff2TranslationSerializer","XmbTranslationSerializer","checkDuplicateMessages","parseFormatOptions"],"inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/duplicates.mjs":{"bytesInOutput":1244},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/extraction.mjs":{"bytesInOutput":3187},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es2015_extract_plugin.mjs":{"bytesInOutput":774},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/source_files/es5_extract_plugin.mjs":{"bytesInOutput":1056},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/utils.mjs":{"bytesInOutput":1180},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/arb_translation_serializer.mjs":{"bytesInOutput":1979},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/json_translation_serializer.mjs":{"bytesInOutput":428},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/legacy_message_id_migration_serializer.mjs":{"bytesInOutput":941},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/format_options.mjs":{"bytesInOutput":760},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff1_translation_serializer.mjs":{"bytesInOutput":5407},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/icu_parsing.mjs":{"bytesInOutput":2210},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xml_file.mjs":{"bytesInOutput":1934},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xliff2_translation_serializer.mjs":{"bytesInOutput":5627},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/extract/translation_files/xmb_translation_serializer.mjs":{"bytesInOutput":2873}},"bytes":32453},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/migrate/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1651},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/migrate/cli.js":{"imports":[],"exports":[],"entryPoint":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs","inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/cli.mjs":{"bytesInOutput":1163},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/index.mjs":{"bytesInOutput":829},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/migrate/migrate.mjs":{"bytesInOutput":405}},"bytes":3216},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/translate/cli.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":8164},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/src/translate/cli.js":{"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-62EWRUGM.js","kind":"import-statement"},{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js","kind":"import-statement"}],"exports":[],"entryPoint":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs","inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/cli.mjs":{"bytesInOutput":3511},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/output_path.mjs":{"bytesInOutput":259},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/index.mjs":{"bytesInOutput":1411},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/asset_files/asset_translation_handler.mjs":{"bytesInOutput":984},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/source_file_translation_handler.mjs":{"bytesInOutput":3131},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_loader.mjs":{"bytesInOutput":3482},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translator.mjs":{"bytesInOutput":925}},"bytes":15306},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-62EWRUGM.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":16588},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-62EWRUGM.js":{"imports":[{"path":"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js","kind":"import-statement"}],"exports":["ArbTranslationParser","SimpleJsonTranslationParser","Xliff1TranslationParser","Xliff2TranslationParser","XtbTranslationParser","makeEs2015TranslatePlugin","makeEs5TranslatePlugin","makeLocalePlugin"],"inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es2015_translate_plugin.mjs":{"bytesInOutput":945},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/es5_translate_plugin.mjs":{"bytesInOutput":1040},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/source_files/locale_plugin.mjs":{"bytesInOutput":1717},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.mjs":{"bytesInOutput":1077},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.mjs":{"bytesInOutput":1725},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.mjs":{"bytesInOutput":3504},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/base_visitor.mjs":{"bytesInOutput":421},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/message_serializer.mjs":{"bytesInOutput":2418},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_parse_error.mjs":{"bytesInOutput":582},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/translation_utils.mjs":{"bytesInOutput":3101},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/message_serialization/target_message_renderer.mjs":{"bytesInOutput":1177},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.mjs":{"bytesInOutput":428},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.mjs":{"bytesInOutput":3581},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.mjs":{"bytesInOutput":2509}},"bytes":27345},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":14060},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/bundles/chunk-KN2K4QZJ.js":{"imports":[],"exports":["Diagnostics","buildCodeFrameError","buildLocalizeReplacement","getLocation","isBabelParseError","isGlobalIdentifier","isLocalize","isNamedIdentifier","makeParsedTranslation","parseMessage","parseTranslation","serializeLocationPosition","translate","unwrapExpressionsFromTemplateLiteral","unwrapMessagePartsFromLocalizeCall","unwrapMessagePartsFromTemplateLiteral","unwrapSubstitutionsFromLocalizeCall"],"inputs":{"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/diagnostics.mjs":{"bytesInOutput":877},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/tools/src/source_file_utils.mjs":{"bytesInOutput":10098},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/constants.mjs":{"bytesInOutput":114},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/index.mjs":{"bytesInOutput":0},"bazel-out/darwin_arm64-fastbuild/bin/packages/compiler/src/i18n/digest.mjs":{"bytesInOutput":3759},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/messages.mjs":{"bytesInOutput":3300},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/utils/src/translations.mjs":{"bytesInOutput":2614},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/index.mjs":{"bytesInOutput":0},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/src/localize.mjs":{"bytesInOutput":0},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/src/localize/index.mjs":{"bytesInOutput":0},"bazel-out/darwin_arm64-fastbuild/bin/packages/localize/private.mjs":{"bytesInOutput":0}},"bytes":22194}}}