From 303b4b95e9f05d28669e2f9d9bfb87d800632064 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 10 Feb 2024 23:04:22 +0100 Subject: [PATCH] add script to create import map --- .../devops/importmap/index.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/devops/importmap/index.js diff --git a/src/Umbraco.Web.UI.Client/devops/importmap/index.js b/src/Umbraco.Web.UI.Client/devops/importmap/index.js new file mode 100644 index 0000000000..f5c366140c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/devops/importmap/index.js @@ -0,0 +1,25 @@ +import { packageJsonExports, packageJsonName } from '../package/index.js'; + +export const createImportMap = (args) => { + const imports = { + ...args.defaultImports, + }; + + // Iterate over the exports in package.json + for (const [key, value] of Object.entries(packageJsonExports || {})) { + // remove leading ./ + if (value) { + const moduleName = key.replace(/^\.\//, ''); + + // replace ./dist-cms with src and remove /index.js + const modulePath = value.replace(/^\.\/dist-cms/, './src').replace('.js', '.ts'); + const importAlias = `${packageJsonName}/${moduleName}`; + + imports[importAlias] = modulePath; + } + } + + return { + imports, + }; +};