@fern-api/fern-api-dev 3.35.0 → 3.35.1-1-gaf5a5a0d49

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.
Files changed (2) hide show
  1. package/cli.cjs +110 -58
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1401583,7 +1401583,8 @@ function parseDeprecatedApiDefinitionSettingsSchema(settings) {
1401583
1401583
  onlyIncludeReferencedSchemas: settings?.["only-include-referenced-schemas"],
1401584
1401584
  inlinePathParameters: settings?.["inline-path-parameters"],
1401585
1401585
  shouldUseIdiomaticRequestNames: settings?.["idiomatic-request-names"],
1401586
- removeDiscriminantsFromSchemas: parseRemoveDiscriminantsFromSchemas(settings?.["remove-discriminants-from-schemas"])
1401586
+ removeDiscriminantsFromSchemas: parseRemoveDiscriminantsFromSchemas(settings?.["remove-discriminants-from-schemas"]),
1401587
+ pathParameterOrder: settings?.["path-parameter-order"]
1401587
1401588
  };
1401588
1401589
  }
1401589
1401590
  function parseOpenApiDefinitionSettingsSchema(settings) {
@@ -1401606,7 +1401607,8 @@ function parseOpenApiDefinitionSettingsSchema(settings) {
1401606
1401607
  resolveAliases: settings?.["resolve-aliases"],
1401607
1401608
  groupMultiApiEnvironments: settings?.["group-multi-api-environments"],
1401608
1401609
  groupEnvironmentsByHost: settings?.["group-environments-by-host"],
1401609
- defaultIntegerFormat: settings?.["default-integer-format"]
1401610
+ defaultIntegerFormat: settings?.["default-integer-format"],
1401611
+ pathParameterOrder: settings?.["path-parameter-order"]
1401610
1401612
  };
1401611
1401613
  }
1401612
1401614
  function parseAsyncApiDefinitionSettingsSchema(settings) {
@@ -1413765,7 +1413767,7 @@ var AccessTokenPosthogManager = class {
1413765
1413767
  properties: {
1413766
1413768
  ...event,
1413767
1413769
  ...event.properties,
1413768
- version: "3.35.0",
1413770
+ version: "3.35.1-1-gaf5a5a0d49",
1413769
1413771
  usingAccessToken: true
1413770
1413772
  }
1413771
1413773
  });
