@backstage/types has no exported member PluginEnvironment

94 Views Asked by At

Team, any hint how to resolve this error? doing steps from this link

I am trying to build sonarqube integration with backstage and i get this error.

import {
    createRouter,
    DefaultSonarqubeInfoProvider,
  } from '@backstage/plugin-sonarqube-backend';
  import { Router } from 'express';
//   import { PluginEnvironment } from '../types';

import { PluginEnvironment } from '@backstage/types';
  export default async function createPlugin(
    env: PluginEnvironment,
  ): Promise<Router> {
    return await createRouter({
      logger: env.logger,
      sonarqubeInfoProvider: DefaultSonarqubeInfoProvider.fromConfig(env.config),
    });
  }
cannot import PluginEnvironment from @backstage/types

error on dev sudo yarn install && sudo yarn dev --verbose

[1] /******/            throw e;
[1]                     ^
[1] 
[1] Error: Cannot find module './plugins/sonarqube'
[1]     at webpackMissingModule (webpack-internal:///./src/index.ts:17:50)
[1]     at eval (webpack-internal:///./src/index.ts:17:144)
[1]     at ./src/index.ts (/Users/teamy/code/nvidia/gitlab-master/backstage/packages/backend/dist/main.js:19:1)
[1]     at __webpack_require__ (/Users/teamy/code/nvidia/gitlab-master/backstage/packages/backend/dist/main.js:386:33)
[1]     at /Users/teamy/code/nvidia/gitlab-master/backstage/packages/backend/dist/main.js:1395:37
[1]     at Object.<anonymous> (/Users/teamy/code/nvidia/gitlab-master/backstage/packages/backend/dist/main.js:1397:12)
[1]     at Module._compile (node:internal/modules/cjs/loader:1256:14)
[1]     at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
[1]     at Module.load (node:internal/modules/cjs/loader:1119:32)
[1]     at Module._load (node:internal/modules/cjs/loader:960:12) {
[1]   code: 'MODULE_NOT_FOUND'
[1] }
[1] 
[1] Node.js v18.18.0
[0] webpack compiled successfully

and my local types.ts does show that

cat packages/backend/src/types.ts 
import { Logger } from 'winston';
import { Config } from '@backstage/config';
import {
  PluginCacheManager,
  PluginDatabaseManager,
  PluginEndpointDiscovery,
  TokenManager,
  UrlReader,
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { IdentityApi } from '@backstage/plugin-auth-node';

export type PluginEnvironment = {
  logger: Logger;
  database: PluginDatabaseManager;
  cache: PluginCacheManager;
  config: Config;
  reader: UrlReader;
  discovery: PluginEndpointDiscovery;
  tokenManager: TokenManager;
  scheduler: PluginTaskScheduler;
  permissions: PermissionEvaluator;
  identity: IdentityApi;
};
0

There are 0 best solutions below