yassinedoghri / astro-i18next

An astro integration of i18next + some utility components to help you translate your astro websites!
https://astro-i18next.yassinedoghri.com
MIT License
502 stars 37 forks source link

Lib breaking build #127

Open vabadio opened 1 year ago

vabadio commented 1 year ago

I'm implementing the lib on both Astro and Svelte components and on the Svelte one it only works if I add these imports:

import { Trans, HeadHrefLangs } from "astro-i18next/components";

Even though I'm not actively using neither of them. If I import just import i18next and { t } the strings return as undefined.

Here's the build error I get:

'promisify' is not exported by __vite-browser-external, imported by node_modules/escalade/dist/index.mjs
file: /Users/victor/Work/Camino/astro-playground/camino-astro/node_modules/escalade/dist/index.mjs:3:9
1: import { dirname, resolve } from 'path';
2: import { readdir, stat } from 'fs';
3: import { promisify } from 'util';
            ^
4: 
5: const toStats = promisify(stat);
 error   'promisify' is not exported by __vite-browser-external, imported by node_modules/escalade/dist/index.mjs
  File:
    /Users/victor/Work/Camino/astro-playground/camino-astro/node_modules/escalade/dist/index.mjs:3:9
  Code:
    1: import { dirname, resolve } from 'path';
    2: import { readdir, stat } from 'fs';
    3: import { promisify } from 'util';
                ^
    4: 
    5: const toStats = promisify(stat);

My env:

lilith commented 1 year ago

I'm having this problem in .tsx and Astro components.

Adding import { Trans, HeadHrefLangs } from "astro-i18next/components" to every page doesn't fix it.

Also - this happens for me with astro build, not astro dev.

I'm using

    "astro": "^2.1.5",
    "astro-i18next": "^1.0.0-beta.21",
    "i18next-locize-backend": "^6.2.1",

The stacktrace is really unhelpful.

02:01:51 PM [content] Types generated 272ms
02:01:51 PM [build] output target: static
02:01:51 PM [build] Collecting build info...
02:01:51 PM [build] Completed in 283ms.
02:01:51 PM [build] Building static entrypoints...
02:01:52 PM [build] Completed in 0.83s.

 building client 
"promisify" is not exported by "__vite-browser-external", imported by "node_modules/escalade/dist/index.mjs".
file: /home/lilith/work/sites/node_modules/escalade/dist/index.mjs:3:9
1: import { dirname, resolve } from 'path';
2: import { readdir, stat } from 'fs';
3: import { promisify } from 'util';
            ^
4: 
5: const toStats = promisify(stat);
 error   "promisify" is not exported by "__vite-browser-external", imported by "node_modules/escalade/dist/index.mjs".
  File:
    /home/lilith/work/sites/node_modules/escalade/dist/index.mjs:3:9
  Code:
    1: import { dirname, resolve } from 'path';
    2: import { readdir, stat } from 'fs';
    3: import { promisify } from 'util';
                ^
    4: 
    5: const toStats = promisify(stat);
  Stacktrace:
RollupError: "promisify" is not exported by "__vite-browser-external", imported by "node_modules/escalade/dist/index.mjs".
    at error (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:2128:30)
    at Module.error (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:13322:16)
    at Module.traceVariable (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:13707:29)
    at ModuleScope.findVariable (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:12210:39)
    at Identifier.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:8103:40)
    at CallExpression.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:5749:23)
    at CallExpression.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:9630:15)
    at VariableDeclarator.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:5749:23)
    at VariableDeclaration.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:5745:28)
    at Program.bind (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:5745:28)
    at Module.bindReferences (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:13318:18)
    at Graph.sortModules (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:24704:20)
    at Graph.build (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:24588:14)
    at async file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:25605:13
    at async catchUnfinishedHookActions (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:24758:20)
    at async rollupInternal (file:///home/lilith/work/sites/node_modules/rollup/dist/es/shared/node-entry.js:25600:5)
    at async Module.build (file:///home/lilith/work/sites/node_modules/vite/dist/node/chunks/dep-79892de8.js:46240:18)
    at async clientBuild (file:///home/lilith/work/sites/node_modules/astro/dist/core/build/static-build.js:199:23)
    at async viteBuild (file:///home/lilith/work/sites/node_modules/astro/dist/core/build/static-build.js:64:24)
    at async AstroBuilder.build (file:///home/lilith/work/sites/node_modules/astro/dist/core/build/index.js:123:27)
    at async AstroBuilder.run (file:///home/lilith/work/sites/node_modules/astro/dist/core/build/index.js:156:7)
    at async build (file:///home/lilith/work/sites/node_modules/astro/dist/core/build/index.js:37:3)
    at async runCommand (file:///home/lilith/work/sites/node_modules/astro/dist/cli/index.js:168:14)
    at async cli (file:///home/lilith/work/sites/node_modules/astro/dist/cli/index.js:209:5)
lilith commented 1 year ago

I think that for me, .tsx files can't use astro-i18next, only i18next solo.