@visulima/jsdoc-open-api 2.0.95 → 3.0.0-alpha.2

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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js","../src/util/customizer.ts","../src/jsdoc/comments-to-open-api.ts","../src/util/yaml-loc.ts","../src/parse-file.ts","../src/util/object-merge.ts","../src/spec-builder.ts","../src/swagger-jsdoc/utils.ts","../src/swagger-jsdoc/organize-swagger-object.ts","../src/swagger-jsdoc/comments-to-open-api.ts","../../path/dist/packem_shared/path-CR6YkPXX.js","../../path/dist/utils.js","../../fs/dist/packem_shared/WalkError-DUdQd6FT.js","../../fs/dist/packem_shared/assertValidFileOrDirectoryPath-8HANmVjk.js","../../fs/dist/packem_shared/walk-include-CZco7BvN.js","../../fs/dist/packem_shared/walk-BhTbpr3y.js","../../fs/dist/packem_shared/collect-DcBwsYYd.js","../src/constants.ts","../src/validate.ts"],"names":["parseComments","mergeWith","path","commentsToOpenApi","readFileSync","yaml","tagsToObjects","comments_to_open_api_default","__cjs_createRequire","extensions","__cjs_require","__cjs_getProcess","__cjs_getBuiltinModule","SwaggerParser"],"mappings":"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CA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IA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","file":"chunk-LOXRB2QY.js","sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","const customizer = (objectValue: unknown, sourceValue: unknown[]): unknown[] | undefined => {\n if (Array.isArray(objectValue)) {\n return [...objectValue, ...sourceValue] as unknown[];\n }\n\n return undefined;\n};\n\nexport default customizer;\n","import type { Spec } from \"comment-parser\";\nimport { parse as parseComments } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\n\nimport type { OpenApiObject, PathsObject } from \"../exported\";\nimport customizer from \"../util/customizer\";\n\n// The security object has a bizare setup...\nconst fixSecurityObject = (thing: any) => {\n if (thing.security) {\n // eslint-disable-next-line no-param-reassign\n thing.security = Object.keys(thing.security).map((s) => {\n return {\n [s]: thing.security[s],\n };\n });\n }\n};\n\nconst primitiveTypes = new Set([\"array\", \"boolean\", \"integer\", \"number\", \"object\", \"string\"]);\n\nconst formatMap: Record<string, string> = {\n binary: \"string\",\n byte: \"string\",\n date: \"string\",\n \"date-time\": \"string\",\n double: \"number\",\n float: \"number\",\n int32: \"integer\",\n int64: \"integer\",\n password: \"string\",\n};\n\nconst parseDescription = (tag: Spec): { description: string | undefined; name: string; rawType: string; required: boolean; schema: object | undefined } => {\n const rawType = tag.type;\n const isArray = rawType.endsWith(\"[]\");\n // eslint-disable-next-line regexp/strict\n const parsedType = rawType.replace(/\\[]$/, \"\");\n\n const isPrimitive = primitiveTypes.has(parsedType);\n const isFormat = Object.keys(formatMap).includes(parsedType);\n\n let defaultValue;\n\n if (tag.default) {\n switch (parsedType) {\n case \"double\":\n case \"float\":\n case \"number\": {\n defaultValue = Number.parseFloat(tag.default);\n break;\n }\n case \"int32\":\n case \"int64\":\n case \"integer\": {\n defaultValue = Number.parseInt(tag.default, 10);\n break;\n }\n default: {\n defaultValue = tag.default;\n break;\n }\n }\n }\n\n let rootType;\n\n if (isPrimitive) {\n rootType = { default: defaultValue, type: parsedType };\n } else if (isFormat) {\n rootType = {\n default: defaultValue,\n format: parsedType,\n type: formatMap[parsedType],\n };\n } else {\n rootType = { $ref: `#/components/schemas/${parsedType as string}` };\n }\n\n let schema: object | undefined = isArray\n ? {\n items: {\n ...rootType,\n },\n type: \"array\",\n }\n : {\n ...rootType,\n };\n\n if (parsedType === \"\") {\n schema = undefined;\n }\n\n // remove the optional dash from the description.\n let description: string | undefined = tag.description.trim().replace(/^- /u, \"\");\n\n if (description === \"\") {\n description = undefined;\n }\n\n return {\n description,\n name: tag.name,\n rawType,\n required: !tag.optional,\n schema,\n };\n};\n\n// @ts-expect-error\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst tagsToObjects = (tags: Spec[], verbose?: boolean) =>\n tags.map((tag) => {\n const parsedResponse = parseDescription(tag);\n\n // Some ops only have a `description`, merge `name` and `description`\n // for these.\n let nameAndDescription = \"\";\n\n if (parsedResponse.name) {\n nameAndDescription += parsedResponse.name;\n }\n\n if (parsedResponse.description) {\n nameAndDescription += ` ${parsedResponse.description.trim()}`;\n }\n\n switch (tag.tag) {\n case \"bodyComponent\": {\n return {\n requestBody: {\n $ref: `#/components/requestBodies/${parsedResponse.rawType}`,\n },\n };\n }\n case \"bodyContent\": {\n return {\n requestBody: {\n content: {\n [parsedResponse.name.replace(String.raw`*\\/*`, \"*/*\")]: {\n schema: parsedResponse.schema,\n },\n },\n },\n };\n }\n case \"bodyDescription\": {\n return { requestBody: { description: nameAndDescription } };\n }\n\n case \"bodyExample\": {\n const [contentType, example] = parsedResponse.name.split(\".\");\n\n return {\n requestBody: {\n content: {\n [contentType as string]: {\n examples: {\n [example as string]: {\n $ref: `#/components/examples/${parsedResponse.rawType}`,\n },\n },\n },\n },\n },\n };\n }\n\n case \"bodyRequired\": {\n return { requestBody: { required: true } };\n }\n\n case \"callback\": {\n return {\n callbacks: {\n [parsedResponse.name]: {\n $ref: `#/components/callbacks/${parsedResponse.rawType}`,\n },\n },\n };\n }\n\n case \"cookieParam\":\n\n case \"headerParam\":\n case \"pathParam\":\n case \"queryParam\": {\n return {\n parameters: [\n {\n description: parsedResponse.description,\n in: tag.tag.replace(/Param$/u, \"\"),\n name: parsedResponse.name,\n required: parsedResponse.required,\n schema: parsedResponse.schema,\n },\n ],\n };\n }\n case \"deprecated\": {\n return { deprecated: true };\n }\n\n case \"description\":\n\n case \"operationId\":\n\n case \"summary\": {\n return { [tag.tag]: nameAndDescription };\n }\n\n case \"externalDocs\": {\n return {\n externalDocs: {\n description: parsedResponse.description,\n url: parsedResponse.name,\n },\n };\n }\n\n case \"paramComponent\": {\n return {\n parameters: [{ $ref: `#/components/parameters/${parsedResponse.rawType}` }],\n };\n }\n\n case \"response\": {\n return {\n responses: {\n [parsedResponse.name]: {\n description: parsedResponse.description,\n },\n },\n };\n }\n\n case \"responseComponent\": {\n return {\n responses: {\n [parsedResponse.name]: {\n $ref: `#/components/responses/${parsedResponse.rawType}`,\n },\n },\n };\n }\n\n case \"responseContent\": {\n const [status, contentType] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n content: {\n [contentType as string]: {\n schema: parsedResponse.schema,\n },\n },\n },\n },\n };\n }\n\n case \"responseExample\": {\n const [status, contentType, example] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n content: {\n [contentType as string]: {\n examples: {\n [example as string]: {\n $ref: `#/components/examples/${parsedResponse.rawType}`,\n },\n },\n },\n },\n },\n },\n };\n }\n\n case \"responseHeader\": {\n const [status, header] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n headers: {\n [header as string]: {\n description: parsedResponse.description,\n schema: parsedResponse.schema,\n },\n },\n },\n },\n };\n }\n\n case \"responseHeaderComponent\": {\n const [status, header] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n headers: {\n [header as string]: {\n $ref: `#/components/headers/${parsedResponse.rawType}`,\n },\n },\n },\n },\n };\n }\n\n case \"responseLink\": {\n const [status, link] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n links: {\n [link as string]: {\n $ref: `#/components/links/${parsedResponse.rawType}`,\n },\n },\n },\n },\n };\n }\n\n case \"security\": {\n const [security, scopeItem] = parsedResponse.name.split(\".\");\n\n let scope: string[] = [];\n\n if (scopeItem) {\n scope = [scopeItem];\n }\n\n return {\n security: { [security as string]: scope },\n };\n }\n\n case \"server\": {\n return {\n servers: [\n {\n description: parsedResponse.description,\n url: parsedResponse.name,\n },\n ],\n };\n }\n\n case \"tag\": {\n return { tags: [nameAndDescription] };\n }\n\n default: {\n return {};\n }\n }\n });\n\nconst commentsToOpenApi = (fileContents: string, verbose?: boolean): { loc: number; spec: OpenApiObject }[] => {\n // eslint-disable-next-line regexp/no-unused-capturing-group\n const openAPIRegex = /^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \\/.*$/;\n\n const jsDocumentComments = parseComments(fileContents, { spacing: \"preserve\" });\n\n return jsDocumentComments\n .filter((comment) => openAPIRegex.test(comment.description.trim()))\n .map((comment) => {\n // Line count, number of tags + 1 for description.\n // - Don't count line-breaking due to long descriptions\n // - Don't count empty lines\n const loc = (comment.tags.length as number) + 1;\n\n const result = mergeWith({}, ...tagsToObjects(comment.tags, verbose), customizer);\n\n fixSecurityObject(result);\n\n const [method, path]: string[] = comment.description.split(\" \");\n\n const pathsObject: PathsObject = {\n [(path as string).trim()]: {\n [(method as string).toLowerCase().trim()]: {\n ...result,\n },\n },\n };\n\n // Purge all undefined objects/arrays.\n const spec = JSON.parse(JSON.stringify({ paths: pathsObject }));\n\n return {\n loc,\n spec,\n };\n });\n};\n\nexport default commentsToOpenApi;\n","const yamlLoc = (string: string): number => {\n // Break string into lines.\n const split = string.split(/\\r\\n|\\r|\\n/u);\n\n const filtered = split.filter((line) => {\n // Remove comments.\n // eslint-disable-next-line security/detect-unsafe-regex,regexp/no-unused-capturing-group\n if (/^\\s*(#\\s*(?:\\S.*)?)?$/u.test(line)) {\n return false;\n }\n\n // Remove empty lines.\n return line.trim().length > 0;\n });\n\n return filtered.length;\n};\n\nexport default yamlLoc;\n","import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\n\nimport yaml from \"yaml\";\n\nimport type { OpenApiObject } from \"./exported\";\nimport yamlLoc from \"./util/yaml-loc\";\n\nconst ALLOWED_KEYS = new Set([\"components\", \"externalDocs\", \"info\", \"openapi\", \"paths\", \"security\", \"servers\", \"tags\"]);\n\nclass ParseError extends Error {\n public filePath?: string;\n}\n\nconst parseFile = (\n file: string,\n commentsToOpenApi: (fileContent: string, verbose?: boolean) => { loc: number; spec: OpenApiObject }[],\n verbose?: boolean,\n): { loc: number; spec: OpenApiObject }[] => {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n const fileContent = readFileSync(file, { encoding: \"utf8\" });\n const extension = path.extname(file);\n\n if (extension === \".yaml\" || extension === \".yml\") {\n const spec = yaml.parse(fileContent);\n const invalidKeys = Object.keys(spec).filter((key) => !ALLOWED_KEYS.has(key));\n\n if (invalidKeys.length > 0) {\n const error = new ParseError(`Unexpected keys: ${invalidKeys.join(\", \")}`);\n\n error.filePath = file;\n\n throw error;\n }\n\n if (Object.keys(spec).some((key) => ALLOWED_KEYS.has(key))) {\n const loc = yamlLoc(fileContent);\n\n return [{ loc, spec }];\n }\n\n return [];\n }\n\n try {\n return commentsToOpenApi(fileContent, verbose);\n } catch (error: any) {\n error.filePath = file;\n\n throw error;\n }\n};\n\nexport default parseFile;\n","const objectMerge = <T>(a: T, b: T): void => {\n Object.keys(b as object).forEach((key) => {\n if (a[key as keyof typeof b] === undefined) {\n // eslint-disable-next-line no-param-reassign\n a[key as keyof typeof b] = {\n ...b[key as keyof typeof b],\n };\n } else {\n Object.keys(b[key as keyof typeof b] as object).forEach((subKey) => {\n // eslint-disable-next-line no-param-reassign\n (a[key as keyof typeof b] as Record<string, object>)[subKey] = {\n ...(a[key as keyof typeof b] as Record<string, object>)[subKey],\n ...(b[key as keyof typeof b] as Record<string, object>)[subKey],\n };\n });\n }\n });\n};\n\nexport default objectMerge;\n","import type {\n BaseDefinition,\n ComponentsObject,\n ExternalDocumentationObject,\n InfoObject,\n OpenApiObject,\n PathsObject,\n SecurityRequirementObject,\n ServerObject,\n TagObject,\n} from \"./exported\";\nimport objectMerge from \"./util/object-merge\";\n\nclass SpecBuilder implements OpenApiObject {\n public components?: ComponentsObject;\n\n public externalDocs?: ExternalDocumentationObject;\n\n public info: InfoObject;\n\n public openapi: string;\n\n public paths: PathsObject;\n\n public security?: SecurityRequirementObject[];\n\n public servers?: ServerObject[];\n\n public tags?: TagObject[];\n\n public constructor(baseDefinition: BaseDefinition) {\n this.openapi = baseDefinition.openapi;\n this.info = baseDefinition.info;\n this.paths = baseDefinition.paths ?? {};\n\n if (baseDefinition.servers) {\n this.servers = baseDefinition.servers;\n }\n\n if (baseDefinition.components) {\n this.components = baseDefinition.components;\n }\n\n if (baseDefinition.security) {\n this.security = baseDefinition.security;\n }\n\n if (baseDefinition.tags) {\n this.tags = baseDefinition.tags;\n }\n\n if (baseDefinition.externalDocs) {\n this.externalDocs = baseDefinition.externalDocs;\n }\n }\n\n public addData(parsedFile: OpenApiObject[]): void {\n parsedFile.forEach((file) => {\n const { components, paths, ...rest } = file;\n\n // only merge paths and components\n objectMerge(this, {\n components: components ?? {},\n paths: paths ?? {},\n } as OpenApiObject);\n\n // overwrite everything else:\n Object.entries(rest).forEach(([key, value]) => {\n // @ts-expect-error\n this[key as keyof OpenApiObject] = value;\n });\n });\n }\n}\n\nexport default SpecBuilder;\n","import type { Spec } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\n\n/**\n * A recursive deep-merge that ignores null values when merging.\n * This returns the merged object and does not mutate.\n * @param first the first object to get merged\n * @param {object} second the second object to get merged\n */\n\nexport const mergeDeep = (first?: object, second?: object): object => mergeWith({}, first, second, (a, b) => (b === null ? a : undefined));\n\n/**\n * Checks if there is any properties of the input object which are an empty object\n * @param object the object to check\n * @returns boolean\n */\nexport const hasEmptyProperty = (object: Record<string, any>): boolean =>\n Object.keys(object)\n\n .map((key) => object[key])\n .every((keyObject) => typeof keyObject === \"object\" && Object.keys(keyObject).every((key) => !(key in keyObject)));\n\n/**\n * @param tag\n * @param tags\n * @returns boolean\n */\nexport const isTagPresentInTags = (tag: Spec, tags: Spec[]): boolean => tags.some((targetTag) => tag.name === targetTag.name);\n\nexport const getSwaggerVersionFromSpec = (tag: Spec): \"v2\" | \"v3\" | \"v4\" => {\n switch (tag.tag) {\n case \"asyncapi\": {\n return \"v4\";\n }\n case \"openapi\": {\n return \"v3\";\n }\n case \"swagger\": {\n return \"v2\";\n }\n default: {\n return \"v2\";\n }\n }\n};\n","import { isTagPresentInTags, mergeDeep } from \"./utils\";\n\n/**\n * @param {object} swaggerObject\n * @param {object} annotation\n * @param {string} property\n */\n\nconst organizeSwaggerObject = (swaggerObject: Record<string, any>, annotation: Record<string, any>, property: string): void => {\n // Root property on purpose.\n // eslint-disable-next-line no-secrets/no-secrets\n // @see https://github.com/OAI/OpenAPI-Specification/blob/master/proposals/002_Webhooks.md#proposed-solution\n if (property === \"x-webhooks\") {\n // eslint-disable-next-line no-param-reassign\n swaggerObject[property] = annotation[property];\n }\n\n // Other extensions can be in varying places depending on different vendors and opinions.\n // The following return makes it so that they are not put in `paths` in the last case.\n // New specific extensions will need to be handled on case-by-case if to be included in `paths`.\n if (property.startsWith(\"x-\")) {\n return;\n }\n\n const commonProperties = [\n \"components\",\n \"consumes\",\n \"produces\",\n \"paths\",\n \"schemas\",\n \"securityDefinitions\",\n \"responses\",\n \"parameters\",\n \"definitions\",\n \"channels\",\n ];\n\n if (commonProperties.includes(property)) {\n Object.keys(annotation[property]).forEach((definition) => {\n // eslint-disable-next-line no-param-reassign\n swaggerObject[property][definition] = mergeDeep(swaggerObject[property][definition], annotation[property][definition]);\n });\n } else if (property === \"tags\") {\n const { tags } = annotation;\n\n if (Array.isArray(tags)) {\n tags.forEach((tag) => {\n if (!isTagPresentInTags(tag, swaggerObject.tags)) {\n swaggerObject.tags.push(tag);\n }\n });\n } else if (!isTagPresentInTags(tags, swaggerObject.tags)) {\n swaggerObject.tags.push(tags);\n }\n } else if (property === \"security\") {\n const { security } = annotation;\n\n // eslint-disable-next-line no-param-reassign\n swaggerObject.security = security;\n } else if (property.startsWith(\"/\")) {\n // Paths which are not defined as \"paths\" property, starting with a slash \"/\"\n // eslint-disable-next-line no-param-reassign\n swaggerObject.paths[property] = mergeDeep(swaggerObject.paths[property], annotation[property]);\n }\n};\n\nexport default organizeSwaggerObject;\n","import type { Spec } from \"comment-parser\";\nimport { parse as parseComments } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\nimport type { YAMLError } from \"yaml\";\nimport yaml from \"yaml\";\n\nimport type { OpenApiObject } from \"../exported\";\nimport customizer from \"../util/customizer\";\nimport organizeSwaggerObject from \"./organize-swagger-object\";\nimport { getSwaggerVersionFromSpec, hasEmptyProperty } from \"./utils\";\n\nconst specificationTemplate = {\n v2: [\"paths\", \"definitions\", \"responses\", \"parameters\", \"securityDefinitions\"],\n v3: [\"paths\", \"definitions\", \"responses\", \"parameters\", \"securityDefinitions\", \"components\"],\n v4: [\"components\", \"channels\"],\n};\n\ntype ExtendedYAMLError = YAMLError & { annotation?: string };\n\nconst tagsToObjects = (specs: Spec[], verbose?: boolean) =>\n specs.map((spec: Spec) => {\n if ((spec.tag === \"openapi\" || spec.tag === \"swagger\" || spec.tag === \"asyncapi\") && spec.description !== \"\") {\n const parsed = yaml.parseDocument(spec.description);\n\n if (parsed.errors.length > 0) {\n parsed.errors.map<ExtendedYAMLError>((error) => {\n const newError: ExtendedYAMLError = error;\n\n newError.annotation = spec.description;\n\n return newError as ExtendedYAMLError;\n });\n\n let errorString = \"Error parsing YAML in @openapi spec:\";\n\n errorString += (\n verbose\n ? (parsed.errors as ExtendedYAMLError[])\n .map(\n (error) =>\n `${(error as ExtendedYAMLError).toString() as string}\\nImbedded within:\\n\\`\\`\\`\\n ${(error as ExtendedYAMLError).annotation?.replaceAll(\"\\n\", \"\\n \") as string}\\n\\`\\`\\``,\n )\n .join(\"\\n\")\n : parsed.errors.map((error) => error.toString()).join(\"\\n\")\n ) as string;\n\n throw new Error(errorString);\n }\n\n const parsedDocument = parsed.toJSON();\n const specification: Record<string, any> = {\n tags: [],\n };\n\n specificationTemplate[getSwaggerVersionFromSpec(spec)].forEach((property) => {\n specification[property] = specification[property] || {};\n });\n\n Object.keys(parsedDocument).forEach((property) => {\n organizeSwaggerObject(specification, parsedDocument, property);\n });\n\n return specification;\n }\n\n return {};\n });\n\nconst commentsToOpenApi = (fileContents: string, verbose?: boolean): { loc: number; spec: OpenApiObject }[] => {\n const jsDocumentComments = parseComments(fileContents, { spacing: \"preserve\" });\n\n return jsDocumentComments.map((comment) => {\n // Line count, number of tags + 1 for description.\n // - Don't count line-breaking due to long descriptions\n // - Don't count empty lines\n const loc = (comment.tags.length as number) + 1;\n const result = mergeWith({}, ...tagsToObjects(comment.tags, verbose), customizer);\n\n [\"definitions\", \"responses\", \"parameters\", \"securityDefinitions\", \"components\", \"tags\"].forEach((property) => {\n if (result[property] !== undefined && hasEmptyProperty(result[property])) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete result[property];\n }\n });\n\n // Purge all undefined objects/arrays.\n const spec = JSON.parse(JSON.stringify(result));\n\n return {\n loc,\n spec,\n };\n });\n};\n\nexport default commentsToOpenApi;\n","let _lazyMatch = () => {\n var __lib__ = (() => {\n var C = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, re = Object.getOwnPropertyNames, te = Object.prototype.hasOwnProperty, ne = (e, r) => {\n for (var t in r) C(e, t, { get: r[t], enumerable: true });\n }, ae = (e, r, t, a) => {\n if (r && typeof r == \"object\" || typeof r == \"function\") for (let n of re(r)) !te.call(e, n) && n !== t && C(e, n, { get: () => r[n], enumerable: !(a = ee(r, n)) || a.enumerable });\n return e;\n }, oe = (e) => ae(C({}, \"__esModule\", { value: true }), e), z = {};\n ne(z, { zeptomatch: () => X });\n var M = (e) => {\n const r = /* @__PURE__ */ new Set(), t = [e];\n for (let a = 0; a < t.length; a++) {\n const n = t[a];\n if (r.has(n)) continue;\n r.add(n);\n const { children: o } = n;\n if (o?.length) for (let s = 0, u = o.length; s < u; s++) t.push(o[s]);\n }\n return Array.from(r);\n }, se = (e) => {\n let r = \"\";\n const t = M(e);\n for (let a = 0, n = t.length; a < n; a++) {\n const o = t[a];\n if (!o.regex) continue;\n const s = o.regex.flags;\n if (r || (r = s), r !== s) throw new Error(`Inconsistent RegExp flags used: \"${r}\" and \"${s}\"`);\n }\n return r;\n }, O = (e, r, t) => {\n const a = t.get(e);\n if (a !== void 0) return a;\n const n = e.partial ?? r;\n let o = \"\";\n if (e.regex && (o += n ? \"(?:$|\" : \"\", o += e.regex.source), e.children?.length) {\n const s = ue(e.children.map((u) => O(u, r, t)).filter(Boolean));\n if (s?.length) {\n const u = e.children.some((E) => !E.regex || !(E.partial ?? r)), l = s.length > 1 || n && (!o.length || u);\n o += l ? n ? \"(?:$|\" : \"(?:\" : \"\", o += s.join(\"|\"), o += l ? \")\" : \"\";\n }\n }\n return e.regex && (o += n ? \")\" : \"\"), t.set(e, o), o;\n }, ie = (e, r) => {\n const t = /* @__PURE__ */ new Map(), a = M(e);\n for (let n = a.length - 1; n >= 0; n--) {\n const o = O(a[n], r, t);\n if (!(n > 0)) return o;\n }\n return \"\";\n }, ue = (e) => Array.from(new Set(e)), R = (e, r, t) => R.compile(e, t).test(r);\n R.compile = (e, r) => {\n const t = r?.partial ?? false, a = ie(e, t), n = se(e);\n return new RegExp(`^(?:${a})$`, n);\n };\n var ce = R, le = (e, r) => {\n const t = ce.compile(e, r), a = `${t.source.slice(0, -1)}[\\\\\\\\/]?$`, n = t.flags;\n return new RegExp(a, n);\n }, pe = le, ve = (e) => {\n const r = e.map((a) => a.source).join(\"|\") || \"$^\", t = e[0]?.flags;\n return new RegExp(r, t);\n }, fe = ve, j = (e) => Array.isArray(e), _ = (e) => typeof e == \"function\", he = (e) => e.length === 0, ge = (() => {\n const { toString: e } = Function.prototype, r = /(?:^\\(\\s*(?:[^,.()]|\\.(?!\\.\\.))*\\s*\\)\\s*=>|^\\s*[a-zA-Z$_][a-zA-Z0-9$_]*\\s*=>)/;\n return (t) => (t.length === 0 || t.length === 1) && r.test(e.call(t));\n })(), de = (e) => typeof e == \"number\", xe = (e) => typeof e == \"object\" && e !== null, me = (e) => e instanceof RegExp, Se = /* @__PURE__ */ (() => {\n const e = /\\\\\\(|\\((?!\\?(?::|=|!|<=|<!))/;\n return (r) => e.test(r.source);\n })(), _e = /* @__PURE__ */ (() => {\n const e = /^[a-zA-Z0-9_-]+$/;\n return (r) => e.test(r.source) && !r.flags.includes(\"i\");\n })(), A = (e) => typeof e == \"string\", f = (e) => e === void 0, ye = (e) => {\n const r = /* @__PURE__ */ new Map();\n return (t) => {\n const a = r.get(t);\n if (a !== void 0) return a;\n const n = e(t);\n return r.set(t, n), n;\n };\n }, I = (e, r, t = {}) => {\n const a = { cache: {}, input: e, index: 0, indexBacktrackMax: 0, options: t, output: [] }, n = h(r)(a), o = Math.max(a.index, a.indexBacktrackMax);\n if (n && a.index === e.length) return a.output;\n throw new Error(`Failed to parse at index ${o}`);\n }, i = (e, r) => j(e) ? we(e, r) : A(e) ? F(e, r) : $e(e, r), we = (e, r) => {\n const t = {};\n for (const a of e) {\n if (a.length !== 1) throw new Error(`Invalid character: \"${a}\"`);\n const n = a.charCodeAt(0);\n t[n] = true;\n }\n return (a) => {\n const n = a.input;\n let o = a.index, s = o;\n for (; s < n.length && n.charCodeAt(s) in t; ) s += 1;\n if (s > o) {\n if (!f(r) && !a.options.silent) {\n const u = n.slice(o, s), l = _(r) ? r(u, n, `${o}`) : r;\n f(l) || a.output.push(l);\n }\n a.index = s;\n }\n return true;\n };\n }, $e = (e, r) => {\n if (_e(e)) return F(e.source, r);\n {\n const t = e.source, a = e.flags.replace(/y|$/, \"y\"), n = new RegExp(t, a);\n return Se(e) && _(r) && !ge(r) ? Ee(n, r) : Ce(n, r);\n }\n }, Ee = (e, r) => (t) => {\n const a = t.index, n = t.input;\n e.lastIndex = a;\n const o = e.exec(n);\n if (o) {\n const s = e.lastIndex;\n if (!t.options.silent) {\n const u = r(...o, n, `${a}`);\n f(u) || t.output.push(u);\n }\n return t.index = s, true;\n } else return false;\n }, Ce = (e, r) => (t) => {\n const a = t.index, n = t.input;\n if (e.lastIndex = a, e.test(n)) {\n const s = e.lastIndex;\n if (!f(r) && !t.options.silent) {\n const u = _(r) ? r(n.slice(a, s), n, `${a}`) : r;\n f(u) || t.output.push(u);\n }\n return t.index = s, true;\n } else return false;\n }, F = (e, r) => (t) => {\n const a = t.index, n = t.input;\n if (n.startsWith(e, a)) {\n if (!f(r) && !t.options.silent) {\n const s = _(r) ? r(e, n, `${a}`) : r;\n f(s) || t.output.push(s);\n }\n return t.index += e.length, true;\n } else return false;\n }, k = (e, r, t, a) => {\n const n = h(e), o = r > 1;\n return P(B(q((s) => {\n let u = 0;\n for (; u < t; ) {\n const l = s.index;\n if (!n(s) || (u += 1, s.index === l)) break;\n }\n return u >= r;\n }, o), a));\n }, L = (e, r) => k(e, 0, 1, r), $ = (e, r) => k(e, 0, 1 / 0, r), Re = (e, r) => k(e, 1, 1 / 0, r), x = (e, r) => {\n const t = e.map(h);\n return P(B(q((a) => {\n for (let n = 0, o = t.length; n < o; n++) if (!t[n](a)) return false;\n return true;\n }), r));\n }, p = (e, r) => {\n const t = e.map(h);\n return P(B((a) => {\n for (let n = 0, o = t.length; n < o; n++) if (t[n](a)) return true;\n return false;\n }, r));\n }, q = (e, r = true, t = false) => {\n const a = h(e);\n return r ? (n) => {\n const o = n.index, s = n.output.length, u = a(n);\n return !u && !t && (n.indexBacktrackMax = Math.max(n.indexBacktrackMax, n.index)), (!u || t) && (n.index = o, n.output.length !== s && (n.output.length = s)), u;\n } : a;\n }, B = (e, r) => {\n const t = h(e);\n return r ? (a) => {\n if (a.options.silent) return t(a);\n const n = a.output.length;\n if (t(a)) {\n const s = a.output.splice(n, 1 / 0), u = r(s);\n return f(u) || a.output.push(u), true;\n } else return false;\n } : t;\n }, P = /* @__PURE__ */ (() => {\n let e = 0;\n return (r) => {\n const t = h(r), a = e += 1;\n return (n) => {\n var o;\n if (n.options.memoization === false) return t(n);\n const s = n.index, u = (o = n.cache)[a] || (o[a] = { indexMax: -1, queue: [] }), l = u.queue;\n if (s <= u.indexMax) {\n const w = u.store || (u.store = /* @__PURE__ */ new Map());\n if (l.length) {\n for (let S = 0, br = l.length; S < br; S += 2) {\n const Nr = l[S * 2], zr = l[S * 2 + 1];\n w.set(Nr, zr);\n }\n l.length = 0;\n }\n const v = w.get(s);\n if (v === false) return false;\n if (de(v)) return n.index = v, true;\n if (v) return n.index = v.index, v.output?.length && n.output.push(...v.output), true;\n }\n const Y = n.output.length, Pr = t(n);\n if (u.indexMax = Math.max(u.indexMax, s), Pr) {\n const w = n.index, v = n.output.length;\n if (v > Y) {\n const S = n.output.slice(Y, v);\n l.push(s, { index: w, output: S });\n } else l.push(s, w);\n return true;\n } else return l.push(s, false), false;\n };\n };\n })(), G = (e) => {\n let r;\n return (t) => (r || (r = h(e())), r(t));\n }, h = ye((e) => {\n if (_(e)) return he(e) ? G(e) : e;\n if (A(e) || me(e)) return i(e);\n if (j(e)) return x(e);\n if (xe(e)) return p(Object.values(e));\n throw new Error(\"Invalid rule\");\n }), d = (e) => e, ke = (e) => typeof e == \"string\", Be = (e) => {\n const r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();\n return (a, n) => {\n const o = n?.partial ? t : r, s = o.get(a);\n if (s !== void 0) return s;\n const u = e(a, n);\n return o.set(a, u), u;\n };\n }, Pe = (e) => {\n const r = {}, t = {};\n return (a, n) => {\n const o = n?.partial ? t : r;\n return o[a] ?? (o[a] = e(a, n));\n };\n }, be = i(/\\\\./, d), Ne = i(/./, d), ze = i(/\\*\\*\\*+/, \"*\"), Me = i(/([^/{[(!])\\*\\*/, (e, r) => `${r}*`), Oe = i(/(^|.)\\*\\*(?=[^*/)\\]}])/, (e, r) => `${r}*`), je = $(p([be, ze, Me, Oe, Ne])), Ae = je, Ie = (e) => I(e, Ae, { memoization: false }).join(\"\"), Fe = Ie, U = \"abcdefghijklmnopqrstuvwxyz\", Le = (e) => {\n let r = \"\";\n for (; e > 0; ) {\n const t = (e - 1) % 26;\n r = U[t] + r, e = Math.floor((e - 1) / 26);\n }\n return r;\n }, V = (e) => {\n let r = 0;\n for (let t = 0, a = e.length; t < a; t++) r = r * 26 + U.indexOf(e[t]) + 1;\n return r;\n }, b = (e, r) => {\n if (r < e) return b(r, e);\n const t = [];\n for (; e <= r; ) t.push(e++);\n return t;\n }, qe = (e, r, t) => b(e, r).map((a) => String(a).padStart(t, \"0\")), W = (e, r) => b(V(e), V(r)).map(Le), c = (e) => ({ partial: false, regex: new RegExp(e, \"s\"), children: [] }), y = (e) => ({ children: e }), m = /* @__PURE__ */ (() => {\n const e = (r, t, a) => {\n if (a.has(r)) return;\n a.add(r);\n const { children: n } = r;\n if (!n.length) n.push(t);\n else for (let o = 0, s = n.length; o < s; o++) e(n[o], t, a);\n };\n return (r) => {\n if (!r.length) return y([]);\n for (let t = r.length - 1; t >= 1; t--) {\n const a = /* @__PURE__ */ new Set(), n = r[t - 1], o = r[t];\n e(n, o, a);\n }\n return r[0];\n };\n })(), g = () => ({ regex: new RegExp(\"[\\\\\\\\/]\", \"s\"), children: [] }), Ge = i(/\\\\./, c), Ue = i(/[$.*+?^(){}[\\]\\|]/, (e) => c(`\\\\${e}`)), Ve = i(/[\\\\\\/]/, g), We = i(/[^$.*+?^(){}[\\]\\|\\\\\\/]+/, c), Ze = i(/^(?:!!)*!(.*)$/, (e, r) => c(`(?!^${X.compile(r).source}$).*?`)), De = i(/^(!!)+/), Qe = p([Ze, De]), Te = i(/\\/(\\*\\*\\/)+/, () => y([m([g(), c(\".+?\"), g()]), g()])), He = i(/^(\\*\\*\\/)+/, () => y([c(\"^\"), m([c(\".*?\"), g()])])), Je = i(/\\/(\\*\\*)$/, () => y([m([g(), c(\".*?\")]), c(\"$\")])), Ke = i(/\\*\\*/, () => c(\".*?\")), Z = p([Te, He, Je, Ke]), Xe = i(/\\*\\/(?!\\*\\*\\/|\\*$)/, () => m([c(\"[^\\\\\\\\/]*?\"), g()])), Ye = i(/\\*/, () => c(\"[^\\\\\\\\/]*\")), D = p([Xe, Ye]), Q = i(\"?\", () => c(\"[^\\\\\\\\/]\")), er = i(\"[\", d), rr = i(\"]\", d), tr = i(/[!^]/, \"^\\\\\\\\/\"), nr = i(/[a-z]-[a-z]|[0-9]-[0-9]/i, d), ar = i(/\\\\./, d), or = i(/[$.*+?^(){}[\\|]/, (e) => `\\\\${e}`), sr = i(/[\\\\\\/]/, \"\\\\\\\\/\"), ir = i(/[^$.*+?^(){}[\\]\\|\\\\\\/]+/, d), ur = p([ar, or, sr, nr, ir]), T = x([er, L(tr), $(ur), rr], (e) => c(e.join(\"\"))), cr = i(\"{\", \"(?:\"), lr = i(\"}\", \")\"), pr = i(/(\\d+)\\.\\.(\\d+)/, (e, r, t) => qe(+r, +t, Math.min(r.length, t.length)).join(\"|\")), vr = i(/([a-z]+)\\.\\.([a-z]+)/, (e, r, t) => W(r, t).join(\"|\")), fr = i(/([A-Z]+)\\.\\.([A-Z]+)/, (e, r, t) => W(r.toLowerCase(), t.toLowerCase()).join(\"|\").toUpperCase()), hr = p([pr, vr, fr]), H = x([cr, hr, lr], (e) => c(e.join(\"\"))), gr = i(\"{\"), dr = i(\"}\"), xr = i(\",\"), mr = i(/\\\\./, c), Sr = i(/[$.*+?^(){[\\]\\|]/, (e) => c(`\\\\${e}`)), _r = i(/[\\\\\\/]/, g), yr = i(/[^$.*+?^(){}[\\]\\|\\\\\\/,]+/, c), wr = G(() => K), $r = i(\"\", () => c(\"(?:)\")), Er = Re(p([Z, D, Q, T, H, wr, mr, Sr, _r, yr]), m), J = p([Er, $r]), K = x([gr, L(x([J, $(x([xr, J]))])), dr], y), Cr = $(p([Qe, Z, D, Q, T, H, K, Ge, Ue, Ve, We]), m), Rr = Cr, kr = (e) => I(e, Rr, { memoization: false })[0], Br = kr, N = (e, r, t) => N.compile(e, t).test(r);\n N.compile = (() => {\n const e = Pe((t, a) => pe(Br(Fe(t)), a)), r = Be((t, a) => fe(t.map((n) => e(n, a))));\n return (t, a) => ke(t) ? e(t, a) : r(t, a);\n })();\n var X = N;\n return oe(z);\n })();\n return __lib__.default || __lib__;\n};\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst DRIVE_LETTER_START_RE = /^[A-Z]:\\//i;\nconst normalizeWindowsPath = (input = \"\") => {\n if (!input) {\n return input;\n }\n return input.replaceAll(\"\\\\\", \"/\").replace(DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n};\n\nconst UNC_REGEX = /^[/\\\\]{2}/;\nconst IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Z]:[/\\\\]/i;\nconst DRIVE_LETTER_RE = /^[A-Z]:$/i;\nconst ROOT_FOLDER_RE = /^\\/([A-Z]:)?$/i;\nconst EXTNAME_RE = /.(\\.[^./]+)$/;\nconst PATH_ROOT_RE = /^[/\\\\]|^[a-z]:[/\\\\]/i;\nconst cwd = () => {\n if (typeof process.cwd === \"function\") {\n return process.cwd().replaceAll(\"\\\\\", \"/\");\n }\n return \"/\";\n};\nconst sep = \"/\";\nconst delimiter = /^win/i.test(globalThis.process?.platform) ? \";\" : \":\";\nconst normalizeString = (path, allowAboveRoot) => {\n let result = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (result.length < 2 || lastSegmentLength !== 2 || !result.endsWith(\".\") || result.at(-2) !== \".\") {\n if (result.length > 2) {\n const lastSlashIndex = result.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n result = \"\";\n lastSegmentLength = 0;\n } else {\n result = result.slice(0, lastSlashIndex);\n lastSegmentLength = result.length - 1 - result.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (result.length > 0) {\n result = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n result += result.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (result.length > 0) {\n result += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n result = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return result;\n};\nconst isAbsolute = (path) => IS_ABSOLUTE_RE.test(path);\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = UNC_REGEX.exec(path);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path.at(-1) === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = (...segments) => {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n const match = EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match?.[1] ?? \"\";\n};\nconst relative = function(from, to) {\n const splitFrom = resolve(from).replace(ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const splitTo = resolve(to).replace(ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (splitTo[0][1] === \":\" && splitFrom[0][1] === \":\" && splitFrom[0] !== splitTo[0]) {\n return splitTo.join(\"/\");\n }\n const fromCopy = [...splitFrom];\n for (const segment of fromCopy) {\n if (splitTo[0] !== segment) {\n break;\n }\n splitFrom.shift();\n splitTo.shift();\n }\n return [...splitFrom.map(() => \"..\"), ...splitTo].join(\"/\");\n};\nconst dirname = (path) => {\n const segments = normalizeWindowsPath(path).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(path) ? \"/\" : \".\");\n};\nconst format = function(pathObject) {\n const segments = [pathObject.root, pathObject.dir, pathObject.base ?? pathObject.name + pathObject.ext].filter(Boolean);\n return normalizeWindowsPath(pathObject.root ? resolve(...segments) : segments.join(\"/\"));\n};\nconst basename = (path, extension) => {\n const lastSegment = normalizeWindowsPath(path).split(\"/\").pop();\n if (extension && lastSegment.endsWith(extension)) {\n return lastSegment.slice(0, -extension.length);\n }\n return lastSegment;\n};\nconst parse = function(p) {\n const root = PATH_ROOT_RE.exec(p)?.[0]?.replaceAll(\"\\\\\", \"/\") ?? \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n base,\n dir: dirname(p),\n ext: extension,\n name: base.slice(0, base.length - extension.length),\n root\n };\n};\nconst matchesGlob = (path, pattern) => (\n // https://github.com/nodejs/node/blob/main/lib/internal/fs/glob.js#L660\n zeptomatch(pattern, normalize(path))\n);\n\nconst path = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n basename,\n delimiter,\n dirname,\n extname,\n format,\n isAbsolute,\n join,\n matchesGlob,\n normalize,\n normalizeString,\n parse,\n relative,\n resolve,\n sep,\n toNamespacedPath\n}, Symbol.toStringTag, { value: 'Module' });\n\nexport { dirname as a, basename as b, normalizeString as c, delimiter as d, extname as e, format as f, parse as g, resolve as h, isAbsolute as i, join as j, normalizeWindowsPath as k, matchesGlob as m, normalize as n, path as p, relative as r, sep as s, toNamespacedPath as t };\n","import { createRequire as __cjs_createRequire } from \"node:module\";\n\nconst __cjs_require = __cjs_createRequire(import.meta.url);\n\nconst __cjs_getProcess = typeof globalThis !== \"undefined\" && typeof globalThis.process !== \"undefined\" ? globalThis.process : process;\n\nconst __cjs_getBuiltinModule = (module) => {\n // Check if we're in Node.js and version supports getBuiltinModule\n if (typeof __cjs_getProcess !== \"undefined\" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {\n const [major, minor] = __cjs_getProcess.versions.node.split(\".\").map(Number);\n // Node.js 20.16.0+ and 22.3.0+\n if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {\n return __cjs_getProcess.getBuiltinModule(module);\n }\n }\n // Fallback to createRequire\n return __cjs_require(module);\n};\n\nconst {\n fileURLToPath\n} = __cjs_getBuiltinModule(\"node:url\");\nimport { k as normalizeWindowsPath, j as join, e as extname } from './packem_shared/path-CR6YkPXX.js';\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar binaryExtensions$1;\nvar hasRequiredBinaryExtensions;\n\nfunction requireBinaryExtensions () {\n\tif (hasRequiredBinaryExtensions) return binaryExtensions$1;\n\thasRequiredBinaryExtensions = 1;\n\tbinaryExtensions$1 = [\n\t\t\"3dm\",\n\t\t\"3ds\",\n\t\t\"3g2\",\n\t\t\"3gp\",\n\t\t\"7z\",\n\t\t\"a\",\n\t\t\"aac\",\n\t\t\"adp\",\n\t\t\"afdesign\",\n\t\t\"afphoto\",\n\t\t\"afpub\",\n\t\t\"ai\",\n\t\t\"aif\",\n\t\t\"aiff\",\n\t\t\"alz\",\n\t\t\"ape\",\n\t\t\"apk\",\n\t\t\"appimage\",\n\t\t\"ar\",\n\t\t\"arj\",\n\t\t\"asf\",\n\t\t\"au\",\n\t\t\"avi\",\n\t\t\"bak\",\n\t\t\"baml\",\n\t\t\"bh\",\n\t\t\"bin\",\n\t\t\"bk\",\n\t\t\"bmp\",\n\t\t\"btif\",\n\t\t\"bz2\",\n\t\t\"bzip2\",\n\t\t\"cab\",\n\t\t\"caf\",\n\t\t\"cgm\",\n\t\t\"class\",\n\t\t\"cmx\",\n\t\t\"cpio\",\n\t\t\"cr2\",\n\t\t\"cr3\",\n\t\t\"cur\",\n\t\t\"dat\",\n\t\t\"dcm\",\n\t\t\"deb\",\n\t\t\"dex\",\n\t\t\"djvu\",\n\t\t\"dll\",\n\t\t\"dmg\",\n\t\t\"dng\",\n\t\t\"doc\",\n\t\t\"docm\",\n\t\t\"docx\",\n\t\t\"dot\",\n\t\t\"dotm\",\n\t\t\"dra\",\n\t\t\"DS_Store\",\n\t\t\"dsk\",\n\t\t\"dts\",\n\t\t\"dtshd\",\n\t\t\"dvb\",\n\t\t\"dwg\",\n\t\t\"dxf\",\n\t\t\"ecelp4800\",\n\t\t\"ecelp7470\",\n\t\t\"ecelp9600\",\n\t\t\"egg\",\n\t\t\"eol\",\n\t\t\"eot\",\n\t\t\"epub\",\n\t\t\"exe\",\n\t\t\"f4v\",\n\t\t\"fbs\",\n\t\t\"fh\",\n\t\t\"fla\",\n\t\t\"flac\",\n\t\t\"flatpak\",\n\t\t\"fli\",\n\t\t\"flv\",\n\t\t\"fpx\",\n\t\t\"fst\",\n\t\t\"fvt\",\n\t\t\"g3\",\n\t\t\"gh\",\n\t\t\"gif\",\n\t\t\"graffle\",\n\t\t\"gz\",\n\t\t\"gzip\",\n\t\t\"h261\",\n\t\t\"h263\",\n\t\t\"h264\",\n\t\t\"icns\",\n\t\t\"ico\",\n\t\t\"ief\",\n\t\t\"img\",\n\t\t\"ipa\",\n\t\t\"iso\",\n\t\t\"jar\",\n\t\t\"jpeg\",\n\t\t\"jpg\",\n\t\t\"jpgv\",\n\t\t\"jpm\",\n\t\t\"jxr\",\n\t\t\"key\",\n\t\t\"ktx\",\n\t\t\"lha\",\n\t\t\"lib\",\n\t\t\"lvp\",\n\t\t\"lz\",\n\t\t\"lzh\",\n\t\t\"lzma\",\n\t\t\"lzo\",\n\t\t\"m3u\",\n\t\t\"m4a\",\n\t\t\"m4v\",\n\t\t\"mar\",\n\t\t\"mdi\",\n\t\t\"mht\",\n\t\t\"mid\",\n\t\t\"midi\",\n\t\t\"mj2\",\n\t\t\"mka\",\n\t\t\"mkv\",\n\t\t\"mmr\",\n\t\t\"mng\",\n\t\t\"mobi\",\n\t\t\"mov\",\n\t\t\"movie\",\n\t\t\"mp3\",\n\t\t\"mp4\",\n\t\t\"mp4a\",\n\t\t\"mpeg\",\n\t\t\"mpg\",\n\t\t\"mpga\",\n\t\t\"mxu\",\n\t\t\"nef\",\n\t\t\"npx\",\n\t\t\"numbers\",\n\t\t\"nupkg\",\n\t\t\"o\",\n\t\t\"odp\",\n\t\t\"ods\",\n\t\t\"odt\",\n\t\t\"oga\",\n\t\t\"ogg\",\n\t\t\"ogv\",\n\t\t\"otf\",\n\t\t\"ott\",\n\t\t\"pages\",\n\t\t\"pbm\",\n\t\t\"pcx\",\n\t\t\"pdb\",\n\t\t\"pdf\",\n\t\t\"pea\",\n\t\t\"pgm\",\n\t\t\"pic\",\n\t\t\"png\",\n\t\t\"pnm\",\n\t\t\"pot\",\n\t\t\"potm\",\n\t\t\"potx\",\n\t\t\"ppa\",\n\t\t\"ppam\",\n\t\t\"ppm\",\n\t\t\"pps\",\n\t\t\"ppsm\",\n\t\t\"ppsx\",\n\t\t\"ppt\",\n\t\t\"pptm\",\n\t\t\"pptx\",\n\t\t\"psd\",\n\t\t\"pya\",\n\t\t\"pyc\",\n\t\t\"pyo\",\n\t\t\"pyv\",\n\t\t\"qt\",\n\t\t\"rar\",\n\t\t\"ras\",\n\t\t\"raw\",\n\t\t\"resources\",\n\t\t\"rgb\",\n\t\t\"rip\",\n\t\t\"rlc\",\n\t\t\"rmf\",\n\t\t\"rmvb\",\n\t\t\"rpm\",\n\t\t\"rtf\",\n\t\t\"rz\",\n\t\t\"s3m\",\n\t\t\"s7z\",\n\t\t\"scpt\",\n\t\t\"sgi\",\n\t\t\"shar\",\n\t\t\"snap\",\n\t\t\"sil\",\n\t\t\"sketch\",\n\t\t\"slk\",\n\t\t\"smv\",\n\t\t\"snk\",\n\t\t\"so\",\n\t\t\"stl\",\n\t\t\"suo\",\n\t\t\"sub\",\n\t\t\"swf\",\n\t\t\"tar\",\n\t\t\"tbz\",\n\t\t\"tbz2\",\n\t\t\"tga\",\n\t\t\"tgz\",\n\t\t\"thmx\",\n\t\t\"tif\",\n\t\t\"tiff\",\n\t\t\"tlz\",\n\t\t\"ttc\",\n\t\t\"ttf\",\n\t\t\"txz\",\n\t\t\"udf\",\n\t\t\"uvh\",\n\t\t\"uvi\",\n\t\t\"uvm\",\n\t\t\"uvp\",\n\t\t\"uvs\",\n\t\t\"uvu\",\n\t\t\"viv\",\n\t\t\"vob\",\n\t\t\"war\",\n\t\t\"wav\",\n\t\t\"wax\",\n\t\t\"wbmp\",\n\t\t\"wdp\",\n\t\t\"weba\",\n\t\t\"webm\",\n\t\t\"webp\",\n\t\t\"whl\",\n\t\t\"wim\",\n\t\t\"wm\",\n\t\t\"wma\",\n\t\t\"wmv\",\n\t\t\"wmx\",\n\t\t\"woff\",\n\t\t\"woff2\",\n\t\t\"wrm\",\n\t\t\"wvx\",\n\t\t\"xbm\",\n\t\t\"xif\",\n\t\t\"xla\",\n\t\t\"xlam\",\n\t\t\"xls\",\n\t\t\"xlsb\",\n\t\t\"xlsm\",\n\t\t\"xlsx\",\n\t\t\"xlt\",\n\t\t\"xltm\",\n\t\t\"xltx\",\n\t\t\"xm\",\n\t\t\"xmind\",\n\t\t\"xpi\",\n\t\t\"xpm\",\n\t\t\"xwd\",\n\t\t\"xz\",\n\t\t\"z\",\n\t\t\"zip\",\n\t\t\"zipx\"\n\t];\n\treturn binaryExtensions$1;\n}\n\nvar binaryExtensionsExports = /*@__PURE__*/ requireBinaryExtensions();\nconst binaryExtensions = /*@__PURE__*/getDefaultExportFromCjs(binaryExtensionsExports);\n\nconst extensions = new Set(binaryExtensions);\nconst pathSeparators = /* @__PURE__ */ new Set([\"/\", \"\\\\\", void 0]);\nconst normalizedAliasSymbol = Symbol.for(\"pathe:normalizedAlias\");\nconst FILENAME_RE = /(^|[/\\\\])([^/\\\\]+?)(?=(?:\\.[^.]+)?$)/;\nconst compareAliases = (a, b) => b.split(\"/\").length - a.split(\"/\").length;\nconst hasTrailingSlash = (path = \"/\") => {\n const lastChar = path.at(-1);\n return lastChar === \"/\" || lastChar === \"\\\\\";\n};\nconst normalizeAliases = (_aliases) => {\n if (_aliases[normalizedAliasSymbol]) {\n return _aliases;\n }\n const aliases = Object.fromEntries(Object.entries(_aliases).toSorted(([a], [b]) => compareAliases(a, b)));\n for (const key in aliases) {\n for (const alias in aliases) {\n if (alias === key || key.startsWith(alias)) {\n continue;\n }\n if (aliases[key].startsWith(alias) && pathSeparators.has(aliases[key][alias.length])) {\n aliases[key] = aliases[alias] + aliases[key].slice(alias.length);\n }\n }\n }\n Object.defineProperty(aliases, normalizedAliasSymbol, {\n enumerable: false,\n value: true\n });\n return aliases;\n};\nconst resolveAlias = (path, aliases) => {\n path = normalizeWindowsPath(path);\n aliases = normalizeAliases(aliases);\n for (const [alias, to] of Object.entries(aliases)) {\n if (!path.startsWith(alias)) {\n continue;\n }\n const stripedAlias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias;\n if (hasTrailingSlash(path[stripedAlias.length])) {\n return join(to, path.slice(alias.length));\n }\n }\n return path;\n};\nconst filename = (path) => FILENAME_RE.exec(path)?.[2];\nconst reverseResolveAlias = (path, aliases) => {\n path = normalizeWindowsPath(path);\n aliases = normalizeAliases(aliases);\n for (const [to, alias] of Object.entries(aliases).toReversed()) {\n if (!path.startsWith(alias)) {\n continue;\n }\n const stripedAlias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias;\n if (hasTrailingSlash(path[stripedAlias.length])) {\n return join(to, path.slice(alias.length));\n }\n }\n return path;\n};\nconst isRelative = (path) => /^(?:\\.?\\.[/\\\\]|\\.\\.\\B)/.test(path) || path === \"..\";\nconst isBinaryPath = (path) => extensions.has(extname(path).slice(1).toLowerCase());\nconst toPath = (urlOrPath) => normalizeWindowsPath(urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath);\nconst isWindows = () => {\n if (!globalThis?.process) {\n return false;\n }\n if (globalThis?.process?.platform === \"win32\" || globalThis?.process?.platform === \"cygwin\") {\n return true;\n }\n const osType = globalThis?.process?.env.OSTYPE;\n if (typeof osType !== \"string\") {\n return false;\n }\n return /^(?:msys|cygwin)$/.test(osType);\n};\n\nexport { filename, isBinaryPath, isRelative, isWindows, normalizeAliases, resolveAlias, reverseResolveAlias, toPath };\n","class WalkError extends Error {\n /** File path of the root that's being walked. */\n root;\n /**\n * Constructs a new instance.\n * @param cause The underlying error or reason for the walk failure.\n * @param root The root directory path where the walk operation started or encountered the error.\n */\n constructor(cause, root) {\n super(`${cause instanceof Error ? cause.message : cause} for path \"${root}\"`);\n this.cause = cause;\n this.root = root;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return \"WalkError\";\n }\n // eslint-disable-next-line class-methods-use-this,@typescript-eslint/explicit-module-boundary-types\n set name(_name) {\n throw new Error(\"Cannot overwrite name of WalkError\");\n }\n}\n\nexport { WalkError as default };\n","const assertValidFileOrDirectoryPath = (fileOrDirectoryPath) => {\n if (!fileOrDirectoryPath || !(fileOrDirectoryPath instanceof URL) && typeof fileOrDirectoryPath !== \"string\") {\n throw new TypeError(\"Path must be a non-empty string or URL.\");\n }\n};\n\nexport { assertValidFileOrDirectoryPath as default };\n","const globToRegExp = (glob) => {\n const reString = glob.replace(/\\.\\*/g, \".([^/]*)\").replace(/\\*\\*/g, \"(.*)\").replace(/(?<!\\.)\\*(?!\\*)/g, \"([^/]*)\").replace(/\\?/g, \"[^/]\").replace(/\\.(?!\\*)/g, String.raw`\\.`).replace(/\\{/g, \"(\").replace(/\\}/g, \")\").replace(/,/g, \"|\").replace(/\\[!(.*?)\\]/g, \"[^$1]\");\n return new RegExp(`^${reString}$`);\n};\n\nconst walkInclude = (path, extensions, match, skip) => {\n if (Array.isArray(extensions) && extensions.length > 0 && !extensions.some((extension) => path.endsWith(extension))) {\n return false;\n }\n if (match && !match.some((pattern) => pattern.test(path))) {\n return false;\n }\n return !skip?.some((pattern) => pattern.test(path));\n};\n\nexport { globToRegExp as g, walkInclude as w };\n","import { createRequire as __cjs_createRequire } from \"node:module\";\n\nconst __cjs_require = __cjs_createRequire(import.meta.url);\n\nconst __cjs_getProcess = typeof globalThis !== \"undefined\" && typeof globalThis.process !== \"undefined\" ? globalThis.process : process;\n\nconst __cjs_getBuiltinModule = (module) => {\n // Check if we're in Node.js and version supports getBuiltinModule\n if (typeof __cjs_getProcess !== \"undefined\" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {\n const [major, minor] = __cjs_getProcess.versions.node.split(\".\").map(Number);\n // Node.js 20.16.0+ and 22.3.0+\n if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {\n return __cjs_getProcess.getBuiltinModule(module);\n }\n }\n // Fallback to createRequire\n return __cjs_require(module);\n};\n\nconst {\n readdir,\n realpath,\n stat\n} = __cjs_getBuiltinModule(\"node:fs/promises\");\nimport { resolve, join, normalize, basename } from '@visulima/path';\nimport { toPath } from '@visulima/path/utils';\nimport WalkError from './WalkError-DUdQd6FT.js';\nimport assertValidFileOrDirectoryPath from './assertValidFileOrDirectoryPath-8HANmVjk.js';\nimport { g as globToRegExp, w as walkInclude } from './walk-include-CZco7BvN.js';\n\nconst _createWalkEntry = async (path) => {\n const normalizePath = normalize(path);\n const name = basename(normalizePath);\n const info = await stat(normalizePath);\n return {\n isDirectory: () => info.isDirectory(),\n isFile: () => info.isFile(),\n isSymbolicLink: () => info.isSymbolicLink(),\n name,\n path: normalizePath\n };\n};\nasync function* walk(directory, {\n extensions,\n followSymlinks = false,\n includeDirs: includeDirectories = true,\n includeFiles = true,\n includeSymlinks = true,\n match,\n maxDepth = Number.POSITIVE_INFINITY,\n skip\n} = {}) {\n assertValidFileOrDirectoryPath(directory);\n if (maxDepth < 0) {\n return;\n }\n const mappedMatch = match ? match.map((pattern) => typeof pattern === \"string\" ? globToRegExp(pattern) : pattern) : void 0;\n const mappedSkip = skip ? skip.map((pattern) => typeof pattern === \"string\" ? globToRegExp(pattern) : pattern) : void 0;\n directory = resolve(toPath(directory));\n if (includeDirectories && walkInclude(directory, extensions, mappedMatch, mappedSkip)) {\n yield await _createWalkEntry(directory);\n }\n if (maxDepth < 1 || !walkInclude(directory, void 0, void 0, mappedSkip)) {\n return;\n }\n try {\n for await (const entry of await readdir(directory, {\n withFileTypes: true\n })) {\n let path = join(directory, entry.name);\n if (entry.isSymbolicLink()) {\n if (followSymlinks) {\n path = await realpath(path);\n } else if (includeSymlinks && walkInclude(path, extensions, mappedMatch, mappedSkip)) {\n yield {\n isDirectory: entry.isDirectory,\n isFile: entry.isFile,\n isSymbolicLink: entry.isSymbolicLink,\n name: entry.name,\n path\n };\n } else {\n continue;\n }\n }\n if (entry.isSymbolicLink() || entry.isDirectory()) {\n yield* walk(path, {\n extensions,\n followSymlinks,\n includeDirs: includeDirectories,\n includeFiles,\n includeSymlinks,\n match: mappedMatch,\n maxDepth: maxDepth - 1,\n skip: mappedSkip\n });\n } else if (entry.isFile() && includeFiles && walkInclude(path, extensions, mappedMatch, mappedSkip)) {\n yield {\n isDirectory: () => entry.isDirectory(),\n isFile: () => entry.isFile(),\n isSymbolicLink: () => entry.isSymbolicLink(),\n name: entry.name,\n path\n };\n }\n }\n } catch (error) {\n if (error instanceof WalkError) {\n throw error;\n }\n throw new WalkError(error, directory);\n }\n}\n\nexport { walk as default };\n","import walk from './walk-BhTbpr3y.js';\n\nconst collect = async (directory, options = {}) => {\n if (!Array.isArray(options.extensions)) {\n options.extensions = [\"js\", \"mjs\", \"cjs\", \"ts\"];\n }\n const entries = [];\n for await (const entry of walk(directory, options)) {\n entries.push(entry.path);\n }\n return entries;\n};\n\nexport { collect as default };\n","// eslint-disable-next-line import/prefer-default-export\nexport const DEFAULT_EXCLUDE = [\n \"coverage/**\",\n \".github/**\",\n \"**/*.d.ts\",\n \"**/test{,s}/**\",\n \"**/test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}\",\n \"**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}\",\n \"**/__tests__/**\",\n \"**/{ava,babel,nyc}.config.{js,cjs,mjs}\",\n \"**/jest.config.{js,cjs,mjs,ts}\",\n \"**/{karma,rollup,webpack}.config.js\",\n \"**/.{eslint,mocha}rc.{js,cjs}\",\n \"**/.{travis,yarnrc}.yml\",\n \"**/{docker-compose,docker}.yml\",\n \"**/.yamllint.{yaml,yml}\",\n \"**/node_modules/**\",\n \"**/{pnpm-workspace,pnpm-lock}.yaml\",\n \"**/{package,package-lock}.json\",\n \"**/yarn.lock\",\n \"**/package.json5\",\n \"**/.next/**\",\n];\n","import SwaggerParser from \"@apidevtools/swagger-parser\";\nimport type OpenAPI from \"openapi-types\";\n\nconst validate = async (spec: Record<string, unknown>): Promise<void> => {\n await SwaggerParser.validate(spec as OpenAPI.OpenAPI.Document);\n};\n\nexport default validate;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/util/customizer.ts","../src/jsdoc/comments-to-open-api.ts","../src/util/yaml-loc.ts","../src/parse-file.ts","../src/util/object-merge.ts","../src/spec-builder.ts","../src/swagger-jsdoc/utils.ts","../src/swagger-jsdoc/organize-swagger-object.ts","../src/swagger-jsdoc/comments-to-open-api.ts","../../path/dist/packem_shared/path-CR6YkPXX.js","../../path/dist/utils.js","../../fs/dist/packem_shared/WalkError-DUdQd6FT.js","../../fs/dist/packem_shared/assertValidFileOrDirectoryPath-8HANmVjk.js","../../fs/dist/packem_shared/walk-include-CZco7BvN.js","../../fs/dist/packem_shared/walk-BhTbpr3y.js","../../fs/dist/packem_shared/collect-DcBwsYYd.js","../src/constants.ts","../src/validate.ts"],"names":["parseComments","path","commentsToOpenApi","mergeWith","tagsToObjects","yaml","comments_to_open_api_default","__cjs_createRequire","extensions","__cjs_require","__cjs_getProcess","__cjs_getBuiltinModule"],"mappings":"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A,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAA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","file":"chunk-WUINTXB7.mjs","sourcesContent":["const customizer = (objectValue: unknown, sourceValue: unknown[]): unknown[] | undefined => {\n if (Array.isArray(objectValue)) {\n return [...objectValue, ...sourceValue] as unknown[];\n }\n\n return undefined;\n};\n\nexport default customizer;\n","import type { Spec } from \"comment-parser\";\nimport { parse as parseComments } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\n\nimport type { OpenApiObject, PathsObject } from \"../exported\";\nimport customizer from \"../util/customizer\";\n\n// The security object has a bizare setup...\nconst fixSecurityObject = (thing: any) => {\n if (thing.security) {\n // eslint-disable-next-line no-param-reassign\n thing.security = Object.keys(thing.security).map((s) => {\n return {\n [s]: thing.security[s],\n };\n });\n }\n};\n\nconst primitiveTypes = new Set([\"array\", \"boolean\", \"integer\", \"number\", \"object\", \"string\"]);\n\nconst formatMap: Record<string, string> = {\n binary: \"string\",\n byte: \"string\",\n date: \"string\",\n \"date-time\": \"string\",\n double: \"number\",\n float: \"number\",\n int32: \"integer\",\n int64: \"integer\",\n password: \"string\",\n};\n\nconst parseDescription = (tag: Spec): { description: string | undefined; name: string; rawType: string; required: boolean; schema: object | undefined } => {\n const rawType = tag.type;\n const isArray = rawType.endsWith(\"[]\");\n // eslint-disable-next-line regexp/strict\n const parsedType = rawType.replace(/\\[]$/, \"\");\n\n const isPrimitive = primitiveTypes.has(parsedType);\n const isFormat = Object.keys(formatMap).includes(parsedType);\n\n let defaultValue;\n\n if (tag.default) {\n switch (parsedType) {\n case \"double\":\n case \"float\":\n case \"number\": {\n defaultValue = Number.parseFloat(tag.default);\n break;\n }\n case \"int32\":\n case \"int64\":\n case \"integer\": {\n defaultValue = Number.parseInt(tag.default, 10);\n break;\n }\n default: {\n defaultValue = tag.default;\n break;\n }\n }\n }\n\n let rootType;\n\n if (isPrimitive) {\n rootType = { default: defaultValue, type: parsedType };\n } else if (isFormat) {\n rootType = {\n default: defaultValue,\n format: parsedType,\n type: formatMap[parsedType],\n };\n } else {\n rootType = { $ref: `#/components/schemas/${parsedType as string}` };\n }\n\n let schema: object | undefined = isArray\n ? {\n items: {\n ...rootType,\n },\n type: \"array\",\n }\n : {\n ...rootType,\n };\n\n if (parsedType === \"\") {\n schema = undefined;\n }\n\n // remove the optional dash from the description.\n let description: string | undefined = tag.description.trim().replace(/^- /u, \"\");\n\n if (description === \"\") {\n description = undefined;\n }\n\n return {\n description,\n name: tag.name,\n rawType,\n required: !tag.optional,\n schema,\n };\n};\n\n// @ts-expect-error\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst tagsToObjects = (tags: Spec[], verbose?: boolean) =>\n tags.map((tag) => {\n const parsedResponse = parseDescription(tag);\n\n // Some ops only have a `description`, merge `name` and `description`\n // for these.\n let nameAndDescription = \"\";\n\n if (parsedResponse.name) {\n nameAndDescription += parsedResponse.name;\n }\n\n if (parsedResponse.description) {\n nameAndDescription += ` ${parsedResponse.description.trim()}`;\n }\n\n switch (tag.tag) {\n case \"bodyComponent\": {\n return {\n requestBody: {\n $ref: `#/components/requestBodies/${parsedResponse.rawType}`,\n },\n };\n }\n case \"bodyContent\": {\n return {\n requestBody: {\n content: {\n [parsedResponse.name.replace(String.raw`*\\/*`, \"*/*\")]: {\n schema: parsedResponse.schema,\n },\n },\n },\n };\n }\n case \"bodyDescription\": {\n return { requestBody: { description: nameAndDescription } };\n }\n\n case \"bodyExample\": {\n const [contentType, example] = parsedResponse.name.split(\".\");\n\n return {\n requestBody: {\n content: {\n [contentType as string]: {\n examples: {\n [example as string]: {\n $ref: `#/components/examples/${parsedResponse.rawType}`,\n },\n },\n },\n },\n },\n };\n }\n\n case \"bodyRequired\": {\n return { requestBody: { required: true } };\n }\n\n case \"callback\": {\n return {\n callbacks: {\n [parsedResponse.name]: {\n $ref: `#/components/callbacks/${parsedResponse.rawType}`,\n },\n },\n };\n }\n\n case \"cookieParam\":\n\n case \"headerParam\":\n case \"pathParam\":\n case \"queryParam\": {\n return {\n parameters: [\n {\n description: parsedResponse.description,\n in: tag.tag.replace(/Param$/u, \"\"),\n name: parsedResponse.name,\n required: parsedResponse.required,\n schema: parsedResponse.schema,\n },\n ],\n };\n }\n case \"deprecated\": {\n return { deprecated: true };\n }\n\n case \"description\":\n\n case \"operationId\":\n\n case \"summary\": {\n return { [tag.tag]: nameAndDescription };\n }\n\n case \"externalDocs\": {\n return {\n externalDocs: {\n description: parsedResponse.description,\n url: parsedResponse.name,\n },\n };\n }\n\n case \"paramComponent\": {\n return {\n parameters: [{ $ref: `#/components/parameters/${parsedResponse.rawType}` }],\n };\n }\n\n case \"response\": {\n return {\n responses: {\n [parsedResponse.name]: {\n description: parsedResponse.description,\n },\n },\n };\n }\n\n case \"responseComponent\": {\n return {\n responses: {\n [parsedResponse.name]: {\n $ref: `#/components/responses/${parsedResponse.rawType}`,\n },\n },\n };\n }\n\n case \"responseContent\": {\n const [status, contentType] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n content: {\n [contentType as string]: {\n schema: parsedResponse.schema,\n },\n },\n },\n },\n };\n }\n\n case \"responseExample\": {\n const [status, contentType, example] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n content: {\n [contentType as string]: {\n examples: {\n [example as string]: {\n $ref: `#/components/examples/${parsedResponse.rawType}`,\n },\n },\n },\n },\n },\n },\n };\n }\n\n case \"responseHeader\": {\n const [status, header] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n headers: {\n [header as string]: {\n description: parsedResponse.description,\n schema: parsedResponse.schema,\n },\n },\n },\n },\n };\n }\n\n case \"responseHeaderComponent\": {\n const [status, header] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n headers: {\n [header as string]: {\n $ref: `#/components/headers/${parsedResponse.rawType}`,\n },\n },\n },\n },\n };\n }\n\n case \"responseLink\": {\n const [status, link] = parsedResponse.name.split(\".\");\n\n return {\n responses: {\n [status as string]: {\n links: {\n [link as string]: {\n $ref: `#/components/links/${parsedResponse.rawType}`,\n },\n },\n },\n },\n };\n }\n\n case \"security\": {\n const [security, scopeItem] = parsedResponse.name.split(\".\");\n\n let scope: string[] = [];\n\n if (scopeItem) {\n scope = [scopeItem];\n }\n\n return {\n security: { [security as string]: scope },\n };\n }\n\n case \"server\": {\n return {\n servers: [\n {\n description: parsedResponse.description,\n url: parsedResponse.name,\n },\n ],\n };\n }\n\n case \"tag\": {\n return { tags: [nameAndDescription] };\n }\n\n default: {\n return {};\n }\n }\n });\n\nconst commentsToOpenApi = (fileContents: string, verbose?: boolean): { loc: number; spec: OpenApiObject }[] => {\n // eslint-disable-next-line regexp/no-unused-capturing-group\n const openAPIRegex = /^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \\/.*$/;\n\n const jsDocumentComments = parseComments(fileContents, { spacing: \"preserve\" });\n\n return jsDocumentComments\n .filter((comment) => openAPIRegex.test(comment.description.trim()))\n .map((comment) => {\n // Line count, number of tags + 1 for description.\n // - Don't count line-breaking due to long descriptions\n // - Don't count empty lines\n const loc = (comment.tags.length as number) + 1;\n\n const result = mergeWith({}, ...tagsToObjects(comment.tags, verbose), customizer);\n\n fixSecurityObject(result);\n\n const [method, path]: string[] = comment.description.split(\" \");\n\n const pathsObject: PathsObject = {\n [(path as string).trim()]: {\n [(method as string).toLowerCase().trim()]: {\n ...result,\n },\n },\n };\n\n // Purge all undefined objects/arrays.\n const spec = JSON.parse(JSON.stringify({ paths: pathsObject }));\n\n return {\n loc,\n spec,\n };\n });\n};\n\nexport default commentsToOpenApi;\n","const yamlLoc = (string: string): number => {\n // Break string into lines.\n const split = string.split(/\\r\\n|\\r|\\n/u);\n\n const filtered = split.filter((line) => {\n // Remove comments.\n // eslint-disable-next-line security/detect-unsafe-regex,regexp/no-unused-capturing-group\n if (/^\\s*(#\\s*(?:\\S.*)?)?$/u.test(line)) {\n return false;\n }\n\n // Remove empty lines.\n return line.trim().length > 0;\n });\n\n return filtered.length;\n};\n\nexport default yamlLoc;\n","import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\n\nimport yaml from \"yaml\";\n\nimport type { OpenApiObject } from \"./exported\";\nimport yamlLoc from \"./util/yaml-loc\";\n\nconst ALLOWED_KEYS = new Set([\"components\", \"externalDocs\", \"info\", \"openapi\", \"paths\", \"security\", \"servers\", \"tags\"]);\n\nclass ParseError extends Error {\n public filePath?: string;\n}\n\nconst parseFile = (\n file: string,\n commentsToOpenApi: (fileContent: string, verbose?: boolean) => { loc: number; spec: OpenApiObject }[],\n verbose?: boolean,\n): { loc: number; spec: OpenApiObject }[] => {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n const fileContent = readFileSync(file, { encoding: \"utf8\" });\n const extension = path.extname(file);\n\n if (extension === \".yaml\" || extension === \".yml\") {\n const spec = yaml.parse(fileContent);\n const invalidKeys = Object.keys(spec).filter((key) => !ALLOWED_KEYS.has(key));\n\n if (invalidKeys.length > 0) {\n const error = new ParseError(`Unexpected keys: ${invalidKeys.join(\", \")}`);\n\n error.filePath = file;\n\n throw error;\n }\n\n if (Object.keys(spec).some((key) => ALLOWED_KEYS.has(key))) {\n const loc = yamlLoc(fileContent);\n\n return [{ loc, spec }];\n }\n\n return [];\n }\n\n try {\n return commentsToOpenApi(fileContent, verbose);\n } catch (error: any) {\n error.filePath = file;\n\n throw error;\n }\n};\n\nexport default parseFile;\n","const objectMerge = <T>(a: T, b: T): void => {\n Object.keys(b as object).forEach((key) => {\n if (a[key as keyof typeof b] === undefined) {\n // eslint-disable-next-line no-param-reassign\n a[key as keyof typeof b] = {\n ...b[key as keyof typeof b],\n };\n } else {\n Object.keys(b[key as keyof typeof b] as object).forEach((subKey) => {\n // eslint-disable-next-line no-param-reassign\n (a[key as keyof typeof b] as Record<string, object>)[subKey] = {\n ...(a[key as keyof typeof b] as Record<string, object>)[subKey],\n ...(b[key as keyof typeof b] as Record<string, object>)[subKey],\n };\n });\n }\n });\n};\n\nexport default objectMerge;\n","import type {\n BaseDefinition,\n ComponentsObject,\n ExternalDocumentationObject,\n InfoObject,\n OpenApiObject,\n PathsObject,\n SecurityRequirementObject,\n ServerObject,\n TagObject,\n} from \"./exported\";\nimport objectMerge from \"./util/object-merge\";\n\nclass SpecBuilder implements OpenApiObject {\n public components?: ComponentsObject;\n\n public externalDocs?: ExternalDocumentationObject;\n\n public info: InfoObject;\n\n public openapi: string;\n\n public paths: PathsObject;\n\n public security?: SecurityRequirementObject[];\n\n public servers?: ServerObject[];\n\n public tags?: TagObject[];\n\n public constructor(baseDefinition: BaseDefinition) {\n this.openapi = baseDefinition.openapi;\n this.info = baseDefinition.info;\n this.paths = baseDefinition.paths ?? {};\n\n if (baseDefinition.servers) {\n this.servers = baseDefinition.servers;\n }\n\n if (baseDefinition.components) {\n this.components = baseDefinition.components;\n }\n\n if (baseDefinition.security) {\n this.security = baseDefinition.security;\n }\n\n if (baseDefinition.tags) {\n this.tags = baseDefinition.tags;\n }\n\n if (baseDefinition.externalDocs) {\n this.externalDocs = baseDefinition.externalDocs;\n }\n }\n\n public addData(parsedFile: OpenApiObject[]): void {\n parsedFile.forEach((file) => {\n const { components, paths, ...rest } = file;\n\n // only merge paths and components\n objectMerge(this, {\n components: components ?? {},\n paths: paths ?? {},\n } as OpenApiObject);\n\n // overwrite everything else:\n Object.entries(rest).forEach(([key, value]) => {\n // @ts-expect-error\n this[key as keyof OpenApiObject] = value;\n });\n });\n }\n}\n\nexport default SpecBuilder;\n","import type { Spec } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\n\n/**\n * A recursive deep-merge that ignores null values when merging.\n * This returns the merged object and does not mutate.\n * @param first the first object to get merged\n * @param {object} second the second object to get merged\n */\n\nexport const mergeDeep = (first?: object, second?: object): object => mergeWith({}, first, second, (a, b) => (b === null ? a : undefined));\n\n/**\n * Checks if there is any properties of the input object which are an empty object\n * @param object the object to check\n * @returns boolean\n */\nexport const hasEmptyProperty = (object: Record<string, any>): boolean =>\n Object.keys(object)\n\n .map((key) => object[key])\n .every((keyObject) => typeof keyObject === \"object\" && Object.keys(keyObject).every((key) => !(key in keyObject)));\n\n/**\n * @param tag\n * @param tags\n * @returns boolean\n */\nexport const isTagPresentInTags = (tag: Spec, tags: Spec[]): boolean => tags.some((targetTag) => tag.name === targetTag.name);\n\nexport const getSwaggerVersionFromSpec = (tag: Spec): \"v2\" | \"v3\" | \"v4\" => {\n switch (tag.tag) {\n case \"asyncapi\": {\n return \"v4\";\n }\n case \"openapi\": {\n return \"v3\";\n }\n case \"swagger\": {\n return \"v2\";\n }\n default: {\n return \"v2\";\n }\n }\n};\n","import { isTagPresentInTags, mergeDeep } from \"./utils\";\n\n/**\n * @param {object} swaggerObject\n * @param {object} annotation\n * @param {string} property\n */\n\nconst organizeSwaggerObject = (swaggerObject: Record<string, any>, annotation: Record<string, any>, property: string): void => {\n // Root property on purpose.\n // eslint-disable-next-line no-secrets/no-secrets\n // @see https://github.com/OAI/OpenAPI-Specification/blob/master/proposals/002_Webhooks.md#proposed-solution\n if (property === \"x-webhooks\") {\n // eslint-disable-next-line no-param-reassign\n swaggerObject[property] = annotation[property];\n }\n\n // Other extensions can be in varying places depending on different vendors and opinions.\n // The following return makes it so that they are not put in `paths` in the last case.\n // New specific extensions will need to be handled on case-by-case if to be included in `paths`.\n if (property.startsWith(\"x-\")) {\n return;\n }\n\n const commonProperties = [\n \"components\",\n \"consumes\",\n \"produces\",\n \"paths\",\n \"schemas\",\n \"securityDefinitions\",\n \"responses\",\n \"parameters\",\n \"definitions\",\n \"channels\",\n ];\n\n if (commonProperties.includes(property)) {\n Object.keys(annotation[property]).forEach((definition) => {\n // eslint-disable-next-line no-param-reassign\n swaggerObject[property][definition] = mergeDeep(swaggerObject[property][definition], annotation[property][definition]);\n });\n } else if (property === \"tags\") {\n const { tags } = annotation;\n\n if (Array.isArray(tags)) {\n tags.forEach((tag) => {\n if (!isTagPresentInTags(tag, swaggerObject.tags)) {\n swaggerObject.tags.push(tag);\n }\n });\n } else if (!isTagPresentInTags(tags, swaggerObject.tags)) {\n swaggerObject.tags.push(tags);\n }\n } else if (property === \"security\") {\n const { security } = annotation;\n\n // eslint-disable-next-line no-param-reassign\n swaggerObject.security = security;\n } else if (property.startsWith(\"/\")) {\n // Paths which are not defined as \"paths\" property, starting with a slash \"/\"\n // eslint-disable-next-line no-param-reassign\n swaggerObject.paths[property] = mergeDeep(swaggerObject.paths[property], annotation[property]);\n }\n};\n\nexport default organizeSwaggerObject;\n","import type { Spec } from \"comment-parser\";\nimport { parse as parseComments } from \"comment-parser\";\n// eslint-disable-next-line no-restricted-imports\nimport mergeWith from \"lodash.mergewith\";\nimport type { YAMLError } from \"yaml\";\nimport yaml from \"yaml\";\n\nimport type { OpenApiObject } from \"../exported\";\nimport customizer from \"../util/customizer\";\nimport organizeSwaggerObject from \"./organize-swagger-object\";\nimport { getSwaggerVersionFromSpec, hasEmptyProperty } from \"./utils\";\n\nconst specificationTemplate = {\n v2: [\"paths\", \"definitions\", \"responses\", \"parameters\", \"securityDefinitions\"],\n v3: [\"paths\", \"definitions\", \"responses\", \"parameters\", \"securityDefinitions\", \"components\"],\n v4: [\"components\", \"channels\"],\n};\n\ntype ExtendedYAMLError = YAMLError & { annotation?: string };\n\nconst tagsToObjects = (specs: Spec[], verbose?: boolean) =>\n specs.map((spec: Spec) => {\n if ((spec.tag === \"openapi\" || spec.tag === \"swagger\" || spec.tag === \"asyncapi\") && spec.description !== \"\") {\n const parsed = yaml.parseDocument(spec.description);\n\n if (parsed.errors.length > 0) {\n parsed.errors.map<ExtendedYAMLError>((error) => {\n const newError: ExtendedYAMLError = error;\n\n newError.annotation = spec.description;\n\n return newError as ExtendedYAMLError;\n });\n\n let errorString = \"Error parsing YAML in @openapi spec:\";\n\n errorString += (\n verbose\n ? (parsed.errors as ExtendedYAMLError[])\n .map(\n (error) =>\n `${(error as ExtendedYAMLError).toString() as string}\\nImbedded within:\\n\\`\\`\\`\\n ${(error as ExtendedYAMLError).annotation?.replaceAll(\"\\n\", \"\\n \") as string}\\n\\`\\`\\``,\n )\n .join(\"\\n\")\n : parsed.errors.map((error) => error.toString()).join(\"\\n\")\n ) as string;\n\n throw new Error(errorString);\n }\n\n const parsedDocument = parsed.toJSON();\n const specification: Record<string, any> = {\n tags: [],\n };\n\n specificationTemplate[getSwaggerVersionFromSpec(spec)].forEach((property) => {\n specification[property] = specification[property] || {};\n });\n\n Object.keys(parsedDocument).forEach((property) => {\n organizeSwaggerObject(specification, parsedDocument, property);\n });\n\n return specification;\n }\n\n return {};\n });\n\nconst commentsToOpenApi = (fileContents: string, verbose?: boolean): { loc: number; spec: OpenApiObject }[] => {\n const jsDocumentComments = parseComments(fileContents, { spacing: \"preserve\" });\n\n return jsDocumentComments.map((comment) => {\n // Line count, number of tags + 1 for description.\n // - Don't count line-breaking due to long descriptions\n // - Don't count empty lines\n const loc = (comment.tags.length as number) + 1;\n const result = mergeWith({}, ...tagsToObjects(comment.tags, verbose), customizer);\n\n [\"definitions\", \"responses\", \"parameters\", \"securityDefinitions\", \"components\", \"tags\"].forEach((property) => {\n if (result[property] !== undefined && hasEmptyProperty(result[property])) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete result[property];\n }\n });\n\n // Purge all undefined objects/arrays.\n const spec = JSON.parse(JSON.stringify(result));\n\n return {\n loc,\n spec,\n };\n });\n};\n\nexport default commentsToOpenApi;\n","let _lazyMatch = () => {\n var __lib__ = (() => {\n var C = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, re = Object.getOwnPropertyNames, te = Object.prototype.hasOwnProperty, ne = (e, r) => {\n for (var t in r) C(e, t, { get: r[t], enumerable: true });\n }, ae = (e, r, t, a) => {\n if (r && typeof r == \"object\" || typeof r == \"function\") for (let n of re(r)) !te.call(e, n) && n !== t && C(e, n, { get: () => r[n], enumerable: !(a = ee(r, n)) || a.enumerable });\n return e;\n }, oe = (e) => ae(C({}, \"__esModule\", { value: true }), e), z = {};\n ne(z, { zeptomatch: () => X });\n var M = (e) => {\n const r = /* @__PURE__ */ new Set(), t = [e];\n for (let a = 0; a < t.length; a++) {\n const n = t[a];\n if (r.has(n)) continue;\n r.add(n);\n const { children: o } = n;\n if (o?.length) for (let s = 0, u = o.length; s < u; s++) t.push(o[s]);\n }\n return Array.from(r);\n }, se = (e) => {\n let r = \"\";\n const t = M(e);\n for (let a = 0, n = t.length; a < n; a++) {\n const o = t[a];\n if (!o.regex) continue;\n const s = o.regex.flags;\n if (r || (r = s), r !== s) throw new Error(`Inconsistent RegExp flags used: \"${r}\" and \"${s}\"`);\n }\n return r;\n }, O = (e, r, t) => {\n const a = t.get(e);\n if (a !== void 0) return a;\n const n = e.partial ?? r;\n let o = \"\";\n if (e.regex && (o += n ? \"(?:$|\" : \"\", o += e.regex.source), e.children?.length) {\n const s = ue(e.children.map((u) => O(u, r, t)).filter(Boolean));\n if (s?.length) {\n const u = e.children.some((E) => !E.regex || !(E.partial ?? r)), l = s.length > 1 || n && (!o.length || u);\n o += l ? n ? \"(?:$|\" : \"(?:\" : \"\", o += s.join(\"|\"), o += l ? \")\" : \"\";\n }\n }\n return e.regex && (o += n ? \")\" : \"\"), t.set(e, o), o;\n }, ie = (e, r) => {\n const t = /* @__PURE__ */ new Map(), a = M(e);\n for (let n = a.length - 1; n >= 0; n--) {\n const o = O(a[n], r, t);\n if (!(n > 0)) return o;\n }\n return \"\";\n }, ue = (e) => Array.from(new Set(e)), R = (e, r, t) => R.compile(e, t).test(r);\n R.compile = (e, r) => {\n const t = r?.partial ?? false, a = ie(e, t), n = se(e);\n return new RegExp(`^(?:${a})$`, n);\n };\n var ce = R, le = (e, r) => {\n const t = ce.compile(e, r), a = `${t.source.slice(0, -1)}[\\\\\\\\/]?$`, n = t.flags;\n return new RegExp(a, n);\n }, pe = le, ve = (e) => {\n const r = e.map((a) => a.source).join(\"|\") || \"$^\", t = e[0]?.flags;\n return new RegExp(r, t);\n }, fe = ve, j = (e) => Array.isArray(e), _ = (e) => typeof e == \"function\", he = (e) => e.length === 0, ge = (() => {\n const { toString: e } = Function.prototype, r = /(?:^\\(\\s*(?:[^,.()]|\\.(?!\\.\\.))*\\s*\\)\\s*=>|^\\s*[a-zA-Z$_][a-zA-Z0-9$_]*\\s*=>)/;\n return (t) => (t.length === 0 || t.length === 1) && r.test(e.call(t));\n })(), de = (e) => typeof e == \"number\", xe = (e) => typeof e == \"object\" && e !== null, me = (e) => e instanceof RegExp, Se = /* @__PURE__ */ (() => {\n const e = /\\\\\\(|\\((?!\\?(?::|=|!|<=|<!))/;\n return (r) => e.test(r.source);\n })(), _e = /* @__PURE__ */ (() => {\n const e = /^[a-zA-Z0-9_-]+$/;\n return (r) => e.test(r.source) && !r.flags.includes(\"i\");\n })(), A = (e) => typeof e == \"string\", f = (e) => e === void 0, ye = (e) => {\n const r = /* @__PURE__ */ new Map();\n return (t) => {\n const a = r.get(t);\n if (a !== void 0) return a;\n const n = e(t);\n return r.set(t, n), n;\n };\n }, I = (e, r, t = {}) => {\n const a = { cache: {}, input: e, index: 0, indexBacktrackMax: 0, options: t, output: [] }, n = h(r)(a), o = Math.max(a.index, a.indexBacktrackMax);\n if (n && a.index === e.length) return a.output;\n throw new Error(`Failed to parse at index ${o}`);\n }, i = (e, r) => j(e) ? we(e, r) : A(e) ? F(e, r) : $e(e, r), we = (e, r) => {\n const t = {};\n for (const a of e) {\n if (a.length !== 1) throw new Error(`Invalid character: \"${a}\"`);\n const n = a.charCodeAt(0);\n t[n] = true;\n }\n return (a) => {\n const n = a.input;\n let o = a.index, s = o;\n for (; s < n.length && n.charCodeAt(s) in t; ) s += 1;\n if (s > o) {\n if (!f(r) && !a.options.silent) {\n const u = n.slice(o, s), l = _(r) ? r(u, n, `${o}`) : r;\n f(l) || a.output.push(l);\n }\n a.index = s;\n }\n return true;\n };\n }, $e = (e, r) => {\n if (_e(e)) return F(e.source, r);\n {\n const t = e.source, a = e.flags.replace(/y|$/, \"y\"), n = new RegExp(t, a);\n return Se(e) && _(r) && !ge(r) ? Ee(n, r) : Ce(n, r);\n }\n }, Ee = (e, r) => (t) => {\n const a = t.index, n = t.input;\n e.lastIndex = a;\n const o = e.exec(n);\n if (o) {\n const s = e.lastIndex;\n if (!t.options.silent) {\n const u = r(...o, n, `${a}`);\n f(u) || t.output.push(u);\n }\n return t.index = s, true;\n } else return false;\n }, Ce = (e, r) => (t) => {\n const a = t.index, n = t.input;\n if (e.lastIndex = a, e.test(n)) {\n const s = e.lastIndex;\n if (!f(r) && !t.options.silent) {\n const u = _(r) ? r(n.slice(a, s), n, `${a}`) : r;\n f(u) || t.output.push(u);\n }\n return t.index = s, true;\n } else return false;\n }, F = (e, r) => (t) => {\n const a = t.index, n = t.input;\n if (n.startsWith(e, a)) {\n if (!f(r) && !t.options.silent) {\n const s = _(r) ? r(e, n, `${a}`) : r;\n f(s) || t.output.push(s);\n }\n return t.index += e.length, true;\n } else return false;\n }, k = (e, r, t, a) => {\n const n = h(e), o = r > 1;\n return P(B(q((s) => {\n let u = 0;\n for (; u < t; ) {\n const l = s.index;\n if (!n(s) || (u += 1, s.index === l)) break;\n }\n return u >= r;\n }, o), a));\n }, L = (e, r) => k(e, 0, 1, r), $ = (e, r) => k(e, 0, 1 / 0, r), Re = (e, r) => k(e, 1, 1 / 0, r), x = (e, r) => {\n const t = e.map(h);\n return P(B(q((a) => {\n for (let n = 0, o = t.length; n < o; n++) if (!t[n](a)) return false;\n return true;\n }), r));\n }, p = (e, r) => {\n const t = e.map(h);\n return P(B((a) => {\n for (let n = 0, o = t.length; n < o; n++) if (t[n](a)) return true;\n return false;\n }, r));\n }, q = (e, r = true, t = false) => {\n const a = h(e);\n return r ? (n) => {\n const o = n.index, s = n.output.length, u = a(n);\n return !u && !t && (n.indexBacktrackMax = Math.max(n.indexBacktrackMax, n.index)), (!u || t) && (n.index = o, n.output.length !== s && (n.output.length = s)), u;\n } : a;\n }, B = (e, r) => {\n const t = h(e);\n return r ? (a) => {\n if (a.options.silent) return t(a);\n const n = a.output.length;\n if (t(a)) {\n const s = a.output.splice(n, 1 / 0), u = r(s);\n return f(u) || a.output.push(u), true;\n } else return false;\n } : t;\n }, P = /* @__PURE__ */ (() => {\n let e = 0;\n return (r) => {\n const t = h(r), a = e += 1;\n return (n) => {\n var o;\n if (n.options.memoization === false) return t(n);\n const s = n.index, u = (o = n.cache)[a] || (o[a] = { indexMax: -1, queue: [] }), l = u.queue;\n if (s <= u.indexMax) {\n const w = u.store || (u.store = /* @__PURE__ */ new Map());\n if (l.length) {\n for (let S = 0, br = l.length; S < br; S += 2) {\n const Nr = l[S * 2], zr = l[S * 2 + 1];\n w.set(Nr, zr);\n }\n l.length = 0;\n }\n const v = w.get(s);\n if (v === false) return false;\n if (de(v)) return n.index = v, true;\n if (v) return n.index = v.index, v.output?.length && n.output.push(...v.output), true;\n }\n const Y = n.output.length, Pr = t(n);\n if (u.indexMax = Math.max(u.indexMax, s), Pr) {\n const w = n.index, v = n.output.length;\n if (v > Y) {\n const S = n.output.slice(Y, v);\n l.push(s, { index: w, output: S });\n } else l.push(s, w);\n return true;\n } else return l.push(s, false), false;\n };\n };\n })(), G = (e) => {\n let r;\n return (t) => (r || (r = h(e())), r(t));\n }, h = ye((e) => {\n if (_(e)) return he(e) ? G(e) : e;\n if (A(e) || me(e)) return i(e);\n if (j(e)) return x(e);\n if (xe(e)) return p(Object.values(e));\n throw new Error(\"Invalid rule\");\n }), d = (e) => e, ke = (e) => typeof e == \"string\", Be = (e) => {\n const r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();\n return (a, n) => {\n const o = n?.partial ? t : r, s = o.get(a);\n if (s !== void 0) return s;\n const u = e(a, n);\n return o.set(a, u), u;\n };\n }, Pe = (e) => {\n const r = {}, t = {};\n return (a, n) => {\n const o = n?.partial ? t : r;\n return o[a] ?? (o[a] = e(a, n));\n };\n }, be = i(/\\\\./, d), Ne = i(/./, d), ze = i(/\\*\\*\\*+/, \"*\"), Me = i(/([^/{[(!])\\*\\*/, (e, r) => `${r}*`), Oe = i(/(^|.)\\*\\*(?=[^*/)\\]}])/, (e, r) => `${r}*`), je = $(p([be, ze, Me, Oe, Ne])), Ae = je, Ie = (e) => I(e, Ae, { memoization: false }).join(\"\"), Fe = Ie, U = \"abcdefghijklmnopqrstuvwxyz\", Le = (e) => {\n let r = \"\";\n for (; e > 0; ) {\n const t = (e - 1) % 26;\n r = U[t] + r, e = Math.floor((e - 1) / 26);\n }\n return r;\n }, V = (e) => {\n let r = 0;\n for (let t = 0, a = e.length; t < a; t++) r = r * 26 + U.indexOf(e[t]) + 1;\n return r;\n }, b = (e, r) => {\n if (r < e) return b(r, e);\n const t = [];\n for (; e <= r; ) t.push(e++);\n return t;\n }, qe = (e, r, t) => b(e, r).map((a) => String(a).padStart(t, \"0\")), W = (e, r) => b(V(e), V(r)).map(Le), c = (e) => ({ partial: false, regex: new RegExp(e, \"s\"), children: [] }), y = (e) => ({ children: e }), m = /* @__PURE__ */ (() => {\n const e = (r, t, a) => {\n if (a.has(r)) return;\n a.add(r);\n const { children: n } = r;\n if (!n.length) n.push(t);\n else for (let o = 0, s = n.length; o < s; o++) e(n[o], t, a);\n };\n return (r) => {\n if (!r.length) return y([]);\n for (let t = r.length - 1; t >= 1; t--) {\n const a = /* @__PURE__ */ new Set(), n = r[t - 1], o = r[t];\n e(n, o, a);\n }\n return r[0];\n };\n })(), g = () => ({ regex: new RegExp(\"[\\\\\\\\/]\", \"s\"), children: [] }), Ge = i(/\\\\./, c), Ue = i(/[$.*+?^(){}[\\]\\|]/, (e) => c(`\\\\${e}`)), Ve = i(/[\\\\\\/]/, g), We = i(/[^$.*+?^(){}[\\]\\|\\\\\\/]+/, c), Ze = i(/^(?:!!)*!(.*)$/, (e, r) => c(`(?!^${X.compile(r).source}$).*?`)), De = i(/^(!!)+/), Qe = p([Ze, De]), Te = i(/\\/(\\*\\*\\/)+/, () => y([m([g(), c(\".+?\"), g()]), g()])), He = i(/^(\\*\\*\\/)+/, () => y([c(\"^\"), m([c(\".*?\"), g()])])), Je = i(/\\/(\\*\\*)$/, () => y([m([g(), c(\".*?\")]), c(\"$\")])), Ke = i(/\\*\\*/, () => c(\".*?\")), Z = p([Te, He, Je, Ke]), Xe = i(/\\*\\/(?!\\*\\*\\/|\\*$)/, () => m([c(\"[^\\\\\\\\/]*?\"), g()])), Ye = i(/\\*/, () => c(\"[^\\\\\\\\/]*\")), D = p([Xe, Ye]), Q = i(\"?\", () => c(\"[^\\\\\\\\/]\")), er = i(\"[\", d), rr = i(\"]\", d), tr = i(/[!^]/, \"^\\\\\\\\/\"), nr = i(/[a-z]-[a-z]|[0-9]-[0-9]/i, d), ar = i(/\\\\./, d), or = i(/[$.*+?^(){}[\\|]/, (e) => `\\\\${e}`), sr = i(/[\\\\\\/]/, \"\\\\\\\\/\"), ir = i(/[^$.*+?^(){}[\\]\\|\\\\\\/]+/, d), ur = p([ar, or, sr, nr, ir]), T = x([er, L(tr), $(ur), rr], (e) => c(e.join(\"\"))), cr = i(\"{\", \"(?:\"), lr = i(\"}\", \")\"), pr = i(/(\\d+)\\.\\.(\\d+)/, (e, r, t) => qe(+r, +t, Math.min(r.length, t.length)).join(\"|\")), vr = i(/([a-z]+)\\.\\.([a-z]+)/, (e, r, t) => W(r, t).join(\"|\")), fr = i(/([A-Z]+)\\.\\.([A-Z]+)/, (e, r, t) => W(r.toLowerCase(), t.toLowerCase()).join(\"|\").toUpperCase()), hr = p([pr, vr, fr]), H = x([cr, hr, lr], (e) => c(e.join(\"\"))), gr = i(\"{\"), dr = i(\"}\"), xr = i(\",\"), mr = i(/\\\\./, c), Sr = i(/[$.*+?^(){[\\]\\|]/, (e) => c(`\\\\${e}`)), _r = i(/[\\\\\\/]/, g), yr = i(/[^$.*+?^(){}[\\]\\|\\\\\\/,]+/, c), wr = G(() => K), $r = i(\"\", () => c(\"(?:)\")), Er = Re(p([Z, D, Q, T, H, wr, mr, Sr, _r, yr]), m), J = p([Er, $r]), K = x([gr, L(x([J, $(x([xr, J]))])), dr], y), Cr = $(p([Qe, Z, D, Q, T, H, K, Ge, Ue, Ve, We]), m), Rr = Cr, kr = (e) => I(e, Rr, { memoization: false })[0], Br = kr, N = (e, r, t) => N.compile(e, t).test(r);\n N.compile = (() => {\n const e = Pe((t, a) => pe(Br(Fe(t)), a)), r = Be((t, a) => fe(t.map((n) => e(n, a))));\n return (t, a) => ke(t) ? e(t, a) : r(t, a);\n })();\n var X = N;\n return oe(z);\n })();\n return __lib__.default || __lib__;\n};\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst DRIVE_LETTER_START_RE = /^[A-Z]:\\//i;\nconst normalizeWindowsPath = (input = \"\") => {\n if (!input) {\n return input;\n }\n return input.replaceAll(\"\\\\\", \"/\").replace(DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n};\n\nconst UNC_REGEX = /^[/\\\\]{2}/;\nconst IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Z]:[/\\\\]/i;\nconst DRIVE_LETTER_RE = /^[A-Z]:$/i;\nconst ROOT_FOLDER_RE = /^\\/([A-Z]:)?$/i;\nconst EXTNAME_RE = /.(\\.[^./]+)$/;\nconst PATH_ROOT_RE = /^[/\\\\]|^[a-z]:[/\\\\]/i;\nconst cwd = () => {\n if (typeof process.cwd === \"function\") {\n return process.cwd().replaceAll(\"\\\\\", \"/\");\n }\n return \"/\";\n};\nconst sep = \"/\";\nconst delimiter = /^win/i.test(globalThis.process?.platform) ? \";\" : \":\";\nconst normalizeString = (path, allowAboveRoot) => {\n let result = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (result.length < 2 || lastSegmentLength !== 2 || !result.endsWith(\".\") || result.at(-2) !== \".\") {\n if (result.length > 2) {\n const lastSlashIndex = result.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n result = \"\";\n lastSegmentLength = 0;\n } else {\n result = result.slice(0, lastSlashIndex);\n lastSegmentLength = result.length - 1 - result.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (result.length > 0) {\n result = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n result += result.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (result.length > 0) {\n result += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n result = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return result;\n};\nconst isAbsolute = (path) => IS_ABSOLUTE_RE.test(path);\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = UNC_REGEX.exec(path);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path.at(-1) === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = (...segments) => {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n const match = EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match?.[1] ?? \"\";\n};\nconst relative = function(from, to) {\n const splitFrom = resolve(from).replace(ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const splitTo = resolve(to).replace(ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (splitTo[0][1] === \":\" && splitFrom[0][1] === \":\" && splitFrom[0] !== splitTo[0]) {\n return splitTo.join(\"/\");\n }\n const fromCopy = [...splitFrom];\n for (const segment of fromCopy) {\n if (splitTo[0] !== segment) {\n break;\n }\n splitFrom.shift();\n splitTo.shift();\n }\n return [...splitFrom.map(() => \"..\"), ...splitTo].join(\"/\");\n};\nconst dirname = (path) => {\n const segments = normalizeWindowsPath(path).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(path) ? \"/\" : \".\");\n};\nconst format = function(pathObject) {\n const segments = [pathObject.root, pathObject.dir, pathObject.base ?? pathObject.name + pathObject.ext].filter(Boolean);\n return normalizeWindowsPath(pathObject.root ? resolve(...segments) : segments.join(\"/\"));\n};\nconst basename = (path, extension) => {\n const lastSegment = normalizeWindowsPath(path).split(\"/\").pop();\n if (extension && lastSegment.endsWith(extension)) {\n return lastSegment.slice(0, -extension.length);\n }\n return lastSegment;\n};\nconst parse = function(p) {\n const root = PATH_ROOT_RE.exec(p)?.[0]?.replaceAll(\"\\\\\", \"/\") ?? \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n base,\n dir: dirname(p),\n ext: extension,\n name: base.slice(0, base.length - extension.length),\n root\n };\n};\nconst matchesGlob = (path, pattern) => (\n // https://github.com/nodejs/node/blob/main/lib/internal/fs/glob.js#L660\n zeptomatch(pattern, normalize(path))\n);\n\nconst path = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n basename,\n delimiter,\n dirname,\n extname,\n format,\n isAbsolute,\n join,\n matchesGlob,\n normalize,\n normalizeString,\n parse,\n relative,\n resolve,\n sep,\n toNamespacedPath\n}, Symbol.toStringTag, { value: 'Module' });\n\nexport { dirname as a, basename as b, normalizeString as c, delimiter as d, extname as e, format as f, parse as g, resolve as h, isAbsolute as i, join as j, normalizeWindowsPath as k, matchesGlob as m, normalize as n, path as p, relative as r, sep as s, toNamespacedPath as t };\n","import { createRequire as __cjs_createRequire } from \"node:module\";\n\nconst __cjs_require = __cjs_createRequire(import.meta.url);\n\nconst __cjs_getProcess = typeof globalThis !== \"undefined\" && typeof globalThis.process !== \"undefined\" ? globalThis.process : process;\n\nconst __cjs_getBuiltinModule = (module) => {\n // Check if we're in Node.js and version supports getBuiltinModule\n if (typeof __cjs_getProcess !== \"undefined\" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {\n const [major, minor] = __cjs_getProcess.versions.node.split(\".\").map(Number);\n // Node.js 20.16.0+ and 22.3.0+\n if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {\n return __cjs_getProcess.getBuiltinModule(module);\n }\n }\n // Fallback to createRequire\n return __cjs_require(module);\n};\n\nconst {\n fileURLToPath\n} = __cjs_getBuiltinModule(\"node:url\");\nimport { k as normalizeWindowsPath, j as join, e as extname } from './packem_shared/path-CR6YkPXX.js';\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar binaryExtensions$1;\nvar hasRequiredBinaryExtensions;\n\nfunction requireBinaryExtensions () {\n\tif (hasRequiredBinaryExtensions) return binaryExtensions$1;\n\thasRequiredBinaryExtensions = 1;\n\tbinaryExtensions$1 = [\n\t\t\"3dm\",\n\t\t\"3ds\",\n\t\t\"3g2\",\n\t\t\"3gp\",\n\t\t\"7z\",\n\t\t\"a\",\n\t\t\"aac\",\n\t\t\"adp\",\n\t\t\"afdesign\",\n\t\t\"afphoto\",\n\t\t\"afpub\",\n\t\t\"ai\",\n\t\t\"aif\",\n\t\t\"aiff\",\n\t\t\"alz\",\n\t\t\"ape\",\n\t\t\"apk\",\n\t\t\"appimage\",\n\t\t\"ar\",\n\t\t\"arj\",\n\t\t\"asf\",\n\t\t\"au\",\n\t\t\"avi\",\n\t\t\"bak\",\n\t\t\"baml\",\n\t\t\"bh\",\n\t\t\"bin\",\n\t\t\"bk\",\n\t\t\"bmp\",\n\t\t\"btif\",\n\t\t\"bz2\",\n\t\t\"bzip2\",\n\t\t\"cab\",\n\t\t\"caf\",\n\t\t\"cgm\",\n\t\t\"class\",\n\t\t\"cmx\",\n\t\t\"cpio\",\n\t\t\"cr2\",\n\t\t\"cr3\",\n\t\t\"cur\",\n\t\t\"dat\",\n\t\t\"dcm\",\n\t\t\"deb\",\n\t\t\"dex\",\n\t\t\"djvu\",\n\t\t\"dll\",\n\t\t\"dmg\",\n\t\t\"dng\",\n\t\t\"doc\",\n\t\t\"docm\",\n\t\t\"docx\",\n\t\t\"dot\",\n\t\t\"dotm\",\n\t\t\"dra\",\n\t\t\"DS_Store\",\n\t\t\"dsk\",\n\t\t\"dts\",\n\t\t\"dtshd\",\n\t\t\"dvb\",\n\t\t\"dwg\",\n\t\t\"dxf\",\n\t\t\"ecelp4800\",\n\t\t\"ecelp7470\",\n\t\t\"ecelp9600\",\n\t\t\"egg\",\n\t\t\"eol\",\n\t\t\"eot\",\n\t\t\"epub\",\n\t\t\"exe\",\n\t\t\"f4v\",\n\t\t\"fbs\",\n\t\t\"fh\",\n\t\t\"fla\",\n\t\t\"flac\",\n\t\t\"flatpak\",\n\t\t\"fli\",\n\t\t\"flv\",\n\t\t\"fpx\",\n\t\t\"fst\",\n\t\t\"fvt\",\n\t\t\"g3\",\n\t\t\"gh\",\n\t\t\"gif\",\n\t\t\"graffle\",\n\t\t\"gz\",\n\t\t\"gzip\",\n\t\t\"h261\",\n\t\t\"h263\",\n\t\t\"h264\",\n\t\t\"icns\",\n\t\t\"ico\",\n\t\t\"ief\",\n\t\t\"img\",\n\t\t\"ipa\",\n\t\t\"iso\",\n\t\t\"jar\",\n\t\t\"jpeg\",\n\t\t\"jpg\",\n\t\t\"jpgv\",\n\t\t\"jpm\",\n\t\t\"jxr\",\n\t\t\"key\",\n\t\t\"ktx\",\n\t\t\"lha\",\n\t\t\"lib\",\n\t\t\"lvp\",\n\t\t\"lz\",\n\t\t\"lzh\",\n\t\t\"lzma\",\n\t\t\"lzo\",\n\t\t\"m3u\",\n\t\t\"m4a\",\n\t\t\"m4v\",\n\t\t\"mar\",\n\t\t\"mdi\",\n\t\t\"mht\",\n\t\t\"mid\",\n\t\t\"midi\",\n\t\t\"mj2\",\n\t\t\"mka\",\n\t\t\"mkv\",\n\t\t\"mmr\",\n\t\t\"mng\",\n\t\t\"mobi\",\n\t\t\"mov\",\n\t\t\"movie\",\n\t\t\"mp3\",\n\t\t\"mp4\",\n\t\t\"mp4a\",\n\t\t\"mpeg\",\n\t\t\"mpg\",\n\t\t\"mpga\",\n\t\t\"mxu\",\n\t\t\"nef\",\n\t\t\"npx\",\n\t\t\"numbers\",\n\t\t\"nupkg\",\n\t\t\"o\",\n\t\t\"odp\",\n\t\t\"ods\",\n\t\t\"odt\",\n\t\t\"oga\",\n\t\t\"ogg\",\n\t\t\"ogv\",\n\t\t\"otf\",\n\t\t\"ott\",\n\t\t\"pages\",\n\t\t\"pbm\",\n\t\t\"pcx\",\n\t\t\"pdb\",\n\t\t\"pdf\",\n\t\t\"pea\",\n\t\t\"pgm\",\n\t\t\"pic\",\n\t\t\"png\",\n\t\t\"pnm\",\n\t\t\"pot\",\n\t\t\"potm\",\n\t\t\"potx\",\n\t\t\"ppa\",\n\t\t\"ppam\",\n\t\t\"ppm\",\n\t\t\"pps\",\n\t\t\"ppsm\",\n\t\t\"ppsx\",\n\t\t\"ppt\",\n\t\t\"pptm\",\n\t\t\"pptx\",\n\t\t\"psd\",\n\t\t\"pya\",\n\t\t\"pyc\",\n\t\t\"pyo\",\n\t\t\"pyv\",\n\t\t\"qt\",\n\t\t\"rar\",\n\t\t\"ras\",\n\t\t\"raw\",\n\t\t\"resources\",\n\t\t\"rgb\",\n\t\t\"rip\",\n\t\t\"rlc\",\n\t\t\"rmf\",\n\t\t\"rmvb\",\n\t\t\"rpm\",\n\t\t\"rtf\",\n\t\t\"rz\",\n\t\t\"s3m\",\n\t\t\"s7z\",\n\t\t\"scpt\",\n\t\t\"sgi\",\n\t\t\"shar\",\n\t\t\"snap\",\n\t\t\"sil\",\n\t\t\"sketch\",\n\t\t\"slk\",\n\t\t\"smv\",\n\t\t\"snk\",\n\t\t\"so\",\n\t\t\"stl\",\n\t\t\"suo\",\n\t\t\"sub\",\n\t\t\"swf\",\n\t\t\"tar\",\n\t\t\"tbz\",\n\t\t\"tbz2\",\n\t\t\"tga\",\n\t\t\"tgz\",\n\t\t\"thmx\",\n\t\t\"tif\",\n\t\t\"tiff\",\n\t\t\"tlz\",\n\t\t\"ttc\",\n\t\t\"ttf\",\n\t\t\"txz\",\n\t\t\"udf\",\n\t\t\"uvh\",\n\t\t\"uvi\",\n\t\t\"uvm\",\n\t\t\"uvp\",\n\t\t\"uvs\",\n\t\t\"uvu\",\n\t\t\"viv\",\n\t\t\"vob\",\n\t\t\"war\",\n\t\t\"wav\",\n\t\t\"wax\",\n\t\t\"wbmp\",\n\t\t\"wdp\",\n\t\t\"weba\",\n\t\t\"webm\",\n\t\t\"webp\",\n\t\t\"whl\",\n\t\t\"wim\",\n\t\t\"wm\",\n\t\t\"wma\",\n\t\t\"wmv\",\n\t\t\"wmx\",\n\t\t\"woff\",\n\t\t\"woff2\",\n\t\t\"wrm\",\n\t\t\"wvx\",\n\t\t\"xbm\",\n\t\t\"xif\",\n\t\t\"xla\",\n\t\t\"xlam\",\n\t\t\"xls\",\n\t\t\"xlsb\",\n\t\t\"xlsm\",\n\t\t\"xlsx\",\n\t\t\"xlt\",\n\t\t\"xltm\",\n\t\t\"xltx\",\n\t\t\"xm\",\n\t\t\"xmind\",\n\t\t\"xpi\",\n\t\t\"xpm\",\n\t\t\"xwd\",\n\t\t\"xz\",\n\t\t\"z\",\n\t\t\"zip\",\n\t\t\"zipx\"\n\t];\n\treturn binaryExtensions$1;\n}\n\nvar binaryExtensionsExports = /*@__PURE__*/ requireBinaryExtensions();\nconst binaryExtensions = /*@__PURE__*/getDefaultExportFromCjs(binaryExtensionsExports);\n\nconst extensions = new Set(binaryExtensions);\nconst pathSeparators = /* @__PURE__ */ new Set([\"/\", \"\\\\\", void 0]);\nconst normalizedAliasSymbol = Symbol.for(\"pathe:normalizedAlias\");\nconst FILENAME_RE = /(^|[/\\\\])([^/\\\\]+?)(?=(?:\\.[^.]+)?$)/;\nconst compareAliases = (a, b) => b.split(\"/\").length - a.split(\"/\").length;\nconst hasTrailingSlash = (path = \"/\") => {\n const lastChar = path.at(-1);\n return lastChar === \"/\" || lastChar === \"\\\\\";\n};\nconst normalizeAliases = (_aliases) => {\n if (_aliases[normalizedAliasSymbol]) {\n return _aliases;\n }\n const aliases = Object.fromEntries(Object.entries(_aliases).toSorted(([a], [b]) => compareAliases(a, b)));\n for (const key in aliases) {\n for (const alias in aliases) {\n if (alias === key || key.startsWith(alias)) {\n continue;\n }\n if (aliases[key].startsWith(alias) && pathSeparators.has(aliases[key][alias.length])) {\n aliases[key] = aliases[alias] + aliases[key].slice(alias.length);\n }\n }\n }\n Object.defineProperty(aliases, normalizedAliasSymbol, {\n enumerable: false,\n value: true\n });\n return aliases;\n};\nconst resolveAlias = (path, aliases) => {\n path = normalizeWindowsPath(path);\n aliases = normalizeAliases(aliases);\n for (const [alias, to] of Object.entries(aliases)) {\n if (!path.startsWith(alias)) {\n continue;\n }\n const stripedAlias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias;\n if (hasTrailingSlash(path[stripedAlias.length])) {\n return join(to, path.slice(alias.length));\n }\n }\n return path;\n};\nconst filename = (path) => FILENAME_RE.exec(path)?.[2];\nconst reverseResolveAlias = (path, aliases) => {\n path = normalizeWindowsPath(path);\n aliases = normalizeAliases(aliases);\n for (const [to, alias] of Object.entries(aliases).toReversed()) {\n if (!path.startsWith(alias)) {\n continue;\n }\n const stripedAlias = hasTrailingSlash(alias) ? alias.slice(0, -1) : alias;\n if (hasTrailingSlash(path[stripedAlias.length])) {\n return join(to, path.slice(alias.length));\n }\n }\n return path;\n};\nconst isRelative = (path) => /^(?:\\.?\\.[/\\\\]|\\.\\.\\B)/.test(path) || path === \"..\";\nconst isBinaryPath = (path) => extensions.has(extname(path).slice(1).toLowerCase());\nconst toPath = (urlOrPath) => normalizeWindowsPath(urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath);\nconst isWindows = () => {\n if (!globalThis?.process) {\n return false;\n }\n if (globalThis?.process?.platform === \"win32\" || globalThis?.process?.platform === \"cygwin\") {\n return true;\n }\n const osType = globalThis?.process?.env.OSTYPE;\n if (typeof osType !== \"string\") {\n return false;\n }\n return /^(?:msys|cygwin)$/.test(osType);\n};\n\nexport { filename, isBinaryPath, isRelative, isWindows, normalizeAliases, resolveAlias, reverseResolveAlias, toPath };\n","class WalkError extends Error {\n /** File path of the root that's being walked. */\n root;\n /**\n * Constructs a new instance.\n * @param cause The underlying error or reason for the walk failure.\n * @param root The root directory path where the walk operation started or encountered the error.\n */\n constructor(cause, root) {\n super(`${cause instanceof Error ? cause.message : cause} for path \"${root}\"`);\n this.cause = cause;\n this.root = root;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return \"WalkError\";\n }\n // eslint-disable-next-line class-methods-use-this,@typescript-eslint/explicit-module-boundary-types\n set name(_name) {\n throw new Error(\"Cannot overwrite name of WalkError\");\n }\n}\n\nexport { WalkError as default };\n","const assertValidFileOrDirectoryPath = (fileOrDirectoryPath) => {\n if (!fileOrDirectoryPath || !(fileOrDirectoryPath instanceof URL) && typeof fileOrDirectoryPath !== \"string\") {\n throw new TypeError(\"Path must be a non-empty string or URL.\");\n }\n};\n\nexport { assertValidFileOrDirectoryPath as default };\n","const globToRegExp = (glob) => {\n const reString = glob.replace(/\\.\\*/g, \".([^/]*)\").replace(/\\*\\*/g, \"(.*)\").replace(/(?<!\\.)\\*(?!\\*)/g, \"([^/]*)\").replace(/\\?/g, \"[^/]\").replace(/\\.(?!\\*)/g, String.raw`\\.`).replace(/\\{/g, \"(\").replace(/\\}/g, \")\").replace(/,/g, \"|\").replace(/\\[!(.*?)\\]/g, \"[^$1]\");\n return new RegExp(`^${reString}$`);\n};\n\nconst walkInclude = (path, extensions, match, skip) => {\n if (Array.isArray(extensions) && extensions.length > 0 && !extensions.some((extension) => path.endsWith(extension))) {\n return false;\n }\n if (match && !match.some((pattern) => pattern.test(path))) {\n return false;\n }\n return !skip?.some((pattern) => pattern.test(path));\n};\n\nexport { globToRegExp as g, walkInclude as w };\n","import { createRequire as __cjs_createRequire } from \"node:module\";\n\nconst __cjs_require = __cjs_createRequire(import.meta.url);\n\nconst __cjs_getProcess = typeof globalThis !== \"undefined\" && typeof globalThis.process !== \"undefined\" ? globalThis.process : process;\n\nconst __cjs_getBuiltinModule = (module) => {\n // Check if we're in Node.js and version supports getBuiltinModule\n if (typeof __cjs_getProcess !== \"undefined\" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) {\n const [major, minor] = __cjs_getProcess.versions.node.split(\".\").map(Number);\n // Node.js 20.16.0+ and 22.3.0+\n if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {\n return __cjs_getProcess.getBuiltinModule(module);\n }\n }\n // Fallback to createRequire\n return __cjs_require(module);\n};\n\nconst {\n readdir,\n realpath,\n stat\n} = __cjs_getBuiltinModule(\"node:fs/promises\");\nimport { resolve, join, normalize, basename } from '@visulima/path';\nimport { toPath } from '@visulima/path/utils';\nimport WalkError from './WalkError-DUdQd6FT.js';\nimport assertValidFileOrDirectoryPath from './assertValidFileOrDirectoryPath-8HANmVjk.js';\nimport { g as globToRegExp, w as walkInclude } from './walk-include-CZco7BvN.js';\n\nconst _createWalkEntry = async (path) => {\n const normalizePath = normalize(path);\n const name = basename(normalizePath);\n const info = await stat(normalizePath);\n return {\n isDirectory: () => info.isDirectory(),\n isFile: () => info.isFile(),\n isSymbolicLink: () => info.isSymbolicLink(),\n name,\n path: normalizePath\n };\n};\nasync function* walk(directory, {\n extensions,\n followSymlinks = false,\n includeDirs: includeDirectories = true,\n includeFiles = true,\n includeSymlinks = true,\n match,\n maxDepth = Number.POSITIVE_INFINITY,\n skip\n} = {}) {\n assertValidFileOrDirectoryPath(directory);\n if (maxDepth < 0) {\n return;\n }\n const mappedMatch = match ? match.map((pattern) => typeof pattern === \"string\" ? globToRegExp(pattern) : pattern) : void 0;\n const mappedSkip = skip ? skip.map((pattern) => typeof pattern === \"string\" ? globToRegExp(pattern) : pattern) : void 0;\n directory = resolve(toPath(directory));\n if (includeDirectories && walkInclude(directory, extensions, mappedMatch, mappedSkip)) {\n yield await _createWalkEntry(directory);\n }\n if (maxDepth < 1 || !walkInclude(directory, void 0, void 0, mappedSkip)) {\n return;\n }\n try {\n for await (const entry of await readdir(directory, {\n withFileTypes: true\n })) {\n let path = join(directory, entry.name);\n if (entry.isSymbolicLink()) {\n if (followSymlinks) {\n path = await realpath(path);\n } else if (includeSymlinks && walkInclude(path, extensions, mappedMatch, mappedSkip)) {\n yield {\n isDirectory: entry.isDirectory,\n isFile: entry.isFile,\n isSymbolicLink: entry.isSymbolicLink,\n name: entry.name,\n path\n };\n } else {\n continue;\n }\n }\n if (entry.isSymbolicLink() || entry.isDirectory()) {\n yield* walk(path, {\n extensions,\n followSymlinks,\n includeDirs: includeDirectories,\n includeFiles,\n includeSymlinks,\n match: mappedMatch,\n maxDepth: maxDepth - 1,\n skip: mappedSkip\n });\n } else if (entry.isFile() && includeFiles && walkInclude(path, extensions, mappedMatch, mappedSkip)) {\n yield {\n isDirectory: () => entry.isDirectory(),\n isFile: () => entry.isFile(),\n isSymbolicLink: () => entry.isSymbolicLink(),\n name: entry.name,\n path\n };\n }\n }\n } catch (error) {\n if (error instanceof WalkError) {\n throw error;\n }\n throw new WalkError(error, directory);\n }\n}\n\nexport { walk as default };\n","import walk from './walk-BhTbpr3y.js';\n\nconst collect = async (directory, options = {}) => {\n if (!Array.isArray(options.extensions)) {\n options.extensions = [\"js\", \"mjs\", \"cjs\", \"ts\"];\n }\n const entries = [];\n for await (const entry of walk(directory, options)) {\n entries.push(entry.path);\n }\n return entries;\n};\n\nexport { collect as default };\n","// eslint-disable-next-line import/prefer-default-export\nexport const DEFAULT_EXCLUDE = [\n \"coverage/**\",\n \".github/**\",\n \"**/*.d.ts\",\n \"**/test{,s}/**\",\n \"**/test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}\",\n \"**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}\",\n \"**/__tests__/**\",\n \"**/{ava,babel,nyc}.config.{js,cjs,mjs}\",\n \"**/jest.config.{js,cjs,mjs,ts}\",\n \"**/{karma,rollup,webpack}.config.js\",\n \"**/.{eslint,mocha}rc.{js,cjs}\",\n \"**/.{travis,yarnrc}.yml\",\n \"**/{docker-compose,docker}.yml\",\n \"**/.yamllint.{yaml,yml}\",\n \"**/node_modules/**\",\n \"**/{pnpm-workspace,pnpm-lock}.yaml\",\n \"**/{package,package-lock}.json\",\n \"**/yarn.lock\",\n \"**/package.json5\",\n \"**/.next/**\",\n];\n","import SwaggerParser from \"@apidevtools/swagger-parser\";\nimport type OpenAPI from \"openapi-types\";\n\nconst validate = async (spec: Record<string, unknown>): Promise<void> => {\n await SwaggerParser.validate(spec as OpenAPI.OpenAPI.Document);\n};\n\nexport default validate;\n"]}