@el-j/google-sheet-translations 2.2.0 → 3.0.0-beta.13
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/README.md +44 -1
- package/dist/action-entrypoint.d.ts.map +1 -1
- package/dist/core/rowTransformer.d.ts +26 -0
- package/dist/core/rowTransformer.d.ts.map +1 -0
- package/dist/esm/index.js +9549 -2524
- package/dist/getMultipleSpreadSheetsData.d.ts.map +1 -1
- package/dist/getSpreadSheetData.d.ts +3 -3
- package/dist/getSpreadSheetData.d.ts.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9656 -2611
- package/dist/migration/migrateV3.d.ts +60 -0
- package/dist/migration/migrateV3.d.ts.map +1 -0
- package/dist/providers/assetContracts.d.ts +88 -0
- package/dist/providers/assetContracts.d.ts.map +1 -0
- package/dist/providers/capabilities.d.ts +50 -0
- package/dist/providers/capabilities.d.ts.map +1 -0
- package/dist/providers/catalog.d.ts +73 -0
- package/dist/providers/catalog.d.ts.map +1 -0
- package/dist/providers/config.d.ts +56 -0
- package/dist/providers/config.d.ts.map +1 -0
- package/dist/providers/contracts.d.ts +138 -0
- package/dist/providers/contracts.d.ts.map +1 -0
- package/dist/providers/cryptpad/assetProvider.d.ts +37 -0
- package/dist/providers/cryptpad/assetProvider.d.ts.map +1 -0
- package/dist/providers/cryptpad/chainpad.d.ts +15 -0
- package/dist/providers/cryptpad/chainpad.d.ts.map +1 -0
- package/dist/providers/cryptpad/client.d.ts +195 -0
- package/dist/providers/cryptpad/client.d.ts.map +1 -0
- package/dist/providers/cryptpad/crypto.d.ts +46 -0
- package/dist/providers/cryptpad/crypto.d.ts.map +1 -0
- package/dist/providers/cryptpad/driveCatalogProvider.d.ts +23 -0
- package/dist/providers/cryptpad/driveCatalogProvider.d.ts.map +1 -0
- package/dist/providers/cryptpad/driveClient.d.ts +42 -0
- package/dist/providers/cryptpad/driveClient.d.ts.map +1 -0
- package/dist/providers/cryptpad/fullProvider.d.ts +48 -0
- package/dist/providers/cryptpad/fullProvider.d.ts.map +1 -0
- package/dist/providers/cryptpad/index.d.ts +25 -0
- package/dist/providers/cryptpad/index.d.ts.map +1 -0
- package/dist/providers/cryptpad/netflux.d.ts +27 -0
- package/dist/providers/cryptpad/netflux.d.ts.map +1 -0
- package/dist/providers/cryptpad/provider.d.ts +37 -0
- package/dist/providers/cryptpad/provider.d.ts.map +1 -0
- package/dist/providers/cryptpad/sheetOutputProvider.d.ts +46 -0
- package/dist/providers/cryptpad/sheetOutputProvider.d.ts.map +1 -0
- package/dist/providers/cryptpad/sheetParser.d.ts +196 -0
- package/dist/providers/cryptpad/sheetParser.d.ts.map +1 -0
- package/dist/providers/cryptpad/sheetProvider.d.ts +38 -0
- package/dist/providers/cryptpad/sheetProvider.d.ts.map +1 -0
- package/dist/providers/cryptpad/sheetSyncProvider.d.ts +46 -0
- package/dist/providers/cryptpad/sheetSyncProvider.d.ts.map +1 -0
- package/dist/providers/google/index.d.ts +4 -0
- package/dist/providers/google/index.d.ts.map +1 -0
- package/dist/providers/google/providers.d.ts +106 -0
- package/dist/providers/google/providers.d.ts.map +1 -0
- package/dist/providers/index.d.ts +25 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/orchestrator.d.ts +74 -0
- package/dist/providers/orchestrator.d.ts.map +1 -0
- package/dist/providers/runtime.d.ts +30 -0
- package/dist/providers/runtime.d.ts.map +1 -0
- package/dist/providers/syncEngine.d.ts +107 -0
- package/dist/providers/syncEngine.d.ts.map +1 -0
- package/dist/setup/cryptpadCli.d.ts +2 -0
- package/dist/setup/cryptpadCli.d.ts.map +1 -0
- package/dist/setup/gcpTransport.d.ts +25 -0
- package/dist/setup/gcpTransport.d.ts.map +1 -1
- package/dist/setup/migrateV3Cli.d.ts +2 -0
- package/dist/setup/migrateV3Cli.d.ts.map +1 -0
- package/dist/setup/providerCli.d.ts +2 -0
- package/dist/setup/providerCli.d.ts.map +1 -0
- package/dist/setup/wifSetup.d.ts +1 -1
- package/dist/setup/wifSetup.d.ts.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/auth.d.ts +1 -1
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/configurationHandler.d.ts.map +1 -1
- package/dist/utils/dataConverter/convertFromDataJsonFormat.d.ts +1 -1
- package/dist/utils/dataConverter/convertFromDataJsonFormat.d.ts.map +1 -1
- package/dist/utils/dataConverter/convertToDataJsonFormat.d.ts +1 -1
- package/dist/utils/dataConverter/convertToDataJsonFormat.d.ts.map +1 -1
- package/dist/utils/dataConverter/findLocalChanges.d.ts +1 -1
- package/dist/utils/dataConverter/findLocalChanges.d.ts.map +1 -1
- package/dist/utils/docIngester.d.ts.map +1 -1
- package/dist/utils/docParser.d.ts.map +1 -1
- package/dist/utils/driveDocScanner.d.ts.map +1 -1
- package/dist/utils/driveFolderScanner.d.ts.map +1 -1
- package/dist/utils/driveImageSync.d.ts.map +1 -1
- package/dist/utils/driveSpreadsheetBootstrap.d.ts.map +1 -1
- package/dist/utils/fileWriter.d.ts +1 -1
- package/dist/utils/fileWriter.d.ts.map +1 -1
- package/dist/utils/getDriveTranslations.d.ts.map +1 -1
- package/dist/utils/isDataJsonNewer.d.ts.map +1 -1
- package/dist/utils/localImageUtils.d.ts.map +1 -1
- package/dist/utils/localeFilter.d.ts.map +1 -1
- package/dist/utils/localeNormalizer.d.ts.map +1 -1
- package/dist/utils/multiSpreadsheetMerger.d.ts.map +1 -1
- package/dist/utils/publicSheetReader.d.ts +1 -1
- package/dist/utils/publicSheetReader.d.ts.map +1 -1
- package/dist/utils/rateLimiter.d.ts.map +1 -1
- package/dist/utils/readDataJson.d.ts +1 -1
- package/dist/utils/sheetProcessor.d.ts +4 -9
- package/dist/utils/sheetProcessor.d.ts.map +1 -1
- package/dist/utils/spreadsheetCreator.d.ts +1 -1
- package/dist/utils/spreadsheetCreator.d.ts.map +1 -1
- package/dist/utils/spreadsheetFormulas.d.ts +1 -1
- package/dist/utils/spreadsheetFormulas.d.ts.map +1 -1
- package/dist/utils/spreadsheetUpdater.d.ts +3 -3
- package/dist/utils/spreadsheetUpdater.d.ts.map +1 -1
- package/dist/utils/syncManager.d.ts +2 -2
- package/dist/utils/syncManager.d.ts.map +1 -1
- package/dist/utils/translationDataStats.d.ts +13 -0
- package/dist/utils/translationDataStats.d.ts.map +1 -0
- package/dist/utils/translationHelpers.d.ts.map +1 -1
- package/dist/utils/validateEnv.d.ts +1 -1
- package/dist/utils/validateEnv.d.ts.map +1 -1
- package/dist/utils/wait.d.ts.map +1 -1
- package/dist-cli/cryptpad.mjs +6363 -0
- package/dist-cli/migrate-v3.mjs +406 -0
- package/dist-cli/run-provider.mjs +7441 -0
- package/dist-cli/setup-wif.mjs +334 -18949
- package/package.json +47 -24
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ A Node.js package for managing translations stored in Google Sheets.
|
|
|
15
15
|
- ✅ **Smart Locale Filtering**: Only locales with actual translations in content sheets are included in output files
|
|
16
16
|
- ✅ **TypeScript Support**: Full TypeScript definitions included
|
|
17
17
|
- ✅ **Modular Architecture**: Well-tested, maintainable codebase with clear separation of concerns
|
|
18
|
-
- ✅ **Next.js Integration**: Built-in support for Next.js static export workflows
|
|
18
|
+
- ✅ **Next.js & Astro Integration**: Built-in support for Next.js static export workflows and Astro build-time hooks
|
|
19
19
|
- ✅ **Flexible Configuration**: Customizable paths, wait times, and processing options
|
|
20
20
|
- ✅ **GitHub Action**: One-step CI integration via `el-j/google-sheet-translations@v2` — see [GitHub Action](#github-action)
|
|
21
21
|
|
|
@@ -291,6 +291,7 @@ For more detailed examples, check out the [examples directory](examples) where y
|
|
|
291
291
|
- Bidirectional sync
|
|
292
292
|
- Auto-translation
|
|
293
293
|
- Next.js integration
|
|
294
|
+
- Astro integration
|
|
294
295
|
|
|
295
296
|
## GitHub Action
|
|
296
297
|
|
|
@@ -383,6 +384,8 @@ jobs:
|
|
|
383
384
|
| `spreadsheet-ids` | ❌ | `''` | Optional extra spreadsheet IDs to merge with any IDs discovered in Drive |
|
|
384
385
|
| `sync-images` | ❌ | `false` | Download Drive images alongside translation sync |
|
|
385
386
|
| `image-output-path` | ❌ | `./public/remote-images` | Output directory for downloaded Drive images when `sync-images` is enabled |
|
|
387
|
+
| `provider-config` | ❌ | `''` | Inline JSON for v3 provider runtime config (mutually exclusive with `provider-config-path`) |
|
|
388
|
+
| `provider-config-path` | ❌ | `''` | Path to provider runtime config JSON file in the repo (mutually exclusive with `provider-config`) |
|
|
386
389
|
|
|
387
390
|
### Drive Folder Mode
|
|
388
391
|
|
|
@@ -404,6 +407,46 @@ See the full Drive Folder guide in `website/guide/drive-folder.md` for the compl
|
|
|
404
407
|
| `locales-file` | Absolute path of the generated `locales.ts` |
|
|
405
408
|
| `data-json-file` | Absolute path of the `languageData.json` snapshot |
|
|
406
409
|
|
|
410
|
+
## Provider Runtime CLI (v3)
|
|
411
|
+
|
|
412
|
+
In addition to `gst-setup-wif`, the package ships `gst-run-provider` for provider-config driven execution:
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
gst-run-provider --config=provider.config.json --sheet-titles=home,about
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
For existing workflows, use `gst-migrate-v3` to generate provider config from legacy action inputs:
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
gst-migrate-v3 --dry-run
|
|
422
|
+
gst-migrate-v3 --dry-run --parity-check
|
|
423
|
+
gst-migrate-v3 --write-workflows --provider-config-path=.github/provider.config.json
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
If a config already exists and should be replaced:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
gst-migrate-v3 --force --provider-config-path=.github/provider.config.json
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
Example `provider.config.json` for CryptPad CSV input:
|
|
433
|
+
|
|
434
|
+
```json
|
|
435
|
+
{
|
|
436
|
+
"input": {
|
|
437
|
+
"provider": "cryptpad-csv",
|
|
438
|
+
"options": {
|
|
439
|
+
"sources": [
|
|
440
|
+
{
|
|
441
|
+
"tableName": "home",
|
|
442
|
+
"url": "https://cryptpad.fr/.../export.csv"
|
|
443
|
+
}
|
|
444
|
+
]
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
407
450
|
### Auto-Create Feature
|
|
408
451
|
|
|
409
452
|
If `google-spreadsheet-id` is left empty and `auto-create` is `true` (the default), the action will automatically create a new Google Spreadsheet using your service-account credentials. The spreadsheet is pre-populated with an `i18n` starter sheet containing `GOOGLETRANSLATE` formulas for every locale listed in `target-locales`. The new spreadsheet ID is printed to the workflow log and written to your `.env` file (if one exists in the repository root), allowing you to commit it and reuse it in future runs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-entrypoint.d.ts","sourceRoot":"","sources":["../src/action-entrypoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-entrypoint.d.ts","sourceRoot":"","sources":["../src/action-entrypoint.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmMzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SheetRow, TranslationData } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Result of processing a single sheet.
|
|
4
|
+
*/
|
|
5
|
+
export interface SheetProcessingResult {
|
|
6
|
+
translations: TranslationData;
|
|
7
|
+
locales: string[];
|
|
8
|
+
localeMapping: Record<string, string>;
|
|
9
|
+
originalMapping: Record<string, string>;
|
|
10
|
+
success: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface LocaleMappingResult {
|
|
13
|
+
normalizedLocales: string[];
|
|
14
|
+
localeMapping: Record<string, string>;
|
|
15
|
+
originalMapping: Record<string, string>;
|
|
16
|
+
}
|
|
17
|
+
export interface RowTransformerDependencies {
|
|
18
|
+
filterValidLocales: (headerRow: string[], keyColumn: string) => string[];
|
|
19
|
+
createLocaleMapping: (originalHeaders: string[], keyColumn: string) => LocaleMappingResult;
|
|
20
|
+
logger?: Pick<Console, 'warn' | 'error' | 'log'>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Pure transformation core: converts canonical rows into TranslationData for one sheet.
|
|
24
|
+
*/
|
|
25
|
+
export declare function transformRowsToSheetData(rows: SheetRow[], sheetTitle: string, deps: RowTransformerDependencies): SheetProcessingResult;
|
|
26
|
+
//# sourceMappingURL=rowTransformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowTransformer.d.ts","sourceRoot":"","sources":["../../src/core/rowTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACzE,mBAAmB,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,mBAAmB,CAAC;IAC3F,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EAAE,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,0BAA0B,GAC/B,qBAAqB,CA8EvB"}
|