@conduit-client/tools-core 3.13.0 → 3.13.1

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../services/feature-flags/dist/v1/index.js","../src/pipeline/v1.ts","../src/pipeline/v2.ts","../src/pipeline/index.ts","../src/generate.ts"],"sourcesContent":["/*!\n * Copyright (c) 2022, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nclass FeatureFlagsService {\n constructor() {\n this.flags = /* @__PURE__ */ new Map();\n }\n set(flagName, value) {\n this.flags.set(flagName, value);\n }\n get(flagName, defaultValue = false) {\n return this.flags.get(flagName) || defaultValue;\n }\n}\nfunction buildServiceDescriptor() {\n return {\n version: \"1.0\",\n service: new FeatureFlagsService(),\n type: \"featureFlags\"\n };\n}\nexport {\n FeatureFlagsService,\n buildServiceDescriptor\n};\n//# sourceMappingURL=index.js.map\n","import * as fs from 'fs';\nimport path from 'path';\nimport { type LoggerService, type IncludeExclude } from '@conduit-client/utils';\nimport {\n fileService,\n FILE_PER_TYPE,\n SINGLE_FILE,\n typeDefinitions,\n apiFamilyModuleGeneratorService,\n writeFiles,\n jsonSchemaDeclarationService,\n typeRegistryGeneratorService,\n graphqlTypeRegistryGeneratorService,\n normalizedTypeDefinitions,\n FILE_PER_NORMALIZED_TYPE,\n SINGLE_FILE_NORMALIZED,\n} from '@conduit-client/generator-ts/v1';\nimport { amfAPIService, swaggerAPIService } from '@conduit-client/model/v1';\nimport { buildServiceDescriptor as buildFeatureFlagsServiceDescriptor } from '@conduit-client/service-feature-flags/v1';\nimport type { ParserType } from './index';\n\nexport type PipelineOptions = {\n parser?: ParserType;\n filePerType?: boolean;\n includeExclude?: IncludeExclude;\n serviceOverrides?: {\n api?: ReturnType<typeof amfAPIService>;\n file?: ReturnType<typeof fileService>;\n typeDefinition?: ReturnType<typeof typeDefinitions>;\n normalizedTypeDefinition?: ReturnType<typeof normalizedTypeDefinitions>;\n jsonSchema?: ReturnType<typeof jsonSchemaDeclarationService>;\n typeRegistryGenerator?: ReturnType<typeof typeRegistryGeneratorService>;\n graphqlTypeRegistryGenerator?: ReturnType<typeof graphqlTypeRegistryGeneratorService>;\n apiFamilyModuleGenerator?: ReturnType<typeof apiFamilyModuleGeneratorService>;\n };\n};\n\nexport async function runV1Pipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n return runPipeline(inputFile, outputDir, logger, { ...options, parser: 'amf' });\n}\n\nexport async function runPipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n const parser = options.parser || 'amf';\n const filePerType = options.filePerType || false;\n\n if (fs.existsSync(outputDir)) {\n await fs.promises.rm(outputDir, { recursive: true });\n }\n\n logger.trace('Instantiating Feature flags service');\n const featureFlags = buildFeatureFlagsServiceDescriptor().service;\n\n logger.trace(`Instantiating API service (using ${parser} parser)`);\n const api =\n options.serviceOverrides?.api ??\n (parser === 'swagger'\n ? swaggerAPIService({ logger, featureFlags })\n : amfAPIService({ logger, featureFlags }));\n\n logger.trace('Instantiating File service');\n const file = options.serviceOverrides?.file ?? fileService();\n\n const { fileForType, fileForNormalizedType } = typeFileGrouping(filePerType);\n\n logger.trace('Instantiating Type Declaration service');\n const typeDefinition =\n options.serviceOverrides?.typeDefinition ??\n typeDefinitions({ file, api }, { fileFor: fileForType });\n\n logger.trace('Instantiating Normalized Type Declaration service');\n const normalizedTypeDefinition =\n options.serviceOverrides?.normalizedTypeDefinition ??\n normalizedTypeDefinitions({ file, api }, { fileFor: fileForNormalizedType });\n\n logger.trace('Instantiating JSON Schema Declaration service');\n const jsonSchema =\n options.serviceOverrides?.jsonSchema ?? jsonSchemaDeclarationService({ file, api });\n\n logger.trace('Instantiating Type Registry Generator service');\n const typeRegistryGenerator =\n options.serviceOverrides?.typeRegistryGenerator ??\n typeRegistryGeneratorService({\n api,\n file,\n typeDefinition,\n normalizedTypeDefinition,\n jsonSchema,\n });\n\n logger.trace('Instantiating GraphQL Type Registry Generator service');\n const graphqlTypeRegistryGenerator =\n options.serviceOverrides?.graphqlTypeRegistryGenerator ??\n graphqlTypeRegistryGeneratorService({ file, api });\n\n logger.trace('Instantiating LWC Bindings Generator service');\n\n const apiFamilyModuleGenerator =\n options.serviceOverrides?.apiFamilyModuleGenerator ??\n apiFamilyModuleGeneratorService({\n api,\n file,\n logger,\n typeDefinition,\n jsonSchema,\n typeRegistryGenerator,\n graphqlTypeRegistryGenerator,\n });\n\n const services = {\n api,\n file,\n logger,\n typeDefinition,\n normalizedTypeDefinition,\n jsonSchema,\n featureFlags,\n typeRegistryGenerator,\n graphqlTypeRegistryGenerator,\n apiFamilyModuleGenerator,\n };\n\n logger.debug(`Building API for ${inputFile}`);\n await services.api.build({ filename: path.resolve(inputFile) });\n\n logger.debug('Building module');\n apiFamilyModuleGenerator.build();\n\n logger.debug('Writing files to disk');\n await writeFiles(services, outputDir, { prettified: true });\n}\n\n/**\n * Selects which type definition grouping method to use based\n * on the value of the --filePerType flag\n *\n * @param filePerType value of --filePerType flag\n * @returns {fileForType: (typename: string) => string, fileForNormalizedType: (typename: string) => string}\n */\nexport function typeFileGrouping(filePerType: boolean) {\n if (filePerType) {\n return {\n fileForType: FILE_PER_TYPE,\n fileForNormalizedType: FILE_PER_NORMALIZED_TYPE,\n };\n }\n return {\n fileForType: SINGLE_FILE,\n fileForNormalizedType: SINGLE_FILE_NORMALIZED,\n };\n}\n","import { LoggerService } from '@conduit-client/utils';\nimport { runPipeline, type PipelineOptions } from './v1';\n\nexport async function runV2Pipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n await runPipeline(inputFile, outputDir, logger, { ...options, parser: 'swagger' });\n}\n","import * as url from 'url';\nimport {\n V1_VERSION,\n getAmfAnnotationVersion,\n parseAmfDocument,\n getSwaggerAnnotationVersion,\n parseSwaggerDocument,\n} from '@conduit-client/model/v1';\nimport {\n type LoggerService,\n DefaultFileParserLogger,\n satisfies,\n loggerService as loggerServiceFactory,\n type IncludeExclude,\n} from '@conduit-client/utils';\nimport { runV1Pipeline } from './v1';\nimport { runV2Pipeline } from './v2';\nimport type amf from 'amf-client-js';\n\ntype V1ServiceOverrides = NonNullable<Parameters<typeof runV1Pipeline>[3]>['serviceOverrides'];\n\n/**\n * Parser type: 'amf' uses AMF parser, 'swagger' uses swagger-parser\n */\nexport type ParserType = 'amf' | 'swagger';\n\n/**\n * Programmatic interface to call the code generator with version mapping.\n * @param inputFile spec file to parse\n * @param outputDir output directory to generate code in\n * @param options code generator configuration\n */\n\nexport async function runPipeline(\n inputFilePath: string,\n outputDir: string,\n options: {\n parser?: ParserType;\n loggerService?: LoggerService;\n filePerType?: boolean;\n includeExclude?: IncludeExclude;\n serviceOverrides?: {\n v1?: V1ServiceOverrides;\n };\n } = {}\n) {\n const logger = options.loggerService || loggerServiceFactory();\n const fileParserLogger = new DefaultFileParserLogger({ logger }, inputFilePath);\n const inputUrl = url.pathToFileURL(inputFilePath) as URL;\n\n if (options.parser === 'swagger') {\n // Use swagger-parser\n const { document } = await parseSwaggerDocument(inputUrl, fileParserLogger);\n const version = getSwaggerAnnotationVersion(document);\n\n if (satisfies(V1_VERSION, version)) {\n return runV2Pipeline(inputFilePath, outputDir, logger, {\n filePerType: options.filePerType,\n includeExclude: options.includeExclude,\n serviceOverrides: options.serviceOverrides?.v1,\n });\n }\n\n throw new Error(\n `Unsupported value for x-onestore.version: ${version}. Supported versions are: [${V1_VERSION}]`\n );\n }\n\n // Default: use AMF parser\n const document = await parseAmfDocument(inputUrl, fileParserLogger);\n const webApi = document.encodes as amf.WebApi;\n const version = getAmfAnnotationVersion(webApi);\n\n if (satisfies(V1_VERSION, version)) {\n return runV1Pipeline(inputFilePath, outputDir, logger, {\n parser: 'amf',\n filePerType: options.filePerType,\n includeExclude: options.includeExclude,\n serviceOverrides: options.serviceOverrides?.v1,\n });\n }\n\n throw new Error(\n `Unsupported value for x-onestore.version: ${version}. Supported versions are: [${V1_VERSION}]`\n );\n}\n","import { runPipeline } from './pipeline';\n\ntype RunPipelineOptions = Parameters<typeof runPipeline>[2];\n\n/**\n * Programmatic interface to call the code generator without the oclif layer.\n * @param inputFile spec file to parse\n * @param outputDir output directory to generate code in\n * @param options code generator configuration\n */\nexport async function generate(\n inputFile: string,\n outputDir: string,\n options: RunPipelineOptions = {}\n) {\n await runPipeline(inputFile, outputDir, options);\n}\n"],"names":["runPipeline","buildFeatureFlagsServiceDescriptor","loggerServiceFactory","document","version"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../services/feature-flags/dist/v1/index.js","../src/pipeline/v1.ts","../src/pipeline/v2.ts","../src/pipeline/index.ts","../src/generate.ts"],"sourcesContent":["/*!\n * Copyright (c) 2022, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nclass FeatureFlagsService {\n constructor() {\n this.flags = /* @__PURE__ */ new Map();\n }\n set(flagName, value) {\n this.flags.set(flagName, value);\n }\n get(flagName, defaultValue = false) {\n return this.flags.get(flagName) || defaultValue;\n }\n}\nfunction buildServiceDescriptor() {\n return {\n version: \"1.0\",\n service: new FeatureFlagsService(),\n type: \"featureFlags\"\n };\n}\nexport {\n FeatureFlagsService,\n buildServiceDescriptor\n};\n//# sourceMappingURL=index.js.map\n","import * as fs from 'fs';\nimport path from 'path';\nimport { type LoggerService, type IncludeExclude } from '@conduit-client/utils';\nimport {\n fileService,\n FILE_PER_TYPE,\n SINGLE_FILE,\n typeDefinitions,\n apiFamilyModuleGeneratorService,\n writeFiles,\n jsonSchemaDeclarationService,\n typeRegistryGeneratorService,\n graphqlTypeRegistryGeneratorService,\n normalizedTypeDefinitions,\n FILE_PER_NORMALIZED_TYPE,\n SINGLE_FILE_NORMALIZED,\n} from '@conduit-client/generator-ts/v1';\nimport { amfAPIService, swaggerAPIService } from '@conduit-client/model/v1';\nimport { buildServiceDescriptor as buildFeatureFlagsServiceDescriptor } from '@conduit-client/service-feature-flags/v1';\nimport type { ParserType } from './index';\n\nexport type PipelineOptions = {\n parser?: ParserType;\n filePerType?: boolean;\n includeExclude?: IncludeExclude;\n serviceOverrides?: {\n api?: ReturnType<typeof amfAPIService>;\n file?: ReturnType<typeof fileService>;\n typeDefinition?: ReturnType<typeof typeDefinitions>;\n normalizedTypeDefinition?: ReturnType<typeof normalizedTypeDefinitions>;\n jsonSchema?: ReturnType<typeof jsonSchemaDeclarationService>;\n typeRegistryGenerator?: ReturnType<typeof typeRegistryGeneratorService>;\n graphqlTypeRegistryGenerator?: ReturnType<typeof graphqlTypeRegistryGeneratorService>;\n apiFamilyModuleGenerator?: ReturnType<typeof apiFamilyModuleGeneratorService>;\n };\n};\n\nexport async function runV1Pipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n return runPipeline(inputFile, outputDir, logger, { ...options, parser: 'amf' });\n}\n\nexport async function runPipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n const parser = options.parser || 'amf';\n const filePerType = options.filePerType || false;\n\n if (fs.existsSync(outputDir)) {\n await fs.promises.rm(outputDir, { recursive: true });\n }\n\n logger.trace('Instantiating Feature flags service');\n const featureFlags = buildFeatureFlagsServiceDescriptor().service;\n\n logger.trace(`Instantiating API service (using ${parser} parser)`);\n const api =\n options.serviceOverrides?.api ??\n (parser === 'swagger'\n ? swaggerAPIService({ logger, featureFlags })\n : amfAPIService({ logger, featureFlags }));\n\n logger.trace('Instantiating File service');\n const file = options.serviceOverrides?.file ?? fileService();\n\n const { fileForType, fileForNormalizedType } = typeFileGrouping(filePerType);\n\n logger.trace('Instantiating Type Declaration service');\n const typeDefinition =\n options.serviceOverrides?.typeDefinition ??\n typeDefinitions({ file, api }, { fileFor: fileForType });\n\n logger.trace('Instantiating Normalized Type Declaration service');\n const normalizedTypeDefinition =\n options.serviceOverrides?.normalizedTypeDefinition ??\n normalizedTypeDefinitions({ file, api }, { fileFor: fileForNormalizedType });\n\n logger.trace('Instantiating JSON Schema Declaration service');\n const jsonSchema =\n options.serviceOverrides?.jsonSchema ?? jsonSchemaDeclarationService({ file, api });\n\n logger.trace('Instantiating Type Registry Generator service');\n const typeRegistryGenerator =\n options.serviceOverrides?.typeRegistryGenerator ??\n typeRegistryGeneratorService({\n api,\n file,\n typeDefinition,\n normalizedTypeDefinition,\n jsonSchema,\n });\n\n logger.trace('Instantiating GraphQL Type Registry Generator service');\n const graphqlTypeRegistryGenerator =\n options.serviceOverrides?.graphqlTypeRegistryGenerator ??\n graphqlTypeRegistryGeneratorService({ file, api });\n\n logger.trace('Instantiating LWC Bindings Generator service');\n\n const apiFamilyModuleGenerator =\n options.serviceOverrides?.apiFamilyModuleGenerator ??\n apiFamilyModuleGeneratorService({\n api,\n file,\n logger,\n typeDefinition,\n jsonSchema,\n typeRegistryGenerator,\n graphqlTypeRegistryGenerator,\n });\n\n const services = {\n api,\n file,\n logger,\n typeDefinition,\n normalizedTypeDefinition,\n jsonSchema,\n featureFlags,\n typeRegistryGenerator,\n graphqlTypeRegistryGenerator,\n apiFamilyModuleGenerator,\n };\n\n logger.debug(`Building API for ${inputFile}`);\n await services.api.build({ filename: path.resolve(inputFile) });\n\n logger.debug('Building module');\n apiFamilyModuleGenerator.build();\n\n logger.debug('Writing files to disk');\n await writeFiles(services, outputDir, { prettified: true });\n}\n\n/**\n * Selects which type definition grouping method to use based\n * on the value of the --filePerType flag\n *\n * @param filePerType value of --filePerType flag\n * @returns {fileForType: (typename: string) => string, fileForNormalizedType: (typename: string) => string}\n */\nexport function typeFileGrouping(filePerType: boolean) {\n if (filePerType) {\n return {\n fileForType: FILE_PER_TYPE,\n fileForNormalizedType: FILE_PER_NORMALIZED_TYPE,\n };\n }\n return {\n fileForType: SINGLE_FILE,\n fileForNormalizedType: SINGLE_FILE_NORMALIZED,\n };\n}\n","import { runPipeline, type PipelineOptions } from './v1';\nimport type { LoggerService } from '@conduit-client/utils';\n\nexport async function runV2Pipeline(\n inputFile: string,\n outputDir: string,\n logger: LoggerService,\n options: PipelineOptions = {}\n) {\n await runPipeline(inputFile, outputDir, logger, { ...options, parser: 'swagger' });\n}\n","import * as url from 'url';\nimport {\n V1_VERSION,\n getAmfAnnotationVersion,\n parseAmfDocument,\n getSwaggerAnnotationVersion,\n parseSwaggerDocument,\n} from '@conduit-client/model/v1';\nimport {\n type LoggerService,\n DefaultFileParserLogger,\n satisfies,\n loggerService as loggerServiceFactory,\n type IncludeExclude,\n} from '@conduit-client/utils';\nimport { runV1Pipeline } from './v1';\nimport { runV2Pipeline } from './v2';\nimport type amf from 'amf-client-js';\n\ntype V1ServiceOverrides = NonNullable<Parameters<typeof runV1Pipeline>[3]>['serviceOverrides'];\n\n/**\n * Parser type: 'amf' uses AMF parser, 'swagger' uses swagger-parser\n */\nexport type ParserType = 'amf' | 'swagger';\n\n/**\n * Programmatic interface to call the code generator with version mapping.\n * @param inputFile spec file to parse\n * @param outputDir output directory to generate code in\n * @param options code generator configuration\n */\n\nexport async function runPipeline(\n inputFilePath: string,\n outputDir: string,\n options: {\n parser?: ParserType;\n loggerService?: LoggerService;\n filePerType?: boolean;\n includeExclude?: IncludeExclude;\n serviceOverrides?: {\n v1?: V1ServiceOverrides;\n };\n } = {}\n) {\n const logger = options.loggerService || loggerServiceFactory();\n const fileParserLogger = new DefaultFileParserLogger({ logger }, inputFilePath);\n const inputUrl = url.pathToFileURL(inputFilePath) as URL;\n\n if (options.parser === 'swagger') {\n // Use swagger-parser\n const { document } = await parseSwaggerDocument(inputUrl, fileParserLogger);\n const version = getSwaggerAnnotationVersion(document);\n\n if (satisfies(V1_VERSION, version)) {\n return runV2Pipeline(inputFilePath, outputDir, logger, {\n filePerType: options.filePerType,\n includeExclude: options.includeExclude,\n serviceOverrides: options.serviceOverrides?.v1,\n });\n }\n\n throw new Error(\n `Unsupported value for x-onestore.version: ${version}. Supported versions are: [${V1_VERSION}]`\n );\n }\n\n // Default: use AMF parser\n const document = await parseAmfDocument(inputUrl, fileParserLogger);\n const webApi = document.encodes as amf.WebApi;\n const version = getAmfAnnotationVersion(webApi);\n\n if (satisfies(V1_VERSION, version)) {\n return runV1Pipeline(inputFilePath, outputDir, logger, {\n parser: 'amf',\n filePerType: options.filePerType,\n includeExclude: options.includeExclude,\n serviceOverrides: options.serviceOverrides?.v1,\n });\n }\n\n throw new Error(\n `Unsupported value for x-onestore.version: ${version}. Supported versions are: [${V1_VERSION}]`\n );\n}\n","import { runPipeline } from './pipeline';\n\ntype RunPipelineOptions = Parameters<typeof runPipeline>[2];\n\n/**\n * Programmatic interface to call the code generator without the oclif layer.\n * @param inputFile spec file to parse\n * @param outputDir output directory to generate code in\n * @param options code generator configuration\n */\nexport async function generate(\n inputFile: string,\n outputDir: string,\n options: RunPipelineOptions = {}\n) {\n await runPipeline(inputFile, outputDir, options);\n}\n"],"names":["runPipeline","buildFeatureFlagsServiceDescriptor","loggerServiceFactory","document","version"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { LoggerService } from '@conduit-client/utils';
2
1
  import { type PipelineOptions } from './v1';
2
+ import type { LoggerService } from '@conduit-client/utils';
3
3
  export declare function runV2Pipeline(inputFile: string, outputDir: string, logger: LoggerService, options?: PipelineOptions): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduit-client/tools-core",
3
- "version": "3.13.0",
3
+ "version": "3.13.1",
4
4
  "description": "CLI for Luvio Code Generation",
5
5
  "homepage": "https://github.com/salesforce-experience-platform-emu/luvio-next",
6
6
  "repository": {
@@ -21,10 +21,10 @@
21
21
  "test": "vitest run"
22
22
  },
23
23
  "dependencies": {
24
- "@conduit-client/generator-ts": "3.13.0",
25
- "@conduit-client/model": "3.13.0",
26
- "@conduit-client/service-feature-flags": "3.13.0",
27
- "@conduit-client/utils": "3.13.0"
24
+ "@conduit-client/generator-ts": "3.13.1",
25
+ "@conduit-client/model": "3.13.1",
26
+ "@conduit-client/service-feature-flags": "3.13.1",
27
+ "@conduit-client/utils": "3.13.1"
28
28
  },
29
29
  "volta": {
30
30
  "extends": "../../../../package.json"