From 3a7feb7930c06891b86fc57150d2b7ec72554bc2 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Fri, 23 Aug 2024 06:54:23 -0400 Subject: [PATCH] wip --- packages/@tailwindcss-cli/hook/esm.hook.mjs | 3 +++ packages/@tailwindcss-cli/hook/esm.loader.mjs | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 packages/@tailwindcss-cli/hook/esm.hook.mjs create mode 100644 packages/@tailwindcss-cli/hook/esm.loader.mjs diff --git a/packages/@tailwindcss-cli/hook/esm.hook.mjs b/packages/@tailwindcss-cli/hook/esm.hook.mjs new file mode 100644 index 000000000..6f693b817 --- /dev/null +++ b/packages/@tailwindcss-cli/hook/esm.hook.mjs @@ -0,0 +1,3 @@ +import { register } from 'node:module' + +register(import.meta.resolve('./esm.loader.mjs')) diff --git a/packages/@tailwindcss-cli/hook/esm.loader.mjs b/packages/@tailwindcss-cli/hook/esm.loader.mjs new file mode 100644 index 000000000..b21920a52 --- /dev/null +++ b/packages/@tailwindcss-cli/hook/esm.loader.mjs @@ -0,0 +1,23 @@ +import { isBuiltin } from 'node:module' + +export async function resolve(specifier, context, nextResolve) { + const result = await nextResolve(specifier, context) + + if (result.url === import.meta.url) return result + if (isBuiltin(result.url)) return result + if (!context.parentURL) return result + + let parent = new URL(context.parentURL) + + let id = parent.searchParams.get('id') + if (id === null) return result + + let url = new URL(result.url) + + url.searchParams.set('id', id) + + return { + ...result, + url: `${url}`, + } +}