gtx-cli 2.6.31 → 2.7.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/CHANGELOG.md +4 -1261
- package/README.md +12 -3
- package/dist/bin/bin-entry.js +2 -1
- package/dist/config/generateSettings.d.ts +1 -9
- package/dist/config/generateSettings.js +1 -214
- package/dist/config/resolveConfig.d.ts +1 -4
- package/dist/config/resolveConfig.js +1 -33
- package/dist/fs/config/setupConfig.d.ts +1 -17
- package/dist/fs/config/setupConfig.js +1 -50
- package/dist/fs/matchFiles.d.ts +1 -1
- package/dist/fs/matchFiles.js +1 -8
- package/dist/functions.d.ts +1 -7
- package/dist/functions.js +1 -6
- package/dist/index.d.ts +1 -4
- package/dist/index.js +1 -27
- package/dist/main.js +2 -2
- package/dist/next/parse/handleInitGT.d.ts +1 -7
- package/dist/next/parse/handleInitGT.js +1 -157
- package/dist/next/parse/wrapContent.d.ts +1 -12
- package/dist/next/parse/wrapContent.js +1 -164
- package/dist/react/parse/wrapContent.d.ts +1 -12
- package/dist/react/parse/wrapContent.js +1 -162
- package/dist/types/index.d.ts +1 -243
- package/dist/types/index.js +1 -1
- package/dist/utils/installPackage.d.ts +1 -3
- package/dist/utils/installPackage.js +1 -77
- package/dist/utils/packageInfo.d.ts +1 -3
- package/dist/utils/packageInfo.js +1 -17
- package/dist/utils/packageJson.d.ts +1 -6
- package/dist/utils/packageJson.js +1 -68
- package/dist/utils/packageManager.d.ts +1 -28
- package/dist/utils/packageManager.js +1 -269
- package/package.json +11 -97
- package/dist/api/collectUserEditDiffs.d.ts +0 -9
- package/dist/api/collectUserEditDiffs.js +0 -159
- package/dist/api/downloadFileBatch.d.ts +0 -23
- package/dist/api/downloadFileBatch.js +0 -190
- package/dist/api/saveLocalEdits.d.ts +0 -6
- package/dist/api/saveLocalEdits.js +0 -38
- package/dist/cli/base.d.ts +0 -59
- package/dist/cli/base.js +0 -529
- package/dist/cli/commands/download.d.ts +0 -8
- package/dist/cli/commands/download.js +0 -51
- package/dist/cli/commands/enqueue.d.ts +0 -9
- package/dist/cli/commands/enqueue.js +0 -27
- package/dist/cli/commands/setupProject.d.ts +0 -7
- package/dist/cli/commands/setupProject.js +0 -37
- package/dist/cli/commands/stage.d.ts +0 -9
- package/dist/cli/commands/stage.js +0 -59
- package/dist/cli/commands/translate.d.ts +0 -7
- package/dist/cli/commands/translate.js +0 -70
- package/dist/cli/commands/upload.d.ts +0 -13
- package/dist/cli/commands/upload.js +0 -142
- package/dist/cli/commands/utils/validation.d.ts +0 -13
- package/dist/cli/commands/utils/validation.js +0 -38
- package/dist/cli/flags.d.ts +0 -15
- package/dist/cli/flags.js +0 -70
- package/dist/cli/inline.d.ts +0 -17
- package/dist/cli/inline.js +0 -135
- package/dist/cli/next.d.ts +0 -10
- package/dist/cli/next.js +0 -12
- package/dist/cli/node.d.ts +0 -10
- package/dist/cli/node.js +0 -9
- package/dist/cli/react.d.ts +0 -12
- package/dist/cli/react.js +0 -72
- package/dist/config/optionPresets.d.ts +0 -3
- package/dist/config/optionPresets.js +0 -65
- package/dist/config/utils.d.ts +0 -2
- package/dist/config/utils.js +0 -4
- package/dist/config/validateSettings.d.ts +0 -3
- package/dist/config/validateSettings.js +0 -32
- package/dist/console/colors.d.ts +0 -6
- package/dist/console/colors.js +0 -19
- package/dist/console/displayTranslateSummary.d.ts +0 -1
- package/dist/console/displayTranslateSummary.js +0 -42
- package/dist/console/formatting.d.ts +0 -1
- package/dist/console/formatting.js +0 -7
- package/dist/console/index.d.ts +0 -34
- package/dist/console/index.js +0 -46
- package/dist/console/logger.d.ts +0 -35
- package/dist/console/logger.js +0 -250
- package/dist/console/logging.d.ts +0 -52
- package/dist/console/logging.js +0 -175
- package/dist/formats/files/aggregateFiles.d.ts +0 -4
- package/dist/formats/files/aggregateFiles.js +0 -156
- package/dist/formats/files/collectFiles.d.ts +0 -6
- package/dist/formats/files/collectFiles.js +0 -49
- package/dist/formats/files/convertToFileTranslationData.d.ts +0 -15
- package/dist/formats/files/convertToFileTranslationData.js +0 -21
- package/dist/formats/files/fileMapping.d.ts +0 -11
- package/dist/formats/files/fileMapping.js +0 -115
- package/dist/formats/files/preprocess/mdx.d.ts +0 -6
- package/dist/formats/files/preprocess/mdx.js +0 -14
- package/dist/formats/files/preprocess/mintlify.d.ts +0 -5
- package/dist/formats/files/preprocess/mintlify.js +0 -15
- package/dist/formats/files/preprocessContent.d.ts +0 -8
- package/dist/formats/files/preprocessContent.js +0 -23
- package/dist/formats/files/save.d.ts +0 -5
- package/dist/formats/files/save.js +0 -17
- package/dist/formats/files/supportedFiles.d.ts +0 -11
- package/dist/formats/files/supportedFiles.js +0 -20
- package/dist/formats/json/extractJson.d.ts +0 -15
- package/dist/formats/json/extractJson.js +0 -101
- package/dist/formats/json/flattenJson.d.ts +0 -14
- package/dist/formats/json/flattenJson.js +0 -64
- package/dist/formats/json/mergeJson.d.ts +0 -13
- package/dist/formats/json/mergeJson.js +0 -367
- package/dist/formats/json/parseJson.d.ts +0 -2
- package/dist/formats/json/parseJson.js +0 -109
- package/dist/formats/json/utils.d.ts +0 -47
- package/dist/formats/json/utils.js +0 -150
- package/dist/formats/utils.d.ts +0 -2
- package/dist/formats/utils.js +0 -24
- package/dist/formats/yaml/mergeYaml.d.ts +0 -5
- package/dist/formats/yaml/mergeYaml.js +0 -61
- package/dist/formats/yaml/parseYaml.d.ts +0 -5
- package/dist/formats/yaml/parseYaml.js +0 -24
- package/dist/formats/yaml/utils.d.ts +0 -2
- package/dist/formats/yaml/utils.js +0 -23
- package/dist/fs/clearLocaleDirs.d.ts +0 -8
- package/dist/fs/clearLocaleDirs.js +0 -126
- package/dist/fs/config/downloadedVersions.d.ts +0 -21
- package/dist/fs/config/downloadedVersions.js +0 -50
- package/dist/fs/config/loadConfig.d.ts +0 -1
- package/dist/fs/config/loadConfig.js +0 -9
- package/dist/fs/config/parseFilesConfig.d.ts +0 -27
- package/dist/fs/config/parseFilesConfig.js +0 -150
- package/dist/fs/config/updateConfig.d.ts +0 -21
- package/dist/fs/config/updateConfig.js +0 -57
- package/dist/fs/config/updateVersions.d.ts +0 -11
- package/dist/fs/config/updateVersions.js +0 -30
- package/dist/fs/copyFile.d.ts +0 -7
- package/dist/fs/copyFile.js +0 -39
- package/dist/fs/createLoadTranslationsFile.d.ts +0 -1
- package/dist/fs/createLoadTranslationsFile.js +0 -49
- package/dist/fs/determineFramework.d.ts +0 -5
- package/dist/fs/determineFramework.js +0 -53
- package/dist/fs/findFilepath.d.ts +0 -36
- package/dist/fs/findFilepath.js +0 -90
- package/dist/fs/index.d.ts +0 -1
- package/dist/fs/index.js +0 -1
- package/dist/fs/loadJSON.d.ts +0 -6
- package/dist/fs/loadJSON.js +0 -17
- package/dist/fs/saveJSON.d.ts +0 -1
- package/dist/fs/saveJSON.js +0 -7
- package/dist/fs/utils.d.ts +0 -1
- package/dist/fs/utils.js +0 -16
- package/dist/generated/version.d.ts +0 -1
- package/dist/generated/version.js +0 -2
- package/dist/git/branches.d.ts +0 -7
- package/dist/git/branches.js +0 -88
- package/dist/hooks/postProcess.d.ts +0 -4
- package/dist/hooks/postProcess.js +0 -110
- package/dist/locadex/setupFlow.d.ts +0 -2
- package/dist/locadex/setupFlow.js +0 -9
- package/dist/next/config/parseNextConfig.d.ts +0 -10
- package/dist/next/config/parseNextConfig.js +0 -53
- package/dist/next/jsx/utils.d.ts +0 -7
- package/dist/next/jsx/utils.js +0 -42
- package/dist/react/config/createESBuildConfig.d.ts +0 -2
- package/dist/react/config/createESBuildConfig.js +0 -119
- package/dist/react/jsx/evaluateJsx.d.ts +0 -24
- package/dist/react/jsx/evaluateJsx.js +0 -123
- package/dist/react/jsx/utils/buildImportMap.d.ts +0 -9
- package/dist/react/jsx/utils/buildImportMap.js +0 -30
- package/dist/react/jsx/utils/constants.d.ts +0 -15
- package/dist/react/jsx/utils/constants.js +0 -49
- package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +0 -9
- package/dist/react/jsx/utils/getCalleeNameFromExpression.js +0 -32
- package/dist/react/jsx/utils/getPathsAndAliases.d.ts +0 -21
- package/dist/react/jsx/utils/getPathsAndAliases.js +0 -91
- package/dist/react/jsx/utils/isNumberLiteral.d.ts +0 -7
- package/dist/react/jsx/utils/isNumberLiteral.js +0 -13
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +0 -9
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +0 -138
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +0 -6
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +0 -197
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +0 -13
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +0 -42
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +0 -5
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +0 -69
- package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +0 -33
- package/dist/react/jsx/utils/jsxParsing/parseJsx.js +0 -918
- package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +0 -8
- package/dist/react/jsx/utils/jsxParsing/parseTProps.js +0 -65
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +0 -2
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +0 -61
- package/dist/react/jsx/utils/jsxParsing/types.d.ts +0 -48
- package/dist/react/jsx/utils/jsxParsing/types.js +0 -34
- package/dist/react/jsx/utils/mapAttributeName.d.ts +0 -11
- package/dist/react/jsx/utils/mapAttributeName.js +0 -12
- package/dist/react/jsx/utils/parseAst.d.ts +0 -31
- package/dist/react/jsx/utils/parseAst.js +0 -278
- package/dist/react/jsx/utils/parseDeclareStatic.d.ts +0 -15
- package/dist/react/jsx/utils/parseDeclareStatic.js +0 -540
- package/dist/react/jsx/utils/parseString.d.ts +0 -25
- package/dist/react/jsx/utils/parseString.js +0 -540
- package/dist/react/jsx/utils/parseStringFunction.d.ts +0 -30
- package/dist/react/jsx/utils/parseStringFunction.js +0 -348
- package/dist/react/jsx/utils/resolveImportPath.d.ts +0 -11
- package/dist/react/jsx/utils/resolveImportPath.js +0 -111
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +0 -29
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +0 -86
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +0 -14
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +0 -24
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +0 -19
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +0 -31
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +0 -22
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +0 -51
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +0 -18
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +0 -39
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +0 -24
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +0 -68
- package/dist/react/jsx/utils/stringParsing/types.d.ts +0 -41
- package/dist/react/jsx/utils/stringParsing/types.js +0 -1
- package/dist/react/jsx/utils/types.d.ts +0 -14
- package/dist/react/jsx/utils/types.js +0 -1
- package/dist/react/jsx/utils/validateStringFunction.d.ts +0 -7
- package/dist/react/jsx/utils/validateStringFunction.js +0 -31
- package/dist/react/jsx/wrapJsx.d.ts +0 -51
- package/dist/react/jsx/wrapJsx.js +0 -387
- package/dist/react/parse/addVitePlugin/index.d.ts +0 -22
- package/dist/react/parse/addVitePlugin/index.js +0 -41
- package/dist/react/parse/addVitePlugin/installCompiler.d.ts +0 -8
- package/dist/react/parse/addVitePlugin/installCompiler.js +0 -22
- package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +0 -19
- package/dist/react/parse/addVitePlugin/updateViteConfig.js +0 -120
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +0 -9
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +0 -34
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +0 -11
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +0 -48
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +0 -15
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +0 -113
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +0 -12
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +0 -32
- package/dist/react/parse/createDictionaryUpdates.d.ts +0 -3
- package/dist/react/parse/createDictionaryUpdates.js +0 -187
- package/dist/react/parse/createInlineUpdates.d.ts +0 -13
- package/dist/react/parse/createInlineUpdates.js +0 -161
- package/dist/react/utils/flattenDictionary.d.ts +0 -20
- package/dist/react/utils/flattenDictionary.js +0 -75
- package/dist/react/utils/getEntryAndMetadata.d.ts +0 -5
- package/dist/react/utils/getEntryAndMetadata.js +0 -11
- package/dist/react/utils/getVariableName.d.ts +0 -25
- package/dist/react/utils/getVariableName.js +0 -37
- package/dist/setup/agentInstructions.d.ts +0 -24
- package/dist/setup/agentInstructions.js +0 -138
- package/dist/setup/detectFramework.d.ts +0 -31
- package/dist/setup/detectFramework.js +0 -106
- package/dist/setup/frameworkUtils.d.ts +0 -3
- package/dist/setup/frameworkUtils.js +0 -30
- package/dist/setup/instructions/base.md +0 -29
- package/dist/setup/instructions/gt-next.md +0 -107
- package/dist/setup/instructions/gt-react.md +0 -98
- package/dist/setup/userInput.d.ts +0 -4
- package/dist/setup/userInput.js +0 -32
- package/dist/setup/wizard.d.ts +0 -3
- package/dist/setup/wizard.js +0 -147
- package/dist/state/recentDownloads.d.ts +0 -12
- package/dist/state/recentDownloads.js +0 -18
- package/dist/state/translateWarnings.d.ts +0 -10
- package/dist/state/translateWarnings.js +0 -13
- package/dist/translation/parse.d.ts +0 -17
- package/dist/translation/parse.js +0 -77
- package/dist/translation/stage.d.ts +0 -3
- package/dist/translation/stage.js +0 -44
- package/dist/translation/validate.d.ts +0 -14
- package/dist/translation/validate.js +0 -100
- package/dist/types/branch.d.ts +0 -14
- package/dist/types/branch.js +0 -1
- package/dist/types/data/json.d.ts +0 -6
- package/dist/types/data/json.js +0 -1
- package/dist/types/data.d.ts +0 -37
- package/dist/types/data.js +0 -1
- package/dist/types/files.d.ts +0 -8
- package/dist/types/files.js +0 -1
- package/dist/types/libraries.d.ts +0 -31
- package/dist/types/libraries.js +0 -72
- package/dist/types/parsing.d.ts +0 -3
- package/dist/types/parsing.js +0 -1
- package/dist/utils/addExplicitAnchorIds.d.ts +0 -24
- package/dist/utils/addExplicitAnchorIds.js +0 -416
- package/dist/utils/constants.d.ts +0 -5
- package/dist/utils/constants.js +0 -6
- package/dist/utils/credentials.d.ts +0 -12
- package/dist/utils/credentials.js +0 -120
- package/dist/utils/flattenJsonFiles.d.ts +0 -2
- package/dist/utils/flattenJsonFiles.js +0 -36
- package/dist/utils/gitDiff.d.ts +0 -8
- package/dist/utils/gitDiff.js +0 -34
- package/dist/utils/gt.d.ts +0 -2
- package/dist/utils/gt.js +0 -2
- package/dist/utils/hash.d.ts +0 -6
- package/dist/utils/hash.js +0 -11
- package/dist/utils/headers.d.ts +0 -1
- package/dist/utils/headers.js +0 -14
- package/dist/utils/localizeRelativeAssets.d.ts +0 -8
- package/dist/utils/localizeRelativeAssets.js +0 -166
- package/dist/utils/localizeStaticImports.d.ts +0 -15
- package/dist/utils/localizeStaticImports.js +0 -397
- package/dist/utils/localizeStaticUrls.d.ts +0 -19
- package/dist/utils/localizeStaticUrls.js +0 -450
- package/dist/utils/mintlifyTitleFallback.d.ts +0 -6
- package/dist/utils/mintlifyTitleFallback.js +0 -80
- package/dist/utils/parse/needsCJS.d.ts +0 -20
- package/dist/utils/parse/needsCJS.js +0 -72
- package/dist/utils/persistPostprocessHashes.d.ts +0 -12
- package/dist/utils/persistPostprocessHashes.js +0 -39
- package/dist/utils/processAnchorIds.d.ts +0 -6
- package/dist/utils/processAnchorIds.js +0 -56
- package/dist/utils/processOpenApi.d.ts +0 -8
- package/dist/utils/processOpenApi.js +0 -651
- package/dist/utils/sanitizeFileContent.d.ts +0 -6
- package/dist/utils/sanitizeFileContent.js +0 -29
- package/dist/utils/sharedStaticAssets.d.ts +0 -9
- package/dist/utils/sharedStaticAssets.js +0 -384
- package/dist/utils/validateMdx.d.ts +0 -10
- package/dist/utils/validateMdx.js +0 -25
- package/dist/utils/wrapPlainUrls.d.ts +0 -8
- package/dist/utils/wrapPlainUrls.js +0 -72
- package/dist/workflows/download.d.ts +0 -32
- package/dist/workflows/download.js +0 -131
- package/dist/workflows/enqueue.d.ts +0 -17
- package/dist/workflows/enqueue.js +0 -59
- package/dist/workflows/setupProject.d.ts +0 -13
- package/dist/workflows/setupProject.js +0 -48
- package/dist/workflows/stage.d.ts +0 -18
- package/dist/workflows/stage.js +0 -59
- package/dist/workflows/steps/BranchStep.d.ts +0 -13
- package/dist/workflows/steps/BranchStep.js +0 -161
- package/dist/workflows/steps/DownloadStep.d.ts +0 -19
- package/dist/workflows/steps/DownloadStep.js +0 -131
- package/dist/workflows/steps/EnqueueStep.d.ts +0 -15
- package/dist/workflows/steps/EnqueueStep.js +0 -33
- package/dist/workflows/steps/PollJobsStep.d.ts +0 -31
- package/dist/workflows/steps/PollJobsStep.js +0 -288
- package/dist/workflows/steps/SetupStep.d.ts +0 -16
- package/dist/workflows/steps/SetupStep.js +0 -72
- package/dist/workflows/steps/UploadSourcesStep.d.ts +0 -27
- package/dist/workflows/steps/UploadSourcesStep.js +0 -131
- package/dist/workflows/steps/UploadTranslationsStep.d.ts +0 -22
- package/dist/workflows/steps/UploadTranslationsStep.js +0 -71
- package/dist/workflows/steps/UserEditDiffsStep.d.ts +0 -11
- package/dist/workflows/steps/UserEditDiffsStep.js +0 -30
- package/dist/workflows/steps/WorkflowStep.d.ts +0 -4
- package/dist/workflows/steps/WorkflowStep.js +0 -2
- package/dist/workflows/upload.d.ts +0 -15
- package/dist/workflows/upload.js +0 -47
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FileToUpload } from 'generaltranslation/types';
|
|
2
|
-
import { FileTranslationData } from '../../workflows/download.js';
|
|
3
|
-
/**
|
|
4
|
-
* Convert files to a file version data object
|
|
5
|
-
* @param files - The files to get the version data for
|
|
6
|
-
* @returns The version data for each file
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* const { allFiles } = await collectFiles(options, settings, library);
|
|
10
|
-
* if (allFiles.length > 0) {
|
|
11
|
-
* const fileVersionData = getFileVersionData(allFiles);
|
|
12
|
-
* console.log(fileVersionData);
|
|
13
|
-
* }
|
|
14
|
-
*/
|
|
15
|
-
export declare function convertToFileTranslationData(files: FileToUpload[]): FileTranslationData;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert files to a file version data object
|
|
3
|
-
* @param files - The files to get the version data for
|
|
4
|
-
* @returns The version data for each file
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* const { allFiles } = await collectFiles(options, settings, library);
|
|
8
|
-
* if (allFiles.length > 0) {
|
|
9
|
-
* const fileVersionData = getFileVersionData(allFiles);
|
|
10
|
-
* console.log(fileVersionData);
|
|
11
|
-
* }
|
|
12
|
-
*/
|
|
13
|
-
export function convertToFileTranslationData(files) {
|
|
14
|
-
return Object.fromEntries(files.map((file) => [
|
|
15
|
-
file.fileId,
|
|
16
|
-
{
|
|
17
|
-
versionId: file.versionId,
|
|
18
|
-
fileName: file.fileName,
|
|
19
|
-
},
|
|
20
|
-
]));
|
|
21
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ResolvedFiles, TransformFiles } from '../../types/index.js';
|
|
2
|
-
import { FileMapping } from '../../types/files.js';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a mapping between source files and their translated counterparts for each locale
|
|
5
|
-
* @param filePaths - Resolved file paths for different file types
|
|
6
|
-
* @param placeholderPaths - Placeholder paths for translated files
|
|
7
|
-
* @param transformPaths - Transform paths for file naming
|
|
8
|
-
* @param locales - List of locales to create a mapping for
|
|
9
|
-
* @returns A mapping between source files and their translated counterparts for each locale, in the form of relative paths
|
|
10
|
-
*/
|
|
11
|
-
export declare function createFileMapping(filePaths: ResolvedFiles, placeholderPaths: ResolvedFiles, transformPaths: TransformFiles, targetLocales: string[], defaultLocale: string): FileMapping;
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { SUPPORTED_FILE_EXTENSIONS } from '../files/supportedFiles.js';
|
|
2
|
-
import { resolveLocaleFiles } from '../../fs/config/parseFilesConfig.js';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { getRelative } from '../../fs/findFilepath.js';
|
|
5
|
-
import { getLocaleProperties } from 'generaltranslation';
|
|
6
|
-
import { replaceLocalePlaceholders } from '../utils.js';
|
|
7
|
-
import { TEMPLATE_FILE_NAME } from '../../utils/constants.js';
|
|
8
|
-
/**
|
|
9
|
-
* Creates a mapping between source files and their translated counterparts for each locale
|
|
10
|
-
* @param filePaths - Resolved file paths for different file types
|
|
11
|
-
* @param placeholderPaths - Placeholder paths for translated files
|
|
12
|
-
* @param transformPaths - Transform paths for file naming
|
|
13
|
-
* @param locales - List of locales to create a mapping for
|
|
14
|
-
* @returns A mapping between source files and their translated counterparts for each locale, in the form of relative paths
|
|
15
|
-
*/
|
|
16
|
-
export function createFileMapping(filePaths, placeholderPaths, transformPaths, targetLocales, defaultLocale) {
|
|
17
|
-
const fileMapping = {};
|
|
18
|
-
for (const locale of targetLocales) {
|
|
19
|
-
const translatedPaths = resolveLocaleFiles(placeholderPaths, locale);
|
|
20
|
-
const localeMapping = {};
|
|
21
|
-
// Process each file type
|
|
22
|
-
// Start with GTJSON Template files
|
|
23
|
-
if (translatedPaths.gt) {
|
|
24
|
-
const filepath = translatedPaths.gt;
|
|
25
|
-
localeMapping[TEMPLATE_FILE_NAME] = filepath;
|
|
26
|
-
}
|
|
27
|
-
for (const typeIndex of SUPPORTED_FILE_EXTENSIONS) {
|
|
28
|
-
if (!filePaths[typeIndex] || !translatedPaths[typeIndex])
|
|
29
|
-
continue;
|
|
30
|
-
const sourcePaths = filePaths[typeIndex];
|
|
31
|
-
let translatedFiles = translatedPaths[typeIndex];
|
|
32
|
-
if (!translatedFiles)
|
|
33
|
-
continue;
|
|
34
|
-
const transformPath = transformPaths[typeIndex];
|
|
35
|
-
if (transformPath) {
|
|
36
|
-
if (typeof transformPath === 'string') {
|
|
37
|
-
translatedFiles = translatedFiles.map((filePath) => {
|
|
38
|
-
const directory = path.dirname(filePath);
|
|
39
|
-
const fileName = path.basename(filePath);
|
|
40
|
-
const baseName = fileName.split('.')[0];
|
|
41
|
-
const transformedFileName = transformPath
|
|
42
|
-
.replace('*', baseName)
|
|
43
|
-
.replace('[locale]', locale);
|
|
44
|
-
return path.join(directory, transformedFileName);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else if (Array.isArray(transformPath)) {
|
|
48
|
-
// transformPath is an array of TransformOption objects
|
|
49
|
-
const targetLocaleProperties = getLocaleProperties(locale);
|
|
50
|
-
const defaultLocaleProperties = getLocaleProperties(defaultLocale);
|
|
51
|
-
translatedFiles = translatedFiles.map((filePath) => {
|
|
52
|
-
const relativePath = getRelative(filePath);
|
|
53
|
-
// Try each transform in order until one matches
|
|
54
|
-
for (const transform of transformPath) {
|
|
55
|
-
if (!transform.replace || typeof transform.replace !== 'string') {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
// Replace all locale property placeholders in the replace string
|
|
59
|
-
const replaceString = replaceLocalePlaceholders(transform.replace, targetLocaleProperties);
|
|
60
|
-
if (transform.match && typeof transform.match === 'string') {
|
|
61
|
-
// Replace locale placeholders in the match string using defaultLocale properties
|
|
62
|
-
let matchString = transform.match;
|
|
63
|
-
matchString = replaceLocalePlaceholders(matchString, defaultLocaleProperties);
|
|
64
|
-
const regex = new RegExp(matchString);
|
|
65
|
-
if (regex.test(relativePath)) {
|
|
66
|
-
// This transform matches, apply it and break
|
|
67
|
-
const transformedPath = relativePath.replace(new RegExp(matchString, 'g'), replaceString);
|
|
68
|
-
return path.resolve(transformedPath);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// No match provided: treat as a direct replacement (override)
|
|
73
|
-
return path.resolve(replaceString);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// If no transforms matched, return the original path
|
|
77
|
-
return filePath;
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// transformPath is an object
|
|
82
|
-
const targetLocaleProperties = getLocaleProperties(locale);
|
|
83
|
-
const defaultLocaleProperties = getLocaleProperties(defaultLocale);
|
|
84
|
-
if (!transformPath.replace ||
|
|
85
|
-
typeof transformPath.replace !== 'string') {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
// Replace all locale property placeholders
|
|
89
|
-
const replaceString = replaceLocalePlaceholders(transformPath.replace, targetLocaleProperties);
|
|
90
|
-
translatedFiles = translatedFiles.map((filePath) => {
|
|
91
|
-
let relativePath = getRelative(filePath);
|
|
92
|
-
if (transformPath.match &&
|
|
93
|
-
typeof transformPath.match === 'string') {
|
|
94
|
-
// Replace locale placeholders in the match string using defaultLocale properties
|
|
95
|
-
let matchString = transformPath.match;
|
|
96
|
-
matchString = replaceLocalePlaceholders(matchString, defaultLocaleProperties);
|
|
97
|
-
relativePath = relativePath.replace(new RegExp(matchString, 'g'), replaceString);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
relativePath = replaceString;
|
|
101
|
-
}
|
|
102
|
-
return path.resolve(relativePath);
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
for (let i = 0; i < sourcePaths.length; i++) {
|
|
107
|
-
const sourceFile = getRelative(sourcePaths[i]);
|
|
108
|
-
const translatedFile = getRelative(translatedFiles[i]);
|
|
109
|
-
localeMapping[sourceFile] = translatedFile;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
fileMapping[locale] = localeMapping;
|
|
113
|
-
}
|
|
114
|
-
return fileMapping;
|
|
115
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Settings } from '../../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Runs MDX-specific preprocessing. Returns a skip reason if the file
|
|
4
|
-
* should be skipped, or null if validation passed.
|
|
5
|
-
*/
|
|
6
|
-
export declare function preprocessMdx(content: string, filePath: string, settings: Settings): string | null;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { isValidMdx } from '../../../utils/validateMdx.js';
|
|
2
|
-
/**
|
|
3
|
-
* Runs MDX-specific preprocessing. Returns a skip reason if the file
|
|
4
|
-
* should be skipped, or null if validation passed.
|
|
5
|
-
*/
|
|
6
|
-
export function preprocessMdx(content, filePath, settings) {
|
|
7
|
-
if (!settings.options?.skipFileValidation?.mdx) {
|
|
8
|
-
const validation = isValidMdx(content, filePath);
|
|
9
|
-
if (!validation.isValid) {
|
|
10
|
-
return `MDX file is not AST parsable${validation.error ? `: ${validation.error}` : ''}`;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { applyMintlifyTitleFallback } from '../../../utils/mintlifyTitleFallback.js';
|
|
2
|
-
import wrapPlainUrls from '../../../utils/wrapPlainUrls.js';
|
|
3
|
-
/**
|
|
4
|
-
* Runs all Mintlify-specific preprocessing on file content.
|
|
5
|
-
*/
|
|
6
|
-
export function preprocessMintlify(content, filePath, fileType, settings) {
|
|
7
|
-
if (fileType !== 'mdx')
|
|
8
|
-
return content;
|
|
9
|
-
let result = content;
|
|
10
|
-
if (settings.options?.mintlify?.inferTitleFromFilename) {
|
|
11
|
-
result = applyMintlifyTitleFallback(result, filePath, settings.defaultLocale).content;
|
|
12
|
-
}
|
|
13
|
-
result = wrapPlainUrls(result);
|
|
14
|
-
return result;
|
|
15
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Settings } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Preprocesses file content before upload. Returns the processed content,
|
|
4
|
-
* or { skip: reason } if the file should be skipped.
|
|
5
|
-
*/
|
|
6
|
-
export declare function preprocessContent(content: string, filePath: string, fileType: string, settings: Settings): string | {
|
|
7
|
-
skip: string;
|
|
8
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { preprocessMdx } from './preprocess/mdx.js';
|
|
2
|
-
import { preprocessMintlify } from './preprocess/mintlify.js';
|
|
3
|
-
import sanitizeFileContent from '../../utils/sanitizeFileContent.js';
|
|
4
|
-
/**
|
|
5
|
-
* Preprocesses file content before upload. Returns the processed content,
|
|
6
|
-
* or { skip: reason } if the file should be skipped.
|
|
7
|
-
*/
|
|
8
|
-
export function preprocessContent(content, filePath, fileType, settings) {
|
|
9
|
-
let result = content;
|
|
10
|
-
// File-type-specific
|
|
11
|
-
if (fileType === 'mdx') {
|
|
12
|
-
const skipReason = preprocessMdx(result, filePath, settings);
|
|
13
|
-
if (skipReason)
|
|
14
|
-
return { skip: skipReason };
|
|
15
|
-
}
|
|
16
|
-
// Framework-specific
|
|
17
|
-
if (settings.framework === 'mintlify') {
|
|
18
|
-
result = preprocessMintlify(result, filePath, fileType, settings);
|
|
19
|
-
}
|
|
20
|
-
// Universal
|
|
21
|
-
result = sanitizeFileContent(result);
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DataFormat } from '../../types/data.js';
|
|
2
|
-
/**
|
|
3
|
-
* Saves translated MDX/MD file content to the appropriate location
|
|
4
|
-
*/
|
|
5
|
-
export declare function saveTranslatedFile(translatedContent: string, outputDir: string, fileName: string, dataFormat: DataFormat, locales: string[]): Promise<void>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import fs from 'fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { logger } from '../../console/logger.js';
|
|
4
|
-
/**
|
|
5
|
-
* Saves translated MDX/MD file content to the appropriate location
|
|
6
|
-
*/
|
|
7
|
-
export async function saveTranslatedFile(translatedContent, outputDir, fileName, dataFormat, locales) {
|
|
8
|
-
// Create locale-specific directories if they don't exist
|
|
9
|
-
for (const locale of locales) {
|
|
10
|
-
const localeDir = path.join(outputDir, locale);
|
|
11
|
-
await fs.mkdir(localeDir, { recursive: true });
|
|
12
|
-
// Save the translated file with the appropriate extension
|
|
13
|
-
const outputPath = path.join(localeDir, fileName);
|
|
14
|
-
await fs.writeFile(outputPath, translatedContent);
|
|
15
|
-
logger.success(`Saved translated ${dataFormat} file to: ${outputPath}`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const SUPPORTED_FILE_EXTENSIONS: readonly ["json", "mdx", "md", "ts", "js", "yaml", "html", "txt"];
|
|
2
|
-
export declare const FILE_EXT_TO_EXT_LABEL: {
|
|
3
|
-
json: string;
|
|
4
|
-
mdx: string;
|
|
5
|
-
md: string;
|
|
6
|
-
ts: string;
|
|
7
|
-
js: string;
|
|
8
|
-
yaml: string;
|
|
9
|
-
html: string;
|
|
10
|
-
txt: string;
|
|
11
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const SUPPORTED_FILE_EXTENSIONS = [
|
|
2
|
-
'json',
|
|
3
|
-
'mdx',
|
|
4
|
-
'md',
|
|
5
|
-
'ts',
|
|
6
|
-
'js',
|
|
7
|
-
'yaml',
|
|
8
|
-
'html',
|
|
9
|
-
'txt',
|
|
10
|
-
];
|
|
11
|
-
export const FILE_EXT_TO_EXT_LABEL = {
|
|
12
|
-
json: 'JSON',
|
|
13
|
-
mdx: 'MDX',
|
|
14
|
-
md: 'Markdown',
|
|
15
|
-
ts: 'TypeScript',
|
|
16
|
-
js: 'JavaScript',
|
|
17
|
-
yaml: 'YAML',
|
|
18
|
-
html: 'HTML',
|
|
19
|
-
txt: 'Text',
|
|
20
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { AdditionalOptions } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Extracts translated values from a full JSON file back into composite JSON format.
|
|
4
|
-
* This is the inverse of mergeJson - it takes a merged/reconstructed JSON file
|
|
5
|
-
* and extracts the values for a specific locale into the composite structure
|
|
6
|
-
* that the server expects.
|
|
7
|
-
*
|
|
8
|
-
* @param localContent - The full JSON content from the user's local file
|
|
9
|
-
* @param inputPath - The path to the file (used for matching jsonSchema)
|
|
10
|
-
* @param options - Additional options containing jsonSchema config
|
|
11
|
-
* @param targetLocale - The locale to extract values for
|
|
12
|
-
* @param defaultLocale - The default/source locale
|
|
13
|
-
* @returns The composite JSON string, or null if no extraction needed
|
|
14
|
-
*/
|
|
15
|
-
export declare function extractJson(localContent: string, inputPath: string, options: AdditionalOptions, targetLocale: string, defaultLocale: string): string | null;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { logger } from '../../console/logger.js';
|
|
2
|
-
import { findMatchingItemArray, findMatchingItemObject, generateSourceObjectPointers, validateJsonSchema, } from './utils.js';
|
|
3
|
-
import { flattenJsonWithStringFilter } from './flattenJson.js';
|
|
4
|
-
import { gt } from '../../utils/gt.js';
|
|
5
|
-
/**
|
|
6
|
-
* Extracts translated values from a full JSON file back into composite JSON format.
|
|
7
|
-
* This is the inverse of mergeJson - it takes a merged/reconstructed JSON file
|
|
8
|
-
* and extracts the values for a specific locale into the composite structure
|
|
9
|
-
* that the server expects.
|
|
10
|
-
*
|
|
11
|
-
* @param localContent - The full JSON content from the user's local file
|
|
12
|
-
* @param inputPath - The path to the file (used for matching jsonSchema)
|
|
13
|
-
* @param options - Additional options containing jsonSchema config
|
|
14
|
-
* @param targetLocale - The locale to extract values for
|
|
15
|
-
* @param defaultLocale - The default/source locale
|
|
16
|
-
* @returns The composite JSON string, or null if no extraction needed
|
|
17
|
-
*/
|
|
18
|
-
export function extractJson(localContent, inputPath, options, targetLocale, defaultLocale) {
|
|
19
|
-
const jsonSchema = validateJsonSchema(options, inputPath);
|
|
20
|
-
if (!jsonSchema) {
|
|
21
|
-
// No schema
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
let localJson;
|
|
25
|
-
try {
|
|
26
|
-
localJson = JSON.parse(localContent);
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
logger.error(`Invalid JSON file: ${inputPath}`);
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const useCanonicalLocaleKeys = options?.experimentalCanonicalLocaleKeys ?? false;
|
|
33
|
-
const canonicalTargetLocale = useCanonicalLocaleKeys
|
|
34
|
-
? gt.resolveCanonicalLocale(targetLocale)
|
|
35
|
-
: targetLocale;
|
|
36
|
-
const canonicalDefaultLocale = useCanonicalLocaleKeys
|
|
37
|
-
? gt.resolveCanonicalLocale(defaultLocale)
|
|
38
|
-
: defaultLocale;
|
|
39
|
-
// Handle include-style schemas (simple path-based extraction)
|
|
40
|
-
if (jsonSchema.include) {
|
|
41
|
-
const extracted = flattenJsonWithStringFilter(localJson, jsonSchema.include);
|
|
42
|
-
return JSON.stringify(extracted, null, 2);
|
|
43
|
-
}
|
|
44
|
-
if (!jsonSchema.composite) {
|
|
45
|
-
logger.error('No include or composite property found in JSON schema');
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
// Handle composite schemas
|
|
49
|
-
const compositeResult = {};
|
|
50
|
-
// Generate source object pointers from the local JSON
|
|
51
|
-
const sourceObjectPointers = generateSourceObjectPointers(jsonSchema.composite, localJson);
|
|
52
|
-
for (const [sourceObjectPointer, { sourceObjectValue, sourceObjectOptions },] of Object.entries(sourceObjectPointers)) {
|
|
53
|
-
if (sourceObjectOptions.type === 'array') {
|
|
54
|
-
if (!Array.isArray(sourceObjectValue)) {
|
|
55
|
-
logger.warn(`Source object value is not an array at path: ${sourceObjectPointer}`);
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
// Find the matching items for the target locale
|
|
59
|
-
const matchingTargetLocaleItems = findMatchingItemArray(canonicalTargetLocale, sourceObjectOptions, sourceObjectPointer, sourceObjectValue);
|
|
60
|
-
if (!Object.keys(matchingTargetLocaleItems).length) {
|
|
61
|
-
logger.warn(`No matching items found for locale ${targetLocale} at path: ${sourceObjectPointer}`);
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
// Also find default locale items
|
|
65
|
-
const matchingDefaultLocaleItems = findMatchingItemArray(canonicalDefaultLocale, sourceObjectOptions, sourceObjectPointer, sourceObjectValue);
|
|
66
|
-
const defaultKeys = Object.keys(matchingDefaultLocaleItems);
|
|
67
|
-
const targetEntries = Object.entries(matchingTargetLocaleItems);
|
|
68
|
-
// Initialize the nested structure for this source object pointer
|
|
69
|
-
if (!compositeResult[sourceObjectPointer]) {
|
|
70
|
-
compositeResult[sourceObjectPointer] = {};
|
|
71
|
-
}
|
|
72
|
-
// For each target item, use the default locale's key position
|
|
73
|
-
for (let i = 0; i < targetEntries.length; i++) {
|
|
74
|
-
const [, { sourceItem }] = targetEntries[i];
|
|
75
|
-
// Extract values at the include paths
|
|
76
|
-
const extractedValues = flattenJsonWithStringFilter(sourceItem, sourceObjectOptions.include);
|
|
77
|
-
// Use default locale key
|
|
78
|
-
const outputKey = i < defaultKeys.length ? defaultKeys[i] : targetEntries[i][0];
|
|
79
|
-
compositeResult[sourceObjectPointer][outputKey] = extractedValues;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
// Object type
|
|
84
|
-
if (typeof sourceObjectValue !== 'object' || sourceObjectValue === null) {
|
|
85
|
-
logger.warn(`Source object value is not an object at path: ${sourceObjectPointer}`);
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
// Find the matching item for the target locale
|
|
89
|
-
const matchingTargetItem = findMatchingItemObject(canonicalTargetLocale, sourceObjectPointer, sourceObjectOptions, sourceObjectValue);
|
|
90
|
-
if (!matchingTargetItem.sourceItem) {
|
|
91
|
-
logger.warn(`No matching item found for locale ${targetLocale} at path: ${sourceObjectPointer}`);
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
// Extract values at the include paths
|
|
95
|
-
const extractedValues = flattenJsonWithStringFilter(matchingTargetItem.sourceItem, sourceObjectOptions.include);
|
|
96
|
-
// Store the extracted values
|
|
97
|
-
compositeResult[sourceObjectPointer] = extractedValues;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return JSON.stringify(compositeResult, null, 2);
|
|
101
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flattens a JSON object according to a list of JSON paths.
|
|
3
|
-
* @param json - The JSON object to flatten
|
|
4
|
-
* @param jsonPaths - The list of JSON paths to flatten
|
|
5
|
-
* @returns A mapping of json pointers to their values
|
|
6
|
-
*/
|
|
7
|
-
export declare function flattenJson(json: any, jsonPaths: string[]): Record<string, any>;
|
|
8
|
-
/**
|
|
9
|
-
* Flattens a JSON object according to a list of JSON paths, only including strings
|
|
10
|
-
* @param json - The JSON object to flatten
|
|
11
|
-
* @param jsonPaths - The list of JSON paths to flatten
|
|
12
|
-
* @returns A mapping of json pointers to their values
|
|
13
|
-
*/
|
|
14
|
-
export declare function flattenJsonWithStringFilter(json: any, jsonPaths: string[]): Record<string, any>;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { JSONPath } from 'jsonpath-plus';
|
|
2
|
-
import { logger } from '../../console/logger.js';
|
|
3
|
-
/**
|
|
4
|
-
* Flattens a JSON object according to a list of JSON paths.
|
|
5
|
-
* @param json - The JSON object to flatten
|
|
6
|
-
* @param jsonPaths - The list of JSON paths to flatten
|
|
7
|
-
* @returns A mapping of json pointers to their values
|
|
8
|
-
*/
|
|
9
|
-
export function flattenJson(json, jsonPaths) {
|
|
10
|
-
const extractedJson = {};
|
|
11
|
-
for (const jsonPath of jsonPaths) {
|
|
12
|
-
try {
|
|
13
|
-
const results = JSONPath({
|
|
14
|
-
json,
|
|
15
|
-
path: jsonPath,
|
|
16
|
-
resultType: 'all',
|
|
17
|
-
flatten: true,
|
|
18
|
-
wrap: true,
|
|
19
|
-
});
|
|
20
|
-
if (!results || results.length === 0) {
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
results.forEach((result) => {
|
|
24
|
-
extractedJson[result.pointer] = result.value;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
logger.error(`Error with JSONPath pattern: ${jsonPath}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return extractedJson;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Flattens a JSON object according to a list of JSON paths, only including strings
|
|
35
|
-
* @param json - The JSON object to flatten
|
|
36
|
-
* @param jsonPaths - The list of JSON paths to flatten
|
|
37
|
-
* @returns A mapping of json pointers to their values
|
|
38
|
-
*/
|
|
39
|
-
export function flattenJsonWithStringFilter(json, jsonPaths) {
|
|
40
|
-
const extractedJson = {};
|
|
41
|
-
for (const jsonPath of jsonPaths) {
|
|
42
|
-
try {
|
|
43
|
-
const results = JSONPath({
|
|
44
|
-
json,
|
|
45
|
-
path: jsonPath,
|
|
46
|
-
resultType: 'all',
|
|
47
|
-
flatten: true,
|
|
48
|
-
wrap: true,
|
|
49
|
-
});
|
|
50
|
-
if (!results || results.length === 0) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
results.forEach((result) => {
|
|
54
|
-
if (typeof result.value === 'string') {
|
|
55
|
-
extractedJson[result.pointer] = result.value;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
logger.error(`Error with JSONPath pattern: ${jsonPath}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return extractedJson;
|
|
64
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AdditionalOptions, SourceObjectOptions } from '../../types/index.js';
|
|
2
|
-
export declare function mergeJson(originalContent: string, inputPath: string, options: AdditionalOptions, targets: {
|
|
3
|
-
translatedContent: string;
|
|
4
|
-
targetLocale: string;
|
|
5
|
-
}[], defaultLocale: string, localeOrder?: string[]): string[];
|
|
6
|
-
/**
|
|
7
|
-
* Apply transformations to the sourceItem in-place
|
|
8
|
-
* @param sourceItem - The source item to apply transformations to
|
|
9
|
-
* @param transform - The transformations to apply
|
|
10
|
-
* @param targetLocale - The target locale
|
|
11
|
-
* @param defaultLocale - The default locale
|
|
12
|
-
*/
|
|
13
|
-
export declare function applyTransformations(sourceItem: any, transform: SourceObjectOptions['transform'], targetLocale: string, defaultLocale: string): void;
|