diff --git a/packages/app/src/index.tsx b/packages/app/src/index.tsx
index 2ea8d3f1dd..a38159a258 100644
--- a/packages/app/src/index.tsx
+++ b/packages/app/src/index.tsx
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+// eslint-disable-next-line monorepo/no-internal-import
+import '@backstage/cli/asset-types';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
diff --git a/packages/cli/src/commands/plugin/assets.d.ts b/packages/cli/asset-types/asset-types.d.ts
similarity index 83%
rename from packages/cli/src/commands/plugin/assets.d.ts
rename to packages/cli/asset-types/asset-types.d.ts
index 34bb6acb70..d8995fcb37 100644
--- a/packages/cli/src/commands/plugin/assets.d.ts
+++ b/packages/cli/asset-types/asset-types.d.ts
@@ -14,16 +14,12 @@
* limitations under the License.
*/
+/* eslint-disable import/no-extraneous-dependencies */
+
///
///
///
-declare namespace NodeJS {
- interface ProcessEnv {
- readonly NODE_ENV: 'development' | 'production' | 'test';
- }
-}
-
declare module '*.bmp' {
const src: string;
export default src;
@@ -55,12 +51,6 @@ declare module '*.webp' {
}
declare module '*.svg' {
- import * as React from 'react';
-
- export const ReactComponent: React.FunctionComponent & { title?: string }>;
-
const src: string;
export default src;
}
@@ -94,7 +84,3 @@ declare module '*.module.sass' {
const classes: { readonly [key: string]: string };
export default classes;
}
-
-declare module 'rollup-plugin-image-files' {
- export default function image(): any;
-}
diff --git a/packages/cli/asset-types/asset-types.js b/packages/cli/asset-types/asset-types.js
new file mode 100644
index 0000000000..65ef751860
--- /dev/null
+++ b/packages/cli/asset-types/asset-types.js
@@ -0,0 +1,2 @@
+// NOOP, this is just here to unbreak module resolution
+// eslint-disable-next-line notice/notice
diff --git a/packages/cli/asset-types/package.json b/packages/cli/asset-types/package.json
new file mode 100644
index 0000000000..ffa5e09fc1
--- /dev/null
+++ b/packages/cli/asset-types/package.json
@@ -0,0 +1,5 @@
+{
+ "main": "asset-types.js",
+ "types": "asset-types.d.ts",
+ "description": "Provides types for asset files that are handled by the Backstage CLI"
+}
diff --git a/packages/cli/@types/rollup-plugin-image-files.d.ts b/packages/cli/src/types.d.ts
similarity index 65%
rename from packages/cli/@types/rollup-plugin-image-files.d.ts
rename to packages/cli/src/types.d.ts
index 9ddc2c2351..8cb5a1e7df 100644
--- a/packages/cli/@types/rollup-plugin-image-files.d.ts
+++ b/packages/cli/src/types.d.ts
@@ -14,4 +14,16 @@
* limitations under the License.
*/
-declare module 'rollup-plugin-image-files';
+declare namespace NodeJS {
+ interface ProcessEnv {
+ readonly NODE_ENV: 'development' | 'production' | 'test';
+ }
+}
+
+declare module 'rollup-plugin-image-files' {
+ export default function image(options?: any): any;
+}
+
+declare module '@svgr/rollup' {
+ export default function svgr(options?: any): any;
+}
diff --git a/packages/cli/templates/default-app/packages/app/src/index.tsx b/packages/cli/templates/default-app/packages/app/src/index.tsx
index b597a44232..b16aaf7cd2 100644
--- a/packages/cli/templates/default-app/packages/app/src/index.tsx
+++ b/packages/cli/templates/default-app/packages/app/src/index.tsx
@@ -1,3 +1,4 @@
+import '@backstage/cli/asset-types';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';