HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/open-webui/node_modules/i18next-parser/dist/transform.js.map
{"version":3,"file":"transform.js","names":["Transform","eol","fs","path","VirtualFile","yaml","i18next","sortKeys","dotPathToHash","mergeHashes","transferValues","makeDefaultSort","Parser","i18nTransform","_Transform","_inherits","_super","_createSuper","_this","options","arguments","length","undefined","_classCallCheck","objectMode","call","defaults","contextSeparator","createOldCatalogs","defaultNamespace","defaultValue","indentation","keepRemoved","keySeparator","lexers","lineEnding","locales","namespaceSeparator","pluralSeparator","output","resetDefaultValueLocale","sort","verbose","customValueTemplate","failOnWarnings","yamlOptions","_objectSpread","i18nextOptions","nsSeparator","entries","parserHadWarnings","parserHadUpdate","parser","on","error","warning","warn","localeRegex","namespaceRegex","createInstance","init","keyToFilePaths","_createClass","key","value","emit","console","_transform","file","encoding","done","content","isBuffer","contents","toString","lstatSync","isDirectory","concat","readFileSync","log","filename","basename","parse","_iterator","_createForOfIteratorHelper","_step","s","n","entry","keyPrefix","parts","split","namespace","shift","join","replace","keyWithNamespace","includes","push","filePaths","addEntry","err","e","f","_flush","_this2","maybeSortedLocales","a","resetValues","_iterator2","_step2","_loop","locale","catalog","resetAndFlag","uniqueCount","uniquePluralsCount","transformEntry","suffix","_dotPathToHash","separator","duplicate","conflict","_iterator3","_step3","_loop2","count","services","pluralResolver","getSuffixes","ordinal","forEach","outputPath","resolve","namespacePath","parsedNamespacePath","namespaceOldPath","dir","name","ext","existingCatalog","getCatalog","existingOldCatalog","_mergeHashes","fullKeyPrefix","newCatalog","oldKeys","old","mergeCount","oldCount","resetFlags","reset","resetCount","_mergeHashes2","oldCatalog","restoreCount","addCount","failOnUpdate","refCount","maybeSortedNewCatalog","maybeSortedOldCatalog","compare","deep","parserHadSortUpdate","JSON","stringify","pushFile","Object","keys","process","exit","context","contextEntry","assign","endsWith","load","code","text","dump","indent","chr","charCodeAt","substr","auto","crlf","cr","lf","Buffer","from","default"],"sources":["../src/transform.js"],"sourcesContent":["import { Transform } from 'stream'\nimport eol from 'eol'\nimport fs from 'fs'\nimport path from 'path'\nimport VirtualFile from 'vinyl'\nimport yaml from 'js-yaml'\nimport i18next from 'i18next'\nimport sortKeys from 'sort-keys'\n\nimport {\n  dotPathToHash,\n  mergeHashes,\n  transferValues,\n  makeDefaultSort,\n} from './helpers.js'\nimport Parser from './parser.js'\n\nexport default class i18nTransform extends Transform {\n  constructor(options = {}) {\n    options.objectMode = true\n    super(options)\n\n    this.defaults = {\n      contextSeparator: '_',\n      createOldCatalogs: true,\n      defaultNamespace: 'translation',\n      defaultValue: '',\n      indentation: 2,\n      keepRemoved: false,\n      keySeparator: '.',\n      lexers: {},\n      lineEnding: 'auto',\n      locales: ['en', 'fr'],\n      namespaceSeparator: ':',\n      pluralSeparator: '_',\n      output: 'locales/$LOCALE/$NAMESPACE.json',\n      resetDefaultValueLocale: null,\n      sort: false,\n      verbose: false,\n      customValueTemplate: null,\n      failOnWarnings: false,\n      yamlOptions: null,\n    }\n\n    this.options = { ...this.defaults, ...options }\n    this.options.i18nextOptions = {\n      ...options.i18nextOptions,\n      pluralSeparator: this.options.pluralSeparator,\n      nsSeparator: this.options.namespaceSeparator,\n    }\n\n    if (this.options.keySeparator === false) {\n      this.options.keySeparator = '__!NO_KEY_SEPARATOR!__'\n    }\n    if (this.options.namespaceSeparator === false) {\n      this.options.namespaceSeparator = '__!NO_NAMESPACE_SEPARATOR!__'\n    }\n    this.entries = []\n\n    this.parserHadWarnings = false\n    this.parserHadUpdate = false\n    this.parser = new Parser(this.options)\n    this.parser.on('error', (error) => this.error(error))\n    this.parser.on('warning', (warning) => this.warn(warning))\n\n    this.localeRegex = /\\$LOCALE/g\n    this.namespaceRegex = /\\$NAMESPACE/g\n\n    this.i18next = i18next.createInstance()\n    this.i18next.init(this.options.i18nextOptions)\n\n    // Track where individual keys are found, for use in customValueTemplate\n    // substitution into \"${filePath}\"\n    this.keyToFilePaths = {}\n  }\n\n  error(error) {\n    this.emit('error', error)\n    if (this.options.verbose) {\n      console.error('\\x1b[31m%s\\x1b[0m', error)\n    }\n  }\n\n  warn(warning) {\n    this.emit('warning', warning)\n    this.parserHadWarnings = true\n    if (this.options.verbose) {\n      console.warn('\\x1b[33m%s\\x1b[0m', warning)\n    }\n  }\n\n  _transform(file, encoding, done) {\n    let content\n    if (file.isBuffer()) {\n      content = file.contents.toString('utf8')\n    } else if (fs.lstatSync(file.path).isDirectory()) {\n      const warning = `${file.path} is a directory: skipping`\n      this.warn(warning)\n      done()\n      return\n    } else {\n      content = fs.readFileSync(file.path, encoding)\n    }\n\n    this.emit('reading', file)\n    if (this.options.verbose) {\n      console.log(`Parsing ${file.path}`)\n    }\n\n    const filename = path.basename(file.path)\n    const entries = this.parser.parse(content, filename)\n\n    for (const entry of entries) {\n      let key = entry.key\n\n      if (entry.keyPrefix) {\n        key = entry.keyPrefix + this.options.keySeparator + key\n      }\n\n      const parts = key.split(this.options.namespaceSeparator)\n\n      // make sure we're not pulling a 'namespace' out of a default value\n      if (parts.length > 1 && key !== entry.defaultValue) {\n        entry.namespace = parts.shift()\n      }\n      entry.namespace = entry.namespace || this.options.defaultNamespace\n\n      key = parts.join(this.options.namespaceSeparator)\n      key = key.replace(/\\\\('|\"|`)/g, '$1')\n      key = key.replace(/\\\\n/g, '\\n')\n      key = key.replace(/\\\\r/g, '\\r')\n      key = key.replace(/\\\\t/g, '\\t')\n      key = key.replace(/\\\\\\\\/g, '\\\\')\n      entry.key = key\n      entry.keyWithNamespace = entry.namespace + this.options.keySeparator + key\n      // Add the filename so that we can use it in customValueTemplate\n      this.keyToFilePaths[key] = this.keyToFilePaths[key] || []\n      if (!this.keyToFilePaths[key].includes(file.path)) {\n        this.keyToFilePaths[key].push(file.path)\n      }\n      entry.filePaths = this.keyToFilePaths[key]\n\n      this.addEntry(entry)\n    }\n\n    done()\n  }\n\n  _flush(done) {\n    let maybeSortedLocales = this.options.locales\n    if (this.options.resetDefaultValueLocale) {\n      // ensure we process the reset locale first\n      maybeSortedLocales.sort((a) =>\n        a === this.options.resetDefaultValueLocale ? -1 : 1\n      )\n    }\n\n    // Tracks keys to reset by namespace\n    let resetValues = {}\n\n    for (const locale of maybeSortedLocales) {\n      const catalog = {}\n      const resetAndFlag = this.options.resetDefaultValueLocale === locale\n\n      let uniqueCount = {}\n      let uniquePluralsCount = {}\n\n      const transformEntry = (entry, suffix) => {\n        if (uniqueCount[entry.namespace] === undefined) {\n          uniqueCount[entry.namespace] = 0\n        }\n        if (uniquePluralsCount[entry.namespace] === undefined) {\n          uniquePluralsCount[entry.namespace] = 0\n        }\n\n        const { duplicate, conflict } = dotPathToHash(entry, catalog, {\n          suffix,\n          locale,\n          separator: this.options.keySeparator,\n          pluralSeparator: this.options.pluralSeparator,\n          value: this.options.defaultValue,\n          customValueTemplate: this.options.customValueTemplate,\n        })\n\n        if (duplicate) {\n          if (conflict === 'key') {\n            this.warn(\n              `Found translation key already mapped to a map or parent of ` +\n                `new key already mapped to a string: ${entry.key}`\n            )\n          } else if (conflict === 'value') {\n            this.warn(`Found same keys with different values: ${entry.key}`)\n          }\n        } else {\n          uniqueCount[entry.namespace] += 1\n          if (suffix) {\n            uniquePluralsCount[entry.namespace] += 1\n          }\n        }\n      }\n\n      // generates plurals according to i18next rules: key_zero, key_one, key_two, key_few, key_many and key_other\n      for (const entry of this.entries) {\n        if (\n          this.options.pluralSeparator !== false &&\n          entry.count !== undefined\n        ) {\n          this.i18next.services.pluralResolver\n            .getSuffixes(locale, { ordinal: entry.ordinal })\n            .forEach((suffix) => {\n              transformEntry(entry, suffix)\n            })\n        } else {\n          transformEntry(entry)\n        }\n      }\n\n      const outputPath = path.resolve(this.options.output)\n\n      for (const namespace in catalog) {\n        let namespacePath = outputPath\n        namespacePath = namespacePath.replace(this.localeRegex, locale)\n        namespacePath = namespacePath.replace(this.namespaceRegex, namespace)\n\n        let parsedNamespacePath = path.parse(namespacePath)\n\n        const namespaceOldPath = path.join(\n          parsedNamespacePath.dir,\n          `${parsedNamespacePath.name}_old${parsedNamespacePath.ext}`\n        )\n\n        let existingCatalog = this.getCatalog(namespacePath)\n        let existingOldCatalog = this.getCatalog(namespaceOldPath)\n\n        // merges existing translations with the new ones\n        const {\n          new: newCatalog,\n          old: oldKeys,\n          mergeCount,\n          oldCount,\n          reset: resetFlags,\n          resetCount,\n        } = mergeHashes(\n          existingCatalog,\n          catalog[namespace],\n          {\n            ...this.options,\n            resetAndFlag,\n            fullKeyPrefix: namespace + this.options.namespaceSeparator,\n          },\n          resetValues[namespace]\n        )\n\n        // record values to be reset\n        // assumes that the 'default' namespace is processed first\n        if (resetAndFlag && !resetValues[namespace]) {\n          resetValues[namespace] = resetFlags\n        }\n\n        // restore old translations\n        const { old: oldCatalog, mergeCount: restoreCount } = mergeHashes(\n          existingOldCatalog,\n          newCatalog,\n          { ...this.options, keepRemoved: false }\n        )\n\n        // backup unused translations\n        transferValues(oldKeys, oldCatalog)\n\n        if (this.options.verbose) {\n          console.log(`[${locale}] ${namespace}`)\n          console.log(\n            `Unique keys: ${uniqueCount[namespace]} (${uniquePluralsCount[namespace]} are plurals)`\n          )\n          const addCount = uniqueCount[namespace] - mergeCount\n          console.log(`Added keys: ${addCount}`)\n          console.log(`Restored keys: ${restoreCount}`)\n          if (this.options.keepRemoved) {\n            console.log(`Unreferenced keys: ${oldCount}`)\n          } else {\n            console.log(`Removed keys: ${oldCount}`)\n          }\n          if (this.options.resetDefaultValueLocale) {\n            console.log(`Reset keys: ${resetCount}`)\n          }\n          console.log('')\n        }\n\n        if (this.options.failOnUpdate) {\n          const addCount = uniqueCount[namespace] - mergeCount\n          const refCount =\n            addCount + restoreCount + (this.options.keepRemoved ? 0 : oldCount)\n          if (refCount !== 0) {\n            this.parserHadUpdate = true\n            continue\n          }\n        }\n\n        if (this.options.failOnWarnings && this.parserHadWarnings) {\n          continue\n        }\n\n        let maybeSortedNewCatalog = newCatalog\n        let maybeSortedOldCatalog = oldCatalog\n        const { sort } = this.options\n        if (sort) {\n          const compare =\n            typeof sort === 'function'\n              ? sort\n              : makeDefaultSort(this.options.pluralSeparator)\n          maybeSortedNewCatalog = sortKeys(newCatalog, {\n            deep: true,\n            compare,\n          })\n\n          maybeSortedOldCatalog = sortKeys(oldCatalog, { deep: true, compare })\n\n          if (this.options.failOnUpdate && !this.parserHadUpdate) {\n            // No updates to the catalog, so we do the deeper check to ensure it is also sorted.\n            // This is easiest to accomplish by simply converting both objects to JSON, as we'd have\n            // to do a deep comparison anyway\n            this.parserHadSortUpdate =\n              JSON.stringify(maybeSortedNewCatalog) !==\n              JSON.stringify(existingCatalog)\n          }\n        }\n\n        // push files back to the stream\n        this.pushFile(namespacePath, maybeSortedNewCatalog)\n        if (\n          this.options.createOldCatalogs &&\n          (Object.keys(oldCatalog).length || existingOldCatalog)\n        ) {\n          this.pushFile(namespaceOldPath, maybeSortedOldCatalog)\n        }\n      }\n    }\n\n    if (this.options.failOnWarnings && this.parserHadWarnings) {\n      this.emit(\n        'error',\n        'Warnings were triggered and failOnWarnings option is enabled. Exiting...'\n      )\n      process.exit(1)\n    }\n\n    if (this.options.failOnUpdate) {\n      if (this.parserHadUpdate) {\n        this.emit(\n          'error',\n          'Some translations was updated and failOnUpdate option is enabled. Exiting...'\n        )\n        process.exit(1)\n      }\n      if (this.parserHadSortUpdate) {\n        this.emit(\n          'error',\n          'Some keys were sorted and failOnUpdate option is enabled. Exiting...'\n        )\n        process.exit(1)\n      }\n    }\n\n    done()\n  }\n\n  addEntry(entry) {\n    if (entry.context) {\n      const contextEntry = Object.assign({}, entry)\n      delete contextEntry.context\n      contextEntry.key += this.options.contextSeparator + entry.context\n      contextEntry.keyWithNamespace +=\n        this.options.contextSeparator + entry.context\n      this.entries.push(contextEntry)\n    } else {\n      this.entries.push(entry)\n    }\n  }\n\n  getCatalog(path) {\n    try {\n      let content\n      if (path.endsWith('yml')) {\n        content = yaml.load(fs.readFileSync(path).toString())\n      } else {\n        content = JSON.parse(fs.readFileSync(path))\n      }\n      return content\n    } catch (error) {\n      if (error.code !== 'ENOENT') {\n        this.emit('error', error)\n      }\n    }\n\n    return null\n  }\n\n  pushFile(path, contents) {\n    let text\n    if (path.endsWith('yml')) {\n      text = yaml.dump(contents, {\n        indent: this.options.indentation,\n        ...this.options.yamlOptions,\n      })\n    } else {\n      text = JSON.stringify(contents, null, this.options.indentation) + '\\n'\n      // Convert non-printable Unicode characters to unicode escape sequence\n      // https://unicode.org/reports/tr18/#General_Category_Property\n      text = text.replace(/[\\p{Z}\\p{Cc}\\p{Cf}]/gu, (chr) => {\n        const n = chr.charCodeAt(0)\n        return n < 128 ? chr : `\\\\u${`0000${n.toString(16)}`.substr(-4)}`\n      })\n    }\n\n    if (this.options.lineEnding === 'auto') {\n      text = eol.auto(text)\n    } else if (\n      this.options.lineEnding === '\\r\\n' ||\n      this.options.lineEnding === 'crlf'\n    ) {\n      text = eol.crlf(text)\n    } else if (\n      this.options.lineEnding === '\\r' ||\n      this.options.lineEnding === 'cr'\n    ) {\n      text = eol.cr(text)\n    } else {\n      // Defaults to LF, aka \\n\n      text = eol.lf(text)\n    }\n\n    const file = new VirtualFile({\n      path,\n      contents: Buffer.from(text),\n    })\n    this.push(file)\n  }\n}\n"],"mappings":"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"}