next-auto-i18n 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cli/index.js +5 -13
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/injector/locale-structure-injector.js +8 -12
  4. package/dist/injector/locale-structure-injector.js.map +1 -1
  5. package/dist/injector/middleware-injector.d.ts.map +1 -1
  6. package/dist/injector/middleware-injector.js +27 -32
  7. package/dist/injector/middleware-injector.js.map +1 -1
  8. package/dist/injector/request-injector.d.ts.map +1 -1
  9. package/dist/injector/request-injector.js +24 -12
  10. package/dist/injector/request-injector.js.map +1 -1
  11. package/dist/injector/routing-injector.d.ts.map +1 -1
  12. package/dist/injector/routing-injector.js +17 -9
  13. package/dist/injector/routing-injector.js.map +1 -1
  14. package/dist/injector/switcher-injector.d.ts.map +1 -1
  15. package/dist/injector/switcher-injector.js +3 -1
  16. package/dist/injector/switcher-injector.js.map +1 -1
  17. package/dist/rewriter/const-rewriter.d.ts +15 -0
  18. package/dist/rewriter/const-rewriter.d.ts.map +1 -0
  19. package/dist/rewriter/const-rewriter.js +192 -0
  20. package/dist/rewriter/const-rewriter.js.map +1 -0
  21. package/dist/rewriter/index.d.ts.map +1 -1
  22. package/dist/rewriter/index.js +5 -1
  23. package/dist/rewriter/index.js.map +1 -1
  24. package/dist/scanner/filters.d.ts.map +1 -1
  25. package/dist/scanner/filters.js +19 -0
  26. package/dist/scanner/filters.js.map +1 -1
  27. package/dist/scanner/string-extractor.d.ts +1 -1
  28. package/dist/scanner/string-extractor.d.ts.map +1 -1
  29. package/dist/scanner/string-extractor.js +64 -0
  30. package/dist/scanner/string-extractor.js.map +1 -1
  31. package/dist/utils/deps.d.ts.map +1 -1
  32. package/dist/utils/deps.js +5 -3
  33. package/dist/utils/deps.js.map +1 -1
  34. package/package.json +9 -1
package/dist/cli/index.js CHANGED
@@ -5,7 +5,7 @@ import { readFile, access } from 'fs/promises';
5
5
  import { logger } from '../utils/logger.js';
6
6
  import { loadConfig, saveConfig, buildConfig, findMissingKeys, CONFIG_FILENAME } from '../utils/config.js';
7
7
  import { loadEnv, getApiKey, saveApiKeyToEnv, ensureGitignore } from '../utils/env.js';
8
- import { isPackageInstalled, installPackage, detectPackageManager } from '../utils/deps.js';
8
+ import { isPackageInstalled } from '../utils/deps.js';
9
9
  import { askSourceLocale, askTargetLocales, askApiKey, askConfirmDryRun } from './prompts.js';
10
10
  import { scanProject } from '../scanner/index.js';
11
11
  import { generateMessages } from '../generator/index.js';
@@ -95,23 +95,15 @@ program
95
95
  if (transResult.skipped.length > 0) {
96
96
  logger.dim(`Déjà à jour : ${transResult.skipped.join(', ')}`);
97
97
  }
98
- // 5. Installation de next-intl si absent
98
+ // 5. Vérification de next-intl (installé via peerDependencies)
99
99
  logger.step('Vérification des dépendances');
100
100
  const hasNextIntl = await isPackageInstalled(projectRoot, 'next-intl');
101
101
  if (!hasNextIntl) {
102
- const pm = await detectPackageManager(projectRoot);
103
- logger.info(`Installation de next-intl via ${pm}…`);
104
- try {
105
- await installPackage(projectRoot, 'next-intl');
106
- logger.success('next-intl installé');
107
- }
108
- catch (installErr) {
109
- logger.warn(`Impossible d'installer next-intl automatiquement (${installErr instanceof Error ? installErr.message : String(installErr)})`);
110
- logger.dim('Installez manuellement : npm install next-intl');
111
- }
102
+ logger.warn('next-intl non trouvé il devrait être installé automatiquement via peerDependencies');
103
+ logger.dim('Si ce n\'est pas le cas, installez manuellement : npm install next-intl');
112
104
  }
113
105
  else {
114
- logger.success('next-intl déjà installé');
106
+ logger.success('next-intl installé');
115
107
  }
116
108
  // 6. Réécriture des composants
