ts-openapi-codegen 2.1.0-beta.1 → 2.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -934
- package/README.rus.md +27 -934
- package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +40 -24
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts +2 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.js +47 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +17 -7
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +17 -7
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts +14 -2
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/analyzeDiff.js +58 -15
- package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -3
- package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/ciSummary.js +10 -6
- package/dist/cli/analyzeDiff/ignoreRules.d.ts +0 -22
- package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/ignoreRules.js +3 -25
- package/dist/cli/analyzeDiff/miracles.d.ts +0 -54
- package/dist/cli/analyzeDiff/miracles.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/miracles.js +1 -219
- package/dist/cli/analyzeDiff/specParser.d.ts +0 -13
- package/dist/cli/analyzeDiff/specParser.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/specParser.js +2 -23
- package/dist/cli/analyzeDiff/types.d.ts +0 -42
- package/dist/cli/analyzeDiff/types.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/analyzeUsage.d.ts +4 -0
- package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/analyzeUsage.js +60 -0
- package/dist/cli/analyzeUsage/core/Analyzer.d.ts +9 -0
- package/dist/cli/analyzeUsage/core/Analyzer.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/core/Analyzer.js +29 -0
- package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +10 -0
- package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/core/ProjectContext.js +58 -0
- package/dist/cli/analyzeUsage/core/Scanner.d.ts +23 -0
- package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/core/Scanner.js +125 -0
- package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +14 -0
- package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/ClientRule.js +86 -0
- package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +7 -0
- package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/CoverageRule.js +55 -0
- package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts +6 -0
- package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +63 -0
- package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +6 -0
- package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/ImportRule.js +50 -0
- package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +6 -0
- package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/ModelRule.js +34 -0
- package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +6 -0
- package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/SchemaRule.js +46 -0
- package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +15 -0
- package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/rules/ServiceRule.js +96 -0
- package/dist/cli/analyzeUsage/types.d.ts +52 -0
- package/dist/cli/analyzeUsage/types.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/types.js +2 -0
- package/dist/cli/analyzeUsage/utils/fuzzy.d.ts +5 -0
- package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/utils/fuzzy.js +38 -0
- package/dist/cli/analyzeUsage/utils/report.d.ts +16 -0
- package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -0
- package/dist/cli/analyzeUsage/utils/report.js +85 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.js +53 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.js +52 -0
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.js +15 -6
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.js +8 -5
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.js +20 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.js +35 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.js +59 -0
- package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +19 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.d.ts +6 -0
- package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.js +55 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +1 -1
- package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +18 -9
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +2 -5
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +24 -20
- package/dist/cli/index.js +45 -9
- package/dist/cli/initOpenApiConfig/Types.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/Types.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts.map +1 -0
- package/dist/cli/initOpenApiConfig/__tests__/init.test.js +20 -0
- package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts.map +1 -0
- package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.js +49 -0
- package/dist/cli/initOpenApiConfig/init.d.ts +2 -1
- package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/init.js +52 -20
- package/dist/cli/initOpenApiConfig/initConfig.d.ts +5 -0
- package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/initConfig.js +8 -4
- package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +3 -2
- package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/initCustomRequest.js +36 -10
- package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts.map +1 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.js +93 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts.map +1 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.js +45 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts +2 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts.map +1 -0
- package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.js +61 -0
- package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts +6 -12
- package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/utils/buildConfig.js +24 -19
- package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.js +2 -0
- package/dist/cli/interactive/constants.d.ts +0 -4
- package/dist/cli/interactive/constants.d.ts.map +1 -1
- package/dist/cli/interactive/constants.js +1 -5
- package/dist/cli/previewChanges/previewChanges.d.ts +2 -1
- package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
- package/dist/cli/previewChanges/previewChanges.js +8 -8
- package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts +2 -0
- package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts.map +1 -0
- package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.js +52 -0
- package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts +2 -0
- package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts.map +1 -0
- package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.js +43 -0
- package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts +2 -0
- package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts.map +1 -0
- package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.js +32 -0
- package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts +2 -0
- package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts.map +1 -0
- package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.js +68 -0
- package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.js +5 -12
- package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts +2 -0
- package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts.map +1 -0
- package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.js +36 -0
- package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts +2 -0
- package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts.map +1 -0
- package/dist/cli/schemas/__tests__/generateOptionsSchema.test.js +59 -0
- package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts +2 -0
- package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts.map +1 -0
- package/dist/cli/schemas/__tests__/initOptionsSchema.test.js +43 -0
- package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts +2 -0
- package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts.map +1 -0
- package/dist/cli/schemas/__tests__/previewChangesSchema.test.js +31 -0
- package/dist/cli/schemas/analyzeUsage.d.ts +13 -0
- package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -0
- package/dist/cli/schemas/analyzeUsage.js +41 -0
- package/dist/cli/schemas/generate.d.ts +10 -2
- package/dist/cli/schemas/generate.d.ts.map +1 -1
- package/dist/cli/schemas/generate.js +7 -2
- package/dist/cli/schemas/index.d.ts +2 -2
- package/dist/cli/schemas/index.d.ts.map +1 -1
- package/dist/cli/schemas/index.js +1 -1
- package/dist/cli/schemas/init.d.ts +10 -0
- package/dist/cli/schemas/init.d.ts.map +1 -1
- package/dist/cli/schemas/init.js +3 -1
- package/dist/cli/types.d.ts +6 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/common/Consts.d.ts +1 -0
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +7 -3
- package/dist/common/Logger.d.ts.map +1 -1
- package/dist/common/Logger.js +3 -3
- package/dist/common/LoggerMessages.d.ts +71 -12
- package/dist/common/LoggerMessages.d.ts.map +1 -1
- package/dist/common/LoggerMessages.js +76 -18
- package/dist/common/TEslintFixOptions.d.ts +20 -0
- package/dist/common/TEslintFixOptions.d.ts.map +1 -0
- package/dist/common/TEslintFixOptions.js +15 -0
- package/dist/common/TRawOptions.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +2 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +1 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +10 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +15 -5
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +18 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +7 -1
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +4 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +2 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +2 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +7 -1
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +4 -16
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.js +1 -1
- package/dist/common/VersionedSchema/Utils/createTrivialMigration.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createTrivialMigration.js +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +4 -6
- package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +6 -8
- package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.js +1 -1
- package/dist/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.d.ts.map +1 -1
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +1 -1
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -1
- package/dist/common/utils/__tests__/eslintFix.test.js +25 -67
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts +2 -0
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.js +28 -0
- package/dist/common/utils/__tests__/format.test.js +26 -17
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts +2 -0
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.js +78 -0
- package/dist/common/utils/codegenTempDir.d.ts +20 -0
- package/dist/common/utils/codegenTempDir.d.ts.map +1 -0
- package/dist/common/utils/codegenTempDir.js +42 -0
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
- package/dist/common/utils/convertArrayToObject.js +3 -8
- package/dist/common/utils/eslintFix.d.ts +48 -4
- package/dist/common/utils/eslintFix.d.ts.map +1 -1
- package/dist/common/utils/eslintFix.js +121 -15
- package/dist/common/utils/format.d.ts +1 -1
- package/dist/common/utils/format.d.ts.map +1 -1
- package/dist/common/utils/format.js +23 -11
- package/dist/common/utils/jsonPath.d.ts.map +1 -1
- package/dist/common/utils/prepareTempEslintConfig.d.ts +18 -0
- package/dist/common/utils/prepareTempEslintConfig.d.ts.map +1 -0
- package/dist/common/utils/prepareTempEslintConfig.js +55 -0
- package/dist/common/utils/prepareTempTsConfig.d.ts +23 -0
- package/dist/common/utils/prepareTempTsConfig.d.ts.map +1 -0
- package/dist/common/utils/prepareTempTsConfig.js +105 -0
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +2 -6
- package/dist/core/OpenApiClient.d.ts +27 -1
- package/dist/core/OpenApiClient.d.ts.map +1 -1
- package/dist/core/OpenApiClient.js +259 -19
- package/dist/core/WriteClient.d.ts +84 -17
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +96 -22
- package/dist/core/__tests__/WriteClient.test.js +2 -1
- package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.js +1 -3
- package/dist/core/api/v2/parser/getServiceName.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.js +1 -3
- package/dist/core/api/v3/parser/getServiceName.d.ts +1 -1
- package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -1
- package/dist/core/governance/evaluateGovernanceRules.js +1 -3
- package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -1
- package/dist/core/governance/loadGovernanceConfig.js +2 -4
- package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -1
- package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -1
- package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -1
- package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -1
- package/dist/core/plugins/loadGeneratorPlugins.js +1 -1
- package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +79 -21
- package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +20 -1
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +58 -6
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -1
- package/dist/core/semanticDiff/analyzeOpenApiDiff.js +47 -19
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +8 -3
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -1
- package/dist/core/semanticDiff/semanticDiffReportSchema.js +139 -56
- package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -1
- package/dist/core/types/Consts.js +1 -1
- package/dist/core/types/DiffReport.model.d.ts +101 -0
- package/dist/core/types/DiffReport.model.d.ts.map +1 -0
- package/dist/core/types/DiffReport.model.js +5 -0
- package/dist/core/types/base/ClientArtifacts.model.d.ts +3 -3
- package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/ExportedModel.model.d.ts +1 -1
- package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -1
- package/dist/core/types/base/ExportedService.model.d.ts.map +1 -1
- package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -1
- package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/PropertyGroup.model.d.ts +1 -1
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/Templates.model.d.ts +1 -0
- package/dist/core/types/base/Templates.model.d.ts.map +1 -1
- package/dist/core/types/shared/Client.model.d.ts +1 -1
- package/dist/core/types/shared/Client.model.d.ts.map +1 -1
- package/dist/core/types/shared/Model.model.d.ts +37 -1
- package/dist/core/types/shared/Model.model.d.ts.map +1 -1
- package/dist/core/utils/GenerationCache.d.ts +18 -0
- package/dist/core/utils/GenerationCache.d.ts.map +1 -0
- package/dist/core/utils/GenerationCache.js +41 -0
- package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
- package/dist/core/utils/__mocks__/templates.js +1 -0
- package/dist/core/utils/__tests__/GenerationCache.test.d.ts +2 -0
- package/dist/core/utils/__tests__/GenerationCache.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/GenerationCache.test.js +37 -0
- package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +182 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts +2 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.js +77 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts +2 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.js +159 -0
- package/dist/core/utils/__tests__/loadDiffReport.test.d.ts +2 -0
- package/dist/core/utils/__tests__/loadDiffReport.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/loadDiffReport.test.js +246 -0
- package/dist/core/utils/__tests__/modelHelpers.test.js +27 -9
- package/dist/core/utils/__tests__/postProcessModelImports.test.js +1 -4
- package/dist/core/utils/__tests__/postProcessServiceImports.test.js +1 -4
- package/dist/core/utils/__tests__/prepareDtoModels.test.js +168 -1
- package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +27 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts +2 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.js +111 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts +2 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.js +68 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.js +10 -11
- package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +10 -27
- package/dist/core/utils/__tests__/templateRendering.test.d.ts +2 -0
- package/dist/core/utils/__tests__/templateRendering.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/templateRendering.test.js +190 -0
- package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts +2 -0
- package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/writeFileIfChanged.test.js +30 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts +2 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts.map +1 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.js +63 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts +10 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts.map +1 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.js +13 -0
- package/dist/core/utils/adapters/index.d.ts +3 -0
- package/dist/core/utils/adapters/index.d.ts.map +1 -0
- package/dist/core/utils/adapters/index.js +6 -0
- package/dist/core/utils/adapters/semanticToStructural.d.ts +12 -0
- package/dist/core/utils/adapters/semanticToStructural.d.ts.map +1 -0
- package/dist/core/utils/adapters/semanticToStructural.js +36 -0
- package/dist/core/utils/applyDiffReportToClient.d.ts +13 -1
- package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -1
- package/dist/core/utils/applyDiffReportToClient.js +189 -109
- package/dist/core/utils/areEqual.d.ts +1 -1
- package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts +25 -0
- package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts.map +1 -0
- package/dist/core/utils/buildMiraclesFromSemanticChanges.js +146 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts +23 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts.map +1 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.js +163 -0
- package/dist/core/utils/getOpenApiSpec.d.ts +6 -0
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +6 -0
- package/dist/core/utils/getOperationErrors.d.ts +2 -2
- package/dist/core/utils/getOperationErrors.d.ts.map +1 -1
- package/dist/core/utils/getOperationResults.d.ts +1 -1
- package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
- package/dist/core/utils/getPropertyGroupSimple.js +1 -3
- package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
- package/dist/core/utils/loadDiffReport.d.ts +11 -30
- package/dist/core/utils/loadDiffReport.d.ts.map +1 -1
- package/dist/core/utils/loadDiffReport.js +75 -9
- package/dist/core/utils/loadSemanticOpenApiSpec.d.ts +15 -0
- package/dist/core/utils/loadSemanticOpenApiSpec.d.ts.map +1 -0
- package/dist/core/utils/loadSemanticOpenApiSpec.js +61 -0
- package/dist/core/utils/modelHelpers.d.ts +13 -5
- package/dist/core/utils/modelHelpers.d.ts.map +1 -1
- package/dist/core/utils/modelHelpers.js +28 -23
- package/dist/core/utils/normalizeString.d.ts.map +1 -1
- package/dist/core/utils/normalizeString.js +1 -5
- package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessServiceImports.js +1 -3
- package/dist/core/utils/precompileTemplates.js +4 -2
- package/dist/core/utils/prepareAlias.d.ts +1 -1
- package/dist/core/utils/prepareDtoModels.d.ts +5 -0
- package/dist/core/utils/prepareDtoModels.d.ts.map +1 -1
- package/dist/core/utils/prepareDtoModels.js +57 -20
- package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -0
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +3 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts +1 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.js +2 -0
- package/dist/core/utils/resolveClassesModeTypes.d.ts +8 -0
- package/dist/core/utils/resolveClassesModeTypes.d.ts.map +1 -0
- package/dist/core/utils/resolveClassesModeTypes.js +77 -0
- package/dist/core/utils/semanticChangesToDiffEntries.d.ts +28 -0
- package/dist/core/utils/semanticChangesToDiffEntries.d.ts.map +1 -0
- package/dist/core/utils/semanticChangesToDiffEntries.js +98 -0
- package/dist/core/utils/semanticPointerToJsonPath.d.ts +7 -0
- package/dist/core/utils/semanticPointerToJsonPath.d.ts.map +1 -0
- package/dist/core/utils/semanticPointerToJsonPath.js +67 -0
- package/dist/core/utils/serviceHelpers.d.ts +6 -7
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
- package/dist/core/utils/serviceHelpers.js +8 -25
- package/dist/core/utils/sortModelByName.d.ts +1 -1
- package/dist/core/utils/validateRawOptions.js +2 -2
- package/dist/core/utils/writeClientCore.d.ts +2 -0
- package/dist/core/utils/writeClientCore.d.ts.map +1 -1
- package/dist/core/utils/writeClientCore.js +43 -21
- package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientCoreIndex.js +14 -4
- package/dist/core/utils/writeClientExecutor.d.ts +1 -3
- package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
- package/dist/core/utils/writeClientExecutor.js +6 -11
- package/dist/core/utils/writeClientFullIndex.js +4 -4
- package/dist/core/utils/writeClientModels.d.ts +1 -2
- package/dist/core/utils/writeClientModels.d.ts.map +1 -1
- package/dist/core/utils/writeClientModels.js +14 -16
- package/dist/core/utils/writeClientModelsIndex.d.ts +1 -1
- package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientModelsIndex.js +14 -4
- package/dist/core/utils/writeClientSchemas.d.ts +1 -3
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +9 -14
- package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemasIndex.js +14 -4
- package/dist/core/utils/writeClientServices.d.ts +15 -16
- package/dist/core/utils/writeClientServices.d.ts.map +1 -1
- package/dist/core/utils/writeClientServices.js +12 -19
- package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientServicesIndex.js +14 -4
- package/dist/core/utils/writeClientSimpleIndex.js +4 -4
- package/dist/core/utils/writeFileIfChanged.d.ts +3 -0
- package/dist/core/utils/writeFileIfChanged.d.ts.map +1 -0
- package/dist/core/utils/writeFileIfChanged.js +22 -0
- package/dist/templatesCompiled/cli/customCreateExecutorAdapter.d.ts +8 -0
- package/dist/templatesCompiled/cli/customCreateExecutorAdapter.d.ts.map +1 -0
- package/dist/templatesCompiled/cli/customCreateExecutorAdapter.js +18 -0
- package/dist/templatesCompiled/cli/customRequest.js +7 -7
- package/dist/templatesCompiled/cli/customRequestExecutor.js +7 -7
- package/dist/templatesCompiled/client/core/ApiError.js +1 -1
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +0 -6
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +3 -22
- package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.d.ts +11 -0
- package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.d.ts.map +1 -0
- package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.js +28 -0
- package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts +2 -0
- package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -1
- package/dist/templatesCompiled/client/core/executor/requestExecutor.js +8 -2
- package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/interceptors.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
- package/dist/templatesCompiled/client/exportClient.d.ts +0 -4
- package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportClient.js +9 -45
- package/dist/templatesCompiled/client/exportModels.d.ts +17 -11
- package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportModels.js +96 -49
- package/dist/templatesCompiled/client/exportService.d.ts +13 -10
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +95 -67
- package/dist/templatesCompiled/client/indexCore.js +4 -4
- package/dist/templatesCompiled/client/indexFull.js +8 -8
- package/dist/templatesCompiled/client/indexSimple.js +2 -2
- package/dist/templatesCompiled/client/partials/header.d.ts +1 -0
- package/dist/templatesCompiled/client/partials/header.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/header.js +11 -2
- package/dist/test/helpers/silenceLoggers.d.ts +11 -0
- package/dist/test/helpers/silenceLoggers.d.ts.map +1 -0
- package/dist/test/helpers/silenceLoggers.js +88 -0
- package/package.json +132 -136
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +0 -17
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/buildLegacyReport.js +0 -54
- package/dist/cli/analyzeDiff/diffEngine.d.ts +0 -54
- package/dist/cli/analyzeDiff/diffEngine.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/diffEngine.js +0 -209
- package/dist/cli/analyzeDiff/logLegacyReport.d.ts +0 -6
- package/dist/cli/analyzeDiff/logLegacyReport.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/logLegacyReport.js +0 -29
- package/dist/cli/analyzeDiff/report.d.ts +0 -3
- package/dist/cli/analyzeDiff/report.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/report.js +0 -7
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +0 -6
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/writeLegacyReport.js +0 -21
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +0 -4
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +0 -1
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +0 -21
- package/dist/common/utils/normalizeObject.d.ts +0 -2
- package/dist/common/utils/normalizeObject.d.ts.map +0 -1
- package/dist/common/utils/normalizeObject.js +0 -63
- package/dist/core/utils/appendUniqueLinesToFile.d.ts +0 -2
- package/dist/core/utils/appendUniqueLinesToFile.d.ts.map +0 -1
- package/dist/core/utils/appendUniqueLinesToFile.js +0 -24
|
@@ -13,7 +13,7 @@ function createDefaultFieldsMigration(fromVersion, toVersion, defaultFields) {
|
|
|
13
13
|
return {
|
|
14
14
|
fromVersion,
|
|
15
15
|
toVersion,
|
|
16
|
-
migrate:
|
|
16
|
+
migrate: oldVersion => ({ ...oldVersion, ...defaultFields }),
|
|
17
17
|
description: `Adds default values for new optional fields: ${Object.keys(defaultFields).join(', ')}`,
|
|
18
18
|
};
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTrivialMigration.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/createTrivialMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"createTrivialMigration.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/createTrivialMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAOtK"}
|
|
@@ -9,7 +9,7 @@ function createTrivialMigration(fromVersion, toVersion, description) {
|
|
|
9
9
|
return {
|
|
10
10
|
fromVersion,
|
|
11
11
|
toVersion,
|
|
12
|
-
migrate:
|
|
12
|
+
migrate: oldVersion => ({ ...oldVersion }),
|
|
13
13
|
description: description || 'Trivial migration that copies all fields without changes',
|
|
14
14
|
};
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"determineBestMatchingSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAiE/D;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"determineBestMatchingSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAiE/D;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,kBAAkB,CA8CxJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.determineBestMatchingSchemaVersion = determineBestMatchingSchemaVersion;
|
|
4
|
-
const
|
|
4
|
+
const Validation_1 = require("../../Validation");
|
|
5
5
|
const getUniqueKeysFromSchemas_1 = require("./getUniqueKeysFromSchemas");
|
|
6
6
|
const getUniqueObjectKeys_1 = require("./getUniqueObjectKeys");
|
|
7
7
|
/**
|
|
@@ -9,7 +9,7 @@ const getUniqueObjectKeys_1 = require("./getUniqueObjectKeys");
|
|
|
9
9
|
* The strict check is used only for ranking candidates, not for final validation.
|
|
10
10
|
*/
|
|
11
11
|
function getStrictUnrecognizedKeyCount(schema, inputData) {
|
|
12
|
-
const strictResult = (0,
|
|
12
|
+
const strictResult = (0, Validation_1.validateZodOptionsRaw)(schema.strict(), inputData);
|
|
13
13
|
if (strictResult.success) {
|
|
14
14
|
return 0;
|
|
15
15
|
}
|
|
@@ -57,10 +57,8 @@ function determineBestMatchingSchemaVersion(inputData, versionedSchemas) {
|
|
|
57
57
|
const schemaKeys = (0, getUniqueKeysFromSchemas_1.getUniqueKeysFromSchemas)([schema]);
|
|
58
58
|
const matchingKeysCount = inputKeys.filter(key => schemaKeys.has(key)).length;
|
|
59
59
|
const strictUnrecognizedKeyCount = getStrictUnrecognizedKeyCount(baseSchema, inputData);
|
|
60
|
-
const validationResult = (0,
|
|
61
|
-
const structuralErrorCount = !validationResult.success
|
|
62
|
-
? validationResult.error.issues.filter(issue => issue.code !== 'invalid_value').length
|
|
63
|
-
: 0;
|
|
60
|
+
const validationResult = (0, Validation_1.validateZodOptionsRaw)(schema, inputData);
|
|
61
|
+
const structuralErrorCount = !validationResult.success ? validationResult.error.issues.filter(issue => issue.code !== 'invalid_value').length : 0;
|
|
64
62
|
return {
|
|
65
63
|
index: idx,
|
|
66
64
|
version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLatestVersionFromMigrationPlans.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"getLatestVersionFromMigrationPlans.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAAC,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAO1I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateDataToLatestSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"migrateDataToLatestSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AASpF;;GAEG;AACH,KAAK,oBAAoB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChF,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAClD,aAAa,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,KAAK,qBAAqB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,cAAc,EAAE,kBAAkB,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,IAAI,CA4ElK"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.migrateDataToLatestSchemaVersion = migrateDataToLatestSchemaVersion;
|
|
4
4
|
const Consts_1 = require("../../Consts");
|
|
5
|
-
const LoggerMessages_1 = require("../../LoggerMessages");
|
|
6
5
|
const Enums_1 = require("../../Enums");
|
|
7
|
-
const
|
|
6
|
+
const LoggerMessages_1 = require("../../LoggerMessages");
|
|
7
|
+
const Validation_1 = require("../../Validation");
|
|
8
8
|
const determineBestMatchingSchemaVersion_1 = require("./determineBestMatchingSchemaVersion");
|
|
9
9
|
const generateKeyMappingForInvalidKeys_1 = require("./generateKeyMappingForInvalidKeys");
|
|
10
10
|
const getCurrentErrorMessage_1 = require("./getCurrentErrorMessage");
|
|
@@ -36,16 +36,14 @@ function migrateDataToLatestSchemaVersion({ rawInput, migrationPlans, versionedS
|
|
|
36
36
|
if (!currentVersionSchema) {
|
|
37
37
|
throw new Error(`No schema found for version ${currentVersion}.`);
|
|
38
38
|
}
|
|
39
|
-
const firstValidationResult = (0,
|
|
39
|
+
const firstValidationResult = (0, Validation_1.validateZodOptionsRaw)(currentVersionSchema, currentData);
|
|
40
40
|
if (!firstValidationResult.success) {
|
|
41
41
|
(0, getCurrentErrorMessage_1.getCurrentErrorMessage)(firstValidationResult.error, replacingKeysMap);
|
|
42
42
|
}
|
|
43
43
|
const migrationPlan = migrationPlanByFromVersion.get(currentVersion);
|
|
44
44
|
if (!migrationPlan) {
|
|
45
45
|
const availableVersions = Array.from(migrationPlanByFromVersion.keys()).join(', ');
|
|
46
|
-
throw new Error(`No migration plan from ${currentVersion}. ` +
|
|
47
|
-
`Available migration plans: ${availableVersions}. ` +
|
|
48
|
-
`This usually means the migration chain is incomplete.`);
|
|
46
|
+
throw new Error(`No migration plan from ${currentVersion}. ` + `Available migration plans: ${availableVersions}. ` + `This usually means the migration chain is incomplete.`);
|
|
49
47
|
}
|
|
50
48
|
const nextVersion = migrationPlan.toVersion;
|
|
51
49
|
const nextSchema = schemasByVersion.get(nextVersion);
|
|
@@ -53,7 +51,7 @@ function migrateDataToLatestSchemaVersion({ rawInput, migrationPlans, versionedS
|
|
|
53
51
|
throw new Error(`Migration plan from ${migrationPlan.fromVersion} points to unknown schema version ${nextVersion}.`);
|
|
54
52
|
}
|
|
55
53
|
const migratedRaw = migrationPlan.migrate(currentData);
|
|
56
|
-
const validationResult = (0,
|
|
54
|
+
const validationResult = (0, Validation_1.validateZodOptions)(nextSchema, migratedRaw);
|
|
57
55
|
if (!validationResult.success) {
|
|
58
56
|
throw new Error(`Migration from ${currentVersion} to ${nextVersion} failed validation. ` +
|
|
59
57
|
`Error: ${validationResult.errors.join('\n')}. ` +
|
|
@@ -69,7 +67,7 @@ function migrateDataToLatestSchemaVersion({ rawInput, migrationPlans, versionedS
|
|
|
69
67
|
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.MIGRATION.OPENAPI_SCHEMA_MIGRATED);
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
|
-
const validationResult = (0,
|
|
70
|
+
const validationResult = (0, Validation_1.validateZodOptionsRaw)(actualSchema.schema, currentData);
|
|
73
71
|
if (!validationResult.success) {
|
|
74
72
|
(0, getCurrentErrorMessage_1.getCurrentErrorMessage)(validationResult.error, replacingKeysMap);
|
|
75
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceInvalidKeysWithMappedNames.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceInvalidKeysWithMappedNames.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.ts"],"names":[],"mappings":"AACA,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAe9K"}
|
|
@@ -4,7 +4,7 @@ exports.replaceInvalidKeysWithMappedNames = replaceInvalidKeysWithMappedNames;
|
|
|
4
4
|
// Replacing incorrect keys
|
|
5
5
|
function replaceInvalidKeysWithMappedNames(input, keyMap) {
|
|
6
6
|
if (!input) {
|
|
7
|
-
throw new Error(
|
|
7
|
+
throw new Error('The input data cannot be null or undefined.');
|
|
8
8
|
}
|
|
9
9
|
if (Array.isArray(input)) {
|
|
10
10
|
return input.map(item => replaceInvalidKeysWithMappedNames(item, keyMap));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateAndSuggestKeyCorrections.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"validateAndSuggestKeyCorrections.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,QAgChG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { TRawOptions } from
|
|
2
|
+
import { TRawOptions } from '../../TRawOptions';
|
|
3
3
|
export declare function dependentOptionsRefinement(data: TRawOptions, ctx: z.RefinementCtx): void;
|
|
4
4
|
//# sourceMappingURL=dependentOptionsRefinement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependentOptionsRefinement.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/refinements/dependentOptionsRefinement.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dependentOptionsRefinement.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/refinements/dependentOptionsRefinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,QA2CjF"}
|
|
@@ -37,26 +37,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
40
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
41
40
|
const node_test_1 = require("node:test");
|
|
42
41
|
const Consts_1 = require("../../Consts");
|
|
43
|
-
(0, node_test_1.describe)('@unit:
|
|
42
|
+
(0, node_test_1.describe)('@unit: eslintFixBatch', () => {
|
|
44
43
|
let warnMessages = [];
|
|
45
|
-
let infoMessages = [];
|
|
46
44
|
let errorWithHintCalls = [];
|
|
47
45
|
const originalWarn = Consts_1.APP_LOGGER.warn.bind(Consts_1.APP_LOGGER);
|
|
48
|
-
const originalInfo = Consts_1.APP_LOGGER.info.bind(Consts_1.APP_LOGGER);
|
|
49
46
|
const originalErrorWithHint = Consts_1.APP_LOGGER.errorWithHint.bind(Consts_1.APP_LOGGER);
|
|
50
47
|
(0, node_test_1.beforeEach)(() => {
|
|
51
48
|
warnMessages = [];
|
|
52
|
-
infoMessages = [];
|
|
53
49
|
errorWithHintCalls = [];
|
|
54
50
|
Consts_1.APP_LOGGER.warn = (msg) => {
|
|
55
51
|
warnMessages.push(msg);
|
|
56
52
|
};
|
|
57
|
-
Consts_1.APP_LOGGER.info = (msg) => {
|
|
58
|
-
infoMessages.push(msg);
|
|
59
|
-
};
|
|
60
53
|
Consts_1.APP_LOGGER.errorWithHint = options => {
|
|
61
54
|
errorWithHintCalls.push({
|
|
62
55
|
code: options.code,
|
|
@@ -67,68 +60,33 @@ const Consts_1 = require("../../Consts");
|
|
|
67
60
|
});
|
|
68
61
|
(0, node_test_1.afterEach)(() => {
|
|
69
62
|
Consts_1.APP_LOGGER.warn = originalWarn;
|
|
70
|
-
Consts_1.APP_LOGGER.info = originalInfo;
|
|
71
63
|
Consts_1.APP_LOGGER.errorWithHint = originalErrorWithHint;
|
|
72
64
|
});
|
|
73
|
-
(0, node_test_1.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
try {
|
|
81
|
-
await eslintFix(filePath);
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
threw = true;
|
|
85
|
-
}
|
|
86
|
-
if (!threw) {
|
|
87
|
-
// ESLint is available — it either applied fixes or logged info
|
|
88
|
-
const fixApplied = infoMessages.some(m => m.includes('ESLint fix applied') || m.includes(filePath));
|
|
89
|
-
const notInstalled = warnMessages.some(m => m.includes('ESLint is not installed'));
|
|
90
|
-
node_assert_1.default.ok(fixApplied || notInstalled, 'should log either fix applied or not installed');
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
(0, node_test_1.describe)('when eslint is NOT available (graceful fallback)', () => {
|
|
95
|
-
(0, node_test_1.test)('logs ESLINT_NOT_INSTALLED warning and does not throw', async () => {
|
|
96
|
-
// Patch the module by temporarily replacing the tryImportESLint logic
|
|
97
|
-
// via an environment variable guard checked in eslintFix
|
|
98
|
-
// Since we can't easily mock dynamic import in tsx, we test the exported function
|
|
99
|
-
// with a patched internal approach: we verify the module itself handles the error.
|
|
100
|
-
// Re-import to get a fresh reference; the real behavior depends on whether eslint is installed.
|
|
101
|
-
const { eslintFix } = await Promise.resolve().then(() => __importStar(require('../eslintFix')));
|
|
102
|
-
// If eslint is not installed in devDeps, calling eslintFix should warn and not throw.
|
|
103
|
-
// If it IS installed, this test is a no-op (covered by the other test).
|
|
104
|
-
try {
|
|
105
|
-
await eslintFix('/non/existent/path/that/wont/lint.ts');
|
|
106
|
-
// Either it runs eslint on the fake path (may fail) or warns about not installed
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
// If eslint is installed but fails on non-existent path, verify errorWithHint was called
|
|
110
|
-
node_assert_1.default.ok(errorWithHintCalls.some(c => c.code === 'ESLINT_FIX_FAILED'), 'should call errorWithHint with ESLINT_FIX_FAILED when eslint throws');
|
|
111
|
-
}
|
|
65
|
+
(0, node_test_1.test)('returns null when file list is empty', async () => {
|
|
66
|
+
const { eslintFixBatch } = await Promise.resolve().then(() => __importStar(require('../eslintFix')));
|
|
67
|
+
const result = await eslintFixBatch({
|
|
68
|
+
files: [],
|
|
69
|
+
includeGlobs: ['./generated/**/*.ts'],
|
|
70
|
+
tsconfigPath: './tsconfig.json',
|
|
71
|
+
eslintConfigPath: './eslint.config.mjs',
|
|
112
72
|
});
|
|
73
|
+
node_assert_1.default.strictEqual(result, null);
|
|
113
74
|
});
|
|
114
|
-
(0, node_test_1.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
node_assert_1.default.ok(warnMessages.some(m => m.includes('ESLint is not installed')), 'should warn that ESLint is not installed');
|
|
131
|
-
}
|
|
132
|
-
});
|
|
75
|
+
(0, node_test_1.test)('does not throw when eslint is unavailable or config is missing', async () => {
|
|
76
|
+
const { eslintFixBatch } = await Promise.resolve().then(() => __importStar(require('../eslintFix')));
|
|
77
|
+
let threw = false;
|
|
78
|
+
try {
|
|
79
|
+
await eslintFixBatch({
|
|
80
|
+
files: ['/non/existent/generated/file.ts'],
|
|
81
|
+
includeGlobs: ['./generated/**/*.ts'],
|
|
82
|
+
tsconfigPath: './tsconfig.json',
|
|
83
|
+
eslintConfigPath: './eslint.config.mjs',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
threw = true;
|
|
88
|
+
}
|
|
89
|
+
const warnedNotInstalled = warnMessages.some(message => message.includes('ESLint is not installed'));
|
|
90
|
+
node_assert_1.default.ok(!threw || warnedNotInstalled || errorWithHintCalls.length > 0);
|
|
133
91
|
});
|
|
134
92
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractEslintFixOptions.test.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/__tests__/extractEslintFixOptions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
7
|
+
const node_test_1 = require("node:test");
|
|
8
|
+
const TEslintFixOptions_1 = require("../../TEslintFixOptions");
|
|
9
|
+
(0, node_test_1.describe)('@unit: extractEslintFixOptions', () => {
|
|
10
|
+
(0, node_test_1.test)('reads eslint paths from top-level raw options', () => {
|
|
11
|
+
const result = (0, TEslintFixOptions_1.extractEslintFixOptions)({
|
|
12
|
+
httpClient: 'fetch',
|
|
13
|
+
tsconfigPath: './tsconfig.json',
|
|
14
|
+
eslintConfigPath: './eslint.config.mjs',
|
|
15
|
+
items: [{ input: './a.yaml', output: './out/a' }],
|
|
16
|
+
});
|
|
17
|
+
node_assert_1.default.strictEqual(result.tsconfigPath, './tsconfig.json');
|
|
18
|
+
node_assert_1.default.strictEqual(result.eslintConfigPath, './eslint.config.mjs');
|
|
19
|
+
});
|
|
20
|
+
(0, node_test_1.test)('returns undefined paths when not set', () => {
|
|
21
|
+
const result = (0, TEslintFixOptions_1.extractEslintFixOptions)({
|
|
22
|
+
httpClient: 'fetch',
|
|
23
|
+
items: [{ input: './a.yaml', output: './out/a' }],
|
|
24
|
+
});
|
|
25
|
+
node_assert_1.default.strictEqual(result.tsconfigPath, undefined);
|
|
26
|
+
node_assert_1.default.strictEqual(result.eslintConfigPath, undefined);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -4,6 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_os_1 = require("node:os");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
7
10
|
const node_test_1 = require("node:test");
|
|
8
11
|
const Consts_1 = require("../../Consts");
|
|
9
12
|
const format_1 = require("../format");
|
|
@@ -11,6 +14,7 @@ const format_1 = require("../format");
|
|
|
11
14
|
let warnMessages = [];
|
|
12
15
|
let infoMessages = [];
|
|
13
16
|
let errorWithHintCalls = [];
|
|
17
|
+
let tempDir = null;
|
|
14
18
|
const originalWarn = Consts_1.APP_LOGGER.warn.bind(Consts_1.APP_LOGGER);
|
|
15
19
|
const originalInfo = Consts_1.APP_LOGGER.info.bind(Consts_1.APP_LOGGER);
|
|
16
20
|
const originalErrorWithHint = Consts_1.APP_LOGGER.errorWithHint.bind(Consts_1.APP_LOGGER);
|
|
@@ -18,6 +22,7 @@ const format_1 = require("../format");
|
|
|
18
22
|
warnMessages = [];
|
|
19
23
|
infoMessages = [];
|
|
20
24
|
errorWithHintCalls = [];
|
|
25
|
+
tempDir = null;
|
|
21
26
|
Consts_1.APP_LOGGER.warn = (msg) => {
|
|
22
27
|
warnMessages.push(msg);
|
|
23
28
|
};
|
|
@@ -32,12 +37,15 @@ const format_1 = require("../format");
|
|
|
32
37
|
});
|
|
33
38
|
};
|
|
34
39
|
});
|
|
35
|
-
(0, node_test_1.afterEach)(() => {
|
|
40
|
+
(0, node_test_1.afterEach)(async () => {
|
|
36
41
|
Consts_1.APP_LOGGER.warn = originalWarn;
|
|
37
42
|
Consts_1.APP_LOGGER.info = originalInfo;
|
|
38
43
|
Consts_1.APP_LOGGER.errorWithHint = originalErrorWithHint;
|
|
44
|
+
if (tempDir) {
|
|
45
|
+
await (0, promises_1.rm)(tempDir, { recursive: true, force: true });
|
|
46
|
+
}
|
|
39
47
|
});
|
|
40
|
-
(0, node_test_1.describe)('default behavior (
|
|
48
|
+
(0, node_test_1.describe)('default behavior (no prettierConfigPath)', () => {
|
|
41
49
|
(0, node_test_1.test)('formats valid TypeScript with built-in options', async () => {
|
|
42
50
|
const input = `const x={a:1,b:2}`;
|
|
43
51
|
const result = await (0, format_1.format)(input);
|
|
@@ -54,32 +62,33 @@ const format_1 = require("../format");
|
|
|
54
62
|
const result = await (0, format_1.format)(input, 'json');
|
|
55
63
|
node_assert_1.default.ok(result.includes('"key"'), 'should format as JSON');
|
|
56
64
|
});
|
|
57
|
-
(0, node_test_1.test)('does not call warn or info when
|
|
65
|
+
(0, node_test_1.test)('does not call warn or info when prettierConfigPath is omitted', async () => {
|
|
58
66
|
await (0, format_1.format)(`const a = 1;`);
|
|
59
67
|
node_assert_1.default.strictEqual(warnMessages.length, 0, 'should not warn');
|
|
60
68
|
node_assert_1.default.strictEqual(infoMessages.length, 0, 'should not log info');
|
|
61
69
|
});
|
|
62
70
|
});
|
|
63
|
-
(0, node_test_1.describe)('
|
|
64
|
-
(0, node_test_1.test)('
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const result = await (0, format_1.format)(
|
|
69
|
-
node_assert_1.default.ok(result.
|
|
71
|
+
(0, node_test_1.describe)('prettierConfigPath', () => {
|
|
72
|
+
(0, node_test_1.test)('resolves existing config file and logs info', async () => {
|
|
73
|
+
tempDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'format-test-'));
|
|
74
|
+
const configPath = (0, node_path_1.join)(tempDir, '.prettierrc');
|
|
75
|
+
await (0, promises_1.writeFile)(configPath, JSON.stringify({ singleQuote: false, tabWidth: 2 }));
|
|
76
|
+
const result = await (0, format_1.format)(`const x=1`, undefined, configPath);
|
|
77
|
+
node_assert_1.default.ok(result.includes('const x'), 'should produce formatted output');
|
|
78
|
+
node_assert_1.default.ok(infoMessages.some(m => m.includes('Prettier config resolved')), 'should log resolved config path');
|
|
70
79
|
});
|
|
71
|
-
(0, node_test_1.test)('
|
|
72
|
-
await (0,
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
node_assert_1.default.ok(
|
|
80
|
+
(0, node_test_1.test)('falls back to built-in options and warns when config file does not exist', async () => {
|
|
81
|
+
tempDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'format-test-'));
|
|
82
|
+
const missingConfigPath = (0, node_path_1.join)(tempDir, 'missing-prettier.json');
|
|
83
|
+
const result = await (0, format_1.format)(`const x = 1;`, undefined, missingConfigPath);
|
|
84
|
+
node_assert_1.default.ok(result.trim().length > 0, 'should produce non-empty output');
|
|
85
|
+
node_assert_1.default.ok(warnMessages.some(m => m.includes('missing-prettier.json')), 'should warn about missing config path');
|
|
76
86
|
});
|
|
77
87
|
});
|
|
78
88
|
(0, node_test_1.describe)('error handling', () => {
|
|
79
89
|
(0, node_test_1.test)('throws an Error and calls APP_LOGGER.errorWithHint when prettier fails', async () => {
|
|
80
|
-
// Feed an unparseable string with a syntax error that prettier cannot fix
|
|
81
90
|
const invalidInput = `{{{{{{{ this is not valid typescript ;;; !!!`;
|
|
82
|
-
await node_assert_1.default.rejects(() => (0, format_1.format)(invalidInput, 'typescript'
|
|
91
|
+
await node_assert_1.default.rejects(() => (0, format_1.format)(invalidInput, 'typescript'), (err) => {
|
|
83
92
|
node_assert_1.default.ok(err instanceof Error, 'should throw an Error');
|
|
84
93
|
node_assert_1.default.ok(err.message.includes('Could not format'), 'message should mention formatting failure');
|
|
85
94
|
return true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTempTsConfig.test.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/__tests__/prepareTempTsConfig.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const node_test_1 = require("node:test");
|
|
11
|
+
const codegenTempDir_1 = require("../codegenTempDir");
|
|
12
|
+
const prepareTempTsConfig_1 = require("../prepareTempTsConfig");
|
|
13
|
+
(0, node_test_1.describe)('@unit: prepareTempTsConfig', () => {
|
|
14
|
+
let tempDir;
|
|
15
|
+
(0, node_test_1.afterEach)(async () => {
|
|
16
|
+
if (tempDir) {
|
|
17
|
+
await (0, codegenTempDir_1.cleanupCodegenTempDir)(tempDir);
|
|
18
|
+
node_fs_1.default.rmSync(tempDir, { recursive: true, force: true });
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
(0, node_test_1.test)('replaces base include with narrow output globs only', async () => {
|
|
22
|
+
tempDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'openapi-eslint-'));
|
|
23
|
+
const baseTsconfigPath = node_path_1.default.join(tempDir, 'tsconfig.json');
|
|
24
|
+
node_fs_1.default.writeFileSync(baseTsconfigPath, JSON.stringify({
|
|
25
|
+
compilerOptions: { target: 'ES2020', strict: true },
|
|
26
|
+
include: ['src/**/*'],
|
|
27
|
+
}));
|
|
28
|
+
const tempPath = await (0, prepareTempTsConfig_1.prepareTempTsConfig)({
|
|
29
|
+
baseTsconfigPath,
|
|
30
|
+
includeGlobs: ['./generated/models/**/*.ts', './generated/services/**/*.ts'],
|
|
31
|
+
cwd: tempDir,
|
|
32
|
+
});
|
|
33
|
+
const parsed = JSON.parse(node_fs_1.default.readFileSync(tempPath, 'utf8'));
|
|
34
|
+
node_assert_1.default.deepStrictEqual(parsed.include, [node_path_1.default.join(tempDir, 'generated/models/**/*.ts'), node_path_1.default.join(tempDir, 'generated/services/**/*.ts')]);
|
|
35
|
+
node_assert_1.default.notDeepEqual(parsed.include, [node_path_1.default.join(tempDir, 'src/**/*')]);
|
|
36
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.target, 'ES2020');
|
|
37
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.noEmit, true);
|
|
38
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.skipLibCheck, true);
|
|
39
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.incremental, false);
|
|
40
|
+
});
|
|
41
|
+
(0, node_test_1.test)('preserves raw lib entries from the base tsconfig', async () => {
|
|
42
|
+
tempDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'openapi-eslint-'));
|
|
43
|
+
const baseTsconfigPath = node_path_1.default.join(tempDir, 'tsconfig.json');
|
|
44
|
+
node_fs_1.default.writeFileSync(baseTsconfigPath, JSON.stringify({
|
|
45
|
+
compilerOptions: {
|
|
46
|
+
target: 'ES2022',
|
|
47
|
+
lib: ['es6', 'es2017', 'dom'],
|
|
48
|
+
},
|
|
49
|
+
}));
|
|
50
|
+
const tempPath = await (0, prepareTempTsConfig_1.prepareTempTsConfig)({
|
|
51
|
+
baseTsconfigPath,
|
|
52
|
+
includeGlobs: ['./generated/**/*.ts'],
|
|
53
|
+
cwd: tempDir,
|
|
54
|
+
});
|
|
55
|
+
const parsed = JSON.parse(node_fs_1.default.readFileSync(tempPath, 'utf8'));
|
|
56
|
+
node_assert_1.default.deepStrictEqual(parsed.compilerOptions.lib, ['es6', 'es2017', 'dom']);
|
|
57
|
+
});
|
|
58
|
+
(0, node_test_1.test)('writes enum compiler options as tsconfig string literals', async () => {
|
|
59
|
+
tempDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'openapi-eslint-'));
|
|
60
|
+
const baseTsconfigPath = node_path_1.default.join(tempDir, 'tsconfig.json');
|
|
61
|
+
node_fs_1.default.writeFileSync(baseTsconfigPath, JSON.stringify({
|
|
62
|
+
compilerOptions: {
|
|
63
|
+
target: 'ES2022',
|
|
64
|
+
module: 'commonjs',
|
|
65
|
+
moduleResolution: 'node',
|
|
66
|
+
},
|
|
67
|
+
}));
|
|
68
|
+
const tempPath = await (0, prepareTempTsConfig_1.prepareTempTsConfig)({
|
|
69
|
+
baseTsconfigPath,
|
|
70
|
+
includeGlobs: ['./generated/**/*.ts'],
|
|
71
|
+
cwd: tempDir,
|
|
72
|
+
});
|
|
73
|
+
const parsed = JSON.parse(node_fs_1.default.readFileSync(tempPath, 'utf8'));
|
|
74
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.target, 'ES2022');
|
|
75
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.module, 'commonjs');
|
|
76
|
+
node_assert_1.default.strictEqual(parsed.compilerOptions.moduleResolution, 'node');
|
|
77
|
+
});
|
|
78
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the absolute path to the temporary codegen directory.
|
|
3
|
+
*
|
|
4
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
5
|
+
*/
|
|
6
|
+
export declare function getCodegenTempDir(cwd?: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Creates the temporary codegen directory if it does not exist.
|
|
9
|
+
*
|
|
10
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
11
|
+
* @returns Absolute path to .openapi-codegen.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ensureCodegenTempDir(cwd?: string): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Recursively removes the temporary codegen directory.
|
|
16
|
+
*
|
|
17
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
18
|
+
*/
|
|
19
|
+
export declare function cleanupCodegenTempDir(cwd?: string): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=codegenTempDir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegenTempDir.d.ts","sourceRoot":"","sources":["../../../src/common/utils/codegenTempDir.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getCodegenTempDir = getCodegenTempDir;
|
|
7
|
+
exports.ensureCodegenTempDir = ensureCodegenTempDir;
|
|
8
|
+
exports.cleanupCodegenTempDir = cleanupCodegenTempDir;
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const fileSystemHelpers_1 = require("./fileSystemHelpers");
|
|
11
|
+
/** Directory name under the project root for temporary codegen configs. */
|
|
12
|
+
const TEMP_DIR_NAME = '.openapi-codegen';
|
|
13
|
+
/**
|
|
14
|
+
* Returns the absolute path to the temporary codegen directory.
|
|
15
|
+
*
|
|
16
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
17
|
+
*/
|
|
18
|
+
function getCodegenTempDir(cwd = process.cwd()) {
|
|
19
|
+
return node_path_1.default.join(cwd, TEMP_DIR_NAME);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates the temporary codegen directory if it does not exist.
|
|
23
|
+
*
|
|
24
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
25
|
+
* @returns Absolute path to .openapi-codegen.
|
|
26
|
+
*/
|
|
27
|
+
async function ensureCodegenTempDir(cwd = process.cwd()) {
|
|
28
|
+
const dir = getCodegenTempDir(cwd);
|
|
29
|
+
await fileSystemHelpers_1.fileSystemHelpers.mkdir(dir);
|
|
30
|
+
return dir;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Recursively removes the temporary codegen directory.
|
|
34
|
+
*
|
|
35
|
+
* @param cwd - Project root (defaults to process.cwd()).
|
|
36
|
+
*/
|
|
37
|
+
async function cleanupCodegenTempDir(cwd = process.cwd()) {
|
|
38
|
+
const dir = getCodegenTempDir(cwd);
|
|
39
|
+
if (await fileSystemHelpers_1.fileSystemHelpers.exists(dir)) {
|
|
40
|
+
await fileSystemHelpers_1.fileSystemHelpers.rmdir(dir);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertArrayToObject.d.ts","sourceRoot":"","sources":["../../../src/common/utils/convertArrayToObject.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"convertArrayToObject.d.ts","sourceRoot":"","sources":["../../../src/common/utils/convertArrayToObject.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyGxH"}
|
|
@@ -44,24 +44,19 @@ function convertArrayToObject(optionsArr) {
|
|
|
44
44
|
return item[field];
|
|
45
45
|
};
|
|
46
46
|
const getRootValueOrThrow = (field) => {
|
|
47
|
-
const definedValues = optionsArr
|
|
48
|
-
.map(item => getNormalizedFieldValue(item, field))
|
|
49
|
-
.filter(value => value !== undefined);
|
|
47
|
+
const definedValues = optionsArr.map(item => getNormalizedFieldValue(item, field)).filter(value => value !== undefined);
|
|
50
48
|
if (definedValues.length === 0) {
|
|
51
49
|
return undefined;
|
|
52
50
|
}
|
|
53
51
|
const firstValue = definedValues[0];
|
|
54
52
|
const hasConflict = definedValues.some(value => value !== firstValue);
|
|
55
53
|
if (hasConflict) {
|
|
56
|
-
throw new Error(`Legacy array config has conflicting "${field}" values. ` +
|
|
57
|
-
`This option must have the same value for all array items.`);
|
|
54
|
+
throw new Error(`Legacy array config has conflicting "${field}" values. ` + `This option must have the same value for all array items.`);
|
|
58
55
|
}
|
|
59
56
|
return firstValue;
|
|
60
57
|
};
|
|
61
58
|
const getCommonOptionalRootValue = (field) => {
|
|
62
|
-
const definedValues = optionsArr
|
|
63
|
-
.map(item => item[field])
|
|
64
|
-
.filter(value => value !== undefined);
|
|
59
|
+
const definedValues = optionsArr.map(item => item[field]).filter(value => value !== undefined);
|
|
65
60
|
if (definedValues.length === 0) {
|
|
66
61
|
return undefined;
|
|
67
62
|
}
|