diff --git a/.changeset/curly-tires-stop.md b/.changeset/curly-tires-stop.md new file mode 100644 index 00000000..eb8d25f5 --- /dev/null +++ b/.changeset/curly-tires-stop.md @@ -0,0 +1,7 @@ +--- +"@withstudiocms/component-registry": patch +"@studiocms/markdown-remark": patch +"studiocms": patch +--- + +Fixes path resolvers that would lead to failing to process/load on windows. diff --git a/packages/@studiocms/markdown-remark/src/integration/index.ts b/packages/@studiocms/markdown-remark/src/integration/index.ts index efbeccfd..8df16673 100644 --- a/packages/@studiocms/markdown-remark/src/integration/index.ts +++ b/packages/@studiocms/markdown-remark/src/integration/index.ts @@ -1,5 +1,6 @@ /// +import { fileURLToPath } from 'node:url'; import { addVirtualImports } from '@withstudiocms/internal_helpers/astro-integration'; import createPathResolver, { toModuleSpecifier, @@ -55,7 +56,7 @@ const markdownRemark = ( name: '@studiocms/markdown-remark', hooks: { 'astro:config:setup': (params) => { - const { resolve: astroRootResolve } = createPathResolver(params.config.root.pathname); + const { resolve: astroRootResolve } = createPathResolver(fileURLToPath(params.config.root)); // Extract Logger from params for use in this hook const logger = params.logger; diff --git a/packages/@withstudiocms/component-registry/src/registry/handler.ts b/packages/@withstudiocms/component-registry/src/registry/handler.ts index 50f790b4..d2967da3 100644 --- a/packages/@withstudiocms/component-registry/src/registry/handler.ts +++ b/packages/@withstudiocms/component-registry/src/registry/handler.ts @@ -1,5 +1,6 @@ /// +import { fileURLToPath } from 'node:url'; import { deepmerge, Effect, runEffect, Schema } from '@withstudiocms/effect'; import { addVirtualImports } from '@withstudiocms/internal_helpers/astro-integration'; import createPathResolver, { @@ -170,7 +171,7 @@ export const componentRegistryHandler = async ( integrationLogger(logInfo, 'Setting up component registry...'); const { resolve, resolveModuleSpecifier } = createPathResolver(import.meta.url); - const { resolve: astroConfigResolve } = createPathResolver(params.config.root.pathname); + const { resolve: astroConfigResolve } = createPathResolver(fileURLToPath(params.config.root)); // Resolve necessary paths and registry const registry = yield* ComponentRegistry; diff --git a/packages/studiocms/src/utils/lang-helper.ts b/packages/studiocms/src/utils/lang-helper.ts index a956a377..0dec6544 100644 --- a/packages/studiocms/src/utils/lang-helper.ts +++ b/packages/studiocms/src/utils/lang-helper.ts @@ -1,4 +1,5 @@ -import { fileURLToPath } from 'node:url'; +import { join } from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; import { glob } from 'tinyglobby'; import type { PluginTranslations } from '../schemas/plugins/i18n.js'; @@ -18,7 +19,9 @@ export async function loadJsTranslations(path: string, base: string): Promise