nestia icon indicating copy to clipboard operation
nestia copied to clipboard

"exclude" option not considered while using app.setGlobalPrefix(..) in nestia.config.ts

Open sourav-bhar opened this issue 5 months ago • 2 comments

Summary

When calling the app.setGlobalPrefix(...) function in nestia.config.ts, it appears that the paths mentioned in the "exclude" option are also getting the global prefix (see example below). The correct behavior is that such paths should be excluded from the global prefix. When the SDK generates the fetch function for such routes, it should not apply the global prefix to their paths.

  • SDK Version: "@nestia/sdk": "^2.4.5",

  • Expected behavior: The sdk should not apply the global prefix to the paths included in the "exclude" option.

  • Actual behavior: The paths included in the "exclude" option should be ignored while setting the global prefix, but they are not being excluded in the generated sdk route.

Code where the bug is occuring:

import { INestiaConfig } from '@nestia/sdk';
import { VERSION_NEUTRAL, VersioningType } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { initializeApp } from 'firebase-admin/app';
import { AppModule } from './src/app/app.module';

const NESTIA_CONFIG: INestiaConfig = {
  input: async () => {
    initializeApp();

    const app = await NestFactory.create(AppModule, {
      bodyParser: false,
    });

    app.setGlobalPrefix('api', { exclude: ['/_ah/warmup'] });  // 👈 here 

    app.enableVersioning({
      type: VersioningType.URI,
      prefix: 'v',
      defaultVersion: VERSION_NEUTRAL,
    });

    return app;
  },
  output: 'libs/shared/client/api/src',
  clone: true,
  primitive: true,
};
export default NESTIA_CONFIG;

sourav-bhar avatar Jan 15 '24 09:01 sourav-bhar

Can you provide a reproducible repo?

samchon avatar Jan 15 '24 11:01 samchon

OK, I will provide one tomorrow.

sourav-bhar avatar Jan 15 '24 11:01 sourav-bhar