117
109
  logger.step('Réécriture des composants');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -123,8 +123,13 @@ async function rewriteRootLayout(layoutPath) {
123
123
  while ((match = fontDeclRegex.exec(content)) !== null) {
124
124
  fontDecls.push(match[0]);
125
125
  }
126
- // Extraire le className du body s'il existe
127
- const bodyClassMatch = content.match(/<body[^>]*className\s*=\s*\{?["'`]?([^"'`}]+)["'`]?\}?/);
126
+ // Extraire l'ouverture complète du tag <body> (attributs préservés verbatim)
127
+ // On capture tout entre <body et le premier > non imbriqué dans {}
128
+ let bodyTag = '<body>';
129
+ const bodyTagMatch = content.match(/<body[^>]*>/);
130
+ if (bodyTagMatch) {
131
+ bodyTag = bodyTagMatch[0];
132
+ }
128
133
  // Construire le nouveau root layout
129
134
  const imports = [
130
135
  ...cssImports,
@@ -132,22 +137,13 @@ async function rewriteRootLayout(layoutPath) {
132
137
  ].filter(Boolean);
133
138
  const importsStr = imports.length > 0 ? imports.join('\n') + '\n\n' : '';
134
139
  const fontDeclsStr = fontDecls.length > 0 ? fontDecls.join('\n') + '\n\n' : '';
135
- // Reconstruire la className du body
136
- let bodyTag = '<body>';
137
- if (bodyClassMatch) {
138
- bodyTag = `<body className={${bodyClassMatch[1]}}>`;
139
- // Simple case: string literal
140
- if (/^["'`]/.test(bodyClassMatch[1])) {
141
- bodyTag = `<body className=${bodyClassMatch[1]}>`;
142
- }
143
- }
144
140
  const newContent = `${importsStr}${fontDeclsStr}export default function RootLayout({
145
141
  children,
146
142
  }: {
147
143
  children: React.ReactNode;
148
144
  }) {
149
145
  return (
150
- <html>
146
+ <html suppressHydrationWarning>
151
147
  ${bodyTag}
152
148
  {children}
153
149
  </body>
@@ -1 +1 @@
1
- {"version":3,"file":"locale-structure-injector.js","sourceRoot":"","sources":["../../src/injector/locale-structure-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale-structure-injector.js","sourceRoot":"","sources":["../../src/injector/locale-structure-injector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-injector.d.ts","sourceRoot":"","sources":["../../src/injector/middleware-injector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoCD,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAmCnC"}
1
+ {"version":3,"file":"middleware-injector.d.ts","sourceRoot":"","sources":["../../src/injector/middleware-injector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+BD,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAmCnC"}
@@ -1,7 +1,10 @@
1
1
  import { writeFile, readFile, access } from 'fs/promises';
2
2
  import { join } from 'path';
3
- const MIDDLEWARE_CONTENT = `import createMiddleware from 'next-intl/middleware';
4
- import { routing } from './i18n/routing';
3
+ import { findLayoutFile } from './layout-injector.js';
4
+ function buildMiddlewareContent(useSrc) {
5
+ const routingImport = useSrc ? './i18n/routing' : './i18n/routing';
6
+ return `import createMiddleware from 'next-intl/middleware';
7
+ import { routing } from '${routingImport}';
5
8
 
6
9
  export default createMiddleware(routing);
7
10
 
@@ -9,13 +12,7 @@ export const config = {
9
12
  matcher: ['/((?!api|_next|_vercel|.*\\\\..*).*)'],
10
13
  };
11
14
  `;
12
- const PROXY_CONTENT = `import createMiddleware from 'next-intl/middleware';
13
- import { routing } from './i18n/routing';
14
-
15
- export function GET(request: Request) {
16
- return createMiddleware(routing)(request);
17
15
  }
18
- `;
19
16
  /**
20
17
  * Détecte la version majeure de Next.js installée dans le projet.
21
18
  * Retourne null si non trouvée.
@@ -35,32 +32,30 @@ async function detectNextMajorVersion(projectRoot) {
35
32
  export async function injectMiddleware(projectRoot, options = {}) {
36
33
  const nextVersion = await detectNextMajorVersion(projectRoot);
37
34
  const useProxy = nextVersion !== null && nextVersion >= 16;
35
+ // Détecter si le projet utilise src/
36
+ const layoutPath = await findLayoutFile(projectRoot);
37
+ const useSrc = layoutPath ? layoutPath.includes(join('src', 'app')) : false;
38
+ const baseDir = useSrc ? join(projectRoot, 'src') : projectRoot;
38
39
  const fileName = useProxy ? 'proxy.ts' : 'middleware.ts';
39
- const content = useProxy ? PROXY_CONTENT : MIDDLEWARE_CONTENT;
40
- const filePath = join(projectRoot, fileName);
40
+ const content = buildMiddlewareContent(useSrc);
41
+ const filePath = join(baseDir, fileName);
41
42
  // Vérifier aussi l'ancien nom si on passe à proxy
42
- const altPath = join(projectRoot, useProxy ? 'middleware.ts' : 'proxy.ts');
43
- try {
44
- await access(filePath);
45
- const warning = `${fileName} existe déjà — configuration manuelle requise`;
46
- if (!options.silent)
47
- console.log(` ⚠ ${filePath} — ${warning}`);
48
- return { modified: false, skipped: true, filePath, warning };
49
- }
50
- catch {
51
- /* fichier absent → on le crée */
52
- }
53
- // Vérifier si l'alternative existe déjà
54
- try {
55
- await access(altPath);
56
- const altName = useProxy ? 'middleware.ts' : 'proxy.ts';
57
- const warning = `${altName} existe déjà — ${fileName} non créé`;
58
- if (!options.silent)
59
- console.log(` ⚠ ${warning}`);
60
- return { modified: false, skipped: true, filePath: altPath, warning };
61
- }
62
- catch {
63
- /* pas d'alternative non plus */
43
+ const altFileName = useProxy ? 'middleware.ts' : 'proxy.ts';
44
+ // Vérifier les deux emplacements possibles (src/ et root)
45
+ for (const dir of [baseDir, projectRoot]) {
46
+ for (const name of [fileName, altFileName]) {
47
+ const candidate = join(dir, name);
48
+ try {
49
+ await access(candidate);
50
+ const warning = `${name} existe déjà (${candidate}) — configuration manuelle requise`;
51
+ if (!options.silent)
52
+ console.log(` ⚠ ${warning}`);
53
+ return { modified: false, skipped: true, filePath: candidate, warning };
54
+ }
55
+ catch {
56
+ /* non trouvé */
57
+ }
58
+ }
64
59
  }
65
60
  await writeFile(filePath, content, 'utf-8');
66
61
  if (!options.silent)
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-injector.js","sourceRoot":"","sources":["../../src/injector/middleware-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware-injector.js","sourceRoot":"","sources":["../../src/injector/middleware-injector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-injector.d.ts","sourceRoot":"","sources":["../../src/injector/request-injector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmBD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAiBhC"}
1
+ {"version":3,"file":"request-injector.d.ts","sourceRoot":"","sources":["../../src/injector/request-injector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuBD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAyBhC"}
@@ -1,6 +1,11 @@
1
1
  import { writeFile, mkdir, access } from 'fs/promises';
2
2
  import { join } from 'path';
3
- function buildRequestContent() {
3
+ import { findLayoutFile } from './layout-injector.js';
4
+ function buildRequestContent(useSrc) {
5
+ // Si src/ : i18n est dans src/i18n/ et messages dans root/messages/
6
+ // Depuis src/i18n/request.ts → ../../messages/ (remonter src/ puis i18n/)
7
+ // Sans src/ : depuis i18n/request.ts → ../messages/
8
+ const messagesPath = useSrc ? '../../messages' : '../messages';
4
9
  return `import { getRequestConfig } from 'next-intl/server';
5
10
  import { routing } from './routing';
6
11
 
@@ -11,25 +16,32 @@ export default getRequestConfig(async ({ requestLocale }) => {
11
16
  }
12
17
  return {
13
18
  locale,
14
- messages: (await import(\`../messages/\${locale}.json\`)).default,
19
+ messages: (await import(\`${messagesPath}/\${locale}.json\`)).default,
15
20
  };
16
21
  });
17
22
  `;
18
23
  }
19
24
  export async function injectRequest(projectRoot, options = {}) {
20
- const i18nDir = join(projectRoot, 'i18n');
25
+ // Détecter si le projet utilise src/
26
+ const layoutPath = await findLayoutFile(projectRoot);
27
+ const useSrc = layoutPath ? layoutPath.includes(join('src', 'app')) : false;
28
+ const baseDir = useSrc ? join(projectRoot, 'src') : projectRoot;
29
+ const i18nDir = join(baseDir, 'i18n');
21
30
  const filePath = join(i18nDir, 'request.ts');
22
- try {
23
- await access(filePath);
24
- if (!options.silent)
25
- console.log(` — ${filePath} — déjà présent`);
26
- return { modified: false, skipped: true, filePath };
27
- }
28
- catch {
29
- /* fichier absent → on le crée */
31
+ // Vérifier les deux emplacements possibles
32
+ for (const dir of [join(baseDir, 'i18n'), join(projectRoot, 'i18n')]) {
33
+ try {
34
+ await access(join(dir, 'request.ts'));
35
+ if (!options.silent)
36
+ console.log(` — ${join(dir, 'request.ts')} — déjà présent`);
37
+ return { modified: false, skipped: true, filePath: join(dir, 'request.ts') };
38
+ }
39
+ catch {
40
+ /* non trouvé */
41
+ }
30
42
  }
31
43
  await mkdir(i18nDir, { recursive: true });
32
- await writeFile(filePath, buildRequestContent(), 'utf-8');
44
+ await writeFile(filePath, buildRequestContent(useSrc), 'utf-8');
33
45
  if (!options.silent)
34
46
  console.log(` ✓ ${filePath} — créé`);
35
47
  return { modified: true, skipped: false, filePath };
@@ -1 +1 @@
1
- {"version":3,"file":"request-injector.js","sourceRoot":"","sources":["../../src/injector/request-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;CAaR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,iBAAiB,CAAC,CAAC;QACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;IAE1D,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,SAAS,CAAC,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"request-injector.js","sourceRoot":"","sources":["../../src/injector/request-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,SAAS,mBAAmB,CAAC,MAAe;IAC1C,oEAAoE;IACpE,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/D,OAAO;;;;;;;;;;gCAUuB,YAAY;;;CAG3C,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAgC,EAAE;IAElC,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE7C,2CAA2C;IAC3C,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,SAAS,CAAC,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routing-injector.d.ts","sourceRoot":"","sources":["../../src/injector/routing-injector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAoBhC"}
1
+ {"version":3,"file":"routing-injector.d.ts","sourceRoot":"","sources":["../../src/injector/routing-injector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,qBAAqB,CAAC,CA4BhC"}
@@ -1,5 +1,6 @@
1
1
  import { writeFile, mkdir, access } from 'fs/promises';
2
2
  import { join } from 'path';
3
+ import { findLayoutFile } from './layout-injector.js';
3
4
  function buildRoutingContent(config) {
4
5
  const localesList = config.locales.map(l => `'${l}'`).join(', ');
5
6
  return `import { defineRouting } from 'next-intl/routing';
@@ -11,16 +12,23 @@ export const routing = defineRouting({
11
12
  `;
12
13
  }
13
14
  export async function injectRouting(projectRoot, config, options = {}) {
14
- const i18nDir = join(projectRoot, 'i18n');
15
+ // Détecter si le projet utilise src/
16
+ const layoutPath = await findLayoutFile(projectRoot);
17
+ const useSrc = layoutPath ? layoutPath.includes(join('src', 'app')) : false;
18
+ const baseDir = useSrc ? join(projectRoot, 'src') : projectRoot;
19
+ const i18nDir = join(baseDir, 'i18n');
15
20
  const filePath = join(i18nDir, 'routing.ts');
16
- try {
17
- await access(filePath);
18
- if (!options.silent)
19
- console.log(` — ${filePath} — déjà présent`);
20
- return { modified: false, skipped: true, filePath };
21
- }
22
- catch {
23
- /* fichier absent → on le crée */
21
+ // Vérifier les deux emplacements possibles
22
+ for (const dir of [join(baseDir, 'i18n'), join(projectRoot, 'i18n')]) {
23
+ try {
24
+ await access(join(dir, 'routing.ts'));
25
+ if (!options.silent)
26
+ console.log(` — ${join(dir, 'routing.ts')} — déjà présent`);
27
+ return { modified: false, skipped: true, filePath: join(dir, 'routing.ts') };
28
+ }
29
+ catch {
30
+ /* non trouvé */
31
+ }
24
32
  }
25
33
  await mkdir(i18nDir, { recursive: true });
26
34
  await writeFile(filePath, buildRoutingContent(config), 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"routing-injector.js","sourceRoot":"","sources":["../../src/injector/routing-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAa5B,SAAS,mBAAmB,CAAC,MAAqB;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO;;;cAGK,WAAW;oBACL,MAAM,CAAC,aAAa;;CAEvC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,MAAqB,EACrB,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,iBAAiB,CAAC,CAAC;QACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,qBAAqB,OAAO,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"routing-injector.js","sourceRoot":"","sources":["../../src/injector/routing-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD,SAAS,mBAAmB,CAAC,MAAqB;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO;;;cAGK,WAAW;oBACL,MAAM,CAAC,aAAa;;CAEvC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,MAAqB,EACrB,UAAgC,EAAE;IAElC,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE7C,2CAA2C;IAC3C,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,qBAAqB,OAAO,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"switcher-injector.d.ts","sourceRoot":"","sources":["../../src/injector/switcher-injector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6RD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,sBAAsB,CAAC,CAiCjC"}
1
+ {"version":3,"file":"switcher-injector.d.ts","sourceRoot":"","sources":["../../src/injector/switcher-injector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6RD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,sBAAsB,CAAC,CAmCjC"}
@@ -308,7 +308,9 @@ export async function injectLanguageSwitcher(projectRoot, options = {}) {
308
308
  // Create components/ directory if needed
309
309
  await mkdir(componentsDir, { recursive: true });
310
310
  // Compute the relative import path for routing
311
- const routingImportPath = useSrc ? '../../i18n/routing' : '../i18n/routing';
311
+ // Avec src/ : src/components/ → src/i18n/routing = ../i18n/routing
312
+ // Sans src/ : components/ → i18n/routing = ../i18n/routing
313
+ const routingImportPath = '../i18n/routing';
312
314
  // Write the component file
313
315
  await writeFile(switcherPath, buildSwitcherComponent(routingImportPath), 'utf-8');
314
316
  if (!options.silent)
@@ -1 +1 @@
1
- {"version":3,"file":"switcher-injector.js","sourceRoot":"","sources":["../../src/injector/switcher-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,sBAAsB,CAAC,iBAAyB;IACvD,OAAO;;;2BAGkB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Q3C,CAAC;AACF,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,UAAgC,EAAE;IAElC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAEjE,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,iBAAiB,CAAC,CAAC;QACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE5E,2BAA2B;IAC3B,MAAM,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;IAElF,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,SAAS,CAAC,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"switcher-injector.js","sourceRoot":"","sources":["../../src/injector/switcher-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,sBAAsB,CAAC,iBAAyB;IACvD,OAAO;;;2BAGkB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Q3C,CAAC;AACF,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,UAAgC,EAAE;IAElC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAEjE,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,iBAAiB,CAAC,CAAC;QACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,mEAAmE;IACnE,2DAA2D;IAC3D,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAE5C,2BAA2B;IAC3B,MAAM,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;IAElF,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,SAAS,CAAC,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type SourceFile } from 'ts-morph';
2
+ /**
3
+ * Remplace les StringLiteral traduisibles par t("clé").
4
+ * Cible les valeurs dans les objets/tableaux/variables (hors JSX, déjà géré).
5
+ * Retourne le nombre de remplacements effectués.
6
+ */
7
+ export declare function rewriteStringLiterals(sourceFile: SourceFile, keyMap: Map<string, string>): number;
8
+ /**
9
+ * Déplace les VariableStatement du scope module qui contiennent des appels t()
10
+ * à l'intérieur du corps de la fonction composant React.
11
+ *
12
+ * Cela garantit que t() est accessible (injecté ensuite par injectTDeclarations).
13
+ */
14
+ export declare function hoistModuleScopeVars(sourceFile: SourceFile): number;
15
+ //# sourceMappingURL=const-rewriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const-rewriter.d.ts","sourceRoot":"","sources":["../../src/rewriter/const-rewriter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAOhB,MAAM,UAAU,CAAC;AAqDlB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAqBR;AA4ED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CA4CnE"}
@@ -0,0 +1,192 @@
1
+ import { SyntaxKind, Node, } from 'ts-morph';
2
+ /**
3
+ * Noms de propriétés dont les valeurs sont techniques — on ne les réécrit pas.
4
+ */
5
+ const TECHNICAL_PROPERTY_NAMES = new Set([
6
+ 'key', 'id', 'className', 'class', 'style', 'type',
7
+ 'href', 'src', 'srcSet', 'action', 'method', 'target', 'rel',
8
+ 'role', 'htmlFor', 'icon', 'color', 'variant', 'size',
9
+ 'as', 'component', 'testId', 'dataTestId', 'data-testid', 'data-cy',
10
+ 'path', 'route', 'url', 'pattern', 'regex', 'format', 'encoding',
11
+ 'charset', 'mime', 'mimeType', 'contentType',
12
+ ]);
13
+ /**
14
+ * Vérifie si un StringLiteral est dans un contexte non réécrivable.
15
+ */
16
+ function isNonRewritableContext(node) {
17
+ const parent = node.getParent();
18
+ if (!parent)
19
+ return true;
20
+ // Clé de propriété (pas la valeur)
21
+ if (Node.isPropertyAssignment(parent) && parent.getNameNode() === node)
22
+ return true;
23
+ // Valeur d'une propriété technique
24
+ if (Node.isPropertyAssignment(parent)) {
25
+ const propName = parent.getName();
26
+ if (TECHNICAL_PROPERTY_NAMES.has(propName))
27
+ return true;
28
+ }
29
+ // new Error(), etc.
30
+ if (Node.isNewExpression(parent))
31
+ return true;
32
+ // console.*, require(), etc.
33
+ if (Node.isCallExpression(parent)) {
34
+ const callee = parent.getExpression().getText();
35
+ if (/^(console\.\w+|require|Error|JSON\.\w+|parseInt|parseFloat|fetch|addEventListener|removeEventListener)$/.test(callee))
36
+ return true;
37
+ if (/^t$|^translate$/.test(callee))
38
+ return true;
39
+ }
40
+ // Remonter l'arbre
41
+ let current = parent;
42
+ while (current) {
43
+ if (Node.isImportDeclaration(current) || Node.isExportDeclaration(current))
44
+ return true;
45
+ if (Node.isTypeAliasDeclaration(current) || Node.isInterfaceDeclaration(current))
46
+ return true;
47
+ if (Node.isEnumDeclaration(current))
48
+ return true;
49
+ if (Node.isJsxAttribute(current))
50
+ return true;
51
+ current = current.getParent();
52
+ }
53
+ return false;
54
+ }
55
+ /**
56
+ * Remplace les StringLiteral traduisibles par t("clé").
57
+ * Cible les valeurs dans les objets/tableaux/variables (hors JSX, déjà géré).
58
+ * Retourne le nombre de remplacements effectués.
59
+ */
60
+ export function rewriteStringLiterals(sourceFile, keyMap) {
61
+ const nodes = sourceFile.getDescendantsOfKind(SyntaxKind.StringLiteral);
62
+ let count = 0;
63
+ for (const node of [...nodes].reverse()) {
64
+ if (isNonRewritableContext(node))
65
+ continue;
66
+ const value = node.getLiteralValue().trim();
67
+ if (!value)
68
+ continue;
69
+ const key = keyMap.get(value);
70
+ if (!key)
71
+ continue;
72
+ try {
73
+ node.replaceWithText(`t("${key}")`);
74
+ count++;
75
+ }
76
+ catch {
77
+ // Skip nodes that can't be safely replaced
78
+ }
79
+ }
80
+ return count;
81
+ }
82
+ /** Vérifie si un nœud a une fonction parente. */
83
+ function hasEnclosingFunction(node) {
84
+ let current = node.getParent();
85
+ while (current) {
86
+ if (Node.isFunctionDeclaration(current) ||
87
+ Node.isArrowFunction(current) ||
88
+ Node.isFunctionExpression(current)) {
89
+ return true;
90
+ }
91
+ current = current.getParent();
92
+ }
93
+ return false;
94
+ }
95
+ /**
96
+ * Trouve la fonction composant React (default export ou première fonction avec du JSX).
97
+ */
98
+ function findComponentFunction(sourceFile) {
99
+ // 1. Chercher un default export function
100
+ for (const fn of sourceFile.getFunctions()) {
101
+ if (fn.isDefaultExport())
102
+ return fn;
103
+ }
104
+ // 2. Chercher une variable déclarée avec default export et arrow/function expression
105
+ const defaultExport = sourceFile
106
+ .getDescendantsOfKind(SyntaxKind.ExportAssignment)
107
+ .find(e => !e.isExportEquals());
108
+ if (defaultExport) {
109
+ const expr = defaultExport.getExpression();
110
+ if (Node.isIdentifier(expr)) {
111
+ const name = expr.getText();
112
+ const varDecl = sourceFile.getVariableDeclaration(name);
113
+ if (varDecl) {
114
+ const init = varDecl.getInitializer();
115
+ if (init && (Node.isArrowFunction(init) || Node.isFunctionExpression(init))) {
116
+ return init;
117
+ }
118
+ }
119
+ // Named function declaration
120
+ const fn = sourceFile.getFunction(name);
121
+ if (fn)
122
+ return fn;
123
+ }
124
+ }
125
+ // 3. Première fonction qui contient du JSX
126
+ for (const fn of sourceFile.getFunctions()) {
127
+ if (fn.getDescendantsOfKind(SyntaxKind.JsxElement).length > 0 ||
128
+ fn.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement).length > 0) {
129
+ return fn;
130
+ }
131
+ }
132
+ for (const varDecl of sourceFile.getVariableDeclarations()) {
133
+ const init = varDecl.getInitializer();
134
+ if (!init)
135
+ continue;
136
+ if (!Node.isArrowFunction(init) && !Node.isFunctionExpression(init))
137
+ continue;
138
+ if (init.getDescendantsOfKind(SyntaxKind.JsxElement).length > 0 ||
139
+ init.getDescendantsOfKind(SyntaxKind.JsxSelfClosingElement).length > 0) {
140
+ return init;
141
+ }
142
+ }
143
+ return null;
144
+ }
145
+ /**
146
+ * Déplace les VariableStatement du scope module qui contiennent des appels t()
147
+ * à l'intérieur du corps de la fonction composant React.
148
+ *
149
+ * Cela garantit que t() est accessible (injecté ensuite par injectTDeclarations).
150
+ */
151
+ export function hoistModuleScopeVars(sourceFile) {
152
+ // Trouver tous les t() calls au scope module (pas de fonction parente)
153
+ const tCalls = sourceFile
154
+ .getDescendantsOfKind(SyntaxKind.CallExpression)
155
+ .filter(c => c.getExpression().getText() === 't' && !hasEnclosingFunction(c));
156
+ if (tCalls.length === 0)
157
+ return 0;
158
+ // Identifier les VariableStatement parents de ces appels
159
+ const statementsToMove = new Map();
160
+ for (const call of tCalls) {
161
+ let current = call.getParent();
162
+ while (current) {
163
+ if (Node.isVariableStatement(current)) {
164
+ statementsToMove.set(current.getStart(), current);
165
+ break;
166
+ }
167
+ if (Node.isSourceFile(current))
168
+ break;
169
+ current = current.getParent();
170
+ }
171
+ }
172
+ if (statementsToMove.size === 0)
173
+ return 0;
174
+ // Trouver la fonction composant
175
+ const componentFn = findComponentFunction(sourceFile);
176
+ if (!componentFn)
177
+ return 0;
178
+ const bodyNode = componentFn.getBody();
179
+ if (!bodyNode || !Node.isBlock(bodyNode))
180
+ return 0;
181
+ // Récupérer le texte des statements à déplacer (en ordre de position)
182
+ const sorted = [...statementsToMove.entries()].sort(([a], [b]) => a - b);
183
+ const texts = sorted.map(([, stmt]) => stmt.getText());
184
+ // Supprimer les statements originaux (en ordre inverse pour préserver les positions)
185
+ for (const [, stmt] of [...sorted].reverse()) {
186
+ stmt.remove();
187
+ }
188
+ // Insérer dans le corps du composant (position 0 — avant le reste)
189
+ bodyNode.insertStatements(0, texts);
190
+ return texts.length;
191
+ }
192
+ //# sourceMappingURL=const-rewriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const-rewriter.js","sourceRoot":"","sources":["../../src/rewriter/const-rewriter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rewriter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAUjE;AAkBD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAuCnF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAcjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAYR;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAsDxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rewriter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAUjE;AAkBD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAuCnF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAcjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAgBR;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAsDxB"}
@@ -2,6 +2,7 @@ import { copyFile } from 'fs/promises';
2
2
  import { Project, SyntaxKind, Node, } from 'ts-morph';
3
3
  import { rewriteJsx } from './jsx-rewriter.js';
4
4
  import { rewriteAttributes } from './attr-rewriter.js';
5
+ import { rewriteStringLiterals, hoistModuleScopeVars } from './const-rewriter.js';
5
6
  /**
6
7
  * Retourne `true` si le fichier contient une directive `'use client'` en tête.
7
8
  * Les Server Components n'ont pas cette directive.
@@ -85,8 +86,11 @@ export function addNextIntlImport(sourceFile, isClient) {
85
86
  export function rewriteSourceFile(sourceFile, keyMap) {
86
87
  const jsxCount = rewriteJsx(sourceFile, keyMap);
87
88
  const attrCount = rewriteAttributes(sourceFile, keyMap);
88
- const total = jsxCount + attrCount;
89
+ const constCount = rewriteStringLiterals(sourceFile, keyMap);
90
+ const total = jsxCount + attrCount + constCount;
89
91
  if (total > 0) {
92
+ // Déplacer les const module-scope contenant t() dans le corps du composant
93
+ hoistModuleScopeVars(sourceFile);
90
94
  const isClient = isClientComponent(sourceFile);
91
95
  injectTDeclarations(sourceFile, isClient);
92
96
  addNextIntlImport(sourceFile, isClient);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rewriter/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rewriter/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/scanner/filters.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAuHD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAqB5E"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/scanner/filters.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AA2ID;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAuB5E"}
@@ -61,6 +61,21 @@ const TECHNICAL_KEYWORDS = new Set([
61
61
  ]);
62
62
  /** "42", "-7", "3.14" */
63
63
  const NUMERIC_RE = /^-?\d+(\.\d+)?$/;
64
+ /**
65
+ * Nombre avec préfixe/suffixe simple (currency, %, +).
66
+ * Ex: "29€", "1500+", "$99", "50%", "3×", "100k", "€29"
67
+ */
68
+ const NUMERIC_WITH_AFFIX_RE = /^[€$£¥₩₹฿]?\s*\d[\d\s.,]*\s*[€$£¥₩₹฿%+×xkKmMbB]*[+]?$|^[€$£¥₩₹฿]\s*\d[\d\s.,]*$/;
69
+ /**
70
+ * String composée uniquement d'emojis, symboles ou ponctuation (aucune lettre ni chiffre).
71
+ * Ex: "🏋️", "🥊", "✓", "★", "→"
72
+ */
73
+ function isSymbolOrEmojiOnly(value) {
74
+ if (!value.trim())
75
+ return false;
76
+ const stripped = value.replace(/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Symbol}\s]/gu, '');
77
+ return stripped.length === 0;
78
+ }
64
79
  /** "16px", "2rem", "100vh", "0.5s" */
65
80
  const CSS_VALUE_RE = /^-?\d+(\.\d+)?(px|em|rem|vh|vw|vmin|vmax|pt|cm|mm|in|pc|ex|ch|%|s|ms)$/;
66
81
  /** "#fff", "#ffffff", "#ffffffff" */
@@ -131,6 +146,10 @@ export function shouldIgnore(value, options) {
131
146
  return true;
132
147
  if (ENV_VAR_RE.test(trimmed))
133
148
  return true;
149
+ if (NUMERIC_WITH_AFFIX_RE.test(trimmed))
150
+ return true;
151
+ if (isSymbolOrEmojiOnly(trimmed))
152
+ return true;
134
153
  if (TECHNICAL_KEYWORDS.has(trimmed))
135
154
  return true;
136
155
  if (isCamelCaseIdentifier(trimmed))
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/scanner/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/scanner/filters.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type SourceFile } from 'ts-morph';
2
2
  /** Type de string trouvée dans le code source. */
3
- export type StringType = 'jsx-text' | 'jsx-attribute' | 'template-literal' | 'template-literal-dynamic';
3
+ export type StringType = 'jsx-text' | 'jsx-attribute' | 'template-literal' | 'template-literal-dynamic' | 'string-literal';
4
4
  /** Une string traduisible extraite du code source. */
5
5
  export interface ExtractedString {
6
6
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"string-extractor.d.ts","sourceRoot":"","sources":["../../src/scanner/string-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAE7D,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,0BAA0B,CAAC;AAE/B,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aAUlC,CAAC;AA8CH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CA+E1F"}
1
+ {"version":3,"file":"string-extractor.d.ts","sourceRoot":"","sources":["../../src/scanner/string-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAE7D,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,0BAA0B,GAC1B,gBAAgB,CAAC;AAErB,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aAUlC,CAAC;AAgGH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CA4F1F"}
@@ -51,6 +51,57 @@ function isFirstArgOfTCall(node) {
51
51
  const args = parent.getArguments();
52
52
  return args.length > 0 && args[0] === node;
53
53
  }
54
+ /** Noms de propriétés dont les valeurs sont techniques (pas de traduction). */
55
+ const TECHNICAL_PROPERTY_NAMES = new Set([
56
+ 'key', 'id', 'className', 'class', 'style', 'type',
57
+ 'href', 'src', 'srcSet', 'action', 'method', 'target', 'rel',
58
+ 'role', 'htmlFor', 'icon', 'color', 'variant', 'size',
59
+ 'as', 'component', 'testId', 'dataTestId', 'data-testid', 'data-cy',
60
+ 'path', 'route', 'url', 'pattern', 'regex', 'format', 'encoding',
61
+ 'charset', 'mime', 'mimeType', 'contentType',
62
+ ]);
63
+ /**
64
+ * Vérifie si un StringLiteral est dans un contexte non traduisible :
65
+ * import, export, type, enum, new Error(), console.*, etc.
66
+ */
67
+ function isInNonExtractableContext(node) {
68
+ const parent = node.getParent();
69
+ if (!parent)
70
+ return true;
71
+ // Propriété name d'un objet (clé, pas valeur)
72
+ if (Node.isPropertyAssignment(parent) && parent.getNameNode() === node)
73
+ return true;
74
+ // Valeur d'une propriété technique (icon, type, className, etc.)
75
+ if (Node.isPropertyAssignment(parent)) {
76
+ const propName = parent.getName();
77
+ if (TECHNICAL_PROPERTY_NAMES.has(propName))
78
+ return true;
79
+ }
80
+ // new Error(), new TypeError(), etc.
81
+ if (Node.isNewExpression(parent))
82
+ return true;
83
+ // Appels à des fonctions techniques
84
+ if (Node.isCallExpression(parent)) {
85
+ const callee = parent.getExpression().getText();
86
+ if (/^(console\.\w+|require|Error|JSON\.\w+|parseInt|parseFloat|fetch|addEventListener|removeEventListener)$/.test(callee))
87
+ return true;
88
+ }
89
+ // Remonter l'arbre pour les contextes structurels
90
+ let current = parent;
91
+ while (current) {
92
+ if (Node.isImportDeclaration(current) || Node.isExportDeclaration(current))
93
+ return true;
94
+ if (Node.isTypeAliasDeclaration(current) || Node.isInterfaceDeclaration(current))
95
+ return true;
96
+ if (Node.isEnumDeclaration(current))
97
+ return true;
98
+ // JSX attribute — handled separately by attribute extractor
99
+ if (Node.isJsxAttribute(current))
100
+ return true;
101
+ current = current.getParent();
102
+ }
103
+ return false;
104
+ }
54
105
  function getLocation(node) {
55
106
  return {
56
107
  line: node.getStartLineNumber(),
@@ -130,6 +181,19 @@ export function extractStrings(sourceFile, filePath) {
130
181
  variables,
131
182
  });
132
183
  }
184
+ // String literals dans les déclarations de variables, objets, tableaux
185
+ // (ex: const data = [{ name: "Salle de musculation" }])
186
+ for (const node of sourceFile.getDescendantsOfKind(SyntaxKind.StringLiteral)) {
187
+ if (isFirstArgOfTCall(node))
188
+ continue;
189
+ if (isInNonExtractableContext(node))
190
+ continue;
191
+ const value = node.getLiteralValue().trim();
192
+ if (!value)
193
+ continue;
194
+ const loc = getLocation(node);
195
+ results.push({ value, type: 'string-literal', filePath, ...loc });
196
+ }
133
197
  return results;
134
198
  }
135
199
  //# sourceMappingURL=string-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-extractor.js","sourceRoot":"","sources":["../../src/scanner/string-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-extractor.js","sourceRoot":"","sources":["../../src/scanner/string-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/utils/deps.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiBvF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/utils/deps.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiBvF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -44,10 +44,12 @@ export async function isPackageInstalled(projectRoot, packageName) {
44
44
  */
45
45
  export async function installPackage(projectRoot, packageName) {
46
46
  const pm = await detectPackageManager(projectRoot);
47
+ // Sur Windows, les exécutables npm/yarn/pnpm sont des scripts .cmd
48
+ const isWin = process.platform === 'win32';
47
49
  const commands = {
48
- npm: ['npm', ['install', packageName]],
49
- yarn: ['yarn', ['add', packageName]],
50
- pnpm: ['pnpm', ['add', packageName]],
50
+ npm: [isWin ? 'npm.cmd' : 'npm', ['install', packageName]],
51
+ yarn: [isWin ? 'yarn.cmd' : 'yarn', ['add', packageName]],
52
+ pnpm: [isWin ? 'pnpm.cmd' : 'pnpm', ['add', packageName]],
51
53
  };
52
54
  const [cmd, args] = commands[pm];
53
55
  await execFileAsync(cmd, args, { cwd: projectRoot });
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/utils/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAI1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IAC5D,MAAM,MAAM,GAA+B;QACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;QACrB,CAAC,mBAAmB,EAAE,KAAK,CAAC;KAC7B,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,WAAmB;IAC/E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAA+C;QAC3D,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;KACrC,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/utils/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAI1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IAC5D,MAAM,MAAM,GAA+B;QACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;QACrB,CAAC,mBAAmB,EAAE,KAAK,CAAC;KAC7B,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,WAAmB;IAC/E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEnD,mEAAmE;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC3C,MAAM,QAAQ,GAA+C;QAC3D,GAAG,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC,CAAC,KAAK,EAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AACvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-auto-i18n",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Automatically translate your Next.js project in under 5 minutes",
5
5
  "type": "module",
6
6
  "main": "./dist/cli/index.js",
@@ -54,6 +54,14 @@
54
54
  "ora": "^9.3.0",
55
55
  "ts-morph": "^22.0.0"
56
56
  },
57
+ "peerDependencies": {
58
+ "next-intl": ">=3.0.0"
59
+ },
60
+ "peerDependenciesMeta": {
61
+ "next-intl": {
62
+ "optional": false
63
+ }
64
+ },
57
65
  "devDependencies": {
58
66
  "@types/node": "^20.0.0",
59
67
  "@types/react": "^19.2.14",