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,164 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import * as t from '@babel/types';
|
|
3
|
-
import { parse } from '@babel/parser';
|
|
4
|
-
import traverseModule from '@babel/traverse';
|
|
5
|
-
import generateModule from '@babel/generator';
|
|
6
|
-
// Handle CommonJS/ESM interop
|
|
7
|
-
const traverse = traverseModule.default || traverseModule;
|
|
8
|
-
const generate = generateModule.default || generateModule;
|
|
9
|
-
import { isMeaningful } from '../../react/jsx/evaluateJsx.js';
|
|
10
|
-
import { handleJsxElement } from '../../react/jsx/wrapJsx.js';
|
|
11
|
-
import { getRelativePath } from '../../fs/findFilepath.js';
|
|
12
|
-
import { isHtmlElement, isBodyElement, hasGTProviderChild, addDynamicLangAttribute, makeParentFunctionAsync, } from '../jsx/utils.js';
|
|
13
|
-
import { generateImportMap, createImports, } from '../../react/jsx/utils/parseAst.js';
|
|
14
|
-
import { matchFiles } from '../../fs/matchFiles.js';
|
|
15
|
-
import { DEFAULT_SRC_PATTERNS } from '../../config/generateSettings.js';
|
|
16
|
-
import { Libraries } from '../../types/libraries.js';
|
|
17
|
-
const IMPORT_MAP = {
|
|
18
|
-
T: { name: 'T', source: Libraries.GT_NEXT },
|
|
19
|
-
Var: { name: 'Var', source: Libraries.GT_NEXT },
|
|
20
|
-
GTT: { name: 'T', source: Libraries.GT_NEXT },
|
|
21
|
-
GTVar: { name: 'Var', source: Libraries.GT_NEXT },
|
|
22
|
-
GTProvider: { name: 'GTProvider', source: Libraries.GT_NEXT },
|
|
23
|
-
getLocale: { name: 'getLocale', source: Libraries.GT_NEXT + '/server' },
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Wraps all JSX elements in the src directory with a <T> tag, with unique ids.
|
|
27
|
-
* - Ignores pure strings
|
|
28
|
-
*
|
|
29
|
-
* @param options - The options object
|
|
30
|
-
* @returns An object containing the updates and errors
|
|
31
|
-
*/
|
|
32
|
-
export async function wrapContentNext(options, pkg, errors, warnings) {
|
|
33
|
-
const files = matchFiles(process.cwd(), options.src || DEFAULT_SRC_PATTERNS);
|
|
34
|
-
const filesUpdated = [];
|
|
35
|
-
for (const file of files) {
|
|
36
|
-
const code = await fs.promises.readFile(file, 'utf8');
|
|
37
|
-
// Create relative path from src directory and remove extension
|
|
38
|
-
const relativePath = getRelativePath(file, process.cwd());
|
|
39
|
-
let ast;
|
|
40
|
-
try {
|
|
41
|
-
ast = parse(code, {
|
|
42
|
-
sourceType: 'module',
|
|
43
|
-
plugins: ['jsx', 'typescript'],
|
|
44
|
-
tokens: true,
|
|
45
|
-
createParenthesizedExpressions: true,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
errors.push(`Error: Failed to parse ${file}: ${error}`);
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
let modified = false;
|
|
53
|
-
const usedImports = [];
|
|
54
|
-
const { importAlias, initialImports } = generateImportMap(ast, pkg);
|
|
55
|
-
// If the file already has a T import, skip processing it
|
|
56
|
-
if (initialImports.includes(IMPORT_MAP.T.name)) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
let globalId = 0;
|
|
60
|
-
traverse(ast, {
|
|
61
|
-
JSXElement(path) {
|
|
62
|
-
if (pkg === Libraries.GT_NEXT &&
|
|
63
|
-
options.addGTProvider &&
|
|
64
|
-
isHtmlElement(path.node.openingElement)) {
|
|
65
|
-
// Find the body element recursively in the HTML tree
|
|
66
|
-
const findBodyElement = (children) => {
|
|
67
|
-
for (const child of children) {
|
|
68
|
-
if (t.isJSXElement(child) &&
|
|
69
|
-
isBodyElement(child.openingElement)) {
|
|
70
|
-
return child;
|
|
71
|
-
}
|
|
72
|
-
if (t.isJSXElement(child)) {
|
|
73
|
-
const bodyInChild = findBodyElement(child.children);
|
|
74
|
-
if (bodyInChild)
|
|
75
|
-
return bodyInChild;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return null;
|
|
79
|
-
};
|
|
80
|
-
const bodyElement = findBodyElement(path.node.children);
|
|
81
|
-
if (!bodyElement) {
|
|
82
|
-
warnings.push(`File ${file} has a <html> tag without a <body> tag. Skipping GTProvider insertion.`);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
// Skip if body already has GTProvider
|
|
86
|
-
if (hasGTProviderChild(bodyElement)) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
// Handle lang attribute for html tag
|
|
90
|
-
const langAttr = path.node.openingElement.attributes.find((attr) => t.isJSXAttribute(attr) &&
|
|
91
|
-
t.isJSXIdentifier(attr.name) &&
|
|
92
|
-
t.isStringLiteral(attr.value) &&
|
|
93
|
-
attr.name.name === 'lang');
|
|
94
|
-
if (langAttr) {
|
|
95
|
-
makeParentFunctionAsync(path);
|
|
96
|
-
addDynamicLangAttribute(path.node.openingElement);
|
|
97
|
-
usedImports.push('getLocale');
|
|
98
|
-
}
|
|
99
|
-
// Wrap body children with GTProvider
|
|
100
|
-
const bodyChildren = bodyElement.children;
|
|
101
|
-
const gtProviderElement = t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier('GTProvider'), [], false), t.jsxClosingElement(t.jsxIdentifier('GTProvider')), bodyChildren, false);
|
|
102
|
-
bodyElement.children = [gtProviderElement];
|
|
103
|
-
usedImports.push('GTProvider');
|
|
104
|
-
modified = true;
|
|
105
|
-
path.skip();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
// If skip wrapping Ts, skip processing this node
|
|
109
|
-
if (options.skipTs) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
// Check if this JSX element has any JSX element ancestors
|
|
113
|
-
if (t.isJSXElement(path.parentPath?.node) ||
|
|
114
|
-
t.isJSXExpressionContainer(path.parentPath?.node)) {
|
|
115
|
-
// If we found a JSX parent, skip processing this node
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
// At this point, we're only processing top-level JSX elements
|
|
119
|
-
const opts = {
|
|
120
|
-
...importAlias,
|
|
121
|
-
idPrefix: relativePath,
|
|
122
|
-
idCount: globalId,
|
|
123
|
-
usedImports,
|
|
124
|
-
modified: false,
|
|
125
|
-
createIds: !options.disableIds,
|
|
126
|
-
warnings,
|
|
127
|
-
file,
|
|
128
|
-
};
|
|
129
|
-
const wrapped = handleJsxElement(path.node, opts, isMeaningful);
|
|
130
|
-
path.replaceWith(wrapped.node);
|
|
131
|
-
// Update global counters
|
|
132
|
-
modified = modified || opts.modified;
|
|
133
|
-
globalId = opts.idCount;
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
if (!modified)
|
|
137
|
-
continue;
|
|
138
|
-
const needsImport = usedImports.filter((imp) => !initialImports.includes(imp));
|
|
139
|
-
if (needsImport.length > 0) {
|
|
140
|
-
createImports(ast, needsImport, IMPORT_MAP);
|
|
141
|
-
}
|
|
142
|
-
try {
|
|
143
|
-
const output = generate(ast, {
|
|
144
|
-
retainLines: true,
|
|
145
|
-
retainFunctionParens: true,
|
|
146
|
-
comments: true,
|
|
147
|
-
compact: 'auto',
|
|
148
|
-
}, code);
|
|
149
|
-
// Post-process the output to fix import spacing
|
|
150
|
-
let processedCode = output.code;
|
|
151
|
-
if (needsImport.length > 0) {
|
|
152
|
-
// Add newline after the comment only
|
|
153
|
-
processedCode = processedCode.replace(/((?:import\s*{\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale)(?:\s*,\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale))*\s*}\s*from|const\s*{\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale)(?:\s*,\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale))*\s*}\s*=\s*require)\s*['"]gt-(?:next|react)(?:\/server)?['"];?)/, '\n$1\n');
|
|
154
|
-
}
|
|
155
|
-
// Write the modified code back to the file
|
|
156
|
-
await fs.promises.writeFile(file, processedCode);
|
|
157
|
-
filesUpdated.push(file);
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
errors.push(`Error: Failed to write ${file}: ${error}`);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return { filesUpdated };
|
|
164
|
-
}
|
|
1
|
+
export * from 'gt/next/parse/wrapContent';
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Libraries } from '../../types/libraries.js';
|
|
3
|
-
/**
|
|
4
|
-
* Wraps all JSX elements in the src directory with a <T> tag, with unique ids.
|
|
5
|
-
* - Ignores pure strings
|
|
6
|
-
*
|
|
7
|
-
* @param options - The options object
|
|
8
|
-
* @returns An object containing the updates and errors
|
|
9
|
-
*/
|
|
10
|
-
export declare function wrapContentReact(options: WrapOptions, pkg: `${typeof Libraries.GT_REACT}`, framework: SupportedFrameworks, errors: string[], warnings: string[]): Promise<{
|
|
11
|
-
filesUpdated: string[];
|
|
12
|
-
}>;
|
|
1
|
+
export * from 'gt/react/parse/wrapContent';
|
|
@@ -1,162 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import * as t from '@babel/types';
|
|
4
|
-
import { parse } from '@babel/parser';
|
|
5
|
-
import traverseModule from '@babel/traverse';
|
|
6
|
-
import generateModule from '@babel/generator';
|
|
7
|
-
// Handle CommonJS/ESM interop
|
|
8
|
-
const traverse = traverseModule.default || traverseModule;
|
|
9
|
-
const generate = generateModule.default || generateModule;
|
|
10
|
-
import { isMeaningful } from '../jsx/evaluateJsx.js';
|
|
11
|
-
import { handleJsxElement } from '../jsx/wrapJsx.js';
|
|
12
|
-
import { getRelativePath } from '../../fs/findFilepath.js';
|
|
13
|
-
import { generateImportMap, createImports, } from '../jsx/utils/parseAst.js';
|
|
14
|
-
import { DEFAULT_SRC_PATTERNS } from '../../config/generateSettings.js';
|
|
15
|
-
import { matchFiles } from '../../fs/matchFiles.js';
|
|
16
|
-
import { Libraries } from '../../types/libraries.js';
|
|
17
|
-
const IMPORT_MAP = {
|
|
18
|
-
T: { name: 'T', source: Libraries.GT_REACT },
|
|
19
|
-
Var: { name: 'Var', source: Libraries.GT_REACT },
|
|
20
|
-
GTT: { name: 'T', source: Libraries.GT_REACT },
|
|
21
|
-
GTVar: { name: 'Var', source: Libraries.GT_REACT },
|
|
22
|
-
GTProvider: { name: 'GTProvider', source: Libraries.GT_REACT },
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Wraps all JSX elements in the src directory with a <T> tag, with unique ids.
|
|
26
|
-
* - Ignores pure strings
|
|
27
|
-
*
|
|
28
|
-
* @param options - The options object
|
|
29
|
-
* @returns An object containing the updates and errors
|
|
30
|
-
*/
|
|
31
|
-
export async function wrapContentReact(options, pkg, framework, errors, warnings) {
|
|
32
|
-
const filePatterns = options.src || DEFAULT_SRC_PATTERNS;
|
|
33
|
-
const files = matchFiles(process.cwd(), filePatterns);
|
|
34
|
-
const filesUpdated = [];
|
|
35
|
-
for (const file of files) {
|
|
36
|
-
const baseFileName = path.basename(file);
|
|
37
|
-
const configPath = path.relative(path.dirname(file), path.resolve(process.cwd(), options.config));
|
|
38
|
-
// Ensure the path starts with ./ or ../
|
|
39
|
-
const normalizedConfigPath = configPath.startsWith('.')
|
|
40
|
-
? configPath
|
|
41
|
-
: './' + configPath;
|
|
42
|
-
const code = await fs.promises.readFile(file, 'utf8');
|
|
43
|
-
// Create relative path from src directory and remove extension
|
|
44
|
-
const relativePath = getRelativePath(file, process.cwd());
|
|
45
|
-
let ast;
|
|
46
|
-
try {
|
|
47
|
-
ast = parse(code, {
|
|
48
|
-
sourceType: 'module',
|
|
49
|
-
plugins: ['jsx', 'typescript'],
|
|
50
|
-
tokens: true,
|
|
51
|
-
createParenthesizedExpressions: true,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
errors.push(`Error:Failed to parse ${file}: ${error}`);
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
let modified = false;
|
|
59
|
-
const usedImports = [];
|
|
60
|
-
const { importAlias, initialImports } = generateImportMap(ast, pkg);
|
|
61
|
-
// If the file already has a T import, skip processing it
|
|
62
|
-
if (initialImports.includes(IMPORT_MAP.T.name)) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
let globalId = 0;
|
|
66
|
-
traverse(ast, {
|
|
67
|
-
JSXElement(path) {
|
|
68
|
-
if (framework === 'next-pages' &&
|
|
69
|
-
options.addGTProvider &&
|
|
70
|
-
(baseFileName === '_app.tsx' || baseFileName === '_app.jsx')) {
|
|
71
|
-
// Check if this is the Component element with pageProps
|
|
72
|
-
const isComponentWithPageProps = t.isJSXElement(path.node) &&
|
|
73
|
-
t.isJSXIdentifier(path.node.openingElement.name) &&
|
|
74
|
-
path.node.openingElement.name.name === 'Component' &&
|
|
75
|
-
path.node.openingElement.attributes.some((attr) => t.isJSXSpreadAttribute(attr) &&
|
|
76
|
-
t.isIdentifier(attr.argument) &&
|
|
77
|
-
attr.argument.name === 'pageProps');
|
|
78
|
-
if (!isComponentWithPageProps) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
// Check if GTProvider already exists in the ancestors
|
|
82
|
-
let hasGTProvider = false;
|
|
83
|
-
let currentPath = path;
|
|
84
|
-
while (currentPath.parentPath) {
|
|
85
|
-
if (t.isJSXElement(currentPath.node) &&
|
|
86
|
-
t.isJSXIdentifier(currentPath.node.openingElement.name) &&
|
|
87
|
-
currentPath.node.openingElement.name.name === 'GTProvider') {
|
|
88
|
-
hasGTProvider = true;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
currentPath = currentPath.parentPath;
|
|
92
|
-
}
|
|
93
|
-
if (!hasGTProvider) {
|
|
94
|
-
// Wrap the Component element with GTProvider
|
|
95
|
-
const gtProviderJsx = t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier('GTProvider'), [t.jsxSpreadAttribute(t.identifier('gtConfig'))], false), t.jsxClosingElement(t.jsxIdentifier('GTProvider')), [path.node]);
|
|
96
|
-
path.replaceWith(gtProviderJsx);
|
|
97
|
-
usedImports.push('GTProvider');
|
|
98
|
-
usedImports.push({
|
|
99
|
-
local: 'gtConfig',
|
|
100
|
-
imported: 'default',
|
|
101
|
-
source: normalizedConfigPath,
|
|
102
|
-
});
|
|
103
|
-
modified = true;
|
|
104
|
-
path.skip();
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// Check if this JSX element has any JSX element ancestors
|
|
109
|
-
if (t.isJSXElement(path.parentPath?.node) ||
|
|
110
|
-
t.isJSXExpressionContainer(path.parentPath?.node)) {
|
|
111
|
-
// If we're nested inside JSX, skip processing this node
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
// At this point, we're only processing top-level JSX elements
|
|
115
|
-
const opts = {
|
|
116
|
-
...importAlias,
|
|
117
|
-
idPrefix: relativePath,
|
|
118
|
-
idCount: globalId,
|
|
119
|
-
usedImports,
|
|
120
|
-
modified: false,
|
|
121
|
-
createIds: !options.disableIds,
|
|
122
|
-
warnings,
|
|
123
|
-
file,
|
|
124
|
-
};
|
|
125
|
-
const wrapped = handleJsxElement(path.node, opts, isMeaningful);
|
|
126
|
-
path.replaceWith(wrapped.node);
|
|
127
|
-
// Update global counters
|
|
128
|
-
modified = modified || opts.modified;
|
|
129
|
-
globalId = opts.idCount;
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
if (!modified)
|
|
133
|
-
continue;
|
|
134
|
-
const needsImport = usedImports.filter((imp) => typeof imp === 'string'
|
|
135
|
-
? !initialImports.includes(imp)
|
|
136
|
-
: !initialImports.includes(imp.local));
|
|
137
|
-
if (needsImport.length > 0) {
|
|
138
|
-
createImports(ast, needsImport, IMPORT_MAP);
|
|
139
|
-
}
|
|
140
|
-
try {
|
|
141
|
-
const output = generate(ast, {
|
|
142
|
-
retainLines: true,
|
|
143
|
-
retainFunctionParens: true,
|
|
144
|
-
comments: true,
|
|
145
|
-
compact: 'auto',
|
|
146
|
-
}, code);
|
|
147
|
-
// Post-process the output to fix import spacing
|
|
148
|
-
let processedCode = output.code;
|
|
149
|
-
if (needsImport.length > 0) {
|
|
150
|
-
// Add newline after the comment only
|
|
151
|
-
processedCode = processedCode.replace(/((?:import\s*{\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale)(?:\s*,\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale))*\s*}\s*from|const\s*{\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale)(?:\s*,\s*(?:T|GTT|Var|GTVar|GTProvider|getLocale))*\s*}\s*=\s*require)\s*['"]gt-(?:next|react)(?:\/server)?['"];?)/, '\n$1\n');
|
|
152
|
-
}
|
|
153
|
-
// Write the modified code back to the file
|
|
154
|
-
await fs.promises.writeFile(file, processedCode);
|
|
155
|
-
filesUpdated.push(file);
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
errors.push(`Error: Failed to write ${file}: ${error}`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return { filesUpdated };
|
|
162
|
-
}
|
|
1
|
+
export * from 'gt/react/parse/wrapContent';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,243 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { SUPPORTED_FILE_EXTENSIONS } from '../formats/files/supportedFiles.js';
|
|
3
|
-
import { ParsingConfigOptions } from './parsing.js';
|
|
4
|
-
import { Libraries, InlineLibrary } from './libraries.js';
|
|
5
|
-
export type { Updates } from 'generaltranslation/types';
|
|
6
|
-
export type Options = {
|
|
7
|
-
config: string;
|
|
8
|
-
apiKey?: string;
|
|
9
|
-
projectId?: string;
|
|
10
|
-
versionId?: string;
|
|
11
|
-
jsconfig?: string;
|
|
12
|
-
dictionary?: string;
|
|
13
|
-
src?: string[];
|
|
14
|
-
defaultLocale?: string;
|
|
15
|
-
locales?: string[];
|
|
16
|
-
baseUrl: string;
|
|
17
|
-
inline?: boolean;
|
|
18
|
-
ignoreErrors: boolean;
|
|
19
|
-
suppressWarnings: boolean;
|
|
20
|
-
dryRun: boolean;
|
|
21
|
-
timeout: number;
|
|
22
|
-
force?: boolean;
|
|
23
|
-
stageTranslations?: boolean;
|
|
24
|
-
experimentalLocalizeStaticUrls?: boolean;
|
|
25
|
-
experimentalHideDefaultLocale?: boolean;
|
|
26
|
-
experimentalFlattenJsonFiles?: boolean;
|
|
27
|
-
experimentalLocalizeStaticImports?: boolean;
|
|
28
|
-
experimentalLocalizeRelativeAssets?: boolean;
|
|
29
|
-
experimentalAddHeaderAnchorIds?: 'mintlify' | 'default';
|
|
30
|
-
docsImportRewrites?: Array<{
|
|
31
|
-
match: string;
|
|
32
|
-
replace: string;
|
|
33
|
-
}>;
|
|
34
|
-
};
|
|
35
|
-
export type OpenApiConfig = {
|
|
36
|
-
files: string[];
|
|
37
|
-
translateFields?: string[];
|
|
38
|
-
};
|
|
39
|
-
export type MintlifyOptions = {
|
|
40
|
-
openapi?: OpenApiConfig;
|
|
41
|
-
inferTitleFromFilename?: boolean;
|
|
42
|
-
};
|
|
43
|
-
export type SharedFlags = {
|
|
44
|
-
config?: string;
|
|
45
|
-
apiKey?: string;
|
|
46
|
-
projectId?: string;
|
|
47
|
-
};
|
|
48
|
-
export type TranslateFlags = SharedFlags & {
|
|
49
|
-
versionId?: string;
|
|
50
|
-
jsconfig?: string;
|
|
51
|
-
dictionary?: string;
|
|
52
|
-
defaultLocale?: string;
|
|
53
|
-
locales?: string[];
|
|
54
|
-
ignoreErrors?: boolean;
|
|
55
|
-
src?: string[];
|
|
56
|
-
timeout: number;
|
|
57
|
-
dryRun: boolean;
|
|
58
|
-
saveLocal?: boolean;
|
|
59
|
-
stageTranslations?: boolean;
|
|
60
|
-
setupProject?: boolean;
|
|
61
|
-
publish?: boolean;
|
|
62
|
-
force?: boolean;
|
|
63
|
-
forceDownload?: boolean;
|
|
64
|
-
experimentalLocalizeStaticUrls?: boolean;
|
|
65
|
-
experimentalHideDefaultLocale?: boolean;
|
|
66
|
-
experimentalFlattenJsonFiles?: boolean;
|
|
67
|
-
experimentalLocalizeStaticImports?: boolean;
|
|
68
|
-
experimentalLocalizeRelativeAssets?: boolean;
|
|
69
|
-
experimentalAddHeaderAnchorIds?: 'mintlify' | 'default';
|
|
70
|
-
excludeStaticUrls?: string[];
|
|
71
|
-
excludeStaticImports?: string[];
|
|
72
|
-
docsImportRewrites?: Array<{
|
|
73
|
-
match: string;
|
|
74
|
-
replace: string;
|
|
75
|
-
}>;
|
|
76
|
-
};
|
|
77
|
-
export type WrapOptions = {
|
|
78
|
-
src?: string[];
|
|
79
|
-
config: string;
|
|
80
|
-
skipTs: boolean;
|
|
81
|
-
disableIds: boolean;
|
|
82
|
-
disableFormatting: boolean;
|
|
83
|
-
addGTProvider: boolean;
|
|
84
|
-
};
|
|
85
|
-
export type SetupOptions = {
|
|
86
|
-
src?: string[];
|
|
87
|
-
config: string;
|
|
88
|
-
};
|
|
89
|
-
export type GenerateSourceOptions = {
|
|
90
|
-
src?: string[];
|
|
91
|
-
config: string;
|
|
92
|
-
defaultLocale: string;
|
|
93
|
-
dictionary?: string;
|
|
94
|
-
jsconfig?: string;
|
|
95
|
-
inline?: boolean;
|
|
96
|
-
ignoreErrors: boolean;
|
|
97
|
-
suppressWarnings: boolean;
|
|
98
|
-
};
|
|
99
|
-
export type Framework = typeof Libraries.GT_NEXT | typeof Libraries.GT_REACT | typeof Libraries.GT_REACT_NATIVE;
|
|
100
|
-
export type FrameworkObject = {
|
|
101
|
-
name: 'mintlify';
|
|
102
|
-
type?: undefined;
|
|
103
|
-
} | {
|
|
104
|
-
name: 'next-app' | 'next-pages' | 'vite' | 'gatsby' | 'redwood' | 'react';
|
|
105
|
-
type: 'react';
|
|
106
|
-
};
|
|
107
|
-
export type ReactFrameworkObject = Extract<FrameworkObject, {
|
|
108
|
-
type: 'react';
|
|
109
|
-
}>;
|
|
110
|
-
export type FrameworkType = FrameworkObject['type'];
|
|
111
|
-
export type SupportedFrameworks = FrameworkObject['name'];
|
|
112
|
-
export type SupportedReactFrameworks = Extract<FrameworkObject, {
|
|
113
|
-
type: 'react';
|
|
114
|
-
}>['name'];
|
|
115
|
-
export type SupportedLibraries = InlineLibrary | 'next-intl' | 'react-i18next' | 'next-i18next' | 'i18next' | 'i18next-icu' | 'base';
|
|
116
|
-
export interface ContentScanner {
|
|
117
|
-
scanForContent(options: WrapOptions, framework: Framework): Promise<{
|
|
118
|
-
errors: string[];
|
|
119
|
-
filesUpdated: string[];
|
|
120
|
-
warnings: string[];
|
|
121
|
-
}>;
|
|
122
|
-
}
|
|
123
|
-
export type SupportedFileExtension = (typeof SUPPORTED_FILE_EXTENSIONS)[number];
|
|
124
|
-
export type ResolvedFiles = {
|
|
125
|
-
[K in SupportedFileExtension]?: string[];
|
|
126
|
-
} & {
|
|
127
|
-
gt?: string;
|
|
128
|
-
};
|
|
129
|
-
export type TransformOption = {
|
|
130
|
-
match?: string;
|
|
131
|
-
replace: string;
|
|
132
|
-
};
|
|
133
|
-
export type TransformFiles = {
|
|
134
|
-
[K in SupportedFileExtension]?: TransformOption | string | TransformOption[];
|
|
135
|
-
};
|
|
136
|
-
export type FilesOptions = {
|
|
137
|
-
[K in SupportedFileExtension]?: {
|
|
138
|
-
include: string[];
|
|
139
|
-
exclude?: string[];
|
|
140
|
-
transform?: string | TransformOption | TransformOption[];
|
|
141
|
-
};
|
|
142
|
-
} & {
|
|
143
|
-
gt?: {
|
|
144
|
-
output: string;
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
export type Settings = {
|
|
148
|
-
config: string;
|
|
149
|
-
configDirectory: string;
|
|
150
|
-
baseUrl: string;
|
|
151
|
-
dashboardUrl: string;
|
|
152
|
-
apiKey?: string;
|
|
153
|
-
projectId?: string;
|
|
154
|
-
defaultLocale: string;
|
|
155
|
-
locales: string[];
|
|
156
|
-
customMapping?: CustomMapping;
|
|
157
|
-
files: {
|
|
158
|
-
resolvedPaths: ResolvedFiles;
|
|
159
|
-
placeholderPaths: ResolvedFiles;
|
|
160
|
-
transformPaths: TransformFiles;
|
|
161
|
-
};
|
|
162
|
-
stageTranslations: boolean;
|
|
163
|
-
publish: boolean;
|
|
164
|
-
_versionId?: string;
|
|
165
|
-
version?: string;
|
|
166
|
-
description?: string;
|
|
167
|
-
src: string[];
|
|
168
|
-
framework?: SupportedFrameworks;
|
|
169
|
-
options?: AdditionalOptions;
|
|
170
|
-
modelProvider?: string;
|
|
171
|
-
parsingOptions: ParsingConfigOptions;
|
|
172
|
-
branchOptions: BranchOptions;
|
|
173
|
-
sharedStaticAssets?: SharedStaticAssetsConfig;
|
|
174
|
-
};
|
|
175
|
-
export type BranchOptions = {
|
|
176
|
-
currentBranch?: string;
|
|
177
|
-
autoDetectBranches?: boolean;
|
|
178
|
-
remoteName: string;
|
|
179
|
-
enabled: boolean;
|
|
180
|
-
};
|
|
181
|
-
export type AdditionalOptions = {
|
|
182
|
-
jsonSchema?: {
|
|
183
|
-
[fileGlob: string]: JsonSchema;
|
|
184
|
-
};
|
|
185
|
-
yamlSchema?: {
|
|
186
|
-
[fileGlob: string]: YamlSchema;
|
|
187
|
-
};
|
|
188
|
-
skipFileValidation?: {
|
|
189
|
-
json?: boolean;
|
|
190
|
-
yaml?: boolean;
|
|
191
|
-
mdx?: boolean;
|
|
192
|
-
};
|
|
193
|
-
mintlify?: MintlifyOptions;
|
|
194
|
-
docsUrlPattern?: string;
|
|
195
|
-
docsImportPattern?: string;
|
|
196
|
-
excludeStaticUrls?: string[];
|
|
197
|
-
excludeStaticImports?: string[];
|
|
198
|
-
docsHideDefaultLocaleImport?: boolean;
|
|
199
|
-
copyFiles?: string[];
|
|
200
|
-
experimentalClearLocaleDirs?: boolean;
|
|
201
|
-
clearLocaleDirsExclude?: string[];
|
|
202
|
-
experimentalLocalizeStaticImports?: boolean;
|
|
203
|
-
experimentalLocalizeStaticUrls?: boolean;
|
|
204
|
-
experimentalLocalizeRelativeAssets?: boolean;
|
|
205
|
-
experimentalAddHeaderAnchorIds?: 'mintlify' | 'default';
|
|
206
|
-
experimentalHideDefaultLocale?: boolean;
|
|
207
|
-
experimentalFlattenJsonFiles?: boolean;
|
|
208
|
-
baseDomain?: string;
|
|
209
|
-
docsImportRewrites?: Array<{
|
|
210
|
-
match: string;
|
|
211
|
-
replace: string;
|
|
212
|
-
}>;
|
|
213
|
-
experimentalCanonicalLocaleKeys?: boolean;
|
|
214
|
-
};
|
|
215
|
-
export type SharedStaticAssetsConfig = {
|
|
216
|
-
include: string | string[];
|
|
217
|
-
outDir?: string;
|
|
218
|
-
publicPath?: string;
|
|
219
|
-
mirrorToLocales?: boolean;
|
|
220
|
-
};
|
|
221
|
-
export type JsonSchema = {
|
|
222
|
-
preset?: 'mintlify' | 'openapi';
|
|
223
|
-
include?: string[];
|
|
224
|
-
composite?: {
|
|
225
|
-
[sourceObjectPath: string]: SourceObjectOptions;
|
|
226
|
-
};
|
|
227
|
-
};
|
|
228
|
-
export type YamlSchema = {
|
|
229
|
-
preset?: 'mintlify' | 'openapi';
|
|
230
|
-
include?: string[];
|
|
231
|
-
transform?: TransformOptions;
|
|
232
|
-
};
|
|
233
|
-
export type SourceObjectOptions = {
|
|
234
|
-
type: 'array' | 'object';
|
|
235
|
-
include: string[];
|
|
236
|
-
key?: string;
|
|
237
|
-
localeProperty?: string;
|
|
238
|
-
transform?: TransformOptions;
|
|
239
|
-
experimentalSort?: 'locales' | 'localesAlphabetical';
|
|
240
|
-
};
|
|
241
|
-
export type TransformOptions = {
|
|
242
|
-
[transformPath: string]: TransformOption;
|
|
243
|
-
};
|
|
1
|
+
export * from 'gt/types/index';
|
package/dist/types/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from 'gt/types/index';
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function installPackage(packageName: string, packageManager: PackageManager, asDevDependency?: boolean, cwd?: string): Promise<void>;
|
|
3
|
-
export declare function installPackageGlobal(packageName: string, version?: string): Promise<void>;
|
|
1
|
+
export * from 'gt/utils/installPackage';
|
|
@@ -1,77 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { spawn } from 'child_process';
|
|
3
|
-
import { logger } from '../console/logger.js';
|
|
4
|
-
export async function installPackage(packageName, packageManager, asDevDependency, cwd = process.cwd()) {
|
|
5
|
-
return new Promise((resolve, reject) => {
|
|
6
|
-
const command = packageManager.name;
|
|
7
|
-
const args = [packageManager.installCommand, packageName];
|
|
8
|
-
if (asDevDependency) {
|
|
9
|
-
args.push(packageManager.devDependencyFlag);
|
|
10
|
-
}
|
|
11
|
-
const childProcess = spawn(command, args, {
|
|
12
|
-
stdio: ['pipe', 'ignore', 'pipe'],
|
|
13
|
-
cwd,
|
|
14
|
-
});
|
|
15
|
-
let errorOutput = '';
|
|
16
|
-
if (childProcess.stderr) {
|
|
17
|
-
childProcess.stderr.on('data', (data) => {
|
|
18
|
-
errorOutput += data.toString();
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
childProcess.on('error', (error) => {
|
|
22
|
-
logger.error(chalk.red(`Installation error: ${error.message}`));
|
|
23
|
-
logger.info(`Please manually install ${packageName} with: ${packageManager.name} ${packageManager.installCommand} ${packageName}`);
|
|
24
|
-
reject(error);
|
|
25
|
-
});
|
|
26
|
-
childProcess.on('close', (code) => {
|
|
27
|
-
if (code === 0) {
|
|
28
|
-
resolve();
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
logger.error(chalk.red(`Installation failed with exit code ${code}`));
|
|
32
|
-
if (errorOutput) {
|
|
33
|
-
logger.error(chalk.red(`Error details: ${errorOutput}`));
|
|
34
|
-
}
|
|
35
|
-
logger.info(`Please manually install ${packageName} with: ${packageManager.name} ${packageManager.installCommand} ${packageName}`);
|
|
36
|
-
reject(new Error(`Process exited with code ${code}`));
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
export async function installPackageGlobal(packageName, version) {
|
|
42
|
-
return new Promise((resolve, reject) => {
|
|
43
|
-
const command = 'npm';
|
|
44
|
-
const args = [
|
|
45
|
-
'install',
|
|
46
|
-
'-g',
|
|
47
|
-
version ? `${packageName}@${version}` : packageName,
|
|
48
|
-
];
|
|
49
|
-
const childProcess = spawn(command, args, {
|
|
50
|
-
stdio: ['pipe', 'ignore', 'pipe'],
|
|
51
|
-
});
|
|
52
|
-
let errorOutput = '';
|
|
53
|
-
if (childProcess.stderr) {
|
|
54
|
-
childProcess.stderr.on('data', (data) => {
|
|
55
|
-
errorOutput += data.toString();
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
childProcess.on('error', (error) => {
|
|
59
|
-
logger.error(chalk.red(`Installation error: ${error.message}`));
|
|
60
|
-
logger.info(`Please manually install ${packageName} with: npm install -g ${packageName}`);
|
|
61
|
-
reject(error);
|
|
62
|
-
});
|
|
63
|
-
childProcess.on('close', (code) => {
|
|
64
|
-
if (code === 0) {
|
|
65
|
-
resolve();
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
logger.error(chalk.red(`Installation failed with exit code ${code}`));
|
|
69
|
-
if (errorOutput) {
|
|
70
|
-
logger.error(chalk.red(`Error details: ${errorOutput}`));
|
|
71
|
-
}
|
|
72
|
-
logger.info(`Please manually install ${packageName} with: npm install -g ${packageName}`);
|
|
73
|
-
reject(new Error(`Process exited with code ${code}`));
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
1
|
+
export * from 'gt/utils/installPackage';
|