From d853bd598db7d269408888febd9c4a1cb80d7696 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Tue, 16 Dec 2025 11:13:18 +0100 Subject: [PATCH] Add development build support for schema sub-paths - Add webpack NormalModuleReplacementPlugin to resolve sub-paths from source - Add TypeScript paths mappings for monorepo type-checking - Add Jest moduleNameMapper for test resolution --- jest.config.js | 2 ++ scripts/webpack/webpack.common.js | 6 ++++++ tsconfig.json | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/jest.config.js b/jest.config.js index ef107c8cc24..95536147186 100644 --- a/jest.config.js +++ b/jest.config.js @@ -67,6 +67,8 @@ module.exports = { // near-membrane-dom won't work in a nodejs environment. '@locker/near-membrane-dom': '/public/test/mocks/nearMembraneDom.ts', '^@grafana/schema/dist/esm/(.*)$': '/packages/grafana-schema/src/$1', + '^@grafana/schema/dashboard/v0$': '/packages/grafana-schema/src/schema/dashboard/v0/index', + '^@grafana/schema/dashboard/v2beta1$': '/packages/grafana-schema/src/schema/dashboard/v2beta1/index', // prevent systemjs amd extra from breaking tests. 'systemjs/dist/extras/amd': '/public/test/mocks/systemjsAMDExtra.ts', '@bsull/augurs': '/public/test/mocks/augurs.ts', diff --git a/scripts/webpack/webpack.common.js b/scripts/webpack/webpack.common.js index e694b812100..e5504658142 100644 --- a/scripts/webpack/webpack.common.js +++ b/scripts/webpack/webpack.common.js @@ -65,6 +65,12 @@ module.exports = { new webpack.NormalModuleReplacementPlugin(/^@grafana\/schema\/dist\/esm\/(.*)$/, (resource) => { resource.request = resource.request.replace('@grafana/schema/dist/esm', '@grafana/schema/src'); }), + new webpack.NormalModuleReplacementPlugin(/^@grafana\/schema\/dashboard\/v0$/, (resource) => { + resource.request = '@grafana/schema/src/schema/dashboard/v0/index'; + }), + new webpack.NormalModuleReplacementPlugin(/^@grafana\/schema\/dashboard\/v2beta1$/, (resource) => { + resource.request = '@grafana/schema/src/schema/dashboard/v2beta1/index'; + }), new CorsWorkerPlugin(), new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'], diff --git a/tsconfig.json b/tsconfig.json index 963aa84555c..4e52e22b1bb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,9 @@ "moduleResolution": "bundler", "tsBuildInfoFile": "./tsconfig.tsbuildinfo", "paths": { - "@grafana/schema/dist/esm/*": ["../packages/grafana-schema/src/*"] + "@grafana/schema/dist/esm/*": ["../packages/grafana-schema/src/*"], + "@grafana/schema/dashboard/v0": ["../packages/grafana-schema/src/schema/dashboard/v0/index"], + "@grafana/schema/dashboard/v2beta1": ["../packages/grafana-schema/src/schema/dashboard/v2beta1/index"] } }, "ts-node": {