@@ -1413864,7 +1413866,7 @@ var UserPosthogManager = class {
1413864
1413866
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
1413865
1413867
  event: "CLI",
1413866
1413868
  properties: {
1413867
- version: "3.35.0",
1413869
+ version: "3.35.1-1-gaf5a5a0d49",
1413868
1413870
  ...event,
1413869
1413871
  ...event.properties,
1413870
1413872
  usingAccessToken: false,
@@ -1493968,7 +1493970,7 @@ var CliContext = class {
1493968
1493970
  if (false) {
1493969
1493971
  this.logger.error("CLI_VERSION is not defined");
1493970
1493972
  }
1493971
- return "3.35.0";
1493973
+ return "3.35.1-1-gaf5a5a0d49";
1493972
1493974
  }
1493973
1493975
  getCliName() {
1493974
1493976
  if (false) {
@@ -1511055,6 +1511057,7 @@ var BaseOpenAPIWorkspace = class extends AbstractAPIWorkspace {
1511055
1511057
  groupEnvironmentsByHost;
1511056
1511058
  removeDiscriminantsFromSchemas;
1511057
1511059
  defaultIntegerFormat;
1511060
+ pathParameterOrder;
1511058
1511061
  converter;
1511059
1511062
  constructor(args) {
1511060
1511063
  super(args);
@@ -1511074,6 +1511077,7 @@ var BaseOpenAPIWorkspace = class extends AbstractAPIWorkspace {
1511074
1511077
  this.groupEnvironmentsByHost = args.groupEnvironmentsByHost;
1511075
1511078
  this.removeDiscriminantsFromSchemas = args.removeDiscriminantsFromSchemas;
1511076
1511079
  this.defaultIntegerFormat = args.defaultIntegerFormat;
1511080
+ this.pathParameterOrder = args.pathParameterOrder;
1511077
1511081
  this.converter = new FernDefinitionConverter(args);
1511078
1511082
  }
1511079
1511083
  async getDefinition({ context: context2, absoluteFilePath, relativePathToDependency }, settings) {
@@ -1511616,7 +1511620,8 @@ var DEFAULT_PARSE_OPENAPI_SETTINGS = {
1511616
1511620
  wrapReferencesToNullableInOptional: false,
1511617
1511621
  coerceOptionalSchemasToNullable: false,
1511618
1511622
  removeDiscriminantsFromSchemas: generators_yml_exports.RemoveDiscriminantsFromSchemas.Always,
1511619
- defaultIntegerFormat: generators_yml_exports.DefaultIntegerFormat.Int32
1511623
+ defaultIntegerFormat: generators_yml_exports.DefaultIntegerFormat.Int32,
1511624
+ pathParameterOrder: generators_yml_exports.PathParameterOrder.UrlOrder
1511620
1511625
  };
1511621
1511626
  function mergeOptions2(params2) {
1511622
1511627
  const { defaults: defaults3, options: options2, overrides, overrideOnly = /* @__PURE__ */ new Set(), undefinedIfAbsent = /* @__PURE__ */ new Set() } = params2;
@@ -1519638,50 +1519643,94 @@ function convertHttpOperation({ operationContext, context: context2, responseSta
1519638
1519643
  });
1519639
1519644
  const PATH_PARAM_REGEX2 = /{([^}]+)}/g;
1519640
1519645
  const paramNamesInUrlOrder = [...path68.matchAll(PATH_PARAM_REGEX2)].map((match3) => match3[1]).filter((paramName) => paramName !== void 0);
1519641
- if (paramNamesInUrlOrder.length > 0) {
1519642
- const urlParams = new Map(convertedParameters.pathParameters.map((param) => [param.name, param]));
1519643
- const reorderedPathParameters = [];
1519644
- const usedParams = /* @__PURE__ */ new Set();
1519645
- for (const paramName of paramNamesInUrlOrder) {
1519646
- const urlParam = urlParams.get(paramName);
1519647
- usedParams.add(paramName);
1519648
- if (urlParam) {
1519649
- reorderedPathParameters.push(urlParam);
1519650
- } else {
1519651
- reorderedPathParameters.push({
1519652
- name: paramName,
1519653
- variableReference: void 0,
1519654
- parameterNameOverride: void 0,
1519655
- availability: void 0,
1519656
- source: source2,
1519657
- schema: SchemaWithExample.primitive({
1519658
- schema: PrimitiveSchemaValueWithExample.string({
1519659
- default: void 0,
1519660
- example: void 0,
1519661
- format: void 0,
1519662
- maxLength: void 0,
1519663
- minLength: void 0,
1519664
- pattern: void 0
1519665
- }),
1519666
- description: void 0,
1519667
- generatedName: "",
1519668
- nameOverride: void 0,
1519669
- namespace: void 0,
1519670
- groupName: void 0,
1519671
- availability: void 0,
1519672
- title: void 0
1519673
- }),
1519674
- description: void 0,
1519675
- explode: void 0
1519676
- });
1519646
+ const pathParams = [...path68.matchAll(PATH_PARAM_REGEX2)].map((match3) => match3[1]);
1519647
+ switch (context2.options.pathParameterOrder) {
1519648
+ case generators_yml_exports.PathParameterOrder.SpecOrder:
1519649
+ {
1519650
+ const missingPathParams = pathParams.filter((param) => !convertedParameters.pathParameters.some((p9) => p9.name === param));
1519651
+ if (missingPathParams.length > 0) {
1519652
+ for (const param of missingPathParams) {
1519653
+ convertedParameters.pathParameters.push({
1519654
+ name: param ?? "",
1519655
+ variableReference: void 0,
1519656
+ parameterNameOverride: void 0,
1519657
+ availability: void 0,
1519658
+ source: source2,
1519659
+ schema: SchemaWithExample.primitive({
1519660
+ schema: PrimitiveSchemaValueWithExample.string({
1519661
+ default: void 0,
1519662
+ example: void 0,
1519663
+ format: void 0,
1519664
+ maxLength: void 0,
1519665
+ minLength: void 0,
1519666
+ pattern: void 0
1519667
+ }),
1519668
+ description: void 0,
1519669
+ generatedName: "",
1519670
+ nameOverride: void 0,
1519671
+ namespace: void 0,
1519672
+ groupName: void 0,
1519673
+ availability: void 0,
1519674
+ title: void 0
1519675
+ }),
1519676
+ description: void 0,
1519677
+ explode: void 0
1519678
+ });
1519679
+ }
1519680
+ }
1519677
1519681
  }
1519678
- }
1519679
- for (const param of convertedParameters.pathParameters) {
1519680
- if (!usedParams.has(param.name)) {
1519681
- reorderedPathParameters.push(param);
1519682
+ break;
1519683
+ case generators_yml_exports.PathParameterOrder.UrlOrder:
1519684
+ {
1519685
+ if (paramNamesInUrlOrder.length > 0) {
1519686
+ const urlParams = new Map(convertedParameters.pathParameters.map((param) => [param.name, param]));
1519687
+ const reorderedPathParameters = [];
1519688
+ const usedParams = /* @__PURE__ */ new Set();
1519689
+ for (const paramName of paramNamesInUrlOrder) {
1519690
+ const urlParam = urlParams.get(paramName);
1519691
+ usedParams.add(paramName);
1519692
+ if (urlParam) {
1519693
+ reorderedPathParameters.push(urlParam);
1519694
+ } else {
1519695
+ reorderedPathParameters.push({
1519696
+ name: paramName,
1519697
+ variableReference: void 0,
1519698
+ parameterNameOverride: void 0,
1519699
+ availability: void 0,
1519700
+ source: source2,
1519701
+ schema: SchemaWithExample.primitive({
1519702
+ schema: PrimitiveSchemaValueWithExample.string({
1519703
+ default: void 0,
1519704
+ example: void 0,
1519705
+ format: void 0,
1519706
+ maxLength: void 0,
1519707
+ minLength: void 0,
1519708
+ pattern: void 0
1519709
+ }),
1519710
+ description: void 0,
1519711
+ generatedName: "",
1519712
+ nameOverride: void 0,
1519713
+ namespace: void 0,
1519714
+ groupName: void 0,
1519715
+ availability: void 0,
1519716
+ title: void 0
1519717
+ }),
1519718
+ description: void 0,
1519719
+ explode: void 0
1519720
+ });
1519721
+ }
1519722
+ }
1519723
+ for (const param of convertedParameters.pathParameters) {
1519724
+ if (!usedParams.has(param.name)) {
1519725
+ reorderedPathParameters.push(param);
1519726
+ }
1519727
+ }
1519728
+ convertedParameters.pathParameters = reorderedPathParameters;
1519729
+ }
1519682
1519730
  }
1519683
- }
1519684
- convertedParameters.pathParameters = reorderedPathParameters;
1519731
+ break;
1519732
+ default:
1519733
+ assertNever(context2.options.pathParameterOrder);
1519685
1519734
  }
1519686
1519735
  let convertedRequests = (() => {
1519687
1519736
  if (operationContext.method === "GET") {
@@ -1521659,7 +1521708,8 @@ var FIELD_MAPPINGS = {
1521659
1521708
  wrapReferencesToNullableInOptional: "wrapReferencesToNullableInOptional",
1521660
1521709
  coerceOptionalSchemasToNullable: "coerceOptionalSchemasToNullable",
1521661
1521710
  removeDiscriminantsFromSchemas: "removeDiscriminantsFromSchemas",
1521662
- defaultIntegerFormat: "defaultIntegerFormat"
1521711
+ defaultIntegerFormat: "defaultIntegerFormat",
1521712
+ pathParameterOrder: "pathParameterOrder"
1521663
1521713
  };
1521664
1521714
  function setIfDefined(target, key, value) {
1521665
1521715
  if (value !== void 0) {
@@ -1539387,7 +1539437,8 @@ var OSSWorkspace = class _OSSWorkspace extends BaseOpenAPIWorkspace {
1539387
1539437
  })(),
1539388
1539438
  exampleGeneration: specs[0]?.settings?.exampleGeneration,
1539389
1539439
  groupEnvironmentsByHost: specs.some((spec) => spec.settings?.groupEnvironmentsByHost),
1539390
- defaultIntegerFormat: specs[0]?.settings?.defaultIntegerFormat
1539440
+ defaultIntegerFormat: specs[0]?.settings?.defaultIntegerFormat,
1539441
+ pathParameterOrder: specs[0]?.settings?.pathParameterOrder
1539391
1539442
  });
1539392
1539443
  this.specs = specs;
1539393
1539444
  this.allSpecs = allSpecs;
@@ -1539411,7 +1539462,8 @@ var OSSWorkspace = class _OSSWorkspace extends BaseOpenAPIWorkspace {
1539411
1539462
  removeDiscriminantsFromSchemas: this.removeDiscriminantsFromSchemas,
1539412
1539463
  groupMultiApiEnvironments: this.groupMultiApiEnvironments,
1539413
1539464
  groupEnvironmentsByHost: this.groupEnvironmentsByHost,
1539414
- defaultIntegerFormat: this.defaultIntegerFormat
1539465
+ defaultIntegerFormat: this.defaultIntegerFormat,
1539466
+ pathParameterOrder: this.pathParameterOrder
1539415
1539467
  };
1539416
1539468
  }
1539417
1539469
  async getOpenAPIIr({ context: context2, relativePathToDependency }, settings) {
@@ -1563912,12 +1563964,12 @@ async function replaceReferencedCode({
1563912
1563964
  title5 = filepath.split("/").pop();
1563913
1563965
  }
1563914
1563966
  const allProps = /* @__PURE__ */ new Map();
1563915
- const propsRegex = /(\w+)=(?:{([^}]+)}|"([^"]+)")/g;
1563967
+ const propsRegex = /(\w+)=(?:{([^}]+)}|"([^"]+)"|(\d+)(?=\s|\/|>|$))/g;
1563916
1563968
  const beforeSrcProps = matchString?.split("src=")[0]?.trim() ?? "";
1563917
1563969
  let propMatch;
1563918
1563970
  while ((propMatch = propsRegex.exec(beforeSrcProps)) !== null) {
1563919
1563971
  const propName = propMatch[1];
1563920
- const propValue = propMatch[2] || propMatch[3];
1563972
+ const propValue = propMatch[2] || propMatch[3] || propMatch[4];
1563921
1563973
  const fromCurlyBraces = propMatch[2] !== void 0;
1563922
1563974
  if (propName && propValue) {
1563923
1563975
  allProps.set(propName, { value: propValue, fromCurlyBraces });
@@ -1563927,7 +1563979,7 @@ async function replaceReferencedCode({
1563927
1563979
  propsRegex.lastIndex = 0;
1563928
1563980
  while ((propMatch = propsRegex.exec(afterSrcProps)) !== null) {
1563929
1563981
  const propName = propMatch[1];
1563930
- const propValue = propMatch[2] || propMatch[3];
1563982
+ const propValue = propMatch[2] || propMatch[3] || propMatch[4];
1563931
1563983
  const fromCurlyBraces = propMatch[2] !== void 0;
1563932
1563984
  if (propName && propValue) {
1563933
1563985
  allProps.set(propName, { value: propValue, fromCurlyBraces });
@@ -1588866,7 +1588918,7 @@ var import_path35 = __toESM(require("path"), 1);
1588866
1588918
  var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
1588867
1588919
  var LOGS_FOLDER_NAME = "logs";
1588868
1588920
  function getCliSource() {
1588869
- const version6 = "3.35.0";
1588921
+ const version6 = "3.35.1-1-gaf5a5a0d49";
1588870
1588922
  return `cli@${version6}`;
1588871
1588923
  }
1588872
1588924
  var DebugLogger = class {
@@ -1590299,12 +1590351,12 @@ async function replaceReferencedCode2({
1590299
1590351
  title5 = filepath.split("/").pop();
1590300
1590352
  }
1590301
1590353
  const allProps = /* @__PURE__ */ new Map();
1590302
- const propsRegex = /(\w+)=(?:{([^}]+)}|"([^"]+)")/g;
1590354
+ const propsRegex = /(\w+)=(?:{([^}]+)}|"([^"]+)"|(\d+)(?=\s|\/|>|$))/g;
1590303
1590355
  const beforeSrcProps = matchString?.split("src=")[0]?.trim() ?? "";
1590304
1590356
  let propMatch;
1590305
1590357
  while ((propMatch = propsRegex.exec(beforeSrcProps)) !== null) {
1590306
1590358
  const propName = propMatch[1];
1590307
- const propValue = propMatch[2] || propMatch[3];
1590359
+ const propValue = propMatch[2] || propMatch[3] || propMatch[4];
1590308
1590360
  const fromCurlyBraces = propMatch[2] !== void 0;
1590309
1590361
  if (propName && propValue) {
1590310
1590362
  allProps.set(propName, { value: propValue, fromCurlyBraces });
@@ -1590314,7 +1590366,7 @@ async function replaceReferencedCode2({
1590314
1590366
  propsRegex.lastIndex = 0;
1590315
1590367
  while ((propMatch = propsRegex.exec(afterSrcProps)) !== null) {
1590316
1590368
  const propName = propMatch[1];
1590317
- const propValue = propMatch[2] || propMatch[3];
1590369
+ const propValue = propMatch[2] || propMatch[3] || propMatch[4];
1590318
1590370
  const fromCurlyBraces = propMatch[2] !== void 0;
1590319
1590371
  if (propName && propValue) {
1590320
1590372
  allProps.set(propName, { value: propValue, fromCurlyBraces });
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.35.0",
2
+ "version": "3.35.1-1-gaf5a5a0d49",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",