gt 0.10.0 → 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 +1275 -0
- package/LICENSE.md +105 -0
- package/README.md +26 -198
- package/dist/api/collectUserEditDiffs.d.ts +9 -0
- package/dist/api/collectUserEditDiffs.js +159 -0
- package/dist/api/downloadFileBatch.d.ts +23 -0
- package/dist/api/downloadFileBatch.js +190 -0
- package/dist/api/saveLocalEdits.d.ts +6 -0
- package/dist/api/saveLocalEdits.js +38 -0
- package/dist/bin/bin-entry.d.ts +1 -0
- package/dist/bin/bin-entry.js +9 -0
- package/dist/bin/bin-main.d.ts +2 -0
- package/dist/bin/bin-main.js +67 -0
- package/dist/cli/base.d.ts +59 -0
- package/dist/cli/base.js +529 -0
- package/dist/cli/commands/download.d.ts +8 -0
- package/dist/cli/commands/download.js +51 -0
- package/dist/cli/commands/enqueue.d.ts +9 -0
- package/dist/cli/commands/enqueue.js +27 -0
- package/dist/cli/commands/setupProject.d.ts +7 -0
- package/dist/cli/commands/setupProject.js +37 -0
- package/dist/cli/commands/stage.d.ts +9 -0
- package/dist/cli/commands/stage.js +59 -0
- package/dist/cli/commands/translate.d.ts +7 -0
- package/dist/cli/commands/translate.js +70 -0
- package/dist/cli/commands/upload.d.ts +13 -0
- package/dist/cli/commands/upload.js +142 -0
- package/dist/cli/commands/utils/validation.d.ts +13 -0
- package/dist/cli/commands/utils/validation.js +38 -0
- package/dist/cli/flags.d.ts +15 -0
- package/dist/cli/flags.js +70 -0
- package/dist/cli/inline.d.ts +17 -0
- package/dist/cli/inline.js +135 -0
- package/dist/cli/next.d.ts +10 -0
- package/dist/cli/next.js +12 -0
- package/dist/cli/node.d.ts +10 -0
- package/dist/cli/node.js +9 -0
- package/dist/cli/react.d.ts +12 -0
- package/dist/cli/react.js +72 -0
- package/dist/config/generateSettings.d.ts +9 -0
- package/dist/config/generateSettings.js +214 -0
- package/dist/config/optionPresets.d.ts +3 -0
- package/dist/config/optionPresets.js +65 -0
- package/dist/config/resolveConfig.d.ts +4 -0
- package/dist/config/resolveConfig.js +33 -0
- package/dist/config/utils.d.ts +2 -0
- package/dist/config/utils.js +4 -0
- package/dist/config/validateSettings.d.ts +3 -0
- package/dist/config/validateSettings.js +32 -0
- package/dist/console/colors.d.ts +6 -0
- package/dist/console/colors.js +19 -0
- package/dist/console/displayTranslateSummary.d.ts +1 -0
- package/dist/console/displayTranslateSummary.js +42 -0
- package/dist/console/formatting.d.ts +1 -0
- package/dist/console/formatting.js +7 -0
- package/dist/console/index.d.ts +34 -0
- package/dist/console/index.js +46 -0
- package/dist/console/logger.d.ts +35 -0
- package/dist/console/logger.js +250 -0
- package/dist/console/logging.d.ts +52 -0
- package/dist/console/logging.js +175 -0
- package/dist/formats/files/aggregateFiles.d.ts +4 -0
- package/dist/formats/files/aggregateFiles.js +156 -0
- package/dist/formats/files/collectFiles.d.ts +6 -0
- package/dist/formats/files/collectFiles.js +49 -0
- package/dist/formats/files/convertToFileTranslationData.d.ts +15 -0
- package/dist/formats/files/convertToFileTranslationData.js +21 -0
- package/dist/formats/files/fileMapping.d.ts +11 -0
- package/dist/formats/files/fileMapping.js +115 -0
- package/dist/formats/files/preprocess/mdx.d.ts +6 -0
- package/dist/formats/files/preprocess/mdx.js +14 -0
- package/dist/formats/files/preprocess/mintlify.d.ts +5 -0
- package/dist/formats/files/preprocess/mintlify.js +15 -0
- package/dist/formats/files/preprocessContent.d.ts +8 -0
- package/dist/formats/files/preprocessContent.js +23 -0
- package/dist/formats/files/save.d.ts +5 -0
- package/dist/formats/files/save.js +17 -0
- package/dist/formats/files/supportedFiles.d.ts +11 -0
- package/dist/formats/files/supportedFiles.js +20 -0
- package/dist/formats/json/extractJson.d.ts +15 -0
- package/dist/formats/json/extractJson.js +101 -0
- package/dist/formats/json/flattenJson.d.ts +14 -0
- package/dist/formats/json/flattenJson.js +64 -0
- package/dist/formats/json/mergeJson.d.ts +13 -0
- package/dist/formats/json/mergeJson.js +367 -0
- package/dist/formats/json/parseJson.d.ts +2 -0
- package/dist/formats/json/parseJson.js +109 -0
- package/dist/formats/json/utils.d.ts +47 -0
- package/dist/formats/json/utils.js +150 -0
- package/dist/formats/utils.d.ts +2 -0
- package/dist/formats/utils.js +24 -0
- package/dist/formats/yaml/mergeYaml.d.ts +5 -0
- package/dist/formats/yaml/mergeYaml.js +61 -0
- package/dist/formats/yaml/parseYaml.d.ts +5 -0
- package/dist/formats/yaml/parseYaml.js +24 -0
- package/dist/formats/yaml/utils.d.ts +2 -0
- package/dist/formats/yaml/utils.js +23 -0
- package/dist/fs/clearLocaleDirs.d.ts +8 -0
- package/dist/fs/clearLocaleDirs.js +126 -0
- package/dist/fs/config/downloadedVersions.d.ts +21 -0
- package/dist/fs/config/downloadedVersions.js +50 -0
- package/dist/fs/config/loadConfig.d.ts +1 -0
- package/dist/fs/config/loadConfig.js +9 -0
- package/dist/fs/config/parseFilesConfig.d.ts +27 -0
- package/dist/fs/config/parseFilesConfig.js +150 -0
- package/dist/fs/config/setupConfig.d.ts +17 -0
- package/dist/fs/config/setupConfig.js +50 -0
- package/dist/fs/config/updateConfig.d.ts +21 -0
- package/dist/fs/config/updateConfig.js +57 -0
- package/dist/fs/config/updateVersions.d.ts +11 -0
- package/dist/fs/config/updateVersions.js +30 -0
- package/dist/fs/copyFile.d.ts +7 -0
- package/dist/fs/copyFile.js +39 -0
- package/dist/fs/createLoadTranslationsFile.d.ts +1 -0
- package/dist/fs/createLoadTranslationsFile.js +49 -0
- package/dist/fs/determineFramework.d.ts +5 -0
- package/dist/fs/determineFramework.js +53 -0
- package/dist/fs/findFilepath.d.ts +36 -0
- package/dist/fs/findFilepath.js +90 -0
- package/dist/fs/index.d.ts +1 -0
- package/dist/fs/index.js +1 -0
- package/dist/fs/loadJSON.d.ts +6 -0
- package/dist/fs/loadJSON.js +17 -0
- package/dist/fs/matchFiles.d.ts +1 -0
- package/dist/fs/matchFiles.js +8 -0
- package/dist/fs/saveJSON.d.ts +1 -0
- package/dist/fs/saveJSON.js +7 -0
- package/dist/fs/utils.d.ts +1 -0
- package/dist/fs/utils.js +16 -0
- package/dist/functions.d.ts +7 -0
- package/dist/functions.js +6 -0
- package/dist/generated/version.d.ts +1 -0
- package/dist/generated/version.js +2 -0
- package/dist/git/branches.d.ts +7 -0
- package/dist/git/branches.js +88 -0
- package/dist/hooks/postProcess.d.ts +4 -0
- package/dist/hooks/postProcess.js +110 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +27 -0
- package/dist/locadex/setupFlow.d.ts +2 -0
- package/dist/locadex/setupFlow.js +9 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +10 -0
- package/dist/next/config/parseNextConfig.d.ts +10 -0
- package/dist/next/config/parseNextConfig.js +53 -0
- package/dist/next/jsx/utils.d.ts +7 -0
- package/dist/next/jsx/utils.js +42 -0
- package/dist/next/parse/handleInitGT.d.ts +7 -0
- package/dist/next/parse/handleInitGT.js +157 -0
- package/dist/next/parse/wrapContent.d.ts +12 -0
- package/dist/next/parse/wrapContent.js +164 -0
- package/dist/react/config/createESBuildConfig.d.ts +2 -0
- package/dist/react/config/createESBuildConfig.js +119 -0
- package/dist/react/jsx/evaluateJsx.d.ts +24 -0
- package/dist/react/jsx/evaluateJsx.js +123 -0
- package/dist/react/jsx/utils/buildImportMap.d.ts +9 -0
- package/dist/react/jsx/utils/buildImportMap.js +30 -0
- package/dist/react/jsx/utils/constants.d.ts +15 -0
- package/dist/react/jsx/utils/constants.js +49 -0
- package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +9 -0
- package/dist/react/jsx/utils/getCalleeNameFromExpression.js +32 -0
- package/dist/react/jsx/utils/getPathsAndAliases.d.ts +21 -0
- package/dist/react/jsx/utils/getPathsAndAliases.js +91 -0
- package/dist/react/jsx/utils/isNumberLiteral.d.ts +7 -0
- package/dist/react/jsx/utils/isNumberLiteral.js +13 -0
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +9 -0
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +138 -0
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +6 -0
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +197 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +13 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +42 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +5 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +69 -0
- package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +33 -0
- package/dist/react/jsx/utils/jsxParsing/parseJsx.js +918 -0
- package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +8 -0
- package/dist/react/jsx/utils/jsxParsing/parseTProps.js +65 -0
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +2 -0
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +61 -0
- package/dist/react/jsx/utils/jsxParsing/types.d.ts +48 -0
- package/dist/react/jsx/utils/jsxParsing/types.js +34 -0
- package/dist/react/jsx/utils/mapAttributeName.d.ts +11 -0
- package/dist/react/jsx/utils/mapAttributeName.js +12 -0
- package/dist/react/jsx/utils/parseAst.d.ts +31 -0
- package/dist/react/jsx/utils/parseAst.js +278 -0
- package/dist/react/jsx/utils/parseDeclareStatic.d.ts +15 -0
- package/dist/react/jsx/utils/parseDeclareStatic.js +540 -0
- package/dist/react/jsx/utils/parseString.d.ts +25 -0
- package/dist/react/jsx/utils/parseString.js +540 -0
- package/dist/react/jsx/utils/parseStringFunction.d.ts +30 -0
- package/dist/react/jsx/utils/parseStringFunction.js +348 -0
- package/dist/react/jsx/utils/resolveImportPath.d.ts +11 -0
- package/dist/react/jsx/utils/resolveImportPath.js +111 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +29 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +86 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +14 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +24 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +19 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +31 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +22 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +51 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +18 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +39 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +24 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +68 -0
- package/dist/react/jsx/utils/stringParsing/types.d.ts +41 -0
- package/dist/react/jsx/utils/stringParsing/types.js +1 -0
- package/dist/react/jsx/utils/types.d.ts +14 -0
- package/dist/react/jsx/utils/types.js +1 -0
- package/dist/react/jsx/utils/validateStringFunction.d.ts +7 -0
- package/dist/react/jsx/utils/validateStringFunction.js +31 -0
- package/dist/react/jsx/wrapJsx.d.ts +51 -0
- package/dist/react/jsx/wrapJsx.js +387 -0
- package/dist/react/parse/addVitePlugin/index.d.ts +22 -0
- package/dist/react/parse/addVitePlugin/index.js +41 -0
- package/dist/react/parse/addVitePlugin/installCompiler.d.ts +8 -0
- package/dist/react/parse/addVitePlugin/installCompiler.js +22 -0
- package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +19 -0
- package/dist/react/parse/addVitePlugin/updateViteConfig.js +120 -0
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +9 -0
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +34 -0
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +11 -0
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +48 -0
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +15 -0
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +113 -0
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +12 -0
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +32 -0
- package/dist/react/parse/createDictionaryUpdates.d.ts +3 -0
- package/dist/react/parse/createDictionaryUpdates.js +187 -0
- package/dist/react/parse/createInlineUpdates.d.ts +13 -0
- package/dist/react/parse/createInlineUpdates.js +161 -0
- package/dist/react/parse/wrapContent.d.ts +12 -0
- package/dist/react/parse/wrapContent.js +162 -0
- package/dist/react/utils/flattenDictionary.d.ts +20 -0
- package/dist/react/utils/flattenDictionary.js +75 -0
- package/dist/react/utils/getEntryAndMetadata.d.ts +5 -0
- package/dist/react/utils/getEntryAndMetadata.js +11 -0
- package/dist/react/utils/getVariableName.d.ts +25 -0
- package/dist/react/utils/getVariableName.js +37 -0
- package/dist/setup/agentInstructions.d.ts +24 -0
- package/dist/setup/agentInstructions.js +138 -0
- package/dist/setup/detectFramework.d.ts +31 -0
- package/dist/setup/detectFramework.js +106 -0
- package/dist/setup/frameworkUtils.d.ts +3 -0
- package/dist/setup/frameworkUtils.js +30 -0
- package/dist/setup/instructions/base.md +29 -0
- package/dist/setup/instructions/gt-next.md +107 -0
- package/dist/setup/instructions/gt-react.md +98 -0
- package/dist/setup/userInput.d.ts +4 -0
- package/dist/setup/userInput.js +32 -0
- package/dist/setup/wizard.d.ts +3 -0
- package/dist/setup/wizard.js +147 -0
- package/dist/state/recentDownloads.d.ts +12 -0
- package/dist/state/recentDownloads.js +18 -0
- package/dist/state/translateWarnings.d.ts +10 -0
- package/dist/state/translateWarnings.js +13 -0
- package/dist/translation/parse.d.ts +17 -0
- package/dist/translation/parse.js +77 -0
- package/dist/translation/stage.d.ts +3 -0
- package/dist/translation/stage.js +44 -0
- package/dist/translation/validate.d.ts +14 -0
- package/dist/translation/validate.js +100 -0
- package/dist/types/branch.d.ts +14 -0
- package/dist/types/branch.js +1 -0
- package/dist/types/data/json.d.ts +6 -0
- package/dist/types/data/json.js +1 -0
- package/dist/types/data.d.ts +37 -0
- package/dist/types/data.js +1 -0
- package/dist/types/files.d.ts +8 -0
- package/dist/types/files.js +1 -0
- package/dist/types/index.d.ts +243 -0
- package/dist/types/index.js +1 -0
- package/dist/types/libraries.d.ts +31 -0
- package/dist/types/libraries.js +72 -0
- package/dist/types/parsing.d.ts +3 -0
- package/dist/types/parsing.js +1 -0
- package/dist/utils/addExplicitAnchorIds.d.ts +24 -0
- package/dist/utils/addExplicitAnchorIds.js +416 -0
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.js +6 -0
- package/dist/utils/credentials.d.ts +12 -0
- package/dist/utils/credentials.js +120 -0
- package/dist/utils/flattenJsonFiles.d.ts +2 -0
- package/dist/utils/flattenJsonFiles.js +36 -0
- package/dist/utils/gitDiff.d.ts +8 -0
- package/dist/utils/gitDiff.js +34 -0
- package/dist/utils/gt.d.ts +2 -0
- package/dist/utils/gt.js +2 -0
- package/dist/utils/hash.d.ts +6 -0
- package/dist/utils/hash.js +11 -0
- package/dist/utils/headers.d.ts +1 -0
- package/dist/utils/headers.js +14 -0
- package/dist/utils/installPackage.d.ts +3 -0
- package/dist/utils/installPackage.js +77 -0
- package/dist/utils/localizeRelativeAssets.d.ts +8 -0
- package/dist/utils/localizeRelativeAssets.js +166 -0
- package/dist/utils/localizeStaticImports.d.ts +15 -0
- package/dist/utils/localizeStaticImports.js +397 -0
- package/dist/utils/localizeStaticUrls.d.ts +19 -0
- package/dist/utils/localizeStaticUrls.js +450 -0
- package/dist/utils/mintlifyTitleFallback.d.ts +6 -0
- package/dist/utils/mintlifyTitleFallback.js +80 -0
- package/dist/utils/packageInfo.d.ts +3 -0
- package/dist/utils/packageInfo.js +17 -0
- package/dist/utils/packageJson.d.ts +6 -0
- package/dist/utils/packageJson.js +68 -0
- package/dist/utils/packageManager.d.ts +28 -0
- package/dist/utils/packageManager.js +269 -0
- package/dist/utils/parse/needsCJS.d.ts +20 -0
- package/dist/utils/parse/needsCJS.js +72 -0
- package/dist/utils/persistPostprocessHashes.d.ts +12 -0
- package/dist/utils/persistPostprocessHashes.js +39 -0
- package/dist/utils/processAnchorIds.d.ts +6 -0
- package/dist/utils/processAnchorIds.js +56 -0
- package/dist/utils/processOpenApi.d.ts +8 -0
- package/dist/utils/processOpenApi.js +651 -0
- package/dist/utils/sanitizeFileContent.d.ts +6 -0
- package/dist/utils/sanitizeFileContent.js +29 -0
- package/dist/utils/sharedStaticAssets.d.ts +9 -0
- package/dist/utils/sharedStaticAssets.js +384 -0
- package/dist/utils/validateMdx.d.ts +10 -0
- package/dist/utils/validateMdx.js +25 -0
- package/dist/utils/wrapPlainUrls.d.ts +8 -0
- package/dist/utils/wrapPlainUrls.js +72 -0
- package/dist/workflows/download.d.ts +32 -0
- package/dist/workflows/download.js +131 -0
- package/dist/workflows/enqueue.d.ts +17 -0
- package/dist/workflows/enqueue.js +59 -0
- package/dist/workflows/setupProject.d.ts +13 -0
- package/dist/workflows/setupProject.js +48 -0
- package/dist/workflows/stage.d.ts +18 -0
- package/dist/workflows/stage.js +59 -0
- package/dist/workflows/steps/BranchStep.d.ts +13 -0
- package/dist/workflows/steps/BranchStep.js +161 -0
- package/dist/workflows/steps/DownloadStep.d.ts +19 -0
- package/dist/workflows/steps/DownloadStep.js +131 -0
- package/dist/workflows/steps/EnqueueStep.d.ts +15 -0
- package/dist/workflows/steps/EnqueueStep.js +33 -0
- package/dist/workflows/steps/PollJobsStep.d.ts +31 -0
- package/dist/workflows/steps/PollJobsStep.js +288 -0
- package/dist/workflows/steps/SetupStep.d.ts +16 -0
- package/dist/workflows/steps/SetupStep.js +72 -0
- package/dist/workflows/steps/UploadSourcesStep.d.ts +27 -0
- package/dist/workflows/steps/UploadSourcesStep.js +131 -0
- package/dist/workflows/steps/UploadTranslationsStep.d.ts +22 -0
- package/dist/workflows/steps/UploadTranslationsStep.js +71 -0
- package/dist/workflows/steps/UserEditDiffsStep.d.ts +11 -0
- package/dist/workflows/steps/UserEditDiffsStep.js +30 -0
- package/dist/workflows/steps/WorkflowStep.d.ts +4 -0
- package/dist/workflows/steps/WorkflowStep.js +2 -0
- package/dist/workflows/upload.d.ts +15 -0
- package/dist/workflows/upload.js +47 -0
- package/package.json +149 -112
- package/.dont-break +0 -6
- package/.jshintrc +0 -76
- package/.npmignore +0 -9
- package/.travis.yml +0 -21
- package/Gruntfile.js +0 -65
- package/History.md +0 -90
- package/MIT-License.txt +0 -21
- package/bin/gt.js +0 -58
- package/complexity.json +0 -17
- package/doc/RequireJsExample.md +0 -10
- package/examples/all.js +0 -72
- package/examples/altAsserrionSyntax/tests.js +0 -32
- package/examples/amd/bar.js +0 -4
- package/examples/amd/foo.js +0 -15
- package/examples/amd/fooTests.js +0 -8
- package/examples/arrays/test.js +0 -15
- package/examples/assert/test-assert-object.js +0 -15
- package/examples/assert/test-assert-require.js +0 -17
- package/examples/async/asyncAll.js +0 -37
- package/examples/async/asyncSetup.js +0 -29
- package/examples/async/asyncSetupOnce.js +0 -25
- package/examples/async/asyncTeardown.js +0 -27
- package/examples/async/stopStart.js +0 -22
- package/examples/async/test.js +0 -43
- package/examples/async/timeoutTests.js +0 -19
- package/examples/basic/code.js +0 -50
- package/examples/basic/code2.js +0 -9
- package/examples/basic/default.js +0 -26
- package/examples/basic/definedUndefined.js +0 -28
- package/examples/basic/empty.js +0 -24
- package/examples/basic/exceptionTests.js +0 -55
- package/examples/basic/fullMessage.js +0 -28
- package/examples/basic/functions.js +0 -18
- package/examples/basic/incomplete.js +0 -16
- package/examples/basic/null.js +0 -17
- package/examples/basic/optional.js +0 -45
- package/examples/basic/tests.js +0 -147
- package/examples/bdd/spec.js +0 -67
- package/examples/browser/code_coverage_report.json +0 -1
- package/examples/browser/index.html +0 -50
- package/examples/browser/packages.js +0 -12
- package/examples/browser/packagesDefault.js +0 -12
- package/examples/browser/qunit/qunit-1.10.0.css +0 -235
- package/examples/browser/qunit/qunit-1.10.0.js +0 -1977
- package/examples/browser/runTestsWithCoverage.bat +0 -19
- package/examples/browser/runner.js +0 -178
- package/examples/browser/src/Foo.js +0 -14
- package/examples/browser/srcInstrumented/Foo.js +0 -6
- package/examples/browser/test/FooTest.js +0 -31
- package/examples/browser/testDojo.js +0 -63
- package/examples/browser/testInstrumented/FooTest.js +0 -6
- package/examples/coffee/coffeeTestsCoffee/foo.coffee +0 -4
- package/examples/coffee/coffeeTestsCoffee/tests.coffee +0 -7
- package/examples/coffee/coffeeTestsJs/foo.js +0 -9
- package/examples/coffee/coffeeTestsJs/tests.coffee +0 -9
- package/examples/coffee/jsTestsCoffee/foo.coffee +0 -4
- package/examples/coffee/jsTestsCoffee/tests.js +0 -8
- package/examples/coverage.png +0 -0
- package/examples/crash/foo.js +0 -8
- package/examples/crashOnLoading/foo.js +0 -3
- package/examples/crashStackSize/foo.js +0 -8
- package/examples/crashStackSize/test.js +0 -7
- package/examples/doh/foo.js +0 -15
- package/examples/doh/fooTests.js +0 -28
- package/examples/dohDefine/foo.js +0 -14
- package/examples/dohDefine/fooTests.js +0 -24
- package/examples/dojo/src/Foo.js +0 -12
- package/examples/dojo/test/FooTest.js +0 -9
- package/examples/dojo/testDojo.js +0 -69
- package/examples/equiv/equiv.js +0 -22
- package/examples/example.png +0 -0
- package/examples/exec/foo.js +0 -5
- package/examples/exec/tests.js +0 -50
- package/examples/expect/test.js +0 -53
- package/examples/extend/extend-through-api.js +0 -40
- package/examples/extend/test.js +0 -18
- package/examples/faster/fibonacci.js +0 -18
- package/examples/faster/test.js +0 -89
- package/examples/fluent/foo.js +0 -38
- package/examples/funcAndArity/test.js +0 -15
- package/examples/gtAndQUnit/gtTests.js +0 -6
- package/examples/gtAndQUnit/qunitTests.js +0 -5
- package/examples/jsUnity/foo.js +0 -10
- package/examples/jsUnity/fooTests.js +0 -19
- package/examples/lodash/totalLength.js +0 -19
- package/examples/longStrings/test.js +0 -27
- package/examples/moduleSetupTeardown/test.js +0 -115
- package/examples/namedTest/foo.js +0 -9
- package/examples/overrideGt/test.js +0 -11
- package/examples/quickFail/test.js +0 -22
- package/examples/qunit/foo.js +0 -13
- package/examples/reporting/tests.coffee +0 -9
- package/examples/requirejs/lib/Foo.js +0 -11
- package/examples/requirejs/lib/Rectangle.js +0 -13
- package/examples/requirejs/runTests.js +0 -5
- package/examples/requirejs/test/RectangleTest.js +0 -22
- package/examples/silent/foo.js +0 -7
- package/examples/silent/fooTest.js +0 -18
- package/examples/skipTest/tests.js +0 -15
- package/examples/testsFromOtherTests/parentTests.js +0 -7
- package/examples/testsFromOtherTests/tests.js +0 -5
- package/examples/throws/test.js +0 -17
- package/examples/use-gt-as-module/fooTest.js +0 -8
- package/examples/use-gt-as-module/test-code.js +0 -7
- package/gt.js +0 -11
- package/lib/coverage.js +0 -234
- package/src/JUnitReporter.js +0 -30
- package/src/QUnitBrowserAdapter.js +0 -15
- package/src/Reporter.js +0 -127
- package/src/TestRunInfo.js +0 -25
- package/src/TestRunner.js +0 -223
- package/src/UnitTest/CollectionMethods.js +0 -97
- package/src/UnitTest/ModuleTests.js +0 -104
- package/src/UnitTest/Test.js +0 -85
- package/src/UnitTest/TestAsync.js +0 -78
- package/src/UnitTest/TestBaseInfo.js +0 -21
- package/src/UnitTest/TestCollection.js +0 -206
- package/src/UnitTest/TestInfo.js +0 -30
- package/src/UnitTest/TestReport.js +0 -27
- package/src/assertions/PrimaryAssertions.js +0 -163
- package/src/assertions/SecondaryAssertions.js +0 -262
- package/src/assertions/TertiaryAssertions.js +0 -99
- package/src/bddInterface.js +0 -39
- package/src/covered.js +0 -156
- package/src/dohAdapter.js +0 -79
- package/src/dohInterface.js +0 -20
- package/src/equiv.js +0 -11
- package/src/jsunityAdapter.js +0 -66
- package/src/jsunityInterface.js +0 -13
- package/src/options.js +0 -116
- package/src/shiv.js +0 -16
- package/src/sure.js +0 -226
- package/src/test/ConsoleHider.js +0 -26
- package/src/test/JUnitReporter.js +0 -12
- package/src/test/ModuleTests.js +0 -37
- package/src/test/Test.js +0 -18
- package/src/test/TestCollection.js +0 -21
- package/src/test/TestRunInfo.js +0 -15
- package/src/test/TestRunner.js +0 -9
- package/src/test/utils.js +0 -43
- package/src/utils/ConsoleHider.js +0 -27
- package/src/utils/WatchFiles.js +0 -13
- package/src/utils/discoverFiles.js +0 -18
- package/src/utils/joinArguments.js +0 -13
- package/src/utils/not.js +0 -14
- package/src/utils/pluckFunction.js +0 -15
- package/src/utils/test/joinArgumentsTest.js +0 -24
- package/src/utils/test/not.js +0 -70
- package/src/utils/test/pluckFunctionLoDashTest.js +0 -51
- package/src/utils/test/pluckFunctionTest.js +0 -41
- package/src/utils/test/pluckObjects.js +0 -20
- package/src/utils/utils.js +0 -146
- package/tests/all.js +0 -24
- package/tests/large/bddTest.js +0 -9
- package/tests/large/expectedCrash.js +0 -3
- package/tests/large/expectedCrashTest.js +0 -9
- package/tests/large/filterCLI.js +0 -10
- package/tests/large/filterCLITest.js +0 -18
- package/tests/large/loadingCrash.js +0 -1
- package/tests/large/loadingCrashTest.js +0 -9
- package/tests/large/skip.js +0 -11
- package/tests/large/skipTest.js +0 -9
- package/tests/large/twoFailing.js +0 -9
- package/tests/large/twoFailingTest.js +0 -9
- package/tests/mocha/.npmignore +0 -1
- package/tests/mocha/basic.js +0 -12
- package/tests/mocha/gt-as-module.js +0 -65
- package/tests/mocha/test-collection.js +0 -67
- package/tests/small/errorInAsync.js +0 -6
- package/tests/small/errorInAsyncTest.js +0 -14
- package/tests/small/oneFails.js +0 -7
- package/tests/small/oneFailsTest.js +0 -18
- package/tests/small/pluckObjects.js +0 -20
- package/tests/small/pluckTest.js +0 -51
- package/tests/small/setupException.js +0 -8
- package/tests/small/setupExceptionTest.js +0 -9
- package/tests/small/teardownException.js +0 -8
- package/tests/small/teardownExceptionTest.js +0 -9
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
// This file is MIT licensed and was adapted from https://github.com/getsentry/sentry-wizard/blob/master/src/utils/package-manager.ts and https://github.com/getsentry/sentry-wizard/blob/master/src/utils/clack/index.ts
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { getPackageJson, updatePackageJson } from './packageJson.js';
|
|
5
|
+
import { promptSelect } from '../console/logging.js';
|
|
6
|
+
export class NoPackageManagerError extends Error {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = 'NoPackageManagerError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export const BUN = {
|
|
13
|
+
id: 'bun',
|
|
14
|
+
name: 'bun',
|
|
15
|
+
label: 'Bun',
|
|
16
|
+
installCommand: 'add',
|
|
17
|
+
installAllCommand: 'bun install',
|
|
18
|
+
buildCommand: 'bun run build',
|
|
19
|
+
runScriptCommand: 'bun run',
|
|
20
|
+
flags: '',
|
|
21
|
+
forceInstallFlag: '--force',
|
|
22
|
+
devDependencyFlag: '--dev',
|
|
23
|
+
detect: (cwd) => ['bun.lockb', 'bun.lock'].some((lockFile) => {
|
|
24
|
+
try {
|
|
25
|
+
return fs.existsSync(path.join(cwd, lockFile));
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}),
|
|
31
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
32
|
+
const packageDotJson = await getPackageJson();
|
|
33
|
+
if (!packageDotJson) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const overrides = packageDotJson.overrides || {};
|
|
37
|
+
await updatePackageJson({
|
|
38
|
+
...packageDotJson,
|
|
39
|
+
overrides: {
|
|
40
|
+
...overrides,
|
|
41
|
+
[pkgName]: pkgVersion,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export const DENO = {
|
|
47
|
+
id: 'deno',
|
|
48
|
+
name: 'deno',
|
|
49
|
+
label: 'Deno',
|
|
50
|
+
installCommand: 'install',
|
|
51
|
+
installAllCommand: 'deno install',
|
|
52
|
+
buildCommand: 'deno task build',
|
|
53
|
+
runScriptCommand: 'deno task',
|
|
54
|
+
flags: '',
|
|
55
|
+
forceInstallFlag: '--force',
|
|
56
|
+
devDependencyFlag: '--dev',
|
|
57
|
+
registry: 'npm',
|
|
58
|
+
detect: (cwd) => {
|
|
59
|
+
try {
|
|
60
|
+
return fs.existsSync(path.join(cwd, 'deno.lock'));
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
67
|
+
const packageDotJson = await getPackageJson();
|
|
68
|
+
if (!packageDotJson) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const overrides = packageDotJson.overrides || {};
|
|
72
|
+
await updatePackageJson({
|
|
73
|
+
...packageDotJson,
|
|
74
|
+
overrides: {
|
|
75
|
+
...overrides,
|
|
76
|
+
[pkgName]: pkgVersion,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
export const YARN_V1 = {
|
|
82
|
+
id: 'yarn_v1',
|
|
83
|
+
name: 'yarn',
|
|
84
|
+
label: 'Yarn V1',
|
|
85
|
+
installCommand: 'add',
|
|
86
|
+
installAllCommand: 'yarn install',
|
|
87
|
+
buildCommand: 'yarn build',
|
|
88
|
+
runScriptCommand: 'yarn',
|
|
89
|
+
flags: '--ignore-workspace-root-check',
|
|
90
|
+
forceInstallFlag: '--force',
|
|
91
|
+
devDependencyFlag: '--dev',
|
|
92
|
+
detect: (cwd) => {
|
|
93
|
+
try {
|
|
94
|
+
return fs
|
|
95
|
+
.readFileSync(path.join(cwd, 'yarn.lock'), 'utf-8')
|
|
96
|
+
.slice(0, 500)
|
|
97
|
+
.includes('yarn lockfile v1');
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
104
|
+
const packageDotJson = await getPackageJson();
|
|
105
|
+
if (!packageDotJson) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const resolutions = packageDotJson.resolutions || {};
|
|
109
|
+
await updatePackageJson({
|
|
110
|
+
...packageDotJson,
|
|
111
|
+
resolutions: {
|
|
112
|
+
...resolutions,
|
|
113
|
+
[pkgName]: pkgVersion,
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
/** YARN V2/3/4 */
|
|
119
|
+
export const YARN_V2 = {
|
|
120
|
+
id: 'yarn_v2',
|
|
121
|
+
name: 'yarn',
|
|
122
|
+
label: 'Yarn V2/3/4',
|
|
123
|
+
installCommand: 'add',
|
|
124
|
+
installAllCommand: 'yarn install',
|
|
125
|
+
buildCommand: 'yarn build',
|
|
126
|
+
runScriptCommand: 'yarn',
|
|
127
|
+
flags: '',
|
|
128
|
+
forceInstallFlag: '--force',
|
|
129
|
+
devDependencyFlag: '--dev',
|
|
130
|
+
detect: (cwd) => {
|
|
131
|
+
try {
|
|
132
|
+
return fs
|
|
133
|
+
.readFileSync(path.join(cwd, 'yarn.lock'), 'utf-8')
|
|
134
|
+
.slice(0, 500)
|
|
135
|
+
.includes('__metadata');
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
142
|
+
const packageDotJson = await getPackageJson();
|
|
143
|
+
if (!packageDotJson) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const resolutions = packageDotJson.resolutions || {};
|
|
147
|
+
await updatePackageJson({
|
|
148
|
+
...packageDotJson,
|
|
149
|
+
resolutions: {
|
|
150
|
+
...resolutions,
|
|
151
|
+
[pkgName]: pkgVersion,
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
export const PNPM = {
|
|
157
|
+
id: 'pnpm',
|
|
158
|
+
name: 'pnpm',
|
|
159
|
+
label: 'PNPM',
|
|
160
|
+
installCommand: 'add',
|
|
161
|
+
installAllCommand: 'pnpm install',
|
|
162
|
+
buildCommand: 'pnpm build',
|
|
163
|
+
runScriptCommand: 'pnpm',
|
|
164
|
+
flags: '--ignore-workspace-root-check',
|
|
165
|
+
forceInstallFlag: '--force',
|
|
166
|
+
devDependencyFlag: '--save-dev',
|
|
167
|
+
detect: (cwd) => {
|
|
168
|
+
try {
|
|
169
|
+
return fs.existsSync(path.join(cwd, 'pnpm-lock.yaml'));
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
176
|
+
const packageDotJson = await getPackageJson();
|
|
177
|
+
if (!packageDotJson) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const pnpm = packageDotJson.pnpm || {};
|
|
181
|
+
const overrides = pnpm.overrides || {};
|
|
182
|
+
await updatePackageJson({
|
|
183
|
+
...packageDotJson,
|
|
184
|
+
pnpm: {
|
|
185
|
+
...pnpm,
|
|
186
|
+
overrides: {
|
|
187
|
+
...overrides,
|
|
188
|
+
[pkgName]: pkgVersion,
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
export const NPM = {
|
|
195
|
+
id: 'npm',
|
|
196
|
+
name: 'npm',
|
|
197
|
+
label: 'NPM',
|
|
198
|
+
installCommand: 'install',
|
|
199
|
+
installAllCommand: 'npm ci',
|
|
200
|
+
buildCommand: 'npm run build',
|
|
201
|
+
runScriptCommand: 'npm run',
|
|
202
|
+
flags: '',
|
|
203
|
+
forceInstallFlag: '--force',
|
|
204
|
+
devDependencyFlag: '--save-dev',
|
|
205
|
+
detect: (cwd) => {
|
|
206
|
+
try {
|
|
207
|
+
return fs.existsSync(path.join(cwd, 'package-lock.json'));
|
|
208
|
+
}
|
|
209
|
+
catch (e) {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
addOverride: async (pkgName, pkgVersion) => {
|
|
214
|
+
const packageDotJson = await getPackageJson();
|
|
215
|
+
if (!packageDotJson) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const overrides = packageDotJson.overrides || {};
|
|
219
|
+
await updatePackageJson({
|
|
220
|
+
...packageDotJson,
|
|
221
|
+
overrides: {
|
|
222
|
+
...overrides,
|
|
223
|
+
[pkgName]: pkgVersion,
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
},
|
|
227
|
+
};
|
|
228
|
+
export const packageManagers = [NPM, YARN_V1, YARN_V2, PNPM, BUN, DENO];
|
|
229
|
+
export function _detectPackageManger(cwd) {
|
|
230
|
+
const foundPackageMangers = packageManagers.filter((packageManager) => packageManager.detect(cwd));
|
|
231
|
+
// Only consider a package manager detected if we found exactly one.
|
|
232
|
+
// If we find more than one, we should not make any assumptions.
|
|
233
|
+
if (foundPackageMangers.length === 1) {
|
|
234
|
+
return foundPackageMangers[0];
|
|
235
|
+
}
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
// Get the package manager for the current project
|
|
239
|
+
// Uses a global cache to avoid prompting the user multiple times
|
|
240
|
+
export async function getPackageManager(cwd = process.cwd(), specifiedPackageManager, errorIfNotFound = false) {
|
|
241
|
+
const globalWizard = global;
|
|
242
|
+
if (globalWizard._gt_wizard_cached_package_manager) {
|
|
243
|
+
return globalWizard._gt_wizard_cached_package_manager;
|
|
244
|
+
}
|
|
245
|
+
if (specifiedPackageManager) {
|
|
246
|
+
const packageManager = packageManagers.find((packageManager) => packageManager.id === specifiedPackageManager);
|
|
247
|
+
if (packageManager) {
|
|
248
|
+
globalWizard._gt_wizard_cached_package_manager = packageManager;
|
|
249
|
+
return packageManager;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
const detectedPackageManager = _detectPackageManger(cwd);
|
|
253
|
+
if (detectedPackageManager) {
|
|
254
|
+
globalWizard._gt_wizard_cached_package_manager = detectedPackageManager;
|
|
255
|
+
return detectedPackageManager;
|
|
256
|
+
}
|
|
257
|
+
if (errorIfNotFound) {
|
|
258
|
+
throw new NoPackageManagerError('No package manager found');
|
|
259
|
+
}
|
|
260
|
+
const selectedPackageManager = await promptSelect({
|
|
261
|
+
message: 'Please select your package manager.',
|
|
262
|
+
options: packageManagers.map((packageManager) => ({
|
|
263
|
+
value: packageManager,
|
|
264
|
+
label: packageManager.label,
|
|
265
|
+
})),
|
|
266
|
+
});
|
|
267
|
+
globalWizard._gt_wizard_cached_package_manager = selectedPackageManager;
|
|
268
|
+
return selectedPackageManager;
|
|
269
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ParseResult } from '@babel/parser';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Given an AST determines if the file needs to be compiled as CommonJS or ESM.
|
|
5
|
+
* @param ast - The AST to analyze
|
|
6
|
+
* @returns True if the file needs to be compiled as CommonJS, false if it needs to be compiled as ESM
|
|
7
|
+
*/
|
|
8
|
+
export declare function needsCJS({ ast, warnings, filepath, packageJson, tsconfigJson, }: {
|
|
9
|
+
ast: ParseResult<t.File>;
|
|
10
|
+
warnings: string[];
|
|
11
|
+
filepath: string;
|
|
12
|
+
packageJson?: {
|
|
13
|
+
type?: string;
|
|
14
|
+
};
|
|
15
|
+
tsconfigJson?: {
|
|
16
|
+
compilerOptions?: {
|
|
17
|
+
module?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}): boolean;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import traverseModule from '@babel/traverse';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
// Handle CommonJS/ESM interop
|
|
4
|
+
const traverse = traverseModule.default || traverseModule;
|
|
5
|
+
/**
|
|
6
|
+
* Given an AST determines if the file needs to be compiled as CommonJS or ESM.
|
|
7
|
+
* @param ast - The AST to analyze
|
|
8
|
+
* @returns True if the file needs to be compiled as CommonJS, false if it needs to be compiled as ESM
|
|
9
|
+
*/
|
|
10
|
+
export function needsCJS({ ast, warnings, filepath, packageJson, tsconfigJson, }) {
|
|
11
|
+
// Analyze the actual file content to determine module system
|
|
12
|
+
let hasES6Imports = false;
|
|
13
|
+
let hasCommonJSRequire = false;
|
|
14
|
+
traverse(ast, {
|
|
15
|
+
ImportDeclaration() {
|
|
16
|
+
hasES6Imports = true;
|
|
17
|
+
},
|
|
18
|
+
CallExpression(path) {
|
|
19
|
+
if (t.isIdentifier(path.node.callee, { name: 'require' })) {
|
|
20
|
+
hasCommonJSRequire = true;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
// Determine if we need CommonJS based on actual file content and fallback to config-based logic
|
|
25
|
+
let needsCJS = false;
|
|
26
|
+
if (hasES6Imports && !hasCommonJSRequire) {
|
|
27
|
+
// File uses ES6 imports, so we should use ES6 imports
|
|
28
|
+
needsCJS = false;
|
|
29
|
+
}
|
|
30
|
+
else if (hasCommonJSRequire && !hasES6Imports) {
|
|
31
|
+
// File uses CommonJS require, so we should use CommonJS require
|
|
32
|
+
needsCJS = true;
|
|
33
|
+
}
|
|
34
|
+
else if (hasES6Imports && hasCommonJSRequire) {
|
|
35
|
+
// Mixed usage - this is unusual but we'll default to ES6 imports
|
|
36
|
+
warnings.push(`Mixed ES6 imports and CommonJS require detected in ${filepath}. Defaulting to ES6 imports.`);
|
|
37
|
+
needsCJS = false;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// No imports/requires found, fall back to configuration-based logic
|
|
41
|
+
if (filepath.endsWith('.ts') || filepath.endsWith('.tsx')) {
|
|
42
|
+
// For TypeScript files, check tsconfig.json compilerOptions.module
|
|
43
|
+
const moduleSetting = tsconfigJson?.compilerOptions?.module;
|
|
44
|
+
if (moduleSetting === 'commonjs' || moduleSetting === 'node') {
|
|
45
|
+
needsCJS = true;
|
|
46
|
+
}
|
|
47
|
+
else if (moduleSetting === 'esnext' ||
|
|
48
|
+
moduleSetting === 'es2022' ||
|
|
49
|
+
moduleSetting === 'es2020' ||
|
|
50
|
+
moduleSetting === 'es2015' ||
|
|
51
|
+
moduleSetting === 'es6' ||
|
|
52
|
+
moduleSetting === 'node16' ||
|
|
53
|
+
moduleSetting === 'nodenext') {
|
|
54
|
+
needsCJS = false;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// Default to ESM for TypeScript files if no module setting is specified
|
|
58
|
+
needsCJS = false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (filepath.endsWith('.js')) {
|
|
62
|
+
// For JavaScript files, check package.json type
|
|
63
|
+
// If package.json has "type": "module", .js files are treated as ES modules
|
|
64
|
+
needsCJS = packageJson?.type !== 'module';
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// For other file extensions, default to ESM
|
|
68
|
+
needsCJS = false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return needsCJS;
|
|
72
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Settings } from '../types/index.js';
|
|
2
|
+
type DownloadMeta = {
|
|
3
|
+
branchId: string;
|
|
4
|
+
fileId: string;
|
|
5
|
+
versionId: string;
|
|
6
|
+
locale: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Persist postprocessed content hashes for recently downloaded files into gt-lock.json.
|
|
10
|
+
*/
|
|
11
|
+
export declare function persistPostProcessHashes(settings: Settings, includeFiles: Set<string> | undefined, downloadedMeta: Map<string, DownloadMeta>): void;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import { ensureNestedObject, getDownloadedVersions, saveDownloadedVersions, } from '../fs/config/downloadedVersions.js';
|
|
3
|
+
import { hashStringSync } from './hash.js';
|
|
4
|
+
/**
|
|
5
|
+
* Persist postprocessed content hashes for recently downloaded files into gt-lock.json.
|
|
6
|
+
*/
|
|
7
|
+
export function persistPostProcessHashes(settings, includeFiles, downloadedMeta) {
|
|
8
|
+
if (!includeFiles || includeFiles.size === 0 || downloadedMeta.size === 0) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const downloadedVersions = getDownloadedVersions(settings.configDirectory);
|
|
12
|
+
let lockUpdated = false;
|
|
13
|
+
for (const filePath of includeFiles) {
|
|
14
|
+
const meta = downloadedMeta.get(filePath);
|
|
15
|
+
if (!meta)
|
|
16
|
+
continue;
|
|
17
|
+
if (!fs.existsSync(filePath))
|
|
18
|
+
continue;
|
|
19
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
20
|
+
const hash = hashStringSync(content);
|
|
21
|
+
ensureNestedObject(downloadedVersions.entries, [
|
|
22
|
+
meta.branchId,
|
|
23
|
+
meta.fileId,
|
|
24
|
+
meta.versionId,
|
|
25
|
+
meta.locale,
|
|
26
|
+
]);
|
|
27
|
+
const existing = downloadedVersions.entries[meta.branchId][meta.fileId][meta.versionId][meta.locale] || {};
|
|
28
|
+
if (existing.postProcessHash !== hash) {
|
|
29
|
+
downloadedVersions.entries[meta.branchId][meta.fileId][meta.versionId][meta.locale] = {
|
|
30
|
+
...existing,
|
|
31
|
+
postProcessHash: hash,
|
|
32
|
+
};
|
|
33
|
+
lockUpdated = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (lockUpdated) {
|
|
37
|
+
saveDownloadedVersions(settings.configDirectory, downloadedVersions);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Settings } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Processes all translated MD/MDX files to add explicit anchor IDs
|
|
4
|
+
* This preserves navigation links when headings are translated
|
|
5
|
+
*/
|
|
6
|
+
export default function processAnchorIds(settings: Settings, includeFiles?: Set<string>): Promise<void>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { addExplicitAnchorIds, extractHeadingInfo, } from './addExplicitAnchorIds.js';
|
|
2
|
+
import { getRelative, readFile } from '../fs/findFilepath.js';
|
|
3
|
+
import { createFileMapping } from '../formats/files/fileMapping.js';
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
/**
|
|
6
|
+
* Processes all translated MD/MDX files to add explicit anchor IDs
|
|
7
|
+
* This preserves navigation links when headings are translated
|
|
8
|
+
*/
|
|
9
|
+
export default async function processAnchorIds(settings, includeFiles) {
|
|
10
|
+
if (!settings.files)
|
|
11
|
+
return;
|
|
12
|
+
const { resolvedPaths, placeholderPaths, transformPaths } = settings.files;
|
|
13
|
+
const fileMapping = createFileMapping(resolvedPaths, placeholderPaths, transformPaths, settings.locales, settings.defaultLocale);
|
|
14
|
+
const sourceTypeByPath = new Map();
|
|
15
|
+
if (resolvedPaths.md) {
|
|
16
|
+
for (const filePath of resolvedPaths.md) {
|
|
17
|
+
sourceTypeByPath.set(getRelative(filePath), 'md');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (resolvedPaths.mdx) {
|
|
21
|
+
for (const filePath of resolvedPaths.mdx) {
|
|
22
|
+
sourceTypeByPath.set(getRelative(filePath), 'mdx');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Process each locale's translated files
|
|
26
|
+
const processPromises = Object.entries(fileMapping)
|
|
27
|
+
.filter(([locale, filesMap]) => locale !== settings.defaultLocale) // Skip default locale
|
|
28
|
+
.map(async ([locale, filesMap]) => {
|
|
29
|
+
// Get all translated files whose sources are md or mdx
|
|
30
|
+
const mdFiles = Object.entries(filesMap).filter(([sourcePath, translatedPath]) => translatedPath &&
|
|
31
|
+
sourceTypeByPath.has(sourcePath) &&
|
|
32
|
+
(!includeFiles || includeFiles.has(translatedPath)));
|
|
33
|
+
for (const [sourcePath, translatedPath] of mdFiles) {
|
|
34
|
+
try {
|
|
35
|
+
// Check if translated file exists before processing
|
|
36
|
+
if (!fs.existsSync(translatedPath)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
// Extract heading info from source file
|
|
40
|
+
const sourceContent = readFile(sourcePath);
|
|
41
|
+
const sourceHeadingMap = extractHeadingInfo(sourceContent);
|
|
42
|
+
const fileTypeHint = sourceTypeByPath.get(sourcePath);
|
|
43
|
+
// Read translated file and apply anchor IDs
|
|
44
|
+
const translatedContent = readFile(translatedPath);
|
|
45
|
+
const result = addExplicitAnchorIds(translatedContent, sourceHeadingMap, settings, sourcePath, translatedPath, fileTypeHint);
|
|
46
|
+
if (result.hasChanges) {
|
|
47
|
+
fs.writeFileSync(translatedPath, result.content, 'utf8');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.warn(`Failed to process IDs for ${translatedPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
await Promise.all(processPromises);
|
|
56
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Settings } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Postprocess Mintlify OpenAPI references to point to locale-specific spec files.
|
|
4
|
+
* - Uses openapi.files (ordered) to resolve ambiguities (first match wins).
|
|
5
|
+
* - Relies on the user's json transform rules for locale paths.
|
|
6
|
+
* - Warns on missing/ambiguous references but keeps behavior deterministic.
|
|
7
|
+
*/
|
|
8
|
+
export default function processOpenApi(settings: Settings, includeFiles?: Set<string>): Promise<void>;
|