@localheroai/cli 0.0.74 → 0.0.75-rc.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.
- package/dist/api/pull-request-imports.js +9 -1
- package/dist/api/pull-request-imports.js.map +1 -1
- package/dist/api/source-alignments.js +46 -0
- package/dist/api/source-alignments.js.map +1 -0
- package/dist/commands/check.js +1 -4
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/ci.js +4 -1
- package/dist/commands/ci.js.map +1 -1
- package/dist/commands/init.js +11 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/translate.js +127 -39
- package/dist/commands/translate.js.map +1 -1
- package/dist/utils/aligned-import.js +105 -0
- package/dist/utils/aligned-import.js.map +1 -0
- package/dist/utils/aligned-values-on-disk.js +39 -0
- package/dist/utils/aligned-values-on-disk.js.map +1 -0
- package/dist/utils/alignment-candidates.js +75 -0
- package/dist/utils/alignment-candidates.js.map +1 -0
- package/dist/utils/ci-context.js +3 -0
- package/dist/utils/ci-context.js.map +1 -1
- package/dist/utils/git-changes.js +32 -5
- package/dist/utils/git-changes.js.map +1 -1
- package/dist/utils/git.js +21 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/github-graphql.js +31 -14
- package/dist/utils/github-graphql.js.map +1 -1
- package/dist/utils/github.js +144 -46
- package/dist/utils/github.js.map +1 -1
- package/dist/utils/project-detection.js +75 -3
- package/dist/utils/project-detection.js.map +1 -1
- package/dist/utils/source-alignment.js +166 -0
- package/dist/utils/source-alignment.js.map +1 -0
- package/dist/utils/target-changes.js +12 -7
- package/dist/utils/target-changes.js.map +1 -1
- package/dist/utils/unreadable-files.js +24 -0
- package/dist/utils/unreadable-files.js.map +1 -0
- package/package.json +1 -1
package/dist/utils/github.js
CHANGED
|
@@ -3,7 +3,22 @@ import { promises as fs, existsSync } from 'fs';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { fetchGitHubInstallationToken } from '../api/github.js';
|
|
5
5
|
import { configService, PROJECT_CONFIG_FILE } from './config.js';
|
|
6
|
-
import { createSignedCommit, fetchBranchHead, StaleHeadError } from './github-graphql.js';
|
|
6
|
+
import { createSignedCommit, fetchBranchHead, fetchChangedPaths, StaleHeadError } from './github-graphql.js';
|
|
7
|
+
export const MISSING_TOKEN_ERROR = 'GITHUB_TOKEN is not set';
|
|
8
|
+
export const MISSING_BRANCH_ERROR = 'Could not determine branch name from GITHUB_HEAD_REF';
|
|
9
|
+
// Only an overlapping push is sure to start a new run: it touched locale files,
|
|
10
|
+
// which every generated `paths:` filter matches.
|
|
11
|
+
const TRANSLATE_SKIP_NOTICES = {
|
|
12
|
+
'skipped-overlap': 'Branch changed during the run and touched these translation files; skipping commit. The new push triggers a fresh run.',
|
|
13
|
+
'skipped-uncertain': 'Branch changed during the run; skipping commit to avoid overwriting newer work. Re-run the workflow to commit the translations.'
|
|
14
|
+
};
|
|
15
|
+
// A push never re-runs a sync, whatever it touched.
|
|
16
|
+
const SYNC_SKIP_NOTICES = {
|
|
17
|
+
'skipped-overlap': 'Branch changed during the sync and touched these translation files; skipping commit. Sync again from Localhero to commit the translations.',
|
|
18
|
+
'skipped-uncertain': 'Branch changed during the sync; skipping commit to avoid overwriting newer work. Sync again from Localhero to commit the translations.'
|
|
19
|
+
};
|
|
20
|
+
// A tip that keeps moving is a busy branch; stop chasing it and let a later run commit.
|
|
21
|
+
const MAX_COMMITS_ON_NEWER_TIP = 2;
|
|
7
22
|
const defaultDependencies = {
|
|
8
23
|
exec: (cmd, options) => execSync(cmd, options),
|
|
9
24
|
fs: { ...fs, existsSync },
|
|
@@ -13,7 +28,8 @@ const defaultDependencies = {
|
|
|
13
28
|
fetchGitHubInstallationToken,
|
|
14
29
|
configService,
|
|
15
30
|
createSignedCommit,
|
|
16
|
-
fetchBranchHead
|
|
31
|
+
fetchBranchHead,
|
|
32
|
+
fetchChangedPaths
|
|
17
33
|
};
|
|
18
34
|
export const DJANGO_PYTHON_VERSION = '3.12';
|
|
19
35
|
// Django expects locale names on disk (pt_BR), while config stores language codes
|
|
@@ -67,21 +83,22 @@ export const PHOENIX_OTP_VERSION = '28';
|
|
|
67
83
|
// workflow has to extract them first. Without this a PR that only touches source
|
|
68
84
|
// code runs green and translates nothing. Extraction is skipped on sync and dispatch
|
|
69
85
|
// runs, where the Action writes reviewed translations back and extraction would
|
|
70
|
-
// fight it.
|
|
86
|
+
// fight it, and on our own translation commits, which need none.
|
|
87
|
+
const EXTRACT_CONDITION = "github.event_name == 'pull_request' && github.actor != 'localhero-ai[bot]'";
|
|
71
88
|
// actions/setup-python provides python and pip, nothing else, so a project using
|
|
72
89
|
// uv, poetry or pipenv needs that tool installed before the install command runs.
|
|
73
90
|
const PYTHON_TOOL_SETUP = {
|
|
74
91
|
uv: ` - uses: astral-sh/setup-uv@v5
|
|
75
|
-
if:
|
|
92
|
+
if: ${EXTRACT_CONDITION}
|
|
76
93
|
|
|
77
94
|
`,
|
|
78
95
|
poetry: ` - name: Install poetry
|
|
79
|
-
if:
|
|
96
|
+
if: ${EXTRACT_CONDITION}
|
|
80
97
|
run: pipx install poetry
|
|
81
98
|
|
|
82
99
|
`,
|
|
83
100
|
pipenv: ` - name: Install pipenv
|
|
84
|
-
if:
|
|
101
|
+
if: ${EXTRACT_CONDITION}
|
|
85
102
|
run: pipx install pipenv
|
|
86
103
|
|
|
87
104
|
`
|
|
@@ -92,12 +109,12 @@ function buildPythonToolSetup(pythonInstall) {
|
|
|
92
109
|
}
|
|
93
110
|
function buildDjangoExtractStep(locales, pythonInstall = PIP_INSTALL) {
|
|
94
111
|
return ` - uses: actions/setup-python@v5
|
|
95
|
-
if:
|
|
112
|
+
if: ${EXTRACT_CONDITION}
|
|
96
113
|
with:
|
|
97
114
|
python-version: "${DJANGO_PYTHON_VERSION}"
|
|
98
115
|
|
|
99
116
|
${buildPythonToolSetup(pythonInstall)} - name: Extract messages
|
|
100
|
-
if:
|
|
117
|
+
if: ${EXTRACT_CONDITION}
|
|
101
118
|
run: |
|
|
102
119
|
sudo apt-get install -y -qq gettext
|
|
103
120
|
${pythonInstall}
|
|
@@ -116,13 +133,13 @@ function buildPhoenixExtractStep(workingDirectory) {
|
|
|
116
133
|
? `\n working-directory: ${workingDirectory}`
|
|
117
134
|
: '';
|
|
118
135
|
return ` - uses: erlef/setup-beam@v1
|
|
119
|
-
if:
|
|
136
|
+
if: ${EXTRACT_CONDITION}
|
|
120
137
|
with:
|
|
121
138
|
elixir-version: "${PHOENIX_ELIXIR_VERSION}"
|
|
122
139
|
otp-version: "${PHOENIX_OTP_VERSION}"
|
|
123
140
|
|
|
124
141
|
- name: Extract messages
|
|
125
|
-
if:
|
|
142
|
+
if: ${EXTRACT_CONDITION}${workingDirectoryLine}
|
|
126
143
|
run: |
|
|
127
144
|
mix deps.get
|
|
128
145
|
mix gettext.extract --merge
|
|
@@ -223,6 +240,7 @@ jobs:
|
|
|
223
240
|
with:
|
|
224
241
|
ref: \${{ github.event.client_payload.branch || github.head_ref || github.ref_name }}
|
|
225
242
|
fetch-depth: 0
|
|
243
|
+
persist-credentials: false
|
|
226
244
|
|
|
227
245
|
${buildExtractStep(options)} - name: Translate
|
|
228
246
|
uses: localheroai/localhero-action@v1
|
|
@@ -259,7 +277,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
259
277
|
getBranchName() {
|
|
260
278
|
const branchName = this.deps.env.GITHUB_HEAD_REF;
|
|
261
279
|
if (!branchName) {
|
|
262
|
-
throw new Error(
|
|
280
|
+
throw new Error(MISSING_BRANCH_ERROR);
|
|
263
281
|
}
|
|
264
282
|
return branchName;
|
|
265
283
|
},
|
|
@@ -363,7 +381,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
363
381
|
const { token: appToken, errorCode } = await this.fetchActionToken();
|
|
364
382
|
const finalToken = appToken || env.GITHUB_TOKEN;
|
|
365
383
|
if (!finalToken) {
|
|
366
|
-
throw new Error(
|
|
384
|
+
throw new Error(MISSING_TOKEN_ERROR);
|
|
367
385
|
}
|
|
368
386
|
if (appToken) {
|
|
369
387
|
log.log('✓ Using GitHub App token');
|
|
@@ -403,7 +421,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
403
421
|
async autoCommitSyncChanges(modifiedFiles, syncSummary, options) {
|
|
404
422
|
const { exec, console: log } = this.deps;
|
|
405
423
|
if (!this.isGitHubAction())
|
|
406
|
-
return;
|
|
424
|
+
return 'no-changes';
|
|
407
425
|
log.log('\nCommitting sync changes...');
|
|
408
426
|
try {
|
|
409
427
|
const branchName = options?.branchName || this.getBranchName();
|
|
@@ -417,11 +435,14 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
417
435
|
});
|
|
418
436
|
if (result === 'no-changes') {
|
|
419
437
|
log.log('No changes to commit - translations already up to date.');
|
|
438
|
+
return result;
|
|
420
439
|
}
|
|
421
|
-
|
|
440
|
+
if (result === 'new') {
|
|
422
441
|
log.log('✓ Signed commit created and pushed to GitHub\n');
|
|
442
|
+
return result;
|
|
423
443
|
}
|
|
424
|
-
|
|
444
|
+
log.log(`::warning::${SYNC_SKIP_NOTICES[result]}`);
|
|
445
|
+
return 'skipped';
|
|
425
446
|
}
|
|
426
447
|
this.configureGitUser();
|
|
427
448
|
for (const filePath of modifiedFiles) {
|
|
@@ -430,7 +451,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
430
451
|
exec(`git add ${PROJECT_CONFIG_FILE}`, { stdio: 'inherit' });
|
|
431
452
|
if (!this.hasStagedChanges()) {
|
|
432
453
|
log.log('No changes to commit - translations already up to date.');
|
|
433
|
-
return;
|
|
454
|
+
return 'no-changes';
|
|
434
455
|
}
|
|
435
456
|
const canAmend = this.canAmendLastCommit(true);
|
|
436
457
|
this.commit(commitMessage, canAmend);
|
|
@@ -442,6 +463,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
442
463
|
else {
|
|
443
464
|
log.log('✓ New commit created and pushed to GitHub\n');
|
|
444
465
|
}
|
|
466
|
+
return 'new';
|
|
445
467
|
}
|
|
446
468
|
catch (error) {
|
|
447
469
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -455,12 +477,20 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
455
477
|
*/
|
|
456
478
|
buildTranslateCommitMessage(translationSummary) {
|
|
457
479
|
let commitMessage = 'Update translations';
|
|
480
|
+
const summaryLines = [];
|
|
458
481
|
if (translationSummary && translationSummary.keysTranslated > 0) {
|
|
459
|
-
const { keysTranslated, languages
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
482
|
+
const { keysTranslated, languages } = translationSummary;
|
|
483
|
+
summaryLines.push(`${keysTranslated} ${keysTranslated > 1 ? 'keys' : 'key'} in ${languages.join(', ')}`);
|
|
484
|
+
}
|
|
485
|
+
const keysAligned = translationSummary?.keysAligned ?? 0;
|
|
486
|
+
if (keysAligned > 0) {
|
|
487
|
+
const alignedLanguages = (translationSummary?.alignedLanguages ?? []).join(', ');
|
|
488
|
+
summaryLines.push(`Aligned ${keysAligned} ${keysAligned > 1 ? 'keys' : 'key'} in ${alignedLanguages} to reworded source texts`);
|
|
489
|
+
}
|
|
490
|
+
if (summaryLines.length > 0) {
|
|
491
|
+
commitMessage += `\n\n${summaryLines.join('\n')}`;
|
|
492
|
+
if (translationSummary?.viewUrl) {
|
|
493
|
+
commitMessage += `\n\n${translationSummary.viewUrl}`;
|
|
464
494
|
}
|
|
465
495
|
}
|
|
466
496
|
const actor = this.deps.env.GITHUB_ACTOR;
|
|
@@ -494,7 +524,7 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
494
524
|
async autoCommitChanges(filesPath, translationSummary) {
|
|
495
525
|
const { exec, console: log } = this.deps;
|
|
496
526
|
if (!this.isGitHubAction())
|
|
497
|
-
return;
|
|
527
|
+
return 'no-changes';
|
|
498
528
|
log.log('Running in GitHub Actions. Committing changes...');
|
|
499
529
|
try {
|
|
500
530
|
const branchName = this.getBranchName();
|
|
@@ -508,22 +538,26 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
508
538
|
});
|
|
509
539
|
if (result === 'no-changes') {
|
|
510
540
|
log.log('No changes to commit.');
|
|
541
|
+
return result;
|
|
511
542
|
}
|
|
512
|
-
|
|
543
|
+
if (result === 'new') {
|
|
513
544
|
log.log('Signed commit pushed to GitHub.');
|
|
545
|
+
return result;
|
|
514
546
|
}
|
|
515
|
-
|
|
547
|
+
log.log(`::warning::${TRANSLATE_SKIP_NOTICES[result]}`);
|
|
548
|
+
return 'skipped';
|
|
516
549
|
}
|
|
517
550
|
this.configureGitUser();
|
|
518
551
|
exec(`git add ${filesPath}`, { stdio: 'inherit' });
|
|
519
552
|
if (!this.hasStagedChanges()) {
|
|
520
553
|
log.log('No changes to commit.');
|
|
521
|
-
return;
|
|
554
|
+
return 'no-changes';
|
|
522
555
|
}
|
|
523
556
|
this.commit(commitMessage);
|
|
524
557
|
const token = await this.getTokenForPush();
|
|
525
558
|
await this.pushWithRetry(branchName, token);
|
|
526
559
|
log.log('Changes committed and pushed successfully.');
|
|
560
|
+
return 'new';
|
|
527
561
|
}
|
|
528
562
|
catch (error) {
|
|
529
563
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -536,16 +570,21 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
536
570
|
* mutation. Produces signed commits attributed to the LocalHero App. Works
|
|
537
571
|
* with repos that enforce `required_signatures` rulesets.
|
|
538
572
|
*
|
|
539
|
-
* The new commit is stacked on
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
573
|
+
* The new commit is stacked on the checkout's HEAD, which is what the files
|
|
574
|
+
* were generated from. The mutation sends whole-file contents, so if the
|
|
575
|
+
* branch moved during the run and the newer commits changed any of our files,
|
|
576
|
+
* committing on the newer tip would revert them. GitHub rejects the stale
|
|
577
|
+
* `expectedHeadOid`; we then commit on the newer tip only when the newer
|
|
578
|
+
* commits left all of our files alone, and otherwise skip and let a later run
|
|
579
|
+
* redo the work. The mutation has no amend primitive, so sync PRs keep the
|
|
580
|
+
* bot's sync trigger commit as well.
|
|
543
581
|
*
|
|
544
|
-
* Returns 'no-changes' if
|
|
545
|
-
*
|
|
582
|
+
* Returns 'no-changes' if there are no files to commit, 'skipped-overlap'
|
|
583
|
+
* if a newer commit touched our files, 'skipped-uncertain' if that couldn't
|
|
584
|
+
* be ruled out, otherwise 'new'.
|
|
546
585
|
*/
|
|
547
586
|
async apiCommitAndPush(params) {
|
|
548
|
-
const {
|
|
587
|
+
const { exec, env } = this.deps;
|
|
549
588
|
const repository = env.GITHUB_REPOSITORY;
|
|
550
589
|
if (!repository) {
|
|
551
590
|
throw new Error('GITHUB_REPOSITORY is not set');
|
|
@@ -555,32 +594,91 @@ ${buildExtractStep(options)} - name: Translate
|
|
|
555
594
|
return 'no-changes';
|
|
556
595
|
}
|
|
557
596
|
const token = await this.getTokenForPush();
|
|
558
|
-
const
|
|
559
|
-
|
|
560
|
-
|
|
597
|
+
const checkoutHead = exec('git rev-parse HEAD', { stdio: 'pipe' }).toString().trim();
|
|
598
|
+
await this.warnIfCheckoutIsNotPullRequestHead(checkoutHead);
|
|
599
|
+
let expectedHeadOid = checkoutHead;
|
|
600
|
+
for (let commitsOnNewerTip = 0;; commitsOnNewerTip++) {
|
|
561
601
|
try {
|
|
562
|
-
const head = await this.deps.fetchBranchHead(repository, params.branchName, token);
|
|
563
|
-
const headlineAndBody = this.splitCommitMessage(params.message);
|
|
564
602
|
await this.deps.createSignedCommit({
|
|
565
603
|
repositoryNameWithOwner: repository,
|
|
566
604
|
branchName: params.branchName,
|
|
567
|
-
expectedHeadOid
|
|
568
|
-
message:
|
|
605
|
+
expectedHeadOid,
|
|
606
|
+
message: this.splitCommitMessage(params.message),
|
|
569
607
|
fileChanges: { additions },
|
|
570
608
|
token
|
|
571
609
|
});
|
|
572
610
|
return 'new';
|
|
573
611
|
}
|
|
574
612
|
catch (error) {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
613
|
+
if (!(error instanceof StaleHeadError))
|
|
614
|
+
throw error;
|
|
615
|
+
}
|
|
616
|
+
if (commitsOnNewerTip === MAX_COMMITS_ON_NEWER_TIP)
|
|
617
|
+
return 'skipped-uncertain';
|
|
618
|
+
const check = await this.findTipSafeToCommitOn({
|
|
619
|
+
repository,
|
|
620
|
+
branchName: params.branchName,
|
|
621
|
+
checkoutHead,
|
|
622
|
+
paths: additions.map(addition => addition.path),
|
|
623
|
+
token
|
|
624
|
+
});
|
|
625
|
+
if ('skipped' in check)
|
|
626
|
+
return check.skipped;
|
|
627
|
+
expectedHeadOid = check.tip;
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
/**
|
|
631
|
+
* The branch's current tip if every commit since the checkout left `paths`
|
|
632
|
+
* untouched, so our whole-file contents are still right on top of it.
|
|
633
|
+
* Otherwise why it isn't safe: a newer commit touched one of them, or that
|
|
634
|
+
* can't be ruled out.
|
|
635
|
+
*/
|
|
636
|
+
async findTipSafeToCommitOn(params) {
|
|
637
|
+
const { console: log } = this.deps;
|
|
638
|
+
const { repository, checkoutHead, token } = params;
|
|
639
|
+
try {
|
|
640
|
+
const tip = await this.deps.fetchBranchHead(repository, params.branchName, token);
|
|
641
|
+
const changedPaths = await this.deps.fetchChangedPaths(repository, checkoutHead, tip, token);
|
|
642
|
+
if (!changedPaths) {
|
|
643
|
+
log.log(`Could not get a complete list of the files changed since ${checkoutHead.slice(0, 7)}.`);
|
|
644
|
+
return { skipped: 'skipped-uncertain' };
|
|
581
645
|
}
|
|
646
|
+
const changed = new Set(changedPaths);
|
|
647
|
+
const overlap = params.paths.find(filePath => changed.has(filePath));
|
|
648
|
+
if (overlap) {
|
|
649
|
+
log.log(`Newer commits on the branch changed ${overlap}.`);
|
|
650
|
+
return { skipped: 'skipped-overlap' };
|
|
651
|
+
}
|
|
652
|
+
return { tip };
|
|
653
|
+
}
|
|
654
|
+
catch (error) {
|
|
655
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
656
|
+
log.log(`Could not check the newer commits on the branch: ${message}`);
|
|
657
|
+
return { skipped: 'skipped-uncertain' };
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
/**
|
|
661
|
+
* The default actions/checkout on pull_request checks out a merge commit,
|
|
662
|
+
* which is never the branch tip, so every signed commit would be skipped.
|
|
663
|
+
*/
|
|
664
|
+
async warnIfCheckoutIsNotPullRequestHead(checkoutHead) {
|
|
665
|
+
const { fs, env, console: log } = this.deps;
|
|
666
|
+
const eventPath = env.GITHUB_EVENT_PATH;
|
|
667
|
+
if (!eventPath || !fs.existsSync(eventPath))
|
|
668
|
+
return;
|
|
669
|
+
let pullRequestHead;
|
|
670
|
+
try {
|
|
671
|
+
const event = JSON.parse((await fs.readFile(eventPath, 'utf8')).toString());
|
|
672
|
+
pullRequestHead = event?.pull_request?.head?.sha;
|
|
582
673
|
}
|
|
583
|
-
|
|
674
|
+
catch {
|
|
675
|
+
return;
|
|
676
|
+
}
|
|
677
|
+
if (typeof pullRequestHead !== 'string' || pullRequestHead === checkoutHead)
|
|
678
|
+
return;
|
|
679
|
+
log.log(`::warning::Signed commits need the pull request branch checked out. This run checked out ${checkoutHead.slice(0, 7)}, ` +
|
|
680
|
+
`not the pull request head ${pullRequestHead.slice(0, 7)}, which is likely why the commit gets skipped. ` +
|
|
681
|
+
'Set `ref: ${{ github.head_ref }}` on actions/checkout.');
|
|
584
682
|
},
|
|
585
683
|
async readFilesAsAdditions(filePaths) {
|
|
586
684
|
const { fs } = this.deps;
|
package/dist/utils/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/utils/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/utils/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { promises as fs } from 'fs';
|
|
2
|
+
import { glob, escape } from 'glob';
|
|
2
3
|
import { findFirstExistingPath, findFirstGettextCatalogPath, getDirectoryContents } from './files.js';
|
|
3
4
|
export const PROJECT_TYPES = {
|
|
4
5
|
django: {
|
|
@@ -20,7 +21,9 @@ export const PROJECT_TYPES = {
|
|
|
20
21
|
]
|
|
21
22
|
},
|
|
22
23
|
rails: {
|
|
23
|
-
|
|
24
|
+
// Not Gemfile: React Native and other JS apps ship one for CocoaPods and fastlane.
|
|
25
|
+
// A Ruby project without config/application.rb is still found by the generic scan.
|
|
26
|
+
directIndicators: ['config/application.rb'],
|
|
24
27
|
defaults: {
|
|
25
28
|
translationPath: 'config/locales/',
|
|
26
29
|
filePattern: '**/*.{yml,yaml}'
|
|
@@ -63,7 +66,6 @@ export const PROJECT_TYPES = {
|
|
|
63
66
|
]
|
|
64
67
|
},
|
|
65
68
|
nextjs: {
|
|
66
|
-
directIndicators: ['next.config.js', 'next.config.mjs'],
|
|
67
69
|
packageCheck: {
|
|
68
70
|
requires: ['next'],
|
|
69
71
|
oneOf: ['next-i18next', 'next-translate']
|
|
@@ -95,7 +97,7 @@ export const PROJECT_TYPES = {
|
|
|
95
97
|
]
|
|
96
98
|
},
|
|
97
99
|
i18next: {
|
|
98
|
-
directIndicators: ['i18next.config.js', 'i18n.js', 'i18n/index.js'],
|
|
100
|
+
directIndicators: ['i18next.config.ts', 'i18next.config.js', 'i18n.js', 'i18n/index.js'],
|
|
99
101
|
packageCheck: {
|
|
100
102
|
requires: ['i18next']
|
|
101
103
|
},
|
|
@@ -103,8 +105,20 @@ export const PROJECT_TYPES = {
|
|
|
103
105
|
translationPath: 'public/locales/',
|
|
104
106
|
filePattern: '**/*.json'
|
|
105
107
|
},
|
|
108
|
+
outputConfigFiles: [
|
|
109
|
+
'i18next.config.ts',
|
|
110
|
+
'i18next.config.js',
|
|
111
|
+
'i18next.config.mjs',
|
|
112
|
+
'i18next-parser.config.js',
|
|
113
|
+
'i18next-parser.config.mjs',
|
|
114
|
+
'i18next-parser.config.cjs',
|
|
115
|
+
'i18next-parser.config.ts'
|
|
116
|
+
],
|
|
106
117
|
commonPaths: [
|
|
107
118
|
'public/locales',
|
|
119
|
+
'app/i18n/locales',
|
|
120
|
+
'src/app/i18n/locales',
|
|
121
|
+
'src/i18n/locales',
|
|
108
122
|
'src/locales',
|
|
109
123
|
'locales',
|
|
110
124
|
'src/i18n',
|
|
@@ -248,6 +262,35 @@ async function detectFramework(config) {
|
|
|
248
262
|
}
|
|
249
263
|
return false;
|
|
250
264
|
}
|
|
265
|
+
const OUTPUT_PATTERN = /\boutput\s*:\s*['"`]([^'"`]+)['"`]/;
|
|
266
|
+
const OUTPUT_PLACEHOLDER = /\{\{|\$[A-Z]/;
|
|
267
|
+
const COMMENTS = /\/\*[\s\S]*?\*\/|^\s*\/\/.*$/gm;
|
|
268
|
+
const PATTERN_SCAN_IGNORE = ['**/node_modules/**', '**/.git/**', '**/vendor/**', '**/dist/**', '**/build/**'];
|
|
269
|
+
// The directory before the first language or namespace placeholder in an
|
|
270
|
+
// i18next-cli (`{{language}}`) or i18next-parser (`$LOCALE`) output template.
|
|
271
|
+
function localeDirFromOutputTemplate(template) {
|
|
272
|
+
const segments = template.replace(/^\.[\\/]/, '').split(/[\\/]/);
|
|
273
|
+
const firstDynamic = segments.findIndex(segment => OUTPUT_PLACEHOLDER.test(segment));
|
|
274
|
+
if (firstDynamic <= 0)
|
|
275
|
+
return null;
|
|
276
|
+
return segments.slice(0, firstDynamic).join('/');
|
|
277
|
+
}
|
|
278
|
+
async function translationPathFromOutputConfig(configFiles) {
|
|
279
|
+
for (const file of configFiles) {
|
|
280
|
+
let content;
|
|
281
|
+
try {
|
|
282
|
+
content = await fs.readFile(file, 'utf8');
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
const template = content.replace(COMMENTS, '').match(OUTPUT_PATTERN)?.[1];
|
|
288
|
+
const localeDir = template ? localeDirFromOutputTemplate(template) : null;
|
|
289
|
+
if (localeDir && await findFirstExistingPath([localeDir]))
|
|
290
|
+
return localeDir;
|
|
291
|
+
}
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
251
294
|
export function buildFilePatternFromContents(contents) {
|
|
252
295
|
const formats = [];
|
|
253
296
|
if (contents.jsonFiles.length > 0)
|
|
@@ -264,6 +307,22 @@ export function buildFilePatternFromContents(contents) {
|
|
|
264
307
|
}
|
|
265
308
|
return `**/*.{${formats.join(',')}}`;
|
|
266
309
|
}
|
|
310
|
+
// The pattern for a directory the user chose over the detected one, read from the
|
|
311
|
+
// files actually in it. Null when it holds no translation files to go by.
|
|
312
|
+
export async function filePatternForDirectory(dir) {
|
|
313
|
+
const root = dir.replace(/\/+$/, '');
|
|
314
|
+
const files = await glob(`${escape(root)}/**/*.{json,yml,yaml,po,pot}`, { ignore: PATTERN_SCAN_IGNORE });
|
|
315
|
+
if (files.length === 0)
|
|
316
|
+
return null;
|
|
317
|
+
const pattern = buildFilePatternFromContents({
|
|
318
|
+
files,
|
|
319
|
+
jsonFiles: files.filter(f => f.endsWith('.json')),
|
|
320
|
+
yamlFiles: files.filter(f => f.endsWith('.yml') || f.endsWith('.yaml')),
|
|
321
|
+
poFiles: files.filter(f => f.endsWith('.po') || f.endsWith('.pot'))
|
|
322
|
+
});
|
|
323
|
+
const hasPot = files.some(f => f.endsWith('.pot'));
|
|
324
|
+
return hasPot && pattern === '**/*.po' ? '**/*.{po,pot}' : pattern;
|
|
325
|
+
}
|
|
267
326
|
export async function detectProjectType() {
|
|
268
327
|
for (const [type, config] of Object.entries(PROJECT_TYPES)) {
|
|
269
328
|
if (!config.directIndicators?.length && !config.packageCheck)
|
|
@@ -271,6 +330,19 @@ export async function detectProjectType() {
|
|
|
271
330
|
const isFramework = await detectFramework(config);
|
|
272
331
|
if (!isFramework)
|
|
273
332
|
continue;
|
|
333
|
+
const configuredPath = config.outputConfigFiles
|
|
334
|
+
? await translationPathFromOutputConfig(config.outputConfigFiles)
|
|
335
|
+
: null;
|
|
336
|
+
if (configuredPath) {
|
|
337
|
+
return {
|
|
338
|
+
type,
|
|
339
|
+
defaults: {
|
|
340
|
+
...config.defaults,
|
|
341
|
+
translationPath: `${configuredPath}/`,
|
|
342
|
+
commonPaths: config.commonPaths
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
}
|
|
274
346
|
if (config.commonPaths) {
|
|
275
347
|
// For gettext projects the catalog check is authoritative: falling back to a
|
|
276
348
|
// name-only match would re-propose the directories it just rejected (a Django
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../src/utils/project-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../src/utils/project-detection.ts"],"names":[],"mappings":"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"}
|