Skip to content

Acute accent in placeholder name breaks tokenization #2247

@lutejka

Description

@lutejka

Reporting a bug?

When having an acute accent within a placeholder name, the tokenizer will fail

[unplugin-vue-i18n] 7 (error code: 7) in /home/projects/vitejs-vite-cekhrigp/src/locales/en.json
  target message: test {tést} test
  target message path: test

  1  |  test {tést} test
   |          ^

file: /home/projects/vitejs-vite-cekhrigp/src/locales/en.json
error during build:
Error: 7 (error code: 7) in /home/projects/vitejs-vite-cekhrigp/src/locales/en.json
  target message: test {tést} test
  target message path: test

  1  |  test {tést} test
   |          ^

    at onError (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/unplugin-vue-i18n/lib/index.mjs:688:13)
    at newOptions.onError (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/bundle-utils/lib/index.mjs:156:14)
    at emitError (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:231:20)
    at readTokenInPlaceholder (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:718:30)
    at readToken (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:813:20)
    at nextToken (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:860:16)
    at parseNamed (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:947:19)
    at parseMessage (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:1085:37)
    at parseResource (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:1133:37)
    at parse (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:1148:21)
    at baseCompile (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/message-compiler/dist/message-compiler.node.mjs:1594:24)
    at generateMessageFunction (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/bundle-utils/lib/index.mjs:160:56)
    at enterNode (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/bundle-utils/lib/index.mjs:414:46)
    at traverse (/home/projects/vitejs-vite-cekhrigp/node_modules/jsonc-eslint-parser/lib/parser/traverse.js:45:13)
    at traverse (/home/projects/vitejs-vite-cekhrigp/node_modules/jsonc-eslint-parser/lib/parser/traverse.js:49:21)
    at traverse (/home/projects/vitejs-vite-cekhrigp/node_modules/jsonc-eslint-parser/lib/parser/traverse.js:49:21)
    at traverse (/home/projects/vitejs-vite-cekhrigp/node_modules/jsonc-eslint-parser/lib/parser/traverse.js:49:21)
    at traverseNodes (/home/projects/vitejs-vite-cekhrigp/node_modules/jsonc-eslint-parser/lib/parser/traverse.js:55:13)
    at _generate$2 (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/bundle-utils/lib/index.mjs:373:24)
    at generate$2 (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/bundle-utils/lib/index.mjs:346:31)
    at transform (file:///home/projects/vitejs-vite-cekhrigp/node_modules/@intlify/unplugin-vue-i18n/lib/index.mjs:470:56)
    at plugin.transform (file:///home/projects/vitejs-vite-cekhrigp/node_modules/unplugin/dist/index.mjs:1275:25)
    at <anonymous> (file:///home/projects/vitejs-vite-cekhrigp/node_modules/rollup/dist/es/shared/node-entry.js:25543:40)
    at <anonymous> (https://vitejsvitecekhrigp-4yzy.w-corp-staticblitz.com/blitz.96435430.js:31:29386)

Expected behavior

Having an acute accent within placeholder names is not an issue.

Reproduction

Run npm run build

https://stackblitz.com/edit/acute-accent-issue?file=src%2Flocales%2Fen.json

System Info

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 20.19.1 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.8.2 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    @intlify/unplugin-vue-i18n: ^1.0.1 => 1.0.1 
    @vitejs/plugin-vue: ^4.2.3 => 4.3.4 
    vite: ^4.4.9 => 4.4.9 
    vue: ^3.3.4 => 3.3.4 
    vue-i18n: ^9.3.0 => 9.3.0 
    vue-tsc: ^1.8.8 => 1.8.10

Screenshot

No response

Additional context

No response

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions